Jordan Lee
5d9335201d
(libT) #4632 'custom blocklist generates 2x # of rules': add unit test (currently failing) to test for this issue.
2013-01-21 21:11:00 +00:00
Jordan Lee
2d5fe73969
(libT) copyediting: rename the internal tr_blocklist class 'tr_blocklistFile' to distinguish the private per-file API from the public, global API in libtransmission.h
2013-01-21 17:48:36 +00:00
Jordan Lee
1ece2b3f98
(libT) copyediting: reformat blocklist.c to the new indentation style
2013-01-21 17:39:20 +00:00
Jordan Lee
1f817193ef
(libT) update our jsonsl snapshot
2013-01-21 01:26:59 +00:00
Jordan Lee
cc3d08da3d
(libT) #5234 'typo causing RPC session-get error in nightlies': remove the typo'ed quark to avoid future confusion
2013-01-21 00:11:48 +00:00
Jordan Lee
473c20f612
(libT) #5234 'typo causing RPC session-get error in nightlies': add a fix, which causes r13814's test to pass
2013-01-21 00:03:52 +00:00
Jordan Lee
5ccf3fc7e2
(libT) #5234 'typo causing RPC session-get error in nightlies': add unit test (currently failing) to test for this issue.
2013-01-21 00:00:00 +00:00
Jordan Lee
b42a7ebdc3
(qt) Qt client should have the option to play a sound when the download completes, as the Mac and GTK+ clients do -- implemented.
2013-01-20 23:57:09 +00:00
Jordan Lee
ac28b6df6e
(trunk) move sandboxed session creation/teardown into libtransmission-test.[ch] so that it can be reused as a fixture by future tests
2013-01-20 04:41:38 +00:00
Jordan Lee
dd955b121e
(trunk) #1220 'change top folder names' -- add file-renaming to the Qt client
2013-01-20 01:31:58 +00:00
Jordan Lee
10e4c297d6
(trunk) #1220 'change top folder names' -- tweak the API documentation in transmission.h
2013-01-19 08:50:57 +00:00
Jordan Lee
016f38f066
(trunk) #1220 'change top folder names' -- added support for this in libtransmission's C and RPC APIs.
2013-01-19 08:43:26 +00:00
Jordan Lee
818308376b
(libT) #5102 'don't invalidate the OS' filesystem cache when closing files -- done.
2013-01-18 19:20:22 +00:00
Jordan Lee
7c6868b622
reduce the default peer counts: global goes from 240 to 200, per-torrent goes from 60 down to 50
2013-01-17 20:39:16 +00:00
Jordan Lee
bcc130e804
in getReconnectIntervalSecs(), raise the interval between reconnection attempts if the peer was previously unreachable
2013-01-17 20:08:21 +00:00
Jordan Lee
447b558cdf
(utils) #4137 'support user-defined piece sizes in transmission-create' -- done. Initial patch by lav.
2013-01-17 18:55:51 +00:00
Jordan Lee
4d627b79c2
(libT) tweak getMaxAtomCount()
2013-01-17 01:10:59 +00:00
Jordan Lee
e3eb1afeae
(qt) #5218 -- fix 'set location' regression introduced during the migration to tr_quark. report & patch by rb07.
2013-01-15 21:55:04 +00:00
Jordan Lee
297566dc64
(libT) make ptrarray's assertions consume fewer CPU cycles
2013-01-13 22:09:18 +00:00
Jordan Lee
03da3e0a60
(libT) #5220 'add etaIdle to torrent-get in RPC' -- done.
2013-01-13 20:39:56 +00:00
Jordan Lee
cb448dad6a
minor code simplification in torrent.c's deleteLocalData() function.
2013-01-09 01:11:36 +00:00
Jordan Lee
569b895cef
increase the per-peer prefetch count from 12 to 18. Add a symbolic constant for it.
2013-01-09 00:33:00 +00:00
Jordan Lee
1e9f6d44f9
copyediting: update torrent-magnet.c to the new indentation style
2013-01-07 18:16:34 +00:00
Jordan Lee
a9657d56ec
replace tr_torrent's 'float etaSpeed_KBps' field with an 'unsigned int etaSpeed_Bps' field
2013-01-06 20:15:11 +00:00
Jordan Lee
9a70ffb4ee
(libT) #4633 fix win32 regression introduced in r13752.
2013-01-04 19:47:01 +00:00
Jordan Lee
6bf2104141
(libT) #3833 : 0001-In-OS-X-disk-quota-s-info-already-in-bytes.patch -- patch by taem
2013-01-04 02:13:10 +00:00
Jordan Lee
cd0628fc8f
(libT) #4633 'if executing the torrent-done script fails, log an error' -- done.
2013-01-04 01:48:35 +00:00
Jordan Lee
84c5be5a77
(trunk, qt) #5060 'start minimized to tray option' -- added.
2012-12-30 22:51:55 +00:00
Jordan Lee
3c9640bb8f
make tr_info.webseedCount and tr_info.trackerCount unsigned.
2012-12-30 22:06:45 +00:00
Jordan Lee
385d050d75
(trunk, libT) #3833 'freespace rpc' 0001-Headers-clean-up.patch
2012-12-29 12:10:05 +00:00
Jordan Lee
0b0613ced8
(trunk, libT) #3833 'freespace rpc' 0001-Fix-FTBFS-for-OS-X-and-uClibc.patch
2012-12-29 12:08:46 +00:00
Jordan Lee
23200b5bde
(trunk, libT) #3833 'freespace argument for session-get' -- 0001-Port-quota-handling-to-BSD-and-Mac-OS-X.patch from taem
2012-12-29 01:47:44 +00:00
Jordan Lee
765ed4a0d2
(trunk, libT) #5201 'tr_variantDict can be much faster' -- don't test to see if each dictionary value that's a string is a quark... it almost never is, so the lookup isn't worth it.
2012-12-28 23:46:34 +00:00
Jordan Lee
8f918f1b79
(trunk, libT) #5199 'tr_sessionGetNextQueuedTorrent() can be faster' -- fix variablename typo introduced in r13709, reported by JJTagy
2012-12-28 23:44:59 +00:00
Jordan Lee
14dca05e21
(trunk, libT) #5199 'tr_sessionGetNextQueuedTorrent() can be faster' -- fix r13709 oops
2012-12-28 21:51:10 +00:00
Jordan Lee
aa906ced75
(trunk, libT) #5199 'tr_sessionGetNextQueuedTorrent() can be faster' -- modify session.c's tr_sessionGetNextQueuedTorrents() and peer-mgr.c's getPeerCandidates() functions use the new tr_quickfindFirstK() utility"
2012-12-28 20:10:03 +00:00
Jordan Lee
25b8b60245
(trunk, libT) #5199 'tr_sessionGetNextQueuedTorrent() can be faster' -- copy peer-mgr.c's partial-sorting peer candidate code to a reusable function in utils.c, tr_quickfindFirstK()"
2012-12-28 20:07:50 +00:00
Jordan Lee
7ff9e2d2ba
copyediting: correct a couple of code comments.
2012-12-28 08:35:14 +00:00
Mitchell Livingston
e6a730ba50
fixed implementation of r13701
2012-12-28 05:53:20 +00:00
Jordan Lee
29599b6926
oops, this should have been in the last commit. :/
2012-12-28 05:38:27 +00:00
Jordan Lee
9e86a38345
#3833 'freespace' -- fix memset error.
2012-12-28 05:28:37 +00:00
Jordan Lee
8f9c502dfd
(trunk, libT) copyediting: apply the new indentation style to handshake.c. I hate making changes to this file; even changing the whitespace probably breaks all the peer connections.
2012-12-27 22:03:58 +00:00
Jordan Lee
53ce198ee1
(trunk, libT) #3833 'freespace' argument for 'session-get' RPC method -- include stdint.h as possible fix for Mac build
2012-12-27 20:30:24 +00:00
Jordan Lee
5f1f4934eb
(trunk, libT) #3833 'freespace' argument for 'session-get' RPC method -- use TR_PATH_MAX instead of PATH_MAX for session.downloadDirFsType and session.downloadDirBlkDev
2012-12-27 20:22:32 +00:00
Jordan Lee
0c1db5f67b
(trunk, libT) #3833 'freespace' argument for 'session-get' RPC method -- copyediting for previous three patches: tab damage, indentation, spaces, etc
2012-12-27 20:19:41 +00:00
Jordan Lee
4cbe6a64e1
(trunk, libT) #3833 'freespace' argument for 'session-get' RPC method -- apply taem's 0003-Cache-download-dir-s-block-device-and-FS-type.patch to cache the download dir's block device and FS type
2012-12-27 19:45:01 +00:00
Jordan Lee
843d79d284
(trunk, libT) #3833 'freespace' argument for 'session-get' RPC method -- apply taem's 0002-Add-XFS-quota-support.patch to add XFS quota support
2012-12-27 19:41:34 +00:00
Jordan Lee
5024dbfd22
(trunk, libT) #3833 'freespace' argument for 'session-get' RPC method -- apply taem's 0001-Check-for-available-quota-when-getting-free-disk-spa.patch to check for available quota when getting free disk space
2012-12-27 19:39:44 +00:00
Jordan Lee
ac17884741
(trunk, libT) #5184 'Transmission 2.73 keeps creating a directory called /home/charles' -- fixed.
2012-12-26 23:44:33 +00:00
Jordan Lee
7081027041
#5191 'using a webseed doesn't update the remaining time' -- fixed with patch by cfpp2p.
2012-12-26 23:34:32 +00:00
Jordan Lee
94b5e88d36
(trunk, libT) more tr_variant revision: faster serialization, dictionaries use less space
2012-12-24 22:38:41 +00:00
Mitchell Livingston
3976366306
change the #include of quark.h in variant.h
2012-12-23 03:18:39 +00:00
Jordan Lee
c1559f3cc4
(trunk, libT) first drop of the tr_quark patch.
2012-12-22 20:35:19 +00:00
Jordan Lee
11b4431e09
(trunk, libT) #5176 'Deselecting all remaining files not working correctly' -- fix trunk regression.
2012-12-19 07:59:49 +00:00
Jordan Lee
106dfe2985
copyediting: indentation/whitespace
2012-12-18 03:03:23 +00:00
Jordan Lee
587567aa1a
(trunk libT) when seraializing to JSON, set the LC_NUMERIC locale once for the entire serialization pass, instead of N times
2012-12-17 02:43:17 +00:00
Jordan Lee
d4db7198fe
copyediting: whitespace & indentation
2012-12-15 16:31:22 +00:00
Jordan Lee
1cd9d0f9b7
copyediting: indentation & whitespace
2012-12-15 04:28:19 +00:00
Jordan Lee
89b3c5fc0a
when a peer sends us a block and we count it in tr_cpBlockAdd(), don't invalidate cp.sizeWhenDone unless sizeWhenDone wasn't already including that new block.
2012-12-15 03:47:11 +00:00
Jordan Lee
df5b6365bd
(trunk, libT) faster JSON parsing for tr_variant. This mostly helps the Qt client, which makes heavy use of the JSON-based RPC calls.
2012-12-15 00:01:59 +00:00
Jordan Lee
aea6d7cd6f
(trunk, libT) #5168 'make libtransmission's public funcs nonblocking when possible' -- remove tr_torrentRef() and tr_torrentUnref() as discussed in https://trac.transmissionbt.com/ticket/5168#comment:8
2012-12-14 20:04:37 +00:00
Jordan Lee
c5ff0c0308
copyediting: indentation, whitespace
2012-12-14 16:04:44 +00:00
Jordan Lee
a11d5a66ff
svn add variant.c
2012-12-14 04:36:33 +00:00
Jordan Lee
e96ed247fe
refactor libtransmission's tr_benc class as tr_variant.
2012-12-14 04:34:42 +00:00
Jordan Lee
e1c338b6c3
(trunk, libT) #5169 fix FTBFS in torrentStart()
2012-12-13 05:22:30 +00:00
Jordan Lee
104d4aa772
don't inline functions that can't be inlined.
2012-12-13 02:00:45 +00:00
Jordan Lee
d74c7e93c8
copyediting: indentation cleanup
2012-12-13 01:47:40 +00:00
Jordan Lee
e2f1d6744e
fix another pair of #5168 oopses (oopsii?)
2012-12-12 21:19:25 +00:00
Jordan Lee
399c3233b7
remove a couple of unnecessary torrentIsLocked() assertions for #5168
2012-12-12 20:57:13 +00:00
Jordan Lee
079c78981c
(trunk) #5168 'make libtransmission's public funcs nonblocking when possible' -- first attempt.
2012-12-12 20:22:57 +00:00
Jordan Lee
84f2cf8fa2
in bencode.c's makeroom(), make the containers' sizes scale in powers of 2 to avoid excess reallocs.
2012-12-11 05:23:48 +00:00
Jordan Lee
bbc009bb0f
in libtransmission's unit tests, add a convenience check macro for comparing pointer equality
2012-12-10 01:24:50 +00:00
Jordan Lee
46b3b79e63
in metainfo.c, don't include sys/stat.h anymore, it's unneeded after r13633
2012-12-09 22:05:31 +00:00
Jordan Lee
5766f6fb4d
in bencode.c's makeroom(), clarify the entry assertions
2012-12-09 21:45:30 +00:00
Jordan Lee
dd643537ae
in bencode.c's tr_bencMergeDicts(), call tr_bencDictReserve() so the target dict only has to alloc once to hold all of the source dict's entries.
2012-12-09 21:36:51 +00:00
Jordan Lee
9ddd7e0166
preallocate a couple of dictionaries to the right size before using them.
2012-12-09 21:28:20 +00:00
Jordan Lee
0846d3f2ab
in bitfield.c, speed up countArray() by about 15%
2012-12-09 19:08:06 +00:00
Jordan Lee
3d5b43b5b4
in bitfield.c's countRange() function, make walk_end an invariant
2012-12-09 18:24:57 +00:00
Jordan Lee
8a2061f2cf
move bitfield tests to their own file
2012-12-09 05:32:52 +00:00
Jordan Lee
4f6dcc6d31
in tr_metainfoRemoveSaved(), don't look for .torrent files under our old naming scheme... we haven't used it since 2008
2012-12-09 01:32:25 +00:00
Jordan Lee
410fa7e054
remove unused function tr_metainfoMigrate()
2012-12-09 01:27:01 +00:00
Jordan Lee
a2d2a10226
(trunk, libT) #5165 : fix r13625 oops
2012-12-07 01:53:31 +00:00
Jordan Lee
cff58b1904
(trunk, libT) #5163 'typo in tr_peerIoSupportsUTP()' -- fixed.
2012-12-06 15:04:52 +00:00
Jordan Lee
519feefcb4
(trunk, libT) #5157 -- fix r13628 oops
2012-12-06 00:50:40 +00:00
Jordan Lee
61c1f7efec
(trunk, libT) #5157 'check valid address before UTP_Create()' -- added.
2012-12-05 23:48:00 +00:00
Jordan Lee
ccb4a16ab8
(trunk, libT) #5146 'seeding complete callback called twice' -- fixed with patch from x190.
2012-12-05 22:56:45 +00:00
Jordan Lee
3d38723ad9
Follow more common whitespace style conventions in the C code (libtransmission, daemon, utils, cli, gtk).
2012-12-05 17:29:46 +00:00
Jordan Lee
7af02f7cdf
(trunk, libT) #5150 'improper escaping of dirnames with new json' -- add one-liner fix. this also fixes the regression test added in the previous commit.
2012-11-27 23:24:37 +00:00
Jordan Lee
dffc6343ae
(trunk, libT) #5150 'improper escaping of dirnames with new json' -- added new regression test, currently failing, to trigger this bug
2012-11-27 23:21:13 +00:00
Mitchell Livingston
b1309bc927
#5144 add BitZilla to clients list
2012-11-24 01:14:51 +00:00
Mitchell Livingston
6bebaee639
#5134 Magnet links not adding all trackers with tr.0=
2012-11-14 02:22:55 +00:00
Jordan Lee
d010e33c32
(trunk, libT) #4886 'IPv6-only DHT.dat not being written' -- fixed. bug found & patched by jch.
2012-11-11 14:42:14 +00:00
Mitchell Livingston
3836821a95
fix a parameter type mismatch in jsonsl
2012-11-11 07:11:13 +00:00
Jordan Lee
9effd65f3e
(trunk libT) #5131 : replace JSON_parser with jsonsl to resolve licensing issue.
2012-11-11 04:26:56 +00:00
Jordan Lee
d2ef01bc1a
add more unit tests for the json-benc glue code
2012-11-11 04:20:15 +00:00
Mitchell Livingston
8cb08e2766
fix typo in r13604
2012-10-31 21:27:07 +00:00
Mitchell Livingston
d73ca434c0
#5113 Add pbTorrent to client list
2012-10-31 21:25:23 +00:00
Mitchell Livingston
413f3dc532
#5111 Add Zona to client list
2012-10-31 21:22:23 +00:00
Mitchell Livingston
ff83b4ee56
#5104 Unknown client -MG21r0-
2012-10-25 03:22:41 +00:00
Jordan Lee
a981f4b6a6
(trunk, libT) #5097 'Rare buffer overflow (piece index too big)' -- fixed.
2012-10-20 15:57:56 +00:00
Jordan Lee
e5304a8aaa
make tr_mkdir() private.
2012-10-16 03:13:05 +00:00
Jordan Lee
bb49ab9a01
in torrent-magnet.c and utils.h, use tr_torrentName() instead of tor->info.name
2012-10-16 02:48:26 +00:00
Jordan Lee
8fb80f5132
(trunk, libT) #4638 "Transmission sends an initial 'stopped' event when adding a torrent via RPC" -- fixed.
2012-10-15 03:11:16 +00:00
Jordan Lee
1dafe0beef
more unit test cleanup
2012-10-14 23:38:52 +00:00
Jordan Lee
17beba3502
retrofit some of the tests to use the more expressive test API
2012-10-14 18:56:37 +00:00
Jordan Lee
031e313aa2
(trunk, libT) #5081 'Transmission discards webseed URLs that have trailing whitespace' -- fixed. Unit test passes and valgrind says 'All heap blocks were freed -- no leaks are possible'
2012-10-14 18:10:17 +00:00
Jordan Lee
0630583637
(trunk, libT) #5081 'Transmission discards webseed URLs that have trailing whitespace' -- add unit test (currently failing) for this bug.
2012-10-14 18:02:47 +00:00
Jordan Lee
e89fcc9bf6
previous commit uncovered an unused shadow variable in test-peer-id.c
2012-10-14 18:00:29 +00:00
Jordan Lee
a683ad49a8
steal some ideas about unit test error logging from Google Test
2012-10-14 17:59:24 +00:00
Jordan Lee
e1e254d8c2
fix NULL-pointer-dereference regression introduced in r13546 for #5069 .
2012-10-13 17:32:23 +00:00
Jordan Lee
718da0688f
(trunk libT) fix webseed-in-magnet-link regression introduced in r13547 (2.71+). This issue was tracked down by by x190 in ticket #5081
2012-10-13 15:36:49 +00:00
Jordan Lee
ebd4b5e386
(trunk, libT) #5063 'remaining time unknown with magnets that have webseeds' -- fixed.
2012-10-05 22:04:08 +00:00
Jordan Lee
1aa4286fbc
(trunk, libT) #5069 'webseed magnet support is broken' reported & patch by cfpp2p
2012-10-05 16:44:36 +00:00
Jordan Lee
cc51b1586c
(trunk libT) #5075 'magnet.c:163 should use MAX_WEBSEEDS, not MAX_TRACKERS' ... fixed. Thanks to cfpp2p for catching this.
2012-10-05 16:10:12 +00:00
Jordan Lee
b437b28228
(trunk, libT) #5049 : fix bug that caused some incoming encrypted peer connections to fail
2012-09-25 02:07:03 +00:00
Jordan Lee
624c8ff1cc
(trunk, libt) #4932 'crash on magnet links' -- fixed.
2012-09-19 05:11:19 +00:00
Mitchell Livingston
8e5a62ed40
add a missing @ to a comment
2012-09-18 03:46:01 +00:00
Mitchell Livingston
40e75b20ed
return a value (and rename) testTurtleTime instead of passing in a flag to set
2012-09-18 03:44:59 +00:00
Mitchell Livingston
ddabdcb1c7
remove a comment referring to a non-existant param
2012-09-18 01:13:31 +00:00
Mitchell Livingston
e46309a0fa
#4201 Automatic limit can't be stopped
2012-09-18 00:58:10 +00:00
Jordan Lee
357b160cde
remove trailing spaces
2012-09-07 04:25:04 +00:00
Mitchell Livingston
723d681b63
Whoops! Revert new changes committed in r13469
2012-09-06 03:23:50 +00:00
Mitchell Livingston
9e7e64fe04
Revert r13468 for now.
2012-09-06 03:21:03 +00:00
Mitchell Livingston
3961a7e4f4
#4321 uTP implementation is very slow.
2012-09-05 11:39:57 +00:00
Jordan Lee
74c56f27b0
(trunk, libtransmission) #4934 "Create a test harness and use it for current tests" -- patch by gvdl
2012-08-18 16:07:05 +00:00
Jordan Lee
4963b65c1f
(trunk utils) #4979 "add manget link generator to transmission-show" -- done.
2012-07-23 15:28:27 +00:00
Jordan Lee
9b98c0fc2e
(trunk libT) #4969 "jsonrpc response to torrent-get emits malformed json" -- fixed.
2012-07-14 19:34:38 +00:00
Jordan Lee
5c34257ee0
(trunk libT) #4943 "tr_sessionClearStats() does not set the stats' dirty flag to true s.t. stats.json gets saved"
2012-07-01 04:00:27 +00:00
Jordan Lee
f55ab8dddb
(trunk libT) move torrent.c's private function fileExists() to the utility function tr_fileExists() so that it can also be used by stats.c
2012-07-01 03:05:36 +00:00
Jordan Lee
3398a48e57
(trunk libT) #4402 "Transmission Bandwidth allocation getting overflows" -- use gvdl's patch '4402-uint-bpsoverflow.patch'
2012-07-01 02:17:35 +00:00
Jordan Lee
99b615b3b8
(trunk libT) #4931 "Wrong peer percentages for magnetized transfers" -- fixed.
...
tr_peerUpdateProgress() is guessing at the progress size, but when we don't have the data size yet that guess isn't very good. Add boundary
clamps on the peer.progress field.
2012-07-01 02:00:02 +00:00
Jordan Lee
df80c1ce03
Fix the size for the peers and peersFrom dictionaries.
...
By setting the initial allocation size correctly, we can avoid unnecessary resizing when adding all the dictionary's fields.
2012-07-01 01:42:58 +00:00
Jordan Lee
d717248e75
(trunk libT) fix the Linux build wrt compiling with the new snapshot of libutp checked into r13317
...
Previously we made sure to include stdbool.h (via transmission.h) before utp.h, since the latter used 'bool' without defining it. The new snapshot defines it unconditionally in non-C++ code, so now we need to include it first.
2012-05-30 17:47:29 +00:00
Jordan Lee
f226d8a03f
(trunk libT) #4914 if a tracker has no scrape URL but the announce response contains any scrape fields, that's as close to a scrape as we're going to get, so use those fields.
2012-05-22 20:21:00 +00:00
Jordan Lee
1e07439cd0
(trunk libT) #4908 "Handle UDP scrapes when they don't follow the /announce idiom" -- fixed.
2012-05-20 14:47:18 +00:00
Jordan Lee
e9e76fa970
(trunk libT) #4888 : when scraping magnet links, don't send a left=0 argument to the tracker.
2012-05-20 14:14:59 +00:00
Jordan Lee
512cc1af73
silence an unused-variable compiler warning introduced in the previous commit
2012-05-17 22:22:30 +00:00
Jordan Lee
6948852013
(trunk libT) #4894 -- don't use evbuffer_add_printf() and evbuffer_pullup() together.
2012-05-17 17:40:31 +00:00
Jordan Lee
00919e932d
silence a compiler warning of implicitly casting the 3rd arg of initnatpmp() from a void* to an int
2012-04-07 00:12:57 +00:00
Mitchell Livingston
bbf274109a
#4825 update libnatpmp to libnatpmp-20110808
2012-03-21 02:51:26 +00:00
Jordan Lee
a025510834
(trunk libT) #4810 "add environment variable option to have libcurl verify SSL certs" -- patch by infinity0
2012-03-04 13:21:42 +00:00
Jordan Lee
ecfab318ed
(trunk libT) fix potential NULL pointer dereference in rpc-server.c's crude mime multipart parser
2012-02-15 01:44:21 +00:00
Jordan Lee
43f7dc4c17
(trunk libT) fix minor memory leak of the 'dir' string when deleting local data. (Thanks, valgrind!)
2012-02-04 03:09:31 +00:00
Jordan Lee
6d4858d8dd
(trunk) #4732 "allow switching between internal and system libnatpmp" -- fixed with patch scarabeus and applied by me, so any patch breakage is probably mine... ;)
2012-02-04 01:28:15 +00:00
Jordan Lee
c56b12690c
(trunk libT) #4687 "magnet links behave oddly" -- fixed. Thanks to cfpp2p for some very nice sleuthing on this one.
2012-02-04 00:34:39 +00:00
Jordan Lee
b2d65db45f
(trunk) remove trailing spaces from code lines ;)
2012-02-03 16:44:07 +00:00
Mitchell Livingston
3eb8b12fa8
#4704 req->left = tr_cpLeftUntilComplete( &tor->completion ) should end with a semicolon
2012-01-11 22:31:02 +00:00
Jordan Lee
57d273cd61
(trunk libT) #4700 "compilation fails on FreeBSD because it can't find alloca.h" -- fixed.
2012-01-10 19:18:18 +00:00
Jordan Lee
cac5c360f2
(trunk libT) #4690 "getPeerCandidates() uses more CPU than necessary" -- fixed.
...
Once we've scored all n candidates, we sort them by score so that we can pick out the k best candidates. If n is large, sorting them can be expensive. If we use the Selection Algorithm, we select in O(n) without having to sort.
2011-12-31 21:28:53 +00:00
Jordan Lee
a8468a7b09
(trunk libT) #4684 "tr_cpSizeWhenDone() is slow for huge torrents that we're only partially downloading" -- fixed.
...
There are actually two different implementations of the byte-counting in that function: a slower implementation was added prior to 2.40 in r12918 to double-check the standard implementation. This checking was added to help smoke out a bug that was fixed in r12920, but I forgot to remove that slower implementation.
2011-12-22 19:35:13 +00:00
Jordan Lee
9576dd16e2
(trunk libT) #4666 "webseed downloading never gets downloaded" -- fixed.
...
The webseed in question is downloading from an ubuntuone.com url. We ask for piece-sized ranges in a couple of different concurrent connections, and curl hints to the server that it's okay to gzip the response, or deflate it, or leave it raw. It looks like there's a bug in the server or in libcurl (or, somehow, Transmission) that's not compressing or decompressing these responses correctly -- we never get the right number of bytes in the response from libcurl. If we ask for the contents uncompressed, the download progresses towards completion.
As an aside, when testing this I noticed that deluge is a lot faster than Transmission on this torrent. In order for Transmission to reach parity here, webseed.c needs to know when it's appropriate to have more than 4 concurrent tasks and/or be able to request ranges > the torrent's piece size.
2011-12-14 05:58:23 +00:00
Jordan Lee
f9cc51f0d3
(trunk libT) fix a minor memory leak in the bencode regression tests.
...
Found by llvm's static analyzer. This is a minor issue since the leak is in an automated test rather than in shipping code, but it's still better to fix it.
2011-12-14 05:44:15 +00:00
Jordan Lee
0d13057111
(trunk libT) fix warnings in fileset_get_empty_slot() found by llvm's static-build analyzer.
...
static-build found a potential NULL pointer dereference. The circumstances where this could get triggered don't seem very likely, but doesn't hurt to fix the warning.
2011-12-14 05:42:15 +00:00
Jordan Lee
206b1a9a5f
(trunk web) fix warnings in tr_urlIsValidTracker() and tr_urlIsValid() found by llvm's scan-build.
...
scan-build found similar warnings in these two functions relating to allowing NULL pointers to be passed as arguments to functions that don't allow NULL. So now those NULL checks are made explicit before the function calls.
2011-12-14 05:40:21 +00:00
Jordan Lee
1cfeb4debb
(trunk libT) #4644 "Transmission can't download big files from webseed." -- fix overflow error with a patch based on one from and_cesbo. (Modified by Jordan to add random bugs.)
2011-12-10 18:42:52 +00:00
Mitchell Livingston
0a9b47da50
whoops typo
2011-11-22 03:30:37 +00:00
Mitchell Livingston
caa1c8fb8f
#4643 Support µTorrent's long-version-number peer id
2011-11-22 03:02:18 +00:00
Jordan Lee
42997e4102
don't use the word 'template' as a variable name, since it's a reserved word in C++
2011-11-12 00:16:04 +00:00
Jordan Lee
b3d382874a
(trunk libT) #4625 "Transmission 2.42 fails to build on Solaris 10: Undefined symbol 'mkdtemp'" -- fixed.
2011-11-10 03:31:43 +00:00
Jordan Lee
4f1db26672
(trunk libT) bandwidth.c: minor phaseOne() improvements suggested by livings
2011-10-25 21:54:51 +00:00
Jordan Lee
82595e8ad8
(trunk libT) #4592 "Algorithm bug in bandwidth allocation" -- apply patch from Algorithmus
2011-10-25 16:56:19 +00:00
Jordan Lee
ae972b50c4
utils.h's public function tr_realpath() function relies on the private constant TR_MAX_PATH. Make TR_MAX_PATH public.
2011-10-25 15:57:10 +00:00
Jordan Lee
4d74095591
(trunk libT) #4571 "can't edit UDP trackers via RPC" -- fixed.
2011-10-17 12:44:17 +00:00
Jordan Lee
ed56cd1193
(trunk libT) #4526 "do not skip scrape unless all three scrape fields came with announce" -- add field initializers.
2011-10-14 00:27:14 +00:00
Jordan Lee
9c6e686882
(trunk libT) #4556 "Transmission 2.40 fails to connect with UDP trackers on big endian systems" -- fixed.
2011-10-14 00:02:36 +00:00
Jordan Lee
576ded51d0
(trunk libT) #4323 "allow usage of system miniupnpc" -- possibly fix OS X regression caused by r12957
2011-10-09 14:51:13 +00:00
Jordan Lee
01f68ca846
(trunk libT) #4323 "Allow usage of system miniupnpc" -- fixed.
2011-10-09 02:05:52 +00:00
Jordan Lee
c9421c4041
(trunk libT) #4530 "lastAnnounceResult is not properly set" -- fixed.
2011-10-09 00:21:36 +00:00
Jordan Lee
bc4e3f137c
(trunk libT) #4526 "do not skip scrape unless all three scrape fields came with announce" -- fixed.
2011-10-09 00:18:18 +00:00
Jordan Lee
2786136015
(trunk) #4490 "Transmission 2.40b1 fails to build: undefined references" -- fixed.
2011-10-08 23:53:27 +00:00
Mitchell Livingston
0808bdd2fe
We now require Mac OS X 10.6 or later. Make that change and all the nice little adjustments that go with it.
2011-10-06 00:30:40 +00:00
Jordan Lee
0337806b03
#4506 'crash from memory corruption somewhere called from tr_handshakeDone()' -- possible fix.
2011-09-28 16:07:35 +00:00
Jordan Lee
1aefd9f1de
munge tr_torrent's memory immediately before freeing it.
2011-09-28 16:06:19 +00:00
Mitchell Livingston
eb46c13d74
#4524 Redirects with https are broken
2011-09-27 22:34:52 +00:00
Jordan Lee
16de40c78d
remove redundant assertion
2011-09-27 02:44:07 +00:00
Jordan Lee
18b90f60bc
(trunk libt) in tr_bitfieldSetRaw(), add a `bounded' argument for cases where we know how large the final bitfield will be. This can be used ensure that the excess bits at the end of the array are zeroed out and safe for bitfield.c's countArray() function.
2011-09-26 22:50:42 +00:00
Jordan Lee
bf6c2a0df7
peer.have was being initialized to the block count, rather than the piece count, resulting in wasted overhead.
2011-09-26 22:48:50 +00:00
Jordan Lee
0c4fe00658
(trunk libT) #4511 "fromLpd in rpc" -- add to torrent-get's "peersFrom" response.
2011-09-26 20:49:26 +00:00
Jordan Lee
4857e8ebb1
(trunk libT) add several more tr_completion assertions to smoke out the (sizeWhenDone() < sizeNow()) error reported in the forums
2011-09-26 06:18:48 +00:00
Jordan Lee
0fde2ddc8e
in freeTorrent(), don't destruct the torrent's completion field until after calling tr_announceRemoveTorrent()
2011-09-26 05:57:03 +00:00
Jordan Lee
5332d234bb
(trunk libT) #4504 "crash when adding malformed magnet link" -- fixed.
2011-09-25 21:51:50 +00:00
Jordan Lee
4522a3c055
(trunk libT) #4507 "scrape min_request_interval no longer working" -- fixed.
2011-09-25 21:48:34 +00:00
Jordan Lee
246d6a72a3
(trunk libT) #4502 "allow verbose scrape" -- patch by reardon.
2011-09-24 05:54:47 +00:00
Jordan Lee
daa795fb6a
#4496 'freeze when having a huge torrent' -- more tweaks based on Shark reports from MechMK1
2011-09-21 23:04:39 +00:00
Jordan Lee
6f05024dab
#4496 'freeze when having a huge torrent' -- remove redundant debug calls to countArray(). This is a second iteration of optimizations based on MechMK1's Shark report.
2011-09-21 20:17:36 +00:00
Jordan Lee
3a3cef615c
#4344 'zero peers observed with 2.32' -- experimental change suggested by gunzip
2011-09-21 00:20:02 +00:00
Jordan Lee
0560b14cfe
#4496 'freeze when having a huge torrent' -- add a bitfield helper function to init the bitfield from an array of flags.
2011-09-20 23:39:40 +00:00
Jordan Lee
46154e7309
(trunk libT) add a magnet link check to deleteLocalData(). Thanks to plaes for reporting this issue.
2011-09-16 23:08:35 +00:00
Jordan Lee
e2240e0831
(trunk libT) #4473 'underflow from malformed ssha1 can crash tr_ssha1_matches()' -- bah, fix oops in r12884.
2011-09-16 22:55:58 +00:00
Jordan Lee
bb59768557
(trunk libT) #4473 "underflow from malformed ssha1 can crash tr_ssha1_matches()" -- fixed. Thanks to Volfram for finding this crash and tracking down the cause.
2011-09-16 22:53:26 +00:00
Jordan Lee
6add3fb940
(trunk web) small refactoring of webseed's batch processing.
...
1. move the callback structs' declarations next to the callback functions where they're used.
2. rename the callback structs to clarify their link to the callback functions.
3. constify some of the callback functions' local variables.
4. clarify some of the comments.
2011-09-12 21:46:15 +00:00
Jordan Lee
3a39486cf1
tr_free() already checks for null, so no need for the caller to wrap it in an 'if not null' test
2011-09-12 20:41:28 +00:00
Jordan Lee
10734ab7bc
remove two redundant variables from tr_webseed_task
2011-09-12 20:40:09 +00:00
Jordan Lee
fd6e7a7fbd
(trunk libT) #4445 "transmission only downloads partially from webseeds with redirections" -- fixed with patch from alexat.
2011-09-12 05:39:27 +00:00
Jordan Lee
cfa4077e5e
(trunk libT) #4437 "Multi file webseeds don't work" -- handle multifile torrents with web seed urls that incorrectly don't end with a slash.
2011-09-06 16:45:48 +00:00
Jordan Lee
b3db349c83
(trunk libt) #4437 'multi file webseeds do not work' -- revert r12740, which was a bad patch.
2011-09-06 16:10:27 +00:00
Mitchell Livingston
516164e78e
add an RPC session callback for when queue order changes
2011-08-27 23:54:10 +00:00
Jordan Lee
6c61d6ac67
(trunk libT) #4437 "Multi file webseeds don't work" -- fixed.
2011-08-25 09:08:50 +00:00
Jordan Lee
56e47e96d0
(trunk libT) improve the is_same_file() test in deleteLocalData() to handle nonexistent directories too.
2011-08-20 18:41:45 +00:00
Jordan Lee
a14e72b1f7
(trunk libT) #4377 "Incomplete Folder removed when sub-folder of Default Location" -- fix r12665-r12667 regression reported by KyleK in comment:31
2011-08-16 22:42:43 +00:00
Mitchell Livingston
fbfae34837
#4422 On Mac, tr_getWebClientDir() uses incorrect encoding for creating the web content dir path
2011-08-15 00:10:06 +00:00
Jordan Lee
177f2398a5
(trunk libT) #4396 "Scrape requests not showing in logfile" -- when the announce response contains scrape information, add a log message saying that the next scrape has been rescheduled.
2011-08-14 14:45:54 +00:00
Jordan Lee
ecb2054493
(trunk libT) #4377 "Incomplete Folder removed when sub-folder of Default Location" -- another revision to r12665
2011-08-12 01:56:35 +00:00
Jordan Lee
6d36b3d763
(trunk libT) #4377 "Incomplete Folder removed when sub-folder of Default Location" -- minor revision to r12665 to fix a minor memory leak with the 'subpath' string.
2011-08-11 21:02:15 +00:00
Jordan Lee
d9541de52d
(trunk libT) #4377 "Incomplete Folder removed when sub-folder of Default Location" -- possible fix.
2011-08-11 14:16:29 +00:00
Jordan Lee
3778da6f82
remove dead code
2011-08-08 16:58:29 +00:00
Jordan Lee
ff303e6fd7
queuing: lower the default 'active downloads' value to 5
2011-08-08 16:29:47 +00:00
Jordan Lee
398b6ad8dc
bump RPC_VERSION to 14 because of the queuing changes
2011-08-07 19:25:36 +00:00
Jordan Lee
313bd9e211
Add a mechanism for enabling/disabling the stalled minutes feature. This is a pre-existing feature in the Mac client.
2011-08-07 19:24:33 +00:00
Jordan Lee
fbc2eb1a65
silence a minor compiler warning when building with -DNDEBUG
2011-08-05 17:03:34 +00:00
Jordan Lee
7915b49b03
revert the last commit -- the Mac client uses the isIdle flag to know when hibernation is allowed
2011-08-04 04:31:14 +00:00
Jordan Lee
d8a11a33f1
tr_torrentIsStalled(): return false if that torrent's queue is disabled.
2011-08-04 02:25:38 +00:00
Jordan Lee
ae89e4683d
add user_data (void *) to the queue callback
2011-08-03 23:40:51 +00:00
Jordan Lee
ce77935009
Add a callback to be invoked when the queue starts a torrent.
2011-08-03 03:14:57 +00:00
Jordan Lee
3430ce714c
#671 "torrent queuing" -- fix r12611 oops
2011-08-02 14:03:43 +00:00
Jordan Lee
307754e807
#671 "torrent queuing" -- modify the queue implementation s.t. every torrent has a queuePosition, even if it's not currently in the queue.
2011-08-02 03:59:54 +00:00
Jordan Lee
2e9d419bd4
#671 "torrent queuing" -- add a tr_stat.isStalled flag.
2011-08-01 23:27:11 +00:00
Jordan Lee
61174b007e
(trunk) #671 "torrent queuing" -- Preliminary implementation. Covers libtransmission; GTK+ and Qt clients, and rudimentary web client support.
2011-08-01 22:24:24 +00:00
Jordan Lee
56525f4b80
(trunk libT) Remove the backup implementation of tr_ptrArrayLowerBound() that was added 5 weeks ago in r12512. This was for testing in the nightlies, to use its output against the function's primary implementation.
2011-07-31 14:04:43 +00:00
Jordan Lee
60f9191fdc
(trunk libT) modify announcer's scrape triggers as per discussion with Elbandi
2011-07-31 00:58:05 +00:00
Jordan Lee
0bffa36377
(trunk libT) improve the debugging message that logs an http announce response
2011-07-30 22:40:15 +00:00
Jordan Lee
8ae478a62f
(trunk libT) #4395 "Crash when removing data for incomplete magnetized torrent file" -- fixed.
2011-07-30 13:11:06 +00:00
Mitchell Livingston
d7ab7d9012
#4387 Update miniupnpc to 1.6
2011-07-26 01:36:30 +00:00
Jordan Lee
b14c44a3a6
(trunk libT) during the extended handshake, don't send the "m" dict if it doesn't have any entries.
2011-07-25 22:33:07 +00:00
Jordan Lee
8fab45f0fc
undo r12585, where I checked in the wrong file.
2011-07-25 22:30:56 +00:00
Juliusz Chroboczek
7eda3ae2ec
Add stub for the DHT blacklisting support.
...
Using blacklists with Kademlia is not a good idea, which is why we
don't support it in Transmission. However, some people insist on
implementing the support in their own copies, this well-defined
hook ensures that at least they'll do it right.
2011-07-25 21:30:46 +00:00
Jordan Lee
fe42e456b4
(trunk libT) during the extended handshake, don't send the "m" dict if it doesn't have any entries.
2011-07-25 20:46:56 +00:00
Juliusz Chroboczek
17d1210b95
Reword debugging messages for the IPv4 DHT.
...
The IPv6 DHT is no longer expermiental, no need for the asymmetry.
2011-07-25 19:53:39 +00:00
Jordan Lee
434a988165
(trunk libt) #4305 "New Torrent via RPC Error:No data found when subfolder does not exist" -- revert r12076 s.t. parent directories are created as necessary when saving local data to disk.
2011-07-25 17:48:14 +00:00
Jordan Lee
feb4ddadd5
(trunk libT) #4383 "transmission-create bug when using leading ./" -- fixed.
2011-07-24 20:18:33 +00:00
Jordan Lee
3928a9d8e9
(trunk libT) #3219 "Don't scrape paused torrents" -- allow this as a 'hidden' option in settings.json, but don't add it to the GUI or to RPC.
2011-07-23 17:14:12 +00:00
Jordan Lee
5076efd20e
(trunk libT) "DHT and blocklists are incompatible" -- revert r12544.
2011-07-22 17:47:08 +00:00
Jordan Lee
bd6aaf9a12
(trunk libT) remove trailing spaces from a couple of lines of code
2011-07-17 18:11:34 +00:00
Jordan Lee
f8c92d06e6
(trunk libT) fix minor compiler warning when compiling with assertions disabled
2011-07-17 14:34:33 +00:00
Jordan Lee
dcd7bed20a
(trunk libT) fix minor compiler warning when compiling with assertions disabled
2011-07-17 14:33:20 +00:00
Jordan Lee
b4960a3f29
(trunk libT) fix minor compiler warning when compiling with assertions disabled
2011-07-17 14:32:51 +00:00
Jordan Lee
efc306a8d3
(trunk libT) truncate the fractions when formatting KB/s speeds
2011-07-17 14:15:02 +00:00
Jordan Lee
de34a0545b
(trunk libT) minor #include cleanups
2011-07-13 03:23:37 +00:00
Jordan Lee
a4e095b26f
(trunk libT) #4016 "blocklists loaded in Transmission should be used to filter DHT communication." -- fixed.
2011-07-12 12:30:17 +00:00
Jordan Lee
7b71470ea0
(trunk libT) #4351 "DHT can't be uninitialized during a session" -- don't process incoming DHT messages if DHT is disabled. Don't process incoming UTP messages if UTP is disabled.
2011-07-12 12:26:24 +00:00
Jordan Lee
731ee3640c
(trunk libT) remove unnecessary "UNUSED" attribute
2011-07-12 12:24:41 +00:00
Jordan Lee
2c69c42554
(trunk libT) restore setrlimit(), although in an non-configurable mode.
2011-07-11 20:48:06 +00:00
Jordan Lee
9b208d2777
(trunk libT) possible fix for three related tickets. still needs more testing.
...
#3732 "Delete system files when removing torrent data"
#4224 "Folders don't get deleted"
#3871 "torrent-set-location does not delete old folder if only one file in torrent"
2011-07-10 17:34:03 +00:00
Jordan Lee
2317f08d38
(trunk libT) #4338 "improved webseed support" -- patch by alexat
2011-07-10 15:24:51 +00:00
Jordan Lee
fdec244f04
(trunk libT) #4336 "availablility nonsense" -- fix bug in tr_cpMissingBytesInPiece() introduced last week by r12515 for #4332 . Add assertions to the nightly build to watch for regressions of this fix.
...
The bug was that I fixed #4332 's off-by-one improperly in tr_cpMissingBlocksInPiece(). The piece's last block has to be calculated separately because its byte size may be different than the other blocks, The mistake in r12515 was that the last block could wind up being counted twice.
2011-07-02 13:20:17 +00:00
Jordan Lee
23adb55d2e
(trunk libT) #4101 "RPC method blocklist-update is broken" -- use lower-level zlib API calls so that we can skip writing a temporary gzipped file to disk
2011-06-26 17:05:17 +00:00
Jordan Lee
b4ffdaac42
(trunk libT) #4277 "Checkmarks for leechers" -- possible fix.
...
It appears 2.30 and 2.31 might be making too many assumptions about which peers are seeds.
2011-06-25 19:29:25 +00:00
Jordan Lee
34642e7259
(trukn libT) lessen the importance of error messages returned by trackers in a multi-tracker torrent. It's all too often that people will load up a .torrent file with dozens of announce URLs, many of them dead...
2011-06-25 18:47:35 +00:00
Jordan Lee
42a49a6c70
(trunk libT) #4332 "countRange/countArray exception" -- fix bug in tr_cpMissingBytesInPiece()
2011-06-25 13:31:25 +00:00
Jordan Lee
35fb00fd9e
(trunk libt) #4315 "Transmission 2.31 crashes (segfaults) immediately after launch" -- remove the "max-open-files" code.
...
max-open-files might have been a nice configuration option once, but (1) we've never advertised it in the gui apps, and (2) the crazy cases are causing more trouble than this feature is worth. It's more complicated now after #4164 -- see #4294 , #4311 , and this ticket.
2011-06-24 22:39:20 +00:00