Update to 0.0.2

This commit is contained in:
nucleo 2012-03-01 18:53:31 +02:00
parent bd505105c7
commit 1c1c09d41c
2 changed files with 149 additions and 16 deletions

View File

@ -0,0 +1,125 @@
diff --git a/coreapi/linphonecall.c b/coreapi/linphonecall.c
index 31c9cbf..1567221 100644
--- a/coreapi/linphonecall.c
+++ b/coreapi/linphonecall.c
@@ -350,7 +350,7 @@ LinphoneCall * linphone_call_new_incoming(LinphoneCore *lc, LinphoneAddress *fro
we get a chance to discover our nat'd address before answering.*/
call->ping_op=sal_op_new(lc->sal);
from_str=linphone_address_as_string_uri_only(from);
- sal_op_set_route(call->ping_op,sal_op_get_network_origin(op));
+ sal_op_set_route(call->ping_op,sal_op_get_network_origin(call->op));
sal_op_set_user_pointer(call->ping_op,call);
sal_ping(call->ping_op,linphone_core_find_best_identity(lc,from,NULL),from_str);
ms_free(from_str);
diff --git a/coreapi/linphonecore.c b/coreapi/linphonecore.c
index 4fd6c6a..ebdb615 100644
--- a/coreapi/linphonecore.c
+++ b/coreapi/linphonecore.c
@@ -1630,17 +1630,18 @@ static void monitor_network_state(LinphoneCore *lc, time_t curtime){
}
static void proxy_update(LinphoneCore *lc){
- MSList *elem,*next;
ms_list_for_each(lc->sip_conf.proxies,(void (*)(void*))&linphone_proxy_config_update);
- for(elem=lc->sip_conf.deleted_proxies;elem!=NULL;elem=next){
- LinphoneProxyConfig* cfg = (LinphoneProxyConfig*)elem->data;
- next=elem->next;
+ MSList* list=ms_list_copy(lc->sip_conf.deleted_proxies);
+ MSList* copy=list;
+ for(;list!=NULL;list=list->next){
+ LinphoneProxyConfig* cfg = (LinphoneProxyConfig*) list->data;
if (ms_time(NULL) - cfg->deletion_date > 5) {
- lc->sip_conf.deleted_proxies =ms_list_remove_link(lc->sip_conf.deleted_proxies,elem);
+ lc->sip_conf.deleted_proxies =ms_list_remove(lc->sip_conf.deleted_proxies,(void *)cfg);
ms_message("clearing proxy config for [%s]",linphone_proxy_config_get_addr(cfg));
linphone_proxy_config_destroy(cfg);
}
}
+ ms_list_free(copy);
}
static void assign_buddy_info(LinphoneCore *lc, BuddyInfo *info){
diff --git a/coreapi/proxy.c b/coreapi/proxy.c
index a01f1ff..10400f5 100644
--- a/coreapi/proxy.c
+++ b/coreapi/proxy.c
@@ -172,20 +172,16 @@ int linphone_proxy_config_set_route(LinphoneProxyConfig *obj, const char *route)
obj->reg_route=NULL;
}
if (route!=NULL){
- SalAddress *addr;
- char *tmp;
+ LinphoneAddress *addr;
/*try to prepend 'sip:' */
if (strstr(route,"sip:")==NULL){
- tmp=ms_strdup_printf("sip:%s",route);
- }else tmp=ms_strdup(route);
- addr=sal_address_new(tmp);
- if (addr!=NULL){
- sal_address_destroy(addr);
- }else{
- ms_free(tmp);
- tmp=NULL;
- }
- obj->reg_route=tmp;
+ obj->reg_route=ms_strdup_printf("sip:%s",route);
+ }else obj->reg_route=ms_strdup(route);
+ addr=linphone_address_new(obj->reg_route);
+ if (addr==NULL){
+ ms_free(obj->reg_route);
+ obj->reg_route=NULL;
+ }else linphone_address_destroy(addr);
}
return 0;
}
@@ -520,9 +516,11 @@ struct _LinphoneCore * linphone_proxy_config_get_core(const LinphoneProxyConfig
**/
int linphone_core_add_proxy_config(LinphoneCore *lc, LinphoneProxyConfig *cfg){
if (!linphone_proxy_config_check(lc,cfg)) {
+ linphone_proxy_config_destroy(cfg);
return -1;
}
if (ms_list_find(lc->sip_conf.proxies,cfg)!=NULL){
+ linphone_proxy_config_destroy(cfg);
ms_warning("ProxyConfig already entered, ignored.");
return 0;
}
diff --git a/coreapi/sal_eXosip2.c b/coreapi/sal_eXosip2.c
index 1c7fd5b..ace208e 100644
--- a/coreapi/sal_eXosip2.c
+++ b/coreapi/sal_eXosip2.c
@@ -717,8 +717,8 @@ int sal_ping(SalOp *op, const char *from, const char *to){
sal_op_set_from(op,from);
sal_op_set_to(op,to);
- sal_exosip_fix_route(op);
+ /*bug here: eXosip2 does not honor the route argument*/
eXosip_options_build_request (&options, sal_op_get_to(op),
sal_op_get_from(op),sal_op_get_route(op));
if (options){
@@ -2216,10 +2216,10 @@ void sal_address_set_param(SalAddress *u,const char* name,const char* value) {
osip_uri_param_t *param=NULL;
osip_uri_uparam_get_byname(((osip_from_t*)u)->url,(char*)name,&param);
if (param == NULL){
- osip_uri_uparam_add (((osip_from_t*)u)->url,ms_strdup(name),value ? ms_strdup(value) : NULL);
+ osip_uri_uparam_add (((osip_from_t*)u)->url,ms_strdup(name),ms_strdup(value));
} else {
osip_free(param->gvalue);
- param->gvalue=value ? osip_strdup(value) : NULL;
+ param->gvalue=osip_strdup(value);
}
}
diff --git a/coreapi/sal_eXosip2_presence.c b/coreapi/sal_eXosip2_presence.c
index f79866a..4a18c46 100644
--- a/coreapi/sal_eXosip2_presence.c
+++ b/coreapi/sal_eXosip2_presence.c
@@ -92,7 +92,6 @@ int sal_text_send(SalOp *op, const char *from, const char *to, const char *msg){
if (to)
sal_op_set_to(op,to);
- sal_exosip_fix_route(op);
eXosip_lock();
eXosip_message_build_request(&sip,"MESSAGE",sal_op_get_to(op),
sal_op_get_from(op),sal_op_get_route(op));

View File

@ -2,16 +2,22 @@
Name: linphone
Version: 3.5.2
Release: 1%{?dist}
Release: 2%{?dist}
Summary: Phone anywhere in the whole world by using the Internet
Group: Applications/Communications
License: GPLv2+
URL: http://www.linphone.org/
Source0: http://download.savannah.gnu.org/releases/linphone/3.4.x/sources/%{name}-%{version}.tar.gz
Source0: http://download.savannah.gnu.org/releases/linphone/3.5.x/sources/%{name}-%{version}.tar.gz
Patch0: linphone-3.5.1-unusedvar.patch
Patch1: linphone-3.5.1-glib-2.31.patch
# commit d1d6ab83af4152f9fb719d885a2de20bddcfa96a
# Allow building against glib 2.31 and later
Patch1: linphone-3.5.2-glib-2.31.patch
# revert commit 2a5c2296ba555c1401267a4544507e2c6239622e causing regression in 3.5.2
Patch2: linphone-3.5.2-regression.patch
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
@ -45,6 +51,7 @@ BuildRequires: perl(XML::Parser)
BuildRequires: libglade2-devel
BuildRequires: intltool
BuildRequires: doxygen
BuildRequires: ortp-devel >= 1:0.20.0
Requires: ortp%{?_isa} >= 1:0.20.0
@ -76,18 +83,8 @@ Libraries and headers required to develop software with linphone.
%prep
%setup0 -q
%patch0 -p1 -b .unusedvar
%if 0%{?fedora} > 16
%patch1 -p1 -b .glib-2.31
%endif
# g_thread_init has been deprecated since version 2.32 and should not be used in newly-written code.
# This function is no longer necessary. The GLib threading system is automatically initialized at
# the start of your program.
%if 0%{?fedora} >= 17
sed -i '/g_thread_init/d' gtk/main.c
%endif
%patch2 -p1 -b .regression
# remove bundled oRTP
rm -rf oRTP
@ -139,7 +136,13 @@ desktop-file-install --vendor=fedora \
--add-category Telephony \
--add-category GTK \
$RPM_BUILD_ROOT%{_datadir}/applications/%{name}.desktop
rm -f %{buildroot}%{_libdir}/*.la
rm -f $RPM_BUILD_ROOT%{_libdir}/*.la
# move docs to %%doc
mkdir -p doc/linphone doc/mediastreamer
mv $RPM_BUILD_ROOT%{_datadir}/doc/linphone/linphone*/html doc/linphone
mv $RPM_BUILD_ROOT%{_datadir}/doc/mediastreamer/mediastreamer*/html doc/mediastreamer
%clean
rm -rf $RPM_BUILD_ROOT
@ -168,7 +171,7 @@ rm -rf $RPM_BUILD_ROOT
%files devel
%defattr(-,root,root)
%exclude %{_datadir}/tutorials
%doc doc/linphone doc/mediastreamer
%{_includedir}/linphone
%{_includedir}/mediastreamer2
%{_libdir}/liblinphone.so
@ -177,6 +180,11 @@ rm -rf $RPM_BUILD_ROOT
%{_libdir}/pkgconfig/mediastreamer.pc
%changelog
* Mon Feb 27 2012 Alexey Kurov <nucleo@fedoraproject.org> - 3.5.2-2
- install docs in -devel
- update glib-2.31 patch
- revert commit causing regression in 3.5.2
* Wed Feb 22 2012 Alexey Kurov <nucleo@fedoraproject.org> - 3.5.2-1
- linphone-3.5.2