1
0
Fork 0
mirror of https://github.com/transmission/transmission synced 2024-12-27 18:18:10 +00:00
Commit graph

628 commits

Author SHA1 Message Date
Jordan Lee
0245703634 (trunk libT) tr_torrentGetFileMTime() used to require two stat() calls.. now it only requires one. 2011-04-02 07:36:34 +00:00
Jordan Lee
e5a6641bda (trunk libT) tr_torrentFindFile2(): avoid an unnecessary malloc() + free() if the file we're looking for is complete and doesn't have a ".part" suffix 2011-04-02 03:31:41 +00:00
Jordan Lee
2328456a4a (trunk libT) simplify tr_torrent's hasAnyLocalData() to be more readable, and also to avoid yet another unnecessary malloc() and free() 2011-04-01 04:33:35 +00:00
Jordan Lee
1b02eb8641 (trunk libT) use aggregation for the tr_bandwidth objects owned by tr_session and tr_torrent 2011-03-31 14:53:22 +00:00
Jordan Lee
bb561b5494 (trunk libT) fix ABR detected by clang static analyzer in tr_torrentStat.
When copying a value to s->errorString, it used memcpy(a,b,sizeof(a)) where sizeof(a) was larger than sizeof(b). Fixed by replacing the memcpy() call with tr_strlcpy().
2011-03-31 04:01:55 +00:00
Jordan Lee
83c0e4f011 (trunk libT) break the mac build and introduce new crashes.
This is partially to address #4145 "Downloads stuck at 100%" by refactoring the bitset, bitfield, and tr_completion; however, the ripple effect is larger than usual so things may get worse in the short term before getting better.

