Merge pull request #224 from arvidn/fix-warnings

add more override annotation
This commit is contained in:
Arvid Norberg 2015-10-18 11:31:39 -04:00
commit b87995fd3e
12 changed files with 329 additions and 246 deletions

View File

@ -2116,10 +2116,6 @@ torrents is ``min(active_downloads + active_seeds, active_limit)``.
``active_downloads`` and ``active_seeds`` are upper limits on the ``active_downloads`` and ``active_seeds`` are upper limits on the
number of downloading torrents and seeding torrents respectively. number of downloading torrents and seeding torrents respectively.
Setting the value to -1 means unlimited. Setting the value to -1 means unlimited.
``active_checking`` is the limit of number of checking torrents.
Note that this limit applies to started non-auto-managed torrents as
well (as long as they are the the checking_files state).
For example if there are 10 seeding torrents and 10 downloading For example if there are 10 seeding torrents and 10 downloading
torrents, and ``active_downloads`` is 4 and ``active_seeds`` is 4, torrents, and ``active_downloads`` is 4 and ``active_seeds`` is 4,
there will be 4 seeds active and 4 downloading torrents. If the there will be 4 seeds active and 4 downloading torrents. If the
@ -2128,9 +2124,11 @@ then there will be 2 downloading torrents and 4 seeding torrents
active. Torrents that are not auto managed are not counted against active. Torrents that are not auto managed are not counted against
these limits. these limits.
``active_checking`` is the limit of number of simultaneous checking
torrents.
``active_limit`` is a hard limit on the number of active (auto ``active_limit`` is a hard limit on the number of active (auto
managed) torrents. This limit also applies to slow torrents. It does managed) torrents. This limit also applies to slow torrents.
not apply to checking torrents.
``active_dht_limit`` is the max number of torrents to announce to ``active_dht_limit`` is the max number of torrents to announce to
the DHT. By default this is set to 88, which is no more than one the DHT. By default this is set to 88, which is no more than one

View File

