mirror of https://github.com/aria2/aria2
Merge branch 'feat-tls-13-draft-18' into feature-tls-13-draft-23
commit
d00af5ae0e
|
@ -1477,7 +1477,7 @@ Advanced Options
|
||||||
.. option:: --min-tls-version=<VERSION>
|
.. option:: --min-tls-version=<VERSION>
|
||||||
|
|
||||||
Specify minimum SSL/TLS version to enable.
|
Specify minimum SSL/TLS version to enable.
|
||||||
Possible Values: ``SSLv3``, ``TLSv1``, ``TLSv1.1``, ``TLSv1.2``
|
Possible Values: ``SSLv3``, ``TLSv1``, ``TLSv1.1``, ``TLSv1.2``, ``TLSv1.3``
|
||||||
Default: ``TLSv1``
|
Default: ``TLSv1``
|
||||||
|
|
||||||
.. option:: --multiple-interface=<INTERFACES>
|
.. option:: --multiple-interface=<INTERFACES>
|
||||||
|
|
|
@ -112,6 +112,8 @@ OpenSSLTLSContext::OpenSSLTLSContext(TLSSessionSide side, TLSVersion minVer)
|
||||||
|
|
||||||
long ver_opts = 0;
|
long ver_opts = 0;
|
||||||
switch (minVer) {
|
switch (minVer) {
|
||||||
|
case TLS_PROTO_TLS13:
|
||||||
|
ver_opts |= SSL_OP_NO_TLSv1_2;
|
||||||
case TLS_PROTO_TLS12:
|
case TLS_PROTO_TLS12:
|
||||||
ver_opts |= SSL_OP_NO_TLSv1_1;
|
ver_opts |= SSL_OP_NO_TLSv1_1;
|
||||||
// fall through
|
// fall through
|
||||||
|
|
|
@ -217,6 +217,12 @@ int OpenSSLTLSSession::handshake(TLSVersion& version)
|
||||||
break;
|
break;
|
||||||
#endif // TLS1_2_VERSION
|
#endif // TLS1_2_VERSION
|
||||||
|
|
||||||
|
#ifdef TLS1_3_VERSION
|
||||||
|
case TLS1_3_VERSION:
|
||||||
|
version = TLS_PROTO_TLS13;
|
||||||
|
break;
|
||||||
|
#endif //TLS1_3_VERSION
|
||||||
|
|
||||||
default:
|
default:
|
||||||
version = TLS_PROTO_NONE;
|
version = TLS_PROTO_NONE;
|
||||||
break;
|
break;
|
||||||
|
|
|
@ -514,7 +514,7 @@ std::vector<OptionHandler*> OptionHandlerFactory::createOptionHandlers()
|
||||||
{
|
{
|
||||||
OptionHandler* op(new ParameterOptionHandler(
|
OptionHandler* op(new ParameterOptionHandler(
|
||||||
PREF_MIN_TLS_VERSION, TEXT_MIN_TLS_VERSION, A2_V_TLS10,
|
PREF_MIN_TLS_VERSION, TEXT_MIN_TLS_VERSION, A2_V_TLS10,
|
||||||
{A2_V_SSL3, A2_V_TLS10, A2_V_TLS11, A2_V_TLS12}));
|
{A2_V_SSL3, A2_V_TLS10, A2_V_TLS11, A2_V_TLS12, A2_V_TLS13}));
|
||||||
op->addTag(TAG_ADVANCED);
|
op->addTag(TAG_ADVANCED);
|
||||||
handlers.push_back(op);
|
handlers.push_back(op);
|
||||||
}
|
}
|
||||||
|
|
|
@ -49,6 +49,7 @@ enum TLSVersion {
|
||||||
TLS_PROTO_TLS10,
|
TLS_PROTO_TLS10,
|
||||||
TLS_PROTO_TLS11,
|
TLS_PROTO_TLS11,
|
||||||
TLS_PROTO_TLS12,
|
TLS_PROTO_TLS12,
|
||||||
|
TLS_PROTO_TLS13,
|
||||||
};
|
};
|
||||||
|
|
||||||
class TLSContext {
|
class TLSContext {
|
||||||
|
|
|
@ -154,6 +154,7 @@ const std::string A2_V_SSL3("SSLv3");
|
||||||
const std::string A2_V_TLS10("TLSv1");
|
const std::string A2_V_TLS10("TLSv1");
|
||||||
const std::string A2_V_TLS11("TLSv1.1");
|
const std::string A2_V_TLS11("TLSv1.1");
|
||||||
const std::string A2_V_TLS12("TLSv1.2");
|
const std::string A2_V_TLS12("TLSv1.2");
|
||||||
|
const std::string A2_V_TLS13("TLSv1.3");
|
||||||
|
|
||||||
PrefPtr PREF_VERSION = makePref("version");
|
PrefPtr PREF_VERSION = makePref("version");
|
||||||
PrefPtr PREF_HELP = makePref("help");
|
PrefPtr PREF_HELP = makePref("help");
|
||||||
|
|
|
@ -111,6 +111,7 @@ extern const std::string A2_V_SSL3;
|
||||||
extern const std::string A2_V_TLS10;
|
extern const std::string A2_V_TLS10;
|
||||||
extern const std::string A2_V_TLS11;
|
extern const std::string A2_V_TLS11;
|
||||||
extern const std::string A2_V_TLS12;
|
extern const std::string A2_V_TLS12;
|
||||||
|
extern const std::string A2_V_TLS13;
|
||||||
|
|
||||||
extern PrefPtr PREF_VERSION;
|
extern PrefPtr PREF_VERSION;
|
||||||
extern PrefPtr PREF_HELP;
|
extern PrefPtr PREF_HELP;
|
||||||
|
|
|
@ -2135,6 +2135,9 @@ TLSVersion toTLSVersion(const std::string& ver)
|
||||||
if (ver == A2_V_TLS12) {
|
if (ver == A2_V_TLS12) {
|
||||||
return TLS_PROTO_TLS12;
|
return TLS_PROTO_TLS12;
|
||||||
}
|
}
|
||||||
|
if (ver == A2_V_TLS13) {
|
||||||
|
return TLS_PROTO_TLS13;
|
||||||
|
}
|
||||||
return TLS_PROTO_TLS10;
|
return TLS_PROTO_TLS10;
|
||||||
}
|
}
|
||||||
#endif // ENABLE_SSL
|
#endif // ENABLE_SSL
|
||||||
|
|
Loading…
Reference in New Issue