diff options
author | Kevin Darbyshire-Bryant <ldir@darbyshire-bryant.me.uk> | 2019-08-03 20:55:52 +0100 |
---|---|---|
committer | Kevin Darbyshire-Bryant <ldir@darbyshire-bryant.me.uk> | 2019-08-03 20:55:52 +0100 |
commit | fc5d46dc62285ff16deae26818764eafce17f0a6 (patch) | |
tree | 3e774451ab444ad0232dcedae26efbcc5efbab56 /package/network/services/dnsmasq/patches/0048-Fix-cmsg-3-API-usage-on-OpenBSD.patch | |
parent | a2754667291bef7e2e5f003e0f9c3296dcfd1959 (diff) |
Revert "dnsmasq: backport latest patches"
This reverts commit e9eec39aacde450ba87598d85987b374ce6aed95.
Signed-off-by: Kevin Darbyshire-Bryant <ldir@darbyshire-bryant.me.uk>
Diffstat (limited to 'package/network/services/dnsmasq/patches/0048-Fix-cmsg-3-API-usage-on-OpenBSD.patch')
-rw-r--r-- | package/network/services/dnsmasq/patches/0048-Fix-cmsg-3-API-usage-on-OpenBSD.patch | 52 |
1 files changed, 0 insertions, 52 deletions
diff --git a/package/network/services/dnsmasq/patches/0048-Fix-cmsg-3-API-usage-on-OpenBSD.patch b/package/network/services/dnsmasq/patches/0048-Fix-cmsg-3-API-usage-on-OpenBSD.patch deleted file mode 100644 index 77d90fd0c3..0000000000 --- a/package/network/services/dnsmasq/patches/0048-Fix-cmsg-3-API-usage-on-OpenBSD.patch +++ /dev/null @@ -1,52 +0,0 @@ -From c6cc455dd191fbea56ee14a0ef88a7d655a6fe9a Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?J=C3=A9r=C3=A9mie=20Courr=C3=A8ges-Anglas?= <jca@wxcvbn.org> -Date: Fri, 22 Mar 2019 10:56:13 +0100 -Subject: [PATCH 48/57] Fix cmsg(3) API usage on OpenBSD - -msg_controllen should be set using CMSG_SPACE() to account for padding. -RFC3542 provides more details: - - While sending an application may or may not include padding at the end - of last ancillary data in msg_controllen and implementations must - accept both as valid. - -At least OpenBSD rejects control messages if msg_controllen doesn't -account for padding, so use CMSG_SPACE() for maximal portability. This -is consistent with the example provided in the Linux cmsg(3) manpage. - -Signed-off-by: Kevin Darbyshire-Bryant <ldir@darbyshire-bryant.me.uk> ---- - src/forward.c | 9 ++++++--- - 1 file changed, 6 insertions(+), 3 deletions(-) - ---- a/src/forward.c -+++ b/src/forward.c -@@ -65,13 +65,15 @@ int send_from(int fd, int nowild, char * - struct in_pktinfo p; - p.ipi_ifindex = 0; - p.ipi_spec_dst = source->addr4; -+ msg.msg_controllen = CMSG_SPACE(sizeof(struct in_pktinfo)); - memcpy(CMSG_DATA(cmptr), &p, sizeof(p)); -- msg.msg_controllen = cmptr->cmsg_len = CMSG_LEN(sizeof(struct in_pktinfo)); -+ cmptr->cmsg_len = CMSG_LEN(sizeof(struct in_pktinfo)); - cmptr->cmsg_level = IPPROTO_IP; - cmptr->cmsg_type = IP_PKTINFO; - #elif defined(IP_SENDSRCADDR) -+ msg.msg_controllen = CMSG_SPACE(sizeof(struct in_addr)); - memcpy(CMSG_DATA(cmptr), &(source->addr4), sizeof(source->addr4)); -- msg.msg_controllen = cmptr->cmsg_len = CMSG_LEN(sizeof(struct in_addr)); -+ cmptr->cmsg_len = CMSG_LEN(sizeof(struct in_addr)); - cmptr->cmsg_level = IPPROTO_IP; - cmptr->cmsg_type = IP_SENDSRCADDR; - #endif -@@ -81,8 +83,9 @@ int send_from(int fd, int nowild, char * - struct in6_pktinfo p; - p.ipi6_ifindex = iface; /* Need iface for IPv6 to handle link-local addrs */ - p.ipi6_addr = source->addr6; -+ msg.msg_controllen = CMSG_SPACE(sizeof(struct in6_pktinfo)); - memcpy(CMSG_DATA(cmptr), &p, sizeof(p)); -- msg.msg_controllen = cmptr->cmsg_len = CMSG_LEN(sizeof(struct in6_pktinfo)); -+ cmptr->cmsg_len = CMSG_LEN(sizeof(struct in6_pktinfo)); - cmptr->cmsg_type = daemon->v6pktinfo; - cmptr->cmsg_level = IPPROTO_IPV6; - } |