Log IPSET actions.
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 @@
       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 @@
 #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 @@
 			{
 			  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