Module: sip-router
Branch: master
Commit: 7fffcebb7ec85bfdffd3712b8f7d8ee91575fe22
URL:    
http://git.sip-router.org/cgi-bin/gitweb.cgi/sip-router/?a=commit;h=7fffcebb7ec85bfdffd3712b8f7d8ee91575fe22

Author: Olle E. Johansson <[email protected]>
Committer: Olle E. Johansson <[email protected]>
Date:   Wed Apr  3 21:55:47 2013 +0200

pike Add counter for blocked IP addresses

---

 modules/pike/pike.c       |    3 +++
 modules/pike/pike_funcs.c |    9 +++++++++
 modules/pike/pike_funcs.h |    1 +
 3 files changed, 13 insertions(+), 0 deletions(-)

diff --git a/modules/pike/pike.c b/modules/pike/pike.c
index 3b23a94..5d34659 100644
--- a/modules/pike/pike.c
+++ b/modules/pike/pike.c
@@ -154,6 +154,9 @@ static int pike_init(void)
        register_timer( clean_routine , 0, 1 );
        register_timer( swap_routine , 0, time_unit );
 
+       /* Register counter */
+       pike_counter_init();
+
        return 0;
 error3:
        destroy_ip_tree();
diff --git a/modules/pike/pike_funcs.c b/modules/pike/pike_funcs.c
index ba69756..009bb68 100644
--- a/modules/pike/pike_funcs.c
+++ b/modules/pike/pike_funcs.c
@@ -43,6 +43,7 @@
 #include "../../timer.h"
 #include "../../ip_addr.h"
 #include "../../resolve.h"
+#include "../../counters.h"
 #include "ip_tree.h"
 #include "pike_funcs.h"
 #include "timer.h"
@@ -55,6 +56,13 @@ extern struct list_link* timer;
 extern int               timeout;
 extern int               pike_log_level;
 
+counter_handle_t blocked;
+
+void pike_counter_init()
+{
+       counter_register(&blocked, "pike", "blocked_ips", 0, 0, 0, "Counter of 
blocked IP addresses", 0);
+}
+
 
 
 int pike_check_req(struct sip_msg *msg, char *foo, char *bar)
@@ -154,6 +162,7 @@ int pike_check_req(struct sip_msg *msg, char *foo, char 
*bar)
                if (flags&NEWRED_NODE) {
                        LM_GEN1( pike_log_level,
                                "PIKE - BLOCKing ip %s, 
node=%p\n",ip_addr2a(ip),node);
+                       counter_inc(blocked);
                        return -2;
                }
                return -1;
diff --git a/modules/pike/pike_funcs.h b/modules/pike/pike_funcs.h
index e0f6e5a..1c8beb3 100644
--- a/modules/pike/pike_funcs.h
+++ b/modules/pike/pike_funcs.h
@@ -28,6 +28,7 @@
 #include "../../locking.h"
 
 
+void pike_counter_init(void);
 int  pike_check_req(struct sip_msg *msg, char *foo, char *bar);
 void clean_routine(unsigned int, void*);
 void swap_routine(unsigned int, void*);


_______________________________________________
sr-dev mailing list
[email protected]
http://lists.sip-router.org/cgi-bin/mailman/listinfo/sr-dev

Reply via email to