X-Git-Url: https://ruderich.org/simon/gitweb/?a=blobdiff_plain;f=src%2Fverify.c;h=e361e01b56c676c3ac32f9d4532e43c275e0632d;hb=8c4e41d4ed8b3d8c3a39d3bef01feec98dc82161;hp=96c49a51b7f23ff0502dbfeeec3d1163052943ed;hpb=c5059d4c1e7f0de5a466d471e7ee26b6ccce8396;p=tlsproxy%2Ftlsproxy.git diff --git a/src/verify.c b/src/verify.c index 96c49a5..e361e01 100644 --- a/src/verify.c +++ b/src/verify.c @@ -20,9 +20,8 @@ #include "tlsproxy.h" #include "verify.h" -/* errno */ #include -/* gnutls_x509_*() */ + #include @@ -41,8 +40,8 @@ int verify_tls_connection(gnutls_session_t session, const char *hostname) { unsigned int cert_list_size; FILE *file; char buffer[66]; /* one line in a PEM file is 64 bytes + '\n' + '\0' */ - char server_cert[8192]; - char stored_cert[8192]; + char server_cert[16384]; + char stored_cert[16384]; result = gnutls_certificate_verify_peers2(session, &status); /* Verification failed (!= invalid certificate but worse), no need for any @@ -137,10 +136,10 @@ int verify_tls_connection(gnutls_session_t session, const char *hostname) { strcat(stored_cert, buffer); } if (ferror(file)) { - fclose(file); LOG(LOG_WARNING, "verify_tls_connection(): failed to read from '%s': %s", path, strerror(errno)); + fclose(file); LOG(LOG_DEBUG, "server certificate:\n%s", server_cert); return -1; @@ -148,7 +147,7 @@ int verify_tls_connection(gnutls_session_t session, const char *hostname) { fclose(file); /* Check if the server certificate matches our stored certificate. */ - if (strcmp(stored_cert, server_cert) != 0) { + if (strcmp(stored_cert, server_cert)) { LOG(LOG_ERROR, "verify_tls_connection(): server certificate changed!", path, strerror(errno));