Fixed the OpenSSL error stack being printed wrong.
This commit is contained in:
@ -1026,7 +1026,19 @@ int dcb_read_SSL(
|
|||||||
STRDCBSTATE(dcb->state),
|
STRDCBSTATE(dcb->state),
|
||||||
dcb->fd,
|
dcb->fd,
|
||||||
ssl_errno,
|
ssl_errno,
|
||||||
errbuf)));
|
strerror(errno))));
|
||||||
|
|
||||||
|
if(ssl_errno == SSL_ERROR_SSL ||
|
||||||
|
ssl_errno == SSL_ERROR_SYSCALL)
|
||||||
|
{
|
||||||
|
while((ssl_errno = ERR_get_error()) != 0)
|
||||||
|
{
|
||||||
|
ERR_error_string(ssl_errno,errbuf);
|
||||||
|
skygw_log_write(LE,
|
||||||
|
"%s",
|
||||||
|
errbuf);
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
gwbuf_free(buffer);
|
gwbuf_free(buffer);
|
||||||
@ -2850,6 +2862,7 @@ int dcb_accept_SSL(DCB* dcb)
|
|||||||
break;
|
break;
|
||||||
|
|
||||||
case -1:
|
case -1:
|
||||||
|
|
||||||
errnum = SSL_get_error(dcb->ssl,ssl_rval);
|
errnum = SSL_get_error(dcb->ssl,ssl_rval);
|
||||||
|
|
||||||
if(errnum == SSL_ERROR_WANT_READ || errnum == SSL_ERROR_WANT_WRITE)
|
if(errnum == SSL_ERROR_WANT_READ || errnum == SSL_ERROR_WANT_WRITE)
|
||||||
@ -2864,12 +2877,22 @@ int dcb_accept_SSL(DCB* dcb)
|
|||||||
else
|
else
|
||||||
{
|
{
|
||||||
rval = -1;
|
rval = -1;
|
||||||
ERR_error_string(errnum,errbuf);
|
skygw_log_write(LE,
|
||||||
skygw_log_write_flush(LE,
|
"Error: Fatal error in SSL_accept for %s: (SSL error code: %d):%s",
|
||||||
"Error: Fatal error in SSL_accept for %s: (SSL error code: %d) %s",
|
dcb->remote,
|
||||||
dcb->remote,
|
errnum,
|
||||||
errnum,
|
strerror(errno));
|
||||||
|
if(errnum == SSL_ERROR_SSL ||
|
||||||
|
errnum == SSL_ERROR_SYSCALL)
|
||||||
|
{
|
||||||
|
while((errnum = ERR_get_error()) != 0)
|
||||||
|
{
|
||||||
|
ERR_error_string(errnum,errbuf);
|
||||||
|
skygw_log_write(LE,
|
||||||
|
"%s",
|
||||||
errbuf);
|
errbuf);
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
|||||||
@ -2038,4 +2038,4 @@ static void maxscale_ssl_lock(int mode,int n,const char* file, int line)
|
|||||||
static unsigned long maxscale_ssl_id()
|
static unsigned long maxscale_ssl_id()
|
||||||
{
|
{
|
||||||
return (unsigned long)pthread_self();
|
return (unsigned long)pthread_self();
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user