Commit Graph

857 Commits

Author SHA1 Message Date
Charles Kerr 7b2a9f274a accidentally checked in a debugging statement 2007-08-19 02:23:35 +00:00
Charles Kerr 027fa13c5b fix win32 build. (#304, lubomir.marinov) 2007-08-19 02:10:18 +00:00
Charles Kerr 13c91c2d99 upnp.c needs platform.h if VERBOSE_LOG is defined (ticket #305, mtolman) 2007-08-19 02:07:29 +00:00
Charles Kerr 82db9f6cc9 fix a couple of more memory leaks that valgrind found 2007-08-19 00:18:43 +00:00
Charles Kerr b66efdf998 tracker tweaks 2007-08-19 00:02:23 +00:00
Charles Kerr 1e53e9de72 shut up a compiler warning 2007-08-18 23:32:07 +00:00
Charles Kerr 8f78b809d1 fix minor memory leaks introduced in the last couple of days 2007-08-18 22:35:09 +00:00
Charles Kerr 633ade8004 added mirek's slovakian translation. added mirek, Niels Provos, and TooMuchTime to the `thanks' sectio of AUTHORS 2007-08-18 18:33:47 +00:00
Charles Kerr ea49180f94 $Id$ 2007-08-18 17:19:49 +00:00
Charles Kerr 43bfc5cd7f update version.sh to exclude third-party. add $Id:$ to the new files s.t. version.sh will find them. 2007-08-18 17:05:51 +00:00
Charles Kerr b9c2ea46ce add the content-length header. I'm not getting any tracker errors anymore; please let me know if your experience differs 2007-08-18 15:47:08 +00:00
Charles Kerr 39a43cbc08 * more work on the tracker... getting closer.
* oops!  make sure autoconf is giving the `0.80+' in the User-Agent header.
2007-08-18 08:28:57 +00:00
Charles Kerr 3a45686c3f push event_del() through the libevent pipe too. 2007-08-18 06:59:20 +00:00
Charles Kerr 9cb2dcb63d better error reporting in the new tracker code 2007-08-18 06:06:53 +00:00
Charles Kerr 3f777e3cb9 before the first scrape, set leechers/seeders/downloads to -1 to represent n/a 2007-08-18 03:11:08 +00:00
Charles Kerr 35b727788e do all the libevent enqueuing from a single thread. 2007-08-18 03:02:32 +00:00
Charles Kerr 8713d3468c don't cache the connection; these are one-shot requests 2007-08-17 05:00:59 +00:00
Charles Kerr d5cfbf9426 this seems to fix the double-start bug reported by joshe 2007-08-17 04:50:45 +00:00
Charles Kerr 34e8174ee8 shut down the libevent thread gracefully on shutdown 2007-08-17 03:37:45 +00:00
Charles Kerr 0c60e29934 whee 2007-08-17 03:13:42 +00:00
Charles Kerr c449a4665d fix shutdown error in the new tracker code, reported by joshe 2007-08-17 03:03:28 +00:00
Charles Kerr 5c3d45767e fix crash-on-startup bug reported by Lacrocivious 2007-08-16 20:59:09 +00:00
Charles Kerr 5f5a743790 the new tracker code seems to be working, so now it's time for me to learn yet again how much better users are at noticing bugs than I am. :) 2007-08-16 20:00:06 +00:00
Josh Elsasser 3d65dcd13e I'm an idiot. Base 2 is not the same thing as base 16. 2007-08-16 18:34:44 +00:00
Josh Elsasser 3d0e98b2c7 Save client name from azureus or extended handshake, overriding name deduced from peer id. 2007-08-15 23:03:50 +00:00
Josh Elsasser 7301b39c8b Rework utf-8 string concat function a little and make it more widely available. 2007-08-15 23:02:56 +00:00
Josh Elsasser 8f6b8020bc Implement proposed extension to indicate which of azrueus or extended messaging are preferred.
This is disabled for now.
2007-08-15 21:26:24 +00:00
Josh Elsasser 4c1c2667b6 Use macros instead of magic numbers when creating and parsing handshake.
Make it trivial to disable extended messaging or azureus protocol at compile-time, for debugging.
2007-08-15 19:44:13 +00:00
Charles Kerr 87496d2b48 avoid a race condition between msg_init and the libevent thread's tr_dbg() call 2007-08-15 03:26:55 +00:00
Charles Kerr db7a354958 more work on getting our autoconf setup to play nice with libevent 2007-08-15 02:48:32 +00:00
Charles Kerr 2bf071543b get some pieces of the new tracker code into svn... 2007-08-14 20:45:23 +00:00
Charles Kerr 5989151ed5 (trunk) revert yesterday's tracker changes. 2007-08-14 20:08:57 +00:00
Charles Kerr 6cf6dc9142 more hacking on making libevent build, and on making T pick it up in includes & library 2007-08-14 19:53:36 +00:00
Charles Kerr 02606d6675 add populate and cleanup utils for tr_tracker_info_t, since bencode and the new tracker code will both use it 2007-08-14 15:24:48 +00:00
Charles Kerr 26dabf816e make list less error-prone by changing the API s.t. we're guaranteed to update the list's pointer correctly. 2007-08-14 14:18:54 +00:00
Charles Kerr 3fe2dbe5d0 forgot to check this one in. thanks to nickshanks, webaake, et al 2007-08-13 18:41:19 +00:00
Charles Kerr 7254a96ce8 let fastresume remember which torrents are stopped and which are running. 2007-08-13 16:43:33 +00:00
Charles Kerr ab57bfb2d2 (trunk) fix accidentally-swapped switch cases 2007-08-13 15:40:45 +00:00
Charles Kerr d2ddd4cb4e (trunk) dead code removal. (ticket #286) 2007-08-13 14:35:37 +00:00
Charles Kerr 9acf79d665 (trunk) make torrent creation's piece size more flexible. (ticket #293 reported by matt) 2007-08-13 13:57:12 +00:00
Mitchell Livingston 03de70ffa7 identify a client's peer id correctly 2007-08-10 18:06:52 +00:00
Charles Kerr 6355f031e4 (trunk) minor tweak to gracefully handle leading spaces in the announce URL. Reported by Lacrocivious 2007-08-08 23:48:10 +00:00
Charles Kerr 2cbff8d444 (trunk) portability patch for MAXPATHLEN. Reported by afxgroup in ticket #291. 2007-08-08 23:33:01 +00:00
Charles Kerr f2daeb242d (trunk) add tweak to boost the priority of the first and last piece of a file so that early previewing is possible. Suggested by mtolman in http://transmission.m0k.org/forum/viewtopic.php?t=2110 2007-08-08 15:07:06 +00:00
Charles Kerr 51096225bd (trunk) rewrite peerCheck code based on comments from mtolman in http://transmission.m0k.org/forum/viewtopic.php?t=2106 2007-08-08 06:01:52 +00:00
Charles Kerr 3cb5ba7eed (trunk) fix assertion failure reported by kdrweez in http://transmission.m0k.org/forum/viewtopic.php?t=2096 2007-08-08 05:17:51 +00:00
Charles Kerr 82311abfbe (trunk) fix assertion bug in torrent.c::fileByteCompleted() 2007-08-07 14:17:37 +00:00
Mitchell Livingston 0ec5461b50 add BitTorrent DNA to clients 2007-08-06 21:34:38 +00:00
Charles Kerr dbd016e503 sync joshe's changes with win32 2007-08-04 02:55:06 +00:00
Charles Kerr b79d325cd5 use inttypes.h instead of stdint.h 2007-08-04 01:34:00 +00:00
Josh Elsasser 2ead51f79d Use __BEOS__ to test for beos instead of relying on the build to set SYS_BEOS.
Add missing headers and other miscellaneous fixes for beos.
2007-08-04 01:17:39 +00:00
Josh Elsasser b46052826c Include inttypes.h instead of stdint.h to unbreak beos.
Hopefully this won't break anything.
2007-08-04 00:43:47 +00:00
Charles Kerr c51007f916 BeOS portability fixes from ModeenF 2007-08-03 16:28:32 +00:00
Charles Kerr f158112ece clarify the speedlimit comments 2007-08-03 15:55:32 +00:00
Mitchell Livingston 2cb1160945 add Pando to clients 2007-08-03 11:01:33 +00:00
Charles Kerr ef2fc4fdcf More win32 portability fixes. we now talk to tracker & peers; hash checks work, downloads seem to work. w00t 2007-08-02 23:33:40 +00:00
Charles Kerr 6763ec75e8 more portability fixes 2007-08-02 21:58:34 +00:00
Charles Kerr 1fd5f90a77 win32 cleanly compiles and starts now. (still doesn't atually *work*, but we're getting closer...) 2007-08-02 19:43:29 +00:00
Charles Kerr 65b81d09b6 use a straight lock, rather than a rwlock, for rate control 2007-08-02 16:07:34 +00:00
Charles Kerr 0e1e45605a fix manual-announce but noted by BMW 2007-08-02 02:38:42 +00:00
Charles Kerr 25c1dff6d8 fix tyop 2007-08-01 23:22:01 +00:00
Charles Kerr 8aebe31de1 tr_trackerCanManualAnnounce() should return false immediately after the user's manually announced; not just after the announce request is processed by the tracker 2007-08-01 13:33:01 +00:00
Mitchell Livingston 043d517730 in the clients list show dev builds as Transmission as "+" builds 2007-08-01 02:38:31 +00:00
Charles Kerr 26caf4f5dd More Win32 portability changes 2007-08-01 00:40:49 +00:00
Charles Kerr 497856e6e4 add Win32 implementations of tr_thread_t, tr_mutex_t, and tr_cond_t 2007-07-31 19:56:40 +00:00
Charles Kerr ba3dc008fc get the socket/net code working on win32 too 2007-07-31 16:55:47 +00:00
Charles Kerr 0f85cc3297 continue whittling away at internal.h to reduce the global #include dependencies 2007-07-31 14:26:44 +00:00
Charles Kerr 11752dae78 remove unused macros 2007-07-31 01:21:10 +00:00
Charles Kerr 88fe038e6e (libT) not all libT source files need to #include sha1/openssl, just three of them. Also, no need to compile a local sha1 implementation if we're using openssl's. 2007-07-30 19:55:10 +00:00
Charles Kerr d209052051 add portability wrapper for in_port_t... 2007-07-30 18:04:10 +00:00
Charles Kerr 1be185aacd (libT) get "update tracker" working again.
(gtk) add "update tracker" button.
2007-07-30 17:11:00 +00:00
Charles Kerr ebb141b232 better encapsulation of platform-specific constructs: tr_thread_t, tr_cond_t, tr_lock_t 2007-07-30 15:27:52 +00:00
Charles Kerr 7ba03d40b7 sync the two build systems w.r.t. dirname() and basename() 2007-07-30 14:31:03 +00:00
Charles Kerr d8f8f9f922 Get BeOS client building on Zeta 1.21 thanks to patches by Fredrik Modéen 2007-07-30 13:59:23 +00:00
Charles Kerr e1eaae5d19 fix small memory leak 2007-07-29 19:16:13 +00:00
Josh Elsasser e429ebcb1b Add a couple headers needed to build on openbsd. 2007-07-29 18:31:25 +00:00
Charles Kerr e07d0220a9 this looks bug but it's not: just janitorial cleanup, moving #includes from headers into source file 2007-07-29 18:11:21 +00:00
Charles Kerr 7cfafc5371 * now that we've got a new function at the top of the CPU hog list, tweak it too.
* reduce large torrents' memory consumption in tr_completion_t.
2007-07-28 22:47:10 +00:00
Charles Kerr 530507760b fix r2531 bug reported by Lacrocivious 2007-07-28 16:31:08 +00:00
Charles Kerr 29367fda62 add a temporary debugging statement for Lacrocivious 2007-07-28 15:58:59 +00:00
Charles Kerr 79a0081092 a nice patch that makes the three most CPU-hogging functions (as reported by Shark) essentially free and reduces memory overhead by 8 bytes per piece per torrent. Lots of asserts for extra testing fun. 2007-07-28 15:43:34 +00:00
Charles Kerr a9fc478955 get both build systems (hand-written configure, and autoconf) to generate equivalent version.h headers 2007-07-28 04:10:09 +00:00
Charles Kerr 9542f7fe9e * better `info' icon for torrent inspector.
* fix internal.h ifdefs s.t. we can use openssl for SHA1 when using configure.ac
2007-07-28 02:17:15 +00:00
Charles Kerr a180698e8a save a little bit of memory per-torrent. 2007-07-27 23:07:26 +00:00
Charles Kerr b372ce45bf fix stupid typo in completion.c that gave the wrong valid dl amount 2007-07-27 11:56:34 +00:00
Charles Kerr 9e266f6cbc tweak r2510 misassertion reported by Lacrocivious 2007-07-27 01:59:48 +00:00
Charles Kerr cd52d97529 refinement of r2510 2007-07-27 01:58:49 +00:00
Charles Kerr 0e6f766a57 gracefully fail when poison torrents containing no files, or zero byte files, are opened. 2007-07-27 01:50:26 +00:00
Charles Kerr 8f4fb4efbe speed improvements to tr_torrentStat() by folding two expensive & redundant functions together. 2007-07-27 01:22:49 +00:00
Charles Kerr 3b6b9d3852 fix bug in tr_cpDownloadedValid() that caused download sizes of > 4 GiB to be misreported locally 2007-07-26 19:15:36 +00:00
Charles Kerr 31ac4e604a a better fix for the tr_rand() crash experienced earlier today 2007-07-26 03:57:45 +00:00
Charles Kerr daf26881b7 avoid using tr_rand() in peerPulse(); it's giving both me and SWE some odd behavior 2007-07-25 20:55:39 +00:00
Charles Kerr abbcc72154 fix misassertion from a couple of revisions ago when trying to smoke out SoftwareElves' bug 2007-07-25 19:01:36 +00:00
Charles Kerr 3e40e06938 avoid null pointer dereferencing in tr_torrentInit*() as reported by wereHamster 2007-07-25 18:43:21 +00:00
Charles Kerr fd7c112151 fix endgame bug reported again and again and again by SoftwareElves ;) 2007-07-25 18:30:00 +00:00
Charles Kerr d84c2bd44a some assertions to smoke out the error that SoftwareElves is seeing 2007-07-25 17:46:00 +00:00
Charles Kerr c81f38360f Undo the reporting stats change in r2493, based on info from xiffix that Azureus does not do this for the tracker, and when uTorrent did, it provoked a ban. 2007-07-25 17:38:05 +00:00
Charles Kerr e8fb29ea44 fix compiler warnings reported by wereHamster 2007-07-25 17:27:19 +00:00
Charles Kerr 66883e72a9 fix double-free crash on opening a corrupt torrent file. reported by wereHamster 2007-07-25 17:19:29 +00:00
Charles Kerr 88d4df169b Follow Azureus' and uTorrent's lead in not counting corrupt pieces in our announce data, as it could give us a misleadingly bad share ratio . (Ticket #263) 2007-07-25 16:50:32 +00:00
Charles Kerr d259e7b65a Fix peer destructor bug from ticket #270. This bug dates back to r1419 in January... I'm surprised it hasn't been reported before now. 2007-07-25 16:33:22 +00:00
Charles Kerr 95313e077a fix off-by-one in r2488 reported by BentMyWookie. Hooray for assert()! 2007-07-25 02:28:25 +00:00
Charles Kerr 730d6df742 * fix overflow error from earlier today. (this was the crash talked about in IRC)
* fix long-standing error that occurred when pieceSize isn't evenly divisible by blockSize
* speed up and macro-ize piece-to-block conversions
2007-07-25 01:59:46 +00:00
Mitchell Livingston a459ba3a74 make values in newly created .torrent files alphabetically sorted 2007-07-25 01:00:17 +00:00
Charles Kerr 79b85b36ab add some assertion tests for #transmission 2007-07-24 20:49:47 +00:00
Charles Kerr 8c79683c83 take a shot in the dark on the crash reported in #transmission 2007-07-24 20:29:27 +00:00
Charles Kerr e352d56925 fix the high CPU load during endgame. 2007-07-24 18:59:37 +00:00
Charles Kerr 339005346c remove unused function tr_cpMostMissingBlockInPiece() 2007-07-24 17:08:45 +00:00
Charles Kerr e1c18610be remove unused function _tr_blockPosInPiece() 2007-07-24 16:04:43 +00:00
Charles Kerr 17a8ae9fa2 faster tr_cpGetStatus() and tr_bitfieldHas(), which were showing up at the top of the CPU profile. 2007-07-24 14:51:46 +00:00
Charles Kerr eefa51c65c tr_cpBlockAdd: small speedup. 2007-07-24 11:50:29 +00:00
Charles Kerr 7326f4db32 do the low-CPU tests first when deciding which blocks to request. these get called a /lot/ during endgame. 2007-07-24 11:47:59 +00:00
Charles Kerr dd55805012 much faster rechecking of incomplete torrents. added tr_stat_t.recheckProgress field. 2007-07-24 01:33:59 +00:00
Charles Kerr c7d97e5f0a get "recheck files" working properly again. 2007-07-24 00:09:23 +00:00
Charles Kerr eaca893b4c set default torrent ul/dl speed limits from global ul/dl speed. as a side effect, totally decouples fastresume from inout. 2007-07-23 03:00:20 +00:00
Charles Kerr 486f483751 xmission: load torrents on startup and populate the torrent list. 2007-07-22 02:24:13 +00:00
Charles Kerr 809ec63e95 new utility function for app startup: tr_loadTorrents() 2007-07-21 18:46:54 +00:00
Charles Kerr a9526adbdd put information messages in tr_inf(), not fprintf() 2007-07-21 18:31:08 +00:00
Charles Kerr 50f407933b when closing torrents, don't try to re-stop torrents that are already stopped. 2007-07-21 18:03:24 +00:00
Charles Kerr 1d932b07c7 fix looooong-standing bug that choked tracker connections 2007-07-21 17:35:47 +00:00
Charles Kerr bbac082af5 finish splitting the rate control from one state into two states as requested by BMW 2007-07-20 08:33:59 +00:00
Charles Kerr 3e3bf8b4a7 more work on speed control 2007-07-20 06:08:34 +00:00
Charles Kerr 4ef1592e6b more work on the speed limits as hammered out w/BentMyWookie 2007-07-20 03:24:04 +00:00
Charles Kerr 459b8958cb simplify xml.c and utils.c's dependencies 2007-07-19 11:54:37 +00:00
Charles Kerr c24fc6e16a de-inline some big functions. 2007-07-19 10:56:14 +00:00
Charles Kerr 05d88f2c48 remove the TR_HTONL macro 2007-07-19 10:49:44 +00:00
Charles Kerr 6d21f2fb16 remove TR_NTOHL macro 2007-07-19 10:37:30 +00:00
Charles Kerr 615afaa445 add extra state change checks 2007-07-19 03:48:27 +00:00
Charles Kerr 73cfb2605d include version.h.in, not version.h, in "make dist" 2007-07-18 23:05:38 +00:00
Charles Kerr 2a9ab2a7d9 add version.h.in 2007-07-18 23:04:50 +00:00
Charles Kerr bd3ce76fa5 part one of moving the build environment over to automake/autoconf. beware! 2007-07-18 23:04:26 +00:00
Charles Kerr b73297e799 sync with r2397 2007-07-18 22:59:29 +00:00
Charles Kerr 3c60fb0ded remove unused variable 2007-07-18 22:11:47 +00:00
Josh Elsasser 99e471f05d Replace nice readable bitshifts with ugly hex constants
to avoid the compiler warning about our weird error codes.
2007-07-18 18:09:03 +00:00
Josh Elsasser 900aff7beb Include trcompat.h for asprintf()
Don't mix function and non function pointers without casting.
Replace a couple bzero()s with memset()s.
Remove a stray ;
Include a missing header.
2007-07-18 17:25:42 +00:00
Josh Elsasser adc0d4ac92 Add asprintf implementation for systems which lack it. 2007-07-18 17:19:14 +00:00
Charles Kerr dbe96a9e82 fold per-torrent ul/dl speed cap settings into libtransmission. synchronize gtk+ client with this change. breaks os x client. 2007-07-18 05:27:45 +00:00
Charles Kerr 04af3493d5 maybe fix ticket #256. or maybe not. I'd need the osx client to tell, so BentMyWookie gets to test my code as usual. 2007-07-18 03:30:57 +00:00
Mitchell Livingston 53d15b5483 images for priorities, courtesy of BigBossman 2007-07-18 00:59:08 +00:00
Charles Kerr d182f5b4b6 test fix tr_getDone() for BentMyWookie 2007-07-17 00:31:38 +00:00
Charles Kerr 9c7a913cdc r2377 cleanup 2007-07-16 23:52:05 +00:00
Mitchell Livingston 091a56d4ca identify dev builds of transmission correctly in the peers list 2007-07-16 21:57:22 +00:00
Charles Kerr 2f173fd4d4 fix overlap bug in file-selection where files adjacent to a "do not download" file could end up missing a few bytes. 2007-07-16 19:57:34 +00:00
Charles Kerr 1d95bcc689 re-randomize peer_id each time we start a torrent. (ticket #257) 2007-07-16 11:19:44 +00:00
Josh Elsasser 1ee1b38c60 Add getright peer id. 2007-07-16 05:53:10 +00:00
Charles Kerr 82fbfb4c47 disambiguate some of the tr_stat_t variables' names 2007-07-16 00:50:43 +00:00
Charles Kerr a814d843ad get UPNP working again. huge thanks to BigBossman and persept for doggedly tracking down this bug. 2007-07-15 22:18:49 +00:00
Charles Kerr 7229f6c56b remove more functions made obsolete by tr_torrentFile(). 2007-07-15 20:29:57 +00:00
Charles Kerr 59459feb26 replace tr_torrentGetFileStatus() with tr_torrentFiles() for BMW 2007-07-15 20:05:32 +00:00
Charles Kerr 321b01d430 make tr_torrentStat() const.
malloc, rather than calloc, the buffer in strndup.
2007-07-15 19:12:54 +00:00
Charles Kerr 4a0c4b6fbc make tr_torrentGetFileStatus() more accurate 2007-07-15 18:47:43 +00:00
Charles Kerr ad6ae58e06 fix the bugs outlined by cluthi81 in ticket #255. 2007-07-15 17:36:56 +00:00
Charles Kerr 73ca83a455 split tr_stat_t's peersTotal into peersTotal and peersConnected 2007-07-15 17:19:07 +00:00
Mitchell Livingston 975e066919 whoops 2007-07-15 15:45:08 +00:00
Mitchell Livingston 1facf22f58 move towards fixing activity display bug 2007-07-15 15:43:31 +00:00
Charles Kerr a572902dae make tr_stat_t and tr_peer_stat_t more accurately reflect ul/dl rates 2007-07-15 05:18:18 +00:00
Josh Elsasser 9120508167 According to azureus, bitspirit v0 is really v1. 2007-07-15 05:13:35 +00:00
Josh Elsasser 1e3248e54a Add bitspirit to clients list. 2007-07-15 05:02:30 +00:00
Charles Kerr 8bf8cb4c47 if a torrent's status changes due to a manual recheck while a torrent is stopped, update the torrent's seeding/downloading state appropriately. 2007-07-15 04:19:39 +00:00
Charles Kerr 1c7c8072b4 fix crash on zero-byte torrents 2007-07-15 03:52:51 +00:00
Charles Kerr 4311b160b5 add tr_torrentGetFileStatus() for BentMyWookie 2007-07-15 03:26:22 +00:00
Josh Elsasser 1ecbe8da65 Change a couple functions to take an in_addr pointer instead of an in_addr.
Forward declare struct in_addr and include the relevant headers in the .c files where it's used.
2007-07-14 16:29:21 +00:00
Josh Elsasser 1b5cde1edb Don't silently ignore IPC messages which aren't in the table (oops). 2007-07-14 05:29:18 +00:00
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