@@ -21,6 +21,7 @@ static int dtls_write(DTLSManager *m, const char *buf, size_t count) {
2121
2222 assert (m );
2323 assert (m -> ssl );
24+ assert (m -> pretty_address );
2425 assert (buf );
2526 assert (count > 0 );
2627 assert (count < INT_MAX );
@@ -30,9 +31,9 @@ static int dtls_write(DTLSManager *m, const char *buf, size_t count) {
3031 if (r <= 0 ) {
3132 int error = SSL_get_error (m -> ssl , r );
3233 if (IN_SET (error , SSL_ERROR_WANT_READ , SSL_ERROR_WANT_WRITE ))
33- return log_info_errno (SYNTHETIC_ERRNO (EAGAIN ), "DTLS: Failed to invoke SSL_write: %s" , TLS_ERROR_STRING (error ));
34+ return log_info_errno (SYNTHETIC_ERRNO (EAGAIN ), "DTLS: Failed to invoke SSL_write to %s : %s" , m -> pretty_address , TLS_ERROR_STRING (error ));
3435 else
35- return log_error_errno (SYNTHETIC_ERRNO (EPIPE ), "DTLS: Failed to invoke SSL_write: %s" , TLS_ERROR_STRING (error ));
36+ return log_error_errno (SYNTHETIC_ERRNO (EPIPE ), "DTLS: Failed to invoke SSL_write to %s : %s" , m -> pretty_address , TLS_ERROR_STRING (error ));
3637 }
3738
3839 return log_debug ("DTLS: Successful SSL_write: %d bytes" , r );
@@ -120,8 +121,8 @@ int dtls_connect(DTLSManager *m, SocketAddress *address) {
120121 if (m -> auth_mode != OPEN_SSL_CERTIFICATE_AUTH_MODE_NONE && m -> auth_mode != OPEN_SSL_CERTIFICATE_AUTH_MODE_INVALID ) {
121122 log_debug ("DTLS: enable certificate verification" );
122123
123- SSL_set_ex_data (ssl , 0 , m );
124- SSL_set_ex_data (ssl , 1 , address );
124+ SSL_set_ex_data (ssl , EX_DATA_TLSMANAGER , m );
125+ SSL_set_ex_data (ssl , EX_DATA_PRETTYADDRESS , pretty );
125126 SSL_set_verify (ssl , SSL_VERIFY_PEER | SSL_VERIFY_FAIL_IF_NO_PEER_CERT , ssl_verify_certificate_validity );
126127 } else {
127128 log_debug ("DTLS: disable certificate verification" );
@@ -158,6 +159,7 @@ int dtls_connect(DTLSManager *m, SocketAddress *address) {
158159
159160 m -> ssl = TAKE_PTR (ssl );
160161 m -> fd = TAKE_FD (fd );
162+ m -> pretty_address = TAKE_PTR (pretty );
161163
162164 m -> connected = true;
163165 return 0 ;
@@ -175,6 +177,7 @@ void dtls_disconnect(DTLSManager *m) {
175177 m -> ssl = NULL ;
176178 }
177179
180+ m -> pretty_address = mfree (m -> pretty_address );
178181 m -> fd = safe_close (m -> fd );
179182 m -> connected = false;
180183}
0 commit comments