Revision
15655
Author
brian
Date
2009-11-24 10:24:24 -0600 (Tue, 24 Nov 2009)

Log Message

 use profile flag instead 

Modified Paths

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);