Commit Graph

1286 Commits

Author SHA1 Message Date
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 2085aec390 #613: fix handshake protocol error reported by brad- and tracked down w/Lacrocivious' help. 2008-01-26 03:43:49 +00:00
Charles Kerr d922389c9d #613: fix handshake error with libtorrent / mainline peers 2008-01-24 17:16:20 +00:00
Charles Kerr b1cd6ecccc remove unused "max unchoked peers" feature. fix obsolete TR_FLAG_SAVE comment. 2008-01-23 17:06:36 +00:00
Charles Kerr d4128740d1 since we're not using evdns, don't call evdns_init() and evdns_shutdown() anymore. 2008-01-21 23:36:43 +00:00
Charles Kerr 0dd150844a make tr_handleStatus() return a const 2008-01-21 18:24:37 +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 de21d77af2 test code to test a "router death" theory in the nightlies 2008-01-20 03:21:51 +00:00
Charles Kerr 43a83f31bb change the default global connection limit to 200 in tr_init() 2008-01-20 01:50:51 +00:00
Charles Kerr 3a47dfdb23 (router death) dial down the max number of new sockets per second even lower 2008-01-19 03:44:44 +00:00
Charles Kerr 3c6eeef439 fix a socket leak in peer-msgs 2008-01-19 03:30:45 +00:00
Charles Kerr a771f34373 stagger out the reannounce messages too, just as 0.82 did, as per denisx_'s suggestion 2008-01-19 01:34:02 +00:00
Charles Kerr 737bb23743 more work on "router death": stagger out tracker scrape attempts and close a loophole in the handshake code 2008-01-19 00:28:52 +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 52c3243b4b more test code to address "router death". Based on maxintech's feedback in the forums, try making the peer manager's reconnect intervals and volume more like 1.00 2008-01-17 03:43:08 +00:00
Charles Kerr 6c6228770c fix byte ordering of the port in tr_peerIoAddrStr() 2008-01-17 00:08:40 +00:00
Charles Kerr 377c00a826 a test: if we set the reconnect period to any given peer to > 900 seconds, will that make "router death" go away? 900 seconds is the usual router setting for timing out bad sockets. 2008-01-16 20:24:18 +00:00
Charles Kerr 5965d8d1ae handle tr_torrentClose( NULL ) gracefully. 2008-01-16 17:57:13 +00:00
Charles Kerr 61fc032dc1 sync peersSendingToUs with isDownloadingFrom, reported by BentMyWookie 2008-01-16 17:52:47 +00:00
Charles Kerr a1e20dd7e9 more work on "router death": if we can't connect to a given peer, retry it fewer times and wait much longer between retries. 2008-01-16 15:13:02 +00:00
Mitchell Livingston ff833b37d6 fix compiling error with last commit 2008-01-15 22:40:58 +00:00
Charles Kerr d48f7a0026 housekeeping. tweak comments, group API calls a bit. 2008-01-15 22:00:58 +00:00
Charles Kerr ca70ef18bb drive the throttle even lower.. max of 16 connections per second. 2008-01-15 06:02:47 +00:00
Charles Kerr 925153e67b #620: assertion failure: `pad_d_len <= 512' in handshake.c:527 2008-01-14 16:17:02 +00:00
Charles Kerr 2c7a7c4253 throttle the number of new connections per second down even further from 48 to 32 because of the continuing "kills my router" reports 2008-01-13 21:05:38 +00:00
Charles Kerr e7163a5433 #593: 1.01 crash 2008-01-13 15:52:56 +00:00
Charles Kerr 90f5c61327 tweak the conncetions a little bit 2008-01-11 19:44:45 +00:00
Charles Kerr 876cd4c413 test patch for the "router death" bug: throttle the number of connections made per second 2008-01-11 18:13:09 +00:00
Charles Kerr fe9cabbe4b fix r4608 oops 2008-01-11 02:40:32 +00:00
Charles Kerr 39b1db460d follow the spec's suggestion that new connections be 3x as likely for optimistic unchoke 2008-01-11 02:09:20 +00:00
Charles Kerr 6f6adb1d53 try to ramp up fast connections more quickly. 2008-01-11 00:38:26 +00:00
Charles Kerr 939f1541c6 mingw portability fixes: libtransmission #includes 2008-01-10 19:52:56 +00:00
Charles Kerr 6432363f64 mingw portability fixes: #includes in natpmp.c 2008-01-10 19:27:13 +00:00
Charles Kerr 8c6c822acd mingw portability fixes: getrlimit/setrlimit in fdlimit 2008-01-10 19:22:11 +00:00
Charles Kerr 3a6396a3cb mingw portability fixes 2008-01-10 18:52:46 +00:00
Mitchell Livingston bedfab2ccc clarify peer upload and download 2008-01-10 00:52:02 +00:00
Charles Kerr 5d93bd2c93 a smaller buffer size seems, counterintuitively, to improve the overall transfer rate when speed limits are turned on, because it gives more peers a chance to be involved in xfer before we hit the limit. 2008-01-09 19:22:25 +00:00
Charles Kerr 591f7f8b10 * improve the unchoking algorithm.
* when deciding which peers to connect to, take peer's previous speeds into account
* longer delay interval before reconnecting to peers that didn't give us data
* added uTorrent-inspired "flags" column in tr_peer_stat and gtk's torrent details' "peer" tab
2008-01-09 17:33:43 +00:00
Charles Kerr 8bc02db55e mollify a noisy debugging message 2008-01-08 20:08:45 +00:00
Charles Kerr fcd4aa25e8 #601: crash when in "deep logging" mode 2008-01-08 14:48:05 +00:00
Charles Kerr 549778dc7e #589 fix crash that occurred when the next-to-last file in a torrent ended on a piece boundary and the last file had a size of 0 bytes. 2008-01-08 03:08:36 +00:00
Charles Kerr 4f0f6e150e fix another OpenBSD alignment bug reported by naddy 2008-01-08 01:57:48 +00:00
Charles Kerr 6db7a5177f #598: fix openbsd alignment & #include issues reported by naddy 2008-01-07 19:17:43 +00:00
Charles Kerr a7ff9218ab grumble bikeshed grumble 2008-01-07 17:52:50 +00:00
Charles Kerr 30d00fbc53 cleanup 2008-01-07 06:19:34 +00:00
Mitchell Livingston efd3910b09 patch from SWE to display the correct # of peers connected 2008-01-07 04:28:36 +00:00
Charles Kerr a88af6a758 better fix for r4532 2008-01-07 00:42:53 +00:00
Charles Kerr f98ab5b375 fix "other" error string in IPC. Reported by jan_doa_; fixed by SoftwareElves 2008-01-07 00:19:41 +00:00
Charles Kerr 1e45d3e478 better lazy generation of "allowed set": wait until we get the {have-all|have-none|bitfield} from the peer so that we'll know if they qualify for an allowed set 2008-01-06 22:20:44 +00:00
Charles Kerr 35f73c097c lazy "allowed set" generation. add regression test for "allowed set" generation. 2008-01-06 21:56:30 +00:00
Charles Kerr 3cfbb199af remove unnecessary assertion 2008-01-05 19:01:51 +00:00
Charles Kerr 6c3eab0a92 #585: 1.00 could be sped up by elminating reconnect intervals for some peers 2008-01-05 18:17:56 +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 638f0b0bae `paused' torrent ctor argument wasn't being honored right. 2008-01-04 05:42:41 +00:00
Charles Kerr 085235b10b remove some unused #include <ctype.h> directives 2008-01-03 20:17:01 +00:00
Mitchell Livingston 69c4b99995 fix for [4439] 2008-01-03 18:46:33 +00:00
Charles Kerr 09ca9f6dda maybe fix i18n tracker error reported by haktar 2008-01-03 17:49:45 +00:00
Charles Kerr 57579bf576 #378 - use {get,set}rlimit to deal with open file limits 2008-01-03 16:36:20 +00:00
Charles Kerr ceb608d9a3 #542: handle torrent metainfo files whose info.name tag is missing or empty. 2008-01-03 16:01:29 +00:00
Charles Kerr 893b0c10a3 to try to prevent router overloads, make (MAX_RECONNECTIONS_PER_PULSE * RECONNECT_PERIOD_MSEC) smaller. 2008-01-03 05:30:45 +00:00
Charles Kerr ce7b2521a3 tweak debug messages. 2008-01-03 05:29:31 +00:00
Charles Kerr ee2cffa196 #579: assertion failure in ~r4410 2008-01-03 03:45:10 +00:00
Charles Kerr d417fe8a79 speedup calculatePiecePriority(). This should give faster startup for torrents w/lots of files. 2008-01-02 20:37:22 +00:00
Charles Kerr 2b7a82b9a8 fix r4425 oops 2008-01-02 20:34:20 +00:00
Charles Kerr 0e56fa0baf test code for #575 (m1b's bug) 2008-01-02 18:05:05 +00:00
Charles Kerr 288e2ca814 don't stop the torrent just because of a tracker error 2008-01-01 23:37:50 +00:00
Charles Kerr ce6c33b7bf set copyright info to 2008 2008-01-01 17:20:20 +00:00
Charles Kerr 186681065d explicitly include unistd.h for ssize_t 2008-01-01 17:01:18 +00:00
Charles Kerr f9aea628aa better handshaking with incoming connections from mainline peers 2008-01-01 00:20:07 +00:00
Charles Kerr c282d753c6 add stats.h to the list of files included in libtransmission's tarball 2007-12-30 19:01:00 +00:00
Charles Kerr 882afbd3c3 add torrent.h to list of files included in libtransmission's tarball 2007-12-30 18:58:17 +00:00
Charles Kerr 245915258f turn off a debugging message gone wild 2007-12-30 18:46:18 +00:00
Charles Kerr 60fb68cb7a silence a debug message gone wild 2007-12-28 06:14:18 +00:00
Charles Kerr c6d2e60f52 fix comment typo reported by BigBossman 2007-12-27 22:50:20 +00:00
Charles Kerr 970211acf0 roll back r4356 2007-12-27 22:38:53 +00:00
Charles Kerr aacb21fdc4 silence a debug message gone wild 2007-12-27 22:33:24 +00:00
Charles Kerr f88eb7d771 experimental code that should make tracker interaction (especially shutdown) much faster. 2007-12-27 21:48:41 +00:00
Charles Kerr e319a6ffe4 dead code removal 2007-12-26 20:45:08 +00:00
Charles Kerr 71efb5c74b add per-priority-level endgame mode 2007-12-26 07:25:50 +00:00
Charles Kerr 1f3084179e remove debugging messages that aren't needed anymore. 2007-12-26 07:19:05 +00:00
Charles Kerr e870440025 add a per-block request TTL of 120 seconds 2007-12-25 17:22:51 +00:00
Charles Kerr 819b83d90d fix another file priority bug. 2007-12-25 06:37:21 +00:00
Charles Kerr f8bc11e094 fix a couple of related file priority bugs. 2007-12-25 05:42:33 +00:00
Charles Kerr 473907d891 a little housekeeping: move tr_torrent stuff into its own header 2007-12-25 05:37:32 +00:00
Charles Kerr 16e273ed05 fix torrent parsing bug reported by m1b, SoftwareElves, and BentMyWookie 2007-12-25 01:23:07 +00:00
Charles Kerr 6db02c401b add message queueing flag to tr_initFull() too 2007-12-24 16:12:23 +00:00
Charles Kerr bc84156d4f add a messageLevel argument to tr_initFull() 2007-12-24 16:02:36 +00:00
Charles Kerr 35adeec1d0 (gtk) fix startup port issue by hitting it with a damn big hammer 2007-12-24 07:02:40 +00:00
Charles Kerr a33f68a344 fix Gimp_'s problem 2007-12-24 05:17:12 +00:00
Charles Kerr 401cfbdb6b replace the per-torrent PEX setting with a global one, as per discussion with SoftwareElves and BentMyWookie 2007-12-24 05:03:40 +00:00
Charles Kerr b13d8d1dd6 save a copy of the torrent's metadata in tr_torrentInit(), not tr_torrentParse(). remove dead code from metainfo.c. 2007-12-22 18:00:47 +00:00
Charles Kerr c946168b1e (1) fix peer limits in fastresume (2) possible fastresume corruption (3) add `save' field to torrent ctor 2007-12-22 17:30:31 +00:00
Charles Kerr 3ecb9910e0 save per-torrent peer limits in the fastresume file 2007-12-22 16:11:15 +00:00
Charles Kerr 2764f9a140 fix indentation errors in r4278.
fix consistency errors between ctor and the new functions in r4278.
2007-12-22 04:11:17 +00:00
Mitchell Livingston 3449e2d15c separate getting/setting # connections and # unchoked 2007-12-22 04:00:19 +00:00
Charles Kerr 7542573044 brush away the last remnants of tr_torrentInit() 2007-12-22 03:51:12 +00:00
Charles Kerr 9148c9211f (gtk) tweak the display speed/size units again. 2007-12-22 03:01:14 +00:00
Charles Kerr 93f69d2b5c (gtk) add options to set global & per-torrent peer connection limits 2007-12-22 00:06:38 +00:00
Charles Kerr 8c7434dded fix a different r4267 bug, also reported by John_Clay 2007-12-21 22:38:01 +00:00
Charles Kerr 99d6e5deab fix r4267 crash reported by John_Clay 2007-12-21 22:29:22 +00:00
Charles Kerr 69f1ee48c1 remove some stubbed code that should've been removed in the last checkin 2007-12-21 22:24:37 +00:00
Charles Kerr 287975caf5 the torrent ctor is here. 2007-12-21 22:18:40 +00:00
Charles Kerr f1baca587b add torrent-ctor so that xcode can be updated. it's not plugged in yet though. 2007-12-21 16:51:42 +00:00
Charles Kerr 5c4f841c7e added tr_torrentSetPeerLimits(), tr_torrentGetPeerLimits(), tr_setGlobalPeerLimit(), tr_getGlobalPeerLimit() 2007-12-20 21:44:16 +00:00
Charles Kerr cf30fac9cf upgrade to miniupnp-20071213 2007-12-20 20:18:22 +00:00
Mitchell Livingston 911a6ce32e remove unused variables 2007-12-20 01:15:13 +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 e9ca72237f if tr_torrentStat() is called again in the same second for a torrent, return the cached value. 2007-12-19 02:44:21 +00:00
Charles Kerr d58d5210d0 fix tr_stat error: fields desiredSize and desiredAvailable could be too large. 2007-12-18 05:01:00 +00:00
Charles Kerr 371287136a fix build error reported by berkut in the forums 2007-12-17 02:21:06 +00:00
Charles Kerr 36391e02c1 add support for TRANSMISSION_HOME environment variable so I can have multiple copies of Transmission running concurrently in different directories. 2007-12-15 22:22:30 +00:00
Charles Kerr 4ff5b472a8 raise the maximum connection limit a bit. 2007-12-15 16:36:43 +00:00
Charles Kerr 1cb314f0cc try to make the natpmp error messages yet more helpful. thanks to m1b and Lacrocivious 2007-12-15 06:10:24 +00:00
Charles Kerr fe0640caa7 add messages asking the user to check & make sure that port forwarding is enabled on their router 2007-12-15 05:28:16 +00:00
Charles Kerr 20c5f2a77c fix off-by-one introduced in r4153 2007-12-15 05:05:23 +00:00
Charles Kerr 10b6e8ff8f lessons learned from 0.82:
* if we can't bind a socket to a peer, take that peer out of the retry pool.
* also, try to connect with more peers up-front.
2007-12-15 04:26:31 +00:00
Charles Kerr 4da5fc85bb fix bad log message 2007-12-15 03:25:13 +00:00
Charles Kerr f8f4e1fc32 more helpful error message 2007-12-15 03:17:50 +00:00
Charles Kerr 99e8b9a19d two arguments were transposed. 2007-12-15 03:14:16 +00:00
Charles Kerr 6ded40d360 increase the number of tracker connections we allow during shutdown. 2007-12-13 23:43:50 +00:00
Charles Kerr 7582f4a929 (maybe) fix shutdown crash in "pulse" reported by pea_ 2007-12-13 21:48:39 +00:00
Charles Kerr de5c84a52c allocate more sockets to the tracker during shutdown to help get all the `stopped' commands done 2007-12-13 21:08:05 +00:00
Charles Kerr bddcf5e10d fix crash on shutdown on natpmp routers reported by SoftwareElves 2007-12-13 20:19:52 +00:00
Charles Kerr 7f335e1bf0 follow Chinstrap's suggestion of waiting a small interval between sending nat commands as per the nat spec 2007-12-13 19:28:51 +00:00
Charles Kerr a51d790d81 take pea_'s suggestion of not sending out natpmp/upnp discover messages until port forwarding is enabled 2007-12-13 18:56:22 +00:00
Charles Kerr 39773104be accept tiennou's file-checking tweak that clarifies the log messages 2007-12-13 17:28:13 +00:00
Charles Kerr c4e6a04131 tweak the debug messages 2007-12-13 17:18:35 +00:00
Mitchell Livingston 1b6a8a9504 display the infinity symbol in stats for ratio when there is upload but no download 2007-12-13 04:31:38 +00:00
Charles Kerr e1d10bba7e add extra debugging messages for upnpDiscover() 2007-12-13 02:48:30 +00:00
Charles Kerr c8c9012697 fix the 500ms remap reported by Chinstrap 2007-12-13 01:20:16 +00:00
Charles Kerr c2e314743f added more upnp debugging messages for Chinstrap_ 2007-12-09 17:50:05 +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 33f284ead1 let the other config directories that we create also respect umask 2007-12-09 15:22:01 +00:00
Charles Kerr 67a86a2274 finish the `shared' update: bind & listen the incoming port.
better logging in network code.
2007-12-09 00:28:34 +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 d3d1263a84 use fizz' suggestion on from ticket #534 on how to make platform.c more portable wrt header include order 2007-12-07 19:25:54 +00:00
Charles Kerr 481a210e82 fix tracker connection error reported by Gimp_ 2007-12-05 02:06:05 +00:00
Charles Kerr 39d8c74fcd small tweak to play nice with old C compilers. Thanks to fizz for reporting & submitting a patch 2007-12-03 19:52:55 +00:00
Charles Kerr de9080e9ef fix tyop 2007-12-03 16:51:22 +00:00
Charles Kerr f0d1fa0a76 finish fixing the recursive mutex + cond bug reported by sedatg & Waldorf 2007-12-03 15:27:38 +00:00
Charles Kerr c68af92039 fix very annoying recursive mutex + pthread cond bug reported by setatg, Waldorf, and many others 2007-12-03 04:06:45 +00:00
Charles Kerr 7b068ed926 more mutex work 2007-12-02 18:20:37 +00:00
Charles Kerr 5e88ab235b possibly get the pthread changes compiling for old versions of Linux 2007-12-02 17:15:52 +00:00
Charles Kerr b14449fe80 possible fix for the crash reported by sedatg in ticket #519 2007-12-02 16:35:44 +00:00
Charles Kerr abef433926 improve upload speeds when the speed limits are uncapped. 2007-12-01 23:08:34 +00:00