[commit] r5838 - in freeswitch/trunk/src: . include mod/endpoints/mod_sofia
Author: anthm Date: Wed Oct 10 19:38:48 2007 New Revision: 5838 Modified: freeswitch/trunk/src/include/switch_xml.h freeswitch/trunk/src/mod/endpoints/mod_sofia/sofia_reg.c freeswitch/trunk/src/switch_xml.c Log: make xtra_params arg instead of just profile name Modified: freeswitch/trunk/src/include/switch_xml.h ============================================================================== --- freeswitch/trunk/src/include/switch_xml.h (original) +++ freeswitch/trunk/src/include/switch_xml.h Wed Oct 10 19:38:48 2007 @@ -324,7 +324,7 @@ switch_xml_t *root, switch_xml_t *domain, switch_xml_t *user, - char *profile_name); + char *xtra_params); ///\brief open a config in the core registry ///\param file_path the name of the config section e.g. modules.conf Modified: freeswitch/trunk/src/mod/endpoints/mod_sofia/sofia_reg.c ============================================================================== --- freeswitch/trunk/src/mod/endpoints/mod_sofia/sofia_reg.c (original) +++ freeswitch/trunk/src/mod/endpoints/mod_sofia/sofia_reg.c Wed Oct 10 19:38:48 2007 @@ -749,7 +749,7 @@ char *sql; switch_xml_t domain, xml = NULL, user, param, xparams; char hexdigest[2 * SU_MD5_DIGEST_SIZE + 1] = ""; - + char *pbuf = NULL; username = realm = nonce = uri = qop = cnonce = nc = response = NULL; if (authorization->au_params) { @@ -816,7 +816,9 @@ free(sql); } - if (switch_xml_locate_user(username, realm, ip, &xml, &domain, &user, profile->name) != SWITCH_STATUS_SUCCESS) { + pbuf = switch_mprintf("profile=%s", profile->name); + + if (switch_xml_locate_user(username, realm, ip, &xml, &domain, &user, pbuf) != SWITCH_STATUS_SUCCESS) { switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_WARNING, "can't find user [%s@%s]\n", username, realm); ret = AUTH_FORBIDDEN; goto end; @@ -964,6 +966,7 @@ if (xml) { switch_xml_free(xml); } + switch_safe_free(pbuf); switch_safe_free(input); switch_safe_free(input2); switch_safe_free(username); Modified: freeswitch/trunk/src/switch_xml.c ============================================================================== --- freeswitch/trunk/src/switch_xml.c (original) +++ freeswitch/trunk/src/switch_xml.c Wed Oct 10 19:38:48 2007 @@ -1246,7 +1246,7 @@ switch_xml_t *root, switch_xml_t *domain, switch_xml_t *user, - char *profile_name) + char *xtra_params) { char params[1024] = ""; switch_status_t status; @@ -1254,7 +1254,13 @@ *user = NULL; *domain = NULL; - snprintf(params, sizeof(params), "user=%s&domain=%s&ip=%s&profile=%s", switch_str_nil(user_name), switch_str_nil(domain_name), switch_str_nil(ip), profile_name); + if (!switch_strlen_zero(xtra_params)) { + snprintf(params, sizeof(params), "user=%s&domain=%s&ip=%s&%s", + switch_str_nil(user_name), switch_str_nil(domain_name), switch_str_nil(ip), xtra_params); + } else { + snprintf(params, sizeof(params), "user=%s&domain=%s&ip=%s", + switch_str_nil(user_name), switch_str_nil(domain_name), switch_str_nil(ip)); + } if ((status = switch_xml_locate_domain(domain_name, params, root, domain)) != SWITCH_STATUS_SUCCESS) { return status; }
participants (1)
-
Freeswitch SVN