diff options
-rw-r--r-- | pjsip/include/pjsip/sip_config.h | 10 | ||||
-rw-r--r-- | pjsip/src/pjsip/sip_auth_aka.c | 5 | ||||
-rw-r--r-- | pjsip/src/pjsip/sip_auth_client.c | 6 |
3 files changed, 21 insertions, 0 deletions
diff --git a/pjsip/include/pjsip/sip_config.h b/pjsip/include/pjsip/sip_config.h index 3d386097..82af631b 100644 --- a/pjsip/include/pjsip/sip_config.h +++ b/pjsip/include/pjsip/sip_config.h @@ -616,6 +616,16 @@ /** + * Specify support for IMS/3GPP digest AKA authentication. + * + * Default: 0 (disabled for now) + */ +#ifndef PJSIP_HAS_DIGEST_AKAV1_AUTH +# define PJSIP_HAS_DIGEST_AKAV1_AUTH 0 +#endif + + +/** * @} */ diff --git a/pjsip/src/pjsip/sip_auth_aka.c b/pjsip/src/pjsip/sip_auth_aka.c index b88ddb7c..a055d3cb 100644 --- a/pjsip/src/pjsip/sip_auth_aka.c +++ b/pjsip/src/pjsip/sip_auth_aka.c @@ -25,6 +25,8 @@ #include <pj/pool.h> #include <pj/string.h> +#if PJSIP_HAS_DIGEST_AKAV1_AUTH + #include "../../third_party/milenage/milenage.h" /* @@ -119,3 +121,6 @@ PJ_DEF(pj_status_t) pjsip_auth_create_akav1( pj_pool_t *pool, return PJ_SUCCESS; } + +#endif /* PJSIP_HAS_DIGEST_AKAV1_AUTH */ + diff --git a/pjsip/src/pjsip/sip_auth_client.c b/pjsip/src/pjsip/sip_auth_client.c index 88cd3e94..0a3049e2 100644 --- a/pjsip/src/pjsip/sip_auth_client.c +++ b/pjsip/src/pjsip/sip_auth_client.c @@ -469,6 +469,12 @@ PJ_DEF(pj_status_t) pjsip_auth_clt_set_credentials( pjsip_auth_clt_sess *sess, * callback must be specified. */ if ((c[i].data_type & EXT_MASK) == PJSIP_CRED_DATA_EXT_AKA) { + +#if !PJSIP_HAS_DIGEST_AKAV1_AUTH + pj_assert(!"PJSIP_HAS_DIGEST_AKAV1_AUTH is not enabled"); + return PJSIP_EAUTHINAKACRED; +#endif + /* Callback must be specified */ PJ_ASSERT_RETURN(c[i].ext.aka.cb != NULL, PJ_EINVAL); |