Skip to content
Snippets Groups Projects
Commit feeb0974 authored by Alexander Traud's avatar Alexander Traud
Browse files

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
parent 79deaa6a
No related branches found
No related tags found
No related merge requests found
...@@ -572,7 +572,8 @@ struct ast_tcptls_session_instance *ast_tcptls_client_create(struct ast_tcptls_s ...@@ -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",
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment