summaryrefslogtreecommitdiff
path: root/zwgc
diff options
context:
space:
mode:
Diffstat (limited to 'zwgc')
-rw-r--r--zwgc/main.c15
1 files changed, 14 insertions, 1 deletions
diff --git a/zwgc/main.c b/zwgc/main.c
index 83413da..c4d1e42 100644
--- a/zwgc/main.c
+++ b/zwgc/main.c
@@ -325,8 +325,21 @@ void notice_handler(notice)
ZNotice_t *notice;
{
struct hostent *fromhost = NULL;
+ char *resolved_addresses;
+ int bool_result;
+
+ resolved_addresses = ZGetVariable("resolved_addresses");
+ if (!resolved_addresses)
+ bool_result = 0;
+ else if (!strcmp(resolved_addresses, "all"))
+ bool_result = 1;
+ else if (!strcmp(resolved_addresses, "none"))
+ bool_result = 0;
+ else
+ bool_result = ed_regexp_match_p(inet_ntoa(notice->z_sender_addr),
+ resolved_addresses);
- if (notice->z_sender_addr.s_addr) {
+ if (notice->z_sender_addr.s_addr && bool_result) {
#ifdef HAVE_ARES
ares_gethostbyaddr(achannel, &(notice->z_sender_addr),
sizeof(notice->z_sender_addr), AF_INET,