X-Git-Url: http://git.madism.org/?a=blobdiff_plain;f=lib-sys%2Fmutt_ssl_gnutls.c;h=dfac2ca3d33bacf9febb349be11c8ecc4bde2968;hb=92f2fc3802e13a8eb0717123c588d855fa0de67f;hp=a6790485cb2c40d598d6bcf56589b7897044c532;hpb=ccf2b75a9ed50a79c4d8e5d6235c7313fcd3719a;p=apps%2Fmadmutt.git diff --git a/lib-sys/mutt_ssl_gnutls.c b/lib-sys/mutt_ssl_gnutls.c index a679048..dfac2ca 100644 --- a/lib-sys/mutt_ssl_gnutls.c +++ b/lib-sys/mutt_ssl_gnutls.c @@ -8,9 +8,7 @@ * please see the file GPL in the top level source directory. */ -#if HAVE_CONFIG_H -# include "config.h" -#endif +#include #ifdef USE_GNUTLS @@ -20,12 +18,6 @@ #include #endif -#include -#include -#include -#include -#include - #include #include @@ -39,8 +31,8 @@ typedef struct _tlssockdata { } tlssockdata; /* local prototypes */ -static int tls_socket_read (CONNECTION * conn, char *buf, size_t len); -static int tls_socket_write (CONNECTION * conn, const char *buf, size_t len); +static int tls_socket_read (CONNECTION * conn, char *buf, ssize_t len); +static int tls_socket_write (CONNECTION * conn, const char *buf, ssize_t len); static int tls_socket_open (CONNECTION * conn); static int tls_socket_close (CONNECTION * conn); static int tls_starttls_close (CONNECTION * conn); @@ -82,7 +74,7 @@ int mutt_ssl_socket_setup (CONNECTION * conn) return 0; } -static int tls_socket_read (CONNECTION * conn, char *buf, size_t len) +static int tls_socket_read (CONNECTION * conn, char *buf, ssize_t len) { tlssockdata *data = conn->sockdata; int ret; @@ -102,7 +94,7 @@ static int tls_socket_read (CONNECTION * conn, char *buf, size_t len) return ret; } -static int tls_socket_write (CONNECTION * conn, const char *buf, size_t len) +static int tls_socket_write (CONNECTION * conn, const char *buf, ssize_t len) { tlssockdata *data = conn->sockdata; int ret; @@ -353,13 +345,13 @@ static int tls_compare_certificates (const gnutls_datum * peercert) static void tls_fingerprint (gnutls_digest_algorithm algo, char *s, int l, const gnutls_datum * data) { - unsigned char md[36]; - size_t n; + char md[36]; + ssize_t n; int j; n = 36; - if (gnutls_fingerprint (algo, data, (char *) md, &n) < 0) { + if (gnutls_fingerprint(algo, data, md, (size_t *)&n) < 0) { snprintf (s, l, _("[unable to calculate]")); } else { @@ -373,7 +365,7 @@ static void tls_fingerprint (gnutls_digest_algorithm algo, } } -static char *tls_make_date (time_t t, char *s, size_t len) +static char *tls_make_date (time_t t, char *s, ssize_t len) { struct tm *l = gmtime (&t); @@ -393,7 +385,7 @@ static int tls_check_stored_hostname (const gnutls_datum * cert, char buf[80]; FILE *fp; char *linestr = NULL; - size_t linestrsize; + ssize_t linestrsize; int linenum = 0; regex_t preg; regmatch_t pmatch[3]; @@ -442,7 +434,7 @@ static int tls_check_certificate (CONNECTION * conn) char helpstr[SHORT_STRING]; char buf[SHORT_STRING]; char fpbuf[SHORT_STRING]; - size_t buflen; + ssize_t buflen; char dn_common_name[SHORT_STRING]; char dn_email[SHORT_STRING]; char dn_organization[SHORT_STRING]; @@ -591,34 +583,34 @@ static int tls_check_certificate (CONNECTION * conn) buflen = sizeof (dn_common_name); if (gnutls_x509_crt_get_dn_by_oid (cert, GNUTLS_OID_X520_COMMON_NAME, 0, 0, - dn_common_name, &buflen) != 0) + dn_common_name, (size_t *)&buflen) != 0) dn_common_name[0] = '\0'; buflen = sizeof (dn_email); if (gnutls_x509_crt_get_dn_by_oid (cert, GNUTLS_OID_PKCS9_EMAIL, 0, 0, - dn_email, &buflen) != 0) + dn_email, (size_t *)&buflen) != 0) dn_email[0] = '\0'; buflen = sizeof (dn_organization); if (gnutls_x509_crt_get_dn_by_oid (cert, GNUTLS_OID_X520_ORGANIZATION_NAME, 0, 0, dn_organization, - &buflen) != 0) + (size_t *)&buflen) != 0) dn_organization[0] = '\0'; buflen = sizeof (dn_organizational_unit); if (gnutls_x509_crt_get_dn_by_oid (cert, GNUTLS_OID_X520_ORGANIZATIONAL_UNIT_NAME, 0, 0, - dn_organizational_unit, &buflen) != 0) + dn_organizational_unit, (size_t *)&buflen) != 0) dn_organizational_unit[0] = '\0'; buflen = sizeof (dn_locality); if (gnutls_x509_crt_get_dn_by_oid - (cert, GNUTLS_OID_X520_LOCALITY_NAME, 0, 0, dn_locality, &buflen) != 0) + (cert, GNUTLS_OID_X520_LOCALITY_NAME, 0, 0, dn_locality, (size_t *)&buflen) != 0) dn_locality[0] = '\0'; buflen = sizeof (dn_province); if (gnutls_x509_crt_get_dn_by_oid (cert, GNUTLS_OID_X520_STATE_OR_PROVINCE_NAME, 0, 0, dn_province, - &buflen) != 0) + (size_t *)&buflen) != 0) dn_province[0] = '\0'; buflen = sizeof (dn_country); if (gnutls_x509_crt_get_dn_by_oid (cert, GNUTLS_OID_X520_COUNTRY_NAME, 0, 0, - dn_country, &buflen) != 0) + dn_country, (size_t *)&buflen) != 0) dn_country[0] = '\0'; snprintf (menu->dialog[row++], SHORT_STRING, " %s %s", dn_common_name, @@ -636,34 +628,34 @@ static int tls_check_certificate (CONNECTION * conn) buflen = sizeof (dn_common_name); if (gnutls_x509_crt_get_issuer_dn_by_oid - (cert, GNUTLS_OID_X520_COMMON_NAME, 0, 0, dn_common_name, &buflen) != 0) + (cert, GNUTLS_OID_X520_COMMON_NAME, 0, 0, dn_common_name, (size_t *)&buflen) != 0) dn_common_name[0] = '\0'; buflen = sizeof (dn_email); if (gnutls_x509_crt_get_issuer_dn_by_oid - (cert, GNUTLS_OID_PKCS9_EMAIL, 0, 0, dn_email, &buflen) != 0) + (cert, GNUTLS_OID_PKCS9_EMAIL, 0, 0, dn_email, (size_t *)&buflen) != 0) dn_email[0] = '\0'; buflen = sizeof (dn_organization); if (gnutls_x509_crt_get_issuer_dn_by_oid (cert, GNUTLS_OID_X520_ORGANIZATION_NAME, 0, 0, dn_organization, - &buflen) != 0) + (size_t *)&buflen) != 0) dn_organization[0] = '\0'; buflen = sizeof (dn_organizational_unit); if (gnutls_x509_crt_get_issuer_dn_by_oid (cert, GNUTLS_OID_X520_ORGANIZATIONAL_UNIT_NAME, 0, 0, - dn_organizational_unit, &buflen) != 0) + dn_organizational_unit, (size_t *)&buflen) != 0) dn_organizational_unit[0] = '\0'; buflen = sizeof (dn_locality); if (gnutls_x509_crt_get_issuer_dn_by_oid - (cert, GNUTLS_OID_X520_LOCALITY_NAME, 0, 0, dn_locality, &buflen) != 0) + (cert, GNUTLS_OID_X520_LOCALITY_NAME, 0, 0, dn_locality, (size_t *)&buflen) != 0) dn_locality[0] = '\0'; buflen = sizeof (dn_province); if (gnutls_x509_crt_get_issuer_dn_by_oid (cert, GNUTLS_OID_X520_STATE_OR_PROVINCE_NAME, 0, 0, dn_province, - &buflen) != 0) + (size_t *)&buflen) != 0) dn_province[0] = '\0'; buflen = sizeof (dn_country); if (gnutls_x509_crt_get_issuer_dn_by_oid - (cert, GNUTLS_OID_X520_COUNTRY_NAME, 0, 0, dn_country, &buflen) != 0) + (cert, GNUTLS_OID_X520_COUNTRY_NAME, 0, 0, dn_country, (size_t *)&buflen) != 0) dn_country[0] = '\0'; snprintf (menu->dialog[row++], SHORT_STRING, " %s %s", dn_common_name,