This commit is contained in:
Anthony Minessale
2013-07-19 12:03:46 -05:00
parent 2c4f6a3766
commit a6bffd38cb
7 changed files with 91 additions and 92 deletions
+10 -6
View File
@@ -1121,7 +1121,7 @@ void sofia_reg_close_handles(sofia_profile_t *profile)
uint8_t sofia_reg_handle_register(nua_t *nua, sofia_profile_t *profile, nua_handle_t *nh, sip_t const *sip,
sofia_dispatch_event_t *de, sofia_regtype_t regtype, char *key,
uint32_t keylen, switch_event_t **v_event, const char *is_nat, sofia_private_t **sofia_private_p)
uint32_t keylen, switch_event_t **v_event, const char *is_nat, sofia_private_t **sofia_private_p, switch_xml_t *user_xml)
{
sip_to_t const *to = NULL;
sip_from_t const *from = NULL;
@@ -1399,7 +1399,7 @@ uint8_t sofia_reg_handle_register(nua_t *nua, sofia_profile_t *profile, nua_hand
const char *username = "unknown";
const char *realm = reg_host;
if ((auth_res = sofia_reg_parse_auth(profile, authorization, sip, de, sip->sip_request->rq_method_name,
key, keylen, network_ip, v_event, exptime, regtype, to_user, &auth_params, &reg_count)) == AUTH_STALE) {
key, keylen, network_ip, v_event, exptime, regtype, to_user, &auth_params, &reg_count, user_xml)) == AUTH_STALE) {
stale = 1;
}
@@ -2160,7 +2160,7 @@ void sofia_reg_handle_sip_i_register(nua_t *nua, sofia_profile_t *profile, nua_h
is_nat = NULL;
}
sofia_reg_handle_register(nua, profile, nh, sip, de, type, key, sizeof(key), &v_event, is_nat, sofia_private_p);
sofia_reg_handle_register(nua, profile, nh, sip, de, type, key, sizeof(key), &v_event, is_nat, sofia_private_p, NULL);
if (v_event) {
switch_event_destroy(&v_event);
@@ -2467,7 +2467,7 @@ auth_res_t sofia_reg_parse_auth(sofia_profile_t *profile,
size_t nplen,
char *ip,
switch_event_t **v_event,
long exptime, sofia_regtype_t regtype, const char *to_user, switch_event_t **auth_params, long *reg_count)
long exptime, sofia_regtype_t regtype, const char *to_user, switch_event_t **auth_params, long *reg_count, switch_xml_t *user_xml)
{
int indexnum;
const char *cur;
@@ -2891,7 +2891,7 @@ auth_res_t sofia_reg_parse_auth(sofia_profile_t *profile,
skip_auth:
if (first && (ret == AUTH_OK || ret == AUTH_RENEWED)) {
if (v_event) {
if (!v_event) {
switch_event_create_plain(v_event, SWITCH_EVENT_REQUEST_PARAMS);
}
@@ -3023,7 +3023,11 @@ auth_res_t sofia_reg_parse_auth(sofia_profile_t *profile,
switch_event_destroy(&params);
if (user) {
switch_xml_free(user);
if (user_xml) {
*user_xml = user;
} else {
switch_xml_free(user);
}
}
switch_safe_free(input);