Module: sip-router Branch: master Commit: 7fffcebb7ec85bfdffd3712b8f7d8ee91575fe22 URL: http://git.sip-router.org/cgi-bin/gitweb.cgi/sip-router/?a=commit;h=7fffcebb...
Author: Olle E. Johansson oej@edvina.net Committer: Olle E. Johansson oej@edvina.net 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*);