From 24fe76b85d75f4ac15a5f79a9e1e220a40e2148a Mon Sep 17 00:00:00 2001 From: Anthony Minessale Date: Mon, 14 Apr 2008 16:29:56 +0000 Subject: [PATCH] doh git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@8106 d0543943-73ff-0310-b7d9-9358b9ac24b2 --- src/mod/endpoints/mod_sofia/sofia_reg.c | 13 +++++-------- 1 file changed, 5 insertions(+), 8 deletions(-) diff --git a/src/mod/endpoints/mod_sofia/sofia_reg.c b/src/mod/endpoints/mod_sofia/sofia_reg.c index 9732ede866..b6e1452a53 100644 --- a/src/mod/endpoints/mod_sofia/sofia_reg.c +++ b/src/mod/endpoints/mod_sofia/sofia_reg.c @@ -228,7 +228,6 @@ void sofia_reg_expire_call_id(sofia_profile_t *profile, const char *call_id) void sofia_reg_check_expire(sofia_profile_t *profile, time_t now) { char sql[1024]; - char *psql = sql; #ifdef SWITCH_HAVE_ODBC if (profile->odbc_dsn) { @@ -265,17 +264,15 @@ void sofia_reg_check_expire(sofia_profile_t *profile, time_t now) switch_snprintf(sql, sizeof(sql), "delete from sip_registrations where expires > 0"); } - sofia_glue_actually_execute_sql(profile, SWITCH_FALSE, psql, NULL); - switch_safe_free(psql); - + sofia_glue_actually_execute_sql(profile, SWITCH_FALSE, sql, NULL); + if (now) { switch_snprintf(sql, sizeof(sql), "delete from sip_authentication where expires > 0 and expires <= %ld", (long) now); } else { switch_snprintf(sql, sizeof(sql), "delete from sip_authentication where expires > 0"); } - sofia_glue_actually_execute_sql(profile, SWITCH_FALSE, psql, NULL); - switch_safe_free(psql); + sofia_glue_actually_execute_sql(profile, SWITCH_FALSE, sql, NULL); if (now) { switch_snprintf(sql, sizeof(sql), "delete from sip_subscriptions where expires > 0 and expires <= %ld", (long) now); @@ -283,8 +280,8 @@ void sofia_reg_check_expire(sofia_profile_t *profile, time_t now) switch_snprintf(sql, sizeof(sql), "delete from sip_subscriptions where expires > 0"); } - sofia_glue_actually_execute_sql(profile, SWITCH_FALSE, psql, NULL); - switch_safe_free(psql); + sofia_glue_actually_execute_sql(profile, SWITCH_FALSE, sql, NULL); + if (now) { switch_snprintf(sql, sizeof(sql), "select * from sip_registrations where status like '%%NATHACK%%'");