Commit Graph

1900 Commits

Author SHA1 Message Date
Charles Kerr 3f25d101e0 fix metainfo bug from earlier today. (m1b, andersos) 2008-08-21 17:03:44 +00:00
Charles Kerr 58881d45be more metainfo/bencode cleanup 2008-08-21 16:12:17 +00:00
Charles Kerr dcecf09d96 bencode cleanup: remove unused functions and unnecessary #includes 2008-08-21 14:57:59 +00:00
Charles Kerr 1db57b1468 more metainfo cleanup 2008-08-20 21:01:17 +00:00
Charles Kerr 41258ced7e get rid of strlcat_utf8() 2008-08-20 19:21:57 +00:00
Charles Kerr 9eb2f15fff allocate torrent/resume filenames on the heap instead of the stack 2008-08-20 19:00:52 +00:00
Charles Kerr 3b7499a79b make tr_bencDictFindType() private. 2008-08-20 18:42:45 +00:00
Mukund Sivaraman 2ed1e6ee9d Use signed integers for storing the random values 2008-08-20 16:19:47 +00:00
Mukund Sivaraman d712f22b21 Rename function to indicate its stupidity 2008-08-20 14:55:23 +00:00
Mukund Sivaraman e84275e429 Replace the random number generator inside peer-mgr with a
stupid faster one.
2008-08-20 14:36:15 +00:00
Mukund Sivaraman 4796e40d27 Inline tr_compareUint16() in this case 2008-08-20 13:54:31 +00:00
Mukund Sivaraman ed7685dd1a Make tr_bitfieldHas() a macro 2008-08-20 13:45:52 +00:00
Charles Kerr 6e23743c33 (libT) do proper JSON escaping 2008-08-19 23:11:35 +00:00
Charles Kerr 812b6a1218 roll back the last two diffs (r6582 and r6583) in favor of a simpler/cleaner/better fix 2008-08-18 03:44:09 +00:00
Charles Kerr 0396d9691f (libT) better handling of non-ascii characters when parsing JSON files 2008-08-18 03:10:59 +00:00
Mukund Sivaraman e44f96c88c Send UTF-8 characters straight out in the JSON without encoding further
The code still handles escaping of control characters and double quotes.