livings124: to fix the mac build, remove bitset.[ch] from xcode
2011-03-28 16:31:05 +00:00
Jordan Lee
bd88521332 (trunk) yet more "#include" tweaks 2011-03-25 15:03:42 +00:00
Jordan Lee
b4d36aeb54 (trunk) #4138 "use stdbool.h instead of tr_bool" -- done. 2011-03-22 15:19:54 +00:00
Jordan Lee
13514e16a7 (trunk libT) #4127 "Torrent complete script doesn't pass on the environment" -- fixed with patch from geirha.
The fix was to putenv() the new environment variables, then call execvp() instead of execve().
2011-03-16 18:11:48 +00:00
Jordan Lee
374ed10f3b (trunk) it's bad form to #include so many system headers in libtransmission/utils.h... 2011-03-16 18:04:23 +00:00
Jordan Lee
075a0a8b86 (trunk libT) use libevent's portability wrapper for strcasecmp() 2011-03-13 08:21:55 +00:00
Jordan Lee
d1f3a885a5 (trunk libT) ensure that a tr_torrent's peer id is initialized when the tr_torrent is constructed 2011-03-11 15:00:10 +00:00
Jordan Lee
896c9b54e1 (trunk libT) Add an enumeration for the peer id length. Use that enum for the peer_id fields in tr_session and tr_torrent.
This also avoids an extra malloc/free per-torrent and per-session, but mostly this tweak is for the extra readability of the PEER_ID_LEN=20 enum.
2011-03-10 12:35:23 +00:00
Jordan Lee
9bf2434e14 (trunk) copyediting: remove trailing spaces from source code lines in daemon/ gtk/ libtransmission/ and utils/ 2011-03-04 23:26:10 +00:00
Jordan Lee
b10aea6fcc (trunk) #4072 "remove the 'know peer count' field in Inspector" -- remove it from libtransmission too 2011-03-04 04:50:50 +00:00
Jordan Lee
0c36e0c9de (trunk libT) remove the unused tr_ratecontrol code. switch webseed over to using tr_bandwidth. 2011-03-03 18:33:24 +00:00
Jordan Lee
aa89303254 (trunk libT) #4073 "suggest inclusion of <signal.h> in torrent.c" -- done. 2011-02-28 13:10:56 +00:00
Jordan Lee
9d95bd151d (trunk libT) #4035 "In seed state, transmission disconnect from leechers" -- fixed. 2011-02-24 14:35:45 +00:00
Jordan Lee
2b9db3c242 (trunk libT) #4048 "use bitsets instead of bitfield in tr_completion" -- done.
Excuse the sprawl. Much of this didn't fit into self-contained commits.
2011-02-23 03:54:04 +00:00
Jordan Lee
e77a627d3c (trunk libT) mark the two "progress" args to tr_torrentSetLocation() as volatile. 2011-02-19 20:10:05 +00:00
Jordan Lee
72f9ab91fa (trunk) make tr_torrentName() a public function.
This has been a private function in libtransmission for awhile now but it makes more sense as a public function.
2011-02-15 15:18:51 +00:00
Jordan Lee
2b905bdbcc (trunk libT) silence minor "unused function argument" compiler warning 2011-02-07 23:09:36 +00:00
Jordan Lee
af1e920ab7 (trunk libT) minor futzing: remove unnecessary "assert( tr_isTorrent( tor ) );" calls
Remove these calls from private functions whose callers have already asserted the same thing.
2011-02-03 22:53:02 +00:00
Jordan Lee
e8614030a2 (trunk libT) #3973 "JIT verification verifies fresh downloaded torrents" -- remove a debugging printf() statement that shouldn't have been checked in. 2011-02-02 23:33:25 +00:00
Jordan Lee
06948a8514 (trunk libT) #2955 "verify pieces only when necessary, or when the user requests it." -- improvements to .resume file
As pointed out by longinus00 and ijuxda, storing per-piece timestamps in the .resume file can involve a lot of overhead. This commit reduces the overhead by adding a couple of optimizations: (1) in cases where *all* or *none* of the files' pieces were checked after the file's mtime, we can safely fold all the pieces' mtimes into a single per-file mtime. (2) since unix time takes up a lot of space when rendered as a benc integer, find a common per-file "baseline" number, then store the pieces' timestamps as offsets from that number.  Also add documentation explaining this new format, and also better explaining the pre-2.20 progress format.
2011-02-02 21:17:16 +00:00
Jordan Lee
5fc1ff8855 (trunk libT) #3973 "JIT verification verifies freshly-downloaded torrents" -- test fix.
Files downloaded in Transmission 2.20 betas [1..3] forced each piece to be checked twice -- once on download, and once when uploading the piece for the first time. Older versions of Transmission didn't perform the latter check unless the file had changed after it was downloaded. This commit restores that behavior.
2011-02-02 20:30:04 +00:00
Jordan Lee
e7f81543ec (trunk libT) #3961 "Support for running scripts when a torrent finishes downloading on Windows" -- fixed. patch by rb07
The changes to torrentCallScript() weren't portable to Windows, so rb07 has provided a patch.
2011-01-30 01:41:48 +00:00
Jordan Lee
125d2506cd (trunk libT) torrent.c setLocation(): don't try to move a file if the source and destination paths are the same. 2011-01-24 06:07:06 +00:00
Jordan Lee
75ffe999d4 (trunk libT) #3933 "announcer.c peer parsing could be simpler" -- fixed.
Remove redundant code by using tr_peerMgrCompactToPex() and tr_peerMgrCompact6ToPex() to parse compact ipv4 and ipv6 peer lists. Simplify the old-style benc peer list parsing and fix a bug that returned too few bytes in the old-style peer array.
2011-01-22 17:45:54 +00:00
Jordan Lee
9220ad2300 (trunk libT) #3932 "Assertion failed: (tab != NULL), function tr_torrentAvailability"
Looks like tab can be NULL from the Mac client when magnet links are involved and the Mac client doesn't know how many pieces are available, so that assertion's not appropriate.
2011-01-22 13:21:20 +00:00
Jordan Lee
879a2afcbd Update the copyright year in the source code comments.
The Berne Convention says that the copyright year is moot, so instead of adding another year to each file as in previous years, I've removed the year altogether from the source code comments in libtransmission, gtk, qt, utils, daemon, and cli.

