Commit Graph

432 Commits

Author SHA1 Message Date
Charles Kerr 75d4a2b8c2 fix an obscure bug in tr_torrentStat() where (% verified + % unverified + % unavailable) could be > 1.0 2007-12-19 05:57:55 +00:00
Charles Kerr 7249aed5e4 fix r4109 oops: a debugging console message snuck into svn 2007-12-09 17:17:44 +00:00
Charles Kerr ffe9e52e14 I think this one-line change may fix all the "Transmission 0.95 ate my data, corrupted my hard drive, and killed my cat!" complaints 2007-12-09 15:26:27 +00:00
Charles Kerr b17d8c34f8 undo r4093 for bmw 2007-12-08 19:47:44 +00:00
Charles Kerr 008a403463 ensure that the `file' variable passed to tr_msg() is never NULL 2007-12-08 19:42:07 +00:00
Charles Kerr 73ee11f233 Use libnatpmp for port mapping. rewrite the upnp/natpmp manager.
NOTE: this will break the xpjets build until SoftwareElves or a volunteer patches the xcode project file to make a libnatpmp library just like was done for libminiupnp.
2007-12-08 19:34:15 +00:00
Charles Kerr d0047acc86 reimplement tr_buildPath() using struct evbuffer 2007-11-27 04:11:39 +00:00
Charles Kerr 0ed3610468 fix crash on startup reported by Gimp_ 2007-11-26 05:03:28 +00:00
Charles Kerr 8516860fec fix a bug in tr_stat's availability numbers, reported by BentMyWookie 2007-11-11 16:33:04 +00:00
Charles Kerr fd430fde90 undoing the r3773-r3774 experiment. 2007-11-09 20:07:52 +00:00
Charles Kerr 67b719c2de on Darwin, use NSCParameterAssert() instead of assert(). 2007-11-09 19:50:40 +00:00
Charles Kerr bc3eff899f * some work on lessening the way we hammer the router.
* move strlcpy and strlcat out of their own files and into utils.c
2007-11-08 04:11:09 +00:00
Charles Kerr 71f4efcbad update our #includes now that libevent has cleaned up event.h 2007-11-07 18:26:19 +00:00
Charles Kerr b43bb1483d fix libevent #include quirk reported by SoftwareElves 2007-11-07 03:13:04 +00:00
Charles Kerr 476de56e45 the libevent header file comments LIED about the return value of evbuffer_add_vprintf()! 2007-11-06 23:10:04 +00:00
Charles Kerr 60aab6c433 remove libtransmission code that duplicates functionality in libevent 2007-11-06 21:14:30 +00:00
Charles Kerr 9df263326d use Thomas Bernard's miniupnp library instead of rolling our own. 2007-11-06 16:02:50 +00:00
Charles Kerr e625b10d6d "corruption" fix part 3: cleanup. remove unneeded possible points of failure. 2007-10-31 18:10:55 +00:00
Charles Kerr a6206b036c "corruption" fix part 2: lots of assertions, and try to complete pieces & ban bad peers sooner 2007-10-31 04:23:51 +00:00
Charles Kerr 96351b93ef part 1 of the data corruption fix: plug the leaky abstraction in fdlimit 2007-10-30 18:35:06 +00:00
Charles Kerr 6527f4e12a dead code removal. 2007-10-20 15:17:36 +00:00
Charles Kerr 212470560e fix overflow error that caused timers with intervals larger than 35 minutes to be lost... which is nastier than it sounds, since that's shorter than many tracker announce intervals. 2007-10-18 18:32:58 +00:00
Charles Kerr 3210f92085 const-ify tr_msg()'s input arguments 2007-10-17 18:24:53 +00:00
Charles Kerr efe4847204 new utility (tr_loadFile), and reimplement metainfo's "readtorrent" to use it. 2007-10-15 20:15:34 +00:00
Charles Kerr c75f49bc26 * add a per-peer request queue to hold the next 10-15 seconds' worth of requests so that we always have more requests at hand when the current requests start to run low.
* increase the tracker `numwant' variable to grow our peer pool
* bugfixes in cancelling requests.
* make the debug log sexy and readable like uTorrent's ;)
2007-10-06 18:20:52 +00:00
Charles Kerr 0872b4f40a fix the crash reported by Waldorf and John_Clay 2007-10-04 20:31:19 +00:00
Charles Kerr dd8dc4d87e tweak the bitfield code to be a little faster. 2007-09-25 17:43:39 +00:00
Charles Kerr 28bcf6204b clamp down on the flood of debug messages. 2007-09-20 23:33:46 +00:00
Mitchell Livingston 76da1185ca merge encryption branch to trunk (xcode project is still out of date) 2007-09-20 16:32:01 +00:00
Charles Kerr 53d48e4c37 add utility function for setting libevent timer intervals 2007-08-23 20:33:01 +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
Charles Kerr ab57bfb2d2 (trunk) fix accidentally-swapped switch cases 2007-08-13 15:40:45 +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
Charles Kerr c51007f916 BeOS portability fixes from ModeenF 2007-08-03 16:28:32 +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 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 26caf4f5dd More Win32 portability changes 2007-08-01 00:40:49 +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 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 31ac4e604a a better fix for the tr_rand() crash experienced earlier today 2007-07-26 03:57:45 +00:00
Charles Kerr e8fb29ea44 fix compiler warnings reported by wereHamster 2007-07-25 17:27:19 +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
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 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 dd55805012 much faster rechecking of incomplete torrents. added tr_stat_t.recheckProgress field. 2007-07-24 01:33:59 +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 3c60fb0ded remove unused variable 2007-07-18 22:11:47 +00:00
Josh Elsasser adc0d4ac92 Add asprintf implementation for systems which lack it. 2007-07-18 17:19:14 +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 321b01d430 make tr_torrentStat() const.
malloc, rather than calloc, the buffer in strndup.
2007-07-15 19:12:54 +00:00
Charles Kerr 1c7c8072b4 fix crash on zero-byte torrents 2007-07-15 03:52:51 +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 790476ac23 clean up #includes a bit. 2007-07-12 17:51:45 +00:00
Charles Kerr a166914a27 fix endgame bugs 2007-07-06 16:17: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 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 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 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
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
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
Mitchell Livingston 7e19df5444 only allow one active transfer with the same name in the same location 2007-05-05 14:43:52 +00:00
Josh Elsasser 63bb617fa4 Add more I/O error codes. 2007-04-20 02:05:07 +00:00
Josh Elsasser 09c87aad84 Merge PEX branch, I hope this works. 2007-03-23 08:28:01 +00:00
Josh Elsasser 6ebeef7924 Correctly bencode strings containing nul characters. 2007-01-28 23:26:57 +00:00
Mitchell Livingston c351ac51f8 typo 2007-01-14 16:57:31 +00:00
Eric Petit e5e6a8b5df Merge io branch into trunk 2007-01-14 12:00:21 +00:00
Josh Elsasser 0257761670 Merge nat-traversal branch to trunk. 2006-09-25 18:37:45 +00:00
Josh Elsasser 50ed4c6770 Allow a couple of the message functions to be called before the first tr_init() 2006-08-30 16:35:33 +00:00
Josh Elsasser a647015714 Add time to messages. 2006-08-22 02:32:46 +00:00
Josh Elsasser 43e6dd56aa Rework the message stuff again to be easier on the frontend. 2006-08-22 02:12:58 +00:00
Josh Elsasser 69f43ff729 Make message level available to message handler callback. 2006-08-20 22:45:04 +00:00
Josh Elsasser 8bc4cefa2d Allow frontend to change message output level.
Rename tr_setErrorFunction() to tr_setMessageFunction()
2006-08-20 18:15:25 +00:00
Josh Elsasser 555f12b64a Allow frontend to supply a custom function for displaying libtransmission errors. 2006-07-16 23:40:22 +00:00
Eric Petit f199e0a9d9 Revert [619] 2006-07-16 19:39:23 +00:00
Mitchell Livingston 5d36721a15 Remove old Sparkle... 2006-07-16 19:28:19 +00:00
Josh Elsasser 0600f3d4aa Add support to libtransmission and the MacOS X GUI for saving private copies of
torrent files.
2006-06-09 19:53:35 +00:00
Eric Petit f98fe6a1b0 Added $Id$ keywords and updated a few headers 2006-05-29 21:21:23 +00:00
Eric Petit dfe3bc870a Merged simple_http_parsing branch 2006-04-11 22:37:43 +00:00
Eric Petit a6aa884776 Import from 2005-10-26 2006-01-12 17:43:21 +00:00