Commit Graph

4388 Commits

Author SHA1 Message Date
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
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