]> git.ipfire.org Git - people/ms/dnsmasq.git/commitdiff
Log IPSET actions.
authorWang Jian <larkwang@gmail.com>
Fri, 28 Mar 2014 20:52:47 +0000 (20:52 +0000)
committerSimon Kelley <simon@thekelleys.org.uk>
Fri, 28 Mar 2014 20:52:47 +0000 (20:52 +0000)
src/cache.c
src/dnsmasq.h
src/rfc1035.c

index 64cfeb188eb9d777d679c7384b3977fed14de3da..5cec918881912b53ba9b1ff52826a3079aa4cf3b 100644 (file)
@@ -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";
   
index 589461d3f601460e5ddec393adaa731813e30e94..3032546a3a59e52a3129e1ca36f1a7eaffcc08d1 100644 (file)
@@ -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
index 43a06b986dc5d744bf0ed80a26dfca47f053910e..55e6e1c1fbec209cf87ca9ea87e5b9629337a6f8 100644 (file)
@@ -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