Added more informative error messages when SSL handshake fails.

This commit is contained in:
Markus Makela
2015-06-03 14:14:05 +03:00
parent 4d30cd5fd3
commit a033cbf200

View File

@ -2789,7 +2789,7 @@ int dcb_create_SSL(DCB* dcb)
int dcb_accept_SSL(DCB* dcb) int dcb_accept_SSL(DCB* dcb)
{ {
int rval,errnum; int rval,errnum;
char errbuf[140];
rval = SSL_accept(dcb->ssl); rval = SSL_accept(dcb->ssl);
switch(rval) switch(rval)
@ -2819,23 +2819,25 @@ int dcb_accept_SSL(DCB* dcb)
rval = 0; rval = 0;
LOGIF(LD,(skygw_log_write_flush(LD,"SSL_accept ongoing for %s@%s", LOGIF(LD,(skygw_log_write_flush(LD,"SSL_accept ongoing for %s@%s",
dcb->user, dcb->user?dcb->user:"a connection from ",
dcb->remote))); dcb->remote)));
} }
else else
{ {
rval = -1; rval = -1;
ERR_error_string(errnum,errbuf);
skygw_log_write_flush(LE, skygw_log_write_flush(LE,
"Error: Fatal error in SSL_accept for %s@%s: %s", "Error: Fatal error in SSL_accept for %s@%s: (SSL error code: %d) %s",
dcb->user, dcb->user,
dcb->remote, dcb->remote,
ERR_error_string(errnum,NULL)); errnum,
errbuf);
} }
break; break;
default: default:
skygw_log_write_flush(LE, skygw_log_write_flush(LE,
"Error: Fatal error in SSL_accept, returned value was %d.", "Error: Fatal library error in SSL_accept, returned value was %d.",
rval); rval);
break; break;
} }
@ -2855,7 +2857,7 @@ int dcb_accept_SSL(DCB* dcb)
int dcb_connect_SSL(DCB* dcb) int dcb_connect_SSL(DCB* dcb)
{ {
int rval,errnum; int rval,errnum;
char errbuf[140];
rval = SSL_connect(dcb->ssl); rval = SSL_connect(dcb->ssl);
switch(rval) switch(rval)
@ -2891,11 +2893,13 @@ int dcb_connect_SSL(DCB* dcb)
else else
{ {
rval = -1; rval = -1;
ERR_error_string(errnum,errbuf);
skygw_log_write_flush(LE, skygw_log_write_flush(LE,
"Error: Fatal error in SSL_connect for %s@%s: %s", "Error: Fatal error in SSL_accept for %s@%s: (SSL error code: %d) %s",
dcb->user, dcb->user,
dcb->remote, dcb->remote,
ERR_error_string(errnum,NULL)); errnum,
errbuf);
} }
break; break;