Here is an update to dnsmasq 2.63. Tested on i386 with DNS, DHCPv4 and RA.
Index: Makefile =================================================================== RCS file: /home/cvs/ports/net/dnsmasq/Makefile,v retrieving revision 1.26 diff -u -p -r1.26 Makefile --- Makefile 14 Jun 2012 13:39:44 -0000 1.26 +++ Makefile 18 Aug 2012 05:11:31 -0000 @@ -4,10 +4,10 @@ NOT_FOR_ARCHS= ${GCC2_ARCHS} COMMENT= lightweight caching DNS forwarder, DHCP and TFTP server -DISTNAME= dnsmasq-2.62 -REVISION= 0 +DISTNAME= dnsmasq-2.63 CATEGORIES= net MASTER_SITES= http://www.thekelleys.org.uk/dnsmasq/ +EXTRACT_SUFX= .tar.xz HOMEPAGE= http://www.thekelleys.org.uk/dnsmasq/doc.html Index: distinfo =================================================================== RCS file: /home/cvs/ports/net/dnsmasq/distinfo,v retrieving revision 1.18 diff -u -p -r1.18 distinfo --- distinfo 8 Jun 2012 14:26:22 -0000 1.18 +++ distinfo 18 Aug 2012 05:12:04 -0000 @@ -1,5 +1,2 @@ -MD5 (dnsmasq-2.62.tar.gz) = 9H5cuPW6xjQ/JLLb4xerQA== -RMD160 (dnsmasq-2.62.tar.gz) = i3zYkKhr+x7KUE+g5DakQSfqSV8= -SHA1 (dnsmasq-2.62.tar.gz) = wBFTGoqSs17eOHUlKTv9+TsgEDk= -SHA256 (dnsmasq-2.62.tar.gz) = LytOQGLzvsNan9ZjYpXyL+BCskOLIwXhpXAxTyQ/8hA= -SIZE (dnsmasq-2.62.tar.gz) = 531616 +SHA256 (dnsmasq-2.63.tar.xz) = 9escLf1HosdbDUCmD4Xc4uhMavbRzVMY++jNaYRe0tg= +SIZE (dnsmasq-2.63.tar.xz) = 378148 Index: patches/patch-man_dnsmasq_8 =================================================================== RCS file: /home/cvs/ports/net/dnsmasq/patches/patch-man_dnsmasq_8,v retrieving revision 1.12 diff -u -p -r1.12 patch-man_dnsmasq_8 --- patches/patch-man_dnsmasq_8 8 Jun 2012 14:26:22 -0000 1.12 +++ patches/patch-man_dnsmasq_8 11 Aug 2012 16:08:55 -0000 @@ -1,6 +1,6 @@ $OpenBSD: patch-man_dnsmasq_8,v 1.12 2012/06/08 14:26:22 ajacoutot Exp $ ---- man/dnsmasq.8.orig Tue May 29 12:06:02 2012 -+++ man/dnsmasq.8 Thu May 31 00:12:54 2012 +--- man/dnsmasq.8.orig Fri Aug 10 12:10:54 2012 ++++ man/dnsmasq.8 Sat Aug 11 12:08:45 2012 @@ -113,13 +113,12 @@ Specify an alternate path for dnsmasq to record its pr .TP .B \-u, --user=<username> @@ -17,7 +17,7 @@ $OpenBSD: patch-man_dnsmasq_8,v 1.12 201 .TP .B \-v, --version Print the version number. -@@ -1436,7 +1435,7 @@ with # are always skipped. This flag may be given on t +@@ -1448,7 +1447,7 @@ with # are always skipped. This flag may be given on t line or in a configuration file. .SH CONFIG FILE At startup, dnsmasq reads @@ -26,7 +26,7 @@ $OpenBSD: patch-man_dnsmasq_8,v 1.12 201 if it exists. (On FreeBSD, the file is .I /usr/local/etc/dnsmasq.conf -@@ -1754,7 +1753,7 @@ dnsmasq has no direct way of determining the charset i +@@ -1720,7 +1719,7 @@ dnsmasq has no direct way of determining the charset i assume that it is the system default. .SH FILES Index: patches/patch-src_bpf_c =================================================================== RCS file: patches/patch-src_bpf_c diff -N patches/patch-src_bpf_c --- patches/patch-src_bpf_c 25 Jun 2012 14:06:26 -0000 1.3 +++ /dev/null 1 Jan 1970 00:00:00 -0000 @@ -1,11 +0,0 @@ -$OpenBSD: patch-src_bpf_c,v 1.3 2012/06/25 14:06:26 naddy Exp $ ---- src/bpf.c.orig Mon Jun 25 07:44:01 2012 -+++ src/bpf.c Mon Jun 25 07:45:08 2012 -@@ -20,6 +20,7 @@ - #include <ifaddrs.h> - - #if defined(HAVE_BSD_NETWORK) && !defined(__APPLE__) -+#include <sys/param.h> - #include <sys/sysctl.h> - #include <net/route.h> - #include <net/if_dl.h> Index: patches/patch-src_config_h =================================================================== RCS file: /home/cvs/ports/net/dnsmasq/patches/patch-src_config_h,v retrieving revision 1.9 diff -u -p -r1.9 patch-src_config_h --- patches/patch-src_config_h 30 Apr 2012 06:02:51 -0000 1.9 +++ patches/patch-src_config_h 7 Aug 2012 17:53:09 -0000 @@ -1,9 +1,9 @@ $OpenBSD: patch-src_config_h,v 1.9 2012/04/30 06:02:51 ajacoutot Exp $ ---- src/config.h.orig Sun Apr 29 11:01:28 2012 -+++ src/config.h Sun Apr 29 14:09:15 2012 -@@ -35,8 +35,8 @@ +--- src/config.h.orig Mon Aug 6 15:12:04 2012 ++++ src/config.h Tue Aug 7 13:53:00 2012 +@@ -34,8 +34,8 @@ + #define HOSTSFILE "/etc/hosts" #define ETHERSFILE "/etc/ethers" - #define RUNFILE "/var/run/dnsmasq.pid" #define DEFLEASE 3600 /* default lease time, 1 hour */ -#define CHUSER "nobody" -#define CHGRP "dip" @@ -12,7 +12,7 @@ $OpenBSD: patch-src_config_h,v 1.9 2012/ #define TFTP_MAX_CONNECTIONS 50 /* max simultaneous connections */ #define LOG_MAX 5 /* log-queue length */ #define RANDFILE "/dev/urandom" -@@ -146,7 +146,7 @@ RESOLVFILE +@@ -145,7 +145,7 @@ RESOLVFILE # if defined(__FreeBSD__) # define CONFFILE "/usr/local/etc/dnsmasq.conf" # else Index: patches/patch-src_network_c =================================================================== RCS file: patches/patch-src_network_c diff -N patches/patch-src_network_c --- patches/patch-src_network_c 14 Jun 2012 13:39:44 -0000 1.1 +++ /dev/null 1 Jan 1970 00:00:00 -0000 @@ -1,15 +0,0 @@ -$OpenBSD: patch-src_network_c,v 1.1 2012/06/14 13:39:44 ajacoutot Exp $ - -Correct listener logic when no TFTP and no-interface listen address. - ---- src/network.c.orig Thu Jun 14 01:03:06 2012 -+++ src/network.c Thu Jun 14 01:03:29 2012 -@@ -546,7 +546,7 @@ void create_bound_listeners(int dienow) - - for (if_tmp = daemon->if_addrs; if_tmp; if_tmp = if_tmp->next) - if (!if_tmp->used && -- (new = create_listeners(&if_tmp->addr, 1, dienow))) -+ (new = create_listeners(&if_tmp->addr, daemon->tftp_unlimited, dienow))) - { - new->iface = NULL; - new->next = daemon->listeners; Index: patches/patch-src_option_c =================================================================== RCS file: patches/patch-src_option_c diff -N patches/patch-src_option_c --- patches/patch-src_option_c 14 Jun 2012 13:39:44 -0000 1.1 +++ /dev/null 1 Jan 1970 00:00:00 -0000 @@ -1,16 +0,0 @@ -$OpenBSD: patch-src_option_c,v 1.1 2012/06/14 13:39:44 ajacoutot Exp $ - -Do duplicate dhcp-host address check in --test mode. - ---- src/option.c.orig Thu Jun 14 01:06:04 2012 -+++ src/option.c Thu Jun 14 01:06:37 2012 -@@ -3762,6 +3762,9 @@ void read_opts(int argc, char **argv, char *compile_op - - if (testmode) - { -+ /* Can cause a call to die() */ -+ check_dhcp_hosts(1); -+ - fprintf(stderr, "dnsmasq: %s.\n", _("syntax check OK")); - exit(0); - } -- This message has been scanned for viruses and dangerous content by MailScanner, and is believed to be clean.