Ver Fonte

Set SSL_MODE_AUTO_RETRY flag

We use OpenSSL (or GnuTLS) with blocking semantics, and we don't want
SSL_read(3) or SSL_write(3) calls to return SSL_ERROR_WANT_READ or
SSL_ERROR_WANT_WRITE (see #3614716).
Holger Weiss há 12 anos atrás
pai
commit
f4b90cabc0
1 ficheiros alterados com 1 adições e 0 exclusões
  1. 1 0
      plugins/sslutils.c

+ 1 - 0
plugins/sslutils.c

@@ -95,6 +95,7 @@ int np_net_ssl_init_with_hostname_version_and_cert(int sd, char *host_name, int
 #ifdef SSL_OP_NO_TICKET
 #ifdef SSL_OP_NO_TICKET
 	SSL_CTX_set_options(c, SSL_OP_NO_TICKET);
 	SSL_CTX_set_options(c, SSL_OP_NO_TICKET);
 #endif
 #endif
+	SSL_CTX_set_mode(c, SSL_MODE_AUTO_RETRY);
 	if ((s = SSL_new(c)) != NULL) {
 	if ((s = SSL_new(c)) != NULL) {
 #ifdef SSL_set_tlsext_host_name
 #ifdef SSL_set_tlsext_host_name
 		if (host_name != NULL)
 		if (host_name != NULL)