Commit Graph

699 Commits

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