mirror of
https://github.com/rakshasa/rtorrent.git
synced 2026-08-15 14:42:30 +00:00
Add handshake/stream encryption RPC commands
Replace protocol.encryption.set bitmask flags with protocol.encryption.handshake.set and protocol.encryption.stream.set. Add encryption_config to map commands to libtorrent EncryptionPolicy. Startup default matches the old preset (allow_incoming, enable_retry, prefer_plaintext → handshake=allow, stream=allow). Update docs and examples. Peer list distinguishes RC4 (R/L), handshake-only (H/h), and plain (r/l). Fix ui encrypted column conditional. Add encryption config tests; remove OPTION_ENCRYPTION parse tests. Drop the encryption command redirect.
This commit is contained in:
@@ -170,19 +170,18 @@ TestParseOptions::test_flag_libtorrent() {
|
||||
FLAG_LT_LOG_ASSERT_ERROR("resume_data|rpc_dump");
|
||||
}
|
||||
|
||||
#define FLAGS_LT_ENCRYPTION_ASSERT(flags, result) \
|
||||
CPPUNIT_ASSERT(rpc::parse_option_flags(flags, std::bind(&torrent::option_find_string_str, torrent::OPTION_ENCRYPTION, std::placeholders::_1)) == (result))
|
||||
#define FLAGS_LT_IP_TOS_ASSERT(flags, result) \
|
||||
CPPUNIT_ASSERT(rpc::parse_option_flags(flags, std::bind(&torrent::option_find_string_str, torrent::OPTION_IP_TOS, std::placeholders::_1)) == (result))
|
||||
|
||||
#define FLAGS_LT_ENCRYPTION_ASSERT_ERROR(flags) \
|
||||
ASSERT_CATCH_INPUT_ERROR(rpc::parse_option_flags(flags, std::bind(&torrent::option_find_string_str, torrent::OPTION_ENCRYPTION, std::placeholders::_1)))
|
||||
#define FLAGS_LT_IP_TOS_ASSERT_ERROR(flags) \
|
||||
ASSERT_CATCH_INPUT_ERROR(rpc::parse_option_flags(flags, std::bind(&torrent::option_find_string_str, torrent::OPTION_IP_TOS, std::placeholders::_1)))
|
||||
|
||||
void
|
||||
TestParseOptions::test_flags_libtorrent() {
|
||||
FLAGS_LT_ENCRYPTION_ASSERT("", torrent::runtime::NetworkConfig::encryption_none);
|
||||
FLAGS_LT_ENCRYPTION_ASSERT("none", torrent::runtime::NetworkConfig::encryption_none);
|
||||
FLAGS_LT_ENCRYPTION_ASSERT("require_rc4", torrent::runtime::NetworkConfig::encryption_require_RC4);
|
||||
FLAGS_LT_ENCRYPTION_ASSERT("require_RC4", torrent::runtime::NetworkConfig::encryption_require_RC4);
|
||||
FLAGS_LT_ENCRYPTION_ASSERT("require_RC4 | enable_retry", torrent::runtime::NetworkConfig::encryption_require_RC4 | torrent::runtime::NetworkConfig::encryption_enable_retry);
|
||||
FLAGS_LT_IP_TOS_ASSERT("throughput", torrent::option_find_string(torrent::OPTION_IP_TOS, "throughput"));
|
||||
FLAGS_LT_IP_TOS_ASSERT("lowdelay | throughput",
|
||||
torrent::option_find_string(torrent::OPTION_IP_TOS, "lowdelay")
|
||||
| torrent::option_find_string(torrent::OPTION_IP_TOS, "throughput"));
|
||||
|
||||
FLAGS_LT_ENCRYPTION_ASSERT_ERROR("require_");
|
||||
FLAGS_LT_IP_TOS_ASSERT_ERROR("throughput_");
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user