Ignore:
Timestamp:
Jul 1, 2019 5:41:29 AM (3 years ago)
Author:
riza
Message:

Re #2210 (misc): Minor patch for SSL error message. Thanks to George Joseph for the patch.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • pjproject/trunk/pjlib/src/pj/ssl_sock_ossl.c

    r6022 r6034  
    211211} 
    212212 
    213 #define ERROR_LOG(msg, err) \ 
    214     PJ_LOG(2,("SSL", "%s (%s): Level: %d err: <%lu> <%s-%s-%s> len: %d", \ 
    215               msg, action, level, err, \ 
    216               (ERR_lib_error_string(err)? ERR_lib_error_string(err): "???"), \ 
    217               (ERR_func_error_string(err)? ERR_func_error_string(err):"???"),\ 
    218               (ERR_reason_error_string(err)? \ 
    219                ERR_reason_error_string(err): "???"), len)); 
    220  
    221 static void SSLLogErrors(char * action, int ret, int ssl_err, int len) 
     213#define ERROR_LOG(msg, err, ssock) \ 
     214{ \ 
     215    char buf[PJ_INET6_ADDRSTRLEN+10]; \ 
     216    PJ_LOG(2,("SSL", "%s (%s): Level: %d err: <%lu> <%s-%s-%s> len: %d " \ 
     217           "peer: %s", \ 
     218           msg, action, level, err, \ 
     219           (ERR_lib_error_string(err)? ERR_lib_error_string(err): "???"), \ 
     220           (ERR_func_error_string(err)? ERR_func_error_string(err):"???"),\ 
     221           (ERR_reason_error_string(err)? \ 
     222            ERR_reason_error_string(err): "???"), len, \ 
     223           (ssock && pj_sockaddr_has_addr(&ssock->rem_addr)? \ 
     224            pj_sockaddr_print(&ssock->rem_addr, buf, sizeof(buf), 3):"???")));\ 
     225} 
     226 
     227static void SSLLogErrors(char * action, int ret, int ssl_err, int len,  
     228                         pj_ssl_sock_t *ssock) 
    222229{ 
    223230    char *ssl_err_str = SSLErrorString(ssl_err); 
     
    234241            int level = 0; 
    235242            while (err2) { 
    236                 ERROR_LOG("SSL_ERROR_SYSCALL", err2); 
     243                ERROR_LOG("SSL_ERROR_SYSCALL", err2, ssock); 
    237244                level++; 
    238245                err2 = ERR_get_error(); 
     
    265272 
    266273        while (err2) { 
    267             ERROR_LOG("SSL_ERROR_SSL", err2); 
     274            ERROR_LOG("SSL_ERROR_SSL", err2, ssock); 
    268275            level++; 
    269276            err2 = ERR_get_error(); 
     
    303310    int len = 0; //dummy 
    304311 
    305     ERROR_LOG("STATUS_FROM_SSL_ERR", err); 
     312    ERROR_LOG("STATUS_FROM_SSL_ERR", err, ssock); 
    306313    level++; 
    307314 
     
    309316    if (err == SSL_ERROR_SSL) { 
    310317        err = ERR_get_error(); 
    311         ERROR_LOG("STATUS_FROM_SSL_ERR", err); 
     318        ERROR_LOG("STATUS_FROM_SSL_ERR", err, ssock); 
    312319    } 
    313320 
     
    327334 
    328335    /* Dig for more from OpenSSL error queue */ 
    329     SSLLogErrors(action, ret, err, len); 
     336    SSLLogErrors(action, ret, err, len, ssock); 
    330337 
    331338    ssock->last_err = ssl_err; 
Note: See TracChangeset for help on using the changeset viewer.