X-Git-Url: http://git.madism.org/?a=blobdiff_plain;f=mutt_ssl_gnutls.c;h=93820544557dcf89e65e4ab75a5fee18777b3073;hb=201fd8633cc86ccda413c919ae6e2ae04e89b4a9;hp=147ddca27bad647399c6d752b995453e3ec42881;hpb=dbb9a1e16d03a2d4664d6dc6a30c721b889d4982;p=apps%2Fmadmutt.git diff --git a/mutt_ssl_gnutls.c b/mutt_ssl_gnutls.c index 147ddca..9382054 100644 --- a/mutt_ssl_gnutls.c +++ b/mutt_ssl_gnutls.c @@ -26,10 +26,10 @@ #include #include +#include #include "mutt.h" #include "mutt_socket.h" -#include "mutt_menu.h" #include "mutt_ssl.h" #include "lib/rx.h" @@ -188,7 +188,7 @@ static int tls_negotiate (CONNECTION * conn) gnutls_init (&data->state, GNUTLS_CLIENT); /* set socket */ - gnutls_transport_set_ptr (data->state, (gnutls_transport_ptr) conn->fd); + gnutls_transport_set_ptr (data->state, (gnutls_transport_ptr)(intptr_t)conn->fd); /* disable TLS/SSL protocols as needed */ if (!option (OPTTLSV1) && !option (OPTSSLV3)) { @@ -457,7 +457,7 @@ static int tls_check_certificate (CONNECTION * conn) time_t t; const gnutls_datum *cert_list; unsigned int cert_list_size = 0; - gnutls_certificate_status certstat; + gnutls_certificate_status_t certstat; char datestr[30]; gnutls_x509_crt cert; gnutls_datum pemdata; @@ -474,18 +474,11 @@ static int tls_check_certificate (CONNECTION * conn) return 0; } - certstat = gnutls_certificate_verify_peers (state); - - if (certstat == GNUTLS_E_NO_CERTIFICATE_FOUND) { - mutt_error (_("Unable to get certificate from peer")); - mutt_sleep (2); - return 0; - } - if (certstat < 0) { - mutt_error (_("Certificate verification error (%s)"), - gnutls_strerror (certstat)); - mutt_sleep (2); - return 0; + if (gnutls_certificate_verify_peers2(state, &certstat) < 0) { + mutt_error (_("Certificate verification error (%s)"), + gnutls_strerror(certstat)); + mutt_sleep (2); + return 0; } /* We only support X.509 certificates (not OpenPGP) at the moment */