]> git.ipfire.org Git - thirdparty/freeswitch.git/commitdiff
use profile flag instead
authorBrian West <brian@freeswitch.org>
Tue, 24 Nov 2009 16:24:24 +0000 (16:24 +0000)
committerBrian West <brian@freeswitch.org>
Tue, 24 Nov 2009 16:24:24 +0000 (16:24 +0000)
git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@15655 d0543943-73ff-0310-b7d9-9358b9ac24b2

src/mod/endpoints/mod_sofia/mod_sofia.h
src/mod/endpoints/mod_sofia/sofia.c
src/mod/endpoints/mod_sofia/sofia_reg.c

index d5bce2b937b764ed592a9547528cae45a0154448..90b966e6679b4533d5612e2e914ae4fe4ea0b737 100644 (file)
@@ -201,6 +201,7 @@ typedef enum {
        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 @@ struct sofia_profile {
        uint32_t timer_t4;
        char *contact_user;
        char *local_network;
-       int log_auth_failures;
 };
 
 struct private_object {
index 8a7c0f51a1ebc119fe1c3fc252c7501935d358bd..2fb3d11d0ad8c24f8f56216fec166124baafe1d0 100644 (file)
@@ -1888,7 +1888,11 @@ switch_status_t reconfig_sofia(sofia_profile_t *profile)
                                        } 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 @@ switch_status_t config_sofia(int reload, char *profile_name)
                                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 @@ switch_status_t config_sofia(int reload, char *profile_name)
                                        } 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;
index afccc8fab399a3c534ac61bfc237b11f4e3e278a..e2935d88a7678dc2a4ece699d22ba35e5516fbcb 100644 (file)
@@ -976,7 +976,7 @@ uint8_t sofia_reg_handle_register(nua_t *nua, sofia_profile_t *profile, nua_hand
                                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);