summaryrefslogtreecommitdiff
path: root/net
diff options
context:
space:
mode:
authorahoka <ahoka>2008-11-22 18:59:54 +0000
committerahoka <ahoka>2008-11-22 18:59:54 +0000
commit58a8aa866e531047e6158f5757f8991e3ccfe61b (patch)
treef1405ab68d85240db5044f34a544d55a63ba8cb5 /net
parentf2656e9f3314366e10d619d312d615ae8c43209e (diff)
downloadpkgsrc-58a8aa866e531047e6158f5757f8991e3ccfe61b.tar.gz
Add missed file in previous commit.
Diffstat (limited to 'net')
-rw-r--r--net/dnsmasq/Makefile4
-rw-r--r--net/dnsmasq/distinfo4
-rw-r--r--net/dnsmasq/patches/patch-ad36
3 files changed, 40 insertions, 4 deletions
diff --git a/net/dnsmasq/Makefile b/net/dnsmasq/Makefile
index d2a82974785..e514fa16f49 100644
--- a/net/dnsmasq/Makefile
+++ b/net/dnsmasq/Makefile
@@ -1,8 +1,8 @@
-# $NetBSD: Makefile,v 1.7 2008/11/17 23:12:12 ahoka Exp $
+# $NetBSD: Makefile,v 1.8 2008/11/22 18:59:54 ahoka Exp $
#
DISTNAME= dnsmasq-2.45
-PKGREVISION= 2
+PKGREVISION= 3
CATEGORIES= net
MASTER_SITES= http://www.thekelleys.org.uk/dnsmasq/
diff --git a/net/dnsmasq/distinfo b/net/dnsmasq/distinfo
index acd0bc36ec4..bad72b2efcd 100644
--- a/net/dnsmasq/distinfo
+++ b/net/dnsmasq/distinfo
@@ -1,4 +1,4 @@
-$NetBSD: distinfo,v 1.6 2008/11/17 23:12:12 ahoka Exp $
+$NetBSD: distinfo,v 1.7 2008/11/22 18:59:54 ahoka Exp $
SHA1 (dnsmasq-2.45.tar.gz) = 12f8cffd657f674fbf4bf4f670a0dcb65ea4a5ae
RMD160 (dnsmasq-2.45.tar.gz) = b8ebf9dfeff26c18664a917cd32cb9b6a53852cb
@@ -6,4 +6,4 @@ Size (dnsmasq-2.45.tar.gz) = 380877 bytes
SHA1 (patch-aa) = f6d1d9d80a283d4270950031ec67c0b4e37920d7
SHA1 (patch-ab) = 7bb6cb585f813a5fe9eddfdedda71a14740d8c4d
SHA1 (patch-ac) = a07c71502399a7835cbb8b8e5136553305113e6e
-SHA1 (patch-ad) = 6ffd1fd39f5f4c0d1ab8650e8fc8f4b7f8c05617
+SHA1 (patch-ad) = 297486a45555df6dd1ca995a9e3866dd3368fbb6
diff --git a/net/dnsmasq/patches/patch-ad b/net/dnsmasq/patches/patch-ad
new file mode 100644
index 00000000000..d920281c538
--- /dev/null
+++ b/net/dnsmasq/patches/patch-ad
@@ -0,0 +1,36 @@
+--- src/bpf.c 2008-11-18 14:01:26.000000000 +0000
++++ src/bpf.c 2008-11-18 14:09:21.000000000 +0000
+@@ -30,7 +30,7 @@
+
+ int iface_enumerate(void *parm, int (*ipv4_callback)(), int (*ipv6_callback)())
+ {
+- char *ptr;
++ char *ptr, *end;
+ struct ifreq *ifr;
+ struct ifconf ifc;
+ int fd, errsav, ret = 0;
+@@ -62,16 +62,20 @@
+ lastlen = ifc.ifc_len;
+ }
+ }
+-
+- for (ptr = ifc.ifc_buf; ptr < ifc.ifc_buf + ifc.ifc_len; ptr += len )
++
++ end = ifc.ifc_buf + ifc.ifc_len;
++ for (ptr = ifc.ifc_buf; ptr < end; ptr += len)
+ {
+ /* subsequent entries may not be aligned, so copy into
+ an aligned buffer to avoid nasty complaints about
+ unaligned accesses. */
+ #ifdef HAVE_SOCKADDR_SA_LEN
+- len = ((struct ifreq *)ptr)->ifr_addr.sa_len + offsetof(struct ifreq, ifr_ifru);
++ ifr = (struct ifreq *)ptr;
++ if (ifr->ifr_addr.sa_len > sizeof(ifr->ifr_ifru))
++ len = ifr->ifr_addr.sa_len + offsetof(struct ifreq, ifr_ifru);
++ else
+ #else
+- len = sizeof(struct ifreq);
++ len = sizeof(struct ifreq);
+ #endif
+ if (!expand_buf(&ifreq, len))
+ goto err;