Commit Graph

5901 Commits

Author SHA1 Message Date
arvidn ed31664ee3 deduce the second argument to iconv() instead of requiring it to be configured via a macro 2017-10-06 10:52:09 +02:00
arvidn 99b19366a9 fix leak of peer_class objects (when setting per-torrent rate limits) 2017-10-03 17:32:49 +02:00
arvidn 5f3661aaa2 back port overflow checking from master 2017-10-02 00:02:14 +02:00
arvidn 3255375095 back-port file name sanitization patch to RC_1_1 2017-10-01 16:44:10 +02:00
Andrei Kurushin c8d51689bb backport: fix windows file preallocation issue 2017-09-28 12:53:28 -07:00
arvidn 5441874f10 fix integer overflow in whole_pieces_threshold logic 2017-09-23 06:59:13 -07:00
arvidn ddc8711dbe fix issue where peers could be disconnected while iterating over the peer list in the torrent. Specifically while marking peers as not-interesting 2017-09-21 07:26:13 -07:00
arvidn ccbd6cbcfe remove rss_reader.py, since rss has been reprecated. fix python binding for torrent_handle, to be hashable. update client_test.py to not use deprecated APIs and follow best (libtorrent) practice 2017-09-11 22:28:57 +02:00
arvidn c848f6d978 improve some asserts in storage.cpp 2017-09-07 23:00:58 +02:00
arvidn 061732ddec bump version 2017-09-04 15:35:45 +02:00
Steven Siloti 621da10e60 hold an owning reference to storage objects in try_flush_write_blocks
It is possible for all other references to a storage object to be
destroyed while try_flush_write_blocks is running. If the storage is
destroyed then find_piece will crash when trying to re-aquire the
shared_ptr. To prevent this, keep the storage alive by holding a
shared_ptr to it in try_flush_write_blocks.

Normally the fence job when stopping a torrent would prevent the storage
object from being destroyed until all flush jobs are complete.
try_flush_write_blocks can be run after every disk job though so it has
the potential to "stradle the fence".

If the associated torrent does get unloaded then it is expected that
find_piece will return NULL thus causing the entry to be ignored.
2017-08-30 12:45:06 +02:00
Steven Siloti 52ccad23b9 read_piece: handle failure to allocate piece buffer 2017-08-29 12:24:17 +02:00
arvidn 1ce4089229 log failures to parse interface and node lists from settings 2017-08-24 07:59:22 +02:00
arvidn fe37884bc6 fix IPv6 tracker support by performing the second announce in more cases 2017-08-19 18:56:51 +02:00
Steven Siloti 73e898e38e disable disk cache pool allocator by default
The pool allocator has known issues with not releasing memory when it should
and is of dubious benefit.

See #2251
2017-08-18 09:39:24 +02:00
arvidn b5fe0f95a2 fix issue in UTF-8 encoding validation 2017-08-16 13:15:19 +02:00
arvidn b70d3efba9 fix infinite loop when parsing torrents whose filenames have zeroes. #2247 2017-08-16 07:21:34 +02:00
arvidn fcb9c7b6f3 fix invalid read in parse_int() in bdecode_node() and lazy_bdecode() 2017-08-15 00:01:37 +02:00
Steven Siloti 50c2aee8ec don't create web seed connections if the torrent is upload only
The fix in 9a63d4696e was imcomplete.
It turns out disconnect_if_redundant decrements the connection count
which unballances the count if we do end up disconnecting the peer.

