Charles Kerr
93b3d1ad7e
(trunk) #1881 : promote tr_strratio() to libtransmission, so that its code doesn't have to be repeated in all the clients
2009-03-04 16:16:02 +00:00
Charles Kerr
e8422f8cdd
(trunk libT) always invoke the stop-ratio check when a torrent switches from leeching to seeding.
2009-03-04 15:13:56 +00:00
Charles Kerr
0d1a699cd7
(trunk libT) recognize aria2 as a client
2009-03-04 05:52:33 +00:00
Charles Kerr
74e544ca22
(trunk libT) when a "torrent-set" request is sent to change files' priorities and/or download flags, and some of the file indices are out-of-range, return an error message in the rpc response's "result" string.
2009-03-03 20:06:45 +00:00
Charles Kerr
ebe125e896
(trunk libT) add another seed-ratio check when starting a torrent, as per Mitchell's suggestion
2009-03-02 23:52:25 +00:00
Charles Kerr
e47808c277
(trunk) #1608 : Completed pieces bitfield in rpc
2009-03-02 05:48:32 +00:00
Charles Kerr
6f994f6708
(trunk libT) in tr_torrentCheckSeedRadio(), make sure to check & see if the torrent is running ;)
2009-03-02 03:18:03 +00:00
Mitchell Livingston
3ffbb31774
if the ratio is infinity, stop seeding if a stop ratio is set
2009-03-01 23:49:43 +00:00
Mitchell Livingston
2dabe5ce34
move the percent to the stop ratio into libtransmission
2009-03-01 23:48:04 +00:00
Charles Kerr
6fc252e007
(trunk libT) tweak r7985
2009-03-01 17:38:23 +00:00
Charles Kerr
d2f69877cf
(trunk libT) tweak r7978
2009-03-01 17:37:10 +00:00
Mitchell Livingston
7400adb70d
make the ratio that is checked for stop ratio match the displayed ratio
2009-03-01 14:01:49 +00:00
Charles Kerr
857b3dab10
(trunk libT) #1823 : Ratio limit is only checked when peers are active
2009-03-01 13:56:22 +00:00
Mitchell Livingston
fb02e9d437
#1710 the daemon will use the Application Support folder on Mac
2009-02-28 21:45:16 +00:00
Charles Kerr
288f38e1fb
(trunk libT) #1832 : Transmission should notify when JSON parser fails
2009-02-27 00:57:42 +00:00
Charles Kerr
c07180fa49
(trunk libT) #1829 : age out the refill list every 10 seconds, not every 1 second
2009-02-25 22:15:04 +00:00
Charles Kerr
91940d1c07
(trunk libT) #1829 : high CPU use in refillPiece()
2009-02-25 13:04:51 +00:00
Charles Kerr
52777f376f
(trunk libT) make TR_DEFAULT_PEER_SOCKET_TOS_STR default to "0" based on a suggestion from sylware in #transmission
2009-02-20 17:34:35 +00:00
Charles Kerr
fcfe4e3638
(trunk libT) some minor tr_bool correctness
2009-02-19 21:55:00 +00:00
Charles Kerr
06080f35b3
(trunk libT) fix oops
2009-02-18 22:37:27 +00:00
Charles Kerr
3ce4f44a6e
(trunk libT) more #1829
2009-02-18 22:25:13 +00:00
Charles Kerr
f9e400a22d
(trunk libT) a little more work on #1829
2009-02-18 21:27:44 +00:00
Charles Kerr
b322fb2e54
(trunk libT) experimental fix for #1829 : High CPU use in refillPulse()
2009-02-18 17:19:36 +00:00
Charles Kerr
b5a6f8a013
(trunk libT) #1845 : if settings.json is empty, T crashes with "Assertion: tr_bencIsDict( source ) failed"
2009-02-18 16:47:27 +00:00
Charles Kerr
491a6ac63d
(trunk libT) #1844 : Prefer curl_multi_socket_action() to curl_multi_perform() in modern versions of libcurl
2009-02-18 16:16:24 +00:00
Charles Kerr
fce040eb84
(trunk libT) #1828 : timestamp for log/debug output
2009-02-18 05:09:28 +00:00
Mitchell Livingston
3d1cf6ba0d
assorted trivial cleanup
2009-02-17 04:00:53 +00:00
Mitchell Livingston
b9ff19ba38
a newly-added torrent should always follow the global ratio setting
2009-02-17 01:42:10 +00:00
Mitchell Livingston
39b0108366
have the mac ui use libT's ratio settings (attempt 1); when seed ratio is reached in libT, set the seed ratio setting to "seed forever"
2009-02-14 21:15:57 +00:00
Mitchell Livingston
fa3b9a12c5
eta will now indicate time remaining to reach seed ratio when seeding
2009-02-14 05:15:23 +00:00
Charles Kerr
3f9a1d090b
(trunk) #1787 : add support for seeding ratio limiting in libtransmission
2009-02-13 18:23:56 +00:00
Charles Kerr
14a400b7f6
(trunk libT) #1810 : DoS vulnerability wrt incoming connections
2009-02-12 20:43:07 +00:00
Charles Kerr
509465a85b
(trunk libT) partial revert of r7825: back out the refillPulse() changes
2009-02-11 16:34:35 +00:00
Charles Kerr
c443159681
(trunk libT) #1384 : make tr_cryptoRandInt() simpler to read
2009-02-10 21:43:08 +00:00
Charles Kerr
236f8ad2ff
(trunk libT) yet another possible fix for the libcurl/libevent/kqueue issue
2009-02-10 18:03:55 +00:00
Charles Kerr
9727985836
(trunk libT) #1776 : crash in tr_cryptoComputeSecret()
2009-02-10 15:54:47 +00:00
Charles Kerr
65bba3fdfb
(trunk libT) #1671 : transmission-remote --get option not including all files
2009-02-09 17:25:48 +00:00
Charles Kerr
c08f370e8a
(trunk libT) #1798 : TM crashes when receiving malformed JSON packet
2009-02-09 16:01:10 +00:00
Erick Turnquist
72297dbdb4
(trunk libT) suppress ipv6 EHOSTUNREACH as well as ENETUNREACH
2009-02-08 22:52:47 +00:00
Erick Turnquist
fc767a3f03
(trunk libT) don't attempt to connect to (half-complete) ipv6 link-local addresses
2009-02-08 22:45:30 +00:00
Mitchell Livingston
af7cbb94ad
undo part of last commit....for now
2009-02-07 14:49:01 +00:00
Mitchell Livingston
3cc8440e78
trivial cleanup
2009-02-07 14:46:43 +00:00
Erick Turnquist
61e505b8d1
(trunk libT) don't attempt to set V6ONLY on ipv4 sockets
2009-02-07 01:14:41 +00:00
Erick Turnquist
94b98030cb
(trunk libT) stop using ipv4-mapped listener sockets. this should have the added effect of fixing #1789
2009-02-07 00:34:10 +00:00
Erick Turnquist
f3a2a35952
(trunk libT) only resolve ipv4 tracker addresses for now
2009-02-07 00:20:47 +00:00
Charles Kerr
ae985a5abb
(trunk libT) update to the newest versions of miniupnp and libnatpmp
2009-02-07 00:11:58 +00:00
Charles Kerr
3821413390
(trunk libT) add in a crasher bug for Rolcol to find
2009-02-06 23:35:47 +00:00
Charles Kerr
e04fe5daaf
(trunk libT) #1791 : debug message cleanup in tracker.c
2009-02-06 21:17:23 +00:00
Charles Kerr
eb538aa492
(trunk libT) #1748 keep looking for a workaround
2009-02-06 21:14:05 +00:00
Charles Kerr
8572d81e00
(trunk libT) experimental fix for #1748 : crash in event_queue_insert in thread1
2009-02-05 22:00:21 +00:00
Charles Kerr
46ff5598a7
(trunk libT) more hoops for Biiaru
2009-02-05 20:53:59 +00:00
Charles Kerr
e7c2fe4b46
(trunk libT) #1760 : test fix for a deadlock that occurs stopping a file that's being verified
2009-02-05 19:57:50 +00:00
Charles Kerr
f04505c0f2
(trunk libT) add notation explaining the status between resume.c and fastresume.c
2009-02-05 16:02:38 +00:00
Charles Kerr
ee58379377
(trunk libT) #1748 : judging from Biiaru's testing yesterday after I left, the problem is somewhere in web.c. Let's start by adding some cruel assertions in there.
2009-02-05 14:52:00 +00:00
Charles Kerr
bbddcf2774
(trunk libT) maybe fix the crasher (on the mac) that I introduced this morning. or maybe not. hard to know w/o being on a mac.
2009-02-04 18:54:29 +00:00
Charles Kerr
93642c5c4d
(trunk libT) Biaaru: repeat the TR_DEBUG_FD test on this please :)
2009-02-04 18:19:37 +00:00
Charles Kerr
4e8dcad90b
(trunk libT) hack on the r7824 crasher reported by Biiaru and m1b. This probably won't fix it but it should crash in a more informative way :)
2009-02-04 17:38:40 +00:00
Charles Kerr
08289b9d13
(trunk libT) #1748 : possible fix for the kqueue corruption errors by consolidating the three per-torrent libevent timers into three session-wide timers. Since most people reporting this error have lots of torrents loaded, consider a hypothetical example: if you had 500 torrents, this patch will reduce 1,500 libevent timers down to just three timers. On top of that, those three have simpler life cycles too...
2009-02-04 16:58:52 +00:00
Charles Kerr
6c7097d1f4
(trunk libT) more assertions
2009-01-30 00:41:08 +00:00
Charles Kerr
61e18f1d1b
(trunk libT) yet even *more* assertions for Biiaru and persept :)
2009-01-29 16:56:43 +00:00
Charles Kerr
adc6791de3
(trunk libT) add more assertions to ensure that the libevent calls are all being made from the same thread
2009-01-28 19:35:39 +00:00
Charles Kerr
983455abbc
(trunk libT) possible fix for the transfers-not-loaded-on-startup issue introduced in r7806
2009-01-27 02:01:04 +00:00
Charles Kerr
90f8a08794
(trunk libT) another possible fix for the libevent corruption issue -- libevent calls were being invoked from the gui thread at startup via tr_sessionInit()'s call to tr_webInit(). This revision moves those calls into the libtransmission/libevent thread.
2009-01-26 08:23:11 +00:00
Charles Kerr
8c9d5359b5
(trunk libT) add more assertions to make Biiaru crash more^H^H^H^H^H^H^H^H^H^H^H^H^H^H^H^Hhelp track down the cause of Biiaru's crashes
2009-01-26 02:51:50 +00:00
Charles Kerr
1e8c374fd5
(trunk libT) fsync busy files every 15 seconds or so. On linux, use posix_fadvise() to tell the system no to cache torrent blocks
2009-01-26 00:36:34 +00:00
Charles Kerr
9d7c74cc8a
(trunk libT) try again to make hudson-t happy wrt posix_fadvise()
2009-01-25 23:47:07 +00:00
Charles Kerr
3b7494efd2
(trunk libT) possibly make hudson-t happy on Linux
2009-01-25 23:40:08 +00:00
Charles Kerr
00125c9726
(trunk libT) add mac, linux, and win32 support for os-level hints that local data will be read in random order, to disable readahead buffering.
2009-01-25 23:33:10 +00:00
Charles Kerr
29661cf245
(trunk libT) new macro, tr_assert(). use it to help smoke out #1749
2009-01-25 16:14:11 +00:00
Charles Kerr
f47cc0cf4d
(trunk libT) #1794 : possible fix -- better handling of zero-size files
2009-01-25 04:22:11 +00:00
Charles Kerr
6d6a76d48a
(trunk libT) more of the same
2009-01-24 17:37:28 +00:00
Charles Kerr
5812b9f05b
(trunk libT) more debugging messages
2009-01-24 17:20:07 +00:00
Charles Kerr
dd00672517
(trunk libT) more experimental code for Biiaru
2009-01-24 16:21:34 +00:00
Charles Kerr
40f3c725d7
(trunk libT) experimental commit that will *possibly* fix the "assert( tr_isPeerIo( io ) )" crash reported by Biiaru and others
2009-01-24 14:49:35 +00:00
Charles Kerr
7f82b7172c
(trunk libT) don't limit peer bandwidth during the handshake phase. this solves a bug that made it difficult to connect to peers when the upload bandwidth is saturated.
2009-01-24 03:17:59 +00:00
Charles Kerr
ce9eff1fb2
(trunk libT) #1743 : potential threading issue in tr_list. only affects 1.50b[1-3]
2009-01-24 02:33:25 +00:00
Charles Kerr
0b5558c3e3
(trunk libT) silence curl_easy_setopt -Wunreachable-code warnings
2009-01-24 00:25:11 +00:00
Charles Kerr
13c22f88ff
(trunk libT) fix some code that the newly-added gcc warnings didn't like
2009-01-23 18:44:15 +00:00
Charles Kerr
6f95a057d0
(trunk libT) when deleting a torrent's local data -- folders and files -- use remove() instead of unlink() because the former handles both folders and files gracefully
2009-01-22 21:43:46 +00:00
Charles Kerr
b6c73370e3
(trunk libT) #1734 : encrypted peers' outgoing RC4 stream can be corrupted by sending protocol messages out-of-order
2009-01-22 14:32:29 +00:00
Charles Kerr
46aa5c6fc0
(trunk libT) well, maybe it's not a problem with sending the pex messages, but with parsing it...
2009-01-22 04:20:30 +00:00
Charles Kerr
ba5d3f068d
(trunk libT) add a couple of simple debugging messages
2009-01-21 04:02:39 +00:00
Charles Kerr
06887c9e9e
(trunk libT) better implementation of r7761 to take into account feedback from repattila in the forums
2009-01-20 15:47:25 +00:00
Charles Kerr
4cbbefd656
(trunk libT) bah, fix r7761 oops
2009-01-20 05:45:03 +00:00
Charles Kerr
69404a8c36
(trunk libT) when pruning out slow peers, don't prune if we don't have good candidates to replace them.
2009-01-20 03:32:54 +00:00
Charles Kerr
1375c707ed
(trunk libT) fix uninitialized variable in bandwidth code
2009-01-20 02:43:21 +00:00
Charles Kerr
dfd5c70916
(trunk libT) fix crash-on-add-torrent-from-clutch reported by anf6
2009-01-20 02:03:09 +00:00
Charles Kerr
2131e8f403
(trunk libT) fix two bugs introduced yesterday's add-torrent changes and uncovered/reported by anf6
2009-01-19 21:37:34 +00:00
Charles Kerr
cfe1358626
(trunk libT) #1715 : More stats information in rpc session-stats command
2009-01-19 21:17:29 +00:00
Charles Kerr
daaa450f8e
(trunk libT) put ful's theory to the test wrt function pointers
2009-01-19 18:11:47 +00:00
Charles Kerr
1d08afa717
(trunk libT) s/function_done/tr_idle_function_done/
2009-01-19 14:10:39 +00:00
Charles Kerr
4d228289ce
(trunk libT) prefer `int' over `ssize_t'
2009-01-19 14:05:43 +00:00
Charles Kerr
69f59b423a
(trunk libT) possible fix for the `few peers' errors reported on OS X. denis_, merlyn3d, give this a spin...
2009-01-19 13:55:41 +00:00
Charles Kerr
27cb7caf55
(trunk libT) In RPC, add general support for nonblocking methods, and specific support for adding a torrent via its URL and fetching it via curl without blocking.
2009-01-18 15:24:26 +00:00
Charles Kerr
b6588f442b
(trunk libT) have tr_strndup() take an ssize_t instead of an int
2009-01-18 15:15:41 +00:00
Charles Kerr
5ea9bcacbc
(trunk libT) fix a minor memory leak.
2009-01-18 15:15:10 +00:00
Charles Kerr
9c9c94a81d
(trunk libT) discard peers from the tracker or pex that have a port of 0 or a multicast address.
2009-01-17 23:14:35 +00:00
Charles Kerr
4f95edf647
(trunk libT) minor cleanup
2009-01-17 22:49:15 +00:00
Charles Kerr
c1e1fedff9
(trunk libT) check in some of the extra error logging messages developed last night while chasing down the problem denis found
2009-01-17 15:08:20 +00:00
Charles Kerr
f5ace9a71c
(trunk daemon) #1704 : --info and/or --files should show the download directory
2009-01-17 14:58:50 +00:00
Charles Kerr
d95a45b701
(trunk libT) fix IPv6 reported & solved by erdgeist. add debugging message to help track down any future problems.
2009-01-16 23:17:31 +00:00
Charles Kerr
bc2b7fcb03
(trunk libT) minor tweaks to reduce libtransmission shear between trunk and 1.5x
2009-01-16 17:29:42 +00:00
Charles Kerr
c99f941d16
(trunk libT) make file preallocation optional via settings.json. choices are: full, sparse, and none
2009-01-16 16:38:16 +00:00
Erick Turnquist
88a399eb20
(trunk libT) fix r7717
2009-01-16 06:40:23 +00:00
Charles Kerr
4b414e8f2d
(trunk libT) fix tracker IPv6 error reported by the earth spirit
2009-01-16 04:36:36 +00:00
Charles Kerr
a6a29923c7
(trunk) add interface versioning to the RPC spec
2009-01-16 01:03:33 +00:00
Charles Kerr
9c5b6e7d15
(trunk libT) #1698 : RunTime Check failure
2009-01-14 13:30:51 +00:00
Charles Kerr
7a91840639
(trunk libT) Remove tr_peerMgrHasConnections, it isn't used anywhere
2009-01-14 01:37:24 +00:00
Charles Kerr
2c1afe07a4
(trunk libT) fix an r7707 bug in tr_sessionGetActiveTorrentCount()
2009-01-13 21:06:07 +00:00
Charles Kerr
486c55c1ed
(trunk libT) peerMgr: operate directly on tr_torrent and not peerMgr+torrentHash
2009-01-13 21:00:05 +00:00
Charles Kerr
f945058de0
(trunk libT) minor torrent iteration cleanup. (wereHamster, charles)
2009-01-13 16:51:38 +00:00
Charles Kerr
08403324bd
(trunk libT) Remove tr_torrentNext() from the public libT API (wereHamster)
2009-01-13 16:39:19 +00:00
Charles Kerr
db58b89f6e
(trunk libT) Clean up RPC server initialization (wereHamster)
2009-01-13 16:35:06 +00:00
Charles Kerr
8b72408948
(trunk libT) Get rid of peer-mgr-private.h (from wereHamster)
2009-01-13 16:32:43 +00:00
Charles Kerr
30c47d3b6f
(trunk libT) #1655 : rpc-spec 4.2: "session-stats" returns a new object instead of the response arguments
2009-01-13 04:43:38 +00:00
Charles Kerr
a13e0755f0
(trunk libT) close open files immediately after they're done downloading
2009-01-12 21:59:53 +00:00
Charles Kerr
dab899f132
(trunk libT) #1427 : Files are kept open in read/write mode after a torrent finishes
2009-01-12 19:58:16 +00:00
Charles Kerr
bb8451344f
(trunk libT) #1592 : file priorities are not preserved after exiting & starting a new session
2009-01-12 18:02:28 +00:00
Charles Kerr
2f6b56671f
(trunk libT) win32 portability patch from Alexey
2009-01-11 17:02:04 +00:00
Charles Kerr
fe816d8135
(trunk) update the GPL code's copyright dates
2009-01-10 23:09:07 +00:00
Charles Kerr
c2e1f78cf4
(trunk libT) #1634 : better utf8 validation of metainfo "files" field
2009-01-10 22:56:26 +00:00
Charles Kerr
92ee6566db
(trunk libT) #1675 : better utf8 validation of metainfo name, creator, and comment fields
2009-01-10 22:48:58 +00:00
Charles Kerr
d4c5e904b5
(trunk libT) fix minor compiler warning that cropped up when upgrading our ConvertUTF8
2009-01-10 19:29:01 +00:00
Charles Kerr
0321204894
(trunk libT) upgrade our copy of Unicode Inc's freeware ConvertUTF.[ch]
2009-01-10 17:59:49 +00:00
Charles Kerr
c6a454d2e2
(trunk libT) win32 portability fixes, reported by Alexey
2009-01-10 02:22:13 +00:00
Charles Kerr
7683452514
(trunk libT) undo r7645 based on feedback that the experimental code did improve performance.
2009-01-09 19:24:40 +00:00
Charles Kerr
b545dbe28a
(trunk libT) fix downloadDir error reported & tracked down by wereHamster
2009-01-09 18:39:30 +00:00
Charles Kerr
a1b2af981c
(trunk libT) annotate tr_cpBlockBitfieldSet() as suggested by wereHamster.
2009-01-09 17:55:48 +00:00
Charles Kerr
2702fc289a
(trunk libT) finally get around to making upload-slots-per-torrent a settings.json option, thanks to friendly prodding from ful in #transmission
2009-01-09 15:45:44 +00:00
Charles Kerr
f7db63329d
(trunk libT) clear out the experimental code that accumulated while trying to find the fix to the tracker-announces-never-finish bug. This revision is 1.42's version plus bugfixes.
2009-01-08 20:35:10 +00:00
Charles Kerr
e7b9a2eaa2
(trunk libT) fix evbuffer oops
2009-01-08 20:33:33 +00:00
Charles Kerr
55aa6d834f
(trunk libT) make the default number of open files 32 rather than 16, and make it configurable via settings.json. (Reported by Lucius Windschuh via denis_)
2009-01-08 19:20:24 +00:00
Charles Kerr
f3db4c14b7
(trunk libT) The buffer is static anyway, no need to malloc it
2009-01-08 14:05:30 +00:00
Charles Kerr
98420365e9
(trunk libT) remove a small number of redundant or unnecessary asserts
2009-01-08 04:43:00 +00:00
Charles Kerr
6917cac918
(trunk libT) fix odd handshake bug reported by wereHamster
2009-01-07 22:06:40 +00:00
Charles Kerr
30ebbdaacb
(trunk libT) re-enable the completion sanity tests for the benefit of the nightly builds
2009-01-07 17:22:17 +00:00
Charles Kerr
141847b902
(trunk libT) update the copyrights on some files that no longer have old code in them
2009-01-07 06:53:29 +00:00
Charles Kerr
c5ecccdd24
(trunk libT) much faster implementation of tr_cpBlockBitfieldSet()
2009-01-07 02:22:11 +00:00
Charles Kerr
196c3c19c3
(trunk libT) apparently the r7629 tr_cpBlockBitfieldSet() speedup introduced a bug.
2009-01-06 14:43:15 +00:00
Charles Kerr
c0acf3e920
(trunk libT) hm, checked in the wrong version.
2009-01-06 07:48:30 +00:00
Charles Kerr
7581f04242
(trunk libT) faster tr_cpBlockBitfieldSet()
2009-01-06 07:45:15 +00:00
Erick Turnquist
2a6c7dd0fa
(trunk libT) Fix an assertion failure in ptrarrays when values are equal.
...
This bug manifest itself due to a subtle change in tr_compareAddresses(), but
was always there. An assertion would fail if two (obviously adjacent) values
were equal.
2009-01-06 03:22:10 +00:00
Charles Kerr
73d32850ed
(trunk libT) fix refcount error in the new peer-io refcount code
2009-01-06 03:21:22 +00:00
Charles Kerr
3ff145f058
(trunk libT) two bugfixes in one: (1) fix leaking tr_handshake objects reported by BentMyWookie (2) fix yet another permutation of the tr_isBandwidth() assertion failure -- maybe the last one? -- reported by Waldorf
2009-01-06 00:24:44 +00:00
Charles Kerr
30a989f1df
(trunk libT) fix the new-code errors reported by ZogG and Rolcol and Spaham
2009-01-05 18:20:47 +00:00
Charles Kerr
fd26f21400
(trunk libT) fix a minor memory leak reported by Valgrind
2009-01-05 18:18:13 +00:00
Charles Kerr
1b527610dd
(trunk libT) yet another step in the debugging cycle, crash report from ZogG and Rolcol
2009-01-05 07:57:10 +00:00
Charles Kerr
124658791a
(trunk libT) probably fix r7618 reported in #transmission by Rolcol
2009-01-05 06:45:08 +00:00
Charles Kerr
5ccd5a7700
(trunk libT) fix the much-hated "Assertion failed: (tr_isPeerIo( io ))". Also, repeated calls to tr_date() were taking up about 78% of the time in tr_stat(), so instead of calling multiple times, call it once in tr_stat() and pass that value around to the functions that need it.
2009-01-05 04:27:54 +00:00
Charles Kerr
2eb1faa5e8
(trunk libT) minor speedup tweaks in peer-request hotspots
2009-01-04 18:01:15 +00:00