diff --git a/ChangeLog b/ChangeLog index 4af9584f..c581aae2 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,9 @@ +2009-07-09 Tatsuhiro Tsujikawa + + Removed TLS1.1 protocol support when aria2 is built with gnutls + for compatibility issue. + * src/SocketCore.cc + 2009-07-09 Tatsuhiro Tsujikawa Fixed compile error with openSSL diff --git a/src/SocketCore.cc b/src/SocketCore.cc index ef77f512..f459c650 100644 --- a/src/SocketCore.cc +++ b/src/SocketCore.cc @@ -742,8 +742,18 @@ void SocketCore::prepareSecureConnection() } #endif // HAVE_LIBSSL #ifdef HAVE_LIBGNUTLS + int r; gnutls_init(&sslSession, GNUTLS_CLIENT); - gnutls_set_default_priority(sslSession); + // It seems err is not error message, but the argument string + // which causes syntax error. + const char* err; + // Disables TLS1.1 here because there are servers that don't + // understand TLS1.1. + r = gnutls_priority_set_direct(sslSession, "NORMAL:!VERS-TLS1.1", &err); + if(r != GNUTLS_E_SUCCESS) { + throw DL_ABORT_EX + (StringFormat(EX_SSL_INIT_FAILURE, gnutls_strerror(r)).str()); + } // put the x509 credentials to the current session gnutls_credentials_set(sslSession, GNUTLS_CRD_CERTIFICATE, _tlsContext->getCertCred());