[openssl] master update
dev at ddvo.net
dev at ddvo.net
Mon Jun 1 07:24:17 UTC 2020
The branch master has been updated
via dc18e4ddfbd55b738dd7ccd9347accf6c5b342f6 (commit)
from 60d3b5b9ffb8c1273af0cc0338ec1c98f464f4b1 (commit)
- Log -----------------------------------------------------------------
commit dc18e4ddfbd55b738dd7ccd9347accf6c5b342f6
Author: Dr. David von Oheimb <David.von.Oheimb at siemens.com>
Date: Wed May 27 12:16:53 2020 +0200
Make BIO_do_connect() and friends handle multiple IP addresses
Reviewed-by: Tomas Mraz <tmraz at fedoraproject.org>
(Merged from https://github.com/openssl/openssl/pull/11971)
-----------------------------------------------------------------------
Summary of changes:
crypto/bio/bss_conn.c | 11 ++++++++++-
1 file changed, 10 insertions(+), 1 deletion(-)
diff --git a/crypto/bio/bss_conn.c b/crypto/bio/bss_conn.c
index d3bd33e957..31a5b58b7d 100644
--- a/crypto/bio/bss_conn.c
+++ b/crypto/bio/bss_conn.c
@@ -188,8 +188,17 @@ static int conn_state(BIO *b, BIO_CONNECT *c)
case BIO_CONN_S_BLOCKED_CONNECT:
i = BIO_sock_error(b->num);
- if (i) {
+ if (i != 0) {
BIO_clear_retry_flags(b);
+ if ((c->addr_iter = BIO_ADDRINFO_next(c->addr_iter)) != NULL) {
+ /*
+ * if there are more addresses to try, do that first
+ */
+ BIO_closesocket(b->num);
+ c->state = BIO_CONN_S_CREATE_SOCKET;
+ ERR_clear_error();
+ break;
+ }
ERR_raise_data(ERR_LIB_SYS, i,
"calling connect(%s, %s)",
c->param_hostname, c->param_service);
More information about the openssl-commits
mailing list