1
0
Fork 0
mirror of https://github.com/transmission/transmission synced 2025-02-25 15:32:33 +00:00
Commit graph

193 commits

Author SHA1 Message Date
Mukund Sivaraman
11ad6c7087 Optimize tr_bitFieldAddRange()
Also add comments documenting the usage of these functions.
2008-08-14 11:31:25 +00:00
Mukund Sivaraman
de62de3e19 Replace random number generation code 2008-08-14 11:11:25 +00:00
Charles Kerr
0048047647 (libT) tr_bitfieldRemRange speedup. (muks) 2008-08-13 19:25:08 +00:00
Charles Kerr
aac6a6fdbf (libT) #1178: Add missing va_end()s 2008-08-11 04:40:29 +00:00
Charles Kerr
b860119cd3 minor text cleanup 2008-08-01 16:43:22 +00:00
Charles Kerr
978b60b8ad Make it a little easier to trace backwards from "Unspecified I/O error" to find out what the real problem is. 2008-07-30 14:46:45 +00:00
Charles Kerr
61e588d3d6 (libT) make unrecognized peer_ids a little more readable for the peers tab. 2008-07-24 18:53:17 +00:00
Charles Kerr
2f239319b0 add a portability wrapper ``tr_snprintf()'' around snprintf() 2008-07-15 17:16:57 +00:00
Charles Kerr
e8694f7f66 fix tr_strcasecmp in the case where HAVE_STRCASECMP is not defined 2008-06-16 22:15:53 +00:00
Charles Kerr
518f277e9f (RPC) add utility arguments for torrent-info: sort by (activity|age|id|name|progress|ratio|state|tracker), filter by (active|all|downloading|paused|seeding) 2008-06-16 22:11:50 +00:00
Charles Kerr
f0229ed8ad (libT) allow custom blocklists... now all you need to do is place a file in the blocklists/ folder and Transmission will automatically use it the next time it starts. 2008-06-11 16:15:45 +00:00
Charles Kerr
dce24eb1f0 libT: first cut at implementing the internal peers' request queues as pieces rather than blocks, as discussed with erdgeist and denis, to avoid a couple of nasty CPU bottlenecks. 2008-06-09 22:53:45 +00:00
Charles Kerr
e3e3bee8b5 #800 initial support for GetRight-style fetching of data through http and ftp servers specified in the .torrent's "url-list" tag 2008-06-07 21:26:41 +00:00
Charles Kerr
e212eeceb7 add first draft of tr_bitfieldFindTrue() courtesy of erdgeist 2008-06-07 14:41:31 +00:00
Charles Kerr
041561f232 minor refactoring of tr_bitfield to (a) simplify the tests and (b) make things easier to read 2008-06-07 01:44:54 +00:00
Charles Kerr
8732aa3bbc fix bitfield error reported by denis 2008-06-07 00:43:42 +00:00
Charles Kerr
7b88afdca7 (libT) 1. tweak tr_bitfieldTestFast(). 2. add tr_memdup() 2008-06-06 23:53:30 +00:00
Charles Kerr
2878d0d32e bitfield speedups written by denis__. Thanks! 2008-06-05 20:21:56 +00:00
Charles Kerr
e391ef6e1a on shutdown, close the most active torrents first. That way if we can't get everyting closed in a reasonable amount of time, at least we get the ones that affect stats first. 2008-05-30 17:22:26 +00:00
Charles Kerr
0705eaa1c0 minor speedups in tr_torrentStat() and in bitfield manipulation 2008-05-30 15:40:46 +00:00
Charles Kerr
07ae5bf965 tr_base64_decode() now decodes both data with, and without, newlines. thanks to dm1024 for helping track this down. 2008-05-22 03:42:26 +00:00
Charles Kerr
4398943230 #934: remove invalid tracker addresses 2008-05-21 20:56:12 +00:00
Charles Kerr
7beacb3032 (1) RPC "add-torrent" now lets clients embed base64-encoded metainfo directly into the request
(2) remove the RISON code; it didn't make the final cut
(3) add base64 encode/decode utilities and unit tests
2008-05-20 17:33:54 +00:00
Charles Kerr
2c79888a93 RPC/IPC redesign 2008-05-18 16:44:30 +00:00
Charles Kerr
f0b7932b90 minor logging tweak 2008-05-15 22:08:43 +00:00
Charles Kerr
078ea29f37 add tr_strdup_printf() 2008-05-15 15:44:51 +00:00
Charles Kerr
0f9ca34848 #917: when seeding, drop peers that have everything you have (instead of just dropping seeds) 2008-05-06 19:06:46 +00:00
Charles Kerr
a362df0a14 #905: update peer_id client lists. add a dozen or so new clients from Azureus (thanks amc1!) 2008-04-29 16:57:16 +00:00
Charles Kerr
ed798be5ac don't use strlcat. 2008-04-28 18:09:17 +00:00
Charles Kerr
73f083cc51 #896: Minor bug: debugging output always goes to stderr 2008-04-25 19:48:53 +00:00
Charles Kerr
47021f1a12 fold most of the "deep logging" functions into a single function 2008-04-25 02:57:33 +00:00
Charles Kerr
7ef2511ca8 #377: preliminary https support. this commit probably breaks mac and cli and is not for the faint of heart. 2008-04-24 01:42:53 +00:00
Mitchell Livingston
1d40202bfc string folding and dead code removal 2008-04-06 04:16:05 +00:00
Charles Kerr
a331582ec0 string folding 2008-03-30 13:52:55 +00:00
Charles Kerr
39a7583f82 rename tr_httpParseUrl() -> tr_httpParseURL() 2008-03-24 19:29:25 +00:00
Charles Kerr
910d77ae12 (#814) require a valid announce URL when creating torrents 2008-03-24 15:58:06 +00:00
Charles Kerr
e7316dbc34 yet more string massaging 2008-03-19 02:16:07 +00:00
Mitchell Livingston
128fa0aedf Put in function for localization (as suggested on the cocoa dev list) and comment it out because i can't get it working as desired yet. 2008-03-18 19:18:22 +00:00
Charles Kerr
56364f2ae8 add a tr_errno specifically for failed checksums so they can be differentiated from "Generic error" 2008-03-18 17:02:08 +00:00
Charles Kerr
29f092197f #138: per-torrent messages#138: per-torrent messages#138: per-torrent messages#138: per-torrent messages#138: per-torrent messages#138: per-torrent messages#138: per-torrent messages#138: per-torrent messages#138: per-torrent messages#138: per-torrent messages#138: per-torrent messages#138: per-torrent messages#138: per-torrent messages#138: per-torrent messages#138: per-torrent messages#138: per-torrent messages#138: per-torrent messages#138: per-torrent messages#138: per-torrent messages#138: per-torrent messages#138: per-torrent messages#138: per-torrent messages#138: per-torrent messages#138: per-torrent messages#138: per-torrent messages#138: per-torrent messages#138: per-torrent messages#138: per-torrent messages#138: per-torrent messages#138: per-torrent messages#138: per-torrent messages#138: per-torrent messages#138: per-torrent messages#138: per-torrent messages#138: per-torrent messages#138: per-torrent messages#138: per-torrent messages#138: per-torrent messages#138: per-torrent messages#138: per-torrent messages#138: per-torrent messages#138: per-torrent messages#138: per-torrent messages#138: per-torrent messages#138: per-torrent messages#138: per-torrent messages#138: per-torrent messages#138: per-torrent messages#138: per-torrent messages#138: per-torrent messages#138: per-torrent messages#138: per-torrent messages#138: per-torrent messages#138: per-torrent messages#138: per-torrent messages#138: per-torrent messages#138: per-torrent messages#138: per-torrent messages#138: per-torrent messages#138: per-torrent messages#138: per-torrent messages#138: per-torrent messages#138: per-torrent messages#138: per-torrent messages#138: per-torrent messages#138: per-torrent messages#138: per-torrent messages#138: per-torrent messages#138: per-torrent messages#138: per-torrent messages#138: per-torrent messages#138: per-torrent messages#138: per-torrent messages#138: per-torrent messages#138: per-torrent messages#138: per-torrent messages#138: per-torrent messages#138: per-torrent messages#138: per-torrent messages#138: per-torrent messages#138: per-torrent messages#138: per-torrent messages#138: per-torrent messages#138: per-torrent messages#138: per-torrent messages#138: per-torrent messages#138: per-torrent messages#138: per-torrent messages#138: per-torrent messages#138: per-torrent messages#138: per-torrent messages#138: per-torrent messages#138: per-torrent messages#138: per-torrent messages#138: per-torrent messages#138: per-torrent messages#138: per-torrent messages#138: per-torrent messages#138: per-torrent messages#138: per-torrent messages#138: per-torrent messages#138: per-torrent messages#138: per-torrent messages#138: per-torrent messages#138: per-torrent messages#138: per-torrent messages#138: per-torrent messages#138: per-torrent messages#138: per-torrent messages#138: per-torrent messages#138: per-torrent messages#138: per-torrent messages#138: per-torrent messages#138: per-torrent messages#138: per-torrent messages#138: per-torrent messages#138: per-torrent messages#138: per-torrent messages#138: per-torrent messages#138: per-torrent messages#138: per-torrent messages#138: per-torrent messages#138: per-torrent messages#138: per-torrent messages#138: per-torrent messages#138: per-torrent messages#138: per-torrent messages#138: per-torrent messages#138: per-torrent messages#138: per-torrent messages#138: per-torrent messages#138: per-torrent messages#138: per-torrent messages#138: per-torrent messages#138: per-torrent messages#138: per-torrent messages#138: per-torrent messages#138: per-torrent messages 2008-03-13 03:53:18 +00:00
Charles Kerr
6ef6ac0928 the last i18n-centric commit for awhile, I hope. 2008-03-08 04:53:11 +00:00
Charles Kerr
909cb89b43 even more i18n string work, w/more feedback and reading through the transmission.pot file. 2008-03-08 01:43:20 +00:00
Charles Kerr
7200b27a18 lots more i18n string work -- making strings more consistent, folding redundant strings together, etc. 2008-03-07 20:48:36 +00:00
Charles Kerr
76891225b9 more i18n work. 2008-03-07 03:26:59 +00:00
Charles Kerr
777c0de53a more i18n strings work 2008-03-06 21:59:00 +00:00
Charles Kerr
eb18810b3e fold some error messages together into common strings 2008-03-04 02:13:53 +00:00
Charles Kerr
84a8592d1d first cut at adding i18n hooks into libtransmission. 2008-03-04 02:02:25 +00:00
Charles Kerr
24e05bf3fb harden the bitfield handling to handle corrupt messages from peers. This is in response to Ryoujin's crash report in the forums (http://forum.transmissionbt.com/viewtopic.php?p=20414#20414) 2008-03-02 23:44:34 +00:00
Charles Kerr
608581ea80 make tr_mkdir() handle windows root directory paths like "C:" 2008-02-28 16:38:48 +00:00
Charles Kerr
d2f1c7aff3 added tr_sha1_to_hex() 2008-02-25 20:21:22 +00:00
Charles Kerr
deaeb24cb5 cleanup #includes for errno & strerror 2008-02-19 04:16:04 +00:00
Charles Kerr
d360607a02 fix a possible crash when deleting a torrent. 2008-02-13 01:22:55 +00:00
Charles Kerr
f32d3b24fe #653 "overflow issue in Transmission/1.01" (1) safeguard bitfield functions against overflow. (2) add regression tests to see if this data is corrupted again in the future. 2008-01-27 16:08:20 +00:00
Charles Kerr
1b7706e101 finish the trunk/1.0x libT merge: router death & portability 2008-01-21 02:11:57 +00:00
Charles Kerr
de515ee339 if the torrent's download path doesn't exist, don't create it -- it's might be a removeable disk that got unplugged. 2008-01-18 19:13:32 +00:00
Charles Kerr
dd75a769c9 fix tr_mkdirp()'s errno/retvals. 2008-01-18 01:40:41 +00:00
Charles Kerr
3a6396a3cb mingw portability fixes 2008-01-10 18:52:46 +00:00
Charles Kerr
15ffb4232e tr_stat.ratio now returns TR_RATIO_INF when appropriate 2008-01-04 19:13:30 +00:00
Charles Kerr
514f96418b fix tr_buildPath() crash 2008-01-04 18:24:42 +00:00
Charles Kerr
085235b10b remove some unused #include <ctype.h> directives 2008-01-03 20:17:01 +00:00
Charles Kerr
ce6c33b7bf set copyright info to 2008 2008-01-01 17:20:20 +00:00
Charles Kerr
75d4a2b8c2 fix an obscure bug in tr_torrentStat() where (% verified + % unverified + % unavailable) could be > 1.0 2007-12-19 05:57:55 +00:00
Charles Kerr
7249aed5e4 fix r4109 oops: a debugging console message snuck into svn 2007-12-09 17:17:44 +00:00
Charles Kerr
ffe9e52e14 I think this one-line change may fix all the "Transmission 0.95 ate my data, corrupted my hard drive, and killed my cat!" complaints 2007-12-09 15:26:27 +00:00
Charles Kerr
b17d8c34f8 undo r4093 for bmw 2007-12-08 19:47:44 +00:00
Charles Kerr
008a403463 ensure that the `file' variable passed to tr_msg() is never NULL 2007-12-08 19:42:07 +00:00
Charles Kerr
73ee11f233 Use libnatpmp for port mapping. rewrite the upnp/natpmp manager.
NOTE: this will break the xpjets build until SoftwareElves or a volunteer patches the xcode project file to make a libnatpmp library just like was done for libminiupnp.
2007-12-08 19:34:15 +00:00
Charles Kerr
d0047acc86 reimplement tr_buildPath() using struct evbuffer 2007-11-27 04:11:39 +00:00
Charles Kerr
0ed3610468 fix crash on startup reported by Gimp_ 2007-11-26 05:03:28 +00:00
Charles Kerr
8516860fec fix a bug in tr_stat's availability numbers, reported by BentMyWookie 2007-11-11 16:33:04 +00:00
Charles Kerr
fd430fde90 undoing the r3773-r3774 experiment. 2007-11-09 20:07:52 +00:00
Charles Kerr
67b719c2de on Darwin, use NSCParameterAssert() instead of assert(). 2007-11-09 19:50:40 +00:00
Charles Kerr
bc3eff899f * some work on lessening the way we hammer the router.
* move strlcpy and strlcat out of their own files and into utils.c
2007-11-08 04:11:09 +00:00
Charles Kerr
71f4efcbad update our #includes now that libevent has cleaned up event.h 2007-11-07 18:26:19 +00:00
Charles Kerr
b43bb1483d fix libevent #include quirk reported by SoftwareElves 2007-11-07 03:13:04 +00:00
Charles Kerr
476de56e45 the libevent header file comments LIED about the return value of evbuffer_add_vprintf()! 2007-11-06 23:10:04 +00:00
Charles Kerr
60aab6c433 remove libtransmission code that duplicates functionality in libevent 2007-11-06 21:14:30 +00:00
Charles Kerr
9df263326d use Thomas Bernard's miniupnp library instead of rolling our own. 2007-11-06 16:02:50 +00:00
Charles Kerr
e625b10d6d "corruption" fix part 3: cleanup. remove unneeded possible points of failure. 2007-10-31 18:10:55 +00:00
Charles Kerr
a6206b036c "corruption" fix part 2: lots of assertions, and try to complete pieces & ban bad peers sooner 2007-10-31 04:23:51 +00:00
Charles Kerr
96351b93ef part 1 of the data corruption fix: plug the leaky abstraction in fdlimit 2007-10-30 18:35:06 +00:00
Charles Kerr
6527f4e12a dead code removal. 2007-10-20 15:17:36 +00:00
Charles Kerr
212470560e fix overflow error that caused timers with intervals larger than 35 minutes to be lost... which is nastier than it sounds, since that's shorter than many tracker announce intervals. 2007-10-18 18:32:58 +00:00
Charles Kerr
3210f92085 const-ify tr_msg()'s input arguments 2007-10-17 18:24:53 +00:00
Charles Kerr
efe4847204 new utility (tr_loadFile), and reimplement metainfo's "readtorrent" to use it. 2007-10-15 20:15:34 +00:00
Charles Kerr
c75f49bc26 * add a per-peer request queue to hold the next 10-15 seconds' worth of requests so that we always have more requests at hand when the current requests start to run low.
* increase the tracker `numwant' variable to grow our peer pool
* bugfixes in cancelling requests.
* make the debug log sexy and readable like uTorrent's ;)
2007-10-06 18:20:52 +00:00
Charles Kerr
0872b4f40a fix the crash reported by Waldorf and John_Clay 2007-10-04 20:31:19 +00:00
Charles Kerr
dd8dc4d87e tweak the bitfield code to be a little faster. 2007-09-25 17:43:39 +00:00
Charles Kerr
28bcf6204b clamp down on the flood of debug messages. 2007-09-20 23:33:46 +00:00
Mitchell Livingston
76da1185ca merge encryption branch to trunk (xcode project is still out of date) 2007-09-20 16:32:01 +00:00
Charles Kerr
53d48e4c37 add utility function for setting libevent timer intervals 2007-08-23 20:33:01 +00:00
Josh Elsasser
7301b39c8b Rework utf-8 string concat function a little and make it more widely available. 2007-08-15 23:02:56 +00:00
Charles Kerr
ab57bfb2d2 (trunk) fix accidentally-swapped switch cases 2007-08-13 15:40:45 +00:00
Josh Elsasser
2ead51f79d Use __BEOS__ to test for beos instead of relying on the build to set SYS_BEOS.
Add missing headers and other miscellaneous fixes for beos.
2007-08-04 01:17:39 +00:00
Charles Kerr
c51007f916 BeOS portability fixes from ModeenF 2007-08-03 16:28:32 +00:00
Charles Kerr
ef2fc4fdcf More win32 portability fixes. we now talk to tracker & peers; hash checks work, downloads seem to work. w00t 2007-08-02 23:33:40 +00:00
Charles Kerr
1fd5f90a77 win32 cleanly compiles and starts now. (still doesn't atually *work*, but we're getting closer...) 2007-08-02 19:43:29 +00:00
Charles Kerr
26caf4f5dd More Win32 portability changes 2007-08-01 00:40:49 +00:00
Charles Kerr
ebb141b232 better encapsulation of platform-specific constructs: tr_thread_t, tr_cond_t, tr_lock_t 2007-07-30 15:27:52 +00:00
Charles Kerr
e07d0220a9 this looks bug but it's not: just janitorial cleanup, moving #includes from headers into source file 2007-07-29 18:11:21 +00:00