@ -89,7 +89,9 @@ namespace libtorrent
// internal // internal
static const int alert_type = 0; static const int alert_type = 0;
virtual std::string message() const;
// returns the message associated with this alert
virtual std::string message() const TORRENT_OVERRIDE;
// The torrent_handle pointing to the torrent this // The torrent_handle pointing to the torrent this
// alert is associated with. // alert is associated with.
@ -117,8 +119,8 @@ namespace libtorrent
static const int alert_type = 1; static const int alert_type = 1;
static const int static_category = alert::peer_notification; static const int static_category = alert::peer_notification;
virtual int category() const { return static_category; } virtual int category() const TORRENT_OVERRIDE { return static_category; }
virtual std::string message() const; virtual std::string message() const TORRENT_OVERRIDE;
// The peer's IP address and port. // The peer's IP address and port.
tcp::endpoint ip; tcp::endpoint ip;
@ -138,8 +140,8 @@ namespace libtorrent
static const int alert_type = 2; static const int alert_type = 2;
static const int static_category = alert::tracker_notification; static const int static_category = alert::tracker_notification;
virtual int category() const { return static_category; } virtual int category() const TORRENT_OVERRIDE { return static_category; }
virtual std::string message() const; virtual std::string message() const TORRENT_OVERRIDE;
// returns a null-terminated string of the tracker's URL // returns a null-terminated string of the tracker's URL
char const* tracker_url() const; char const* tracker_url() const;
@ -166,10 +168,10 @@ namespace libtorrent
#define TORRENT_DEFINE_ALERT_IMPL(name, seq, prio) \ #define TORRENT_DEFINE_ALERT_IMPL(name, seq, prio) \
static const int priority = prio; \ static const int priority = prio; \
static const int alert_type = seq; \ static const int alert_type = seq; \
virtual int type() const { return alert_type; } \ virtual int type() const TORRENT_OVERRIDE { return alert_type; } \
TORRENT_CLONE(name) \ TORRENT_CLONE(name) \
virtual int category() const { return static_category; } \ virtual int category() const TORRENT_OVERRIDE { return static_category; } \
virtual char const* what() const { return #name; } virtual char const* what() const TORRENT_OVERRIDE { return #name; }
#define TORRENT_DEFINE_ALERT(name, seq) \ #define TORRENT_DEFINE_ALERT(name, seq) \
TORRENT_DEFINE_ALERT_IMPL(name, seq, 0) TORRENT_DEFINE_ALERT_IMPL(name, seq, 0)
@ -188,7 +190,7 @@ namespace libtorrent
TORRENT_DEFINE_ALERT(torrent_added_alert, 3) TORRENT_DEFINE_ALERT(torrent_added_alert, 3)
static const int static_category = alert::status_notification; static const int static_category = alert::status_notification;
virtual std::string message() const; virtual std::string message() const TORRENT_OVERRIDE;
}; };
// The ``torrent_removed_alert`` is posted whenever a torrent is removed. Since // The ``torrent_removed_alert`` is posted whenever a torrent is removed. Since
@ -211,7 +213,7 @@ namespace libtorrent
TORRENT_DEFINE_ALERT_PRIO(torrent_removed_alert, 4) TORRENT_DEFINE_ALERT_PRIO(torrent_removed_alert, 4)
static const int static_category = alert::status_notification; static const int static_category = alert::status_notification;
virtual std::string message() const; virtual std::string message() const TORRENT_OVERRIDE;
TORRENT_NOT_DISCARDABLE TORRENT_NOT_DISCARDABLE
sha1_hash info_hash; sha1_hash info_hash;
}; };
@ -234,7 +236,7 @@ namespace libtorrent
TORRENT_DEFINE_ALERT_PRIO(read_piece_alert, 5) TORRENT_DEFINE_ALERT_PRIO(read_piece_alert, 5)
static const int static_category = alert::storage_notification; static const int static_category = alert::storage_notification;
virtual std::string message() const; virtual std::string message() const TORRENT_OVERRIDE;
TORRENT_NOT_DISCARDABLE TORRENT_NOT_DISCARDABLE
error_code ec; error_code ec;
@ -254,7 +256,7 @@ namespace libtorrent
TORRENT_DEFINE_ALERT(file_completed_alert, 6) TORRENT_DEFINE_ALERT(file_completed_alert, 6)
static const int static_category = alert::progress_notification; static const int static_category = alert::progress_notification;
virtual std::string message() const; virtual std::string message() const TORRENT_OVERRIDE;
// refers to the index of the file that completed. // refers to the index of the file that completed.
int index; int index;
@ -272,7 +274,7 @@ namespace libtorrent
TORRENT_DEFINE_ALERT_PRIO(file_renamed_alert, 7) TORRENT_DEFINE_ALERT_PRIO(file_renamed_alert, 7)
static const int static_category = alert::storage_notification; static const int static_category = alert::storage_notification;
virtual std::string message() const; virtual std::string message() const TORRENT_OVERRIDE;
TORRENT_NOT_DISCARDABLE TORRENT_NOT_DISCARDABLE
#ifndef TORRENT_NO_DEPRECATE #ifndef TORRENT_NO_DEPRECATE
std::string name; std::string name;
@ -299,7 +301,7 @@ namespace libtorrent
static const int static_category = alert::storage_notification; static const int static_category = alert::storage_notification;
virtual std::string message() const; virtual std::string message() const TORRENT_OVERRIDE;
TORRENT_NOT_DISCARDABLE TORRENT_NOT_DISCARDABLE
// refers to the index of the file that was supposed to be renamed, // refers to the index of the file that was supposed to be renamed,
@ -401,7 +403,7 @@ namespace libtorrent
static const int static_category = alert::performance_warning; static const int static_category = alert::performance_warning;
virtual std::string message() const; virtual std::string message() const TORRENT_OVERRIDE;
performance_warning_t warning_code; performance_warning_t warning_code;
}; };
@ -418,7 +420,7 @@ namespace libtorrent
static const int static_category = alert::status_notification; static const int static_category = alert::status_notification;
virtual std::string message() const; virtual std::string message() const TORRENT_OVERRIDE;
// the new state of the torrent. // the new state of the torrent.
torrent_status::state_t state; torrent_status::state_t state;
@ -449,7 +451,7 @@ namespace libtorrent
TORRENT_DEFINE_ALERT(tracker_error_alert, 11) TORRENT_DEFINE_ALERT(tracker_error_alert, 11)
static const int static_category = alert::tracker_notification | alert::error_notification; static const int static_category = alert::tracker_notification | alert::error_notification;
virtual std::string message() const; virtual std::string message() const TORRENT_OVERRIDE;
int times_in_row; int times_in_row;
int status_code; int status_code;
@ -479,7 +481,7 @@ namespace libtorrent
TORRENT_DEFINE_ALERT(tracker_warning_alert, 12) TORRENT_DEFINE_ALERT(tracker_warning_alert, 12)
static const int static_category = alert::tracker_notification | alert::error_notification; static const int static_category = alert::tracker_notification | alert::error_notification;
virtual std::string message() const; virtual std::string message() const TORRENT_OVERRIDE;
#ifndef TORRENT_NO_DEPRECATE #ifndef TORRENT_NO_DEPRECATE
// contains the warning message from the tracker. // contains the warning message from the tracker.
@ -505,7 +507,7 @@ namespace libtorrent
TORRENT_DEFINE_ALERT(scrape_reply_alert, 13) TORRENT_DEFINE_ALERT(scrape_reply_alert, 13)
virtual std::string message() const; virtual std::string message() const TORRENT_OVERRIDE;
// the data returned in the scrape response. These numbers // the data returned in the scrape response. These numbers
// may be -1 if the reponse was malformed. // may be -1 if the reponse was malformed.
@ -531,7 +533,7 @@ namespace libtorrent
TORRENT_DEFINE_ALERT(scrape_failed_alert, 14) TORRENT_DEFINE_ALERT(scrape_failed_alert, 14)
static const int static_category = alert::tracker_notification | alert::error_notification; static const int static_category = alert::tracker_notification | alert::error_notification;
virtual std::string message() const; virtual std::string message() const TORRENT_OVERRIDE;
#ifndef TORRENT_NO_DEPRECATE #ifndef TORRENT_NO_DEPRECATE
// contains a message describing the error. // contains a message describing the error.
@ -564,7 +566,7 @@ namespace libtorrent
TORRENT_DEFINE_ALERT(tracker_reply_alert, 15) TORRENT_DEFINE_ALERT(tracker_reply_alert, 15)
virtual std::string message() const; virtual std::string message() const TORRENT_OVERRIDE;
// tells how many peers the tracker returned in this response. This is // tells how many peers the tracker returned in this response. This is
// not expected to be more thant the ``num_want`` settings. These are not necessarily // not expected to be more thant the ``num_want`` settings. These are not necessarily
@ -585,7 +587,7 @@ namespace libtorrent
TORRENT_DEFINE_ALERT(dht_reply_alert, 16) TORRENT_DEFINE_ALERT(dht_reply_alert, 16)
virtual std::string message() const; virtual std::string message() const TORRENT_OVERRIDE;
int num_peers; int num_peers;
}; };
@ -602,7 +604,7 @@ namespace libtorrent
TORRENT_DEFINE_ALERT(tracker_announce_alert, 17) TORRENT_DEFINE_ALERT(tracker_announce_alert, 17)
virtual std::string message() const; virtual std::string message() const TORRENT_OVERRIDE;
// specifies what event was sent to the tracker. It is defined as: // specifies what event was sent to the tracker. It is defined as:
// //
@ -624,7 +626,7 @@ namespace libtorrent
TORRENT_DEFINE_ALERT(hash_failed_alert, 18) TORRENT_DEFINE_ALERT(hash_failed_alert, 18)
static const int static_category = alert::status_notification; static const int static_category = alert::status_notification;
virtual std::string message() const; virtual std::string message() const TORRENT_OVERRIDE;
int piece_index; int piece_index;
}; };
@ -639,7 +641,7 @@ namespace libtorrent
TORRENT_DEFINE_ALERT(peer_ban_alert, 19) TORRENT_DEFINE_ALERT(peer_ban_alert, 19)
virtual std::string message() const; virtual std::string message() const TORRENT_OVERRIDE;
}; };
// This alert is generated when a peer is unsnubbed. Essentially when it was snubbed for stalling // This alert is generated when a peer is unsnubbed. Essentially when it was snubbed for stalling
@ -652,7 +654,7 @@ namespace libtorrent
TORRENT_DEFINE_ALERT(peer_unsnubbed_alert, 20) TORRENT_DEFINE_ALERT(peer_unsnubbed_alert, 20)
virtual std::string message() const; virtual std::string message() const TORRENT_OVERRIDE;
}; };
// This alert is generated when a peer is snubbed, when it stops sending data when we request // This alert is generated when a peer is snubbed, when it stops sending data when we request
@ -665,7 +667,7 @@ namespace libtorrent
TORRENT_DEFINE_ALERT(peer_snubbed_alert, 21) TORRENT_DEFINE_ALERT(peer_snubbed_alert, 21)
virtual std::string message() const; virtual std::string message() const TORRENT_OVERRIDE;
}; };
// This alert is generated when a peer sends invalid data over the peer-peer protocol. The peer // This alert is generated when a peer sends invalid data over the peer-peer protocol. The peer
@ -680,7 +682,7 @@ namespace libtorrent
TORRENT_DEFINE_ALERT(peer_error_alert, 22) TORRENT_DEFINE_ALERT(peer_error_alert, 22)
static const int static_category = alert::peer_notification; static const int static_category = alert::peer_notification;
virtual std::string message() const; virtual std::string message() const TORRENT_OVERRIDE;
// a NULL-terminated string of the low-level operation that failed, or NULL if // a NULL-terminated string of the low-level operation that failed, or NULL if
// there was no low level disk operation. // there was no low level disk operation.
@ -704,7 +706,7 @@ namespace libtorrent
TORRENT_DEFINE_ALERT(peer_connect_alert, 23) TORRENT_DEFINE_ALERT(peer_connect_alert, 23)
static const int static_category = alert::debug_notification; static const int static_category = alert::debug_notification;
virtual std::string message() const; virtual std::string message() const TORRENT_OVERRIDE;
int socket_type; int socket_type;
}; };
@ -722,7 +724,7 @@ namespace libtorrent
TORRENT_DEFINE_ALERT(peer_disconnected_alert, 24) TORRENT_DEFINE_ALERT(peer_disconnected_alert, 24)
static const int static_category = alert::debug_notification; static const int static_category = alert::debug_notification;
virtual std::string message() const; virtual std::string message() const TORRENT_OVERRIDE;
// the kind of socket this peer was connected over // the kind of socket this peer was connected over
int socket_type; int socket_type;
@ -755,7 +757,7 @@ namespace libtorrent
TORRENT_DEFINE_ALERT(invalid_request_alert, 25) TORRENT_DEFINE_ALERT(invalid_request_alert, 25)
virtual std::string message() const; virtual std::string message() const TORRENT_OVERRIDE;
// the request we received from the peer // the request we received from the peer
peer_request request; peer_request request;
@ -784,7 +786,7 @@ namespace libtorrent
TORRENT_DEFINE_ALERT(torrent_finished_alert, 26) TORRENT_DEFINE_ALERT(torrent_finished_alert, 26)
static const int static_category = alert::status_notification; static const int static_category = alert::status_notification;
virtual std::string message() const; virtual std::string message() const TORRENT_OVERRIDE;
}; };
// this alert is posted every time a piece completes downloading // this alert is posted every time a piece completes downloading
@ -799,7 +801,7 @@ namespace libtorrent
TORRENT_DEFINE_ALERT(piece_finished_alert, 27) TORRENT_DEFINE_ALERT(piece_finished_alert, 27)
static const int static_category = alert::progress_notification; static const int static_category = alert::progress_notification;
virtual std::string message() const; virtual std::string message() const TORRENT_OVERRIDE;
// the index of the piece that finished // the index of the piece that finished
int piece_index; int piece_index;
@ -817,7 +819,7 @@ namespace libtorrent
static const int static_category = alert::progress_notification static const int static_category = alert::progress_notification
| alert::peer_notification; | alert::peer_notification;
virtual std::string message() const; virtual std::string message() const TORRENT_OVERRIDE;
int block_index; int block_index;
int piece_index; int piece_index;
@ -835,7 +837,7 @@ namespace libtorrent
static const int static_category = alert::progress_notification static const int static_category = alert::progress_notification
| alert::peer_notification; | alert::peer_notification;
virtual std::string message() const; virtual std::string message() const TORRENT_OVERRIDE;
int block_index; int block_index;
int piece_index; int piece_index;
@ -852,7 +854,7 @@ namespace libtorrent
TORRENT_DEFINE_ALERT(block_finished_alert, 30) TORRENT_DEFINE_ALERT(block_finished_alert, 30)
static const int static_category = alert::progress_notification; static const int static_category = alert::progress_notification;
virtual std::string message() const; virtual std::string message() const TORRENT_OVERRIDE;
int block_index; int block_index;
int piece_index; int piece_index;
@ -869,7 +871,7 @@ namespace libtorrent
TORRENT_DEFINE_ALERT(block_downloading_alert, 31) TORRENT_DEFINE_ALERT(block_downloading_alert, 31)
static const int static_category = alert::progress_notification; static const int static_category = alert::progress_notification;
virtual std::string message() const; virtual std::string message() const TORRENT_OVERRIDE;
#ifndef TORRENT_NO_DEPRECATE #ifndef TORRENT_NO_DEPRECATE
char const* peer_speedmsg; char const* peer_speedmsg;
@ -889,7 +891,7 @@ namespace libtorrent
TORRENT_DEFINE_ALERT(unwanted_block_alert, 32) TORRENT_DEFINE_ALERT(unwanted_block_alert, 32)
virtual std::string message() const; virtual std::string message() const TORRENT_OVERRIDE;
int block_index; int block_index;
int piece_index; int piece_index;
@ -908,7 +910,7 @@ namespace libtorrent
TORRENT_DEFINE_ALERT(storage_moved_alert, 33) TORRENT_DEFINE_ALERT(storage_moved_alert, 33)
static const int static_category = alert::storage_notification; static const int static_category = alert::storage_notification;
virtual std::string message() const; virtual std::string message() const TORRENT_OVERRIDE;
#ifndef TORRENT_NO_DEPRECATE #ifndef TORRENT_NO_DEPRECATE
std::string path; std::string path;
@ -935,7 +937,7 @@ namespace libtorrent
TORRENT_DEFINE_ALERT(storage_moved_failed_alert, 34) TORRENT_DEFINE_ALERT(storage_moved_failed_alert, 34)
static const int static_category = alert::storage_notification; static const int static_category = alert::storage_notification;
virtual std::string message() const; virtual std::string message() const TORRENT_OVERRIDE;
error_code error; error_code error;
@ -972,7 +974,7 @@ namespace libtorrent
TORRENT_DEFINE_ALERT_PRIO(torrent_deleted_alert, 35) TORRENT_DEFINE_ALERT_PRIO(torrent_deleted_alert, 35)
static const int static_category = alert::storage_notification; static const int static_category = alert::storage_notification;
virtual std::string message() const; virtual std::string message() const TORRENT_OVERRIDE;
TORRENT_NOT_DISCARDABLE TORRENT_NOT_DISCARDABLE
@ -991,7 +993,7 @@ namespace libtorrent
static const int static_category = alert::storage_notification static const int static_category = alert::storage_notification
| alert::error_notification; | alert::error_notification;
virtual std::string message() const; virtual std::string message() const TORRENT_OVERRIDE;
TORRENT_NOT_DISCARDABLE TORRENT_NOT_DISCARDABLE
@ -1018,7 +1020,7 @@ namespace libtorrent
TORRENT_DEFINE_ALERT_PRIO(save_resume_data_alert, 37) TORRENT_DEFINE_ALERT_PRIO(save_resume_data_alert, 37)
static const int static_category = alert::storage_notification; static const int static_category = alert::storage_notification;
virtual std::string message() const; virtual std::string message() const TORRENT_OVERRIDE;
TORRENT_NOT_DISCARDABLE TORRENT_NOT_DISCARDABLE
@ -1038,7 +1040,7 @@ namespace libtorrent
static const int static_category = alert::storage_notification static const int static_category = alert::storage_notification
| alert::error_notification; | alert::error_notification;
virtual std::string message() const; virtual std::string message() const TORRENT_OVERRIDE;
TORRENT_NOT_DISCARDABLE TORRENT_NOT_DISCARDABLE
@ -1061,7 +1063,7 @@ namespace libtorrent
TORRENT_DEFINE_ALERT(torrent_paused_alert, 39) TORRENT_DEFINE_ALERT(torrent_paused_alert, 39)
static const int static_category = alert::status_notification; static const int static_category = alert::status_notification;
virtual std::string message() const; virtual std::string message() const TORRENT_OVERRIDE;
}; };
// This alert is generated as a response to a torrent_handle::resume() request. It is // This alert is generated as a response to a torrent_handle::resume() request. It is
@ -1074,7 +1076,7 @@ namespace libtorrent
TORRENT_DEFINE_ALERT(torrent_resumed_alert, 40) TORRENT_DEFINE_ALERT(torrent_resumed_alert, 40)
static const int static_category = alert::status_notification; static const int static_category = alert::status_notification;
virtual std::string message() const; virtual std::string message() const TORRENT_OVERRIDE;
}; };
// This alert is posted when a torrent completes checking. i.e. when it transitions // This alert is posted when a torrent completes checking. i.e. when it transitions
@ -1087,7 +1089,7 @@ namespace libtorrent
TORRENT_DEFINE_ALERT(torrent_checked_alert, 41) TORRENT_DEFINE_ALERT(torrent_checked_alert, 41)
static const int static_category = alert::status_notification; static const int static_category = alert::status_notification;
virtual std::string message() const; virtual std::string message() const TORRENT_OVERRIDE;
}; };
// This alert is generated when a HTTP seed name lookup fails. // This alert is generated when a HTTP seed name lookup fails.
@ -1102,7 +1104,7 @@ namespace libtorrent
TORRENT_DEFINE_ALERT(url_seed_alert, 42) TORRENT_DEFINE_ALERT(url_seed_alert, 42)
static const int static_category = alert::peer_notification | alert::error_notification; static const int static_category = alert::peer_notification | alert::error_notification;
std::string message() const; virtual std::string message() const TORRENT_OVERRIDE;
#ifndef TORRENT_NO_DEPRECATE #ifndef TORRENT_NO_DEPRECATE
// the HTTP seed that failed // the HTTP seed that failed
@ -1144,7 +1146,7 @@ namespace libtorrent
static const int static_category = alert::status_notification static const int static_category = alert::status_notification
| alert::error_notification | alert::error_notification
| alert::storage_notification; | alert::storage_notification;
virtual std::string message() const; virtual std::string message() const TORRENT_OVERRIDE;
#ifndef TORRENT_NO_DEPRECATE #ifndef TORRENT_NO_DEPRECATE
// the path to the file that was accessed when the error occurred. // the path to the file that was accessed when the error occurred.
@ -1178,7 +1180,7 @@ namespace libtorrent
TORRENT_DEFINE_ALERT(metadata_failed_alert, 44) TORRENT_DEFINE_ALERT(metadata_failed_alert, 44)
static const int static_category = alert::error_notification; static const int static_category = alert::error_notification;
virtual std::string message() const; virtual std::string message() const TORRENT_OVERRIDE;
// indicates what failed when parsing the metadata. This error is // indicates what failed when parsing the metadata. This error is
// what's returned from lazy_bdecode(). // what's returned from lazy_bdecode().
@ -1218,7 +1220,7 @@ namespace libtorrent
TORRENT_DEFINE_ALERT(metadata_received_alert, 45) TORRENT_DEFINE_ALERT(metadata_received_alert, 45)
static const int static_category = alert::status_notification; static const int static_category = alert::status_notification;
virtual std::string message() const; virtual std::string message() const TORRENT_OVERRIDE;
}; };
// This alert is posted when there is an error on the UDP socket. The // This alert is posted when there is an error on the UDP socket. The
@ -1235,7 +1237,7 @@ namespace libtorrent
TORRENT_DEFINE_ALERT(udp_error_alert, 46) TORRENT_DEFINE_ALERT(udp_error_alert, 46)
static const int static_category = alert::error_notification; static const int static_category = alert::error_notification;
virtual std::string message() const; virtual std::string message() const TORRENT_OVERRIDE;
// the source address associated with the error (if any) // the source address associated with the error (if any)
udp::endpoint endpoint; udp::endpoint endpoint;
@ -1256,7 +1258,7 @@ namespace libtorrent
TORRENT_DEFINE_ALERT(external_ip_alert, 47) TORRENT_DEFINE_ALERT(external_ip_alert, 47)
static const int static_category = alert::status_notification; static const int static_category = alert::status_notification;
virtual std::string message() const; virtual std::string message() const TORRENT_OVERRIDE;
// the IP address that is believed to be our external IP // the IP address that is believed to be our external IP
address external_address; address external_address;
@ -1286,7 +1288,7 @@ namespace libtorrent
TORRENT_DEFINE_ALERT_PRIO(listen_failed_alert, 48) TORRENT_DEFINE_ALERT_PRIO(listen_failed_alert, 48)
static const int static_category = alert::status_notification | alert::error_notification; static const int static_category = alert::status_notification | alert::error_notification;
virtual std::string message() const; virtual std::string message() const TORRENT_OVERRIDE;
TORRENT_NOT_DISCARDABLE TORRENT_NOT_DISCARDABLE
#if !defined(TORRENT_NO_DEPRECATE) && !defined(TORRENT_WINRT) #if !defined(TORRENT_NO_DEPRECATE) && !defined(TORRENT_WINRT)
@ -1329,7 +1331,7 @@ namespace libtorrent
TORRENT_DEFINE_ALERT_PRIO(listen_succeeded_alert, 49) TORRENT_DEFINE_ALERT_PRIO(listen_succeeded_alert, 49)
static const int static_category = alert::status_notification; static const int static_category = alert::status_notification;
virtual std::string message() const; virtual std::string message() const TORRENT_OVERRIDE;
TORRENT_NOT_DISCARDABLE TORRENT_NOT_DISCARDABLE
// the endpoint libtorrent ended up listening on. The address // the endpoint libtorrent ended up listening on. The address
@ -1356,7 +1358,7 @@ namespace libtorrent
static const int static_category = alert::port_mapping_notification static const int static_category = alert::port_mapping_notification
| alert::error_notification; | alert::error_notification;
virtual std::string message() const; virtual std::string message() const TORRENT_OVERRIDE;
// refers to the mapping index of the port map that failed, i.e. // refers to the mapping index of the port map that failed, i.e.
// the index returned from add_mapping(). // the index returned from add_mapping().
@ -1384,7 +1386,7 @@ namespace libtorrent
TORRENT_DEFINE_ALERT(portmap_alert, 51) TORRENT_DEFINE_ALERT(portmap_alert, 51)
static const int static_category = alert::port_mapping_notification; static const int static_category = alert::port_mapping_notification;
virtual std::string message() const; virtual std::string message() const TORRENT_OVERRIDE;
// refers to the mapping index of the port map that failed, i.e. // refers to the mapping index of the port map that failed, i.e.
// the index returned from add_mapping(). // the index returned from add_mapping().
@ -1411,7 +1413,7 @@ namespace libtorrent
TORRENT_DEFINE_ALERT(portmap_log_alert, 52) TORRENT_DEFINE_ALERT(portmap_log_alert, 52)
static const int static_category = alert::port_mapping_log_notification; static const int static_category = alert::port_mapping_log_notification;
virtual std::string message() const; virtual std::string message() const TORRENT_OVERRIDE;
int map_type; int map_type;
@ -1446,7 +1448,7 @@ namespace libtorrent
static const int static_category = alert::status_notification static const int static_category = alert::status_notification
| alert::error_notification; | alert::error_notification;
virtual std::string message() const; virtual std::string message() const TORRENT_OVERRIDE;
error_code error; error_code error;
@ -1486,7 +1488,7 @@ namespace libtorrent
TORRENT_DEFINE_ALERT(peer_blocked_alert, 54) TORRENT_DEFINE_ALERT(peer_blocked_alert, 54)
static const int static_category = alert::ip_block_notification; static const int static_category = alert::ip_block_notification;
virtual std::string message() const; virtual std::string message() const TORRENT_OVERRIDE;
// the address that was blocked. // the address that was blocked.
address ip; address ip;
@ -1516,7 +1518,7 @@ namespace libtorrent
TORRENT_DEFINE_ALERT(dht_announce_alert, 55) TORRENT_DEFINE_ALERT(dht_announce_alert, 55)
static const int static_category = alert::dht_notification; static const int static_category = alert::dht_notification;
virtual std::string message() const; virtual std::string message() const TORRENT_OVERRIDE;
address ip; address ip;
int port; int port;
@ -1533,7 +1535,7 @@ namespace libtorrent
TORRENT_DEFINE_ALERT(dht_get_peers_alert, 56) TORRENT_DEFINE_ALERT(dht_get_peers_alert, 56)
static const int static_category = alert::dht_notification; static const int static_category = alert::dht_notification;
virtual std::string message() const; virtual std::string message() const TORRENT_OVERRIDE;
sha1_hash info_hash; sha1_hash info_hash;
}; };
@ -1550,7 +1552,7 @@ namespace libtorrent
TORRENT_DEFINE_ALERT(stats_alert, 57) TORRENT_DEFINE_ALERT(stats_alert, 57)
static const int static_category = alert::stats_notification; static const int static_category = alert::stats_notification;
virtual std::string message() const; virtual std::string message() const TORRENT_OVERRIDE;
enum stats_channel enum stats_channel
{ {
@ -1616,7 +1618,7 @@ namespace libtorrent
TORRENT_DEFINE_ALERT(anonymous_mode_alert, 59) TORRENT_DEFINE_ALERT(anonymous_mode_alert, 59)
static const int static_category = alert::error_notification; static const int static_category = alert::error_notification;
virtual std::string message() const; virtual std::string message() const TORRENT_OVERRIDE;
enum kind_t enum kind_t
{ {
@ -1642,7 +1644,7 @@ namespace libtorrent
TORRENT_DEFINE_ALERT(lsd_peer_alert, 60) TORRENT_DEFINE_ALERT(lsd_peer_alert, 60)
static const int static_category = alert::peer_notification; static const int static_category = alert::peer_notification;
virtual std::string message() const; virtual std::string message() const TORRENT_OVERRIDE;
}; };
// This alert is posted whenever a tracker responds with a ``trackerid``. // This alert is posted whenever a tracker responds with a ``trackerid``.
@ -1658,7 +1660,7 @@ namespace libtorrent
TORRENT_DEFINE_ALERT(trackerid_alert, 61) TORRENT_DEFINE_ALERT(trackerid_alert, 61)
static const int static_category = alert::status_notification; static const int static_category = alert::status_notification;
virtual std::string message() const; virtual std::string message() const TORRENT_OVERRIDE;
#ifndef TORRENT_NO_DEPRECATE #ifndef TORRENT_NO_DEPRECATE
// The tracker ID returned by the tracker // The tracker ID returned by the tracker
@ -1681,7 +1683,7 @@ namespace libtorrent
TORRENT_DEFINE_ALERT(dht_bootstrap_alert, 62) TORRENT_DEFINE_ALERT(dht_bootstrap_alert, 62)
static const int static_category = alert::dht_notification; static const int static_category = alert::dht_notification;
virtual std::string message() const; virtual std::string message() const TORRENT_OVERRIDE;
}; };
#ifndef TORRENT_NO_DEPRECATE #ifndef TORRENT_NO_DEPRECATE
@ -1699,7 +1701,7 @@ namespace libtorrent
TORRENT_DEFINE_ALERT(rss_alert, 63) TORRENT_DEFINE_ALERT(rss_alert, 63)
static const int static_category = alert::rss_notification; static const int static_category = alert::rss_notification;
virtual std::string message() const; virtual std::string message() const TORRENT_OVERRIDE;
enum state_t enum state_t
{ {
@ -1742,7 +1744,7 @@ namespace libtorrent
TORRENT_DEFINE_ALERT(torrent_error_alert, 64) TORRENT_DEFINE_ALERT(torrent_error_alert, 64)
static const int static_category = alert::error_notification | alert::status_notification; static const int static_category = alert::error_notification | alert::status_notification;
virtual std::string message() const; virtual std::string message() const TORRENT_OVERRIDE;
// specifies which error the torrent encountered. // specifies which error the torrent encountered.
error_code error; error_code error;
@ -1772,7 +1774,7 @@ namespace libtorrent
TORRENT_DEFINE_ALERT_PRIO(torrent_need_cert_alert, 65) TORRENT_DEFINE_ALERT_PRIO(torrent_need_cert_alert, 65)
static const int static_category = alert::status_notification; static const int static_category = alert::status_notification;
virtual std::string message() const; virtual std::string message() const TORRENT_OVERRIDE;
TORRENT_NOT_DISCARDABLE TORRENT_NOT_DISCARDABLE
error_code error; error_code error;
@ -1793,7 +1795,7 @@ namespace libtorrent
TORRENT_DEFINE_ALERT(incoming_connection_alert, 66) TORRENT_DEFINE_ALERT(incoming_connection_alert, 66)
static const int static_category = alert::peer_notification; static const int static_category = alert::peer_notification;
virtual std::string message() const; virtual std::string message() const TORRENT_OVERRIDE;
// tells you what kind of socket the connection was accepted // tells you what kind of socket the connection was accepted
// as: // as:
@ -1828,7 +1830,7 @@ namespace libtorrent
TORRENT_DEFINE_ALERT_PRIO(add_torrent_alert, 67) TORRENT_DEFINE_ALERT_PRIO(add_torrent_alert, 67)
static const int static_category = alert::status_notification; static const int static_category = alert::status_notification;
virtual std::string message() const; virtual std::string message() const TORRENT_OVERRIDE;
TORRENT_NOT_DISCARDABLE TORRENT_NOT_DISCARDABLE
// a copy of the parameters used when adding the torrent, it can be used // a copy of the parameters used when adding the torrent, it can be used
@ -1852,7 +1854,7 @@ namespace libtorrent
TORRENT_DEFINE_ALERT_PRIO(state_update_alert, 68) TORRENT_DEFINE_ALERT_PRIO(state_update_alert, 68)
static const int static_category = alert::status_notification; static const int static_category = alert::status_notification;
virtual std::string message() const; virtual std::string message() const TORRENT_OVERRIDE;
TORRENT_NOT_DISCARDABLE TORRENT_NOT_DISCARDABLE
// contains the torrent status of all torrents that changed since last // contains the torrent status of all torrents that changed since last
@ -1870,7 +1872,7 @@ namespace libtorrent
TORRENT_DEFINE_ALERT(mmap_cache_alert, 69) TORRENT_DEFINE_ALERT(mmap_cache_alert, 69)
static const int static_category = alert::error_notification; static const int static_category = alert::error_notification;
virtual std::string message() const; virtual std::string message() const TORRENT_OVERRIDE;
error_code error; error_code error;
}; };
@ -1885,7 +1887,7 @@ namespace libtorrent
TORRENT_DEFINE_ALERT_PRIO(session_stats_alert, 70) TORRENT_DEFINE_ALERT_PRIO(session_stats_alert, 70)
static const int static_category = alert::stats_notification; static const int static_category = alert::stats_notification;
virtual std::string message() const; virtual std::string message() const TORRENT_OVERRIDE;
TORRENT_NOT_DISCARDABLE TORRENT_NOT_DISCARDABLE
@ -1917,7 +1919,7 @@ namespace libtorrent
TORRENT_DEFINE_ALERT_PRIO(torrent_update_alert, 71) TORRENT_DEFINE_ALERT_PRIO(torrent_update_alert, 71)
static const int static_category = alert::status_notification; static const int static_category = alert::status_notification;
virtual std::string message() const; virtual std::string message() const TORRENT_OVERRIDE;
TORRENT_NOT_DISCARDABLE TORRENT_NOT_DISCARDABLE
// ``old_ih`` and ``new_ih`` are the previous and new info-hash for the torrent, respectively. // ``old_ih`` and ``new_ih`` are the previous and new info-hash for the torrent, respectively.
@ -1940,7 +1942,7 @@ namespace libtorrent
TORRENT_DEFINE_ALERT(rss_item_alert, 72) TORRENT_DEFINE_ALERT(rss_item_alert, 72)
static const int static_category = alert::rss_notification; static const int static_category = alert::rss_notification;
virtual std::string message() const; virtual std::string message() const TORRENT_OVERRIDE;
feed_handle handle; feed_handle handle;
feed_item item; feed_item item;
@ -1958,7 +1960,7 @@ namespace libtorrent
static const int static_category = alert::error_notification static const int static_category = alert::error_notification
| alert::dht_notification; | alert::dht_notification;
virtual std::string message() const; virtual std::string message() const TORRENT_OVERRIDE;
// the error code // the error code
error_code error; error_code error;
@ -1984,7 +1986,7 @@ namespace libtorrent
static const int static_category = alert::dht_notification; static const int static_category = alert::dht_notification;
virtual std::string message() const; virtual std::string message() const TORRENT_OVERRIDE;
TORRENT_NOT_DISCARDABLE TORRENT_NOT_DISCARDABLE
// the target hash of the immutable item. This must // the target hash of the immutable item. This must
@ -2010,7 +2012,7 @@ namespace libtorrent
TORRENT_DEFINE_ALERT_PRIO(dht_mutable_item_alert, 75) TORRENT_DEFINE_ALERT_PRIO(dht_mutable_item_alert, 75)
static const int static_category = alert::dht_notification; static const int static_category = alert::dht_notification;
virtual std::string message() const; virtual std::string message() const TORRENT_OVERRIDE;
TORRENT_NOT_DISCARDABLE TORRENT_NOT_DISCARDABLE
@ -2052,7 +2054,7 @@ namespace libtorrent
TORRENT_DEFINE_ALERT(dht_put_alert, 76) TORRENT_DEFINE_ALERT(dht_put_alert, 76)
static const int static_category = alert::dht_notification; static const int static_category = alert::dht_notification;
virtual std::string message() const; virtual std::string message() const TORRENT_OVERRIDE;
// the target hash the item was stored under if this was an *immutable* // the target hash the item was stored under if this was an *immutable*
// item. // item.
@ -2074,7 +2076,7 @@ namespace libtorrent
TORRENT_DEFINE_ALERT(i2p_alert, 77) TORRENT_DEFINE_ALERT(i2p_alert, 77)
static const int static_category = alert::error_notification; static const int static_category = alert::error_notification;
virtual std::string message() const; virtual std::string message() const TORRENT_OVERRIDE;
// the error that occurred in the i2p SAM connection // the error that occurred in the i2p SAM connection
error_code error; error_code error;
@ -2092,7 +2094,7 @@ namespace libtorrent
TORRENT_DEFINE_ALERT(dht_outgoing_get_peers_alert, 78) TORRENT_DEFINE_ALERT(dht_outgoing_get_peers_alert, 78)
static const int static_category = alert::dht_notification; static const int static_category = alert::dht_notification;
virtual std::string message() const; virtual std::string message() const TORRENT_OVERRIDE;
// the info_hash of the torrent we're looking for peers for. // the info_hash of the torrent we're looking for peers for.
sha1_hash info_hash; sha1_hash info_hash;
@ -2117,7 +2119,7 @@ namespace libtorrent
TORRENT_DEFINE_ALERT(log_alert, 79) TORRENT_DEFINE_ALERT(log_alert, 79)
static const int static_category = alert::session_log_notification; static const int static_category = alert::session_log_notification;
virtual std::string message() const; virtual std::string message() const TORRENT_OVERRIDE;
// returns the log message // returns the log message
char const* msg() const; char const* msg() const;
@ -2140,7 +2142,7 @@ namespace libtorrent
TORRENT_DEFINE_ALERT(torrent_log_alert, 80) TORRENT_DEFINE_ALERT(torrent_log_alert, 80)
static const int static_category = alert::torrent_log_notification; static const int static_category = alert::torrent_log_notification;
virtual std::string message() const; virtual std::string message() const TORRENT_OVERRIDE;
// returns the log message // returns the log message
char const* msg() const; char const* msg() const;
@ -2175,7 +2177,7 @@ namespace libtorrent
TORRENT_DEFINE_ALERT(peer_log_alert, 81) TORRENT_DEFINE_ALERT(peer_log_alert, 81)
static const int static_category = alert::peer_log_notification; static const int static_category = alert::peer_log_notification;
virtual std::string message() const; virtual std::string message() const TORRENT_OVERRIDE;
// string literal indicating the kind of event. For messages, this is the // string literal indicating the kind of event. For messages, this is the
// message name. // message name.
@ -2200,7 +2202,7 @@ namespace libtorrent
TORRENT_DEFINE_ALERT(lsd_error_alert, 82) TORRENT_DEFINE_ALERT(lsd_error_alert, 82)
static const int static_category = alert::error_notification; static const int static_category = alert::error_notification;
virtual std::string message() const; virtual std::string message() const TORRENT_OVERRIDE;
// The error code // The error code
error_code error; error_code error;
@ -2274,7 +2276,7 @@ namespace libtorrent
TORRENT_DEFINE_ALERT(dht_stats_alert, 83) TORRENT_DEFINE_ALERT(dht_stats_alert, 83)
static const int static_category = alert::stats_notification; static const int static_category = alert::stats_notification;
virtual std::string message() const; virtual std::string message() const TORRENT_OVERRIDE;
// a vector of the currently running DHT lookups. // a vector of the currently running DHT lookups.
std::vector<dht_lookup> active_requests; std::vector<dht_lookup> active_requests;
@ -2298,7 +2300,7 @@ namespace libtorrent
static const int static_category = alert::incoming_request_notification; static const int static_category = alert::incoming_request_notification;
TORRENT_DEFINE_ALERT(incoming_request_alert, 84) TORRENT_DEFINE_ALERT(incoming_request_alert, 84)
virtual std::string message() const; virtual std::string message() const TORRENT_OVERRIDE;
// the request this peer sent to us // the request this peer sent to us
peer_request req; peer_request req;
@ -2321,7 +2323,7 @@ namespace libtorrent
static const int static_category = alert::dht_log_notification; static const int static_category = alert::dht_log_notification;
TORRENT_DEFINE_ALERT(dht_log_alert, 85) TORRENT_DEFINE_ALERT(dht_log_alert, 85)
virtual std::string message() const; virtual std::string message() const TORRENT_OVERRIDE;
// the log message // the log message
char const* log_message() const; char const* log_message() const;
@ -2348,7 +2350,7 @@ namespace libtorrent
static const int static_category = alert::dht_log_notification; static const int static_category = alert::dht_log_notification;
TORRENT_DEFINE_ALERT(dht_pkt_alert, 86) TORRENT_DEFINE_ALERT(dht_pkt_alert, 86)
virtual std::string message() const; virtual std::string message() const TORRENT_OVERRIDE;
// returns a pointer to the packet buffer and size of the packet, // returns a pointer to the packet buffer and size of the packet,
// respectively. This buffer is only valid for as long as the alert itself // respectively. This buffer is only valid for as long as the alert itself
@ -2379,7 +2381,7 @@ namespace libtorrent
static const int static_category = alert::dht_operation_notification; static const int static_category = alert::dht_operation_notification;
TORRENT_DEFINE_ALERT(dht_get_peers_reply_alert, 87) TORRENT_DEFINE_ALERT(dht_get_peers_reply_alert, 87)
virtual std::string message() const; virtual std::string message() const TORRENT_OVERRIDE;
sha1_hash info_hash; sha1_hash info_hash;
@ -2406,7 +2408,7 @@ namespace libtorrent
TORRENT_DEFINE_ALERT(dht_direct_response_alert, 88) TORRENT_DEFINE_ALERT(dht_direct_response_alert, 88)
static const int static_category = alert::dht_notification; static const int static_category = alert::dht_notification;
virtual std::string message() const; virtual std::string message() const TORRENT_OVERRIDE;
void* userdata; void* userdata;
udp::endpoint addr; udp::endpoint addr;

