summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorWang Jian <larkwang@gmail.com>2014-03-28 20:52:47 +0000
committerSimon Kelley <simon@thekelleys.org.uk>2014-03-28 20:52:47 +0000
commit49752b90d5ecdec87933133a3696efc5f60b7a16 (patch)
tree1a64a9c7ed47477e27461708d8f2ddde83d87ef9
parente98bd52e253d0f75bcfd014c59054babd65a8a8e (diff)
downloaddnsmasq-49752b90d5ecdec87933133a3696efc5f60b7a16.tar.gz
Log IPSET actions.v2.69rc2
-rw-r--r--src/cache.c7
-rw-r--r--src/dnsmasq.h1
-rw-r--r--src/rfc1035.c5
3 files changed, 12 insertions, 1 deletions
diff --git a/src/cache.c b/src/cache.c
index 64cfeb1..5cec918 100644
--- a/src/cache.c
+++ b/src/cache.c
@@ -1609,6 +1609,13 @@ void log_query(unsigned int flags, char *name, struct all_addr *addr, char *arg)
source = arg;
verb = "to";
}
+ else if (flags & F_IPSET)
+ {
+ source = "ipset add";
+ dest = name;
+ name = arg;
+ verb = daemon->addrbuff;
+ }
else
source = "cached";
diff --git a/src/dnsmasq.h b/src/dnsmasq.h
index 589461d..3032546 100644
--- a/src/dnsmasq.h
+++ b/src/dnsmasq.h
@@ -436,6 +436,7 @@ struct crec {
#define F_KEYTAG (1u<<23)
#define F_SECSTAT (1u<<24)
#define F_NO_RR (1u<<25)
+#define F_IPSET (1u<<26)
/* Values of uid in crecs with F_CONFIG bit set. */
#define SRC_INTERFACE 0
diff --git a/src/rfc1035.c b/src/rfc1035.c
index 43a06b9..55e6e1c 100644
--- a/src/rfc1035.c
+++ b/src/rfc1035.c
@@ -1102,7 +1102,10 @@ int extract_addresses(struct dns_header *header, size_t qlen, char *name, time_t
{
ipsets_cur = ipsets;
while (*ipsets_cur)
- add_to_ipset(*ipsets_cur++, &addr, flags, 0);
+ {
+ log_query(F_IPSET, name, &addr, *ipsets_cur);
+ add_to_ipset(*ipsets_cur++, &addr, flags, 0);
+ }
}
#endif