From 5f45d36036582f9f8201c5f5bfdb926c50315063 Mon Sep 17 00:00:00 2001 From: Simon Morlat <simon.morlat@linphone.org> Date: Wed, 2 Feb 2011 16:14:16 +0100 Subject: [PATCH] fix unauthicated notifies --- coreapi/sal_eXosip2.c | 4 ++++ coreapi/sal_eXosip2.h | 1 + coreapi/sal_eXosip2_presence.c | 3 ++- linphone-deps.filelist | 6 +++--- 4 files changed, 10 insertions(+), 4 deletions(-) diff --git a/coreapi/sal_eXosip2.c b/coreapi/sal_eXosip2.c index 6c10d4c893..e2d5282778 100644 --- a/coreapi/sal_eXosip2.c +++ b/coreapi/sal_eXosip2.c @@ -841,6 +841,9 @@ static SalOp *find_op(Sal *sal, eXosip_event_t *ev){ if (ev->sid>0){ return sal_find_out_subscribe(sal,ev->sid); } + if (ev->nid>0){ + return sal_find_in_subscribe(sal,ev->nid); + } if (ev->response) return sal_find_other(sal,ev->response); return NULL; } @@ -1791,6 +1794,7 @@ static bool_t process_event(Sal *sal, eXosip_event_t *ev){ other_request_reply(sal,ev); break; case EXOSIP_MESSAGE_REQUESTFAILURE: + case EXOSIP_NOTIFICATION_REQUESTFAILURE: if (ev->response) { switch (ev->response->status_code) { case 407: diff --git a/coreapi/sal_eXosip2.h b/coreapi/sal_eXosip2.h index c60a812810..4db203362f 100644 --- a/coreapi/sal_eXosip2.h +++ b/coreapi/sal_eXosip2.h @@ -79,6 +79,7 @@ void sal_exosip_subscription_closed(Sal *sal,eXosip_event_t *ev); void sal_exosip_in_subscription_closed(Sal *sal, eXosip_event_t *ev); SalOp * sal_find_out_subscribe(Sal *sal, int sid); +SalOp * sal_find_in_subscribe(Sal *sal, int nid); void sal_exosip_fix_route(SalOp *op); void _osip_list_set_empty(osip_list_t *l, void (*freefunc)(void*)); diff --git a/coreapi/sal_eXosip2_presence.c b/coreapi/sal_eXosip2_presence.c index 154c8d07ea..52b1485a92 100644 --- a/coreapi/sal_eXosip2_presence.c +++ b/coreapi/sal_eXosip2_presence.c @@ -50,7 +50,7 @@ void sal_remove_out_subscribe(Sal *sal, SalOp *op){ sal->out_subscribes=ms_list_remove(sal->out_subscribes,op); } -static SalOp * sal_find_in_subscribe(Sal *sal, int nid){ +SalOp * sal_find_in_subscribe(Sal *sal, int nid){ const MSList *elem; SalOp *op; for(elem=sal->in_subscribes;elem!=NULL;elem=elem->next){ @@ -569,6 +569,7 @@ int sal_notify_presence(SalOp *op, SalPresenceStatus status, const char *status_ if (msg!=NULL){ const char *identity=sal_op_get_contact(op); if (identity==NULL) identity=sal_op_get_to(op); + _osip_list_set_empty(&msg->contacts,(void (*)(void*))osip_contact_free); osip_message_set_contact(msg,identity); add_presence_body(msg,status); eXosip_insubscription_send_request(op->did,msg); diff --git a/linphone-deps.filelist b/linphone-deps.filelist index 1cfc61b073..19ea6ecdee 100755 --- a/linphone-deps.filelist +++ b/linphone-deps.filelist @@ -1,10 +1,10 @@ ./bin/avcodec-52.dll ./bin/avutil-50.dll -./bin/libeXosip2-4.dll +./bin/libeXosip2-6.dll ./bin/libogg.dll ./bin/libtheora.dll ./bin/libxml2-2.dll -./bin/libosip2-4.dll -./bin/libosipparser2-4.dll +./bin/libosip2-6.dll +./bin/libosipparser2-6.dll ./bin/swscale-0.dll -- GitLab