src/server/daemon/httplistener.c

changeset 161
aadda87bad1b
parent 152
8b85c5face66
child 162
b169992137a8
equal deleted inserted replaced
160:389bd0e1ffa9 161:aadda87bad1b
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 char *errstr; 410 log_ereport(LOG_INFORM, "SSL accept error: %d", error);
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);
423 free(conn); 411 free(conn);
424 conn = NULL; 412 conn = NULL;
425 close(clientfd);
426 } else { 413 } else {
427 conn->ssl = ssl; 414 conn->ssl = ssl;
428 conn->read = connection_ssl_read; 415 conn->read = connection_ssl_read;
429 conn->write = connection_ssl_write; 416 conn->write = connection_ssl_write;
430 conn->close = connection_ssl_close; 417 conn->close = connection_ssl_close;

mercurial