Diff
Modified: freeswitch/trunk/src/mod/endpoints/mod_sofia/mod_sofia.h (15654 => 15655)
--- freeswitch/trunk/src/mod/endpoints/mod_sofia/mod_sofia.h 2009-11-24 16:11:56 UTC (rev 15654)
+++ freeswitch/trunk/src/mod/endpoints/mod_sofia/mod_sofia.h 2009-11-24 16:24:24 UTC (rev 15655)
@@ -201,6 +201,7 @@
PFLAG_SIPCOMPACT,
PFLAG_SQL_IN_TRANS,
PFLAG_PASS_CALLEE_ID,
+ PFLAG_LOG_AUTH_FAIL,
/* No new flags below this line */
PFLAG_MAX
} PFLAGS;
@@ -517,7 +518,6 @@
uint32_t timer_t4;
char *contact_user;
char *local_network;
- int log_auth_failures;
};
struct private_object {
Modified: freeswitch/trunk/src/mod/endpoints/mod_sofia/sofia.c (15654 => 15655)
--- freeswitch/trunk/src/mod/endpoints/mod_sofia/sofia.c 2009-11-24 16:11:56 UTC (rev 15654)
+++ freeswitch/trunk/src/mod/endpoints/mod_sofia/sofia.c 2009-11-24 16:24:24 UTC (rev 15655)
@@ -1888,7 +1888,11 @@
} else if (!strcasecmp(var, "auto-restart")) {
profile->auto_restart = switch_true(val);
} else if (!strcasecmp(var, "log-auth-failures")) {
- profile->log_auth_failures = switch_true(val);
+ if (switch_true(val)) {
+ sofia_set_pflag(profile, PFLAG_LOG_AUTH_FAIL);
+ } else {
+ sofia_clear_pflag(profile, PFLAG_LOG_AUTH_FAIL);
+ }
} else if (!strcasecmp(var, "dtmf-type")) {
if (!strcasecmp(val, "rfc2833")) {
profile->dtmf_type = DTMF_2833;
@@ -2417,7 +2421,6 @@
sofia_set_pflag(profile, PFLAG_PASS_CALLEE_ID);
sofia_set_pflag(profile, PFLAG_MESSAGE_QUERY_ON_FIRST_REGISTER);
sofia_set_pflag(profile, PFLAG_SQL_IN_TRANS);
- profile->log_auth_failures = 0;
for (param = switch_xml_child(settings, "param"); param; param = param->next) {
char *var = (char *) switch_xml_attr_soft(param, "name");
@@ -2446,7 +2449,11 @@
} else if (!strcasecmp(var, "auto-restart")) {
profile->auto_restart = switch_true(val);
} else if (!strcasecmp(var, "log-auth-failures")) {
- profile->log_auth_failures = switch_true(val);
+ if (switch_true(val)) {
+ sofia_set_pflag(profile, PFLAG_LOG_AUTH_FAIL);
+ } else {
+ sofia_clear_pflag(profile, PFLAG_LOG_AUTH_FAIL);
+ }
} else if (!strcasecmp(var, "dtmf-type")) {
if (!strcasecmp(val, "rfc2833")) {
profile->dtmf_type = DTMF_2833;
Modified: freeswitch/trunk/src/mod/endpoints/mod_sofia/sofia_reg.c (15654 => 15655)
--- freeswitch/trunk/src/mod/endpoints/mod_sofia/sofia_reg.c 2009-11-24 16:11:56 UTC (rev 15654)
+++ freeswitch/trunk/src/mod/endpoints/mod_sofia/sofia_reg.c 2009-11-24 16:24:24 UTC (rev 15655)
@@ -976,7 +976,7 @@
nua_respond(nh, SIP_403_FORBIDDEN, NUTAG_WITH_THIS(nua), TAG_END());
/* Log line added to support Fail2Ban */
- if ( profile->log_auth_failures ) {
+ if (sofia_test_pflag(profile, PFLAG_LOG_AUTH_FAIL)) {
if (regtype == REG_REGISTER) {
switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_WARNING, "SIP auth failure (REGISTER) on sofia profile '%s' "
"for [%s@%s] from ip %s\n", profile->name, to_user, to_host, network_ip);