remote_provisioning: free URI in linphone_core_set_provisioning_uri when we are done with it

parent 53dcc192
......@@ -28,7 +28,7 @@ linphone-3.8.2 -- May 7th, 2015
* add support of the StatusNotifierItem standard to display a status icon on KDE5
* auto-answering can be set through the preferences panel
* bug fixes
Liblinphone level improvements:
* fix audio bug with opus codec
* fix ICE corner case not properly handled and resulting bad final ice status
......@@ -76,14 +76,14 @@ linphone-3.7.0 -- February 20th, 2014
* Keyboard can be used for DTMF input
* Faster and higly responsive UI thanks to fully asynchronous operation of the liblinphone.
* Addon of opus codec
* Possibility to specify a remote provisionning http URI for configuration
* Possibility to specify a remote provisioning http URI for configuration
* LDAP search integration for Linux and MacOSX
* is-composing notification in chat area
* is-composing notification in chat area
Liblinphone level improvements thanks to new "belle-sip" SIP stack:
* multiple SIP transports simultaneously now allowed
* IP dual stack: can use IPv6 and IPv4 simultaneously
* fully asynchronous behavior: no more lengthly DNS or connections
* fully asynchronous behavior: no more lengthly DNS or connections
* +sip.instance parameter (RFC5626)
* alias parameter (RFC5923)
* better management of network disconnections
......@@ -101,7 +101,7 @@ linphone-3.7.0 -- February 20th, 2014
linphone-3.6.1 -- June 17, 2013
* fix memory leak with some video cameras on windows.
Requires: mediastreamer2 = 2.9.1 and ortp = 0.22.0
linphone-3.6.0 -- May 27, 2013
......@@ -166,9 +166,9 @@ linphone-3.4.1 -- February 17th, 2011
Requires mediastreamer-2.7.1
linphone-3.4.0 -- February 7th, 2011
* implement multiple calls feature:
* implement multiple calls feature:
- call hold (with possibility to play a music file)
- call resume
- call resume
- acceptance of 2nd call while putting the others on hold
- creation of another outgoing call while already in call
- blind call transfer
......@@ -339,7 +339,7 @@ linphone-1.4.1 -- September 18, 2006
* do not change mixer settings at startup
linphone-1.4.0 -- September 11, 2006
* no more glib dependency at all
* no more glib dependency at all
* new mediastreamer2 framework for audio/video streaming
* stable video support with H.263-1998
* echo cancelation
......
......@@ -3926,7 +3926,7 @@ typedef void (*ContactSearchCallback)( LinphoneContactSearch* id, MSList* friend
* Calling this function does not load the configuration. It will write the value into configuration so that configuration
* from remote URI will take place at next LinphoneCore start.
* @param lc the linphone core
* @param uri the http or https uri to use in order to download the configuration. Passing NULL will disable remote provisionning.
* @param uri the http or https uri to use in order to download the configuration. Passing NULL will disable remote provisioning.
* @return -1 if uri could not be parsed, 0 otherwise. Note that this does not check validity of URI endpoint nor scheme and download may still fail.
* @ingroup initializing
**/
......
......@@ -108,8 +108,10 @@ int linphone_remote_provisioning_download_and_apply(LinphoneCore *lc, const char
if( scheme && (strcmp(scheme,"file") == 0) ){
// We allow for 'local remote-provisioning' in case the file is to be opened from the hard drive.
const char* file_path = remote_provisioning_uri + strlen("file://"); // skip scheme
if (uri) {
belle_sip_object_unref(uri);
}
return linphone_remote_provisioning_load_file(lc, file_path);
} else if( scheme && strncmp(scheme, "http", 4) == 0 && host && strlen(host) > 0) {
belle_http_request_listener_callbacks_t belle_request_listener={0};
belle_http_request_t *request;
......@@ -122,9 +124,13 @@ int linphone_remote_provisioning_download_and_apply(LinphoneCore *lc, const char
lc->provisioning_http_listener = belle_http_request_listener_create_from_callbacks(&belle_request_listener, lc);
request=belle_http_request_create("GET",uri, NULL);
return belle_http_provider_send_request(lc->http_provider, request, lc->provisioning_http_listener);
} else {
ms_error("Invalid provisioning URI [%s] (missing scheme or host ?)",remote_provisioning_uri);
if (uri) {
belle_sip_object_unref(uri);
}
return -1;
}
}
......@@ -133,6 +139,9 @@ int linphone_core_set_provisioning_uri(LinphoneCore *lc, const char *remote_prov
belle_generic_uri_t *uri=remote_provisioning_uri?belle_generic_uri_parse(remote_provisioning_uri):NULL;
if (!remote_provisioning_uri||uri) {
lp_config_set_string(lc->config,"misc","config-uri",remote_provisioning_uri);
if (uri) {
belle_sip_object_unref(uri);
}
return 0;
}
ms_error("Invalid provisioning URI [%s] (could not be parsed)",remote_provisioning_uri);
......
......@@ -171,7 +171,7 @@
</object>
</child>
<child>
<object class="GtkMenuItem" id="provisionning_item">
<object class="GtkMenuItem" id="provisioning_item">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="label" translatable="yes">Set configuration URI</property>
......
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