Commit 1a5169a1 authored by Yann Diorcet's avatar Yann Diorcet

uPnP improvements

Fix mutex lock in the destructor
Add firewall commands in console
parent 936ec61f
......@@ -244,6 +244,8 @@ static LPC_COMMAND commands[] = {
"'firewall none' : use direct connection.\n"
"'firewall nat' : use nat address given with the 'nat' command.\n"
"'firewall stun' : use stun server given with the 'stun' command.\n"
"'firewall ice' : use ice.\n"
"'firewall upnp' : use uPnP IGD.\n"
},
{ "call-logs", lpc_cmd_call_logs, "Calls history", NULL },
{ "friend", lpc_cmd_friend, "Manage friends",
......@@ -850,6 +852,10 @@ lpc_cmd_firewall(LinphoneCore *lc, char *args)
{
linphone_core_set_firewall_policy(lc,LinphonePolicyNoFirewall);
}
else if (strcmp(args,"upnp")==0)
{
linphone_core_set_firewall_policy(lc,LinphonePolicyUseUpnp);
}
else if (strcmp(args,"ice")==0)
{
setting = linphone_core_get_stun_server(lc);
......
......@@ -309,15 +309,14 @@ void linphone_upnp_context_destroy(UpnpContext *lupnp) {
ms_message("uPnP IGD: Wait all pending port bindings ...");
ms_cond_wait(&lupnp->empty_cond, &lupnp->mutex);
}
ms_mutex_unlock(&lupnp->mutex);
if(lupnp->upnp_igd_ctxt != NULL) {
// upnp_igd_destroy is synchronous so the callbacks will be called in the same thread.
// So release the mutex before upnp_igd_destroy call.
ms_mutex_unlock(&lupnp->mutex);
upnp_igd_destroy(lupnp->upnp_igd_ctxt);
ms_mutex_lock(&lupnp->mutex);
lupnp->upnp_igd_ctxt = NULL;
}
/* No more multi threading here */
/* Run one more time configuration update and proxy */
linphone_upnp_update_config(lupnp);
......@@ -345,8 +344,6 @@ void linphone_upnp_context_destroy(UpnpContext *lupnp) {
ms_list_for_each(lupnp->pending_bindings,(void (*)(void*))linphone_upnp_port_binding_release);
lupnp->pending_bindings = ms_list_free(lupnp->pending_bindings);
ms_mutex_unlock(&lupnp->mutex);
ms_mutex_destroy(&lupnp->mutex);
ms_cond_destroy(&lupnp->empty_cond);
......
mediastreamer2 @ 8d85a5de
Subproject commit e033b06a731d0b9bc4e69afc690f6469eae73f66
Subproject commit 8d85a5ded3b18e2d3d4ba22ee75e0f1ef9c0f739
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment