mirror of
				https://github.com/asterisk/asterisk.git
				synced 2025-10-29 23:39:35 +00:00 
			
		
		
		
	tcptls: Do not re-bind to wildcard on client creation.
Since ASTERISK-26922, this issue affected only those chan_sip which were * enabled for dual-stack (bindaddr=::), and * enabled for TCP (tcpenable=yes) and/or TLS (tlsenable=yes), and * tried to register and/or invite a IPv4-only service, * via TCP and/or TLS. Now, ast_tcptls_client_create does not re-bind to [::] anymore. ASTERISK-27324 #close Change-Id: I4b242837bdeb1ec7130dc82505c6180a946fd9b5
This commit is contained in:
		| @@ -572,7 +572,8 @@ struct ast_tcptls_session_instance *ast_tcptls_client_create(struct ast_tcptls_s | |||||||
|  |  | ||||||
| 	/* if a local address was specified, bind to it so the connection will | 	/* if a local address was specified, bind to it so the connection will | ||||||
| 	   originate from the desired address */ | 	   originate from the desired address */ | ||||||
| 	if (!ast_sockaddr_isnull(&desc->local_address)) { | 	if (!ast_sockaddr_isnull(&desc->local_address) && | ||||||
|  | 	    !ast_sockaddr_is_any(&desc->local_address)) { | ||||||
| 		setsockopt(desc->accept_fd, SOL_SOCKET, SO_REUSEADDR, &x, sizeof(x)); | 		setsockopt(desc->accept_fd, SOL_SOCKET, SO_REUSEADDR, &x, sizeof(x)); | ||||||
| 		if (ast_bind(desc->accept_fd, &desc->local_address)) { | 		if (ast_bind(desc->accept_fd, &desc->local_address)) { | ||||||
| 			ast_log(LOG_ERROR, "Unable to bind %s to %s: %s\n", | 			ast_log(LOG_ERROR, "Unable to bind %s to %s: %s\n", | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user