-
-
Notifications
You must be signed in to change notification settings - Fork 387
Stream reuse does not work on Windows (rbtree issue?) #516
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Comments
Philip-NLnetLabs
added a commit
that referenced
this issue
Jun 9, 2023
…ith ASLR) and proabbly #516 (Stream reuse does not work on Windows)
Philip-NLnetLabs
added a commit
that referenced
this issue
Jun 15, 2023
jedisct1
added a commit
to jedisct1/unbound
that referenced
this issue
Jul 15, 2023
* nlnet/master: (43 commits) - More clear description of the different auth-zone behaviors on the man page. - Merge NLnetLabs#880 from chipitsine: services/authzone.c: remove redundant check. - Merge NLnetLabs#664 from tilan7763: Add prefetch support for subnet cache entries. - For NLnetLabs#664: Easier code flow for subnetcache prefetching. - For NLnetLabs#664: Add testcase. - For NLnetLabs#664: Rename subnet_prefetch tests to subnet_global_prefetch to differentiate from the new subnet prefetch support. - For NLnetLabs#664: easier code flow for subnetcache prefetching. - For NLnetLabs#664: add testcase. - Skip the 00-lint test. splint is not maintained; it either does not work or produces false positives. Static analysis is handled in the clang test. - For NLnetLabs#802: Cleanup comments and add RCODE check for CD bit test case. - Fix dereference of NULL variable warning in mesh_do_callback. - Code cleanup for sldns_str2wire_svcparam_key_lookup. - Fix NLnetLabs#906: warning: ‘Py_SetProgramName’ is deprecated. - For NLnetLabs#739: minor cleanup for testcases. - More fixes for reference counting for python module and clean up failure code. - Fix python modules with multiple scripts, by incrementing reference counts. - Remove warning about unknown cast-function-type warning pragma. Add changelog and contrib/README mention for NLnetLabs#903 - Merge NLnetLabs#903: contrib: add yocto compatible init script. contrib: add yocto compatible init script Changelog for NLnetLabs#887 and NLnetLabs#516 - Properly handle all return values of worker_check_request during early EDE code. - Do not check the incoming request more than once. - Fix for uncertain unit test for doh buffer size events. Changelog note for NLnetLabs#895 - Fix NLnetLabs#895: python + sysconfig gives ANOTHER path comparing to distutils. - Merge NLnetLabs#896: Fix: NLnetLabs#895: pythonmodule: add all site-packages directories to sys.path. ...
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Describe the bug
I use
forward-addr: 1.0.0.1@853#cloudflare-dns.com
as the DoT upstream. On Windows, connections are apparently not reused as there are many TCP connections, and the latency for the first query after restarting unbound is much higher than Linux and Android devices in the same local network.To reproduce
unbound.exe -ddpvvvvv -c unbound.conf 2>&1 > unbound.log
from PowerShell. The content of unbound.conf is:nslookup example.com
Expected behavior
netstat -ano
reports only one connection to 1.0.0.1:853, and the nslookup command returns the result in a short time (e.g., <200ms)System:
unbound -V
output:Additional information
I built git-master for Windows and added some debugging codes
From logs,
not found in rbtree
is reported since the second connection. For example,Complete log: unbound.log
rbtree_find_less_equal
returns a temporary match when the cmp function returns a positive value. Here key1 < key2, soreuse_cmp
returns -1. Apparently stack addresses are not always larger than heap addresses on Windows. If I changereuse_cmp
to return a positive value for all mismatched keys,Connections appear reused.
I'm not familiar with rbtree and thus I'm not sure if this is a correct fix, so I just share my observations instead of creating a pull request.
The text was updated successfully, but these errors were encountered: