summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--pjsip/include/pjsip/sip_config.h10
-rw-r--r--pjsip/src/pjsip/sip_auth_aka.c5
-rw-r--r--pjsip/src/pjsip/sip_auth_client.c6
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);