Charles Kerr
93ee8b8c49
#972 : Update to the 2008/05/29 snapshot of libnatpmp
2008-05-29 13:39:39 +00:00
Charles Kerr
eb02b3e494
#972 : merge upstream version of Jean Gressmann's JSON_parser
2008-05-29 03:24:26 +00:00
Charles Kerr
2c59589c6c
* When loading a torrent, warn if no announce URLs are found.
...
* When possible, use the torrent name in metainfo warning messages.
2008-05-29 00:38:31 +00:00
Charles Kerr
f61205e708
fix svn id property
2008-05-28 17:17:12 +00:00
Charles Kerr
e6070f04f2
remove more dead code
2008-05-28 16:56:38 +00:00
Charles Kerr
cd6ef35854
(libT) remove dead code
2008-05-28 16:52:31 +00:00
Charles Kerr
ad2146cc24
#972 (partial) Transmission fails to compile with Sun Studio due to funky C code
2008-05-28 13:03:34 +00:00
Charles Kerr
36223c112e
#971 : transmission can't create torrent with empty "Announce URL"
2008-05-27 21:55:57 +00:00
Charles Kerr
dce2c25fb1
possible fix for r5932/r5933 error reported by John_Clay.
2008-05-27 18:37:42 +00:00
Charles Kerr
70b395fb85
dead code removal.
2008-05-26 13:13:24 +00:00
Charles Kerr
f5400da1bb
(libT) shave a few bytes from tr_info and tr_torrent's memory footprints.
2008-05-26 12:52:38 +00:00
Charles Kerr
70fcc56beb
(libT) (1) shave a few bytes from tr_peer and tr_ratecontrol's footprints. (2) remove some dead code.
2008-05-26 12:14:35 +00:00
Charles Kerr
0ab37e45d5
(rpc)
...
1. fix #968 : 'transmission-remote -r' deletes all
2. fix error in escaping control characters when serializing tr_benc to JSON
3. fix small memory leak in rpc command parsing
2008-05-24 18:22:16 +00:00
Charles Kerr
7bfe7cc471
remove unused functions tr_torrentSetActiveCallback() and tr_torrentClearActiveCallback()
2008-05-23 20:33:54 +00:00
Charles Kerr
53d8574b11
* change tr_stat.activityDate's and tr_stat.startedDate's type to time_t, since that's how everyone uses them anyway
...
* add a little more documentation to tr_stat and tr_ctor in transmission.h
2008-05-23 20:04:41 +00:00
Charles Kerr
ba8a03024c
shave 16 bytes off sizeof(tr_peerIo)
2008-05-23 18:56:42 +00:00
Charles Kerr
e44f2b7829
possible fix for the stats error reported in http://forum.transmissionbt.com/viewtopic.php?t=4843 , but it's a strange bug.
2008-05-23 18:30:49 +00:00
Charles Kerr
d18fb68fbc
sine we now have two public ports (peer and rpc), rename "publicPort" as "peerPort"
2008-05-23 16:18:58 +00:00
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
Charles Kerr
146b9df023
meh, too early in the morning :)
2008-03-13 11:59:19 +00:00
Charles Kerr
18ab99970b
fix r5243 typo reported by BentMyWookie
2008-03-13 11:57:42 +00:00
Mitchell Livingston
f03073e080
truncate torrent name in message window instead of removing words; rename "Activity" to "Process"; add the torrent name to a particularly common log message
2008-03-13 11:08:23 +00:00
Charles Kerr
9bb4c477f3
don't let vraa have that many peers any more.
2008-03-13 05:42:39 +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
e3c1d221fb
#781 : experimental commit on the "failed data" issue.
2008-03-13 00:38:16 +00:00
Charles Kerr
6ef6ac0928
the last i18n-centric commit for awhile, I hope.
2008-03-08 04:53:11 +00:00
Charles Kerr
bcff72c3ad
string consistency. (gtk) move `announce url' from info tab to tracker tab.
2008-03-08 02:00:47 +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
6fe4a4dddc
more i18n improvements. thanks to Gnome translator andre for feedback.
2008-03-07 21:20:45 +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
5e3dcb5f6f
#751 : more digging to try to figure out where the problem is.
2008-03-06 13:24:44 +00:00
Charles Kerr
daddf2c3ef
(gtk) fix minor compiler warning when #including <libtransmission/utils.h>
2008-03-05 01:05:42 +00:00
Charles Kerr
d6729f99ec
added `benc2php' utility
2008-03-05 00:50:53 +00:00
Charles Kerr
d6a6c24e18
remove more unused code in the peer-msgs module
2008-03-04 21:09:26 +00:00
Charles Kerr
2c9fef40ef
remove unused code in the peer-msgs module
2008-03-04 20:37:24 +00:00
Charles Kerr
0e10715b5e
new function: tr_bencSaveAsSerializedPHP()
2008-03-04 19:29:51 +00:00
Mitchell Livingston
052d849b59
get mac build compiling again
2008-03-04 02:23:01 +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
08d986759b
fix r5189 typo pointed out by BentMyWookie
2008-03-04 00:55:20 +00:00
Charles Kerr
3000d67e7f
#751 : add some tracer bullets to help track down this error.
2008-03-03 21:51:45 +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
6b1001600b
remove scaffolding that was accidentally committed in r5183 a few minutes ago
2008-03-02 19:55:04 +00:00
Charles Kerr
d712545433
don't crash in makemeta when trying to build a torrent from files you don't have read access to. (wereHamster)
2008-03-02 19:42:45 +00:00
Charles Kerr
f1c3b160af
remove `banned' field for per-piece-per-peer banning. this has been unused since the three-strikes rule went in place.
2008-03-01 14:32:35 +00:00
Charles Kerr
0788bc37ed
minor cleanups to peer-msgs
2008-03-01 14:09:18 +00:00
Charles Kerr
3de06974e8
#727 : Download speed setting also affects upload speed, peer informations in torrent inspector
2008-02-29 17:09:33 +00:00
Charles Kerr
9afd403424
#743 : add Xunlei to the client list.
2008-02-29 15:33:13 +00:00
Charles Kerr
a6d464347d
get rid of the "tracker hasn't responded yet" message because it drives users insane
2008-02-29 06:28:00 +00:00
Charles Kerr
a7d087b60a
use a custom struct for the peer's four request queues since John_Clay's shark report shows it taking up about 40% of the time in malloc/free. also, maybe this will help the "idle memory" numbers some.
2008-02-29 03:41:50 +00:00
Charles Kerr
eb3ca08961
fix r5164 thread timing issue reported by pea_
2008-02-29 01:58:46 +00:00
Charles Kerr
e00d8bf849
fix some gcc 4.2 warnings
2008-02-28 19:33:11 +00:00
Charles Kerr
d870c12f40
add win32/posix wrapper function tr_lockfile() to libT and use it in daemon/gtk.
2008-02-28 19:06:23 +00:00
Charles Kerr
5f3efe434b
better win32 thread support
2008-02-28 16:40:31 +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
0c2f5ac1ce
expanded description of the behavior of tr_torrentParse().
2008-02-28 02:43:28 +00:00
Charles Kerr
f00dd3cbd3
possibly-better patch for #740 .
2008-02-27 20:44:46 +00:00
Charles Kerr
82d0cd852a
#740 fix tr_torrentParse() leak when adding duplicate torrents.
2008-02-27 20:16:01 +00:00
Mitchell Livingston
7103fcb57e
#741 typo in transmission.h comment
2008-02-27 20:11:04 +00:00
Charles Kerr
9ee96fd0dc
add `verify' command to ipc.
2008-02-27 17:38:39 +00:00
Charles Kerr
5d233f86c4
make struct ipc_info opaque. const-ify the ipcparse functions where possible.
2008-02-27 16:47:58 +00:00
Charles Kerr
f82e8e581b
remove unused "label" field. make ipc_havemsg() private. make ipc_parse()'s buf arg const.
2008-02-27 08:07:13 +00:00
Charles Kerr
494acbfa85
tear out about 1/3 of ipcparse's overhead.
2008-02-27 06:01:46 +00:00
Charles Kerr
8cc587a66f
more housekeeping: benc_val_t --> tr_benc
2008-02-26 21:58:58 +00:00
Charles Kerr
325665caa2
svn propset svn:keywords 'Date Rev Author Id' filename
2008-02-26 21:08:51 +00:00
Charles Kerr
d2f1c7aff3
added tr_sha1_to_hex()
2008-02-25 20:21:22 +00:00
Charles Kerr
e4a59e5e27
fix minor compiler warning.
2008-02-25 03:09:55 +00:00
Charles Kerr
f2f24e936d
tear out the "fast peer" code from refillPulse() altogether
2008-02-25 01:35:20 +00:00
Charles Kerr
b9a9e1f1a8
disable some fastpeer code that's too expensive.
2008-02-25 01:29:30 +00:00
Charles Kerr
7f0a06b920
flesh out the possible values for the new tracker fields in tr_stat
2008-02-22 02:39:15 +00:00
Charles Kerr
58b655338a
libT: add tracker information to tr_stat. gtk: add `tracker' tab to inspector
2008-02-21 07:29:39 +00:00
Charles Kerr
e053f6c59d
#714 : libT creates invalid torrent files when given makemeta is given a non-absolute pathname
2008-02-20 11:36:42 +00:00
Charles Kerr
cfe068876e
remove unnecessary #includes
2008-02-19 18:39:49 +00:00
Mitchell Livingston
8e1c3ff365
fix typos in last commit
2008-02-19 16:57:54 +00:00
Mitchell Livingston
2206c22eee
add Amazon S3 to clients list
2008-02-19 16:55:13 +00:00
Charles Kerr
4456c2dd90
(gtk) #544 : remove fast-resume cache when appropriate
2008-02-19 05:03:56 +00:00
Charles Kerr
deaeb24cb5
cleanup #includes for errno & strerror
2008-02-19 04:16:04 +00:00
Charles Kerr
3b97af8766
#713 : handle leading spaces in the announce url more gracefully
2008-02-18 05:06:52 +00:00
Charles Kerr
f8786b6df0
fix bug that could cause some pieces to be unnecessarily rechecked the second time they were loaded.
2008-02-16 05:13:56 +00:00
Charles Kerr
c144470c70
make the code a little easier to read. make tr_ioFileTest()'s return value consistent with other inout funcs.
2008-02-15 18:25:42 +00:00
Charles Kerr
6fb57dcd59
modify "verify local data" to not lose the blocks in incomplete pieces
2008-02-15 16:00:46 +00:00
Charles Kerr
e2277c97e6
ensure tr_info.creator and tr_info.comment are initialized, even if it's only to an empty string
2008-02-15 14:56:11 +00:00
Mitchell Livingston
f0a645ac75
update clients list
2008-02-15 00:23:09 +00:00
Charles Kerr
4f4f451c17
possible fix for http://forum.transmissionbt.com/viewtopic.php?t=3946
2008-02-14 21:48:49 +00:00
Charles Kerr
33f77798d3
#706 : save a little more memory by doing the same for tr_info.comment and tr_info.creator
2008-02-14 01:12:00 +00:00
Charles Kerr
f8b0763c30
#706 : reduce memory by 25% by cutting tr_file struct
2008-02-14 00:52:58 +00:00
Charles Kerr
9d436d6767
#690 : get multitracker torrents working with the evhttp code
2008-02-13 17:15:58 +00:00
Mitchell Livingston
aaf8fdf45e
add Net Transport to clients list
2008-02-13 13:38:15 +00:00
Charles Kerr
e581d5228e
add tr_ctor{Set,Get}DeleteSource()
2008-02-13 02:24:12 +00:00
Charles Kerr
e20a5cf3df
fix a possible crash on shutdown
2008-02-13 01:33:29 +00:00
Charles Kerr
d360607a02
fix a possible crash when deleting a torrent.
2008-02-13 01:22:55 +00:00
Mitchell Livingston
22cbdfb624
add LH-ABC to the clients list
2008-02-11 22:24:47 +00:00
Charles Kerr
8d14a789cb
#698 : `have' gets too far ahead of `verified'
2008-02-10 04:03:19 +00:00
Charles Kerr
5a7127a26b
make TR_PATH_DELIMITER and TR_PATH_DELIMITER_STR private to libtransmission
2008-02-09 17:48:53 +00:00
Charles Kerr
7cf9f8cc35
#417 : add the libtransmission bits for telling users when they can "Ask Tracker for More Peers"
2008-02-09 17:07:30 +00:00
Charles Kerr
16dcece6ab
test build: disable tit-for-tat
2008-02-08 19:34:12 +00:00
Charles Kerr
17e76707f2
make the stats code a little more difficult to corrupt
2008-02-04 19:54:47 +00:00
Charles Kerr
beb7cc0b92
minor code cleanup
2008-02-02 16:23:49 +00:00
Charles Kerr
cfa1bc8480
shrink sizeof(benc_val_t) from 32 to 24 by better alignment
2008-02-02 16:09:10 +00:00