Commit Graph

1632 Commits

Author SHA1 Message Date
Charles Kerr f9e8b56816 add `hashString' to torrent-stat's response 2008-05-23 13:18:17 +00:00
Charles Kerr 0621c67c41 more cleanup work:
(1) kill the pointless "tr_tracker_stat" struct.
(2) kill the unused "tr_torrentRemoveSaved()" function.
(3) kill the redundant "nextManualAnnounceTime" variable.
(4) make the TR_ERROR_IS_* macros private.
2008-05-22 23:11:21 +00:00
Charles Kerr 26b5a16630 (libt) more janitorial work on cleaning up tr_session*() and tr_torrent*() functions: session stats, torrent count, and manual update. 2008-05-22 20:44:41 +00:00
Charles Kerr 9fdb8afdf0 (rpc) remove TR_RPC_TORRENT_CLOSING. formalize "torrent-list"'s response in the rpc spec. 2008-05-22 19:24:11 +00:00
Charles Kerr dceabc5661 make tr_stat identical in transmission.h and rpc-spec.txt. 2008-05-22 16:59:51 +00:00
Charles Kerr 90e151cd4d (rpc) make our generated JSON more human-readable. 2008-05-22 16:41:16 +00:00
Charles Kerr 7b209acc1b more janitorial cleanup on the "tr_session*" namespace. Today's victim: tr_handle_status. 2008-05-22 12:31:47 +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 e406dcc2ab rename tr_torrentClose() as tr_torrentFree() and make it private. change client code to use tr_torrentRemove() instead. This fixes the confusion between the two methods that led to #954 2008-05-21 17:14:58 +00:00
Charles Kerr 8b31bd54cb (rpc) refresh our snapshot of Jean Gressmann's JSON parser 2008-05-21 14:19:49 +00:00
Charles Kerr c7b9c8c043 (#954) rpc: add "torrent-remove" method. rename tr_torrentDelete() as tr_torrentRemove() for consistency with various parts of the code. 2008-05-20 23:58:59 +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 77233ab16f fix 20-byte memory leak every time we stopped a torrent. :/ 2008-05-20 17:24:29 +00:00
Charles Kerr d7f0e0fa1e * better RPC handling of requests submitted via http POST
* plug a pair of minor memory leaks reported by valgrind.
2008-05-19 18:16:58 +00:00
Charles Kerr 4c82187933 possible fix for the crash in http://forum.transmissionbt.com/viewtopic.php?t=4847 2008-05-19 14:06:44 +00:00
Charles Kerr 9a2cdef770 fix compile error reported by BentMyWookie 2008-05-19 00:22:04 +00:00
Charles Kerr dde9cb49f2 fix the cyclical header dependency, and fix a couple of warnings sniffed out by gcc 4.3 2008-05-19 00:12:31 +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 bfd89b685d more work on rpc. bug fixes, regression tests, and spec tweaks. 2008-05-13 17:31:09 +00:00
Charles Kerr 6aaa2fd39e fix bug in the benc-to-json converter.
add rison-to-json converter so we can pass commands to transmission in a uri.
add unit tests for the new code.
2008-05-13 12:52:58 +00:00
Charles Kerr 17b9dc7462 make the request/response messages a little terser. add per-torrent speed limit toggles. rename ipc -> rpc. 2008-05-12 23:51:17 +00:00
Charles Kerr 911bce88c9 add benc-to-json conversion + unit tests. 2008-05-12 17:54:57 +00:00
Charles Kerr be9427931a ipc: add session accessor/mutators.
transmission.h: make the session API more consistent.
2008-05-12 16:33:17 +00:00
Charles Kerr 2186d852f1 json ipc: implement torrent-add, torrent-set-file, torrent-get-file 2008-05-12 13:05:06 +00:00
Charles Kerr 63b82714f8 partial implementation of json-ipc backend: torrent start/stop/close/verify/stat/info, as are getting & setting per-torrent peer limits, upload speeds, and download speeds. this is a work in progress. 2008-05-12 00:41:55 +00:00
Charles Kerr 6eb8c5132e remove benc2php, since we're going to be using json now. 2008-05-11 23:13:50 +00:00
Charles Kerr 44d3d2e080 plug a small memory leak in the last patch 2008-05-11 22:55:15 +00:00
Charles Kerr e607f26893 add json-to-benc parser 2008-05-11 22:42:53 +00:00
Charles Kerr 33839f77be new utility for iterating through torrents: tr_torrentNext() 2008-05-10 00:19:00 +00:00
Charles Kerr cc9d22c5df bang on ipcparse.c for a bit. 2008-05-09 20:59:34 +00:00
Charles Kerr 25b426f7a6 #929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status#929: version.h should reflect SVN status 2008-05-09 17:51:05 +00:00
Charles Kerr fb8dccf179 undo the curl timeout option from earlier today 2008-05-09 04:00:14 +00:00
Charles Kerr e19149bbb7 #751: tear down some of the scaffolding used in tracking down this bug. 2008-05-08 20:30:27 +00:00
Charles Kerr 20986a5dac raise the timeout interval that we tell curl to use 2008-05-08 17:15:06 +00:00
Charles Kerr f48b2b24e9 tell webcurl to timeout tracker requests after 30 seconds 2008-05-08 17:05:43 +00:00
Charles Kerr f5725af93a remove unused TIMEOUT_INTERVAL_SEC and STOP_TIMEOUT_INTERVAL_SEC 2008-05-08 16:15:12 +00:00
Charles Kerr 73d77f8418 add a couple of benc utility functions 2008-05-08 03:25:21 +00:00
Charles Kerr 7b25d0476c remove occurrences of "if( 1 )" 2008-05-06 20:31:05 +00:00
Charles Kerr 86c3ae4fa4 #917: Another minor speedup suggested by BentMyWookie. He enjoys giving new suggestions right *after* I hit "svn commit" :) 2008-05-06 19:49:25 +00:00
Charles Kerr d047c1175d #917: small speedup to r5759 suggested by BentMyWookie 2008-05-06 19:39:16 +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 6ba02efb58 #915: Does too many wake-ups when idle 2008-05-06 15:52:57 +00:00
Charles Kerr ed4e902482 #912: Resume file parsed twice on startup 2008-05-06 01:43:24 +00:00
Charles Kerr 2cd2b35238 fix multitracker problem reported by BentMyWookie 2008-05-05 20:11:03 +00:00
Charles Kerr d561187227 when one of the trackers in a multitracker list is successful, bump it to the top of the tier. 2008-05-05 19:51:53 +00:00
Charles Kerr c5eed39275 add #include <limits.h> to pick up INT_MAX 2008-05-05 19:33:29 +00:00
Charles Kerr 643716c6f0 randomize the announce addresses within multitracker tiers 2008-05-05 18:54:19 +00:00
Mitchell Livingston 85e66062eb remove unused variables 2008-05-05 04:17:52 +00:00
Charles Kerr ecc825a242 #909: not utf8izing the torrent name properly 2008-05-02 01:21:26 +00:00
Charles Kerr c20b9a6df4 experimental speed tweaks:
(1) increase the per-peer read buffer to the size of a block message
(2) pulse the peers more often
(3) reduce the tracker delay on startup
2008-05-01 19:31:58 +00:00
Charles Kerr 362f5b46f4 tweak the clients tests 2008-05-01 19:30:49 +00:00
Mitchell Livingston c62f45a67b the display of our own client's peer-id has to be 100% accurate 2008-05-01 15:56:10 +00:00
Mitchell Livingston b2809267dc for peer id's with 2 major digits, if the tens place is 0, don't show it 2008-04-29 20:44:36 +00:00
Mitchell Livingston 978e53a465 minor adjustments to the client code, and keeping the code pg 2008-04-29 20:34:15 +00:00
Charles Kerr d659df1093 add a couple of debug messages to trac down why Lacrocivious' stats aren't being saved 2008-04-29 18:22:26 +00:00
Charles Kerr c16b901c93 add a few more peers, raided from KTorrent's list 2008-04-29 18:15:49 +00:00
Charles Kerr e18414ad0b tweak the last commit: when parsing peer-ids we don't want locales to postentially change the behavior of isalpha/isdigit/etc 2008-04-29 17:23:33 +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 b05c7820c2 possible fix for #904: "crash on startup in tr_bitfieldHas" 2008-04-29 02:51:02 +00:00
Charles Kerr ecc8401203 #903: "1.11: Not making use of Tier 2 tracker on Tier 1 error" 2008-04-29 01:21:42 +00:00
Charles Kerr ed798be5ac don't use strlcat. 2008-04-28 18:09:17 +00:00
Charles Kerr 1dfc98fc77 fix another crash-on-shutdown in the new web code 2008-04-28 13:29:38 +00:00
Charles Kerr b9c27b23d5 #884: fix after creating a torrent whose last file has 0 bytes 2008-04-27 19:08:10 +00:00
Charles Kerr 3f71ea1f51 fix one of the crash-on-shutdown bugs reported by Gimp_ 2008-04-27 18:27:32 +00:00
Charles Kerr b8fc148fe0 experiment to lower CPU for Gimp_ 2008-04-27 17:22:37 +00:00
Charles Kerr b66af4ab07 curl_easy_getopt(CURLINFO_RESPONSE_CODE) needs a pointer to a long, not an int. 2008-04-27 07:15:20 +00:00
Charles Kerr 3b27e2d2af possibly fix the issue discusssed in http://forum.transmissionbt.com/viewtopic.php?p=22725 2008-04-27 06:44:39 +00:00
Charles Kerr 2f3eba4b01 #899: Hangs when clicking verify data twice 2008-04-27 06:34:34 +00:00
Charles Kerr 42cbbaa57a fix an assertion error: completion.c:113: failed assertion `ccp->sizeWhenDoneLazy >= ccp->sizeNow' 2008-04-26 14:52:05 +00:00
Charles Kerr c4fc897b38 steal some curl configuration options from rtorrent :) 2008-04-25 23:54:02 +00:00
Charles Kerr 73f083cc51 #896: Minor bug: debugging output always goes to stderr 2008-04-25 19:48:53 +00:00
Charles Kerr 03572a0ad5 add tr_webClose() 2008-04-25 19:46:36 +00:00
Charles Kerr 0545e70f5b (gtk) use libT's curl wrapper for port testing & getting the blocklist 2008-04-25 18:35:48 +00:00
Charles Kerr c46269805d #895: tweak 2008-04-25 16:40:14 +00:00
Charles Kerr cffd7f92e2 more hacking on the curl code, based on libcurl's "hiperfifo.c" sample code 2008-04-25 16:07:06 +00:00
Charles Kerr 37d4da23b7 #895: don't scrape running torrents on startup 2008-04-25 16:06:03 +00:00
Charles Kerr 48bec954be remove a debugging printf 2008-04-25 04:37:00 +00:00
Charles Kerr 9f8b596914 Fix "Unknown Error (0)" messages for torrents that haven't been scraped yet. 2008-04-25 04:35:06 +00:00
Charles Kerr dbf3e95cd9 make the tracker response lines more human-readable 2008-04-25 04:26:04 +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 169e717474 fix failed buildin 2008-04-24 19:49:13 +00:00
Charles Kerr 335ff66baa reported by John_Clay: allow the connection to continue even if the certificate can't be authenticated. 2008-04-24 19:48:27 +00:00
Charles Kerr aa731deaa6 maybe make hudson happy 2008-04-24 19:42:29 +00:00
Charles Kerr 73b1f106a3 maybe work on libcurl < 7.16.3 2008-04-24 19:38:59 +00:00
Charles Kerr 52ea125c45 #894: wont start - cp->doneHave <= cp->completeHave 2008-04-24 15:25:01 +00:00
Charles Kerr a97d175a34 code tweaks 2008-04-24 03:26:36 +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 3a609ecc87 eliminate warning about unused variable 2008-04-23 13:26:30 +00:00
Charles Kerr 1b901ca9df minor tweaks: dead code removal, make functions static, etc 2008-04-22 20:51:15 +00:00
Charles Kerr 0c1599608d add statistics "reset" button 2008-04-22 14:07:42 +00:00
Charles Kerr 19fbb3ef2c string folding 2008-04-21 15:22:54 +00:00
Charles Kerr fbc7cde718 tweak the value of haveDone as per BentMyWookie's suggestion 2008-04-21 00:04:41 +00:00
Charles Kerr 8805366e28 if at first you don't succeed... 2008-04-20 22:06:05 +00:00
Charles Kerr c4878448a9 clean up the file bsearch that caused the crash reported by John_Clay yesterday 2008-04-20 21:54:44 +00:00
Charles Kerr 30b444ab92 (gtk) #891: patch: add option to disable libnotify support at compile time 2008-04-20 13:30:44 +00:00
Charles Kerr a443cc3289 add #include <limits.h> to pick up a definition of INT_MAX to make Hudson happy 2008-04-19 19:39:39 +00:00
Charles Kerr 3445817a80 peer-msgs: faster upload speeds in situations with few peers. this patch needs wider testing for side-effects wrt speed limits. 2008-04-19 19:37:05 +00:00
Charles Kerr c28e59e8b2 add some debug messages for John_Clay 2008-04-19 15:59:31 +00:00
Charles Kerr 08b27749ba #890: be smarter about noticing seeds from tracker & pex 2008-04-19 15:07:59 +00:00
Charles Kerr b483b30889 minor code cleanup: remove dead code, const-correctness, etc 2008-04-18 23:17:40 +00:00
Charles Kerr 322265f2ba use a binary search to slightly speed up finding the right location in a torrent when reading/writing a piece. 2008-04-18 20:56:20 +00:00
Charles Kerr c88aa6135d benc cleanup 2008-04-18 16:23:59 +00:00
Charles Kerr ab2b3a957d #886: libtransmission fails to compile on win32 2008-04-18 15:33:24 +00:00
Charles Kerr 2d360434eb handle manditory/fallback ctor settings in the bencoded resume filfes 2008-04-18 12:47:13 +00:00
Charles Kerr ac921e0f82 #881: undo r5631 2008-04-18 00:02:04 +00:00
Charles Kerr 3e88159e9f (gtk) fix potential invalid memory read on shutdown 2008-04-17 20:35:18 +00:00
Charles Kerr 101307ddff fix a couple more minor leaks 2008-04-17 19:54:22 +00:00
Charles Kerr 737a5c7b5c fix minor memory leak in tr_initFull() 2008-04-17 18:46:51 +00:00
Charles Kerr 4041a1731d fix minor memory leak in tr_close() 2008-04-17 18:45:02 +00:00
Charles Kerr ea9e0b260f (1) fix choke/unchoke error. (2) if a peer keeps trying to reconnect to us, hang up during the handshake. 2008-04-17 03:48:56 +00:00
Charles Kerr 62709b7ca2 #881: follow the transmission spec wrt extension handshake message timing 2008-04-17 02:11:29 +00:00
Charles Kerr a818d74f35 the last commit was too assertive 2008-04-15 20:44:27 +00:00
Charles Kerr 87a77ea331 more hacking on the bencoded resume files 2008-04-15 17:00:44 +00:00
Charles Kerr 29cb590c28 #879: fix segfault if tracker is freed immediately after starting a torrent 2008-04-15 15:51:59 +00:00
Charles Kerr 1aec1e1392 maybe fix the losing-progress bug in the new bencoded resume. fix a couple of log messages too. 2008-04-15 13:27:28 +00:00
Charles Kerr c0c0842754 minor resume tweak 2008-04-14 20:41:45 +00:00
Charles Kerr 35502f0559 add more debugging messages for loading progress from the bencoded resume file 2008-04-14 20:30:43 +00:00
Charles Kerr 7f89ee3db2 silence a couple of annoying dbg messages 2008-04-14 20:06:37 +00:00
Charles Kerr 59817732ab add more debug messages to resume's DND loader 2008-04-14 19:52:51 +00:00
Charles Kerr 2d90c93765 wrap the dead parts of fastresume.c in #if 0 blocks 2008-04-14 15:32:28 +00:00
Charles Kerr 1578ebc904 get DND working in the benc resume files 2008-04-14 15:17:16 +00:00
Charles Kerr e4f6b9592d get tr_ctorSetMetainfoFromHash() working again. 2008-04-14 14:39:13 +00:00
Charles Kerr afde752dc0 'resume' cleanup 2008-04-14 11:52:50 +00:00
Charles Kerr a08ef82039 delete the old resume file after migrating to the new format 2008-04-14 03:12:24 +00:00
Charles Kerr 4843187f6c #394: resume files should use original name instead of hash name 2008-04-13 22:31:07 +00:00
Charles Kerr c8c84d6bd1 #872: crash in bitfield code when loading resume files 2008-04-13 14:29:11 +00:00
Charles Kerr 8a8b1fedb0 #870: follow PEX conventions agreed upon by Azureus and uTorrent 2008-04-12 23:01:40 +00:00
Charles Kerr 48e5a660df #765: for every consecutive scrape failure, wait longer before trying again. 2008-04-12 22:37:03 +00:00
Charles Kerr 002ce54335 #848: UPnP users always have to wait for NAT-PMP to fail first 2008-04-12 21:47:10 +00:00
Charles Kerr fc866f51f3 minor tr_torrentStat cleanup 2008-04-12 15:56:21 +00:00
Charles Kerr 38ee8899f7 #864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit#864: crash on exit 2008-04-12 02:26:45 +00:00
Charles Kerr 57c7fcb507 #857: DSCP support for Transmission 2008-04-12 00:29:49 +00:00
Charles Kerr f12ac60d0a update a couple of the tr_stat fields based on feedback from BMW 2008-04-11 23:05:14 +00:00
Charles Kerr 77abc21659 tidy up some libtransmission filenames. 2008-04-11 17:01:13 +00:00
Charles Kerr 5619eae447 #853: transmission-(daemon|gtk) segfault when querying status 2008-04-10 19:02:24 +00:00
Charles Kerr 1f95e1d450 tweak an info message based on BMW's suggestion 2008-04-10 02:53:03 +00:00
Charles Kerr 5b29d7cb3b re-add the translation macro 2008-04-09 20:53:09 +00:00
Mitchell Livingston 8c5da6178b remove the ability to disable scraping - the demand for this feature is too low currently (this also reenables scraping on all clients) 2008-04-09 20:50:14 +00:00
Mitchell Livingston f34cd7299f fix incorrect eta value 2008-04-07 05:00:07 +00:00
Mitchell Livingston 2a8b6f8b1f fix marking the eta of torrents with peers as unavailable 2008-04-07 03:01:57 +00:00
Charles Kerr 69eaaed409 remove a debugging printf 2008-04-06 17:12:15 +00:00
Charles Kerr f42995c872 #846: transmissioncli attempts to bind to port even when not needed 2008-04-06 16:50:41 +00:00
Charles Kerr 9f3f0c03e6 #843: download eta should consider availability 2008-04-06 14:42:47 +00:00
Mitchell Livingston 1d40202bfc string folding and dead code removal 2008-04-06 04:16:05 +00:00
Charles Kerr fc091499cb translators shouldn't have to translate debug messages 2008-04-06 00:38:18 +00:00
Charles Kerr 8930e63e8b #840: bencode.c (and others) does not compile without libintl.h 2008-04-05 20:49:51 +00:00
Mitchell Livingston fad4e528fe store mac support files in the right location 2008-04-05 20:27:13 +00:00
Charles Kerr b71a2985b3 #684: Use XDG basedir spec for configuration and cache files in $HOME 2008-04-05 20:12:11 +00:00
Charles Kerr 16880cee99 #765, part 1: add backend support for disabling tracker scrapes 2008-04-05 16:49:26 +00:00
Charles Kerr 6d52fa6856 don't flood the message log when you don't have a blocklist 2008-04-05 16:45:35 +00:00
Charles Kerr 0080f1abe8 ipc/daemon cleanup 2008-04-04 17:19:44 +00:00
Mitchell Livingston 8adc5de554 small rearrangement in clients list; update NEWS 2008-04-04 01:45:32 +00:00
Charles Kerr e61af54481 #837: portability patch submitted by naddy 2008-04-04 01:21:36 +00:00
Charles Kerr fd0e71c00a hack on IPC a bit because it's been too long since I broke it 2008-04-03 21:38:32 +00:00
Charles Kerr 9c93ac23b0 fix one cause of slow shutdown: even if we weren't using natpmp, we would wait on it... 2008-04-01 19:52:21 +00:00
Charles Kerr 5890eaef34 encapsulate the blocklist a little better so that we can add more blocklists in the future if necessary 2008-04-01 19:20:21 +00:00
Charles Kerr eb24ad760d (1) make tr_torrentRates() faster.
(2) new function: tr_torrentGetStatus() for when you need the status but not the overhead of tr_stat
2008-04-01 02:35:04 +00:00
Charles Kerr 3e4168025b experimental commit to save 1888 bytes from each tr_torrent 2008-03-31 19:34:20 +00:00
Charles Kerr 51a82e70c1 remove `TR_STATUS_DONE' from libtransmission's public API. It's useful as an internal state but not for code calling libtransmission. 2008-03-31 17:59:16 +00:00
Charles Kerr a331582ec0 string folding 2008-03-30 13:52:55 +00:00
Charles Kerr ef534cbb51 blocklist cleanup 2008-03-30 13:22:45 +00:00
Charles Kerr def9d1a492 better logging of blocked IP addresses. 2008-03-30 00:57:55 +00:00
Charles Kerr 24d35e7098 added tr_blocklistGetRuleCount(). 2008-03-30 00:00:28 +00:00
Mitchell Livingston 1c25dca676 remove redundant include that snuck in from my test build 2008-03-29 23:43:08 +00:00
Mitchell Livingston 7fdb2f6f40 first implementation of the blocklist 2008-03-29 23:38:38 +00:00
Charles Kerr a09b43a4b4 add tr_blocklistIsEnabled(), tr_blocklistSetEnabled(). add a blocklist flag to tr_initFull(). 2008-03-29 23:12:34 +00:00
Charles Kerr e5b04e45d5 add tr_blocklistExists( const tr_handle * ); 2008-03-29 22:16:33 +00:00
Charles Kerr a20bb8d569 get the blocklist code working & add a unit test for it. 2008-03-29 21:05:51 +00:00
Charles Kerr e7ba6b7b15 first (and incomplete) pass at peer blocking. this commit is to get the API into SVN so the mac client can access them 2008-03-29 18:37:07 +00:00
Charles Kerr 8659c755d8 change ptrarray.[ch] license to MIT so that bencode, which relies on it, can be used in other projects w/o GPL 2008-03-25 19:49:32 +00:00
Charles Kerr 39a7583f82 rename tr_httpParseUrl() -> tr_httpParseURL() 2008-03-24 19:29:25 +00:00
Charles Kerr 919eefe456 rework the makemeta error messages so that they can be i18nized on the client end. 2008-03-24 17:18:08 +00:00
Charles Kerr b3663db916 #811: fix r5329 error in trunk. 2008-03-24 16:10:04 +00:00
Charles Kerr 910d77ae12 (#814) require a valid announce URL when creating torrents 2008-03-24 15:58:06 +00:00
Charles Kerr c6d57fcdbe save a few bytes from each torrent by removing some vestigal rate control locks 2008-03-23 20:54:54 +00:00
Charles Kerr 36689ca7c3 #809: reduce memory overhead in tr_info structure 2008-03-23 03:15:05 +00:00
Charles Kerr 2ca35e1ea7 allow NULL as the second argument to tr_torrentFiles() 2008-03-22 18:27:29 +00:00
Charles Kerr c63b548195 fix bug that caused very large torrents to crash Transmission 2008-03-22 18:10:59 +00:00
Charles Kerr ca9a75d4aa (gtk) fix minor terminology inconsistencies between the "new torrent" and "details" dialogs 2008-03-19 20:34:35 +00:00
Charles Kerr 531dd851ad more string work before the freeze. (1) use %'d to get thousands' grouping in end-user strings (2) follow HiG capitalization, quotation guidelines (3) fold a few more strings 2008-03-19 20:07:27 +00:00
Charles Kerr 54ad103053 minor `verify' cleanup 2008-03-19 14:56:47 +00:00
Charles Kerr e7316dbc34 yet more string massaging 2008-03-19 02:16:07 +00:00
Charles Kerr d9b33a7055 change that 20 second interval to a 5 second interval 2008-03-18 19:38:39 +00:00
Charles Kerr f92c5fd502 demote the nat-pmp `try again' message to dbg 2008-03-18 19:34:44 +00:00
Charles Kerr cb854bd4cc #798: 1.06's handling of tracker http 301 redirects can cause a huge strain on tracker 2008-03-18 19:33:08 +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 21124a8de8 strings work: (1) folding similar strings together for easier tranlation (2) gtk: use consistent shortcuts/phrases/terminology between the preferences and "open torrent" dialogs (3) promote the port forwarding messages from Debug to Info as per BMW's request 2008-03-18 19:14:21 +00:00
Charles Kerr 4fa1da4ee8 #781: (1) fix overreporting corrupt data, and (2) fix bug added in r5172 that didn't handle sent request TTL correctly, causing too many dupliate block requests. 2008-03-18 17:46:29 +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 05c6938f5a changes to message logging: (1) bring back "Torrent hasn't responded yet", but only in the message log. (2) make PEX messages debug. (3) log a message when a torrent reaches completion. 2008-03-18 16:56:01 +00:00
Charles Kerr 913f2843b2 #740: back out the previous "fix" because it caused an regression in the mac client 2008-03-18 16:26:45 +00:00
Charles Kerr ec34995cff make the port forwarding error message text a little more helpful 2008-03-18 02:30:35 +00:00
Charles Kerr d8fa1dff77 if libevent logs an error message, send it to our message log via tr_nerr() 2008-03-18 02:23:39 +00:00
Charles Kerr 3d232f4db0 make the Port Forwarding error messages a little easier for beginners to understand 2008-03-18 02:15:19 +00:00
Charles Kerr 59fdf5dcc8 #781: try to get a little further on this `too much corrupt' ticket by adding a more helpful log message when a downloaded piece fails its checksum test. 2008-03-18 01:39:06 +00:00
Charles Kerr 23f33e1bd1 "Got 0 peers from peer exchange" is a pretty useless message. :) 2008-03-17 02:45:09 +00:00
Charles Kerr 8f246d63e8 (gtk) set the default sort column & mode for the message window's list 2008-03-16 21:41:27 +00:00