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