View File

@ -201,10 +201,10 @@ namespace libtorrent
void add_ses_extension(boost::shared_ptr<plugin> ext); void add_ses_extension(boost::shared_ptr<plugin> ext);
#endif #endif
#if TORRENT_USE_ASSERTS #if TORRENT_USE_ASSERTS
bool has_peer(peer_connection const* p) const; bool has_peer(peer_connection const* p) const TORRENT_OVERRIDE TORRENT_FINAL;
bool any_torrent_has_peer(peer_connection const* p) const; bool any_torrent_has_peer(peer_connection const* p) const TORRENT_OVERRIDE TORRENT_FINAL;
bool is_single_thread() const { return single_threaded::is_single_thread(); } bool is_single_thread() const { return single_threaded::is_single_thread(); }
bool is_posting_torrent_updates() const { return m_posting_torrent_updates; } bool is_posting_torrent_updates() const TORRENT_OVERRIDE TORRENT_FINAL { return m_posting_torrent_updates; }
// this is set while the session is building the // this is set while the session is building the
// torrent status update message // torrent status update message
bool m_posting_torrent_updates; bool m_posting_torrent_updates;
@ -212,14 +212,15 @@ namespace libtorrent
void open_listen_port(); void open_listen_port();
torrent_peer_allocator_interface* get_peer_allocator() { return &m_peer_allocator; } torrent_peer_allocator_interface* get_peer_allocator() TORRENT_OVERRIDE TORRENT_FINAL
{ return &m_peer_allocator; }
io_service& get_io_service() { return m_io_service; } io_service& get_io_service() TORRENT_OVERRIDE TORRENT_FINAL { return m_io_service; }
resolver_interface& get_resolver() { return m_host_resolver; } resolver_interface& get_resolver() TORRENT_OVERRIDE TORRENT_FINAL { return m_host_resolver; }
void async_resolve(std::string const& host, int flags void async_resolve(std::string const& host, int flags
, callback_t const& h); , callback_t const& h) TORRENT_OVERRIDE TORRENT_FINAL;
std::vector<torrent*>& torrent_list(int i) std::vector<torrent*>& torrent_list(int i) TORRENT_OVERRIDE TORRENT_FINAL
{ {
TORRENT_ASSERT(i >= 0); TORRENT_ASSERT(i >= 0);
TORRENT_ASSERT(i < session_interface::num_torrent_lists); TORRENT_ASSERT(i < session_interface::num_torrent_lists);
@ -230,13 +231,13 @@ namespace libtorrent
// attempts, because this torrent needs more peers. // attempts, because this torrent needs more peers.
// this is typically done when a torrent starts out and // this is typically done when a torrent starts out and
// need the initial push to connect peers // need the initial push to connect peers
void prioritize_connections(boost::weak_ptr<torrent> t); void prioritize_connections(boost::weak_ptr<torrent> t) TORRENT_OVERRIDE TORRENT_FINAL;
// if we are listening on an IPv6 interface // if we are listening on an IPv6 interface
// this will return one of the IPv6 addresses on this // this will return one of the IPv6 addresses on this
// machine, otherwise just an empty endpoint // machine, otherwise just an empty endpoint
tcp::endpoint get_ipv6_interface() const; tcp::endpoint get_ipv6_interface() const TORRENT_OVERRIDE TORRENT_FINAL;
tcp::endpoint get_ipv4_interface() const; tcp::endpoint get_ipv4_interface() const TORRENT_OVERRIDE TORRENT_FINAL;
void async_accept(boost::shared_ptr<tcp::acceptor> const& listener, bool ssl); void async_accept(boost::shared_ptr<tcp::acceptor> const& listener, bool ssl);
void on_accept_connection(boost::shared_ptr<socket_type> const& s void on_accept_connection(boost::shared_ptr<socket_type> const& s
@ -252,14 +253,14 @@ namespace libtorrent
void get_feeds(std::vector<feed_handle>* f) const; void get_feeds(std::vector<feed_handle>* f) const;
#endif #endif
boost::weak_ptr<torrent> find_torrent(sha1_hash const& info_hash) const; boost::weak_ptr<torrent> find_torrent(sha1_hash const& info_hash) const TORRENT_OVERRIDE TORRENT_FINAL;
boost::weak_ptr<torrent> find_torrent(std::string const& uuid) const; boost::weak_ptr<torrent> find_torrent(std::string const& uuid) const;
#ifndef TORRENT_DISABLE_MUTABLE_TORRENTS #ifndef TORRENT_DISABLE_MUTABLE_TORRENTS
std::vector<boost::shared_ptr<torrent> > find_collection( std::vector<boost::shared_ptr<torrent> > find_collection(
std::string const& collection) const; std::string const& collection) const TORRENT_OVERRIDE TORRENT_FINAL;
#endif #endif
boost::weak_ptr<torrent> find_disconnect_candidate_torrent() const; boost::weak_ptr<torrent> find_disconnect_candidate_torrent() const TORRENT_OVERRIDE TORRENT_FINAL;
int num_torrents() const { return m_torrents.size(); } int num_torrents() const TORRENT_OVERRIDE TORRENT_FINAL { return m_torrents.size(); }
void insert_torrent(sha1_hash const& ih, boost::shared_ptr<torrent> const& t void insert_torrent(sha1_hash const& ih, boost::shared_ptr<torrent> const& t
, std::string uuid); , std::string uuid);
@ -280,15 +281,15 @@ namespace libtorrent
void apply_settings_pack(boost::shared_ptr<settings_pack> pack); void apply_settings_pack(boost::shared_ptr<settings_pack> pack);
void apply_settings_pack_impl(settings_pack const& pack); void apply_settings_pack_impl(settings_pack const& pack);
session_settings const& settings() const { return m_settings; } session_settings const& settings() const TORRENT_OVERRIDE TORRENT_FINAL { return m_settings; }
settings_pack get_settings() const; settings_pack get_settings() const;
#ifndef TORRENT_DISABLE_DHT #ifndef TORRENT_DISABLE_DHT
dht::dht_tracker* dht() { return m_dht.get(); } dht::dht_tracker* dht() TORRENT_OVERRIDE TORRENT_FINAL { return m_dht.get(); }
bool announce_dht() const { return !m_listen_sockets.empty(); } bool announce_dht() const TORRENT_OVERRIDE TORRENT_FINAL { return !m_listen_sockets.empty(); }
void add_dht_node_name(std::pair<std::string, int> const& node); void add_dht_node_name(std::pair<std::string, int> const& node);
void add_dht_node(udp::endpoint n); void add_dht_node(udp::endpoint n) TORRENT_OVERRIDE TORRENT_FINAL;
void add_dht_router(std::pair<std::string, int> const& node); void add_dht_router(std::pair<std::string, int> const& node);
void set_dht_settings(dht_settings const& s); void set_dht_settings(dht_settings const& s);
dht_settings const& get_dht_settings() const { return m_dht_settings; } dht_settings const& get_dht_settings() const { return m_dht_settings; }
@ -296,12 +297,12 @@ namespace libtorrent
void start_dht(); void start_dht();
void stop_dht(); void stop_dht();
void start_dht(entry const& startup_state); void start_dht(entry const& startup_state);
bool has_dht() const; bool has_dht() const TORRENT_OVERRIDE TORRENT_FINAL;
// this is called for torrents when they are started // this is called for torrents when they are started
// it will prioritize them for announcing to // it will prioritize them for announcing to
// the DHT, to get the initial peers quickly // the DHT, to get the initial peers quickly
void prioritize_dht(boost::weak_ptr<torrent> t); void prioritize_dht(boost::weak_ptr<torrent> t) TORRENT_OVERRIDE TORRENT_FINAL;
void get_immutable_callback(sha1_hash target void get_immutable_callback(sha1_hash target
, dht::item const& i); , dht::item const& i);
@ -365,8 +366,8 @@ namespace libtorrent
ip_filter const& get_ip_filter(); ip_filter const& get_ip_filter();
void set_port_filter(port_filter const& f); void set_port_filter(port_filter const& f);
port_filter const& get_port_filter() const TORRENT_OVERRIDE; port_filter const& get_port_filter() const TORRENT_OVERRIDE TORRENT_FINAL;
void ban_ip(address addr) TORRENT_OVERRIDE; void ban_ip(address addr) TORRENT_OVERRIDE TORRENT_FINAL;
void queue_tracker_request(tracker_request& req void queue_tracker_request(tracker_request& req
, boost::weak_ptr<request_callback> c); , boost::weak_ptr<request_callback> c);
@ -571,23 +572,23 @@ namespace libtorrent
// implements dht_observer // implements dht_observer
virtual void set_external_address(address const& ip virtual void set_external_address(address const& ip
, address const& source) TORRENT_OVERRIDE; , address const& source) TORRENT_OVERRIDE TORRENT_FINAL;
virtual address external_address() TORRENT_OVERRIDE; virtual address external_address() TORRENT_OVERRIDE TORRENT_FINAL;
virtual void get_peers(sha1_hash const& ih) TORRENT_OVERRIDE; virtual void get_peers(sha1_hash const& ih) TORRENT_OVERRIDE TORRENT_FINAL;
virtual void announce(sha1_hash const& ih, address const& addr, int port) TORRENT_OVERRIDE; virtual void announce(sha1_hash const& ih, address const& addr, int port) TORRENT_OVERRIDE TORRENT_FINAL;
virtual void outgoing_get_peers(sha1_hash const& target virtual void outgoing_get_peers(sha1_hash const& target
, sha1_hash const& sent_target, udp::endpoint const& ep) TORRENT_OVERRIDE; , sha1_hash const& sent_target, udp::endpoint const& ep) TORRENT_OVERRIDE TORRENT_FINAL;
virtual void log(libtorrent::dht::dht_logger::module_t m, char const* fmt, ...) virtual void log(libtorrent::dht::dht_logger::module_t m, char const* fmt, ...)
TORRENT_OVERRIDE TORRENT_FORMAT(3,4); TORRENT_OVERRIDE TORRENT_FINAL TORRENT_FORMAT(3,4);
virtual void log_packet(message_direction_t dir, char const* pkt, int len virtual void log_packet(message_direction_t dir, char const* pkt, int len
, udp::endpoint node) TORRENT_OVERRIDE; , udp::endpoint node) TORRENT_OVERRIDE TORRENT_FINAL;
virtual bool on_dht_request(char const* query, int query_len virtual bool on_dht_request(char const* query, int query_len
, dht::msg const& request, entry& response); , dht::msg const& request, entry& response);
void set_external_address(address const& ip void set_external_address(address const& ip
, int source_type, address const& source); , int source_type, address const& source);
virtual external_ip const& external_address() const TORRENT_OVERRIDE; virtual external_ip const& external_address() const TORRENT_OVERRIDE TORRENT_FINAL;
// used when posting synchronous function // used when posting synchronous function
// calls to session_impl and torrent objects // calls to session_impl and torrent objects
@ -600,7 +601,7 @@ namespace libtorrent
// uncork all peers added to the delayed uncork queue // uncork all peers added to the delayed uncork queue
// implements uncork_interface // implements uncork_interface
virtual void do_delayed_uncork() TORRENT_OVERRIDE; virtual void do_delayed_uncork() TORRENT_OVERRIDE TORRENT_FINAL;
void post_socket_job(socket_job& j); void post_socket_job(socket_job& j);
@ -1134,8 +1135,8 @@ namespace libtorrent
boost::uint16_t m_tick_residual; boost::uint16_t m_tick_residual;
#ifndef TORRENT_DISABLE_LOGGING #ifndef TORRENT_DISABLE_LOGGING
virtual void session_log(char const* fmt, ...) const TORRENT_FORMAT(2,3); virtual void session_log(char const* fmt, ...) const TORRENT_OVERRIDE TORRENT_FINAL TORRENT_FORMAT(2,3);
virtual void session_vlog(char const* fmt, va_list& va) const TORRENT_FORMAT(2,0); virtual void session_vlog(char const* fmt, va_list& va) const TORRENT_OVERRIDE TORRENT_FINAL TORRENT_FORMAT(2,0);
// this list of tracker loggers serves as tracker_callbacks when // this list of tracker loggers serves as tracker_callbacks when
// shutting down. This list is just here to keep them alive during // shutting down. This list is just here to keep them alive during
@ -1145,8 +1146,8 @@ namespace libtorrent
// TODO: 2 the throttling of saving resume data could probably be // TODO: 2 the throttling of saving resume data could probably be
// factored out into a separate class // factored out into a separate class
void queue_async_resume_data(boost::shared_ptr<torrent> const& t); virtual void queue_async_resume_data(boost::shared_ptr<torrent> const& t) TORRENT_OVERRIDE TORRENT_FINAL;
void done_async_resume(); virtual void done_async_resume() TORRENT_OVERRIDE TORRENT_FINAL;
void async_resume_dispatched(); void async_resume_dispatched();
// state for keeping track of external IPs // state for keeping track of external IPs

View File

@ -33,8 +33,12 @@ POSSIBILITY OF SUCH DAMAGE.
#ifndef TORRENT_DHT_STORAGE_HPP #ifndef TORRENT_DHT_STORAGE_HPP
#define TORRENT_DHT_STORAGE_HPP #define TORRENT_DHT_STORAGE_HPP
#include "libtorrent/aux_/disable_warnings_push.hpp"
#include <boost/function.hpp> #include <boost/function.hpp>
#include "libtorrent/aux_/disable_warnings_pop.hpp"
#include <libtorrent/socket.hpp> #include <libtorrent/socket.hpp>
#include <libtorrent/sha1_hash.hpp> #include <libtorrent/sha1_hash.hpp>
#include <libtorrent/address.hpp> #include <libtorrent/address.hpp>

View File

@ -34,12 +34,17 @@ POSSIBILITY OF SUCH DAMAGE.
#define TORRENT_STRING_UTIL_HPP_INCLUDED #define TORRENT_STRING_UTIL_HPP_INCLUDED
#include "libtorrent/config.hpp" #include "libtorrent/config.hpp"
#include "libtorrent/aux_/disable_warnings_push.hpp"
#include <vector> #include <vector>
#include <string> #include <string>
#include <boost/cstdint.hpp> #include <boost/cstdint.hpp>
#include <boost/limits.hpp> #include <boost/limits.hpp>
#include <boost/array.hpp> // for boost::array #include <boost/array.hpp> // for boost::array
#include "libtorrent/aux_/disable_warnings_pop.hpp"
namespace libtorrent namespace libtorrent
{ {
TORRENT_EXTRA_EXPORT bool is_alpha(char c); TORRENT_EXTRA_EXPORT bool is_alpha(char c);

View File

@ -1,26 +1,35 @@
Certificate: Certificate:
Data: Data:
Version: 3 (0x2) Version: 3 (0x2)
Serial Number: 14962439509416331833 (0xcfa543759c07ca39) Serial Number: 10052184073940222221 (0x8b808828100bc10d)
Signature Algorithm: sha1WithRSAEncryption Signature Algorithm: sha256WithRSAEncryption
Issuer: C=AU, ST=Some-State, O=Internet Widgits Pty Ltd, CN=test root Issuer: C=AU, ST=Some-State, O=Internet Widgits Pty Ltd, CN=test root
Validity Validity
Not Before: Oct 7 08:41:33 2014 GMT Not Before: Oct 18 05:18:49 2015 GMT
Not After : Oct 7 08:41:33 2015 GMT Not After : Oct 17 05:18:49 2016 GMT
Subject: C=AU, ST=Some-State, O=Internet Widgits Pty Ltd, CN=* Subject: C=AU, ST=Some-State, O=Internet Widgits Pty Ltd, CN=test3
Subject Public Key Info: Subject Public Key Info:
Public Key Algorithm: rsaEncryption Public Key Algorithm: rsaEncryption
Public-Key: (1024 bit) Public-Key: (2048 bit)
Modulus: Modulus:
00:b0:84:78:9f:a4:ea:6e:b4:a8:27:e8:c1:07:1b: 00:b7:fb:11:f8:bc:71:33:ff:f9:70:5e:16:32:62:
dd:6d:44:bf:bb:c1:2d:cf:4e:94:1e:ba:e4:f1:f8: 2b:94:24:cb:c1:da:0c:52:f1:59:bd:f5:b4:78:66:
98:bc:42:95:4b:54:aa:bb:11:87:3b:43:cd:23:b0: 22:72:f2:b7:6d:33:2e:9b:7a:8a:2e:7c:e5:d8:0d:
e2:ca:e6:ee:d4:2e:5a:13:e2:ec:65:ff:18:d2:0f: 7f:b2:3d:10:ec:35:f3:fe:c9:df:16:43:11:bc:90:
93:ac:69:75:e6:1c:34:41:d6:09:2c:b9:fa:99:3e: 8c:cb:7d:f1:7d:56:e6:d2:1e:65:7f:7e:74:48:b4:
04:04:0e:46:b6:14:93:78:7d:d8:9d:2f:87:a5:32: e8:da:02:20:54:94:b9:39:31:77:fd:e2:06:c4:5b:
42:1d:6e:91:d8:23:d8:94:0b:65:0f:91:11:58:b7: 4f:30:f5:7c:9f:0c:0c:b2:17:0f:c8:27:7d:ff:4c:
45:90:62:b2:a1:d1:22:55:35:5b:dc:d0:3c:e4:42: 23:04:99:57:35:94:51:e2:0f:a8:6f:af:21:99:56:
ab:9d:26:49:04:66:4c:8d:5f c1:ce:41:25:ae:04:fb:ae:87:92:d2:fd:0e:b6:ad:
b4:e7:bb:36:6a:fe:ee:10:ef:5f:cc:83:45:b1:e6:
41:55:04:7d:c4:bc:86:e4:cc:65:73:d9:38:14:77:
48:b4:94:92:aa:68:bb:ea:90:2a:46:a8:57:ff:a7:
54:f7:60:19:98:07:1b:ec:c7:b2:7b:11:32:58:d6:
74:84:cd:0d:5d:82:a9:26:95:d5:a9:38:7f:7a:d3:
36:b6:2f:55:b5:d9:50:d1:52:a3:da:32:00:4e:05:
2b:94:e2:38:4e:ac:4e:14:0b:08:4a:82:a9:3c:ec:
f6:3c:fe:11:34:54:02:81:26:a4:bc:4f:2b:51:3b:
dc:c3
Exponent: 65537 (0x10001) Exponent: 65537 (0x10001)
X509v3 extensions: X509v3 extensions:
X509v3 Basic Constraints: X509v3 Basic Constraints:
@ -28,33 +37,45 @@ Certificate:
Netscape Comment: Netscape Comment:
OpenSSL Generated Certificate OpenSSL Generated Certificate
X509v3 Subject Key Identifier: X509v3 Subject Key Identifier:
68:14:57:1C:27:2B:CB:45:7F:F9:96:AD:A9:99:EF:BC:4D:9F:A5:CB 79:5C:E8:66:88:0B:D8:10:84:DA:92:D5:5D:DF:21:93:B4:24:3B:4E
X509v3 Authority Key Identifier: X509v3 Authority Key Identifier:
keyid:EA:38:2C:12:62:53:49:BB:87:39:32:FC:29:86:3C:B9:A1:1B:D7:79 keyid:79:A3:D1:7D:8A:32:71:2B:E1:F8:9F:0C:39:92:20:63:31:A2:ED:D6
Signature Algorithm: sha1WithRSAEncryption Signature Algorithm: sha256WithRSAEncryption
9d:5f:92:42:21:79:e4:19:5d:3f:25:65:3f:95:72:92:7a:21: 8b:3b:5c:29:98:a2:69:42:39:fa:e9:cf:c5:35:c0:88:05:6d:
62:0b:c3:e8:a4:47:b8:7f:f8:f9:e9:f2:ee:fb:cc:f9:2e:00: a8:ba:6a:6b:b1:a2:86:fd:9d:bc:9c:af:eb:dc:03:62:38:2c:
e2:24:39:11:91:20:20:52:9f:19:64:43:0c:9a:05:e9:77:88: fe:b1:60:85:3a:fa:95:90:c0:6c:d3:1f:a7:42:c0:04:b3:09:
5e:7e:07:99:cd:4b:cd:93:34:7c:10:6d:35:f6:5c:c7:5c:af: ca:d3:9b:c7:53:78:d2:66:da:30:f4:ec:39:b8:75:60:39:c9:
60:dc:91:09:d8:27:13:38:25:00:ec:50:f3:07:db:31:0a:e2: 84:78:c7:b4:e8:56:41:8f:cb:4a:f5:6c:5d:1c:f9:78:f9:34:
a2:2c:0f:df:8a:db:ee:0d:c7:15:c8:bb:2b:93:12:99:7e:25: ec:f8:0a:2c:f8:3e:4c:0b:66:60:4a:eb:97:90:71:ed:63:e3:
49:17:28:10:83:7a:93:2b:98:2f:ea:21:54:32:e2:d9:b6:ca: f3:69:46:8f:8e:9b:1e:b7:55:33:0b:5a:ed:73:6d:bc:24:a0:
2f:10 e0:22:e9:0e:ca:b2:8d:54:1a:37:d2:39:8f:05:81:77:8f:0d:
f0:3f:2a:6c:1a:79:7c:e4:f4:a6:e9:b3:7a:6e:98:cc:cd:43:
cd:40:7c:c6:60:e2:bf:c3:15:dd:54:fc:62:63:8a:e2:71:29:
7e:75:2c:ed:1f:f8:8e:2c:93:1f:8a:3e:79:6d:6e:7e:92:2e:
ce:89:c5:b6:41:ec:d5:f8:90:9b:f9:49:08:e9:4d:c7:21:34:
8a:fb:d8:2b:63:97:78:18:5a:b8:44:ae:46:49:9f:db:c6:51:
bd:d1:6e:ee:1f:e2:85:b2:d3:d7:26:03:86:d9:80:3c:b9:81:
65:aa:e9:1f
-----BEGIN CERTIFICATE----- -----BEGIN CERTIFICATE-----
MIICozCCAgygAwIBAgIJAM+lQ3WcB8o5MA0GCSqGSIb3DQEBBQUAMFkxCzAJBgNV MIIDrDCCApSgAwIBAgIJAIuAiCgQC8ENMA0GCSqGSIb3DQEBCwUAMFkxCzAJBgNV
BAYTAkFVMRMwEQYDVQQIDApTb21lLVN0YXRlMSEwHwYDVQQKDBhJbnRlcm5ldCBX BAYTAkFVMRMwEQYDVQQIDApTb21lLVN0YXRlMSEwHwYDVQQKDBhJbnRlcm5ldCBX
aWRnaXRzIFB0eSBMdGQxEjAQBgNVBAMMCXRlc3Qgcm9vdDAeFw0xNDEwMDcwODQx aWRnaXRzIFB0eSBMdGQxEjAQBgNVBAMMCXRlc3Qgcm9vdDAeFw0xNTEwMTgwNTE4
MzNaFw0xNTEwMDcwODQxMzNaMFExCzAJBgNVBAYTAkFVMRMwEQYDVQQIDApTb21l NDlaFw0xNjEwMTcwNTE4NDlaMFUxCzAJBgNVBAYTAkFVMRMwEQYDVQQIDApTb21l
LVN0YXRlMSEwHwYDVQQKDBhJbnRlcm5ldCBXaWRnaXRzIFB0eSBMdGQxCjAIBgNV LVN0YXRlMSEwHwYDVQQKDBhJbnRlcm5ldCBXaWRnaXRzIFB0eSBMdGQxDjAMBgNV
BAMMASowgZ8wDQYJKoZIhvcNAQEBBQADgY0AMIGJAoGBALCEeJ+k6m60qCfowQcb BAMMBXRlc3QzMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAt/sR+Lxx
3W1Ev7vBLc9OlB665PH4mLxClUtUqrsRhztDzSOw4srm7tQuWhPi7GX/GNIPk6xp M//5cF4WMmIrlCTLwdoMUvFZvfW0eGYicvK3bTMum3qKLnzl2A1/sj0Q7DXz/snf
deYcNEHWCSy5+pk+BAQORrYUk3h92J0vh6UyQh1ukdgj2JQLZQ+REVi3RZBisqHR FkMRvJCMy33xfVbm0h5lf350SLTo2gIgVJS5OTF3/eIGxFtPMPV8nwwMshcPyCd9
IlU1W9zQPORCq50mSQRmTI1fAgMBAAGjezB5MAkGA1UdEwQCMAAwLAYJYIZIAYb4 /0wjBJlXNZRR4g+ob68hmVbBzkElrgT7roeS0v0Otq2057s2av7uEO9fzINFseZB
QgENBB8WHU9wZW5TU0wgR2VuZXJhdGVkIENlcnRpZmljYXRlMB0GA1UdDgQWBBRo VQR9xLyG5Mxlc9k4FHdItJSSqmi76pAqRqhX/6dU92AZmAcb7MeyexEyWNZ0hM0N
FFccJyvLRX/5lq2pme+8TZ+lyzAfBgNVHSMEGDAWgBTqOCwSYlNJu4c5Mvwphjy5 XYKpJpXVqTh/etM2ti9VtdlQ0VKj2jIATgUrlOI4TqxOFAsISoKpPOz2PP4RNFQC
oRvXeTANBgkqhkiG9w0BAQUFAAOBgQCdX5JCIXnkGV0/JWU/lXKSeiFiC8PopEe4 gSakvE8rUTvcwwIDAQABo3sweTAJBgNVHRMEAjAAMCwGCWCGSAGG+EIBDQQfFh1P
f/j56fLu+8z5LgDiJDkRkSAgUp8ZZEMMmgXpd4hefgeZzUvNkzR8EG019lzHXK9g cGVuU1NMIEdlbmVyYXRlZCBDZXJ0aWZpY2F0ZTAdBgNVHQ4EFgQUeVzoZogL2BCE
3JEJ2CcTOCUA7FDzB9sxCuKiLA/fitvuDccVyLsrkxKZfiVJFygQg3qTK5gv6iFU 2pLVXd8hk7QkO04wHwYDVR0jBBgwFoAUeaPRfYoycSvh+J8MOZIgYzGi7dYwDQYJ
MuLZtsovEA== KoZIhvcNAQELBQADggEBAIs7XCmYomlCOfrpz8U1wIgFbai6amuxoob9nbycr+vc
A2I4LP6xYIU6+pWQwGzTH6dCwASzCcrTm8dTeNJm2jD07Dm4dWA5yYR4x7ToVkGP
y0r1bF0c+Xj5NOz4Ciz4PkwLZmBK65eQce1j4/NpRo+Omx63VTMLWu1zbbwkoOAi
6Q7Kso1UGjfSOY8FgXePDfA/KmwaeXzk9Kbps3pumMzNQ81AfMZg4r/DFd1U/GJj
iuJxKX51LO0f+I4skx+KPnltbn6SLs6JxbZB7NX4kJv5SQjpTcchNIr72Ctjl3gY
WrhErkZJn9vGUb3Rbu4f4oWy09cmA4bZgDy5gWWq6R8=
-----END CERTIFICATE----- -----END CERTIFICATE-----

View File

@ -1,17 +1,30 @@
-----BEGIN ENCRYPTED PRIVATE KEY----- -----BEGIN ENCRYPTED PRIVATE KEY-----
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
iDc=
-----END ENCRYPTED PRIVATE KEY----- -----END ENCRYPTED PRIVATE KEY-----

View File

@ -1,57 +1,78 @@
Certificate: Certificate:
Data: Data:
Version: 3 (0x2) Version: 3 (0x2)
Serial Number: 14962439509416331832 (0xcfa543759c07ca38) Serial Number: 10052184073940222220 (0x8b808828100bc10c)
Signature Algorithm: sha1WithRSAEncryption Signature Algorithm: sha256WithRSAEncryption
Issuer: C=AU, ST=Some-State, O=Internet Widgits Pty Ltd, CN=test root Issuer: C=AU, ST=Some-State, O=Internet Widgits Pty Ltd, CN=test root
Validity Validity
Not Before: Oct 7 08:39:22 2014 GMT Not Before: Oct 18 05:18:16 2015 GMT
Not After : Oct 4 08:39:22 2024 GMT Not After : Oct 17 05:18:16 2018 GMT
Subject: C=AU, ST=Some-State, O=Internet Widgits Pty Ltd, CN=test root Subject: C=AU, ST=Some-State, O=Internet Widgits Pty Ltd, CN=test root
Subject Public Key Info: Subject Public Key Info:
Public Key Algorithm: rsaEncryption Public Key Algorithm: rsaEncryption
Public-Key: (1024 bit) Public-Key: (2048 bit)
Modulus: Modulus:
00:a8:05:9e:99:7d:0f:79:4f:f8:03:d9:11:89:c2: 00:d9:93:d1:b4:a0:b0:6b:c1:a0:9a:1b:43:d0:32:
e0:31:a9:99:aa:04:63:d3:6a:5c:1b:98:59:2e:bf: 04:b6:87:76:0e:f4:38:d7:e0:f6:8c:00:76:b2:3b:
4c:04:56:7e:6c:f9:e8:03:51:38:eb:35:76:43:e9: 73:06:33:bd:ec:03:cd:d4:7f:9d:12:63:8b:96:ba:
a4:49:2c:5b:ec:ef:f9:29:b8:d6:e2:bb:9e:e1:3f: 2c:58:9d:ac:d4:3b:c0:18:de:c9:27:2f:4b:1a:cd:
79:1d:38:9d:74:3e:6b:10:ea:02:bf:f3:d2:a1:58: 95:e7:9a:20:e1:4f:55:ae:b9:5b:78:9e:41:27:8d:
6b:78:0e:0f:72:b1:4d:68:04:76:32:16:ef:59:38: 9f:94:5f:dc:d0:7f:a7:5d:7e:70:70:03:05:98:e5:
55:d7:ff:ff:6c:4e:a2:4b:0e:15:39:a0:00:9a:d5: 09:6f:34:79:d7:10:97:94:86:26:41:f9:8e:60:8f:
cf:93:f5:31:9b:cc:5c:3d:01:00:f7:cf:97:78:ee: 81:3c:63:eb:69:bd:67:9a:fa:47:69:bd:61:3f:e5:
d6:a5:df:c3:ea:59:1b:93:b5 c9:07:8a:ea:b4:6c:b5:e6:33:31:d5:23:43:f6:51:
42:e8:68:7f:fe:93:3e:8d:85:90:04:e0:e4:0c:64:
45:6f:a6:94:38:e0:fd:53:7e:18:52:6c:7e:60:2a:
33:6a:99:3b:6c:dd:27:1d:3d:76:70:92:af:d8:f8:
36:5c:5f:ab:be:ea:d7:9f:20:74:f6:55:50:02:c1:
20:5a:1e:9b:ed:cc:c4:91:c6:69:e3:99:d5:87:6c:
83:4e:1f:ed:4f:db:84:c5:7b:97:6f:bc:05:3d:a6:
3b:cd:96:3a:a7:6c:f9:65:59:20:d5:df:66:af:c6:
3c:e2:06:ba:04:5a:15:86:cf:c2:cc:3b:0c:fe:89:
d0:47
Exponent: 65537 (0x10001) Exponent: 65537 (0x10001)
X509v3 extensions: X509v3 extensions:
X509v3 Subject Key Identifier: X509v3 Subject Key Identifier:
EA:38:2C:12:62:53:49:BB:87:39:32:FC:29:86:3C:B9:A1:1B:D7:79 79:A3:D1:7D:8A:32:71:2B:E1:F8:9F:0C:39:92:20:63:31:A2:ED:D6
X509v3 Authority Key Identifier: X509v3 Authority Key Identifier:
keyid:EA:38:2C:12:62:53:49:BB:87:39:32:FC:29:86:3C:B9:A1:1B:D7:79 keyid:79:A3:D1:7D:8A:32:71:2B:E1:F8:9F:0C:39:92:20:63:31:A2:ED:D6
X509v3 Basic Constraints: X509v3 Basic Constraints:
CA:TRUE CA:TRUE
Signature Algorithm: sha1WithRSAEncryption Signature Algorithm: sha256WithRSAEncryption
38:db:11:90:24:0c:fc:ec:15:79:91:21:e9:6d:3e:a5:79:e3: ab:e4:ab:ca:fb:9a:dc:f1:41:43:45:f7:31:41:99:27:23:c2:
bd:8f:03:60:d4:e3:9e:24:ed:56:6b:6a:50:5f:82:a3:8f:9b: f5:57:23:9a:0b:a8:29:fe:a9:6c:1d:ba:74:84:df:87:45:0f:
b7:e0:69:65:69:f8:5e:73:bd:a4:92:5a:60:0d:76:52:26:41: e1:dd:ba:7b:66:67:a7:f8:b9:3e:23:6d:70:69:45:1a:c9:67:
f7:bb:e1:24:c7:83:cc:c2:03:20:4e:51:05:2d:cb:dd:8b:ed: 12:59:83:4f:5d:5a:58:cb:df:a9:b7:71:cf:fc:41:75:f0:9b:
bb:b1:2b:5f:21:8a:17:d4:85:a2:1e:92:37:88:88:6b:12:f6: 61:49:81:00:1b:0e:ca:4f:26:ae:00:ae:ae:0a:a4:65:db:29:
75:a8:dc:b9:4c:93:d4:b9:d5:5d:ed:fc:89:a2:4d:dc:f3:d2: c7:a8:9f:e6:c2:34:d0:b7:30:a0:76:4c:85:83:c4:81:6c:12:
8a:86:93:1d:04:51:50:9d:f2:12:ba:cb:8a:ef:8a:c8:53:73: d4:d8:2a:98:8f:e5:60:59:bb:57:38:da:b4:94:48:05:6c:41:
da:47 51:1f:c3:48:56:ec:e4:c7:87:b6:c5:84:5c:0e:54:aa:e6:85:
c1:b7:e1:fd:a2:b5:e6:af:06:7b:02:e6:15:c4:fc:a5:6c:29:
64:96:4e:0d:3e:90:36:fd:cf:4b:aa:47:3b:bc:e6:c7:6e:98:
e6:97:6e:80:a3:10:75:a5:3f:2a:9b:2f:9e:4b:4f:ad:44:19:
a4:db:c7:66:f6:28:ed:7d:46:b3:5f:87:70:e4:cd:17:ef:e8:
2e:8c:49:02:45:84:12:56:44:e0:a9:b1:95:f2:32:7a:38:5e:
bd:39:57:b9:8a:5c:c8:f6:6b:09:0b:32:16:01:d9:b6:32:8d:
de:4e:ef:f1
-----BEGIN CERTIFICATE----- -----BEGIN CERTIFICATE-----
MIICgDCCAemgAwIBAgIJAM+lQ3WcB8o4MA0GCSqGSIb3DQEBBQUAMFkxCzAJBgNV MIIDhTCCAm2gAwIBAgIJAIuAiCgQC8EMMA0GCSqGSIb3DQEBCwUAMFkxCzAJBgNV
BAYTAkFVMRMwEQYDVQQIDApTb21lLVN0YXRlMSEwHwYDVQQKDBhJbnRlcm5ldCBX BAYTAkFVMRMwEQYDVQQIDApTb21lLVN0YXRlMSEwHwYDVQQKDBhJbnRlcm5ldCBX
aWRnaXRzIFB0eSBMdGQxEjAQBgNVBAMMCXRlc3Qgcm9vdDAeFw0xNDEwMDcwODM5 aWRnaXRzIFB0eSBMdGQxEjAQBgNVBAMMCXRlc3Qgcm9vdDAeFw0xNTEwMTgwNTE4
MjJaFw0yNDEwMDQwODM5MjJaMFkxCzAJBgNVBAYTAkFVMRMwEQYDVQQIDApTb21l MTZaFw0xODEwMTcwNTE4MTZaMFkxCzAJBgNVBAYTAkFVMRMwEQYDVQQIDApTb21l
LVN0YXRlMSEwHwYDVQQKDBhJbnRlcm5ldCBXaWRnaXRzIFB0eSBMdGQxEjAQBgNV LVN0YXRlMSEwHwYDVQQKDBhJbnRlcm5ldCBXaWRnaXRzIFB0eSBMdGQxEjAQBgNV
BAMMCXRlc3Qgcm9vdDCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEAqAWemX0P BAMMCXRlc3Qgcm9vdDCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANmT
eU/4A9kRicLgMamZqgRj02pcG5hZLr9MBFZ+bPnoA1E46zV2Q+mkSSxb7O/5KbjW 0bSgsGvBoJobQ9AyBLaHdg70ONfg9owAdrI7cwYzvewDzdR/nRJji5a6LFidrNQ7
4rue4T95HTiddD5rEOoCv/PSoVhreA4PcrFNaAR2MhbvWThV1///bE6iSw4VOaAA wBjeyScvSxrNleeaIOFPVa65W3ieQSeNn5Rf3NB/p11+cHADBZjlCW80edcQl5SG
mtXPk/Uxm8xcPQEA98+XeO7Wpd/D6lkbk7UCAwEAAaNQME4wHQYDVR0OBBYEFOo4 JkH5jmCPgTxj62m9Z5r6R2m9YT/lyQeK6rRsteYzMdUjQ/ZRQuhof/6TPo2FkATg
LBJiU0m7hzky/CmGPLmhG9d5MB8GA1UdIwQYMBaAFOo4LBJiU0m7hzky/CmGPLmh 5AxkRW+mlDjg/VN+GFJsfmAqM2qZO2zdJx09dnCSr9j4Nlxfq77q158gdPZVUALB
G9d5MAwGA1UdEwQFMAMBAf8wDQYJKoZIhvcNAQEFBQADgYEAONsRkCQM/OwVeZEh IFoem+3MxJHGaeOZ1Ydsg04f7U/bhMV7l2+8BT2mO82WOqds+WVZINXfZq/GPOIG
6W0+pXnjvY8DYNTjniTtVmtqUF+Co4+bt+BpZWn4XnO9pJJaYA12UiZB97vhJMeD ugRaFYbPwsw7DP6J0EcCAwEAAaNQME4wHQYDVR0OBBYEFHmj0X2KMnEr4fifDDmS
zMIDIE5RBS3L3Yvtu7ErXyGKF9SFoh6SN4iIaxL2dajcuUyT1LnVXe38iaJN3PPS IGMxou3WMB8GA1UdIwQYMBaAFHmj0X2KMnEr4fifDDmSIGMxou3WMAwGA1UdEwQF
ioaTHQRRUJ3yErrLiu+KyFNz2kc= MAMBAf8wDQYJKoZIhvcNAQELBQADggEBAKvkq8r7mtzxQUNF9zFBmScjwvVXI5oL
qCn+qWwdunSE34dFD+HduntmZ6f4uT4jbXBpRRrJZxJZg09dWljL36m3cc/8QXXw
m2FJgQAbDspPJq4Arq4KpGXbKceon+bCNNC3MKB2TIWDxIFsEtTYKpiP5WBZu1c4
2rSUSAVsQVEfw0hW7OTHh7bFhFwOVKrmhcG34f2iteavBnsC5hXE/KVsKWSWTg0+
kDb9z0uqRzu85sdumOaXboCjEHWlPyqbL55LT61EGaTbx2b2KO19RrNfh3DkzRfv
6C6MSQJFhBJWROCpsZXyMno4Xr05V7mKXMj2awkLMhYB2bYyjd5O7/E=
-----END CERTIFICATE----- -----END CERTIFICATE-----

View File

@ -1,17 +1,30 @@
-----BEGIN ENCRYPTED PRIVATE KEY----- -----BEGIN ENCRYPTED PRIVATE KEY-----
MIICxjBABgkqhkiG9w0BBQ0wMzAbBgkqhkiG9w0BBQwwDgQIsQSORlgp8b8CAggA MIIFDjBABgkqhkiG9w0BBQ0wMzAbBgkqhkiG9w0BBQwwDgQIBP1HdWmDkiUCAggA
MBQGCCqGSIb3DQMHBAjtGlJBW1Am0wSCAoDyy/OyBTD+W6Xlg4cvy6DfsFet/p3A MBQGCCqGSIb3DQMHBAhckTCVUT+dmASCBMgS3idFXqSN/aaHjr/ebiptv94AIKJm
u9hK64ncdDAObeLVo0nupgE3vY6RMyEMY8OfVuNbdPDK++EezB2IeU2oJ5iBzuXS 9Q2dQ40atnR7z0bdkn2ai+LsFQCOJi4SNH2YooxFwa3E1Ms5RkjeaXw/e37pO6WZ
ptFiobNqMb0hkM738DoZ8XaqZqt88qPyzt6EsgB+hrb+klOBu4BExnZYaFpUs+Qu Z55s8TTwrAKu14lPEKuLv/F/ARNM6yvBBQSP1MA9baF5aimVwveOoaj4bgKN2SCZ
/CAgoHLir6AfPBNHw0K8KNqIQI47rDw/ELnATZjS2VxsPwyAvKbwwVZ/tWfwbFFK Y4HylLLGnO1NQybw8lWSqwCbSz6l2JaUzegoBYQffk0wFIEHl48NOUtscwDXtJLi
onCqnUAsm2OUTxLBCbAoBZs6Lfas8LWXzeIDOTowIjeDHG36pJkcsUBlUwSkAJkd c2nC54bDbJgmu06F1052rKypm5oEdoO1+Kk0PVNOE3nPcF+zdKc+D0whXh1N5Z9v
EaEYR+5ppdojGHwN/rQc1OX0S8U6oeootXJePVQp8AZxtW51OVJVdRYme6xA6JC9 AXCPrxT6GIelU3KHjRj3cVmvuRWFvp7y6eZRfsU160216Gf4r1/4LrA6EcAK7qbu
WVkqDbTCAxTGeYycJFq+NmBGtLKAoBU3EmARbT7AY52S8thCIMf89VBvb0Eyarlw rFRgjAaaIgbaxZddWtGJot5vcF7VhBxTxNHycuT3BWf0kqmEfVcDfHhbKrAllx94
JrzTCve1cg6U1K2ojhfpWmM+kS0r00JMb7kLrX4Zy4JrYmhCFeuVsQYGvHZS4Juc BHWGgzVZkShFCldDlsSwQRXZ9F+qF9r+CInbj+6yi4CaJjGbXi8l8ajXRdnoID7j
D01084XNi+xmYxnjMOK8LzCaFkNb0NJlmLsc4pbtg3m8fJ1rOTVgvvAY1/mr0FVV ftVilt302NY0783KYPi5KbzBTjY0HlihTmtWMqLcYPdoDys0WkaSA9wWHqAcBPwi
WLB0YlLif58udImQTUeXIf/BT+ogjCas/fwNJJGakPt+eIJGXSTgvgb/KVpm2uAo grn7/oP5Dlup13DInOocxlJL9Hs6ZzhJ8u/kWnDQObs6BDHOSRGmVrfYTWL0jfLq
TQ09w4QUJ/qpnFlqi2AeoFYnYPK0VmqUImF86TAS5YCGOLmet//qw6YBIsQo5OwG 70a5JBd4hvc05wqxP5hgIphwwAruHBR5ZzQ8OQ9iK3UtNRp9lmFOYSneVPmymeJp
6ngiO/MsnMmEm9b/Zhsm7olxuYhHw3DyqCqmlapMI63YOwhhOCDBv/WgMHBztlNn q+ko0YdVNNsZ5oSWLyYLGSevYXJZd2iThiFQCkgYcZ41D0MlOMMN/QaCHpehMp/z
hX8zCLkRPJqMbH/vG79iCBvwrzrblxcq1h+8D73Jp8mZSNRX5wHUp0Htdf5AbE9Z hCte0YHyigKtNrueBRSbPdTFHlBmLEzweE9Bb1jmLZFDUU+HWAZOYL5n/C3q7GMf
AaE+AHMTQcXZSVkvf+YW543Jlt43yfG8gWOU+ahscrQ16cP33TJHBUCx SGPjxLt+7wnLmJOy++3pCs4kxJ4EB/TVGB4duChetuh3jATit2vvxwongLPElODm
L45XaGwDRsQYay7S1uQ8xAO5ca3LMpyhSSJ6yEDqI/s2/1USAA8Af0CRPeE9UXqt
lF7m0tMHMAKueH5rRYp5XVx7yBicjm5NwsQg4YsR/4uvJdJIaSLFY2DIteS1tjI9
eCkrfgZG2CF2bIBV7sVBnltCvDf4GOUdfMdh9hX2IUbeMp5101VO+Wfol0rSMq6h
I/yccq9ZnTnfuiiLnWdA0tXrWoZc06S/dEWm7eB3qBXbzbMWPQWb1rOYbGPwNXgj
OcfOioRCD9HxM96qkGY4C0q6wSO9IOW+Xr3JZoWrnp+KInF8MRZLbZvt94GRYFdP
DgQIkMNzDu1Nx06YSQsfUKQid/Xqlxl27riTqTVj1iKJbvg8UG6rfFvGDiz/GcVF
nyE53B3GDZREj6uSqyd7Q+VmXkbAlTlGKysUrxKDh4VQC2GECmuYSsqKG9FdGGRK
28QEWPFcJo7I57cCGcbYL+4oRx1NXUJtlOlqVLMaWURqxuPG+bqSalsgUeO+FIR9
oqwUtgd7QXFOhmuClsEE8oNC2bsGYMg1BPEnpLKbtT1+MHKcp2wzQHutxXG5+MFy
8yQJo/o0vORVqVvIUZKOEs1BkGboDeIhU5szR/v7cN7SVtPM8Pn4ZiHBhDjGl9IN
VE93JRwK+ZufkoKrTEUMt+BFyA7ZgyTSYu6jgOfJmP5a1iCuRixXJiqPRhSxVP8y
YikbMUBSiUDCPw3Gt6eOmeeOekE0x5JWXoE1yleo8imUmPwaHsAGbYZ2rlyFHt98
05c=
-----END ENCRYPTED PRIVATE KEY----- -----END ENCRYPTED PRIVATE KEY-----

View File

@ -31,7 +31,7 @@ POSSIBILITY OF SUCH DAMAGE.
*/ */
#include "libtorrent/bencode.hpp" #include "libtorrent/bencode.hpp"
#include <boost/lexical_cast.hpp>
#include <iostream> #include <iostream>
#include <cstring> #include <cstring>

View File

@ -31,7 +31,6 @@ POSSIBILITY OF SUCH DAMAGE.
*/ */
#include "libtorrent/hasher.hpp" #include "libtorrent/hasher.hpp"
#include <boost/lexical_cast.hpp>
#include "libtorrent/hex.hpp" // from_hex #include "libtorrent/hex.hpp" // from_hex
#include "test.hpp" #include "test.hpp"

View File

@ -36,12 +36,16 @@ POSSIBILITY OF SUCH DAMAGE.
#include "libtorrent/file.hpp" #include "libtorrent/file.hpp"
#include "libtorrent/session_status.hpp" #include "libtorrent/session_status.hpp"
#include "libtorrent/torrent_info.hpp" #include "libtorrent/torrent_info.hpp"
#include <boost/bind.hpp>
#include <boost/tuple/tuple.hpp>
#include "test.hpp" #include "test.hpp"
#include "test_utils.hpp" #include "test_utils.hpp"
#include "setup_transfer.hpp" #include "setup_transfer.hpp"
#include "libtorrent/aux_/disable_warnings_push.hpp"
#include <boost/bind.hpp>
#include <boost/tuple/tuple.hpp>
#include <fstream> #include <fstream>
#include <iostream> #include <iostream>
#include <boost/asio/connect.hpp> #include <boost/asio/connect.hpp>
@ -50,6 +54,8 @@ POSSIBILITY OF SUCH DAMAGE.
#include <boost/asio/ssl/error.hpp> // for asio::error::get_ssl_category() #include <boost/asio/ssl/error.hpp> // for asio::error::get_ssl_category()
#include <boost/asio/ssl.hpp> #include <boost/asio/ssl.hpp>
#include "libtorrent/aux_/disable_warnings_pop.hpp"
using namespace libtorrent; using namespace libtorrent;
using boost::tuples::ignore; using boost::tuples::ignore;