Arvid Norberg
d132dd45e3
removed exceptions from pe_crypto and improved error handling
2008-06-28 10:10:05 +00:00
Arvid Norberg
ae1af66724
fixed typo. Fixes #355
2008-06-27 09:44:14 +00:00
Arvid Norberg
ce99813b48
fix binary file mode in torrent_info. Fixes #354
2008-06-27 09:41:08 +00:00
cg25
ff3e80c42f
Removed svn:executable property from {c,h}pp files in branches/RC_0_13 and
...
trunk.
2008-06-25 14:15:21 +00:00
Arvid Norberg
148640f1ac
fix natpmp stall at shutdown
2008-06-24 13:52:14 +00:00
Arvid Norberg
ca0f17ee95
won't save resume data for torrents without a complete state (checking or queued for checking torrents)
2008-06-24 12:48:28 +00:00
Arvid Norberg
84221e05f8
checking torrents fix when aborting session
2008-06-24 12:17:42 +00:00
Arvid Norberg
4d380c57d7
made bdecode not throw
2008-06-23 22:00:27 +00:00
Arvid Norberg
92f13aea68
start torrents sooner after they complete checking
2008-06-23 18:56:55 +00:00
Arvid Norberg
a38d97583e
removed old comment
2008-06-23 18:56:02 +00:00
Arvid Norberg
87660b96c5
renamed announce_piece to piece_passed and moved it to piece_finished and piece_failed
2008-06-23 18:54:58 +00:00
Arvid Norberg
9447693202
storage fastresume fix
2008-06-23 18:31:52 +00:00
Arvid Norberg
964e8b93d0
added option to deliberately corrupt data from certain peers, to test the case when hash fails occurs
2008-06-23 15:37:24 +00:00
Arvid Norberg
c210b11b80
better fix for failing pieces
2008-06-23 14:45:01 +00:00
Arvid Norberg
665d508bc3
piece picker fix
2008-06-23 13:02:41 +00:00
cg25
71c4f6f9b6
* improved --with-asio configure option behaviour;
...
* using -version-info flag instead of -revision one for the sake of correct
interface versioning;
* renaming library to libtorrent-rasterbar.so to avoind conflicting with other
libraries.
2008-06-23 00:09:12 +00:00
Arvid Norberg
811d0a6250
storage fast resume check fix
2008-06-22 23:41:03 +00:00
cg25
aeb2dd8c71
Fix mistypo in src/piece_picker.cpp from previous commit.
2008-06-22 23:13:27 +00:00
Andrew Resch
402da3c77c
Make active_limit == -1 mean unlimited
2008-06-22 22:49:18 +00:00
Arvid Norberg
f7e1d1c1fd
piece picker fix
2008-06-22 22:00:44 +00:00
Arvid Norberg
e4269ddcce
fix smart ban assert when closing a torrent with a failing piece
2008-06-22 20:30:43 +00:00
Arvid Norberg
6db1b54304
simplified policy and optimized case when a piece fails hash check
2008-06-22 20:28:03 +00:00
Arvid Norberg
a60b6f9e96
fixed bug in set_queue_position. Fixes #353
2008-06-21 15:51:03 +00:00
Arvid Norberg
0f0ea269bc
added an active torrent limit
2008-06-21 12:31:28 +00:00
Arvid Norberg
d0e579826c
added an option to not count inactive torrents against the limits for auto managed torrents
2008-06-21 09:15:29 +00:00
Arvid Norberg
b183b2e593
made it possible to export the upnp state and insert it into a different upnp instance
2008-06-20 16:14:10 +00:00
Arvid Norberg
d2bde64e71
makes sure a torrent doesn't have too many pieces than can be handled. Fixes #61
2008-06-19 11:28:34 +00:00
Arvid Norberg
18809681be
fix bug in self connect detection
2008-06-18 13:31:41 +00:00
Arvid Norberg
7fe6c474ce
fix auto manage bug related to checking torrents
2008-06-18 13:02:03 +00:00
Arvid Norberg
9c94f54868
fixes for torrents with smaller pieces than 16kB
2008-06-18 12:34:39 +00:00
Arvid Norberg
77c13d73f6
fixed assert in set_queue_position
2008-06-17 16:49:55 +00:00
Andrew Resch
d70ec645d7
Make 'active_seeds' and 'active_downloads' use -1 as unlimited
2008-06-17 15:44:04 +00:00
Arvid Norberg
24b24aff4e
force recheck fixes. Fixes #350
2008-06-17 14:56:22 +00:00
Arvid Norberg
0241bf78ce
added is_sequential_download to torrent_handle
2008-06-17 08:30:04 +00:00
Arvid Norberg
b55670aa14
fixed typo
2008-06-16 22:33:42 +00:00
Arvid Norberg
6c24bd0774
moves force checked torrents to the end of the queue. Fixes #350
2008-06-16 22:27:14 +00:00
Arvid Norberg
9a8fc4f713
self connection fixes
2008-06-16 13:54:14 +00:00
Arvid Norberg
41f241b476
min reconnect time fix
2008-06-16 07:46:40 +00:00
Arvid Norberg
3e000a3984
fixed save path updates when moving torrents. Fixes #310
2008-06-15 20:52:46 +00:00
roman_rybalko
5314b639e2
boost detection fixes: now able to launch with boost1.34 and boost1.35
2008-06-13 12:20:55 +00:00
Arvid Norberg
7df5d4a9c6
changed queuing logic
2008-06-13 05:11:36 +00:00
Arvid Norberg
af477fa266
fixed connect candidate assert
2008-06-13 04:50:02 +00:00
Arvid Norberg
5923ef5b43
fixed file check ordering to respect the queue position. Fixes #350
2008-06-12 21:22:24 +00:00
Arvid Norberg
295e2a548b
piece picker fix of recent change.
2008-06-12 15:40:50 +00:00
Arvid Norberg
6db61166be
recalculate queued torrents sooner when changing queuing settings
2008-06-12 06:58:42 +00:00
Arvid Norberg
d47ec46e76
storage wpath fix (for unicode)
2008-06-12 04:52:37 +00:00
Arvid Norberg
52f6204288
simplified the disk-io mutexes and made it more efficient. separated the disk io mutex into a buffer mutex, queue mutex and the piece cache mutex.
2008-06-12 04:40:37 +00:00
Andrew Resch
933e3c8b54
Fixes for set_queue_position()
2008-06-11 12:14:10 +00:00
Arvid Norberg
a4dfd63ca3
fixed piece picker bug related to sequential download, added unit test to expose it
2008-06-11 08:30:06 +00:00
Arvid Norberg
6e69480176
disk_io_thread fixes. Properly destructs torrent objects while disk io mutex is not locked. Properly flushes disk cache when closing, and aborting read and file check jobs. Fixes #334
2008-06-09 04:46:34 +00:00
Arvid Norberg
efcd69b009
fixed set_queue_position() for seeding (or finished) torrents
2008-06-08 13:47:35 +00:00
Andrew Resch
3ea075f169
Add torrent_resumed alert
2008-06-08 05:14:40 +00:00
Arvid Norberg
0afe661d5a
fixed http_connection assert
2008-06-07 17:47:05 +00:00
Arvid Norberg
a1857f9699
added force_recheck to torrent_handle. Fixes #120
2008-06-07 16:24:56 +00:00
Arvid Norberg
76ee7b6297
fixed connect candidate counter
2008-06-07 14:22:24 +00:00
Arvid Norberg
9f5fa96cad
fixed bug related to m_have_piece optimization. Renamed num_pieces() to num_have() to avoid confusion
2008-06-07 14:03:21 +00:00
Arvid Norberg
9d1e77dc88
optimized away torrent::m_have_pieces ( #62 ) and added some documentation on bitfield. The piece picker is now constructed with the torrent, but still freed when turned into a seed
2008-06-07 02:58:28 +00:00
Arvid Norberg
bcc24bf831
added has_incoming to torrent_status per #315
2008-06-05 18:19:03 +00:00
Arvid Norberg
59c8a74ba8
in case a regular rename fails, try to copy the storage to the new location. Fixes #231
2008-06-05 16:56:39 +00:00
Arvid Norberg
4709d202e1
fixed unicode issue in storage
2008-06-04 07:57:07 +00:00
Arvid Norberg
5d268424b2
update auto managed torrents sooner when changes are made
2008-06-03 20:21:47 +00:00
Arvid Norberg
8b5172d439
fixed exception issue when tracker sends invalid response
2008-06-03 20:03:51 +00:00
Arvid Norberg
b4c160e723
fixed bug in web_peer_connection where an incorrect number of bytes would be reported as downloaded
2008-06-03 15:17:09 +00:00
Arvid Norberg
c883f4475c
saves statistics from the last second from peer connections that are disconnected. Partly fixes #339
2008-06-03 05:21:00 +00:00
Arvid Norberg
f12e1d26b7
Fixed bug in on_bitfield. Fixes #342
2008-06-02 06:52:24 +00:00
Arvid Norberg
e0987022cc
fixed typo
2008-05-30 07:58:49 +00:00
Arvid Norberg
31c9d378f5
completed queuing. It is now possible to change and query queue position of torrents.
2008-05-29 03:37:19 +00:00
Arvid Norberg
63cf889be4
fixed 64-bit overflow issues
2008-05-29 03:18:42 +00:00
Arvid Norberg
fd98434c97
peer list optimization and introduced hard limit on peer list size
2008-05-28 18:25:48 +00:00
Arvid Norberg
3910fe78de
separated file_storage from torrent_info and create_torrent
2008-05-28 08:44:40 +00:00
Arvid Norberg
669debaa42
64-bit issue fix
2008-05-28 07:48:46 +00:00
Arvid Norberg
68c31e48dc
replaced vector<bool> with a custom bitfield type
2008-05-28 02:35:02 +00:00
Arvid Norberg
4338140c85
added test and fixed total_wanted issue for files > 2 GB
2008-05-27 08:07:59 +00:00
Arvid Norberg
0ba85e96d5
fixed kademlia announce bug
2008-05-26 15:23:06 +00:00
Arvid Norberg
8b03e338d6
lazy_bdecode fix. #336
2008-05-24 04:36:59 +00:00
Arvid Norberg
fdbf86a53c
boost 1.35 fix
2008-05-20 16:43:09 +00:00
Arvid Norberg
dbb625a910
torrent_info fixes. make_torrent now builds
2008-05-20 09:49:40 +00:00
Arvid Norberg
31ab7f9773
boost 1.35 related fixes
2008-05-20 09:45:55 +00:00
Arvid Norberg
67354421fb
introduced an error state for torrents. Torrents with an error are not restarted automatically
2008-05-20 07:57:44 +00:00
Andrew Resch
aed8f355b0
Make libtorrent build with boost <1.35
2008-05-20 06:03:46 +00:00
Arvid Norberg
5840a50d79
fixed stale state when switching from finished to downloading
2008-05-20 03:21:45 +00:00
Arvid Norberg
07f070868d
factored out to_hex into the escape_string header file
2008-05-19 07:36:04 +00:00
Arvid Norberg
8613554c2a
entry and scrape bug fix
2008-05-19 07:15:44 +00:00
Arvid Norberg
777954ab3e
automatically scrape auto managed torrents to keep track of downloader/seed ratio
2008-05-19 04:06:25 +00:00
Arvid Norberg
c460704a5f
streamlined class footprint by reducing padding
2008-05-19 02:52:32 +00:00
Arvid Norberg
c5d61667b3
http_connection now supports connecting to all IPs a hostname resolves to, as fallbacks
2008-05-18 22:14:55 +00:00
Arvid Norberg
282f30c7e7
saves number of seeds and downloaders last seen in resume data
2008-05-18 19:31:06 +00:00
Arvid Norberg
ffa9baed1d
fixed bug where torrent would not connect to peers unless it had the .torrent
2008-05-18 18:30:26 +00:00
Arvid Norberg
bae6ff1a10
dht typo fix
2008-05-18 06:02:57 +00:00
Arvid Norberg
111f5faecb
upload only extension
2008-05-18 05:59:47 +00:00
Arvid Norberg
498a43c123
streamlined dht log format
2008-05-18 05:09:11 +00:00
Arvid Norberg
b952d85734
fixed error handling and added support for relative http redirects (which aren't allowed by the standard)
2008-05-18 04:48:06 +00:00
Arvid Norberg
031cfe09da
added missing include
2008-05-17 16:33:28 +00:00
Arvid Norberg
7f639e57de
improved error handling with regards to parse_url_components. For trunk, moved that function to its own file
2008-05-17 14:19:34 +00:00
Arvid Norberg
5ec7da07e6
fixes #332
2008-05-17 00:27:26 +00:00
Arvid Norberg
f296d5a64d
limits the number of connections depending to getrlimit(). Fixes #232
2008-05-16 15:19:38 +00:00
Arvid Norberg
c53eabd90c
fixed typo
2008-05-15 21:48:11 +00:00
Arvid Norberg
df2389219a
fixed typo in torrent_info
2008-05-15 17:42:28 +00:00
Arvid Norberg
ed3cf2bb54
fixed typo
2008-05-15 16:57:35 +00:00
Arvid Norberg
8909aeaadc
attempt to fix removal of files on windows with unicode (to fix #216 )
2008-05-15 16:38:04 +00:00
Arvid Norberg
6ab19756a3
lazy_entry fix
2008-05-15 08:23:32 +00:00
Arvid Norberg
7052efe575
lazy_entry fix
2008-05-15 07:04:39 +00:00
Arvid Norberg
ffbc22dfc2
respects the port filter for web seeds. Fixes #304
2008-05-15 05:13:09 +00:00
Arvid Norberg
91d6099a55
fixed issue with torrents with 0 pieces. Fixes #306
2008-05-15 02:29:26 +00:00
Arvid Norberg
16a8aa88e8
ignore invalid entries in 'announce-list' instead of aborting
2008-05-14 19:44:36 +00:00
Arvid Norberg
7e428db4ca
bdecode print formatting fix
2008-05-14 18:58:24 +00:00
Arvid Norberg
8ed949c4d5
factored out torrent creation functionality from torrent_info into create_torrent. Modified torrent_info to use lazy_bdecoder for increased performance
2008-05-14 05:29:42 +00:00
Arvid Norberg
63fd1eb118
applied patch for #318
2008-05-13 18:22:22 +00:00
Arvid Norberg
e54d1dfffe
upnp bugfix ( fixes #323 )
2008-05-13 17:38:03 +00:00
Arvid Norberg
0de312c80c
ignores UPnP routers that are not configured as routers on the local machine
2008-05-13 04:59:56 +00:00
Arvid Norberg
f259e34f86
peer_connection fix for incoming connections
2008-05-12 10:10:39 +00:00
Arvid Norberg
756dbe3316
removed leftover from debugging
2008-05-12 09:31:57 +00:00
Arvid Norberg
574211055c
GeoIP fixes
2008-05-12 07:14:03 +00:00
Arvid Norberg
149fa28586
added constructor to torrent_info that loads a file directly
2008-05-12 06:35:24 +00:00
Arvid Norberg
2fbe53f880
assert fix
2008-05-12 06:31:54 +00:00
Arvid Norberg
971ead4a44
made redundant connction closing optional (defaults to on)
2008-05-12 06:25:53 +00:00
Arvid Norberg
a01c412f9e
piece picker fixes (introduced when rewriting the piece checking)
2008-05-12 06:20:54 +00:00
Arvid Norberg
068adcd9a9
indentation fix
2008-05-12 06:03:31 +00:00
Arvid Norberg
f2ac4db1af
changed the optimistic disconnect logic to be more efficient and configurable
2008-05-12 05:17:11 +00:00
Arvid Norberg
eabe9cad2d
improved plugin support
2008-05-12 03:05:27 +00:00
Arvid Norberg
e51c8bea37
added makefile support for boost.system ( #322 )
2008-05-11 22:43:44 +00:00
Arvid Norberg
aa626f1422
logs node uptime and parses it for the DHT
2008-05-10 05:51:58 +00:00
Arvid Norberg
3fe96818d3
dht log fix
2008-05-09 23:42:00 +00:00
Arvid Norberg
ae11038495
improved dht logging of transaction ids
2008-05-09 21:20:28 +00:00
Arvid Norberg
11c181873c
stripped down the dht log
2008-05-09 17:38:36 +00:00
Arvid Norberg
5202056682
inverted distance log in dht
2008-05-08 03:58:05 +00:00
Arvid Norberg
1522f52db8
logs the distance between key and node when announcing
2008-05-08 01:17:14 +00:00
Arvid Norberg
bbf9c83edc
initial support for icmp errors in the DHT
2008-05-08 00:22:17 +00:00
Arvid Norberg
7434368652
fixed dht logging error
2008-05-07 23:25:47 +00:00
Arvid Norberg
5741f72ab3
seed rank fix
2008-05-07 17:05:16 +00:00
Arvid Norberg
73ef60e5fa
seed rank fix
2008-05-07 08:24:16 +00:00
Arvid Norberg
a555fff07b
seed count fix in policy
2008-05-07 07:35:36 +00:00
Arvid Norberg
018ec69d8c
indentation fix
2008-05-06 21:27:06 +00:00
Arvid Norberg
081953db51
enum_net windows fixes
2008-05-06 19:13:59 +00:00
Arvid Norberg
9429ca4b1f
replaced seed cycles with seed rank
2008-05-06 18:03:41 +00:00
Arvid Norberg
e09457e4ab
take an estimate of the IP ACK traffic into account when rate limiting (allows setting rate limits closer to the capacity)
2008-05-05 17:08:14 +00:00
Arvid Norberg
d15573ecc2
disk receive buffer cleanup
2008-05-05 06:25:22 +00:00
Arvid Norberg
7388144ec7
refactored stats class to be extensible with more channels
2008-05-04 17:57:06 +00:00
Arvid Norberg
010d3b6e75
windows fix
2008-05-04 16:10:13 +00:00
Arvid Norberg
c7e6c04705
switched over to asio from boost-1.35
2008-05-03 16:05:42 +00:00
Arvid Norberg
cb5f783987
boost-1.35 fix
2008-05-03 06:41:43 +00:00
Arvid Norberg
f3d0eb3c11
fixed boost-1.35 build
2008-05-01 16:31:19 +00:00
Andrew Resch
4e768ab31f
Fix building on gcc 4.3
2008-04-29 21:46:32 +00:00
Arvid Norberg
441aacae32
fixed download bug affecting web seeds
2008-04-29 03:12:14 +00:00
Arvid Norberg
c3b60f1b8f
modified get_default_gateway to not take an interface
2008-04-28 02:20:40 +00:00
Arvid Norberg
3ec9a75d09
enum_routes fixes for linux
2008-04-28 01:23:11 +00:00
Arvid Norberg
c2f7fb0fb4
added enum_routes to dump routing table
2008-04-28 00:20:59 +00:00
Arvid Norberg
8d5812011e
update to enum_net
2008-04-27 04:51:28 +00:00
Arvid Norberg
6a7790cd28
added implementation for get_default_router for linux
2008-04-25 05:51:21 +00:00
Arvid Norberg
00b935150a
fix for debug iterators
2008-04-24 17:09:26 +00:00
Arvid Norberg
4d59d9eabc
fix build with DHT disabled
2008-04-24 16:57:22 +00:00
Arvid Norberg
854affdd92
compare peer updates
2008-04-24 16:34:43 +00:00
Arvid Norberg
33ed6f4720
fixed typo
2008-04-24 16:12:24 +00:00
Arvid Norberg
228e225489
scans at most 300 peers when finding a connect candidate. Supposedly fixes cpu spikes on large swarms
2008-04-24 07:49:23 +00:00
Arvid Norberg
b73112682c
client test ui updates
2008-04-24 04:17:54 +00:00
Arvid Norberg
c043d4b21d
initial support for queuing
2008-04-24 03:28:48 +00:00
Arvid Norberg
7a432786e7
added url to tracker alerts. introduced a base class for all tracker alerts
2008-04-23 01:54:21 +00:00
Andrew Resch
05c1a64c76
Move the torrent_checked alert post to torrent::files_checked
2008-04-23 01:01:00 +00:00
Arvid Norberg
4740dd030e
added AM_CFLAGS to makefile
2008-04-22 23:32:27 +00:00
Arvid Norberg
d4ddf3712a
initializes totals to 0 in torrent
2008-04-22 22:37:40 +00:00
Arvid Norberg
1607acd0f8
fixed typo
2008-04-22 21:02:05 +00:00
Arvid Norberg
e8e5308e6b
udp socket fix
2008-04-22 20:56:10 +00:00
Arvid Norberg
da72fe56e5
udp tracker connection fix
2008-04-22 17:30:28 +00:00
Arvid Norberg
4f132ec568
added GeoIP sources to make files
2008-04-22 00:59:56 +00:00
Arvid Norberg
9a434a919f
some more ASNum additions
2008-04-22 00:05:23 +00:00
Arvid Norberg
a4b69e5b2d
logging improvements
2008-04-20 17:17:58 +00:00
Arvid Norberg
39eaf766fa
lazy_bdecode fixes
2008-04-20 03:18:49 +00:00
Arvid Norberg
d91a256386
UPnP fix
2008-04-20 03:02:31 +00:00
Arvid Norberg
23732bafce
connect candidate counter fix
2008-04-20 00:19:31 +00:00
Arvid Norberg
72176a9256
lazy bdecoder additions and fixes
2008-04-19 03:00:07 +00:00
Arvid Norberg
b452020404
fixed resume data bug
2008-04-16 07:51:08 +00:00
Arvid Norberg
779b006ac0
fixed missing torrent_checked_alert
2008-04-16 07:02:39 +00:00
Arvid Norberg
755e50bb12
added active_time, seeding_time, all_time_upload and all_time_download to torrent_status. Also updated docs with some missing entries in torrent_status
2008-04-16 06:31:05 +00:00
Arvid Norberg
1724b1eb75
dht array index out of bound fix
2008-04-16 03:20:35 +00:00
Arvid Norberg
748a66c343
improvements to lazy_bdecode
2008-04-13 22:34:04 +00:00
Arvid Norberg
644d3aa66c
disk IO thread error handling
2008-04-13 21:26:57 +00:00
Arvid Norberg
43d5781638
port mapping fix
2008-04-13 19:19:22 +00:00
Arvid Norberg
3fea2080fd
added an asynchronous save_resume_data to make it easier to synchronize with the disk IO thread
2008-04-13 18:54:36 +00:00
Arvid Norberg
6639f72804
if priorities are changed so that the torrent changes state to be finished, a torrent_finished_alert is generated now. Fixes #305
2008-04-13 07:39:37 +00:00
Arvid Norberg
17c4257cce
added get_full_peer_list to retrieve all the peers known for a swarm
2008-04-13 06:32:48 +00:00
Arvid Norberg
643deb699f
lazy bdecode fixes
2008-04-13 05:50:13 +00:00
Arvid Norberg
a3e7124614
added out stream operator to lazy_entry
2008-04-13 05:19:10 +00:00
Andrew Resch
ca872a0e82
Revert last.
2008-04-13 02:47:41 +00:00
Andrew Resch
d825c1d5bd
Add torrent_resumed torrent alert.
2008-04-13 02:34:18 +00:00
Andrew Resch
31bd3b1550
Expose torrent_handle::is_finished()
2008-04-13 02:15:56 +00:00
Arvid Norberg
908273a02b
fixed assert
2008-04-13 01:28:44 +00:00
Arvid Norberg
d4cfa126aa
storage fixes
2008-04-12 22:08:07 +00:00
Arvid Norberg
dbfd400536
windows fix for lazy bdecode
2008-04-12 17:30:00 +00:00
Arvid Norberg
a70789872e
added string length to high performance bdecoder
2008-04-12 01:58:55 +00:00
Arvid Norberg
42f55adcce
support for country lookup through GeoIP
2008-04-11 08:46:43 +00:00
Arvid Norberg
b300c7f835
added high performance bdecoder code
2008-04-11 03:41:09 +00:00
Arvid Norberg
093d912e9a
receive buffer optimization. added receive_buffer_size and used_receive_buffer to peer_info. changed plugin api to make use of new disk_buffer_holder type
2008-04-10 10:03:23 +00:00
Arvid Norberg
5f35d170b0
disk io thread cleanup (all read operations are now read into disk buffers, no custom buffers)
2008-04-10 09:11:54 +00:00
Arvid Norberg
2c77ae8307
fixed typo
2008-04-10 05:40:54 +00:00
Arvid Norberg
62daedeae0
fixed race condition when a torrent is removed while one of the connections is still in the connection queue
2008-04-09 20:12:52 +00:00
Arvid Norberg
291ef2a2c9
optimized torrent_handle to use a weak_ptr directly to the torrent object
2008-04-09 20:09:36 +00:00
Arvid Norberg
e4483e64e4
made GeoIP build on windows by stripping out mmap support
2008-04-09 09:47:22 +00:00
Arvid Norberg
cc5dc24ca1
put the private flag in the right place. Fixes #303
2008-04-09 08:10:44 +00:00
Arvid Norberg
4eeb15c1df
verifies urls before connecting to web seeds. Fixes #301
2008-04-09 07:51:41 +00:00
Arvid Norberg
75ef4ec1f1
added option to not use pool allocators (useful when using memory debugging tools)
2008-04-09 05:19:11 +00:00
Arvid Norberg
5a6e21f484
peer_connection disconnect cleanup
2008-04-09 04:09:40 +00:00
Arvid Norberg
642768bc24
storage cleanup
2008-04-09 01:11:16 +00:00
Arvid Norberg
64a195651d
cleaned up some crypto code
2008-04-08 05:51:12 +00:00
Arvid Norberg
e329403619
removed exceptions from peer_connection
2008-04-07 08:39:01 +00:00
Arvid Norberg
04a9dd77b5
assert fix
2008-04-07 08:15:31 +00:00
Arvid Norberg
6fa3d37e83
ut_pex exception fix
2008-04-07 03:31:41 +00:00
Arvid Norberg
507b812ae8
policy invariant check update
2008-04-07 03:23:54 +00:00
Arvid Norberg
89a9a25197
exception fixes in torrent
2008-04-07 02:51:21 +00:00
Arvid Norberg
7657878b48
exception fix
2008-04-07 02:07:23 +00:00
Arvid Norberg
f40eba34a8
exception fixes in storage
2008-04-07 01:45:33 +00:00
Arvid Norberg
e2e4a34429
removed exceptions from metadata extensions
2008-04-07 01:39:29 +00:00
Arvid Norberg
2fe729c9f5
removed dependencies on exceptions from policy
2008-04-07 01:29:21 +00:00
Arvid Norberg
9fe5bb7a7d
removed dependencies on exceptions from session_impl
2008-04-07 01:22:26 +00:00
Arvid Norberg
d10205057e
port mapping update
2008-04-06 23:18:35 +00:00
Arvid Norberg
2e6b9c2dce
revamped part of the port mapping code (UPnP and NAT-PMP). Added documentation for start_{lsd,natpmp,upnp} and stop_{lsd,natpmp,upnp}
2008-04-06 19:17:58 +00:00
Arvid Norberg
35fd9aec61
msvc build fixes and warning fixes
2008-04-05 21:18:27 +00:00
Arvid Norberg
57d75e120a
initial support for GeoIP (only AS mappings for now)
2008-04-05 04:53:22 +00:00
Arvid Norberg
0fcb204128
added peak rates to peer_info
2008-04-03 06:11:21 +00:00
Arvid Norberg
77f9278a36
leopart listen failure workaround
2008-04-03 04:35:56 +00:00
Arvid Norberg
54bd1a41b0
fix to recent change to move out references to self() from peer_connection constructors
2008-04-01 19:17:09 +00:00
Arvid Norberg
4161be867e
removed dht ping from peer_from_tracker. in trunk: implemented a rate limited DHT ping (once a second per torrent) and space optimized the peer structure
2008-04-01 17:38:19 +00:00
Arvid Norberg
1511f2f59b
removed calls to self() from inside constructors in peer connections
2008-03-31 04:46:24 +00:00
Arvid Norberg
95f1601aa2
storage fix
2008-03-31 03:26:37 +00:00
Arvid Norberg
3c15535d35
http_tracker_connection fix to use separate timeout when stopping a tracker
2008-03-30 19:00:37 +00:00
Arvid Norberg
57cd1e7c97
fixed #298 . Generates a torrent_paused alert when there's no storage
2008-03-30 15:44:31 +00:00
Arvid Norberg
45a7329d5c
added alert for when the client's external IP is received
2008-03-29 22:45:55 +00:00
Arvid Norberg
ffecb32b81
made a bias to give connection attempts to downloading torrents with few peers. Should accelerate downloads on windows (where there's a half-open connection limit)
2008-03-29 19:39:24 +00:00
Arvid Norberg
2014e312b1
exposed connection_candidates in torrent_status and made a small optimization to not attempt to connect peers on swarms that don't have any connect candidates
2008-03-29 18:47:24 +00:00
Arvid Norberg
2bd49c4b56
fixed DHT assert
2008-03-29 14:52:18 +00:00
Arvid Norberg
c3e1b01e8d
udp_socket fix
2008-03-29 04:38:00 +00:00
Arvid Norberg
40824d2bb1
minor dht fix
2008-03-28 22:56:33 +00:00
Arvid Norberg
bed008b512
socks5 update
2008-03-28 22:50:41 +00:00
Arvid Norberg
a53cd86cae
fixed typo in previous dht checkin
2008-03-27 00:46:50 +00:00
Arvid Norberg
f6f0402aa2
local service discovert resend fix
2008-03-26 21:40:58 +00:00
Arvid Norberg
10d20f8f4e
dht fix
2008-03-26 17:37:31 +00:00
Arvid Norberg
5cad17143d
updated udp_socket error handling
2008-03-25 04:46:18 +00:00
Arvid Norberg
d5d450b483
storage fix
2008-03-25 04:45:46 +00:00
Arvid Norberg
5860ca8706
previous checkin was a mistake
2008-03-25 04:44:30 +00:00
Arvid Norberg
b6be33b5b6
storage fix
2008-03-25 04:38:59 +00:00
Arvid Norberg
1d8edc0722
fixed race condition in dht
2008-03-24 04:38:43 +00:00
Arvid Norberg
e1eadab1b4
fixed memory leak on disk io failures
2008-03-24 02:33:42 +00:00
Arvid Norberg
211ae62d33
fixes #295
2008-03-24 02:19:47 +00:00
Arvid Norberg
1d31dc3613
fixed dht announce bug
2008-03-23 05:10:47 +00:00
Arvid Norberg
1fba3afdae
fixed incorrect forwarding in torrent_handle
2008-03-22 00:26:58 +00:00
Arvid Norberg
3c9f2f685b
msvc fix
2008-03-21 05:41:56 +00:00
Arvid Norberg
ee92504aad
added missing include statement
2008-03-20 16:34:34 +00:00
Arvid Norberg
fece6e9300
fixed #289 in trunk, 0.12 and 0.13
2008-03-19 22:44:55 +00:00
Arvid Norberg
e9e74a928c
fixed bug in connection queue
2008-03-19 19:27:28 +00:00
Arvid Norberg
9eeb3cea9d
fast resume data check fix
2008-03-16 18:24:57 +00:00
Arvid Norberg
e5072b80f5
fixed file checking bug in trunk
2008-03-16 12:42:59 +00:00
Arvid Norberg
32c2c38737
fixed incorrect error message in async_accept
2008-03-16 12:33:39 +00:00
Arvid Norberg
4e9ed2dc96
fixed incorrect flushing of disk cache
2008-03-16 10:51:25 +00:00
Arvid Norberg
537f21d1b9
connection rate improvement when using a half-open connections limit
2008-03-16 10:49:47 +00:00
Arvid Norberg
f8b2b60634
fixed bug in dht routing table. added unit test to trunk
2008-03-16 03:52:13 +00:00
Arvid Norberg
0c3e64b231
fixed potential upnp crash
2008-03-15 16:07:49 +00:00
Arvid Norberg
ab2354c9b4
small optimization to previous fix
2008-03-14 17:43:38 +00:00
Arvid Norberg
2cfbfd203f
made tests build and pass in trunk. fixed issues in trunk revealed by the tests. fixed failing torrent invariant check in trunk and rc0.13
2008-03-14 10:17:27 +00:00
Arvid Norberg
8132c6aad6
added option to control TOS byte in peer traffic
2008-03-12 16:58:23 +00:00
Arvid Norberg
5173c7fe31
more invariant check in peer connection
2008-03-12 08:36:22 +00:00
Arvid Norberg
0e4d62497b
fixed typo in previous check-in
2008-03-12 07:56:45 +00:00
Arvid Norberg
cd65fb8b0c
added priority to connection queue. trackers and upnp connections have higher priority than peers
2008-03-12 07:44:27 +00:00
Arvid Norberg
e5c77c284a
reverted last check in
2008-03-12 05:03:35 +00:00
Arvid Norberg
8eced5863c
fixed include issue in entry.cpp
2008-03-12 04:42:51 +00:00
Arvid Norberg
e5a98d1b7e
more invariant checks in disk_io_thread
2008-03-10 08:19:31 +00:00
Arvid Norberg
a97be6937a
unchoker counts bytes instead of rates
2008-03-10 03:30:01 +00:00
Arvid Norberg
f53cfa7eeb
removed checker thread
2008-03-08 06:06:31 +00:00
Arvid Norberg
e3c5001e80
fixed FreeBSD build. #284
2008-03-04 04:29:03 +00:00
Arvid Norberg
6728314406
cleaned up a rule in disconnect_one_peer
2008-03-04 03:52:08 +00:00
Arvid Norberg
9d3b60edb7
added support to bind outgoing connections to specific ports (might be useful to do traffic shaping)
2008-02-28 07:34:07 +00:00
Arvid Norberg
cf5c9344ab
made peer connection order depend on ones external IP or be random (if we don't know our external IP). Should fix #281
2008-02-28 03:09:34 +00:00
Arvid Norberg
35c113c0cb
piece request fix + better logging of throttling
2008-02-27 20:37:41 +00:00
Arvid Norberg
c689c0b5fc
replaced deque with list in disk_io_thread
2008-02-26 20:08:33 +00:00
Arvid Norberg
83f405ac54
followups to windows fixes
2008-02-25 11:27:23 +00:00
Arvid Norberg
a25c25b02a
fixed windows build and removed msvc warnings
2008-02-25 10:28:53 +00:00
Arvid Norberg
a20a8d2522
udp tracker fixes
2008-02-25 08:50:07 +00:00
Arvid Norberg
8a14f829b4
removed debug output
2008-02-25 08:42:13 +00:00
Arvid Norberg
c1c2fb4409
resume data unit test and fix
2008-02-25 05:07:29 +00:00
Arvid Norberg
9f44c577d7
updated file_win and file_pool error handling
2008-02-25 04:41:21 +00:00
Arvid Norberg
480b63b516
improved tracker error messages
2008-02-25 00:55:31 +00:00
Arvid Norberg
1d1398ed7f
read cache fix
2008-02-24 23:14:10 +00:00
Arvid Norberg
19462007d1
read cache fix
2008-02-22 08:22:57 +00:00
Arvid Norberg
682a5f85f9
fixed crash bug in storage
2008-02-22 06:09:30 +00:00
Arvid Norberg
5259d827b6
exception safety fixes to entry.cpp
2008-02-22 04:54:43 +00:00
Arvid Norberg
ef9ef674d5
added read cache. Not fully configurable yet
2008-02-22 04:11:04 +00:00
Arvid Norberg
bf7552a4cd
merged upnp fixes from trunk to RC_0_13. Added some upnp logging
2008-02-19 18:50:04 +00:00
Arvid Norberg
01c6300d51
another piece picker fix (fixes some logic mistakes from last piece picker update)
2008-02-18 20:55:03 +00:00
Arvid Norberg
333839c9b4
piece picker update
2008-02-18 03:07:14 +00:00
Arvid Norberg
5c14ec2eb1
made fastresume data not contain failed peers
2008-02-18 03:04:06 +00:00
Arvid Norberg
799dd70c4e
factored out OS detection code and added kfreebsd support
2008-02-18 00:36:17 +00:00
Arvid Norberg
0c51e822f5
fixes #270
2008-02-17 23:49:03 +00:00
Arvid Norberg
df74cbb78a
fixed logging=errors configuration
2008-02-17 22:51:03 +00:00
Arvid Norberg
b6493bb4ef
fixed typo
2008-02-17 20:57:16 +00:00
Arvid Norberg
ea1ce8172f
Fixed preprocessor directive error. Fixes #273
2008-02-17 20:42:56 +00:00
Arvid Norberg
f1ceb44dc4
fixed assert. #271
2008-02-17 20:40:21 +00:00
Arvid Norberg
9a7e26b280
mapped storage fix
2008-02-17 20:30:24 +00:00
Arvid Norberg
d334022216
fixes to mapped storage
2008-02-16 16:40:03 +00:00
Arvid Norberg
7e83c3fc51
changed storage interface to not require exceptions
2008-02-14 03:48:20 +00:00
Arvid Norberg
948b2bafe6
made it work properly when building with stats logging
2008-02-12 08:34:57 +00:00
Arvid Norberg
c5fd5ecfb4
removed 'adler32' key from fastresume, since it was implemented with blocking I/O
2008-02-11 07:18:28 +00:00
Arvid Norberg
601b7571f5
added asserts to piece picker around num_peers()
2008-02-11 06:52:40 +00:00
Arvid Norberg
c9b53ddf8c
allow negative and zero values for session_settings::connection_speed
2008-02-11 03:55:53 +00:00
Arvid Norberg
752149e341
fixed bug in write cache flush logic
2008-02-10 20:36:48 +00:00
Arvid Norberg
6c552db68e
added disk cache expiration
2008-02-10 00:58:25 +00:00
Arvid Norberg
cecd0dfcd2
added rtt estimation for outgoing connections
2008-02-09 22:42:56 +00:00
Arvid Norberg
221cdf2bf8
fixed error handling in pe-crypto
2008-02-09 21:14:49 +00:00
Arvid Norberg
ea7253c575
increased default cache size to 8 MB
2008-02-09 21:09:29 +00:00
Arvid Norberg
99eed299cd
asserts in dht
2008-02-09 21:04:24 +00:00
Arvid Norberg
a16d592ff4
handles lack of 'adler32' key in fast resume data
2008-02-09 19:51:23 +00:00
Arvid Norberg
8cf0510144
added disk cache for write operations
2008-02-08 10:22:05 +00:00
Arvid Norberg
196f9c3544
http_tracker connection fix
2008-02-07 07:15:23 +00:00
Arvid Norberg
a53473a65d
added new logging mode to log peer errors
2008-02-07 07:09:52 +00:00
Arvid Norberg
92f4947bbe
full proxy support for udp-trackers, and more reliable udp tracker code
2008-02-05 06:32:10 +00:00
Arvid Norberg
5d4d08b7ce
fix problem introduced with new piece picker
2008-02-05 05:57:32 +00:00
Arvid Norberg
1c82ef36d8
improved support for out-of-memory conditions
2008-02-05 05:51:05 +00:00
Arvid Norberg
c798ab30e1
rewrote the piece picker to be more cpu and memory efficient. replaces the concept of sequential-download-threshold with just a sequential download settings
2008-01-31 17:52:29 +00:00
Arvid Norberg
3562c3e646
add bind address support to http_connection and replace http_tracker_connection's code with http_connection
2008-01-31 08:24:01 +00:00
Arvid Norberg
684bade8ea
fixed hard coded pad size (for encrypted connections) to be properly randomized
2008-01-31 06:34:43 +00:00
Arvid Norberg
6caca17883
refactored gzip code and added gzip support to http_connection
2008-01-30 18:32:13 +00:00
Arvid Norberg
61bbc6e58f
initial https support for trackers and http_connection. Added support for proxies to http_connection
2008-01-27 22:39:50 +00:00
Arvid Norberg
69f9a5b5fc
fixed http_parser to build on windows
2008-01-27 22:00:14 +00:00
Arvid Norberg
5527a8e9b1
fixed build issue on msvc
2008-01-27 21:03:33 +00:00
Arvid Norberg
6913ae823b
fixed #257
2008-01-27 20:00:56 +00:00
Arvid Norberg
afe6d95169
fixed http proxy (with authentication) bug
2008-01-26 18:48:00 +00:00
Arvid Norberg
442998f06d
applied patch from and fixed #252 , write_resume_data no longer throws when it shouldn't
2008-01-26 07:41:51 +00:00
Arvid Norberg
7faa922dc5
fixed #255 . write_resume_data does no longer throw if there are IPv6 addresses without having IPv6 installed on windows
2008-01-26 07:31:33 +00:00
Arvid Norberg
8b455be1d9
better exception handling and more invariant checks
2008-01-19 19:00:54 +00:00
Arvid Norberg
365b8c07c6
iterator fixes (to avoid triggering safe iterator asserts)
2008-01-19 18:12:02 +00:00
Arvid Norberg
5ff6708b3d
made it build without dht support
2008-01-18 02:02:18 +00:00
Arvid Norberg
afa6fd97a3
max connections limit fix
2008-01-18 01:29:28 +00:00
Arvid Norberg
4f99230c74
auto unchoke improvement
2008-01-17 21:34:00 +00:00
Arvid Norberg
4a92dae541
fixed typo
2008-01-17 21:25:19 +00:00
Arvid Norberg
4b3ba58ad2
disconnect all fix
2008-01-17 20:03:59 +00:00
Arvid Norberg
127d3e6ad5
bandwidth limiter fixes. proper priority that cannot starve connections
2008-01-17 17:40:46 +00:00
Arvid Norberg
c69fa07e2d
error handling fixes
2008-01-16 21:07:04 +00:00
Arvid Norberg
832c0c8b63
improved auto-unchoke mechanism
2008-01-15 08:37:48 +00:00
Arvid Norberg
f7d34794a9
improved error handling
2008-01-14 23:51:04 +00:00
Arvid Norberg
97511f2819
removed stray space
2008-01-14 17:25:08 +00:00
Arvid Norberg
b19bf337bf
generalized peer read/write state
2008-01-13 23:46:43 +00:00
Arvid Norberg
3f4474caba
per torrent bandwidth limiter fix
2008-01-13 22:27:33 +00:00
Arvid Norberg
5d196ed555
auto upload slots. opens up more slots if upload rate is not met. On by default
2008-01-13 11:18:18 +00:00
Arvid Norberg
f48ded8a54
fast extension fix
2008-01-13 09:33:00 +00:00
Arvid Norberg
56210c1687
added asserts to make sure the pool allocator for dht messages allocates blocks of correct size
2008-01-13 04:24:10 +00:00
Arvid Norberg
7cea96ea88
added TORRENT_VERBOSE_BANDWIDTH_LIMIT build option to generate a bandwidth manager log
2008-01-12 18:47:26 +00:00
Arvid Norberg
7f56486cf0
separated http_parser to its own file
2008-01-12 09:36:03 +00:00
Arvid Norberg
869ee735aa
made enum_net build on mac again
2008-01-12 09:35:11 +00:00
Arvid Norberg
81302c8fed
fixed http_connection redirection support and added test (still requires lighttp)
2008-01-12 01:41:56 +00:00
Arvid Norberg
388949014f
handles (ignores) errors when allocating files
2008-01-11 20:04:38 +00:00
Arvid Norberg
c23539b272
made it build on linux. No linux implementation for getting default route yet
2008-01-11 10:18:14 +00:00
Arvid Norberg
f36e6a6c4f
proper default gateway discovery
2008-01-11 09:38:05 +00:00
Arvid Norberg
1f99a1d98d
fixes to make enum_net.cpp actually work
2008-01-11 07:56:52 +00:00
Arvid Norberg
72edfc2ee7
improved network interface enumeration and upnp device filtering
2008-01-11 06:49:37 +00:00
Arvid Norberg
b5dedccb70
made trunk build on windows (mapped storage doesn't work right yet though)
2008-01-11 06:35:34 +00:00
Arvid Norberg
616a48b591
fix to count loopback connections as local peers
2008-01-11 05:40:19 +00:00
Arvid Norberg
471d81394d
added invariant check
2008-01-10 22:44:32 +00:00
Arvid Norberg
3a727e99ff
expose more info through peer_info
2008-01-10 22:13:23 +00:00
Arvid Norberg
150d3d1abc
broadcast socket updates (better upnp support)
2008-01-09 18:51:15 +00:00
Arvid Norberg
695cd6407b
remove use of strand
2008-01-08 05:47:43 +00:00
Arvid Norberg
4420473b88
made send buffer watermark configurable
2008-01-08 01:16:30 +00:00
Arvid Norberg
e05f396a5d
made UPnP ignore devices that don't respond from a router IP (optional but on by default)
2008-01-07 05:48:28 +00:00
Arvid Norberg
1d6e0f5bf6
bandwidth request block size optimization
2008-01-07 04:47:20 +00:00
Arvid Norberg
0dfb129b57
another failcount update fix
2008-01-07 04:07:31 +00:00
Arvid Norberg
e5d1456c58
added a failcounter to upnp portmaps
2008-01-07 02:35:29 +00:00
Arvid Norberg
28b90cb702
broadcast socket fix
2008-01-07 02:33:45 +00:00
Arvid Norberg
cf4036310b
changed the way connections are disconnected. improved logging. Does not depend on exceptions anymore
2008-01-07 01:10:46 +00:00
Arvid Norberg
4271eda751
correctly increase the failcounter when appropriate
2008-01-07 00:33:20 +00:00
Arvid Norberg
8468f0ab5f
improved tracker logging
2008-01-06 22:14:00 +00:00
Arvid Norberg
263c2ae2c9
fixed broken udp-tracker support
2008-01-06 20:18:44 +00:00
Arvid Norberg
b37f011626
fix for #244
2008-01-06 18:35:39 +00:00
Arvid Norberg
e6e051e7c5
improves logic to handle slightly broken .torrent files and added tests
2008-01-06 07:35:32 +00:00
Arvid Norberg
1c816fa608
removes peers from bandwidth request queue when disconnecting
2008-01-06 00:58:51 +00:00
Arvid Norberg
29ccb9220b
broadcast socket fix
2008-01-03 10:58:16 +00:00
Arvid Norberg
4e559e8dfe
change to entry to support building client in debug mode and libtorrent in release mode
2008-01-03 03:10:25 +00:00
Arvid Norberg
8f019bec8e
attempt to make smart_ban.cpp build on windows
2008-01-02 17:12:33 +00:00
Arvid Norberg
fcd2408f11
fast extension fix, added some logging for fast extension messages, improved test to catch the problem
2008-01-02 03:18:29 +00:00
Arvid Norberg
91e01442e8
added bandwidth_limit.hpp and bandwidth_queue_entry.hpp to makefiles
2008-01-01 21:15:23 +00:00
Arvid Norberg
9d2c0e370e
fixed broken assert
2007-12-31 10:11:10 +00:00
Arvid Norberg
ddf16fb3bb
separated bandwidth_manager into bandwidht_limit and bandwidth_queue_entry and fixed problems related to #225
2007-12-31 09:41:50 +00:00
Arvid Norberg
e45e6af107
made ut_pex not rely on exceptions
2007-12-30 09:41:26 +00:00
Arvid Norberg
07d1fe84c3
made udp and http tracker connections build without exception support
2007-12-30 01:57:57 +00:00
Arvid Norberg
010d5631a4
made udp_socket not use exception
2007-12-29 23:47:51 +00:00
Arvid Norberg
ed4b39a2cc
made http_connection build without exception support
2007-12-29 23:37:50 +00:00
Arvid Norberg
9e421b2945
made lsd build without exception support
2007-12-29 23:30:39 +00:00
Arvid Norberg
2050b03727
made upnp build without exception support
2007-12-29 23:14:59 +00:00
Arvid Norberg
e528577e65
made connection queue build without exception support
2007-12-29 22:45:42 +00:00
Arvid Norberg
6c42830f97
made http_parser not use exceptions
2007-12-29 18:24:50 +00:00
Arvid Norberg
599ed646f0
made natpmp build without exception support
2007-12-29 07:26:36 +00:00
Arvid Norberg
ae0e53820b
added missing return statement
2007-12-29 07:16:36 +00:00
Arvid Norberg
1e20940c31
made tracker_manager build without exception support
2007-12-29 06:13:49 +00:00
Arvid Norberg
588d59b9f2
made escape_string build without exception support
2007-12-29 01:35:50 +00:00
Arvid Norberg
eb8ea0f461
made torrent_info not rely on exception support
2007-12-28 20:11:10 +00:00
Arvid Norberg
501611173e
removed unused header 'packet_iterator.hpp'
2007-12-28 19:46:08 +00:00
Arvid Norberg
e88bcaea90
made http_stream and proxy_base support builds with exceptions disabled
2007-12-28 19:26:26 +00:00
Arvid Norberg
e6e5b43219
added asserts that the type of a bencoded entry is not assumed when built with no exceptions
2007-12-28 19:07:28 +00:00
Arvid Norberg
cfe5c8962e
more asserts around send buffers and fixes potential race condition
2007-12-27 21:43:11 +00:00
Arvid Norberg
8a47c849ce
fix in the smart_ban to not use invalid pointers
2007-12-27 20:57:58 +00:00
Arvid Norberg
bc656acebb
fix limiting incoming connections to torrent limit
2007-12-27 10:19:36 +00:00
Arvid Norberg
e1b1123c48
made memdebug work. include script to generate graph
2007-12-27 06:37:18 +00:00
Arvid Norberg
904d9bb50b
demangles symbols in assert tracebacks
2007-12-27 06:15:52 +00:00
Arvid Norberg
86de8b8bf6
turned assert into TORRENT_ASSERT
2007-12-27 03:43:02 +00:00
Arvid Norberg
5e089f01d6
memdebug fixes
2007-12-26 05:02:55 +00:00