changeset 19481:62aa3c6ca7ed

lib-ssl-iostream, login-*: Hide unnecessary "EVP_PKEY_get1_EC_KEY:expecting a ec key" errors.
author Timo Sirainen <tss@iki.fi>
date Mon, 07 Dec 2015 16:06:15 +0200
parents ed41702f14c2
children f833b8160e39
files src/lib-ssl-iostream/iostream-openssl-common.c src/lib-ssl-iostream/iostream-openssl-context.c src/lib-ssl-iostream/iostream-openssl.h src/login-common/ssl-proxy-openssl.c
diffstat 4 files changed, 9 insertions(+), 2 deletions(-) [+]
line wrap: on
line diff
--- a/src/lib-ssl-iostream/iostream-openssl-common.c	Mon Dec 07 11:29:29 2015 +0200
+++ b/src/lib-ssl-iostream/iostream-openssl-common.c	Mon Dec 07 16:06:15 2015 +0200
@@ -240,3 +240,9 @@
 		return "There is no valid PEM certificate.";
 	}
 }
+
+void openssl_iostream_clear_errors(void)
+{
+	while (ERR_get_error() != 0)
+		;
+}
--- a/src/lib-ssl-iostream/iostream-openssl-context.c	Mon Dec 07 11:29:29 2015 +0200
+++ b/src/lib-ssl-iostream/iostream-openssl-context.c	Mon Dec 07 16:06:15 2015 +0200
@@ -382,7 +382,7 @@
 			nid = EC_GROUP_get_curve_name(ecgrp);
 		else {
 			/* clear errors added by the above calls */
-			(void)openssl_iostream_error();
+			openssl_iostream_clear_errors();
 		}
 		EVP_PKEY_free(pkey);
 	}
--- a/src/lib-ssl-iostream/iostream-openssl.h	Mon Dec 07 11:29:29 2015 +0200
+++ b/src/lib-ssl-iostream/iostream-openssl.h	Mon Dec 07 16:06:15 2015 +0200
@@ -93,6 +93,7 @@
 const char *openssl_iostream_key_load_error(void);
 const char *
 openssl_iostream_use_certificate_error(const char *cert, const char *set_name);
+void openssl_iostream_clear_errors(void);
 
 int openssl_iostream_generate_params(buffer_t *output, unsigned int dh_length,
 				     const char **error_r);
--- a/src/login-common/ssl-proxy-openssl.c	Mon Dec 07 11:29:29 2015 +0200
+++ b/src/login-common/ssl-proxy-openssl.c	Mon Dec 07 16:06:15 2015 +0200
@@ -1131,7 +1131,7 @@
 		nid = EC_GROUP_get_curve_name(ecgrp);
 	else {
 		/* clear errors added by the above calls */
-		(void)openssl_iostream_error();
+		openssl_iostream_clear_errors();
 	}
 	EVP_PKEY_free(pkey);
 	return nid;