Charles Kerr
f32d3b24fe
#653 "overflow issue in Transmission/1.01" (1) safeguard bitfield functions against overflow. (2) add regression tests to see if this data is corrupted again in the future.
2008-01-27 16:08:20 +00:00
Charles Kerr
1b7706e101
finish the trunk/1.0x libT merge: router death & portability
2008-01-21 02:11:57 +00:00
Charles Kerr
de515ee339
if the torrent's download path doesn't exist, don't create it -- it's might be a removeable disk that got unplugged.
2008-01-18 19:13:32 +00:00
Charles Kerr
dd75a769c9
fix tr_mkdirp()'s errno/retvals.
2008-01-18 01:40:41 +00:00
Charles Kerr
3a6396a3cb
mingw portability fixes
2008-01-10 18:52:46 +00:00
Charles Kerr
15ffb4232e
tr_stat.ratio now returns TR_RATIO_INF when appropriate
2008-01-04 19:13:30 +00:00
Charles Kerr
514f96418b
fix tr_buildPath() crash
2008-01-04 18:24:42 +00:00
Charles Kerr
085235b10b
remove some unused #include <ctype.h> directives
2008-01-03 20:17:01 +00:00
Charles Kerr
ce6c33b7bf
set copyright info to 2008
2008-01-01 17:20:20 +00:00
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