Merge pull request #178 in FS/freeswitch from ~RAJESH_FIRESPOTTER.COM/freeswitch-fs-7228:master to master

* commit '5db8a0c16bc75c2f3dd10d7de63d95ab2ef2679f':
  FS-7228 - Max Register Refresh before the Register is challenged for credentials
This commit is contained in:
Mike Jerris 2015-02-10 12:53:13 -06:00
commit 592d07379a
3 changed files with 9 additions and 1 deletions

View File

@ -639,6 +639,7 @@ struct sofia_profile {
unsigned int mndlb;
uint32_t max_calls;
uint32_t nonce_ttl;
uint32_t max_auth_validity;
nua_t *nua;
switch_memory_pool_t *pool;
su_root_t *s_root;

View File

@ -4971,6 +4971,8 @@ switch_status_t config_sofia(sofia_config_t reload, char *profile_name)
}
} else if (!strcasecmp(var, "nonce-ttl")) {
profile->nonce_ttl = atoi(val);
} else if (!strcasecmp(var, "max-auth-validity")) {
profile->max_auth_validity = atoi(val);
} else if (!strcasecmp(var, "accept-blind-reg")) {
if (switch_true(val)) {
sofia_set_pflag(profile, PFLAG_BLIND_REG);
@ -5391,6 +5393,11 @@ switch_status_t config_sofia(sofia_config_t reload, char *profile_name)
profile->nonce_ttl = 60;
}
if (!profile->max_auth_validity) {
switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_INFO, "Setting MAX Auth Validity to 0 Attempts\n");
profile->max_auth_validity = 0;
}
if (!profile->sdp_username) {
profile->sdp_username = switch_core_strdup(profile->pool, "FreeSWITCH");
}

View File

@ -2726,7 +2726,7 @@ auth_res_t sofia_reg_parse_auth(sofia_profile_t *profile,
free(sql);
//if (!sofia_glue_execute_sql2str(profile, profile->dbh_mutex, sql, np, nplen)) {
if (zstr(np)) {
if (zstr(np) || (profile->max_auth_validity != 0 && cb.last_nc >= profile->max_auth_validity )) {
sql = switch_mprintf("delete from sip_authentication where nonce='%q'", nonce);
sofia_glue_execute_sql(profile, &sql, SWITCH_TRUE);
ret = AUTH_STALE;