Jordan Lee
96786b7fa1
(trunk) update web.h's API s.t. there's an explicit function to use when downloading webseed content.
2013-04-13 20:25:28 +00:00
Jordan Lee
6bcdd93e45
(trunk libT) #5318 : 'socket leak when bind() fails': fixed.
2013-04-13 19:34:34 +00:00
Jordan Lee
d4d2a04560
libT: undo r13901 regression to #4888 in the nightlies
2013-04-13 19:28:49 +00:00
Jordan Lee
f1d616d37c
(trunk libT) #5316 'UMR in quark, tr-getopt code': fixed.
2013-04-13 18:29:56 +00:00
Jordan Lee
908af43d99
add unit tests for tr-getopt
2013-04-13 18:27:36 +00:00
Jordan Lee
de6d57af43
(qt) freespace fixes by rb07 from https://trac.transmissionbt.com/ticket/4076#comment:40
2013-02-18 14:45:44 +00:00
Jordan Lee
c32e4cdde1
(libT) #5293 'Wrong error codes used in upnp.c': second patch from rb07 to handle older versions of miniupnpc
2013-02-18 00:36:20 +00:00
Jordan Lee
a2ce709d8c
(web) #5290 'Use HTML5's FileReader to upload .torrent files': done
2013-02-18 00:12:51 +00:00
Jordan Lee
b24a550459
(libT) fix memory leak regression in the nightlies reported by x190
2013-02-17 23:00:11 +00:00
Jordan Lee
fcdec9a8bc
(libT) don't start the web thread until we have a task to feed to curl
2013-02-15 01:52:47 +00:00
Jordan Lee
58862d0fc4
(libT) remove code to migrate config files from pre-2008
2013-02-15 01:51:49 +00:00
Jordan Lee
bb05b943e9
(libT) #5293 'Wrong error codes used in upnp.c': patch by rb07
2013-02-14 23:45:13 +00:00
Jordan Lee
0be5e8deef
(libT) #5291 'increase scrape buffer sizes to accomodate for multiscrape': done with patch by reardon
2013-02-10 23:21:58 +00:00
Jordan Lee
5040778a92
(libT) restore the RPC download-dir-free-space argument to avoid unscheduled breakage. Document the timetable for its removal in rpc-spec.txt.
2013-02-10 19:36:13 +00:00
Jordan Lee
a7c6e78985
In Web Client, use jQuery.ajax() to upload files
...
If we use FormData and jQuery.ajax() calls to upload a torrent,
we can stop bundling the jquery.form.js module. In addition, this
simplifies passing arguments in the headers s.t. rpc-server.c doesn't
have to look for the CSRF token as one of the multiparts.
This changes the upload POST behavior, so give it a new name (upload2).
The old function (upload) will be deprecated but kept until 2.90 so
that third-party web clients using the old POST semantics will have
time to update.
Bug #5290 <https://trac.transmissionbt.com/ticket/5290 >
2013-02-10 18:33:04 +00:00
Jordan Lee
cd09204a6e
(trunk) first draft of changing the FreeSpace API to behave as https://trac.transmissionbt.com/ticket/4076#comment:25 -- libT, rpc, qt, and gtk implementations.
2013-02-09 04:05:03 +00:00
Jordan Lee
836fcc31d2
(libT) #5276 'regression in nightly: assert (tr_sessionIsLocked (session))': fix the bug; tests now pass again
2013-02-06 05:52:41 +00:00
Jordan Lee
3eff07dde4
(libT) #5276 'regression in nightly: assert (tr_sessionIsLocked (session))': add unit test (currently failing) to reproduce this error
2013-02-06 05:51:51 +00:00
Jordan Lee
12c2b35abb
(libT) #5275 'quotactl breaks compilation of libT/platform.c on Solaris' -- fixed with patch from spaam
2013-02-05 14:35:01 +00:00
Jordan Lee
445609f690
(trunk) prefer tr_remove() to unlink() or rmdir()
2013-02-04 21:53:19 +00:00
Jordan Lee
407c0b53c7
(trunk) add portability wrappers tr_rename(), tr_remove() for the rename() and remove() funcs s.t. utf16 can be handled
2013-02-04 21:45:20 +00:00
Jordan Lee
a04fb2c9d9
(libT) add rb07's win32 implementation of tr_mkstemp()
2013-02-04 21:07:24 +00:00
Jordan Lee
911d64df44
(libT) add rb07's win32 implementation of tr_is_same_file().
2013-02-04 20:57:20 +00:00
Jordan Lee
5307bef4ec
(libT) when logging on win32, use OutputDebugStringA instead of OutputDebugString
2013-02-04 20:48:33 +00:00
Jordan Lee
6d5a54e52c
(libT) add '#include errno.h' to announcer-udp.c to ensure errno is declared
2013-02-04 20:46:16 +00:00
Jordan Lee
e899519a97
(libT) #5274 '"copy magnet link to clipboard" doesn't include webseeds': fixed.
2013-02-04 18:54:38 +00:00
Jordan Lee
96691dd019
(libT) make the class hierarchy between tr_peer, tr_peerMsgs, and tr_webseed a little less ad-hoc
2013-02-04 16:23:33 +00:00
Jordan Lee
5475e1507e
(libT) reduce the scope of REQUEST_BUF_SECS from peer-common.h to peer-msgs.c
2013-02-03 23:29:34 +00:00
Jordan Lee
f370a76c57
move tr_peer.encryptionPreference to tr_peermsgs.encryptionPreference
2013-02-03 22:45:32 +00:00
Jordan Lee
3cb7595b85
(libT) move the tr_peer declaration from peer-mgr.h to peer-common.h
2013-02-03 22:40:00 +00:00
Jordan Lee
67ae1e7b2e
(libT) remove redundancy from compareKeys()
2013-02-03 21:43:17 +00:00
Jordan Lee
84aed36ba9
(libT) copyediting: whitespace/indentation
2013-02-02 20:17:52 +00:00
Jordan Lee
c8e22c46d4
(libT) #5267 : 'speed limits wrap around too low number (~8589 kB/s)': patch by const
2013-02-02 16:31:05 +00:00
Jordan Lee
273e0a4504
(libT) copyediting: indentation/whitespace in rpc-server.c
2013-02-02 16:22:21 +00:00
Jordan Lee
1f2bccd17b
(libT) recycle the peer id used for public torrents after N hours of use
2013-02-02 13:42:50 +00:00
Jordan Lee
aa8ddcb218
(libT) remove pointless tr_session.peer_id variable
2013-02-02 05:31:43 +00:00
Jordan Lee
70289d9629
(libT) #5259 'Minor memory leaks in tr_torrentDeleteLocalData()': cleaner patch suggested by cfpp2p
2013-02-01 19:21:38 +00:00
Jordan Lee
3819360ca0
(libT) when unable to run locale-specific json tests, give a hint in the terminal about how to remedy that
2013-02-01 06:11:41 +00:00
Jordan Lee
1a99b9c168
change the test harness' session initialization s.t. we can configure it for per-test needs. Add tests for moving completed torrents when downloadDir is a subdirectory of incompleteDir. (Hi, KyleK)
2013-02-01 05:57:47 +00:00
Jordan Lee
ef9d4eee33
(libT) ensure that tr_torrentVerify()'s completion callback gets invoked even if it's removed from the verify queue before it gets a chance to run.
2013-02-01 00:21:30 +00:00
Jordan Lee
d84836a81c
fix r13913 oops: I didn't mean to check in the fail.sh change that only called rename-test
2013-01-31 22:00:32 +00:00
Jordan Lee
69f3e31230
(libT) change the API signature for tr_torrentVerify() s.t. client code can be notified when the verify is finished
2013-01-31 21:58:25 +00:00
Jordan Lee
9c550b5a78
(libT) fix dangling pointer in tor->currentDir when reloading a .resume file from disk
2013-01-31 21:57:08 +00:00
Jordan Lee
1eb2933fc5
(libT) maybe fix removed-file-found issue reported by Lacrocivious
2013-01-31 19:07:34 +00:00
Jordan Lee
500aa4569f
(libT) fix a filesystem sync issue in rename-test, reported by Lacrocivious
2013-01-31 18:20:37 +00:00
Jordan Lee
47d2a1ee8f
(libT) add assertions to check that block-writing functions are only invoked in the libtransmission thread
2013-01-31 17:39:06 +00:00
Jordan Lee
65859df967
fix oops
2013-01-31 05:11:32 +00:00
Jordan Lee
3eb533336d
fix a race condition error in move-test
2013-01-31 05:10:08 +00:00
Jordan Lee
ae1ec6aab4
fix a race condition error in rename-test
2013-01-31 05:09:19 +00:00
Jordan Lee
4aa4012a73
fix race condition triggered in the unit tests by requiring a libtransmission thread lock in torrentRemove()
2013-01-31 05:05:44 +00:00
Jordan Lee
0b9f651a93
(libT) add to rename-tests
2013-01-30 21:26:04 +00:00
Jordan Lee
8a33a1b315
(libT) increment the announced downloadCount only when the piece becomes complete.
2013-01-30 20:06:12 +00:00
Jordan Lee
6d8080bcf4
(libT) copyediting: fix whitespace
2013-01-30 20:00:43 +00:00
Jordan Lee
1b5cc093e6
(libT) when announcing a magnet link for the first time, send 'left=0'
2013-01-30 19:59:55 +00:00
Jordan Lee
553bd58681
(libT) peer-mgr doesn't care about non-piece data being transferred, so don't notify it when it happens
2013-01-30 18:00:03 +00:00
Jordan Lee
fdcba2a7fa
only show ratios to one decimal place
2013-01-30 00:16:20 +00:00
Jordan Lee
e85ece214e
(libT) rename internal struct 'tr_torrent_peers' as 'tr_swarm'
2013-01-27 21:03:52 +00:00
Jordan Lee
722867ad62
(libT) tweaks to rename-test to give better line numbers on failure in Jenkins
2013-01-27 17:47:38 +00:00
Jordan Lee
cee6cb5c61
(libT) better implementation of move-test
2013-01-27 06:20:39 +00:00
Jordan Lee
d9940acf75
(libT) #5259 'Minor memory leak in tr_torrentDeleteLocalData()' -- fixed.
2013-01-27 06:19:33 +00:00
Jordan Lee
5f9e7f773b
#5146 'seeding complete callback called twice': revert r13627 due to issues described in https://trac.transmissionbt.com/ticket/5146#comment:15
2013-01-27 06:02:52 +00:00
Jordan Lee
388da24dd0
(libT) add package-visible API hook for when a block is downloaded. Add unit test to confirm that when the last file finishes downloading, its .part suffix is removed and it's moved from the incomplete to complete dir
2013-01-26 23:08:51 +00:00
Jordan Lee
f75027d5e9
make all the log functions/structs/enums use a single 'tr_log' namespace, such as tr_logGetQueue, tr_logAddInfo, tr_logIsLevelActive
2013-01-25 23:34:20 +00:00
Jordan Lee
797976b336
copyediting: modify more files to the new indentation/whitespace formatting
2013-01-25 06:01:45 +00:00
Jordan Lee
ad3407567b
(libT) copyediting: modify more files to the new indentation/whitespace formatting
2013-01-24 23:59:52 +00:00
Jordan Lee
eb4b2d609a
(libT) #5249 'error parsing json in some locales': fix the bug; the new locale unit tests in json-test pass now
2013-01-24 16:33:49 +00:00
Jordan Lee
887850a636
(libT) #5249 'error parsing json in some locales': add unit tests to test for this bug.
2013-01-24 16:04:09 +00:00
Jordan Lee
644c647799
(libT) unroll decode_hex_string()
2013-01-24 00:53:37 +00:00
Jordan Lee
06d9f20759
(libT) #1220 'change file and folder names': finish cleaning up the unit test for calling tr_torrentRenamePath() on an incomplete torrent with .part files
2013-01-23 22:53:58 +00:00
Jordan Lee
e34be5e573
(libT) rename-test tracers
2013-01-23 22:43:16 +00:00
Jordan Lee
ee2e408288
(libT) rename-test tracers
2013-01-23 22:30:23 +00:00
Jordan Lee
a75f9394a6
(libT) rename-test tracers
2013-01-23 22:20:37 +00:00
Jordan Lee
beee17f9b2
(libT) more hacking on the rename + .part unit test
2013-01-23 22:10:40 +00:00
Jordan Lee
0daad8b7f6
(libT) fix red herring issue that tr_mkdirp() was setting errno even if the call succeeded. Add tests to confirm the fix.
2013-01-23 21:28:35 +00:00
Jordan Lee
5fb6ec36de
continuation of previous commit to find out why Jenkins doesn't like the new rename unit tests
2013-01-23 20:59:20 +00:00
Jordan Lee
cd4543fe4c
add temporary verbosity to the rename-test to coax log info out of Jenkins
2013-01-23 20:51:55 +00:00
Jordan Lee
ef2cb627f2
(libT) #1220 'change file and folder names': add a unit test for the r13837 bugfix of .part files + tr_torrentRenamePath()
2013-01-23 20:23:37 +00:00
Jordan Lee
e2c1a360d4
(libT) replace errant snprintf() calls with tr_snprintf() calls
2013-01-23 04:28:37 +00:00
Mitchell Livingston
45c8174cc2
Use tr_torrentRenamePath() instead of the removed tr_torrentRename()
2013-01-23 03:44:47 +00:00
Jordan Lee
3f4c9e9d2f
(libT) #1220 'change file and folder names': handle .part file suffixs
2013-01-22 05:58:31 +00:00
Jordan Lee
e898374a48
(libT) #1220 'change file and folder names': add unit tests for renaming a root, then branch, then leaf in the torrent
2013-01-22 05:40:10 +00:00
Jordan Lee
77ecf6d08c
(libT) #1220 'change file and folder names': add a test to confirm passing tor->info.name as the 'oldname' argument works
2013-01-22 05:06:38 +00:00
Jordan Lee
2e354dfb10
(libT) #1220 'change file and folder names': fold tr_torrentRename() into tr_torrentRenamePath(); it's not useful enough on its own to be a separate function
2013-01-22 04:57:45 +00:00
Mitchell Livingston
aae38eb05f
(libT) update the rename callback to include the previous torrent name
2013-01-22 00:43:50 +00:00
Jordan Lee
434bd6b287
(libT) #1220 'change top folder names' -- when the root file/folder is changed, update tr_info.name too.
2013-01-22 00:25:42 +00:00
Jordan Lee
0da726e639
(libT) #4632 'custom blocklist generates 2x # of rules': add a fix, which causes r13825's test to pass
2013-01-21 21:14:14 +00:00
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