Support DHCP DNS server option if we're not doing DNS.
diff --git a/CHANGELOG b/CHANGELOG
index e4621ff..649b972 100644
--- a/CHANGELOG
+++ b/CHANGELOG
@@ -26,6 +26,10 @@
 	    on other platforms. Many thanks to Tomas Hozza for
 	    spotting the problem, and doing invaluable discovery of
 	    the obscure and undocumented API required for the solution.
+
+	    Don't send the default DHCP option advertising dnsmasq as
+	    the local DNS server if dnsmasq is configured to not act
+	    as DNS server, or it's configured to a non-standard port.
   
 
 version 2.65
diff --git a/src/rfc2131.c b/src/rfc2131.c
index bbd4001..fcb8dc5 100644
--- a/src/rfc2131.c
+++ b/src/rfc2131.c
@@ -2234,7 +2234,8 @@
 	  !option_find2(OPTION_ROUTER))
 	option_put(mess, end, OPTION_ROUTER, INADDRSZ, ntohl(context->router.s_addr));
       
-      if (in_list(req_options, OPTION_DNSSERVER) &&
+      if (daemon->port == NAMESERVER_PORT &&
+	  in_list(req_options, OPTION_DNSSERVER) &&
 	  !option_find2(OPTION_DNSSERVER))
 	option_put(mess, end, OPTION_DNSSERVER, INADDRSZ, ntohl(context->local.s_addr));
     }
diff --git a/src/rfc3315.c b/src/rfc3315.c
index 2e1c766..75ec06b 100644
--- a/src/rfc3315.c
+++ b/src/rfc3315.c
@@ -1265,7 +1265,7 @@
       end_opt6(o);
     }
   
-  if (!done_dns && 
+  if (daemon->port == NAMESERVER_PORT && !done_dns && 
       (!IN6_IS_ADDR_UNSPECIFIED(&context->local6) ||
        !IN6_IS_ADDR_UNSPECIFIED(fallback)))
     {