This change avoids the problem by checking if the torrent is
upload only much sooner, before the connection object is even created.
We still do a redundancy check just-in-case, but it is not expected to
trigger.
2017-08-11 08:16:00 +02:00
arvidn 5f4816f1d8 fix include in http_connection.cpp 2017-08-10 19:47:42 +02:00
arvidn 560ef29276 fix issue with very long tracker- and web seed URLs. Instead of using a fixed length stack allocated request buffer, use a dynamically growing stringstream 2017-08-10 14:01:11 +02:00
arvidn 4e497e1383 fix issue where paths were not correctly coalesced when adding files to file_storage (used more memory than necessary) 2017-08-10 12:10:46 +02:00
arvidn 378a0e974b fix issue of force-recheck or seeding from read-only media, torrents with empty files in them. Previously libtorrent would create empty files up-front unconditionally, now they won't be created if they already exist 2017-08-09 18:48:49 +02:00
arvidn 2b98951ace assert that trackers are not announced to while checking files 2017-08-06 20:21:03 +02:00
arvidn 1f3730fa5a fix force-recheck issue (new files would not be picked up) 2017-08-06 09:49:51 +02:00
arvidn cedd468300 backport fix to clearing of piece picker in suggest_read_cache mode 2017-07-22 00:00:14 -07:00
arvidn cc30434c52 fix inconsistency in file_priorities and override_resume_data behavior. file_priorities are not subject to the override_resume_data flag 2017-07-12 15:36:55 -07:00
d-komarov 85cf521145 fix bandwith rate limit calculation (#2134)
back-port of fc0cbfb789
2017-07-11 21:35:12 -07:00
d-komarov 11d6a00bec fix storage destruction order issue (#2138)
back-ported from b553cb32f7
2017-07-10 21:35:34 -07:00
arvidn 5188c190db bump version number 2017-07-02 15:03:46 -04:00
arvidn 20c1407612 corrected missing const qualifiers on bdecode_node 2017-06-30 08:19:10 -04:00
arvidn 506950001d fix regression where paused torrents could not have their queue position changed 2017-06-27 12:37:08 -04:00
Steven Siloti ec30a5e9ec fix out-of-bounds read in bdecode
Fixes #2099
2017-06-24 10:52:49 -04:00
arvidn 77cc2b4eea fix re-check issue after move_storage 2017-06-20 22:27:39 -04:00
arvidn 046bb76361 handle invalid arguments to set_piece_deadline() 2017-06-19 05:46:08 -04:00
arvidn f04d729d43 enforce spell checking on CI 2017-06-18 15:51:51 -04:00
arvidn 53cbb607d0 first steps towards spell checking documentation 2017-06-17 22:59:57 -04:00
arvidn a97121d6f2 move_storage did not work for torrents without metadata 2017-06-15 21:20:22 -04:00
Steven Siloti a48cdd0281 fix check for fully allocated file on windows
The file allocation size is in terms of clusters so it will likely be larger
than the file size even with a freshly allocated file.
2017-06-15 06:36:34 -04:00
Arvid Norberg 94701c24da when stopping a torrent, never perform a name lookup on the tracker (#2021)
when stopping a torrent, never perform a name lookup on the tracker, only announce to trackers whose IP we already know. This is expected to make shutdowns not hang
2017-05-25 14:58:29 -04:00
arvidn 432131e493 fix error reporting for enum_net_interfaces 2017-05-23 08:54:09 -04:00
arvidn a985773f4b fix previously faulty fix to enum_routes 2017-05-21 23:21:02 -04:00
Arvid Norberg c7bb9f23ad add debug mechanism to assert the connection list is not mutated while iterating over it (#2016) 2017-05-21 11:36:35 -04:00
arvidn acd98d5c40 delay 5 seconds before reconnecting socks5 proxy for UDP ASSOCIATE 2017-05-21 08:53:29 -04:00
arvidn 83735fdbb4 fix NAT-PMP crash when removing a mapping at the wrong time 2017-05-20 14:56:04 -04:00
arvidn 56d5d795bf improve path sanitization (filter unicode text direction characters) 2017-05-15 01:49:41 -04:00
arvidn 9333c51da6 deprecate partial_piece_info::piece_state 2017-05-14 20:15:55 -04:00
arvidn ff63557f58 bind upnp requests to correct local address 2017-05-12 18:17:38 -04:00
arvidn f8bda070be don't combine reuseaddr and exclusive addruse on windows 2017-05-11 22:30:29 -04:00
arvidn bfa455c5bd save resume data when removing web seeds 2017-05-09 13:11:28 -04:00
Jan Berkel b3815c5533 HTTP proxy: avoid connecting to itself (#1978) 2017-05-08 11:04:17 -04:00
arvidn 14dbd1c92d fix race condition in disk I/O storage class 2017-05-07 13:47:50 -04:00
Jan Berkel fe9f877087 Set connection timeout when next endpoint is tried (#1952) 2017-05-04 17:32:47 -04:00
arvidn 1ea760ae93 fix iconv cast warnings 2017-04-24 08:02:11 -04:00
Jan Berkel afe1f685a4 Set next/min_announce to now
Prevents unnecessary tracker announce delays #1940
2017-04-23 16:00:53 -04:00
arvidn 7dd11268dd removed use of boost::uintptr_t for better compatibility 2017-04-23 11:15:43 -04:00
arvidn 227830e757 fix memory leak in the disk cache. if a cached_piece_entry would stick around in a ghost list (ARC), it would keep the torrent object itself alive. when aborting read jobs, the outstanding_read flag need to be cleared on the piece. When reclaiming a block for a piece that should be deleted (not just evicted) it need to know that. This patch adds an additional bit to cached_piece_entry to communicate this 2017-04-19 22:30:27 -04:00
arvidn 2d6268b580 fix double free in disk cache 2017-04-17 19:54:05 -04:00
Steven Siloti f86e207ba2 fix typo in natpmp::start
Calling update_mapping() on a mapping with protocol set to none is a no-op so
I'm pretty sure this check was meant to skip over such mappings.
2017-04-15 15:28:01 -04:00
arvidn 48e61b947a remove mutex-release hack in file_pool 2017-04-14 12:45:18 -07:00
arvidn b065536023 bump version number 2017-04-02 18:34:45 -04:00
pavel.pimenov 6afb0fd51b fix m_host_resolver (for RC_1_1) 2017-03-31 07:29:03 -04:00
arvidn 02bb1251d2 removed (broken) support for incoming connections over socks5 2017-03-29 02:15:43 -04:00
arvidn 910ccc528f deprecate torrent_added_alert in favor of add_torrent_alert 2017-03-26 22:48:17 -04:00
arvidn 4d397f5ebf fix minor robustness issue in DHT bootstrap logic 2017-03-21 12:29:08 -04:00
arvidn f95f5b05c2 fix issue where torrent_status::num_seeds could be negative 2017-03-20 23:58:08 -04:00
arvidn 6f650aa7d9 document deprecation of dynamic loading/unloading of torrents 2017-03-13 21:21:38 -04:00
arvidn e37e4bfe8a include user-agent in tracker announces in anonymous_mode for private torrents 2017-03-12 21:10:00 -04:00
arvidn 4ded26de33 fix issue with load/unload torrents 2017-03-11 19:59:53 -05:00
Arvid Norberg 3f90501934 add support for IPv6 peers from udp trackers (#1802)
add support for IPv6 peers from udp trackers
2017-03-11 02:46:51 -05:00
arvidn 08c05b9693 correctly URL encode the IPv6 argument to trackers 2017-03-10 02:27:51 -05:00
arvidn dec8c853e3 fix default file pool size on windows 2017-03-09 23:26:53 -05:00
arvidn 5cb12318c5 fix bug where settings_pack::file_pool_size setting was not being honored 2017-03-09 08:18:10 -05:00
arvidn faa2029f8b add feature to periodically close files (to make windows clear disk cache) 2017-03-06 23:46:47 -05:00
arvidn af07ce1f25 fix issue with peers not updated on metadata from magnet links 2017-03-06 18:45:58 -05:00
Steven Siloti 9a63d4696e mark connection as upload only manually instead of with set_upload_only()
We can't call set_upload_only() in this context because it can trigger an invariant
check in the torrent and m_num_connecting is not consistent.
2017-03-02 00:48:55 -05:00
arvidn 9d645055ff fix storage tick invariant check failure 2017-02-26 20:23:53 -05:00
arvidn ff106f8c9e default TOS marking to 0x20 2017-02-25 13:34:53 -05:00
Arvid Norberg 3e83c4119f fix recent settings_pack ABI regression (#1752)
fix recent settings_pack ABI regression
2017-02-24 08:06:59 -05:00
arvidn 6d40d3a167 bump version number 2017-02-20 12:43:34 -05:00
arvidn 430ff6d7b4 minor fix to num_seeds 2017-02-19 18:47:32 -05:00
Arvid Norberg 6e65851b2d add some documentation for some counters (#1726)
add some documentation for some counters
2017-02-18 12:55:20 -05:00
arvidn 7b61313b99 fix invalid access when leaving seed-mode with outstanding hash jobs 2017-02-17 15:37:56 -05:00
Arvid Norberg 116802fcdf update tuning documentation (#1717)
update tuning documentation and make the stats header be posted when logging is disabled (if stats_notifications are enabled)
2017-02-16 07:03:43 -05:00
arvidn 1300204ff1 back-port pavel's fix to ip_interface.name 2017-02-13 08:09:01 -05:00
arvidn cbd1c26a11 fix ABI compatibility issue introduced with preformatted entry type 2017-02-12 20:42:30 -05:00
arvidn 949d4cd12a fix regression in windows implementation of enum_net causing infinite loop 2017-02-11 19:09:21 -05:00
arvidn 85f6febfff fix some left-over incorrect default piece priorities (1 -> 4) 2017-02-11 15:32:51 -05:00
arvidn 964542e53b back-port ajax16384's fix to enum_net_interfaces on windows 2017-02-08 10:01:40 -05:00
ximply c4d96c7aa9 add web_seed_name_lookup_retry to session_settings (#1674)
add web_seed_name_lookup_retry to session_settings to control web seed
name lookup retry in seconds, default is 1800 seconds
2017-02-07 01:34:52 -05:00
Arvid Norberg 692759ba81 slightly improve proxy settings backwards compatibility-1.1 (#1664)
slightly improve proxy settings backwards compatibility
2017-02-06 00:01:04 -05:00
arvidn 7ff4f56ae2 add function to get default settings 2017-02-05 11:31:43 -05:00
Arvid Norberg c00a25a645 back-port aldenml's fix to not save replacement nodes twice to 1.1 (#1661)
back-port aldenml's fix to not save replacement nodes twice to 1.1
2017-02-04 19:58:32 -05:00
Arvid Norberg 0a26ed8d1e fix issue where updates to super seeding state would not include the torrent in the state_update_alert (#1659) 2017-02-04 16:09:42 -05:00
arvidn c9a2fed2c9 add tests for edge cases of session settings, and fix a few integer overflows 2017-02-03 20:42:59 -05:00
arvidn 2b53eb28a9 minor cleanup in automatic connections_limit management 2017-02-01 23:28:13 -05:00
Arvid Norberg 4733670aa1 fix issue where num_seeds could be greater than num_peers in torrent_status (#1645)
fix issue where num_seeds could be greater than num_peers in torrent_status
2017-02-01 01:39:09 -05:00
arvidn dbd734e7a2 sync. creation and clearing of file progress with the piece picker 2017-01-31 08:14:36 -05:00
Falcosc e40bdc566c 1.1.2 set queue position by number (#1617)
set queue position by number
2017-01-30 21:31:31 -05:00
arvidn 3339b2abe1 back port file progress invariant checking to 1.1 2017-01-29 15:34:06 -05:00
arvidn ffca4afaa6 remove unintuitive limit on peer connections (especially with large values of file_pool_size) 2017-01-29 02:45:30 -05:00
arvidn cca5ab8368 fix integer overflow 2017-01-26 23:39:56 -05:00
Arvid Norberg ba9fae8e1f fix issue with unloading torrents (#1624)
fix issue with unloading torrents
2017-01-25 23:42:59 -05:00
arvidn b19cb7bd87 fixed finished-time calculation 2017-01-25 01:56:19 -05:00
Andrei Kurushin 7c9679bf6a fix missed static array specifier 2017-01-23 08:21:34 -05:00
arvidn 132be5101f fix stat cache issue that sometimes would produce incorrect resume data 2017-01-22 18:14:10 -05:00
arvidn 6d17f0fb66 storage optimization to peer classes 2017-01-21 01:23:07 -05:00
Falco c57d062e0d fix torrent name in alerts of builds with deprecated functions and use non deprecated for internal calls 2017-01-20 19:05:05 -05:00
arvidn c7c204280a make sure torrent_info::is_valid returns false when the file fails to load 2017-01-18 23:58:33 -05:00
Falcosc a07ffe42f8 fix torrent peer class index overflow (#1557)
fix peer class index width
2017-01-16 18:20:43 -05:00
arvidn 3b9c65daf1 remove unused function, has_interface() 2017-01-16 15:14:47 -05:00
Arvid Norberg 04589f3bef don't load user_agent and peer_fingerprint from session_state (#1538)
don't load user_agent and peer_fingerprint from session_state
2017-01-15 01:21:52 -05:00
Arvid Norberg 2120a13869 fix file rename issue with name prefix matching torrent name (#1524)
fix file rename issue with name prefix matching torrent name
2017-01-13 00:39:49 -05:00
arvidn d6a7c7d991 fix error in accounting of IP overhead 2017-01-11 00:02:18 -05:00
arvidn 39866c2306 fix division by zero when setting tick_interval > 1000 2017-01-07 15:21:02 -05:00
arvidn 7957e2a30e fix move_storage() to its own directory (would delete the files) 2017-01-03 21:09:26 -05:00
arvidn 1600d4dca5 clean up file pool a bit 2017-01-01 09:56:50 -05:00
arvidn 005d1a47b0 deprecate dont_flush_write_cache setting 2016-12-31 17:44:57 -05:00
arvidn 2f75dcccfe on backwards compatible set_settings(), stack allocate settings_pack 2016-12-26 22:44:42 -08:00
Falcosc 6520fcebf1 fix session invariant check fail for difficult setting dependencies (#1449)
clean up session_impl invariant checks
2016-12-26 08:09:52 -08:00
arvidn ad7e796d05 fix socks5 support for UDP. based on patch in https://github.com/arvidn/libtorrent/issues/1373 2016-12-19 23:52:53 -05:00
Falcosc 8adcbdd32b add setting urlseed_max_request_bytes to handle large web seed requests #1405 (#1423)
add setting urlseed_max_request_bytes to handle large web seed requests. change default for urlseed max request to 16MIB
2016-12-18 15:58:14 -05:00
Andrei Kurushin d62b980278 backport fix upnp xml_parse 2016-12-18 09:01:33 -05:00
Steven Siloti db65eaaa00 submit disk jobs from read_piece right away
Without this the jobs get submitted on the next tick which may take a while.
2016-12-17 02:23:09 -05:00
Steven Siloti 30303c17df don't indicate interest in peers when in upload only mode
If the torrent is paused we don't want to mark peers as interesting
even if the torrent has not finished downloading.
2016-12-09 17:16:25 -05:00
Steven Siloti 5d0322d393 fix assertion in fingerprint::to_string 2016-12-07 20:52:45 -05:00
arvidn 864fcfaced initialize piece priorities to 4 2016-12-04 18:36:45 -05:00
arvidn 8874a907ef fix to file priorities 2016-12-03 00:57:52 -05:00
arvidn 4df1ecbe25 re-enable some warnings and fix code 2016-11-20 01:05:16 -05:00
tnextday b25ea5329f updates `m_last_sent` in `peer_connection::setup_send()` instand of `peer_connection::keep_alive()` 2016-11-19 02:03:12 -05:00
arvidn f33d1b32e3 add trackers from add_torrent_params/magnet links to separate tiers 2016-11-09 18:44:01 -05:00
Arvid Norberg f5c7a49d61 remove incorrect deleted-storages assert and add some more test coverage in test_metadata_extensions (#1286) 2016-11-03 19:39:42 -04:00
Arvid Norberg 21d05945f2 documentation and deprecation fixes (#1275)
documentation and deprecation fixes
2016-10-31 20:00:01 -04:00
Arvid Norberg 7476f7875e don't check file-sizes resume data for files that likely is in the partfile (#1268) 2016-10-29 13:53:24 -04:00
Arvid Norberg d1a59879cb deprecate mmap_cache (#1269)
deprecated mmap_cache feature
2016-10-29 13:42:42 -04:00
Arvid Norberg 61af222d92 add utility function for generating peer ID fingerprint (#1249)
add utility function for generating peer ID fingerprint
2016-10-25 08:03:26 -04:00
Steven Siloti cf7db392b6 assert that offset didn't change while hashing 2016-10-25 07:59:02 -04:00
Steven Siloti f36b9a805a avoid concurrent access to hash offset
Since partial_hash::offset is not an atomic it is technically UD to access it
concurrently from multiple threads.
2016-10-25 07:59:02 -04:00
Steven Siloti 241e9fd25a add assert to detect index out-of-range 2016-10-25 07:59:02 -04:00
Arvid Norberg f16d0b7953 add unit test for 'file_sizes' entry in resume data (#1248)
add unit test for 'file_sizes' entry in resume data. fix resume data bug in client_test for magnet links and minor resume data cleanup in default_storage
2016-10-23 22:01:09 -04:00
Arvid Norberg 5012fcf10b fix bug in last-seen-complete (#1234) 2016-10-20 00:15:26 -04:00
Alden Torres fe754453f4 backport of fix for LFS support in android (#1232) 2016-10-20 00:14:03 -04:00
Arvid Norberg 7009001f73 fix ambiguous call to abs() in tommath (#1228)
fix ambiguous call to abs() in tommath
2016-10-20 00:13:45 -04:00
Pavel Pimenov 037f349cee Try resolve #1175 (for RC_1_1) (#1230)
https://github.com/arvidn/libtorrent/pull/1223
2016-10-19 17:29:35 -04:00
Steven Siloti fc7b4c1c4f update comment to reflect new quota definition 2016-10-15 21:32:14 -04:00
Steven Siloti c13286b945 take upload speed into account in round-robin choker
The unchoked peers need to be sorted by upload speed so that the slowest node
will get choked as part of optimistic unchoking.

Also change the minimum quanta to 1 minute instead of 256KB.

Also remove a useless multiply in the fastest peer choker since the priorities
are guarenteed to be equal at that point.

Fixes #1171
2016-10-15 21:32:14 -04:00
Arvid Norberg 25195a7260 back port DHT fixes from master (#1209)
back port DHT fixes from master
2016-10-14 23:47:59 -04:00
Arvid Norberg c966435d1c fix issue where shutting down the session immediately and asynchronously starting the DHT would cause a shutdown hang (#1203) 2016-10-10 22:54:19 -04:00
Arvid Norberg 6bb2d7c017 Sanitize 1.1 (#1197)
enable address sanitizer
2016-10-09 17:00:20 -04:00
Arvid Norberg 5f7e2eb928 run undefined sanitier on travis/linux (#1134)
run undefined sanitizer on travis/linux. back-port ed25519 unit test from master
2016-10-08 12:29:46 -04:00
Arvid Norberg 7a52a285a1 back-port error_code cleanup from master (#1173)
back-port error_code cleanup from master
2016-10-03 16:32:40 -07:00
Steven Siloti 2e0140b6f6 fix peer picking algorithm (#1141)
fix peer picking algorithm. The old code was always picking the first to_pick peers from the set.
2016-09-24 06:08:52 -07:00
Arvid Norberg b20b3ad1ac remove file size limit in torrent_info filename constructor (#1126) 2016-09-21 19:54:42 -07:00
Arvid Norberg 03068ffa0b Merge pull request #1108 from arvidn/user-agent-1.1
user agent anonymous mode
2016-09-21 07:25:15 -07:00
Arvid Norberg 4d716361c0 minor code cleanup (#1116) 2016-09-20 22:10:06 -07:00
arvidn 85a2a5c5cb don't send user-agent in metadata http downloads or UPnP requests when in anonymous mode 2016-09-18 17:16:03 -07:00
Arvid Norberg acf77a5385 fix tail-padding for last file in create_torrent (#1106) 2016-09-18 20:08:27 -04:00
Steven Siloti 0759b732c1 web_peer_connection: make a copy of the request before calling incomi… (#1091)
web_peer_connection: make a copy of the request before calling incoming_piece
2016-09-14 12:29:07 -04:00
sledgehammer999 22043fd186 Use std::random instead of Boost.Random when in c++11 mode. (#1087) 2016-09-13 17:07:01 -04:00
Steven Siloti 850eca1f21 don't pop request until we're done with it (#1085) 2016-09-13 02:37:00 -04:00
milesdong dc4d9af2e6 fix invalid memory access in utp_stream and torrent (#1084)
fix invalid memory access in uTP PMTUd
2016-09-13 02:36:23 -04:00
Alden Torres e4a27c0b4b backport of fix in resolve_links::match (#1068)
backport of fix in resolve_links::match
2016-09-06 18:30:30 -04:00
arvidn b554909486 hint DHT bootstrap nodes of actual bootstrap request 2016-08-30 21:15:35 -04:00
Arvid Norberg 88fe6ae8c3 don't link against sha1.cpp when using libcrypto's implementation (#1040) 2016-08-30 08:25:07 -04:00
Steven Siloti 3a665a1040 fix inconsistant prefix calulcation (#1030)
The special case for calculating the prefix in the last bucket was being
applied to the condidate node but not the existing nodes in the bucket.
2016-08-25 19:26:48 -04:00
Arvid Norberg 558ec097a2 fix applying settings to only take actual updates into account (#1027) 2016-08-22 21:38:57 -04:00
Arvid Norberg 2a36f9015d build mpi.c as c++ to allow including boost headers (#1026)
build mpi.c as c++ to allow including boost headers
2016-08-22 07:59:46 -04:00
arvidn 97ce1b07bf fix building tarball 2016-08-21 20:21:50 -04:00
Arvid Norberg debf3c6e36 update puff.c for gzip inflation (#1022)
update puff.c for gzip inflation
2016-08-21 14:43:44 -04:00
Arvid Norberg 80e5ce9b32 add a default DHT bootstrap node when it's enabled on session startup (#1008)
make the dht bootstrap nodes part of settings_pack instead, to make it possible to set them on startup. and add default
2016-08-21 12:15:19 -04:00
Arvid Norberg daa453ef3b back-port windows stack trace function to 1.1 (#1017)
back port exception handling and stack trace printing from master -> RC_1_1
2016-08-21 01:07:02 -04:00
Arvid Norberg b701fb252a clear alert nofify function when calling abort on a session, to avoid touching a destructed session object (#1015) 2016-08-20 11:04:44 -04:00
arvidn e247473b86 bump version number 2016-08-13 07:12:23 -04:00
Arvid Norberg 8007b947fd make pad-file and symlink support conform to BEP47 (#992)
make pad-file and symlink support conform to BEP47
2016-08-07 22:37:10 -04:00
Steven Siloti bc369683df handle short reads when exporting a file (#990)
handle short reads when exporting a file. Pieces in the part file are not guaranteed to be fully written so short reads need to be handled rather than asserting.
2016-08-07 16:04:29 -04:00
Steven Siloti d4296730d0 fix re-prioritizing a piece while it is downloading (#987)
update_piece_state does not expect that the piece's priority has also changed
since the last time the piece was updated. Make sure the piece's priority is
updated before trying to update the state.
2016-08-07 15:27:04 -04:00
Arvid Norberg 61031f1186 hack to allow timeout utp sockets that are about to be closed (#976) 2016-08-02 00:07:36 -04:00
arvidn 24dd6d0945 fix warning 2016-07-31 10:02:54 -04:00
arvidn 192559f245 fix warnings of unused return values from ftruncate() calls 2016-07-31 03:19:31 -04:00
terry zhao 48ca20968e fix value of current_tracker when all tracker failed (#932)
fix torrent_status::current_tracker when all trackers fail.
2016-07-26 01:13:28 -04:00
Arvid Norberg 6777ec5d05 back-ported dbghlp fix (#946)
back-ported dbghlp fix
2016-07-26 01:05:32 -04:00
Arvid Norberg 0ea449a7b5 make local service discovery cookie support not so random numbers, to make the test reliable (#943) 2016-07-25 08:05:54 -04:00
Arvid Norberg 6370d5bc81 deprecate lt_trackers extension (#940)
deprecate lt_trackers extension
2016-07-24 23:37:03 -04:00
Steven Siloti 3321ca10f1 update our id in the rpc manager when it changes (#942)
update our id in the rpc manager when it changes
2016-07-24 21:30:36 -04:00
Arvid Norberg 5bda955f8f don't send bitfield to peers whose handshake we haven't fully received yet (#925) 2016-07-20 10:11:28 -07:00
terry zhao e75bb120b4 fix range of lsd::cookie (#920)
fix cookie range of lsd in lsd::on_announce
2016-07-18 09:19:45 -07:00
Sivachandran 8f3bd1052e fix mutable dht_get_item failure when salt is non-empty (#909) 2016-07-18 07:12:10 -07:00
Arvid Norberg 80fba1f748 fix crash in session::get_ip_filter when not having set one (#914) 2016-07-17 14:23:54 -07:00
Arvid Norberg e079d0291e fix filename escaping when repairing torrents with broken web seeds (#892)
fix filename escaping when repairing torrents with broken web seeds
2016-07-07 02:22:15 -04:00
Arvid Norberg cf65f85dc3 fix file_completed_alert (#880) 2016-07-03 14:48:18 -04:00
Arvid Norberg 97ad7510af minor refactoring to move-storage patch (#680)
minor refactoring to move-storage patch
2016-06-29 20:05:28 +03:00
Vladimir Golovnev faef995cdc Move storage "file-by-file" (#632)
When moving storage for a torrent, only move files belonging to the torrent, one by one.
2016-06-29 20:05:16 +03:00
Alden Torres ecb64a53a9 backport of popcnt asm for x86 and gcc/clang (#864)
backport of popcnt asm for x86 and gcc/clang
2016-06-28 00:34:21 -04:00
terry zhao 1a3e75b50a fix msvc-8.0 build (#860) 2016-06-27 13:46:15 -04:00
arvidn b97ac65c01 don't perform expensive hash of piece data for logging 2016-06-26 13:11:52 -04:00
arvidn f56d698db6 fix asio-debugging 2016-06-25 17:29:40 -04:00
Arvid Norberg 6917a11c6b correct error introduced in add_torrent_impl refactor, with regards t… (#846)
correct error introduced in add_torrent_impl refactor, with regards to not having flag_duplicate_is_error set (which is not set by default)
2016-06-23 13:19:35 -04:00
arvidn 763d313570 fix bug in enum_net() for BSD and Mac 2016-06-21 19:05:22 -04:00
Alden Torres 38f4765ebc added assert and documentation typos (#816) 2016-06-13 17:16:09 -04:00
Alden Torres d759d8f742 not add peers from url if add_torrent_impl returns invalid handle (#814) 2016-06-13 07:47:16 -04:00