Bugs #1089, #1169 and #1190 may be fixed by this commit.
2008-08-17 21:53:24 +00:00
Mukund Sivaraman 87513aa8f8 Add UTF-8 charset to Content-Type HTTP headers 2008-08-17 21:16:22 +00:00
Mukund Sivaraman 317281f87c Don't show an error when transmission is run twice
Instead, present the main window. This commit also auto-generates
the dbus bindings.
2008-08-17 12:39:26 +00:00
Charles Kerr d06f101e57 #220: lazy bitfields 2008-08-16 21:06:57 +00:00
Charles Kerr 93898401fb more connection management changes 2008-08-16 16:00:49 +00:00
Charles Kerr c3eb56a6e0 (libT) some more peer connection management: (1) reset `numFails' to zero after a successful connect (2) tweak the reconnect intervals a bit 2008-08-16 06:07:11 +00:00
Charles Kerr 52efe10ec5 a few attempts to reduce the "router death" load: lower the total number of connections made per second. increase the intervals for reconnecting to some peers. simplify the code a bit. 2008-08-16 05:12:55 +00:00
Charles Kerr 94ac86bec6 (libT) route all outbound peer protocol messages through the outMessages buffer, to ensure that they're sent in sequence. previously the outbound pex message wasn't queued in this way. 2008-08-16 05:11:28 +00:00
Charles Kerr 24362e1b94 (libT) fix a couple of compiler warnings from gcc -Wmissing-prototypes -Wdeclaration-after-statement 2008-08-15 20:28:43 +00:00
Charles Kerr 7b8b26bcbb fix shttpd issue reported by Gimp_ 2008-08-15 19:45:46 +00:00
Charles Kerr d7ab0d8a15 possible quick-fix for the "wasted data due to collisions" bug reported in http://forum.transmissionbt.com/viewtopic.php?f=3&t=5643. surely it's not this easy, but let's see 2008-08-14 20:17:55 +00:00
Charles Kerr d6b2cbae9b (libT) add unit tests for tr_bitfieldAddRange() 2008-08-14 14:38:13 +00:00
Charles Kerr 94c106388b (libT) don't use goto when we don't have to :) 2008-08-14 11:45:12 +00:00
Mukund Sivaraman 11ad6c7087 Optimize tr_bitFieldAddRange()
Also add comments documenting the usage of these functions.
2008-08-14 11:31:25 +00:00
Mukund Sivaraman 39c8cdce5f Replace values.h with limits.h 2008-08-14 11:14:57 +00:00
Mukund Sivaraman de62de3e19 Replace random number generation code 2008-08-14 11:11:25 +00:00
Mukund Sivaraman 3895b39d60 Fix leak of torrents 2008-08-14 10:39:27 +00:00
Mukund Sivaraman b6791332cd Respect non-standard install paths for web interface files 2008-08-14 10:35:11 +00:00
Charles Kerr f4a5315ec4 #1156: make the RPC callbacks a little more flexible to make thread issues easier on the mac client 2008-08-14 02:12:29 +00:00
Charles Kerr 0048047647 (libT) tr_bitfieldRemRange speedup. (muks) 2008-08-13 19:25:08 +00:00
Charles Kerr 540c68ee01 update the regression tests to hammer tr_bitfieldRemRange() a little harder 2008-08-13 18:55:27 +00:00
Charles Kerr dd51caee94 #1186: crash by maliciously-crafted .torrent files w/piece length of zero 2008-08-13 14:19:25 +00:00
Charles Kerr 939eed339a (libT) recognize BitSpirit peer-ids. 2008-08-12 17:33:36 +00:00
Charles Kerr fb6db8d5ef readability tweak: remove thread names. (muks) 2008-08-12 14:03:03 +00:00
Charles Kerr c75c512ff1 readability improvments #1, #2, #3, #4. (muks) 2008-08-12 13:51:11 +00:00
Charles Kerr 51aff87443 lots of C correctness tweaks suggested by sparse/cgcc 2008-08-11 19:05:02 +00:00
Charles Kerr 647dc88f21 (libT) safer environmental variable handling (muks) 2008-08-11 18:33:59 +00:00
Charles Kerr 05e80bea43 (libT) #1179: when creating a torrent, don't add an announce-list if there's only one tracker 2008-08-11 17:29:53 +00:00
Charles Kerr 17cde72891 (libT) #1176: memory leaks in libtransmission 2008-08-11 17:00:23 +00:00
Charles Kerr aac6a6fdbf (libT) #1178: Add missing va_end()s 2008-08-11 04:40:29 +00:00
Charles Kerr 2e6443a53d #1168: reading past the end of KTorrent's pex added.f strings 2008-08-10 14:58:11 +00:00
Charles Kerr 822238ca33 that's the trouble with quick fixes. 2008-08-09 23:44:31 +00:00
Charles Kerr 58fb922ac1 silence the logspam described in http://forum.transmissionbt.com/viewtopic.php?f=4&t=5588& 2008-08-09 16:17:59 +00:00
Charles Kerr 6937164c93 back out the changes from r6415. 2008-08-08 22:44:32 +00:00
Charles Kerr efadcd8926 #1155: when creating new torrents > 2 GiB, piece size should be 2 MiB 2008-08-07 19:25:19 +00:00
Charles Kerr eec87200e1 possible fix for #1149 2008-08-07 05:55:40 +00:00
Charles Kerr 98e1b995e0 possible fix for #1134: revert libtransmission/web.c back to r6354 2008-08-06 23:33:29 +00:00
Charles Kerr c6026a3b66 #1143: crash in 1.30 when adding torrents: div by zero#1143: crash in 1.30 when adding torrents: div by zero#1143: crash in 1.30 when adding torrents: div by zero#1143: crash in 1.30 when adding torrents: div by zero#1143: crash in 1.30 when adding torrents: div by zero#1143: crash in 1.30 when adding torrents: div by zero#1143: crash in 1.30 when adding torrents: div by zero#1143: crash in 1.30 when adding torrents: div by zero#1143: crash in 1.30 when adding torrents: div by zero#1143: crash in 1.30 when adding torrents: div by zero#1143: crash in 1.30 when adding torrents: div by zero#1143: crash in 1.30 when adding torrents: div by zero#1143: crash in 1.30 when adding torrents: div by zero#1143: crash in 1.30 when adding torrents: div by zero#1143: crash in 1.30 when adding torrents: div by zero#1143: crash in 1.30 when adding torrents: div by zero#1143: crash in 1.30 when adding torrents: div by zero#1143: crash in 1.30 when adding torrents: div by zero#1143: crash in 1.30 when adding torrents: div by zero#1143: crash in 1.30 when adding torrents: div by zero#1143: crash in 1.30 when adding torrents: div by zero#1143: crash in 1.30 when adding torrents: div by zero#1143: crash in 1.30 when adding torrents: div by zero#1143: crash in 1.30 when adding torrents: div by zero#1143: crash in 1.30 when adding torrents: div by zero#1143: crash in 1.30 when adding torrents: div by zero#1143: crash in 1.30 when adding torrents: div by zero#1143: crash in 1.30 when adding torrents: div by zero#1143: crash in 1.30 when adding torrents: div by zero#1143: crash in 1.30 when adding torrents: div by zero#1143: crash in 1.30 when adding torrents: div by zero#1143: crash in 1.30 when adding torrents: div by zero#1143: crash in 1.30 when adding torrents: div by zero#1143: crash in 1.30 when adding torrents: div by zero#1143: crash in 1.30 when adding torrents: div by zero#1143: crash in 1.30 when adding torrents: div by zero#1143: crash in 1.30 when adding torrents: div by zero#1143: crash in 1.30 when adding torrents: div by zero#1143: crash in 1.30 when adding torrents: div by zero#1143: crash in 1.30 when adding torrents: div by zero#1143: crash in 1.30 when adding torrents: div by zero#1143: crash in 1.30 when adding torrents: div by zero#1143: crash in 1.30 when adding torrents: div by zero#1143: crash in 1.30 when adding torrents: div by zero#1143: crash in 1.30 when adding torrents: div by zero#1143: crash in 1.30 when adding torrents: div by zero#1143: crash in 1.30 when adding torrents: div by zero#1143: crash in 1.30 when adding torrents: div by zero#1143: crash in 1.30 when adding torrents: div by zero#1143: crash in 1.30 when adding torrents: div by zero#1143: crash in 1.30 when adding torrents: div by zero#1143: crash in 1.30 when adding torrents: div by zero#1143: crash in 1.30 when adding torrents: div by zero#1143: crash in 1.30 when adding torrents: div by zero#1143: crash in 1.30 when adding torrents: div by zero#1143: crash in 1.30 when adding torrents: div by zero#1143: crash in 1.30 when adding torrents: div by zero#1143: crash in 1.30 when adding torrents: div by zero#1143: crash in 1.30 when adding torrents: div by zero#1143: crash in 1.30 when adding torrents: div by zero#1143: crash in 1.30 when adding torrents: div by zero#1143: crash in 1.30 when adding torrents: div by zero#1143: crash in 1.30 when adding torrents: div by zero#1143: crash in 1.30 when adding torrents: div by zero#1143: crash in 1.30 when adding torrents: div by zero#1143: crash in 1.30 when adding torrents: div by zero#1143: crash in 1.30 when adding torrents: div by zero#1143: crash in 1.30 when adding torrents: div by zero#1143: crash in 1.30 when adding torrents: div by zero#1143: crash in 1.30 when adding torrents: div by zero#1143: crash in 1.30 when adding torrents: div by zero#1143: crash in 1.30 when adding torrents: div by zero#1143: crash in 1.30 when adding torrents: div by zero#1143: crash in 1.30 when adding torrents: div by zero#1143: crash in 1.30 when adding torrents: div by zero#1143: crash in 1.30 when adding torrents: div by zero#1143: crash in 1.30 when adding torrents: div by zero#1143: crash in 1.30 when adding torrents: div by zero#1143: crash in 1.30 when adding torrents: div by zero#1143: crash in 1.30 when adding torrents: div by zero#1143: crash in 1.30 when adding torrents: div by zero#1143: crash in 1.30 when adding torrents: div by zero#1143: crash in 1.30 when adding torrents: div by zero#1143: crash in 1.30 when adding torrents: div by zero#1143: crash in 1.30 when adding torrents: div by zero#1143: crash in 1.30 when adding torrents: div by zero#1143: crash in 1.30 when adding torrents: div by zero#1143: crash in 1.30 when adding torrents: div by zero#1143: crash in 1.30 when adding torrents: div by zero#1143: crash in 1.30 when adding torrents: div by zero#1143: crash in 1.30 when adding torrents: div by zero#1143: crash in 1.30 when adding torrents: div by zero#1143: crash in 1.30 when adding torrents: div by zero#1143: crash in 1.30 when adding torrents: div by zero#1143: crash in 1.30 when adding torrents: div by zero#1143: crash in 1.30 when adding torrents: div by zero#1143: crash in 1.30 when adding torrents: div by zero#1143: crash in 1.30 when adding torrents: div by zero#1143: crash in 1.30 when adding torrents: div by zero#1143: crash in 1.30 when adding torrents: div by zero#1143: crash in 1.30 when adding torrents: div by zero#1143: crash in 1.30 when adding torrents: div by zero#1143: crash in 1.30 when adding torrents: div by zero#1143: crash in 1.30 when adding torrents: div by zero#1143: crash in 1.30 when adding torrents: div by zero#1143: crash in 1.30 when adding torrents: div by zero#1143: crash in 1.30 when adding torrents: div by zero#1143: crash in 1.30 when adding torrents: div by zero#1143: crash in 1.30 when adding torrents: div by zero#1143: crash in 1.30 when adding torrents: div by zero#1143: crash in 1.30 when adding torrents: div by zero#1143: crash in 1.30 when adding torrents: div by zero#1143: crash in 1.30 when adding torrents: div by zero#1143: crash in 1.30 when adding torrents: div by zero 2008-08-06 11:39:30 +00:00
Charles Kerr b068dc07a6 #1129 alternate fix: / should redirect to, not replace, /transmission/web 2008-08-06 00:24:05 +00:00
Charles Kerr 74dd613895 #1135: crashes when adding torrent, with "assert( ( info->pieceSize % tor->blockSize ) == 0 );" 2008-08-05 20:27:40 +00:00
Charles Kerr 427e714060 1129: You must add "/transmission/web/" to your IP to view web interface 2008-08-05 16:41:09 +00:00
Charles Kerr b860119cd3 minor text cleanup 2008-08-01 16:43:22 +00:00
Charles Kerr 28de948233 #1126: crash on quit 2008-08-01 13:46:03 +00:00
Charles Kerr 61258969c2 dead code removal 2008-08-01 04:05:22 +00:00
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