mirror of
https://github.com/coolsnowwolf/lede.git
synced 2025-04-16 04:13:31 +00:00

* package: sync with upstream Removed: package/libs/libselinux/bcm27xx-userland (Already in package/utils/bcm27xx-userland) Signed-off-by: Linhui Liu <liulinhui36@gmail.com> * uclibc++: remove No package here depends on it. Furthermore, uClibc++ is a fairly buggy C++ library and seems to be relatively inactive upstream. It also lacks proper support for modern C++11 features. The main benefit of it is size: 66.6 KB vs 287.3 KB on mips24kc. Static linking and LTO can help bring the size down of packages that need it. Added warning message to uclibc++.mk Signed-off-by: Rosen Penev <rosenp@gmail.com> Acked-by: Hauke Mehrtens <hauke@hauke-m.de> * target: sync with upstream Signed-off-by: Linhui Liu <liulinhui36@gmail.com> * toolchain: gcc: Remove gcc 10.x support This compiler is old and was never used by default in OpenWrt. Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de> * ucode: update to latest Git HEAD 46d93c9 tests: fixup testcases 4c654df types: adjust double printing format eac2add compiler: fix bytecode for logical assignments of properties 3903b18 fs: add `realpath()` function 8366102 math: add isnan() function eef83d3 tests: relax sleep() test 394e901 lib: uc_json(): accept trailing whitespace when parsing strings 1867c8b uloop: terminate parent uloop in task child processes d2cc003 uci: auto-load package in `ctx.foreach()` and `ctx.get_first()` 6c5ee53 compiler: ensure that arrow functions with block bodies return no value fdc9b6a compiler: fix `??=`, `||=` and `&&=` logical assignment semantics 88dcca7 add cmake to install requires for debian Signed-off-by: Jo-Philipp Wich <jo@mein.io> * firewall4: update to latest Git HEAD 700a925 fw4: prevent null access when no ipsets are defined 6443ec7 config: drop input traffic by default 119ee1a ruleset: drop ctstate invalid traffic for masq-enabled zones Signed-off-by: Jo-Philipp Wich <jo@mein.io> * ustream-ssl: update to Git version 2022-12-07 9217ab4 ustream-openssl: Disable renegotiation in TLSv1.2 and earlier 2ce1d48 ci: fix building with i.MX6 SDK 584f1f6 ustream-openssl: wolfSSL: provide detailed information in debug builds aa8c48e cmake: add a possibility to set library version Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de> * tools/mpfr: import patch fixing macro bug Co-authored-by: Nick Hainke <vincent@systemli.org> Signed-off-by: Linhui Liu <liulinhui36@gmail.com> Signed-off-by: Linhui Liu <liulinhui36@gmail.com> Signed-off-by: Rosen Penev <rosenp@gmail.com> Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de> Signed-off-by: Jo-Philipp Wich <jo@mein.io> Co-authored-by: Rosen Penev <rosenp@gmail.com> Co-authored-by: Hauke Mehrtens <hauke@hauke-m.de> Co-authored-by: Jo-Philipp Wich <jo@mein.io> Co-authored-by: Nick Hainke <vincent@systemli.org>
43 lines
1.4 KiB
Diff
43 lines
1.4 KiB
Diff
From: Uwe Kleine-König <uwe@kleine-koenig.org>
|
|
Date: Sat, 8 Oct 2022 19:22:52 +0200
|
|
Subject: [PATCH] nslookup: ensure unique transaction IDs for the DNS queries
|
|
|
|
The transaction IDs generated by res_mkquery() for both glibc and musl only
|
|
depends on the state of the monotonic clock.
|
|
For some machines (here: a TP-Link RE200 powered by a MediaTek MT7620A)
|
|
the monotonic clock has a coarse resolution (here: 20 µs) and it can happen
|
|
that the requests for A and AAAA share the same transaction ID.
|
|
|
|
In that case the mapping from received responses to the sent queries
|
|
doesn't work and name resolution fails as follows:
|
|
|
|
# /bin/busybox nslookup heise.de
|
|
Server: 127.0.0.1
|
|
Address: 127.0.0.1:53
|
|
|
|
Non-authoritative answer:
|
|
Name: heise.de
|
|
Address: 193.99.144.80
|
|
|
|
*** Can't find heise.de: No answer
|
|
|
|
because the AAAA reply is dropped as a duplicate reply to the A query.
|
|
|
|
To prevent this make sure the transaction IDs are unique.
|
|
|
|
Forwarded: http://lists.busybox.net/pipermail/busybox/2022-October/089911.html
|
|
---
|
|
--- a/networking/nslookup.c
|
|
+++ b/networking/nslookup.c
|
|
@@ -978,6 +978,10 @@ int nslookup_main(int argc UNUSED_PARAM,
|
|
}
|
|
}
|
|
|
|
+ /* Ensure the Transaction IDs are unique */
|
|
+ for (rc = 1; rc < G.query_count; rc++)
|
|
+ G.query[rc].query[1] = G.query[rc - 1].query[1] + 1;
|
|
+
|
|
for (rc = 0; rc < G.serv_count;) {
|
|
int c;
|
|
|