mirror of https://github.com/aria2/aria2
				
				
				
			openssl tls v1.3 draft 18
							parent
							
								
									450b4f467f
								
							
						
					
					
						commit
						fa74545e6b
					
				| 
						 | 
				
			
			@ -1477,7 +1477,7 @@ Advanced Options
 | 
			
		|||
.. option:: --min-tls-version=<VERSION>
 | 
			
		||||
 | 
			
		||||
  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``
 | 
			
		||||
 | 
			
		||||
.. option:: --multiple-interface=<INTERFACES>
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -112,6 +112,8 @@ OpenSSLTLSContext::OpenSSLTLSContext(TLSSessionSide side, TLSVersion minVer)
 | 
			
		|||
 | 
			
		||||
  long ver_opts = 0;
 | 
			
		||||
  switch (minVer) {
 | 
			
		||||
  case TLS_PROTO_TLS13:
 | 
			
		||||
    ver_opts |= SSL_OP_NO_TLSv1_2;
 | 
			
		||||
  case TLS_PROTO_TLS12:
 | 
			
		||||
    ver_opts |= SSL_OP_NO_TLSv1_1;
 | 
			
		||||
  // fall through
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -217,6 +217,12 @@ int OpenSSLTLSSession::handshake(TLSVersion& version)
 | 
			
		|||
    break;
 | 
			
		||||
#endif // TLS1_2_VERSION
 | 
			
		||||
 | 
			
		||||
#ifdef TLS1_3_VERSION
 | 
			
		||||
  case TLS1_3_VERSION:
 | 
			
		||||
    version = TLS_PROTO_TLS13;
 | 
			
		||||
    break;
 | 
			
		||||
#endif //TLS1_3_VERSION
 | 
			
		||||
 | 
			
		||||
  default:
 | 
			
		||||
    version = TLS_PROTO_NONE;
 | 
			
		||||
    break;
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -514,7 +514,7 @@ std::vector<OptionHandler*> OptionHandlerFactory::createOptionHandlers()
 | 
			
		|||
  {
 | 
			
		||||
    OptionHandler* op(new ParameterOptionHandler(
 | 
			
		||||
        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);
 | 
			
		||||
    handlers.push_back(op);
 | 
			
		||||
  }
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -49,6 +49,7 @@ enum TLSVersion {
 | 
			
		|||
  TLS_PROTO_TLS10,
 | 
			
		||||
  TLS_PROTO_TLS11,
 | 
			
		||||
  TLS_PROTO_TLS12,
 | 
			
		||||
  TLS_PROTO_TLS13,
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
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_TLS11("TLSv1.1");
 | 
			
		||||
const std::string A2_V_TLS12("TLSv1.2");
 | 
			
		||||
const std::string A2_V_TLS13("TLSv1.3");
 | 
			
		||||
 | 
			
		||||
PrefPtr PREF_VERSION = makePref("version");
 | 
			
		||||
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_TLS11;
 | 
			
		||||
extern const std::string A2_V_TLS12;
 | 
			
		||||
extern const std::string A2_V_TLS13;
 | 
			
		||||
 | 
			
		||||
extern PrefPtr PREF_VERSION;
 | 
			
		||||
extern PrefPtr PREF_HELP;
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -2129,6 +2129,9 @@ TLSVersion toTLSVersion(const std::string& ver)
 | 
			
		|||
  if (ver == A2_V_TLS12) {
 | 
			
		||||
    return TLS_PROTO_TLS12;
 | 
			
		||||
  }
 | 
			
		||||
  if (ver == A2_V_TLS13) {
 | 
			
		||||
    return TLS_PROTO_TLS13;
 | 
			
		||||
  }
 | 
			
		||||
  return TLS_PROTO_TLS10;
 | 
			
		||||
}
 | 
			
		||||
#endif // ENABLE_SSL
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
		Reference in New Issue