=== modified file 'lib/ssl_gnutls.c'
|
|
|
|
| 239 | 239 | } |
| 240 | 240 | else |
| 241 | 241 | { |
| 242 | | |
| 243 | | conn->func( conn->data, verify_certificate_callback( conn->session ), NULL, cond ); |
| | 242 | if( conn->verify && st == GNUTLS_E_CERTIFICATE_ERROR ) |
| | 243 | /* This means that gnutls_handshake failed because of the |
| | 244 | * certificate verification, so let's pass some more detailed |
| | 245 | * information about what went wrong to conn->func by calling |
| | 246 | * verify_certificate_callback again. |
| | 247 | */ |
| | 248 | conn->func( conn->data, verify_certificate_callback( |
| | 249 | conn->session ), NULL, cond ); |
| | 250 | else |
| | 251 | conn->func( conn->data, 0, NULL, cond ); |
| 244 | 252 | |
| 245 | 253 | gnutls_deinit( conn->session ); |
| 246 | 254 | gnutls_certificate_free_credentials( conn->xcred ); |