From 42654a327cb81973f5aa6a0a3c2c40dd9b2662ef Mon Sep 17 00:00:00 2001 From: Jehan Monnier Date: Wed, 21 Aug 2013 11:29:32 +0200 Subject: [PATCH] add LinphoneReasonUnauthorized --- coreapi/bellesip_sal/sal_op_impl.c | 8 ++++++++ coreapi/linphonecore.c | 2 ++ coreapi/linphonecore.h | 6 ++++-- coreapi/misc.c | 5 +++++ include/sal/sal.h | 3 ++- java/common/org/linphone/core/Reason.java | 4 ++++ tester/register_tester.c | 4 +++- 7 files changed, 28 insertions(+), 4 deletions(-) diff --git a/coreapi/bellesip_sal/sal_op_impl.c b/coreapi/bellesip_sal/sal_op_impl.c index 5fe48f8c3..54a3b56dd 100644 --- a/coreapi/bellesip_sal/sal_op_impl.c +++ b/coreapi/bellesip_sal/sal_op_impl.c @@ -334,6 +334,9 @@ SalReason sal_reason_to_sip_code(SalReason r){ case SalReasonRequestPending: ret=491; break; + case SalReasonUnauthorized: + ret=401; + break; } return ret; } @@ -343,6 +346,11 @@ void sal_compute_sal_errors_from_code(int code ,SalError* sal_err,SalReason* sal case 400: *sal_err=SalErrorUnknown; break; + case 401: + case 407: + *sal_err=SalErrorFailure; + *sal_reason=SalReasonUnauthorized; + break; case 403: *sal_err=SalErrorFailure; *sal_reason=SalReasonForbidden; diff --git a/coreapi/linphonecore.c b/coreapi/linphonecore.c index 3a29eac4c..6a47a8ca5 100644 --- a/coreapi/linphonecore.c +++ b/coreapi/linphonecore.c @@ -5787,6 +5787,8 @@ const char *linphone_reason_to_string(LinphoneReason err){ return "IO error"; case LinphoneReasonDoNotDisturb: return "Do not distrub"; + case LinphoneReasonUnauthorized: + return "Unauthorized"; } return "unknown error"; } diff --git a/coreapi/linphonecore.h b/coreapi/linphonecore.h index f632bf66d..3399402d3 100644 --- a/coreapi/linphonecore.h +++ b/coreapi/linphonecore.h @@ -129,14 +129,16 @@ typedef struct _LinphoneCall LinphoneCall; enum _LinphoneReason{ LinphoneReasonNone, LinphoneReasonNoResponse, /**number_of_LinphoneRegistrationOk<1+(refresh!=0) && retry++ <310) { linphone_core_iterate(lc); - if (counters->number_of_auth_info_requested>0 && late_auth_info) { + if (counters->number_of_auth_info_requested>0 && linphone_proxy_config_get_state(proxy_cfg) == LinphoneRegistrationFailed && late_auth_info) { + if (!linphone_core_get_auth_info_list(lc)) + CU_ASSERT_EQUAL(linphone_proxy_config_get_error(proxy_cfg),LinphoneReasonUnauthorized); info=linphone_auth_info_new(test_username,NULL,test_password,NULL,auth_domain); /*create authentication structure from identity*/ linphone_core_add_auth_info(lc,info); /*add authentication info to LinphoneCore*/ }