* update bind to 9.18.16-1

This commit is contained in:
Alexander Baldeck 2023-06-30 15:05:26 +02:00
parent 3d84276b1b
commit 70ac909da7
4 changed files with 366 additions and 129 deletions

View File

@ -1,129 +0,0 @@
diff --git a/lib/irs/getaddrinfo.c b/lib/irs/getaddrinfo.c
index 1b2df6d71c9a3df0e75c1f336833a136e0d6a06c..d5481c7afa605880b7c9e5ca17815d5f80e6ea5a 100644
--- a/lib/irs/getaddrinfo.c
+++ b/lib/irs/getaddrinfo.c
@@ -181,6 +181,47 @@ static void _freeaddrinfo(struct addrinfo *ai);
#define FOUND_IPV6 0x2
#define FOUND_MAX 2
+/*%
+ * Try converting the scope identifier in 'src' to a network interface index.
+ * Upon success, return true and store the resulting index in 'dst'. Upon
+ * failure, return false.
+ */
+static bool
+parse_scopeid(const char *src, uint32_t *dst) {
+ uint32_t scopeid = 0;
+
+ REQUIRE(src != NULL);
+ REQUIRE(dst != NULL);
+
+#ifdef HAVE_IF_NAMETOINDEX
+ /*
+ * Try using if_nametoindex() first if it is available. As it does not
+ * handle numeric scopes, we do not simply return if it fails.
+ */
+ scopeid = (uint32_t)if_nametoindex(src);
+#endif
+
+ /*
+ * Fall back to numeric scope processing if if_nametoindex() either
+ * fails or is unavailable.
+ */
+ if (scopeid == 0) {
+ char *endptr = NULL;
+ scopeid = (uint32_t)strtoul(src, &endptr, 10);
+ /*
+ * The scope identifier must not be empty and no trailing
+ * characters are allowed after it.
+ */
+ if (src == endptr || endptr == NULL || *endptr != '\0') {
+ return (false);
+ }
+ }
+
+ *dst = scopeid;
+
+ return (true);
+}
+
#define ISC_AI_MASK (AI_PASSIVE|AI_CANONNAME|AI_NUMERICHOST)
/*%
* Get a list of IP addresses and port numbers for host hostname and
@@ -365,39 +406,24 @@ getaddrinfo(const char *hostname, const char *servname,
char abuf[sizeof(struct in6_addr)];
char nbuf[NI_MAXHOST];
int addrsize, addroff;
-#ifdef IRS_HAVE_SIN6_SCOPE_ID
- char *p, *ep;
char ntmp[NI_MAXHOST];
- uint32_t scopeid;
-#endif
+ uint32_t scopeid = 0;
-#ifdef IRS_HAVE_SIN6_SCOPE_ID
/*
* Scope identifier portion.
*/
ntmp[0] = '\0';
if (strchr(hostname, '%') != NULL) {
+ char *p;
strlcpy(ntmp, hostname, sizeof(ntmp));
p = strchr(ntmp, '%');
- ep = NULL;
-
- /*
- * Vendors may want to support non-numeric
- * scopeid around here.
- */
- if (p != NULL)
- scopeid = (uint32_t)strtoul(p + 1,
- &ep, 10);
- if (p != NULL && ep != NULL && ep[0] == '\0')
+ if (p != NULL && parse_scopeid(p + 1, &scopeid)) {
*p = '\0';
- else {
+ } else {
ntmp[0] = '\0';
- scopeid = 0;
}
- } else
- scopeid = 0;
-#endif
+ }
if (inet_pton(AF_INET, hostname, (struct in_addr *)abuf)
== 1) {
@@ -415,7 +441,6 @@ getaddrinfo(const char *hostname, const char *servname,
addroff = offsetof(struct sockaddr_in, sin_addr);
family = AF_INET;
goto common;
-#ifdef IRS_HAVE_SIN6_SCOPE_ID
} else if (ntmp[0] != '\0' &&
inet_pton(AF_INET6, ntmp, abuf) == 1) {
if (family && family != AF_INET6)
@@ -424,7 +449,6 @@ getaddrinfo(const char *hostname, const char *servname,
addroff = offsetof(struct sockaddr_in6, sin6_addr);
family = AF_INET6;
goto common;
-#endif
} else if (inet_pton(AF_INET6, hostname, abuf) == 1) {
if (family != 0 && family != AF_INET6)
return (EAI_NONAME);
@@ -444,12 +468,10 @@ getaddrinfo(const char *hostname, const char *servname,
ai->ai_socktype = socktype;
SIN(ai->ai_addr)->sin_port = port;
memmove((char *)ai->ai_addr + addroff, abuf, addrsize);
+ if (ai->ai_family == AF_INET6) {
+ SIN6(ai->ai_addr)->sin6_scope_id = scopeid;
+ }
if ((flags & AI_CANONNAME) != 0) {
-#ifdef IRS_HAVE_SIN6_SCOPE_ID
- if (ai->ai_family == AF_INET6)
- SIN6(ai->ai_addr)->sin6_scope_id =
- scopeid;
-#endif
if (getnameinfo(ai->ai_addr,
(socklen_t)ai->ai_addrlen,
nbuf, sizeof(nbuf), NULL, 0,

View File

@ -0,0 +1,29 @@
-----BEGIN PGP PUBLIC KEY BLOCK-----
mQINBGNjen4BEADDHiUVNbkFtiKPaMWjKxbKmF1nmv7XKjDhwSww6WFiGPbQyxNM
r8EHlEJx5kMT67rx0IYMhTLiXm/9C4dGYyUfFWc35CGetuzstzCNkwJs7vZAhEyk
+06CX4GFiHPOmWIupGCxFkNz1Qopz3ZePMlZRslVCHzW4dbg5NKLI0ojXlNaTDU5
mgUXpsPi/6l6QE6q3ouvmWPF4u71cZ1+W4UkIRAXOlbVsDzGaMaoHjJd8cOM8DrZ
gKHACNPjzqOvEujXDC2vyKw6XpxR+pHz0QcrRtlKnVhPNiKcDfw2mJJ5zxi9uSDc
dh5FomMn9sS4gy2Tub2urELnPf9xnURftRGG3VO6nZc81ufQB4s1BNT2ny0Uhx5V
mXUJwefMypMBfAvWCWBCeyWYtBeo7LT3NmtLq3oVGPfl7+a0ToFAYeghspK8/nOX
6/fqF1MEtzvWjXljz6K7FSDYSY9AoaESLHGwCo6dtff5S7f1+l6PCUNo6aM/B5Ke
SIAN9Lm6z2iVuy9Lukw+5IRoRKHHV4rJauPtDeYoWnNiSd7Q4vFtotUIjRpDARpm
xWS711Q2T+knHFLEiU8QzxjLhOnTzh4n9dDLHCkOY5WM5krldVeL5EuTyPKinuSn
oE01A7I4IGJp753CshibxjNYDiEOVeK93R38Y543edlIrYxnfyMVsiqPkwARAQAB
tDRNaWNoYcWCIEvEmXBpZcWEIChDb2RlLVNpZ25pbmcgS2V5KSA8bWljaGFsQGlz
Yy5vcmc+iQJOBBMBCgA4FiEEcGtsKGIOdvkdEfffUQpkKgbFLOwFAmNjen4CGwMF
CwkIBwMFFQoJCAsFFgIDAQACHgECF4AACgkQUQpkKgbFLOwiLxAAjYuI4JQ8mPq7
YrV9m4tu+jOKvoKfpjct2Rh02n/X3ChOgrdcXU898eH56tRk8Mv/E+cBTPN9zQn6
rLprbYR2t2R+zgvuUZWA8In7aewoPIJw8OdlG0gTK9m3VHJIOhIX07qcFttSZw4m
4rEU5mdxi9FatBWBzqnVm4Pn577aqRXK908j+6TvgWbZ6Cq0tw3syVT4kGj+93+P
uIQQQkTYN8UDQPsAKzfzkbQC9I5YXBKUoB9CfhXig8V9N75R0gsWkJ8Vy/8wsPXT
9/EPIIzhnhSuUIjvvBPbLGrzDgbhrfUQ/QVuXDVN8xl3rAWM/tiNGOnmzoYORyM5
ftrnCDIaO4aVKR6rtEzfdQa5Kid1StfhFien/U8jYErxkEn2HRt2gVEX5nYq31T+
0jgVode2Dzkm4+HKHmfOYsQeC07Mu6wZw9raNYqFjTcfh0ajFpLIT3j2YqOJE2jy
KbcveJcy2NiOiUl13exIZuBkZm0wEVbvgVX1PlgL3GJqnbU/Q+maRTb8FBoQVsOd
GIm7U/phU91qR+00SkOcp2LgHCCNKrmHXgiBNYBbInNIp6ze3bFvfKTRFn8WdY9v
Z7vNfKar8rt90mpjYG9qMhmvh4E9icfp3wRUtOwyi7VVtVTTUq0iFTe2C0m0v6KW
XcDwwwaTbl79BOqOH3Gp1flS2ECBsyg=
=kCgS
-----END PGP PUBLIC KEY BLOCK-----

View File

@ -0,0 +1,308 @@
-----BEGIN PGP PUBLIC KEY BLOCK-----
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
Y0Mu/RF6KIBG89ghFlw=
=gqlu
-----END PGP PUBLIC KEY BLOCK-----

View File

@ -0,0 +1,29 @@
-----BEGIN PGP PUBLIC KEY BLOCK-----
mQINBGNjfMUBEADFnMmW6cRMnn1+CU7MxqHKc/AvMqr2SUFH6AyuQHnEFkeznoD5
CKsCXBxB+XM/jHbpJVzUHa2v7J5+qcRooALd8QsH80Ux/2mF3Y3I55mtXpc2Uk4J
OjGsOM0f1vcHmtg3FLTAnLMrNIL4jf1VHgKrfuaZoctj5RFnyRvjM8q6oM90PIUc
gCQCjjQMDYbNQOGakF/+orgpCWx9QgXqFvnPuaiR2BF7MduakdcoijhaOW/dEDnM
Gnm1KvsSkEZZxEp++RU4A4w3w5vQaqx3J07+/ZDriDeb4c+AQrLqOUGzbuERq7P9
VUkz7zH+QDe8bPaWDTABHXu6UhdT7NweaQhOolMPS+d8rVeIiUCl6cxtvS6H1Luu
WEIyFz4CuzWwTuxVBwONWG0n6FojgI3zIYhNNuWDNvkT0Ifza3Nz6gY+IdtcnE/n
fHhFyn3P6JG1RRRPXSktYVMCoEq7O22jhggWXaYgfrd41q6/FK7XgC2m+79K53XK
N0CjnvVN3/hptzHYCytUxokYKXcoiFxHpSe84bHaGBL2ijIFDo4X/gjnZX/G/SE4
Pd5gynvIdDnKYqwl8ODtpmt7JJWm82SmXwj4YY2ukaOYJjuacWi2rvnrEFja4xIp
MpzSLPhkaYbXBbFVR/sMNupkdJyOuS5YL5G+Pg62wxkjz+kfwtqvyzCzNQARAQAB
tDBNaWNoYWwgTm93YWsgKENvZGUtU2lnbmluZyBLZXkpIDxtbm93YWtAaXNjLm9y
Zz6JAk4EEwEKADgWIQTZnM6vh5dHAU8DjWMYLiNXlGLvqgUCY2N8xQIbAwULCQgH
AwUVCgkICwUWAgMBAAIeAQIXgAAKCRAYLiNXlGLvqvSAD/4/xhp3rr48G13QE4kA
JpIhZTsY7PkrDv4YAP5plnJviqYOHAJWzwtsRA2um4icmfE5i2RKjza0Zv7poorA
vCZyCaSGyJ5+Np+GgwkQ1t+Za2BnZz9RbX3sZxDlgCQQ0Vb4fTp30X73/hyxXyxZ
eNG/9eWM5E2BiH6zEfcvM2pZM18bFTbMq/RKtqZmEewU9s/Hf/UgFbofA96oFMpS
IHBXAhSaHbKyOMyUqSDHzJ7cFbGcQ5YrPCVRTfP6X4bgQXur46l/3BiZ4+ji909d
o7754r9d1t62q9jnJulwPY9beU2TYSqgMmswCrudjbXSY4duQegvx/oWlwF9Xnbg
ghO+Lkmq6ktxdcH+iSN6fH51s5OIWTc8aZ2YyJN76xzYxOI102aLFwn+Q6FUXzKT
W8Y92BJ11fpDWUEWDz2rVD4BWG8c/dYWzbR8gostBpk8n9ECHfC03NMvZj7T/ULq
3iSeqy/Jbe6b18q2IJaocQ4EYSSBijCncNG0LUxBeLcjcwuP7IOP6JgBh+unJYV5
ajJrlIx0lIkMgOCy9ZiZet0Pm8Kl1+AfLfPfLUlJm+CZoN4y2d2fR5ex/Eqd8mDz
i829mFBesN8RbFKzTc1cRxaPLQLRIbRH1w/sqZKMGavIONVqjJTga680BbhMVEl3
JB9gp/e5VepZAaLnqsT/mb9G2w==
=8f7X
-----END PGP PUBLIC KEY BLOCK-----