Charles Kerr
81785b5633
#1126 : crash on quit
2008-07-31 13:06:59 +00:00
Charles Kerr
978b60b8ad
Make it a little easier to trace backwards from "Unspecified I/O error" to find out what the real problem is.
2008-07-30 14:46:45 +00:00
Charles Kerr
9006f75edb
#1117 : crash on exit in curl_multi_socket_action()
2008-07-29 18:53:41 +00:00
Charles Kerr
28db5be802
#1123 : unreachable peers need to be handled better
2008-07-29 00:52:02 +00:00
Charles Kerr
703f96aeb3
#1122 : faster http processing
2008-07-29 00:51:07 +00:00
Charles Kerr
96ae464283
rename `pulse' as peerPulse() and trackerPulse() to make backtraces easier to read
2008-07-28 19:47:16 +00:00
Charles Kerr
72880446d8
(daemon) #1107 : transmission-remote -t[n] -i should display webseeding info
2008-07-27 14:10:32 +00:00
Charles Kerr
771f299c53
(rpc) to lower the bandwidth/cpu used up by very large torrent lists, allow finer-grained control over which fields to return in the `torrent-get' request.
2008-07-26 14:47:07 +00:00
Charles Kerr
d8c098f7a8
(libT) ensure that .torrents and stats aren't lost when migrating to 1.30 from < 1.20. Thanks to Michael Dürwald for reporting this bug.
2008-07-25 19:55:09 +00:00
Charles Kerr
fc87510be3
(gtk) #1108 : transmission includes several unlocalized strings
2008-07-25 11:50:17 +00:00
Charles Kerr
20b283584b
one more piece of Aloisius' performance patch: set SO_SNDBUF to 2x MTU
2008-07-24 20:58:58 +00:00
Charles Kerr
61e588d3d6
(libT) make unrecognized peer_ids a little more readable for the peers tab.
2008-07-24 18:53:17 +00:00
Charles Kerr
d6ede8d09e
(libT) make the licensing consistent across all the files which only contain my code
2008-07-22 23:28:28 +00:00
Charles Kerr
5da99a7360
#1099 : transmission-remote confuses -ph, -pn and -pl (priorities) options with the -p (port) option
2008-07-21 19:24:35 +00:00
Charles Kerr
c06be77724
#1101 (rpc): add individual file progress to torrent-get's "files" message
2008-07-21 18:42:51 +00:00
Charles Kerr
7372c4f39f
add more rpc unit tests. man page cleanups.
2008-07-21 16:11:47 +00:00
Charles Kerr
4bff7981b7
update snapshot of Jean Gressmann's JSON parser
2008-07-21 16:11:00 +00:00
Charles Kerr
43b99f425a
(libT) fix minor PEX memory leak reported by valgrind
2008-07-18 19:50:38 +00:00
Mitchell Livingston
dc1a870e7f
eliminate 2 tiny memory leaks from the last commit
2008-07-18 04:57:38 +00:00
Mitchell Livingston
f49b471454
the mac app now includes and works with the web ui
2008-07-18 04:54:11 +00:00
Charles Kerr
2eb89eb2a7
(libT) fix some minor warnings foudn by clang's scan-build and reported by m1b
2008-07-17 20:33:34 +00:00
Charles Kerr
9650fcc0e2
(rpc) serve the clutch static files faster
2008-07-17 14:45:31 +00:00
Charles Kerr
6ffe3bcec5
(rpc) possible fix for the new breakage caused by the shttpd upgrade in r6349
2008-07-17 04:27:03 +00:00
Charles Kerr
2281c39c1f
(third-party) upgrade shttpd from 1.39 to the latest, 1.41
2008-07-16 23:55:49 +00:00
Charles Kerr
2bd8dbf33a
(rpc) allocate a bit in torrent-set/torrent-get for detailed peer information
2008-07-16 20:31:17 +00:00
Charles Kerr
af626c9e0b
(clutch) fix error with setting the incoming port via clutch preferences. reported by lolek in irc
2008-07-16 20:06:28 +00:00
Charles Kerr
d26c3af13d
(rpc) fix minor memory leak in the RPC server
2008-07-16 19:36:46 +00:00
Charles Kerr
1a1f195216
(rpc) better handling of multiple concurrent RPC connections
2008-07-16 17:47:20 +00:00
Charles Kerr
70a405f1a0
(gtk) add "Launch Clutch" button to the web tab in the preferences dialog. that way users won't have to dig through documentation to find the " http://localhost:port/transmission/clutch " URL.
2008-07-16 02:31:08 +00:00
Charles Kerr
cb82d4ad1c
(rpc) fix possible password authentication error reported by kman
2008-07-15 20:39:50 +00:00
Charles Kerr
c692dff9d5
(gtk) #1088 : when the gtk+ client is serving Clutch, torrents added via Clutch aren't shown in gtk+ client
2008-07-15 19:25:46 +00:00
Charles Kerr
2f239319b0
add a portability wrapper ``tr_snprintf()'' around snprintf()
2008-07-15 17:16:57 +00:00
Charles Kerr
5739207640
better nat-pmp error logging. (this will very briefly break the mac build)
2008-07-15 03:26:53 +00:00
Charles Kerr
92c42168ee
fix rpc `uploadRatio' field as reported by blueluna
2008-07-15 03:26:01 +00:00
Charles Kerr
7974a1e50a
(libT) add proxy port arg as requested by BentMyWookie
2008-07-15 01:03:03 +00:00
Charles Kerr
4813647346
#1084 : Make `web' and `clutch' synonymous in the backend
2008-07-14 16:00:20 +00:00
Charles Kerr
d5335b710b
Update NEWS file to say the Clutch rewrite's been folded into Transmission.
2008-07-11 17:09:53 +00:00
Charles Kerr
eb254b8a54
#1042 : "Announce allowed: Never"
2008-07-11 11:51:15 +00:00
Charles Kerr
87ff06144a
don't break the mac build
2008-07-11 04:19:23 +00:00
Charles Kerr
a18f55d217
forgot an #include <sys/stat.h>
2008-07-11 04:11:22 +00:00
Charles Kerr
b37a2cfa23
(1) add clutch to the tarball.
...
(2) on autoconf-based installs, install the clutch files in $(datadir)/transmission/web
(3) new function tr_getClutchDir(). Default implementation follows the XDG spec.
2008-07-11 04:07:14 +00:00
Charles Kerr
45a216bdc2
(daemon) let file download flags and priorities be set by transmission-remote. Add examples to the man page and --help.
...
(libT) minor tweaks to tr-getopt
(gtk) tweak the preference dialog's "port forwarding" text for clarity as suggested in the forums
2008-07-10 20:59:15 +00:00
Charles Kerr
1b8435aa02
(1) remote: fix bug with specifying torrent id for file list.
...
(2) very minor cleanup
2008-07-10 14:20:36 +00:00
Charles Kerr
7ea35b8afa
(libT) avoid collisions between short & long getopts
2008-07-09 19:39:40 +00:00
Charles Kerr
1010c9d35b
(libT) let tr_getopt() support short options' arguments to be embedded, such as -p51413
2008-07-09 15:39:53 +00:00
Charles Kerr
7dcbfaf91b
code cleanup
2008-07-09 15:31:35 +00:00
Charles Kerr
9fb3bf6412
sync the man pages with the cli/daemon/remote changes
2008-07-08 17:44:33 +00:00
Charles Kerr
1cd9f2351e
have daemon and cli use tr-getopt too.
2008-07-08 16:50:34 +00:00
Charles Kerr
33c817cc1f
fold the rewritten getopt code into libT
2008-07-08 14:29:05 +00:00
Charles Kerr
6059240cb2
spec fix: timesCompleted is an int, not a double.
2008-07-07 06:06:00 +00:00
Charles Kerr
c8d339c9ee
(libT) #319 : periodically save the .resume file in case of crash
2008-07-02 01:46:10 +00:00
Charles Kerr
70e21e93ff
(libT) #1045 : gracefully handle trackers that return a scrape interval that's too low
2008-07-02 01:17:57 +00:00
Charles Kerr
51535b4bf9
(rpc) uploading files via an http form w/file inputs works now.
2008-07-01 02:33:31 +00:00
Charles Kerr
aae66cc073
(rpc) get torrent uploads partially working.
2008-06-30 21:11:53 +00:00
Charles Kerr
fd06d85aee
part 1 of Aloisius' performance patch
2008-06-27 02:42:44 +00:00
Charles Kerr
26261e3bde
(rpc) fix crash when quickly toggling rpc on/off reported by John_Clay
2008-06-25 11:34:35 +00:00
Charles Kerr
b1cc67ce2b
when getting 5xx errors from a tracker, keep increasing the intervals between retries, instead of hammering the tracker at constant intervals. thanks to mape for this suggestion.
2008-06-24 21:39:07 +00:00
Charles Kerr
cd6ff83415
(RPC) make all the speed units consistent.
2008-06-22 13:44:50 +00:00
Charles Kerr
751c166e9f
(rpc) remove the sort and filter options from the "torrent-get" rpc command. NOTE: probably breaks the mac build; xcode needs to drop "rpc-utils" from its list of libtransmission source files
2008-06-21 15:08:34 +00:00
Charles Kerr
cda886028d
fix `HAVE' error that broke during the webseed-piece changes last week. Reported by Aloisius in http://forum.transmissionbt.com/viewtopic.php?t=5175
2008-06-21 01:03:31 +00:00
Mitchell Livingston
ff4a64aba5
call new versions of Azureus Vuze
2008-06-20 22:05:37 +00:00
Charles Kerr
5c3cb6fbf2
add `isPrivate' to the info section of the torrent-get method
2008-06-20 19:55:34 +00:00
Charles Kerr
625bc10895
(libT) recognize & parse FlashGet peer-ids
2008-06-19 05:48:32 +00:00
Charles Kerr
8dd3e46450
minor bencode cleanup: (1) remove unused BENC_NULL (2) make tr_bencInit() a private static function in bencode.c
2008-06-19 02:53:57 +00:00
Charles Kerr
509dbaae3d
senseless RPC changes
2008-06-18 22:01:15 +00:00
Charles Kerr
ed29e553f1
(libT) fix compiler warning.
2008-06-17 18:47:31 +00:00
Charles Kerr
75cb355579
(rpc) fix sorting. simplify the spec, folding similar functions together
2008-06-17 16:25:13 +00:00
Charles Kerr
81b510bfd1
#1034 : fix optimistic unchoke bug reported by Aloisius
2008-06-17 15:19:12 +00:00
Charles Kerr
16e3803082
small tr_torrentStat() speedup suggested by BentMyWookie
2008-06-17 14:25:23 +00:00
Charles Kerr
9ca2a3e0f8
(rpc) tweaks to the rpc spec.
2008-06-17 04:47:20 +00:00
Charles Kerr
e8694f7f66
fix tr_strcasecmp in the case where HAVE_STRCASECMP is not defined
2008-06-16 22:15:53 +00:00
Charles Kerr
518f277e9f
(RPC) add utility arguments for torrent-info: sort by (activity|age|id|name|progress|ratio|state|tracker), filter by (active|all|downloading|paused|seeding)
2008-06-16 22:11:50 +00:00
Charles Kerr
fa92408627
#1032 : recognize bitlord/bitcomet in the inspector's peers column
2008-06-16 17:26:19 +00:00
Charles Kerr
6779afac43
ensure JSON_int_t is an int64_t
2008-06-16 04:03:06 +00:00
Charles Kerr
6cce27bf54
(rpc) simplify the rpc accessors
2008-06-16 03:47:50 +00:00
Charles Kerr
25a20d172d
tr_peerMgrHasConnections(): take webseeds into account, as suggested by BentMyWookie
2008-06-12 16:28:39 +00:00
Charles Kerr
effb78d674
unify the daemon and gtk client's config files so that you can easily swap back and forth between clients and keep the same torrents and preferences.
2008-06-12 16:25:36 +00:00
Charles Kerr
a029f4e34a
tr_ctorSetDownloadDir(): handle NULL download dirs more gracefully.
2008-06-11 23:40:27 +00:00
Charles Kerr
af8e44a5e7
maybe *now* 1.30 is feature complete: by popular demand, add proxy support for SOCKS4/SOCKS5. This will break the mac build temporarily.
2008-06-11 20:45:53 +00:00
Charles Kerr
71c2cdd1ea
#966 : allow blocklist support in the daemon. add extra info in the man page explaining how to add blocklists.
2008-06-11 20:09:36 +00:00
Charles Kerr
f8314b364b
fix an oops from the previous commit. hi, titer
2008-06-11 19:04:48 +00:00
Charles Kerr
85c26e9f7d
fix a pair of webseed bugs reported by BentMyWookie
2008-06-11 19:01:16 +00:00
Charles Kerr
f0229ed8ad
(libT) allow custom blocklists... now all you need to do is place a file in the blocklists/ folder and Transmission will automatically use it the next time it starts.
2008-06-11 16:15:45 +00:00
Charles Kerr
d2459fa2af
fix ACL parsing error introduced by the shttpd auth code change.
2008-06-11 15:17:59 +00:00
Charles Kerr
bc26bcb705
maybe fix the forced-recheck-on-startup bug that pea_, John_Clay, and Gimp_ reported over the last two days
2008-06-11 02:19:40 +00:00
Charles Kerr
13424ed977
(libT) add NULL pointer checks to tr_torrentStart(), tr_torrentStop()
2008-06-10 19:25:18 +00:00
Charles Kerr
cd314c1af8
(libT) poll the RPC request queue more frequently if there have been recent requests.
2008-06-10 17:13:56 +00:00
Charles Kerr
b94893a4c9
wire up the backend proxy support.
2008-06-10 16:16:31 +00:00
Charles Kerr
393ebbc24a
more webseed work.
2008-06-10 02:36:52 +00:00
Charles Kerr
61b41adf1a
have idle webseeds return a speed of -1 instead of 0 so that we can differentiate between stalled and idle. document this in transmission.h.
2008-06-10 01:46:36 +00:00
Charles Kerr
837f997e6c
(libT) new API for webseed statistics: tr_torrentGetWebSpeeds()
2008-06-10 01:38:12 +00:00
Charles Kerr
9f23502411
use "1.0f" instead of "1f"
2008-06-10 00:31:06 +00:00
Charles Kerr
eb72d44d94
fix oops from previous commit. hi, titer
2008-06-10 00:28:59 +00:00
Charles Kerr
adbbf82302
(libT) make tr_torrentAmountFinished() look at the same pieces as tr_torrentAvailability() for consistency's sake as requested by BentMyWookie
2008-06-09 23:58:31 +00:00
Charles Kerr
0fced3a431
#1007 : check_auth space delimiter bug
2008-06-09 23:28:14 +00:00
Charles Kerr
51f1126a6d
(libT) make tr_torrentAvailability() a lot faster in the case where the torrent is complete, and a little faster in the genral case too.
2008-06-09 23:11:15 +00:00
Charles Kerr
52cd591d5c
(libT) make tr_torrentAmountFinished() much faster when the torrent is complete
2008-06-09 23:05:14 +00:00
Charles Kerr
dce24eb1f0
libT: first cut at implementing the internal peers' request queues as pieces rather than blocks, as discussed with erdgeist and denis, to avoid a couple of nasty CPU bottlenecks.
2008-06-09 22:53:45 +00:00
Charles Kerr
9f2d7c2c67
(libT) if there are webseeds, update the available amount accordingly
2008-06-09 02:38:27 +00:00
Charles Kerr
ef3203a765
roll back the completion changes in r6072; it caused a crash
2008-06-09 00:59:33 +00:00
Mitchell Livingston
1c00343a02
fix minor memory leak when setting the rpc acl
2008-06-08 04:23:56 +00:00
Charles Kerr
7f8ef25acc
whoops, left some test scaffolding code in r6073
2008-06-07 21:28:47 +00:00
Charles Kerr
e3e3bee8b5
#800 initial support for GetRight-style fetching of data through http and ftp servers specified in the .torrent's "url-list" tag
2008-06-07 21:26:41 +00:00
Charles Kerr
e212eeceb7
add first draft of tr_bitfieldFindTrue() courtesy of erdgeist
2008-06-07 14:41:31 +00:00
Charles Kerr
041561f232
minor refactoring of tr_bitfield to (a) simplify the tests and (b) make things easier to read
2008-06-07 01:44:54 +00:00
Charles Kerr
8732aa3bbc
fix bitfield error reported by denis
2008-06-07 00:43:42 +00:00
Charles Kerr
7b88afdca7
(libT) 1. tweak tr_bitfieldTestFast(). 2. add tr_memdup()
2008-06-06 23:53:30 +00:00
Charles Kerr
2878d0d32e
bitfield speedups written by denis__. Thanks!
2008-06-05 20:21:56 +00:00
Charles Kerr
c0e5efbc03
fix some stub code
2008-06-05 17:32:36 +00:00
Charles Kerr
f861f39711
maybe fix the tracker authentication problems reported by demio
2008-06-05 16:35:33 +00:00
Charles Kerr
d3d4047da0
fix handshake.c crash reported by wereHamster
2008-06-05 16:25:22 +00:00
Charles Kerr
ab17f553c4
get RPC password protections working in libT and the gtk+ client. mac, daemon, and cli need to be synced.
2008-06-05 16:23:03 +00:00
Charles Kerr
4d29a29003
(rpc server) fix ACL error reported by pea_
2008-06-05 04:02:46 +00:00
Charles Kerr
32f71e1725
(libT RPC server): poll more frequently for new commands after we've received the first one.
2008-06-05 02:07:17 +00:00
Charles Kerr
b92e88b29c
fix tracker crash caused by the new add/remove tracker code reported by BentMyWookie
2008-06-04 23:46:32 +00:00
Charles Kerr
34d5433769
(gtk) more work on the RPC preferences tab: the ACL editor works now & is wired up...
2008-06-04 19:46:37 +00:00
Charles Kerr
c724a73fb4
RPC ACL: (1) add a new call for testing ACLs (2) add wildcard notation support (3) add regression tests for the ACL tester and wildcard handler
2008-06-04 17:14:58 +00:00
Charles Kerr
3a3397ca84
modify the torrent-list response as per Gimp_'s request
2008-06-04 07:06:47 +00:00
Charles Kerr
1dd2abc711
fix the error message leak reported by BentMyWookie in the new ACL code
2008-06-04 06:36:50 +00:00
Charles Kerr
6ec33f5e23
(libT) handle a NULL third argument to tr_sessionSetRPCACL()
2008-06-04 04:49:45 +00:00
Charles Kerr
044bfbad39
add tr_torrentSetDoneDate() too
2008-06-03 19:42:54 +00:00
Charles Kerr
870c4d7650
add tr_torrentSetAddedDate() and tr_torrentSetActivityDate()
2008-06-03 19:22:22 +00:00
Charles Kerr
e1a23350d4
(1) add a doneDate to tr_torrent and tr_stat. (2) save tr_torrent.doneDate and tr_torrent.activityDate between sessions in the .resume file.
2008-06-03 19:16:12 +00:00
Charles Kerr
547056b50b
#988 : Optimistic unchoke can unchoke uninterested peers
2008-06-03 04:29:56 +00:00
Charles Kerr
ccaf782dd6
(libT) if the ACL passed in via tr_sessionInitFull() can't be parsed, log an tr_err() and use a TR_DEFAULT_RPC_ACL as the fallback.
2008-06-02 19:57:16 +00:00
Charles Kerr
f8d40cdf00
(libT): added an ACL tester to tr_sessionSetRPCACL() and return an error string if the ACL can't be parsed.
2008-06-02 19:44:19 +00:00
Charles Kerr
53a426c738
add in some very simple bitfield tests, and add a #define option to turn it into a speed test
2008-06-02 15:52:16 +00:00
Charles Kerr
5db4ca7fa3
#981 : add tr_stat.dateAdded to libT; add "sort by age" to gtk+ client
2008-06-02 04:41:55 +00:00
Charles Kerr
8db94c5862
#224 (creating multi-tracker torrents): add multitracker support in libT's makemeta API, and in the gtk+ interface. This probably breaks the mac build...
2008-06-01 05:36:23 +00:00
Charles Kerr
f6dd06c367
r5987 tweak: silence a couple of console debugging messages that snuck into the commit
2008-06-01 01:55:05 +00:00
Charles Kerr
07c1b28e9e
#838 (Adding trackers to existing torrents): add a backend API for this (tr_torrentSetAnnounceList) and implement a GUI for it in the gtk+ client.
2008-06-01 01:40:32 +00:00
Charles Kerr
0a023367b6
fix r5985 oops. I shouldn't make commits when I'm in a hurry.
2008-05-31 15:15:54 +00:00
Charles Kerr
cdf5cb87d6
another tweak for calculating tr_stat.desiredAvailable faster, suggested by BentMyWookie
2008-05-31 05:22:10 +00:00
Charles Kerr
c00a3a97b7
fix r5979 oops
2008-05-31 00:20:59 +00:00
Charles Kerr
5141a65d45
experimental message batcher as discussed in http://forum.transmissionbt.com/viewtopic.php?p=24251#24251
2008-05-31 00:16:26 +00:00
Charles Kerr
e391ef6e1a
on shutdown, close the most active torrents first. That way if we can't get everyting closed in a reasonable amount of time, at least we get the ones that affect stats first.
2008-05-30 17:22:26 +00:00
Charles Kerr
f3db37ab1b
add a couple of more ways to short-circuit the tr_stat.desiredAvailable test in tr_torrentStat(), as suggested by BentMyWookie
2008-05-30 16:49:03 +00:00
Charles Kerr
5ed97a1c04
refactor out some dead code in net.c, and probably give jhujhiti fits
2008-05-30 15:43:10 +00:00
Charles Kerr
0705eaa1c0
minor speedups in tr_torrentStat() and in bitfield manipulation
2008-05-30 15:40:46 +00:00
Charles Kerr
468a883f23
API cleanup: s/tr_torrentRates/tr_sessionGetSpeed/
2008-05-30 15:19:07 +00:00
Charles Kerr
e9c7e76c07
#980 optimistic unchoking is broken
2008-05-30 12:58:55 +00:00
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