Commit Graph

435 Commits

Author SHA1 Message Date
Charles Kerr e1c6b792aa (trunk libT) #2610 "avoid unnecessary calls to time(NULL)" 2009-11-26 18:47:08 +00:00
Charles Kerr 931afc7d2a (trunk libT) fix variable name oops 2009-11-26 16:53:45 +00:00
Charles Kerr cf69b11031 (trunk libT) #2595: "file too large error?" -- this can generate an EFBIG warning sparse preallocation is on and the peer makes an invalid request. At worst this kind of oddball case should generate a debug message notice, not a torrent error. Reported by Waldorf. 2009-11-25 19:26:30 +00:00
Charles Kerr f69e335291 (trunk) #2096: Magnet, BEP #9 support 2009-11-24 02:16:31 +00:00
Charles Kerr 9383a6abfd (trunk libT) #2096: add code magnet URL parser and unit tests 2009-11-20 04:38:19 +00:00
Mitchell Livingston 48227fdfe1 eliminate setting an unnecessary null character 2009-11-09 05:08:59 +00:00
Charles Kerr 37dda955a1 (trunk libT) use __attribute__((nonnull)) where appropriate. remove two unused functions tr_int2ptr(), tr_ptr2int() 2009-11-01 01:35:06 +00:00
Charles Kerr 060bd2f722 (trunk libT) #2547: fix tr_lowerBound() 2009-10-31 22:16:06 +00:00
Charles Kerr 08e936704c (trunk libT) fix signed/unsigned comparison warnings on amd64 2009-10-30 14:53:17 +00:00
Charles Kerr f5b97d43c9 (trunk libT) portability improvements to tr_moveFile() 2009-10-30 03:53:41 +00:00
Charles Kerr 22e3f1175a (trunk libT) #2531: when the user moves a torrent from one location to another, we don't need to reverify if the files are just rename()d 2009-10-27 23:00:34 +00:00
Charles Kerr 73222ce7aa (trunk libT) revert r9345, because all our .torrent and .resume files' hex letters are in lowercase 2009-10-22 18:48:26 +00:00
Charles Kerr adfb6f70a1 (trunk libT) show sha1's hex letters in uppercase, as suggested by waldorf 2009-10-21 16:24:58 +00:00
Charles Kerr d7c4537f2a (trunk, libT) #2379: infinite ratio shows as nan, invalid json 2009-09-26 04:24:45 +00:00
Charles Kerr 306d26a97c (trunk libT) very minor tweak: tr_httpIsValidURL() should return a tr_bool, not an int. 2009-08-12 19:44:32 +00:00
Charles Kerr cb79214854 (trunk) remove trailing spaces 2009-08-10 20:04:08 +00:00
Charles Kerr e5ff7d8f3e (trunk) #2271: rounding problem in printf() 2009-07-14 20:09:46 +00:00
Charles Kerr 057638c4e9 (trunk libT) #2240: Cryptic information messages on startup 2009-06-23 14:43:09 +00:00
Charles Kerr 1be7f51b3d (trunk libT) simplify the evtimer / struct timeval code a little 2009-06-15 03:24:40 +00:00
Charles Kerr 8e676171d4 (trunk libT) move tr_bitfield into its own, package-visible source files. this may break the mac build temporarily until the xcode file gets synced 2009-06-15 00:11:06 +00:00
Charles Kerr d8360f9a26 (trunk libT) avoid an unnecessary malloc/free in tr_strdup_printf() 2009-06-14 01:01:46 +00:00
Charles Kerr ef21704b58 (trunk libT) remove the last calls to tr_getBuffer() and tr_releaseBuffer() 2009-06-14 01:00:36 +00:00
Charles Kerr a2b9fcc592 (trunk libT) possible fix for #2078: Assertion failed: (tv->tv_usec >= 0) 2009-06-12 23:01:35 +00:00
Charles Kerr 9513fcbe66 (trunk libT) add a bunch of comments denoting where the libevent 2.0 changes will go 2009-06-02 18:21:23 +00:00
Charles Kerr 66da41e517 (trunk) dht seems to be crashing in bcmp() on the mac, so I suspect the homegrown implementation of memmem() is buggy... test this out by replacing memmem()'s implementation 2009-05-22 05:35:51 +00:00
Charles Kerr d0a84bcf09 boring tr_memmem tweaks 2009-05-20 04:30:55 +00:00
Charles Kerr af213891f9 (trunk libT) make tr_memmem() more readable 2009-05-20 04:25:45 +00:00
Charles Kerr dc02274d4c (trunk libT) silence a compiler warning 2009-05-19 15:53:34 +00:00
Charles Kerr ed710be223 (trunk libT) expose tr_memmem() so it can be used by client code. use the OS' implementation if that's available. 2009-05-19 04:48:33 +00:00
Charles Kerr 29b1d3e2cc (trunk) #920: add "move data" to libT so all clients can use it 2009-05-13 15:54:04 +00:00
Charles Kerr 54b7f9ccab (trunk libT) #2030: revert false alarm r8361 as per this suggestion http://trac.transmissionbt.com/ticket/2030#comment:45 2009-05-08 20:52:12 +00:00
Charles Kerr a0597ec8fb (trunk libT) clean up the debugging messages added to smoke out #2030 2009-05-07 13:03:39 +00:00
Charles Kerr 7fcf0a294b (trunk libT) add some testing messages for #2030... this dumps a lot of junk to the terminal and will be taken out as soon as there's some meaningful feedback in #2030 2009-05-07 01:05:10 +00:00
Charles Kerr acb3b443f7 (trunk libT) silently add a \0 after the end of files read by tr_loadFile() so that text files can be handled directly as ascii strings 2009-04-28 20:42:55 +00:00
Charles Kerr 698aa192aa (trunk libT) convert tr_open_file_for_scanning() and tr_close_file() to use file descriptors instead of file pointers so that we don't have to mix and match between them 2009-04-26 20:44:18 +00:00
Charles Kerr 13a0a0556c (trunk libT) make tr_loadFile() use tr_open_file_for_scanning() 2009-04-26 07:59:36 +00:00
Charles Kerr 54e2e8ca2f (trunk libT) avoid unnecessary malloc()s & free()s in tr_utf8clean() 2009-04-16 21:00:48 +00:00
Charles Kerr 5df2570fdf (trunk libT) make tr_localtime_r() a public function 2009-03-25 18:42:39 +00:00
Charles Kerr 9d335e391e (trunk libT) #1906: Huge ratio precision (too many decimal places) 2009-03-09 23:51:58 +00:00
Charles Kerr 93b3d1ad7e (trunk) #1881: promote tr_strratio() to libtransmission, so that its code doesn't have to be repeated in all the clients 2009-03-04 16:16:02 +00:00
Charles Kerr fce040eb84 (trunk libT) #1828: timestamp for log/debug output 2009-02-18 05:09:28 +00:00
Charles Kerr 65bba3fdfb (trunk libT) #1671: transmission-remote --get option not including all files 2009-02-09 17:25:48 +00:00
Charles Kerr 29661cf245 (trunk libT) new macro, tr_assert(). use it to help smoke out #1749 2009-01-25 16:14:11 +00:00
Charles Kerr 4d228289ce (trunk libT) prefer `int' over `ssize_t' 2009-01-19 14:05:43 +00:00
Charles Kerr b6588f442b (trunk libT) have tr_strndup() take an ssize_t instead of an int 2009-01-18 15:15:41 +00:00
Charles Kerr 92ee6566db (trunk libT) #1675: better utf8 validation of metainfo name, creator, and comment fields 2009-01-10 22:48:58 +00:00
Charles Kerr 141847b902 (trunk libT) update the copyrights on some files that no longer have old code in them 2009-01-07 06:53:29 +00:00
Charles Kerr 2eb1faa5e8 (trunk libT) minor speedup tweaks in peer-request hotspots 2009-01-04 18:01:15 +00:00
Charles Kerr 51e68d6e56 (trunk libT) new peer request fifo queue with log(N) search time. new unit tests for the queue. new utility tr_lowerBound() 2009-01-04 16:29:44 +00:00
Charles Kerr 5afd327b15 (trunk libT) use ssize_t where appropriate in tr_peerIoFlush() 2009-01-03 04:57:40 +00:00
Charles Kerr dfa0622a6c (trunk libT) add "deep log" message to help track down freeze reported by the|Navigator. also, small + cheap speedup in tr_deepLoggingIsActive() 2009-01-03 02:43:17 +00:00
Charles Kerr 5e9af46612 (trunk libT) make the tr_bandwidth macros into safer inline funcs. inline utils' one-liners. 2009-01-02 20:12:23 +00:00
Charles Kerr 0cd572a0da (trunk libT) make tr_isAddress() and tr_isDirection() inline 2009-01-02 04:47:37 +00:00
Charles Kerr 2ea88f30f5 (trunk libT) make the evbuffer pool threadsafe 2008-12-31 14:29:28 +00:00
Charles Kerr ad69a937ef (trunk libT) have a pool of reusable evbuffers 2008-12-30 20:32:00 +00:00
Charles Kerr d463cdb509 (trunk libT) eliminate a couple more unnecessary malloc() + free() pairs 2008-12-30 03:29:09 +00:00
Charles Kerr cad0ec892c (trunk libT) avoid an unnecessary evbuffer_new() + evbuffer_free() pair in message logging 2008-12-30 02:36:17 +00:00
Charles Kerr a8e15578f3 (trunk libT) use torrent's unique ID as the torrent's lookup key 2008-12-29 21:17:48 +00:00
Charles Kerr 415f04059f (trunk libT) wrap tr_inf(), tr_msg(), tr_dbg() calls inside a check to see if that debugging level is active. That way that function calls in the vararg list won't be invoked unless that level of verbosity is actually turned on. 2008-12-29 18:11:56 +00:00
Charles Kerr 7a4002dd3a (trunk libT) avoid some unnecessary memory fragmentation... for composited objects that have a tr_bitfield, contain it directly rather than a pointer to one allocated elsewhere on the heap. 2008-12-29 09:51:54 +00:00
Charles Kerr 8556ce653f (trunk libT) comments, tr_bool correctness, better runtime tests. 2008-12-21 18:15:00 +00:00
Charles Kerr 6b0d98a695 (trunk) #1559: Simplify tr_sessionInitFull 2008-12-13 23:17:36 +00:00
Mitchell Livingston 31482813b9 BeOS and Amiga support is, at least for now, a lost cause and hasn't worked for long over a year - removing from the source (if you for whatever unknown reason still need this, get it through SVN) 2008-12-02 03:57:01 +00:00
Charles Kerr f8a7c4b347 #1406: need tr_getDefaultDownloadDir() for consistency between apps 2008-11-15 17:39:54 +00:00
Charles Kerr e7461eb684 (libT) fix a tr_buildPath() bug reported by pea_ 2008-10-30 19:47:00 +00:00
Charles Kerr 717cd562e6 (libT) fix r6981 signed/unsigned compiler warning 2008-10-29 12:08:26 +00:00
Charles Kerr 29f93e3147 (libT) one more low-hanging fruit from softwareelves' Shark reports: simplify tr_buildPath() to shave off another few % 2008-10-29 11:56:55 +00:00
Charles Kerr 06939cafa6 (libT) low-hanging fruit discovered from softwareelves' shark profile. 2008-10-26 15:39:04 +00:00
Charles Kerr 6c96058d32 (libT) add tr_getMessageQueuing() for Spry 2008-10-21 19:40:12 +00:00
Charles Kerr b1defc7c88 (libT) make a few changes to try & smoke out the crash reported by Biiaru 2008-10-19 19:54:53 +00:00
Charles Kerr 67282cb794 further win32 portability fixes from Spry 2008-10-19 17:43:04 +00:00
Charles Kerr 0b991a55c7 (libT) try again to get the libevent+libcurl code working 2008-10-15 16:43:51 +00:00
Charles Kerr 59c2a61971 one more batch of changes from Spry 2008-10-14 20:31:16 +00:00
Charles Kerr a257d0fb89 (libT) a few more win32 portability changes from Spry 2008-10-14 17:57:44 +00:00
Charles Kerr b04be5fb2e make MAX_PATH_LENGTH private to libtransmission. add tr_dirname() and tr_basename() utility / portability wrappers 2008-10-14 03:39:16 +00:00
Charles Kerr e3a5524189 have tr_buildPath() allocate memory from the heap rather than using an input buffer 2008-10-14 03:03:29 +00:00
Charles Kerr b824c704b7 first batch of portability changes based on spry's winport:
(1) added tr_getcwd(), a simple portability wrapper for getcwd()
(2) cli: show the help page if no command-line arguments are provided
(3) daemon: use tr_wait() intead of sleep()
(4) daemon: SIGQUIT, SIGPIPE, SIGHUP aren't defined on windows
(5) libtransmission: a couple of small cleanups to bencode.c, list.c, web.c
(6) libtransmission: win32 portability fixes to platform.c
2008-10-13 22:26:02 +00:00
Charles Kerr 34061cb3e0 #1336: silence more compliation warnings 2008-10-10 01:23:21 +00:00
Charles Kerr 1415b72017 #1336: fix some compiler warnings when building with -Wformat-security 2008-10-09 20:03:34 +00:00
Charles Kerr 4fab4c9e9b (libT) finish killing tr_errno. 2008-10-03 04:49:06 +00:00
Charles Kerr cc89872dd4 run libT, cli, daemon, gtk through the source-code formatter "uncrustify" as promised/threatened 2008-09-23 19:11:04 +00:00
Charles Kerr 4bfd2e9f46 get rid of a pointless seek() call 2008-09-06 03:02:30 +00:00
Charles Kerr ee10a8acab (libT) #1255: fails to parse announce URLs that have leading or trailing spaces 2008-09-05 19:11:30 +00:00
Mukund Sivaraman 9d35118808 Fix coding style of last commit 2008-08-27 15:47:41 +00:00
Mukund Sivaraman 18d6bc7730 Return early if no URL is passed 2008-08-27 15:46:50 +00:00
Charles Kerr ef68e36a0d (libT) more dead code removal: tr_compareUint32(), tr_compareUint64(), tr_strcmp(), tr_strcasecmp() 2008-08-22 14:52:20 +00:00
Charles Kerr d323a99cdd undo part of r6616 to address the assertion failure reported by andersos and Waldorf 2008-08-22 01:27:00 +00:00
Charles Kerr 7e4fb99f8c * add DISABLE_GETTEXT preprocessor directive to turn off i18n in libtransmission for embedded devices.
* remove `wchar.h' #include from shttpd that broke the compile on embedded devices.
2008-08-21 21:04:57 +00:00
Charles Kerr ca45125259 (libT) more dead code removal: tr_compareTime() and tr_compareDouble() 2008-08-21 20:39:57 +00:00
Charles Kerr 1105dc0038 (libT) remove some dead functions: tr_calloc(), tr_compareUint16(), tr_compareUint32() 2008-08-21 19:03:56 +00:00
Charles Kerr 58881d45be more metainfo/bencode cleanup 2008-08-21 16:12:17 +00:00
Mukund Sivaraman ed7685dd1a Make tr_bitfieldHas() a macro 2008-08-20 13:45:52 +00:00
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
Charles Kerr 7cfafc5371 * now that we've got a new function at the top of the CPU hog list, tweak it too.
* reduce large torrents' memory consumption in tr_completion_t.
2007-07-28 22:47:10 +00:00
Charles Kerr 31ac4e604a a better fix for the tr_rand() crash experienced earlier today 2007-07-26 03:57:45 +00:00
Charles Kerr e8fb29ea44 fix compiler warnings reported by wereHamster 2007-07-25 17:27:19 +00:00
Charles Kerr 730d6df742 * fix overflow error from earlier today. (this was the crash talked about in IRC)
* fix long-standing error that occurred when pieceSize isn't evenly divisible by blockSize
* speed up and macro-ize piece-to-block conversions
2007-07-25 01:59:46 +00:00
Charles Kerr 79b85b36ab add some assertion tests for #transmission 2007-07-24 20:49:47 +00:00
Charles Kerr 8c79683c83 take a shot in the dark on the crash reported in #transmission 2007-07-24 20:29:27 +00:00
Charles Kerr 17a8ae9fa2 faster tr_cpGetStatus() and tr_bitfieldHas(), which were showing up at the top of the CPU profile. 2007-07-24 14:51:46 +00:00
Charles Kerr dd55805012 much faster rechecking of incomplete torrents. added tr_stat_t.recheckProgress field. 2007-07-24 01:33:59 +00:00
Charles Kerr 459b8958cb simplify xml.c and utils.c's dependencies 2007-07-19 11:54:37 +00:00
Charles Kerr c24fc6e16a de-inline some big functions. 2007-07-19 10:56:14 +00:00
Charles Kerr 3c60fb0ded remove unused variable 2007-07-18 22:11:47 +00:00
Josh Elsasser adc0d4ac92 Add asprintf implementation for systems which lack it. 2007-07-18 17:19:14 +00:00
Charles Kerr a814d843ad get UPNP working again. huge thanks to BigBossman and persept for doggedly tracking down this bug. 2007-07-15 22:18:49 +00:00
Charles Kerr 321b01d430 make tr_torrentStat() const.
malloc, rather than calloc, the buffer in strndup.
2007-07-15 19:12:54 +00:00
Charles Kerr 1c7c8072b4 fix crash on zero-byte torrents 2007-07-15 03:52:51 +00:00
Charles Kerr 261ac20427 tr_bitfieldIsEmtpy(): fix a howler of a bug that caused some files to not be rechecked on startup even if they should've been. 2007-07-14 04:26:30 +00:00
Charles Kerr 790476ac23 clean up #includes a bit. 2007-07-12 17:51:45 +00:00
Charles Kerr a166914a27 fix endgame bugs 2007-07-06 16:17:37 +00:00
Charles Kerr 58f89cdc77 replace the unhelpful error message "error: insufficient resources" with more descriptive cases 2007-07-01 01:50:14 +00:00
Charles Kerr c58013c048 don't count too many bytes in the last block in tr_cpDownloadedValid(), tr_cpLeftUntilDone(), tr_cpLeftUntilComplete(). Very minor speedups in tr_bitfieldHas(), tr_bitfieldAdd(), tr_bitfieldRem(). 2007-06-30 21:11:17 +00:00
Charles Kerr 47a5ff4120 add tr_torrentCanAdd() as per BentMyWookie's request... clear tracker error string when restarting... fix r2202 "completed" announce bug. 2007-06-27 05:14:38 +00:00
Charles Kerr 06e761d950 * fix error checking large files reported by Gimp_
* portability changes to pathname/filename building
* small gratuitous changes
2007-06-18 19:39:52 +00:00
Mitchell Livingston 0256f4616d Merge file selection and torrent creation into the main branch.
The new code for these features is under a new license.
2007-06-18 03:40:41 +00:00
Mitchell Livingston 3af24be44e separate code for determining if there is a download with same name and location 2007-05-11 18:56:59 +00:00
Mitchell Livingston 7e19df5444 only allow one active transfer with the same name in the same location 2007-05-05 14:43:52 +00:00
Josh Elsasser 63bb617fa4 Add more I/O error codes. 2007-04-20 02:05:07 +00:00
Josh Elsasser 09c87aad84 Merge PEX branch, I hope this works. 2007-03-23 08:28:01 +00:00
Josh Elsasser 6ebeef7924 Correctly bencode strings containing nul characters. 2007-01-28 23:26:57 +00:00
Mitchell Livingston c351ac51f8 typo 2007-01-14 16:57:31 +00:00
Eric Petit e5e6a8b5df Merge io branch into trunk 2007-01-14 12:00:21 +00:00
Josh Elsasser 0257761670 Merge nat-traversal branch to trunk. 2006-09-25 18:37:45 +00:00
Josh Elsasser 50ed4c6770 Allow a couple of the message functions to be called before the first tr_init() 2006-08-30 16:35:33 +00:00
Josh Elsasser a647015714 Add time to messages. 2006-08-22 02:32:46 +00:00
Josh Elsasser 43e6dd56aa Rework the message stuff again to be easier on the frontend. 2006-08-22 02:12:58 +00:00
Josh Elsasser 69f43ff729 Make message level available to message handler callback. 2006-08-20 22:45:04 +00:00
Josh Elsasser 8bc4cefa2d Allow frontend to change message output level.
Rename tr_setErrorFunction() to tr_setMessageFunction()
2006-08-20 18:15:25 +00:00
Josh Elsasser 555f12b64a Allow frontend to supply a custom function for displaying libtransmission errors. 2006-07-16 23:40:22 +00:00
Eric Petit f199e0a9d9 Revert [619] 2006-07-16 19:39:23 +00:00
Mitchell Livingston 5d36721a15 Remove old Sparkle... 2006-07-16 19:28:19 +00:00
Josh Elsasser 0600f3d4aa Add support to libtransmission and the MacOS X GUI for saving private copies of
torrent files.
2006-06-09 19:53:35 +00:00
Eric Petit f98fe6a1b0 Added $Id$ keywords and updated a few headers 2006-05-29 21:21:23 +00:00
Eric Petit dfe3bc870a Merged simple_http_parsing branch 2006-04-11 22:37:43 +00:00
Eric Petit a6aa884776 Import from 2005-10-26 2006-01-12 17:43:21 +00:00