dovecot-2.2: login, lib-ssl-iostream: Clear errors caused by man...

dovecot at dovecot.org dovecot at dovecot.org
Thu Dec 3 10:23:22 UTC 2015


details:   http://hg.dovecot.org/dovecot-2.2/rev/302c3c7e11f8
changeset: 19449:302c3c7e11f8
user:      Timo Sirainen <tss at iki.fi>
date:      Thu Dec 03 12:19:12 2015 +0200
description:
login, lib-ssl-iostream: Clear errors caused by manual EC key selection when there was no EC key.
EVP_PKEY_get1_EC_KEY() would return an error, which should be ignored
instead of being logged later on.

diffstat:

 src/lib-ssl-iostream/iostream-openssl-context.c |  4 ++++
 src/login-common/ssl-proxy-openssl.c            |  4 ++++
 2 files changed, 8 insertions(+), 0 deletions(-)

diffs (28 lines):

diff -r a0df8b106de1 -r 302c3c7e11f8 src/lib-ssl-iostream/iostream-openssl-context.c
--- a/src/lib-ssl-iostream/iostream-openssl-context.c	Thu Dec 03 12:13:11 2015 +0200
+++ b/src/lib-ssl-iostream/iostream-openssl-context.c	Thu Dec 03 12:19:12 2015 +0200
@@ -454,6 +454,10 @@
 		if ((eckey = EVP_PKEY_get1_EC_KEY(pkey)) != NULL &&
 		    (ecgrp = EC_KEY_get0_group(eckey)) != NULL)
 			nid = EC_GROUP_get_curve_name(ecgrp);
+		else {
+			/* clear errors added by the above calls */
+			(void)openssl_iostream_error();
+		}
 		EVP_PKEY_free(pkey);
 	}
 
diff -r a0df8b106de1 -r 302c3c7e11f8 src/login-common/ssl-proxy-openssl.c
--- a/src/login-common/ssl-proxy-openssl.c	Thu Dec 03 12:13:11 2015 +0200
+++ b/src/login-common/ssl-proxy-openssl.c	Thu Dec 03 12:19:12 2015 +0200
@@ -1129,6 +1129,10 @@
 	    (eckey = EVP_PKEY_get1_EC_KEY(pkey)) != NULL &&
 	    (ecgrp = EC_KEY_get0_group(eckey)) != NULL)
 		nid = EC_GROUP_get_curve_name(ecgrp);
+	else {
+		/* clear errors added by the above calls */
+		(void)openssl_iostream_error();
+	}
 	EVP_PKEY_free(pkey);
 	return nid;
 }


More information about the dovecot-cvs mailing list