From e4ac537d442845667db72a2b68e29d0e05d43803 Mon Sep 17 00:00:00 2001 From: Matthias Andree Date: Sun, 13 Oct 2019 15:29:16 +0000 Subject: MFH: r514404 (blanket reliability fix) dns/dnsmasq: Fix TFTP regression on recent FreeBSD versions. Add a patch taken from upstream. Tested successfully on 11.3-RELEASE amd64. The upstream fix is an extended version of a fix proposed by Dave Mueller in the PR. See also: http://lists.thekelleys.org.uk/pipermail/dnsmasq-discuss/2019q4/013412.html PR: 241068 Reported by: Phil Chadwick Obtained from: Simon Kelley, http://thekelleys.org.uk/gitweb/?p=dnsmasq.git;a=commit;h=936bd82755e8f75fc09c1e9a67fb390175b157d4 Approved by: ports-secteam (blanket) --- dns/dnsmasq/Makefile | 2 +- dns/dnsmasq/files/patch-src_tftp.c | 18 ++++++++++++++++++ 2 files changed, 19 insertions(+), 1 deletion(-) create mode 100644 dns/dnsmasq/files/patch-src_tftp.c diff --git a/dns/dnsmasq/Makefile b/dns/dnsmasq/Makefile index dc4194202a52..26f6e3be72b3 100644 --- a/dns/dnsmasq/Makefile +++ b/dns/dnsmasq/Makefile @@ -3,7 +3,7 @@ PORTNAME= dnsmasq DISTVERSION= 2.80 -PORTREVISION= 3 # leave this in even if 0 to avoid PORTEPOCH bumps +PORTREVISION= 4 # leave this in even if 0 to avoid PORTEPOCH bumps PORTEPOCH= 1 CATEGORIES= dns ipv6 MASTER_SITES= http://www.thekelleys.org.uk/dnsmasq/ \ diff --git a/dns/dnsmasq/files/patch-src_tftp.c b/dns/dnsmasq/files/patch-src_tftp.c new file mode 100644 index 000000000000..101b409fab2c --- /dev/null +++ b/dns/dnsmasq/files/patch-src_tftp.c @@ -0,0 +1,18 @@ +X-Git-Url: http://thekelleys.org.uk/gitweb/?p=dnsmasq.git;a=blobdiff_plain;f=src%2Ftftp.c;h=c618a2c1eeb73de147ade0cf75de24cbc3cb3f38;hp=435b21687ffa366a7bebf1bfc7905997be5b8f7d;hb=936bd82755e8f75fc09c1e9a67fb390175b157d4;hpb=13a58f9590a7071ad4a8c8f7e4178c29a6b66be3 + +--- src/tftp.c.orig 2018-10-18 18:21:55 UTC ++++ src/tftp.c +@@ -74,9 +74,11 @@ void tftp_request(struct listener *listen, time_t now) + #if defined(HAVE_LINUX_NETWORK) + char control[CMSG_SPACE(sizeof(struct in_pktinfo))]; + #elif defined(HAVE_SOLARIS_NETWORK) +- char control[CMSG_SPACE(sizeof(unsigned int))]; ++ char control[CMSG_SPACE(sizeof(struct in_addr)) + ++ CMSG_SPACE(sizeof(unsigned int))]; + #elif defined(IP_RECVDSTADDR) && defined(IP_RECVIF) +- char control[CMSG_SPACE(sizeof(struct sockaddr_dl))]; ++ char control[CMSG_SPACE(sizeof(struct in_addr)) + ++ CMSG_SPACE(sizeof(struct sockaddr_dl))]; + #endif + } control_u; + -- cgit v1.2.3