From: Sebastian B. <sb...@us...> - 2014-02-23 13:23:26
|
Update of /cvsroot/simplemail/simplemail In directory sfp-cvs-1.v30.ch3.sourceforge.com:/tmp/cvs-serv24336 Modified Files: tcp.c Log Message: Also display the SSL error message of the last verification failure.. Index: tcp.c =================================================================== RCS file: /cvsroot/simplemail/simplemail/tcp.c,v retrieving revision 1.59 retrieving revision 1.60 diff -u -d -r1.59 -r1.60 --- tcp.c 23 Feb 2014 13:23:04 -0000 1.59 +++ tcp.c 23 Feb 2014 13:23:24 -0000 1.60 @@ -297,6 +297,7 @@ unsigned int sha1_size; unsigned char sha1[EVP_MAX_MD_SIZE]; char sha1_ascii[EVP_MAX_MD_SIZE*3+1]; + long verify_results; X509_digest(server_cert, EVP_sha1(), sha1, &sha1_size); @@ -304,8 +305,12 @@ sm_snprintf(&sha1_ascii[i*3], 4, "%02X ", sha1[i]); sha1_ascii[sha1_size*3] = 0; + verify_results = SSL_get_verify_result(conn->ssl); + /* TODO: Use callbacks for proper decoupling */ - rc = thread_call_function_sync(thread_get_main(), sm_request, 4, NULL, _("Certificate verification error\n\nSHA1: %s"), _("Connect anyway|Abort"), sha1_ascii); + rc = thread_call_function_sync(thread_get_main(), sm_request, 5, + NULL, _("Failed to verify server certificate:\n%s\n\nSHA1: %s"), _("Connect anyway|Abort"), + X509_verify_cert_error_string(verify_results), sha1_ascii); /* Add some checks here */ X509_free(server_cert); |