Browse Source

pike Add counter for blocked IP addresses

Olle E. Johansson 12 years ago
parent
commit
7fffcebb7e
3 changed files with 13 additions and 0 deletions
  1. 3 0
      modules/pike/pike.c
  2. 9 0
      modules/pike/pike_funcs.c
  3. 1 0
      modules/pike/pike_funcs.h

+ 3 - 0
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();

+ 9 - 0
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;

+ 1 - 0
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*);