diff options
author | Benny Prijono <bennylp@teluu.com> | 2007-10-15 07:04:59 +0000 |
---|---|---|
committer | Benny Prijono <bennylp@teluu.com> | 2007-10-15 07:04:59 +0000 |
commit | 4b289329774686a3e261fac70fbd902942cb9b1f (patch) | |
tree | 2afebdecbce79f65ab386003be09649736665f7a /pjsip/src/pjsua-lib/pjsua_acc.c | |
parent | cee3cd46bbeec0bb7e76a5480e7cad9ee2f8cda5 (diff) |
Continuing ticket #396: tested digest AKAv1, implemented AKAv2, and some works in the authentication framework to support it
git-svn-id: http://svn.pjsip.org/repos/pjproject/trunk@1500 74dad513-b988-da41-8d7b-12977e46ad98
Diffstat (limited to 'pjsip/src/pjsua-lib/pjsua_acc.c')
-rw-r--r-- | pjsip/src/pjsua-lib/pjsua_acc.c | 21 |
1 files changed, 21 insertions, 0 deletions
diff --git a/pjsip/src/pjsua-lib/pjsua_acc.c b/pjsip/src/pjsua-lib/pjsua_acc.c index 07cba74f..482d6bbe 100644 --- a/pjsip/src/pjsua-lib/pjsua_acc.c +++ b/pjsip/src/pjsua-lib/pjsua_acc.c @@ -737,6 +737,27 @@ PJ_DEF(pj_status_t) pjsua_acc_set_registration( pjsua_acc_id acc_id, status = pjsip_regc_register(pjsua_var.acc[acc_id].regc, 1, &tdata); + if (0 && status == PJ_SUCCESS && pjsua_var.acc[acc_id].cred_cnt) { + pjsua_acc *acc = &pjsua_var.acc[acc_id]; + pjsip_authorization_hdr *h; + char *uri; + int d; + + uri = (char*) pj_pool_alloc(tdata->pool, acc->cfg.reg_uri.slen+10); + d = pjsip_uri_print(PJSIP_URI_IN_REQ_URI, tdata->msg->line.req.uri, + uri, acc->cfg.reg_uri.slen+10); + pj_assert(d > 0); + + h = pjsip_authorization_hdr_create(tdata->pool); + h->scheme = pj_str("Digest"); + h->credential.digest.username = acc->cred[0].username; + h->credential.digest.realm = acc->srv_domain; + h->credential.digest.uri = pj_str(uri); + h->credential.digest.algorithm = pj_str("md5"); + + pjsip_msg_add_hdr(tdata->msg, (pjsip_hdr*)h); + } + } else { if (pjsua_var.acc[acc_id].regc == NULL) { PJ_LOG(3,(THIS_FILE, "Currently not registered")); |