Juliusz's copyright notice in tr-dht and Johannes' copyright notice in tr-lpd have been left alone; it didn't seem appropriate to modify them.
2011-01-19 13:48:47 +00:00
Jordan Lee
8aa0f36a37 cleanup of who calls the libtransmission thread locking functions.
In some cases we were calling them from deep inside libtransmission, when they should have been called directly from the public-visible API functions: tr_torrentWebSpeeds_KBps(), tr_torrentPeers(), tr_torrentTrackers().
2011-01-18 23:44:36 +00:00
Jordan Lee
7ce0cf2322 code cleanup for tr_peerMgrTorrentAvailability().
1. move responsibility for getting a thread lock back to the public API fucntion, tr_torrentAvailability().
2. if the torrent doesn't have metadata, stop after zeroing out the table
3. minor code formatting cleanup
2011-01-18 22:51:29 +00:00
Jordan Lee
dd77485d83 (trunk libT) demote the remaining lazy-verify debug messages from the debug window to deep logging 2011-01-18 02:17:47 +00:00
Mitchell Livingston
5a8800fda1 remove a LAZY debug message 2011-01-06 00:54:37 +00:00
Charles Kerr
1f0c916469 (trunk libT) #2955 "jit verify" -- undo r11606. the old error message was longer, but more helpful 2010-12-30 18:35:18 +00:00
Charles Kerr
efcbab893f (trunk, libT) #2955 "jit verify" -- shorten the error message for torrents whose files disappeared. 2010-12-30 07:42:14 +00:00
Charles Kerr
123ad33ce4 (trunk libT) #3860 "memory leak in torrentCallScript" -- patched. 2010-12-29 21:00:07 +00:00
Charles Kerr
e5bb3205a1 (trunk) Join the 21st century and use only 1 space at the end sentences. This commit is nearly as important as the semi-annual ones that remove trailing spaces from the ends of lines of code... :) 2010-12-27 19:18:17 +00:00
Charles Kerr
ae84dc70dd (trunk libT) #3836 "libevent2 support" -- finish moving to the libevent2 API mode. don't include the backwards-compatable API headers. 2010-12-24 08:58:41 +00:00
Charles Kerr
16a5fa4073 (trunk) #1408 "total downloading and seeding time per torrent" -- add patch to track how long a torrent has been seeding or downloading 2010-12-23 19:32:59 +00:00
Charles Kerr
81cb2276c8 (trunk gtk) #3844 "error popup when adding a relative path" -- fixed. initial patch by ijuxda. 2010-12-22 07:04:11 +00:00
Charles Kerr
28ec370476 (trunk libt) experimental fix for the updated torrent issue reported by Lacrocivious 2010-12-22 04:29:41 +00:00
Charles Kerr
6b7babde5c (trunk libT) remove some of the lazy-verify debug messages. 2010-12-21 23:09:26 +00:00
Charles Kerr
47a60e005e (trunk libT) #2955 "lazy torrent verification" -- speed up setLocalErrorIfFilesDisappeared(). this makes a big difference when loading a lot of torrents on startup. 2010-12-17 14:57:19 +00:00
Charles Kerr
3e848396bb (trunk libT) make tr_torrentDeleteLocalData() a private function 2010-12-16 03:41:46 +00:00
Charles Kerr
821d315453 (trunk) #3675 "Not all .part files are removed" -- added patch for libtransmission and GTK+ client 2010-12-16 03:38:07 +00:00
Charles Kerr
d40a60bd02 (trunk libT) #3675 "Not all .part files are removed" -- flush the cache before removing local data. 2010-12-15 20:28:49 +00:00
Charles Kerr
f1e236693d (trunk libT) #3764 "script-torrent-done shouldn't block libtransmission" -- handle zombie processes. 2010-12-15 15:35:06 +00:00
Charles Kerr
9a5a429761 (trunk libT) #3764 "script-torrent-done shouldn't block libtransmission" -- add the "calling script ..." line back into the logfile. 2010-12-15 14:55:20 +00:00