X-Git-Url: http://sjero.net/git/?p=wget;a=blobdiff_plain;f=src%2Fgnutls.c;h=4f0fa962537b304c7766947c12c29a0c13e77795;hp=ce61d065a4b96db110ce7dfc6ecf0e200c03c089;hb=320cfdcb658e8d6556ae9dfd902c2db1db866a6b;hpb=e505664ef3fd26330ceb24778e6a3a3905e1ca10 diff --git a/src/gnutls.c b/src/gnutls.c index ce61d065..4f0fa962 100644 --- a/src/gnutls.c +++ b/src/gnutls.c @@ -443,11 +443,10 @@ ssl_connect_wget (int fd, const char *hostname) err = gnutls_priority_set_direct (session, "NORMAL:-VERS-SSL3.0", NULL); break; case secure_protocol_pfs: -#if defined (GNUTLS_VERSION_NUMBER) && GNUTLS_VERSION_NUMBER >= 0x030204 err = gnutls_priority_set_direct (session, "PFS", NULL); -#else - err = gnutls_priority_set_direct (session, "NORMAL:-RSA", NULL); -#endif + if (err != GNUTLS_E_SUCCESS) + /* fallback if PFS is not available */ + err = gnutls_priority_set_direct (session, "NORMAL:-RSA", NULL); break; default: abort (); @@ -527,8 +526,7 @@ ssl_connect_wget (int fd, const char *hostname) break; } - if (err <= 0) - break; + err = GNUTLS_E_AGAIN; } else if (err < 0) { @@ -544,7 +542,7 @@ ssl_connect_wget (int fd, const char *hostname) } } } - while (err == GNUTLS_E_WARNING_ALERT_RECEIVED && gnutls_error_is_fatal (err) == 0); + while (err && gnutls_error_is_fatal (err) == 0); if (opt.connect_timeout) {