Skip to content
Snippets Groups Projects
Commit a13695dc authored by George Joseph's avatar George Joseph Committed by Gerrit Code Review
Browse files

Merge "chan_sip.c: chan_sip unstable with TLS after asterisk start or reloads"

parents 6658b70b 406be41f
No related branches found
No related tags found
No related merge requests found
...@@ -2617,7 +2617,8 @@ static int sip_tcptls_write(struct ast_tcptls_session_instance *tcptls_session, ...@@ -2617,7 +2617,8 @@ static int sip_tcptls_write(struct ast_tcptls_session_instance *tcptls_session,
   
ao2_lock(tcptls_session); ao2_lock(tcptls_session);
   
if (!(th = ao2_t_find(threadt, &tmp, OBJ_POINTER, "ao2_find, getting sip_threadinfo in tcp helper thread")) || if (!tcptls_session->stream ||
!(th = ao2_t_find(threadt, &tmp, OBJ_POINTER, "ao2_find, getting sip_threadinfo in tcp helper thread")) ||
!(packet = ao2_alloc(sizeof(*packet), tcptls_packet_destructor)) || !(packet = ao2_alloc(sizeof(*packet), tcptls_packet_destructor)) ||
!(packet->data = ast_str_create(len))) { !(packet->data = ast_str_create(len))) {
goto tcptls_write_setup_error; goto tcptls_write_setup_error;
...@@ -3139,7 +3140,7 @@ static void *_sip_tcp_helper_thread(struct ast_tcptls_session_instance *tcptls_s ...@@ -3139,7 +3140,7 @@ static void *_sip_tcp_helper_thread(struct ast_tcptls_session_instance *tcptls_s
   
if (read(me->alert_pipe[0], &alert, sizeof(alert)) == -1) { if (read(me->alert_pipe[0], &alert, sizeof(alert)) == -1) {
ast_log(LOG_ERROR, "read() failed: %s\n", strerror(errno)); ast_log(LOG_ERROR, "read() failed: %s\n", strerror(errno));
continue; goto cleanup;
} }
   
switch (alert) { switch (alert) {
...@@ -3157,10 +3158,13 @@ static void *_sip_tcp_helper_thread(struct ast_tcptls_session_instance *tcptls_s ...@@ -3157,10 +3158,13 @@ static void *_sip_tcp_helper_thread(struct ast_tcptls_session_instance *tcptls_s
ast_log(LOG_WARNING, "Failure to write to tcp/tls socket\n"); ast_log(LOG_WARNING, "Failure to write to tcp/tls socket\n");
} }
ao2_t_ref(packet, -1, "tcptls packet sent, this is no longer needed"); ao2_t_ref(packet, -1, "tcptls packet sent, this is no longer needed");
} else {
goto cleanup;
} }
break; break;
default: default:
ast_log(LOG_ERROR, "Unknown tcptls thread alert '%u'\n", alert); ast_log(LOG_ERROR, "Unknown tcptls thread alert '%u'\n", alert);
goto cleanup;
} }
} }
} }
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment