Commit Graph

1341 Commits

Author SHA1 Message Date
Mitchell Livingston 7103fcb57e #741 typo in transmission.h comment 2008-02-27 20:11:04 +00:00
Charles Kerr 9ee96fd0dc add `verify' command to ipc. 2008-02-27 17:38:39 +00:00
Charles Kerr 5d233f86c4 make struct ipc_info opaque. const-ify the ipcparse functions where possible. 2008-02-27 16:47:58 +00:00
Charles Kerr f82e8e581b remove unused "label" field. make ipc_havemsg() private. make ipc_parse()'s buf arg const. 2008-02-27 08:07:13 +00:00
Charles Kerr 494acbfa85 tear out about 1/3 of ipcparse's overhead. 2008-02-27 06:01:46 +00:00
Charles Kerr 8cc587a66f more housekeeping: benc_val_t --> tr_benc 2008-02-26 21:58:58 +00:00
Charles Kerr 325665caa2 svn propset svn:keywords 'Date Rev Author Id' filename 2008-02-26 21:08:51 +00:00
Charles Kerr d2f1c7aff3 added tr_sha1_to_hex() 2008-02-25 20:21:22 +00:00
Charles Kerr e4a59e5e27 fix minor compiler warning. 2008-02-25 03:09:55 +00:00
Charles Kerr f2f24e936d tear out the "fast peer" code from refillPulse() altogether 2008-02-25 01:35:20 +00:00
Charles Kerr b9a9e1f1a8 disable some fastpeer code that's too expensive. 2008-02-25 01:29:30 +00:00
Charles Kerr 7f0a06b920 flesh out the possible values for the new tracker fields in tr_stat 2008-02-22 02:39:15 +00:00
Charles Kerr 58b655338a libT: add tracker information to tr_stat. gtk: add `tracker' tab to inspector 2008-02-21 07:29:39 +00:00
Charles Kerr e053f6c59d #714: libT creates invalid torrent files when given makemeta is given a non-absolute pathname 2008-02-20 11:36:42 +00:00
Charles Kerr cfe068876e remove unnecessary #includes 2008-02-19 18:39:49 +00:00
Mitchell Livingston 8e1c3ff365 fix typos in last commit 2008-02-19 16:57:54 +00:00
Mitchell Livingston 2206c22eee add Amazon S3 to clients list 2008-02-19 16:55:13 +00:00
Charles Kerr 4456c2dd90 (gtk) #544: remove fast-resume cache when appropriate 2008-02-19 05:03:56 +00:00
Charles Kerr deaeb24cb5 cleanup #includes for errno & strerror 2008-02-19 04:16:04 +00:00
Charles Kerr 3b97af8766 #713: handle leading spaces in the announce url more gracefully 2008-02-18 05:06:52 +00:00
Charles Kerr f8786b6df0 fix bug that could cause some pieces to be unnecessarily rechecked the second time they were loaded. 2008-02-16 05:13:56 +00:00
Charles Kerr c144470c70 make the code a little easier to read. make tr_ioFileTest()'s return value consistent with other inout funcs. 2008-02-15 18:25:42 +00:00
Charles Kerr 6fb57dcd59 modify "verify local data" to not lose the blocks in incomplete pieces 2008-02-15 16:00:46 +00:00
Charles Kerr e2277c97e6 ensure tr_info.creator and tr_info.comment are initialized, even if it's only to an empty string 2008-02-15 14:56:11 +00:00
Mitchell Livingston f0a645ac75 update clients list 2008-02-15 00:23:09 +00:00
Charles Kerr 4f4f451c17 possible fix for http://forum.transmissionbt.com/viewtopic.php?t=3946 2008-02-14 21:48:49 +00:00
Charles Kerr 33f77798d3 #706: save a little more memory by doing the same for tr_info.comment and tr_info.creator 2008-02-14 01:12:00 +00:00
Charles Kerr f8b0763c30 #706: reduce memory by 25% by cutting tr_file struct 2008-02-14 00:52:58 +00:00
Charles Kerr 9d436d6767 #690: get multitracker torrents working with the evhttp code 2008-02-13 17:15:58 +00:00
Mitchell Livingston aaf8fdf45e add Net Transport to clients list 2008-02-13 13:38:15 +00:00
Charles Kerr e581d5228e add tr_ctor{Set,Get}DeleteSource() 2008-02-13 02:24:12 +00:00
Charles Kerr e20a5cf3df fix a possible crash on shutdown 2008-02-13 01:33:29 +00:00
Charles Kerr d360607a02 fix a possible crash when deleting a torrent. 2008-02-13 01:22:55 +00:00
Mitchell Livingston 22cbdfb624 add LH-ABC to the clients list 2008-02-11 22:24:47 +00:00
Charles Kerr 8d14a789cb #698: `have' gets too far ahead of `verified' 2008-02-10 04:03:19 +00:00
Charles Kerr 5a7127a26b make TR_PATH_DELIMITER and TR_PATH_DELIMITER_STR private to libtransmission 2008-02-09 17:48:53 +00:00
Charles Kerr 7cf9f8cc35 #417: add the libtransmission bits for telling users when they can "Ask Tracker for More Peers" 2008-02-09 17:07:30 +00:00
Charles Kerr 16dcece6ab test build: disable tit-for-tat 2008-02-08 19:34:12 +00:00
Charles Kerr 17e76707f2 make the stats code a little more difficult to corrupt 2008-02-04 19:54:47 +00:00
Charles Kerr beb7cc0b92 minor code cleanup 2008-02-02 16:23:49 +00:00
Charles Kerr cfa1bc8480 shrink sizeof(benc_val_t) from 32 to 24 by better alignment 2008-02-02 16:09:10 +00:00
Charles Kerr d3047158be more unit tests for bounds-checking on incomplete bencoded data 2008-02-01 21:53:01 +00:00
Charles Kerr b98a927a9a add more benc unit tests. 2008-02-01 17:33:49 +00:00
Charles Kerr 3334ea8401 fix the 1.04 bencode errors reported in the forums this morning. add regression tests. 2008-02-01 15:50:17 +00:00
Charles Kerr 606d548514 clarity tweaks to variable & function names 2008-02-01 01:54:04 +00:00
Charles Kerr 88cfec047f #666: pausing in the middle of "verify local data" makes T forget about the nonverified portion 2008-02-01 01:38:55 +00:00
Charles Kerr 375949551b more graceful handling of bad inputs to tr_bencFree(), tr_bencSave(), and tr_bencPrint(). 2008-01-31 15:20:42 +00:00
Charles Kerr b5e119f1ea bencode tweaks. 2008-01-31 06:00:57 +00:00
Charles Kerr 784e0babda fix off-by-one that was uncovered by the new benc's stricter parsing. 2008-01-31 03:09:27 +00:00
Charles Kerr df9bd1f713 #667: remote crash exploit in bencode parser 2008-01-31 02:24:43 +00:00
Charles Kerr 410dffd211 part 1 of the bencode exploit fix:
- better error checking for int & string parsing
 - add automated unit tests
2008-01-30 15:39:41 +00:00
Charles Kerr 0f981db778 #665: Ratio calculations aren't strictly accurate when re-seeding a torrent 2008-01-29 16:33:29 +00:00
Charles Kerr f72ba4b8d8 #663: connection limits don't work correctly. 2008-01-28 21:05:50 +00:00
Charles Kerr 3d8dfa574b (1.0x) #660: fix HTTP syntax error that caused "Bad Request" messages on lighttpd-based trackers. Reported by _Psih 2008-01-28 06:03:14 +00:00
Charles Kerr b29ba709b3 tr_ioRecalculateHash(): use a static buffer instead of malloc/free. 2008-01-27 17:03:58 +00:00
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