src/server/daemon/httplistener.c

changeset 152
8b85c5face66
parent 150
89af278b7dbb
child 161
aadda87bad1b
child 188
0e6a05c779e0
equal deleted inserted replaced
151:74d21dd5fd5d 152:8b85c5face66
405 SSL *ssl = SSL_new(ls->ssl->sslctx); 405 SSL *ssl = SSL_new(ls->ssl->sslctx);
406 SSL_set_fd(ssl, clientfd); 406 SSL_set_fd(ssl, clientfd);
407 int ssl_ar = SSL_accept(ssl); 407 int ssl_ar = SSL_accept(ssl);
408 if(ssl_ar <= 0) { 408 if(ssl_ar <= 0) {
409 int error = SSL_get_error(ssl, ssl_ar); 409 int error = SSL_get_error(ssl, ssl_ar);
410 log_ereport(LOG_INFORM, "SSL accept error: %d", error); 410 char *errstr;
411 switch(error) {
412 default: errstr = "unknown"; break;
413 case SSL_ERROR_ZERO_RETURN: errstr = "SSL_ERROR_ZERO_RETURN"; break;
414 case SSL_ERROR_WANT_READ: errstr = "SSL_ERROR_WANT_READ"; break;
415 case SSL_ERROR_WANT_WRITE: errstr = "SSL_ERROR_WANT_WRITE"; break;
416 case SSL_ERROR_WANT_CONNECT: errstr = "SSL_ERROR_WANT_CONNECT"; break;
417 case SSL_ERROR_WANT_ACCEPT: errstr = "SSL_ERROR_WANT_ACCEPT"; break;
418 case SSL_ERROR_WANT_X509_LOOKUP: errstr = "SSL_ERROR_WANT_X509_LOOKUP"; break;
419 case SSL_ERROR_SYSCALL: errstr = "SSL_ERROR_SYSCALL"; break;
420 case SSL_ERROR_SSL: errstr = "SL_ERROR_SSL"; break;
421 }
422 log_ereport(LOG_VERBOSE, "SSL accept error[%d]: %s", error, errstr);
411 free(conn); 423 free(conn);
412 conn = NULL; 424 conn = NULL;
413 close(clientfd); 425 close(clientfd);
414 } else { 426 } else {
415 conn->ssl = ssl; 427 conn->ssl = ssl;

mercurial