Commit Graph

594 Commits

Author SHA1 Message Date
Josh Elsasser c0970d0431 Unbreak the build on my system. 2007-07-14 05:28:35 +00:00
Charles Kerr 261ac20427 tr_bitfieldIsEmtpy(): fix a howler of a bug that caused some files to not be rechecked on startup even if they should've been. 2007-07-14 04:26:30 +00:00
Charles Kerr f0d97e1a02 fix bug that gave the wrong peer count when uploading. 2007-07-13 22:22:46 +00:00
Charles Kerr e6e6d574db second draft of a fix for the tracker communication bug reported by TMT 2007-07-13 01:34:14 +00:00
Charles Kerr b667ad3037 ... and do the same for tr_torrentGetFileDL() 2007-07-13 01:17:21 +00:00
Charles Kerr a3eb718162 revise tr_torrentSetFilePriorities() for BMW 2007-07-13 00:27:47 +00:00
Charles Kerr 6f09fbe18d add #include files for stat() 2007-07-13 00:15:45 +00:00
Charles Kerr 5e4a49be16 first draft of a fix for the tracker communication bug reported by TMT 2007-07-12 20:48:13 +00:00
Charles Kerr 9f16191b0e remove unused macros. constify some tracker functions. 2007-07-12 18:54:39 +00:00
Charles Kerr 790476ac23 clean up #includes a bit. 2007-07-12 17:51:45 +00:00
Charles Kerr 5455df4373 update versioning scheme as per consensus between TMT, John_Clay, Gimp_, and charles_ 2007-07-10 19:40:21 +00:00
Charles Kerr f86cf5449d fix rate control bug reported by John_Clay 2007-07-10 17:07:18 +00:00
Eric Petit 2c141f9609 Adds BeOS tr_condBroadcast implementation 2007-07-10 14:00:20 +00:00
Eric Petit 26b837ffc0 Adds basename/dirname implementation for platforms that lack it (BeOS...) 2007-07-10 11:30:11 +00:00
Charles Kerr 043ba9e1bf more fastresume fixin' 2007-07-10 03:49:10 +00:00
Charles Kerr e45df69b9a oops, that debugging statement shouldn't've been checked in 2007-07-10 03:45:58 +00:00
Charles Kerr adb3d2399b fix dnd-setting bug created while splitting DND and priorities into two separate entities 2007-07-10 03:41:16 +00:00
Charles Kerr 0c39aa6565 minor cleanups of last checkin 2007-07-10 03:23:07 +00:00
Charles Kerr ed226a32ac splitting dnd and priorities apart, and moving the file storage for those fields into fastresume 2007-07-10 03:12:46 +00:00
Charles Kerr 8d37a2601e remove unused functions tr_ioRemoveResume() and fastResumeRemove() 2007-07-10 00:33:48 +00:00
Charles Kerr 9c73ecbf63 more assertion tests to tr_peerGotBlockFromUs() and tr_peerSentBlockToUs() to smoke out any remaining spurious ul/dl bytecounts 2007-07-09 23:27:57 +00:00
Charles Kerr bcb3cf99ab Revert version back to 079 as per BentMyWookie's suggestion 2007-07-09 23:09:00 +00:00
Charles Kerr caf68deb8f don't calculate swift largesse for torrents we're seeding. 2007-07-09 20:26:16 +00:00
Charles Kerr b79beeff66 clean up #includes a bit. 2007-07-09 20:10:42 +00:00
Charles Kerr 34b4d0b7f9 fix r2306 double-free crash reported by Gimp_, webaake 2007-07-09 16:30:20 +00:00
Charles Kerr 3a4a0053ca give the nightlies a peer id of 0079, to differentiate between the previous stable release (0072) and the next one (0080) 2007-07-09 05:40:35 +00:00
Charles Kerr 8fd06f3687 fix values for tr_cpLeftUntilComplete(), which were slightly off. (TooMuchTime) 2007-07-09 05:20:23 +00:00
Charles Kerr 08f787291a remove the "peer is asking for too many blocks!" warning reported by Gimp_ by changing from a fixed-size array to a linked lists of incoming requests 2007-07-09 04:37:16 +00:00
Charles Kerr b1ab3968e7 add Transmission's SVN version number to the id string we send the tracker 2007-07-09 04:34:54 +00:00
Charles Kerr 26660b0594 fix broken rate control. 2007-07-07 04:13:13 +00:00
Charles Kerr a62302d709 Better handling of malformed bencoded strings. Thanks to cluthi81 for reporting this. 2007-07-06 20:43:17 +00:00
Charles Kerr 73af49bd08 don't crash when creating a single-file torrent of a zero-byte file. Reported by BentMyWookie. 2007-07-06 18:24:54 +00:00
Charles Kerr d8a6dd1e28 fix inout.c read/write mode bug. 2007-07-06 17:19:34 +00:00
Charles Kerr a166914a27 fix endgame bugs 2007-07-06 16:17:37 +00:00
Charles Kerr 3fda85725c fix peer memory leak. 2007-07-06 15:51:06 +00:00
Eric Petit 981ede4d4b Fixes a typo that caused us to reject all incoming connections 2007-07-04 15:04:05 +00:00
Charles Kerr 18aa394019 when creating a torrent, initialize its cpStatus field before passing it to the torrent's worker thread 2007-07-02 01:29:05 +00:00
Charles Kerr bfee506ff4 Move the initial fastresume check into the thread that creates the torrent, rather than in the torrent's worker thread 2007-07-01 19:10:14 +00:00
Charles Kerr 432c26d353 Fix makemeta infinite loop reported by BentMyWookie 2007-07-01 14:04:18 +00:00
Charles Kerr 0fb5d03514 d'oh! openssl has rc4 already. 2007-07-01 12:09:43 +00:00
Charles Kerr e77a18c882 make the "Error while parsing bencoded data" more helpful by showing the bad bencoded data. (though the string might be very long...) 2007-07-01 02:54:37 +00:00
Charles Kerr 58f89cdc77 replace the unhelpful error message "error: insufficient resources" with more descriptive cases 2007-07-01 01:50:14 +00:00
Charles Kerr ed4e789b97 Silence the "Too many requests!" error that's not really an error 2007-06-30 22:47:59 +00:00
Charles Kerr 3b1597789e fix r2252 copy-and-paste bug. Thanks BentMyWookie 2007-06-30 21:39:03 +00:00
Charles Kerr 4784289921 fix bug that caused libtransmission to think private torrents were public. 2007-06-30 21:29:49 +00:00
Charles Kerr c58013c048 don't count too many bytes in the last block in tr_cpDownloadedValid(), tr_cpLeftUntilDone(), tr_cpLeftUntilComplete(). Very minor speedups in tr_bitfieldHas(), tr_bitfieldAdd(), tr_bitfieldRem(). 2007-06-30 21:11:17 +00:00
Charles Kerr bacc2dc445 I wonder what this is for. 2007-06-30 19:46:41 +00:00
Charles Kerr b6819d6a12 fix r2247 oops 2007-06-30 15:16:08 +00:00
Charles Kerr 3e0cac55fd (1) check a torrent's `fast resume' state as soon as it's added. (2) in gtk, show % done even when torrent is stopped 2007-06-30 13:53:10 +00:00
Charles Kerr 6c6732ed39 make tr_torrentInfo() a const function 2007-06-30 13:36:58 +00:00
Charles Kerr ec12220404 make decrementing the torrent count the last thing we do when destroying a torrent. 2007-06-30 13:19:57 +00:00
Charles Kerr 05ca8403c6 * make tr_cpLeftUntilDone() slightly more accurate
* simplify completion code a little
2007-06-30 12:54:26 +00:00
Charles Kerr 2b1cf88ea9 fix crash reported by persept 2007-06-30 12:46:45 +00:00
Charles Kerr 781c557e52 use tr_new(), not g_new(). I've been hacking in glib too long 2007-06-29 17:29:02 +00:00
Charles Kerr 59388ed0ba fix some ugliness from last night's hackfest 2007-06-29 17:24:14 +00:00
Charles Kerr 3a73f6790e Fix endgame bug that caused the last 2-3% to drag out forever in recent nightlies. Thanks SoftwareElves 2007-06-29 06:24:55 +00:00
Charles Kerr ab191885b5 revert one of last checkin's changes to better handle low peer situations. Thanks to SoftwareElves for the helpful explanation. 2007-06-29 06:03:54 +00:00
Charles Kerr f0950d7390 lots of performance improvements. fun!
* dynamically resize the request queue on a per-peer basis based on its speed
* fix a huge bug that sabotaged the `swift' performance
* on startup, unchoke peers much sooner
* bump MAX_PEERS and PERCENT_PEER_WANTED
* do a better job of estimating speed on torrents less than 30 seconds old.
* getting an unrecognized extension ID, ignore it instead of stopping the torrent.
2007-06-29 05:45:17 +00:00
Charles Kerr 9b65364dcc fix divide by zero bug in makemeta code, calculating number of pieces for a zero-sized file. (SoftwareElves) 2007-06-29 02:53:12 +00:00
Charles Kerr 3d7f38fa68 get the bencoded text compliant with the bittorrent spec w.r.t. dictionaries: "keys must be strings and appear in sorted order (sorted as raw strings, not alphanumerics)." 2007-06-29 02:27:00 +00:00
Josh Elsasser a09a9c9157 Add client/server name to IPC version handshake. 2007-06-29 02:21:29 +00:00
Charles Kerr 6890359001 Make tr_torrentParseHash() public 2007-06-28 23:35:02 +00:00
Charles Kerr 73ee59a21f * (libT) stopped torrents shouldn't use CPU cycles.
* (gtk) if a torrent is stopped when you exit, keep it stopped when restarting.
2007-06-28 17:43:53 +00:00
Charles Kerr 37234a3e34 Make tr_trackerAnnouncePulse() just return safely if there's no tracker initialized. 2007-06-28 04:28:23 +00:00
Charles Kerr 81dfe09b5e make it safe to pass a bzero()ed struct into tr_metainfoFree() 2007-06-28 02:02:30 +00:00
Charles Kerr 831cd4a3da better documentation on tr_torrentParse()'s behavior 2007-06-28 01:20:10 +00:00
Charles Kerr 8aa002b25e * fix memory leak when adding torrents.
* zero out tr_torrentParse()'s tr_info_t before filling it
2007-06-28 01:12:16 +00:00
Charles Kerr ae40410b4e Fix tr_getComplete() and tr_getDone() bug reported by BentMyWookie 2007-06-28 00:09:59 +00:00
Charles Kerr 995c1cdbb1 fix r2210 oops 2007-06-28 00:04:42 +00:00
Charles Kerr 63fce9cf06 simplify tr_torrentParse() based on BWM's feedback 2007-06-27 23:22:09 +00:00
Charles Kerr 8e401729cd Modified tr_torrentCanAdd() to give the new functionality BMW suggests 2007-06-27 14:54:31 +00:00
Charles Kerr 47a5ff4120 add tr_torrentCanAdd() as per BentMyWookie's request... clear tracker error string when restarting... fix r2202 "completed" announce bug. 2007-06-27 05:14:38 +00:00
Charles Kerr 7e09d157cd Thread safety improvements. Also, stopping/starting/rechecking/etc. torrents no longer blocks the calling thread. Since this a big commit, it will probably create some short-term pain via new bugs. 2007-06-26 18:45:03 +00:00
Charles Kerr 21cf51e3f7 Add tr_stat_t.downloadedValid hook to IPC for Gimp_ 2007-06-26 17:52:45 +00:00
Charles Kerr 6011450518 building up our threading tools: implement RW locks 2007-06-25 21:52:18 +00:00
Charles Kerr 9d139eefe4 possible fix for the -0.0 percent done bug 2007-06-23 02:24:03 +00:00
Charles Kerr ab85deaf51 add color-coded lines to the gtk debug window -- info is black, debug is grey, errors are red... 2007-06-22 20:59:23 +00:00
Charles Kerr 5401979ffa misc cleanup.. ansification; fix my own typos, etc... 2007-06-22 04:30:39 +00:00
Charles Kerr e087ac395a Maybe fix the bug of progress-for-done not including non-checked files even if they're finished 2007-06-22 00:44:26 +00:00
Charles Kerr e161544761 adding experimental implementation of Tamilmani's `Swift' tit-for-tat algorithm for testing. To tweak or disable, change the values around line 50 of libtransmission/peer.c 2007-06-21 14:47:26 +00:00
Charles Kerr bda9067ee7 more improvements to makemeta's piece size heuristics (SoftwareElves & charles_) 2007-06-19 16:36:15 +00:00
Charles Kerr d4e1c19e32 better algorithm to decide on a good piece size. (SoftwareElves & charles_) 2007-06-19 06:01:30 +00:00
Charles Kerr 5128d0a434 fix terribly nasty bencode corruption bug from r2024 regarding the sorting of dictionary keys in tr_bencDictAdd(). this corrupts all the pointers that are already floating out there to existing values in the dictionary... if BitTornado really needs these to be sorted, then we should sort a temporary copy in tr_bencSave(), not here in our internal structures. 2007-06-19 03:01:57 +00:00
Charles Kerr 64ce2edbfb * makemeta: don't add dotfiles to the torrents
* bencode: trying to chase down a memory leak
2007-06-19 01:49:56 +00:00
Charles Kerr 4eea50e991 ugly code removal: we were calling stat() three times on each file! (BMW: builder struct changed slightly... this shouldn't affect the mac client but you might want to recompile to confirm) 2007-06-19 00:08:39 +00:00
Mitchell Livingston a4d5dfa328 avoid ridiculously rate divide-by-0 2007-06-19 00:08:06 +00:00
Charles Kerr 9791bb6f22 better error message (BigBossman) 2007-06-18 21:03:10 +00:00
Charles Kerr 64c21325e8 make the torrent file parser errors more useful. (John_Clay) 2007-06-18 20:56:04 +00:00
Charles Kerr 7afba516ff fix platform.c oops reported by BigBossman 2007-06-18 20:36:25 +00:00
Charles Kerr 06e761d950 * fix error checking large files reported by Gimp_
* portability changes to pathname/filename building
* small gratuitous changes
2007-06-18 19:39:52 +00:00
Charles Kerr 932438eba5 Fix very large file error reported by Gimp_ 2007-06-18 05:05:16 +00:00
Mitchell Livingston 0256f4616d Merge file selection and torrent creation into the main branch.
The new code for these features is under a new license.
2007-06-18 03:40:41 +00:00
Eric Petit 1636fc70d2 BeOS fixes 2007-06-14 11:41:09 +00:00
Josh Elsasser cf6994f559 Fix upnp verbose logging to show outgoing http requests. 2007-06-10 23:12:43 +00:00
Josh Elsasser 0eaedc2fe3 Return bad-format message when appropriate.
Fix supported message to be more accurate.
2007-06-10 22:56:18 +00:00
Josh Elsasser 1315161ae4 Add some code for verbose UPnP logging which can be enabled at compile-time. 2007-06-10 22:26:59 +00:00
Josh Elsasser de7287a829 Add a missing quote and fix UPnP regressions. 2007-06-10 22:01:46 +00:00
Josh Elsasser b19a3ec7d9 Add bad-format message. 2007-06-10 20:31:52 +00:00
Eric Petit ba5bb320ca Bencoded dictionaries are now sorted alphabetically, this should fix
compatibility with some clients, incl. BitTornado-based ones.
(Reported by roee88 from LH-ABC)
2007-06-10 15:38:58 +00:00
Charles Kerr 3b8d1e13c4 uninteresting minor stuff like adding const. this commit is just to reduce the shear between trunk and what lands in the file-selection branch. 2007-06-09 15:36:46 +00:00
Mitchell Livingston 4ada334f57 patches from Charles Kerr to update the Inspector in GTK and fix some memory leaks 2007-06-06 00:30:13 +00:00
Mitchell Livingston f7501a0dd6 attempt to kill an io bug 2007-05-31 23:40:56 +00:00
Mitchell Livingston 16627cc209 patch to avoid unneeded io checking when starting 2007-05-30 05:16:43 +00:00
Mitchell Livingston 3852bbb6e6 some rewriting of the filter bar so it can dynamically place the buttons, and some extra, yet-to-be-used code 2007-05-29 02:00:23 +00:00
Mitchell Livingston 73c6c3324e when pausing and then resuming a checking transfer, recheck from the start 2007-05-28 22:32:39 +00:00
Mitchell Livingston 78afc2f205 swap a condition in the io code 2007-05-28 16:51:18 +00:00
Mitchell Livingston c8ac8e312b make stalled check work for minutes, not seconds 2007-05-28 16:40:56 +00:00
Mitchell Livingston 0f9766145b patch from Charles Kerr: perform file checking one at a time (fixes #124) 2007-05-28 15:23:28 +00:00
Mitchell Livingston 422fff124c remove double malloc 2007-05-27 23:35:59 +00:00
Mitchell Livingston 0eca8679f8 patch to speed up io from denisx 2007-05-27 23:32:26 +00:00
Josh Elsasser e24eea37a6 Prevent our __unused hack from breaking standard headers on linux. 2007-05-27 16:30:04 +00:00
Mitchell Livingston 3d48ed389d swap download and upload activity checks 2007-05-25 21:44:26 +00:00
Mitchell Livingston e5a199d813 set activity when actually uploading 2007-05-25 21:38:24 +00:00
Mitchell Livingston 5441c5e145 define as activity as when uploading/downloading occurs 2007-05-25 21:20:54 +00:00
Mitchell Livingston b4d71e2e9a store date of last activity 2007-05-25 19:14:42 +00:00
Mitchell Livingston 7b64d78751 fix some layout formatting 2007-05-25 16:21:59 +00:00
Mitchell Livingston 8696495ee2 patch from softwareelves that relaxes the requirements for activity for peers in low peer situations 2007-05-24 20:09:32 +00:00
Mitchell Livingston 07bc103001 this shouldn't have been committed 2007-05-24 16:01:20 +00:00
Mitchell Livingston 13ab13d0d0 fix bug where when a file location was changed the valid download amount would double 2007-05-24 15:57:04 +00:00
Josh Elsasser 8fbb4eab67 Move a macro. 2007-05-24 07:11:59 +00:00
Josh Elsasser 28a4d4544e Rename ipc to ipcparse 2007-05-24 04:05:50 +00:00
Josh Elsasser c52162219e Silence some warnings. 2007-05-24 04:02:36 +00:00
Josh Elsasser 8d61b3e49e Move ipc parsing code into libt. 2007-05-24 03:44:40 +00:00
Josh Elsasser 81a6d96d6e Remove tr_handle_t argument from tr_torrentClose(). 2007-05-23 04:45:20 +00:00
Mitchell Livingston 1e44ce5e13 show Blizzard Downloader actual version (this could become wrong in future versions) 2007-05-21 15:25:28 +00:00
Mitchell Livingston c00208a8f6 add Blizzard Downloader to clients (still need to figure out the exact way version is shown) 2007-05-21 15:02:11 +00:00
Mitchell Livingston 913a83ed27 when seeding don't connect to seeders...it's just common sense 2007-05-16 03:05:25 +00:00
Mitchell Livingston 3f2861f0c7 determine upload/download rates the old way, which is not the most accurate way at a few points, but should have a positive overall impact 2007-05-16 02:03:18 +00:00
Mitchell Livingston 3af24be44e separate code for determining if there is a download with same name and location 2007-05-11 18:56:59 +00:00
Josh Elsasser 5fe9d0fcea Check error codes correctly in instead of reporting all errors as 'assert'.
Add TR_ERROR_IO_SPACE and TR_ERROR_IO_RESOURCES.
2007-05-09 18:41:22 +00:00
Josh Elsasser a3ca76cced Don't bencode signed integers as unsigned. 2007-05-09 07:00:08 +00:00
Mitchell Livingston 5aa4e9a664 differentiate old-style and new-style Transmission peer id (so version 1.01, etc is identified correctly) 2007-05-09 03:05:38 +00:00
Mitchell Livingston d2d8f9cf3c add BTQueue to clients 2007-05-09 02:55:10 +00:00
Mitchell Livingston 7e19df5444 only allow one active transfer with the same name in the same location 2007-05-05 14:43:52 +00:00
Mitchell Livingston 91e4607c64 remove inaccurate comments about announce interval 2007-05-04 17:44:31 +00:00
Mitchell Livingston 8345d49e29 add an option to reverse the sort order 2007-05-02 19:35:34 +00:00
Mitchell Livingston 7105312fba add a missing function declaration 2007-04-30 19:43:43 +00:00
Mitchell Livingston f09cc4c7f3 add Bitflu and FoxTorrent to clients 2007-04-30 01:29:00 +00:00
Mitchell Livingston 7100463899 ensure the download/upload rates that are sent to the tracker are reset when sending "started" 2007-04-29 15:28:56 +00:00
Mitchell Livingston a8a2e03d13 use malloc instead of calloc 2007-04-28 03:44:09 +00:00
Mitchell Livingston 305ccf1cd5 add ability to remove torrent cache 2007-04-28 01:34:39 +00:00
Josh Elsasser 9aaa36a431 Fix a parsing bug which could be triggered by a truncated xml file. 2007-04-26 05:40:24 +00:00
Mitchell Livingston 8fdce9f5a7 send port info 2007-04-22 15:05:14 +00:00
Mitchell Livingston 16aad395e2 streamline eta calculation 2007-04-21 13:57:30 +00:00
Mitchell Livingston 83a565b5f1 simplify ratio calculation a little 2007-04-21 13:48:05 +00:00
Mitchell Livingston d31d79b15b determine ratio by using download amount as the larger of amount downloaded by T and percent times file size 2007-04-21 06:38:37 +00:00
Mitchell Livingston ea839e8ca9 expand the last commit a bit so that ratio is calculated with the actual downloaded amount if amount downloaded in T is 0. This should eliminate ever showing infinity for ratio. 2007-04-20 23:51:15 +00:00
Mitchell Livingston dbc1e1619e if seeding without ever downloading with T, calculate ratio by using the file size as amount downloaded 2007-04-20 23:31:49 +00:00
Josh Elsasser 63bb617fa4 Add more I/O error codes. 2007-04-20 02:05:07 +00:00
Josh Elsasser f9613c4dbc Quick hack to get some PPP UPnP devices working. 2007-04-20 01:27:58 +00:00