Tags: tilan7663/unbound
Tags
Unbound 1.15.0 This release has bug fixes for crashes that happened on heavy network usage. The default for the aggressive-nsec option has changed, it is now enabled. The ratelimit logic had to be reworked for the crash fixes. As a result, there are new options to control the behaviour of ratelimiting. The ratelimit-backoff and ip-ratelimit-backoff options can be used to control how severe the backoff is when the ratelimit is exceeded. The rpz-signal-nxdomain-ra option can be used to unset the RA flag, for NXDOMAIN answers from RPZ. That is used by some clients to detect that the domain is externally blocked. The RPZ option for-downstream can be used like for auth zones, this allows the RPZ zone information to be queried. That can be useful for monitoring scripts. Features - Fix NLnetLabs#596: unset the RA bit when a query is blocked by an unbound RPZ nxdomain reply. The option rpz-signal-nxdomain-ra allows to signal that a domain is externally blocked to clients when it is blocked with NXDOMAIN by unsetting RA. - Add rpz: for-downstream: yesno option, where the RPZ zone is authoritatively answered for, so the RPZ zone contents can be checked with DNS queries directed at the RPZ zone. - Merge PR NLnetLabs#616: Update ratelimit logic. It also introduces ratelimit-backoff and ip-ratelimit-backoff configuration options. - Change aggressive-nsec default to yes. Bug Fixes - Fix compile warning for if_nametoindex on windows 64bit. - Merge PR NLnetLabs#581 from fobser: Fix -Wmissing-prototypes and -Wshadow warnings in rpz. - Fix validator debug output about DS support, print correct algorithm. - Add code similar to fix for ldns for tab between strings, for consistency, the test case was not broken. - Allow local-data for classes other than IN to inherit a configured local-zone's type if possible, instead of defaulting to type transparent as per the implicit rule. - Fix to pick up other class local zone information before unlock. - Add missing configure flags for optional features in the documentation. - Fix Unbound capitalization in the documentation. - Fix NLnetLabs#591: Unbound-anchor manpage links to non-existent license file. - contrib/aaaa-filter-iterator.patch file renewed diff content to apply cleanly to the current coderepo for the current code version. - Fix to add test for rpz-signal-nxdomain-ra. - Fix NLnetLabs#596: only unset RA when NXDOMAIN is signalled. - Fix that RPZ does not set RD flag on replies, it should be copied from the query. - Fix for NLnetLabs#596: fix that rpz return message is returned and not just the rcode from the iterator return path. This fixes signal unset RA after a CNAME. - Fix unit tests for rpz now that the AA flag returns successfully from the iterator loop. - Fix for NLnetLabs#596: add unit test for nsdname trigger and signal unset RA. - Fix for NLnetLabs#596: add unit test for nsip trigger and signal unset RA. - Fix NLnetLabs#598: Fix unbound-checkconf fatal error: module conf 'respip dns64 validator iterator' is not known to work. - Fix for NLnetLabs#596: Fix rpz-signal-nxdomain-ra to work for clientip triggered operation. - Merge NLnetLabs#600 from pemensik: Change file mode before changing file owner. - Fix prematurely terminated TCP queries when a reply has the same ID. - For NLnetLabs#602: Allow the module-config "subnetcache validator cachedb iterator". - Fix EDNS to upstream where the same option could be attached more than once. - Add a region to serviced_query for allocations. - For dnstap, do not wakeupnow right there. Instead zero the timer to force the wakeup callback asap. - Fix NLnetLabs#610: Undefine-shift in sldns_str2wire_hip_buf. - Fix NLnetLabs#588: Unbound 1.13.2 crashes due to p->pc is NULL in serviced_udp_callback. - Merge PR NLnetLabs#612: TCP race condition. - Test for 8000 NSID in SERVFAIL response due to DNSSEC bogus. - Fix NLnetLabs#599: [FR] RFC 9156 (obsoletes RFC 7816), by noting the new RFC document. - Fix tls-* and ssl-* documented alternate syntax to also be available through remote-control and unbound-checkconf. - Better cleanup on failed DoT/DoH listening socket creation. - iana portlist update. - Fix review comment for use-after-free when failing to send UDP out. - Merge PR NLnetLabs#603 from fobser: Use OpenSSL 1.1 API to access DSA and RSA internals. - Merge PR NLnetLabs#532 from Shchelk: Fix: buffer overflow bug. - Merge PR NLnetLabs#617: Update stub/forward-host notation to accept port and tls-auth-name. - Update stream_ssl.tdir test to also use the new forward-host notation. - Fix header comment for doxygen for authextstrtoaddr. - please clang analyzer for loop in test code. - Fix docker splint test to use more portable uname. - Update contrib/aaaa-filter-iterator.patch with diff for current software version. - Fix for NLnetLabs#611: Integer overflow in sldns_wire2str_pkt_scan.
Unbound 1.14.0 This release contains bug fixes and a full set of RPZ triggers and actions that are supported. This works with RPZ zones, configured with `rpz:`. It is possible to selectively enable use of TCP for stub zones and forward zones, without having enable it server wide, by enabling it with the `stub-tcp-upstream: yes` and `forward-tcp-upstream: yes` options. The added contrib/Dockerfile.tests from ziollek can be used to setup a Docker environment to run tests in. The documentation is in the doc/README.tests file. If openssl it installed with different versions, you can set the location as `--with-ssl=/usr/include/openssl11` and it then detects the use of the lib dir split off in /usr/lib64/openssl11 with regex. This is useful if to pass to configure if openssl is installed in such a manner. The option `outbound-msg-retry` can be used to select the number of retries when a non-positive response is received. It is best left at default, but when the upstream is known to not need retries, it can be lowered, because in that case the upstream is performing the retry for non-positive responses. The domain `home.arpa.` is set by default as blocked, as per RFC8375. If you want to use it, unblock it with a local-zone nodefault statement, or use another type of local-zone to override it with your choice. In the config it is possible to enter IPv6 scope-id values with interface names, instead of a number, for link-local addresses. Features - Merge NLnetLabs#401: RPZ triggers. This add additional RPZ triggers, unbound supports a full set of rpz triggers, and this now includes nsdname, nsip and clientip triggers. Also actions are fully supported, and this now includes the tcp-only action. - Merge NLnetLabs#519: Support for selective enabling tcp-upstream for stub/forward zones. - Merge PR NLnetLabs#514, from ziollek: Docker environment for run tests. - Support using system-wide crypto policies. - Fix that --with-ssl can use "/usr/include/openssl11" to pass the location of a different openssl version. - Merged NLnetLabs#41 from Moritz Schneider: made outbound-msg-retry configurable. - Implement RFC8375: Special-Use Domain 'home.arpa.'. - Merge PR NLnetLabs#555 from fobser: Allow interface names as scope-id in IPv6 link-local addresses. Bug Fixes - Add test tool readzone to .gitignore. - Merge NLnetLabs#521: Update mini_event.c. - Merge NLnetLabs#523: fix: free() call more than once with the same pointer. - For NLnetLabs#519: note stub-tcp-upstream and forward-tcp-upstream in the example configuration file. - For NLnetLabs#519: yacc and lex. And fix python bindings, and test program unbound-dnstap-socket. - For NLnetLabs#519: fix comments for doxygen. - Fix to print error from unbound-anchor for writing to the key file, also when not verbose. - For NLnetLabs#514: generate configure. - Fix for NLnetLabs#431: Squelch permission denied errors for udp connect, and udp send, they are visible at higher verbosity settings. - Fix zonemd verification of key that is not in DNS but in the zone and needs a chain of trust. - zonemd, fix order of bogus printout string manipulation. - Fix to support harden-algo-downgrade for ZONEMD dnssec checks. - Merge PR NLnetLabs#528 from fobser: Make sldns_str2wire_svcparam_buf() static. - Fix NLnetLabs#527: not sending quad9 cert to syslog (and may be more). - Fix sed script in ssldir split handling. - Fix NLnetLabs#529: Fix: log_assert does nothing if UNBOUND_DEBU 8000 G is undefined. - Fix NLnetLabs#531: Fix: passed to proc after free. - Fix NLnetLabs#536: error: RPZ: name of record (drop.spamhaus.org.rpz.local.) to insert into RPZ. - Fix the stream wait stream_wait_count_lock and http2 buffer locks setup and desetup from race condition. - Fix RPZ locks. Do not unlock zones lock if requested and rpz find zone does not find the zone. Readlock the clientip that is found for ipbased triggers. Unlock the nsdname zone lock when done. Unlock zone and ip in rpz nsip and nsdname callback. Unlock authzone and localzone if clientip found in rpz worker call. - Fix compile warning in libunbound for listen desetup routine. - Fix asynclook unit test for setup of lockchecks before log. - Fix NLnetLabs#533: Negative responses get cached even when setting cache-max-negative-ttl: 1 - Fix tcp fastopen failure when disabled, try normal connect instead. - Fix NLnetLabs#538: Fix subnetcache statistics. - Small fixes for NLnetLabs#41: changelog, conflicts resolved, processQueryResponse takes an iterator env argument like other functions in the iterator, no colon in string for set_option, and some whitespace style, to make it similar to the rest. - Fix for NLnetLabs#41: change outbound retry to int to fix signed comparison warnings. - Fix root_anchor test to check with new icannbundle date. - Fix initialisation errors reported by gcc sanitizer. - Fix lock debug code for gcc sanitizer reports. - Fix more initialisation errors reported by gcc sanitizer. - Fix crosscompile on windows to work with openssl 3.0.0 the link with ws2_32 needs -l:libssp.a for __strcpy_chk. Also copy results from lib64 directory if needed. - For crosscompile on windows, detect 64bit stackprotector library. - Fix crosscompile shell syntax. - Fix crosscompile windows to use libssp when it exists. - For the windows compile script disable gost. - Fix that on windows, use BIO_set_callback_ex instead of deprecated BIO_set_callback. - Fix crosscompile script for the shared build flags. - Fix to add example.conf note for outbound-msg-retry. - Fix chaos replies to have truncation for short message lengths, or long reply strings. - Fix to protect custom regional create against small values. - Fix NLnetLabs#552: Unbound assumes index.html exists on RPZ host. - Fix that forward-zone name is documented as the full name of the zone. It is not relative but a fully qualified domain name. - Fix analyzer review failure in rpz action override code to not crash on unlocking the local zone lock. - Fix to remove unused code from rpz resolve client and action function. - Merge NLnetLabs#565: unbound.service.in: Disable ProtectKernelTunables again. - Fix for NLnetLabs#558: fix loop in comm_point->tcp_free when a comm_point is reclaimed more than once during callbacks. - Fix for NLnetLabs#558: clear the UB_EV_TIMEOUT bit before adding an event. - Improve EDNS option handling, now also works for synthesised responses such as local-data and server.id CH TXT responses. - Merge PR NLnetLabs#570 from rex4539: Fix typos. - Fix for NLnetLabs#570: regen aclocal.m4, fix configure.ac for spelling. - Fix to make python module opt_list use opt_list_in. - Fix NLnetLabs#574: unbound-checkconf reports fatal error if interface names are used as value for interfaces: - Fix NLnetLabs#574: Review fixes for it. - Fix NLnetLabs#576: [FR] UB_* error codes in unbound.h - Fix NLnetLabs#574: Review fix for spelling. - Fix to remove git tracking and ci information from release tarballs. - iana portlist update. - Merge PR NLnetLabs#511 from yan12125: Reduce unnecessary linking. - Merge PR NLnetLabs#493 from Jaap: Fix generation of libunbound.pc. - Merge PR NLnetLabs#562 from Willem: Reset keepalive per new tcp session. - Merge PR NLnetLabs#522 from sibeream: memory management violations fixed. - Merge PR NLnetLabs#530 from Shchelk: Fix: dereferencing a null pointer. - Fix NLnetLabs#454: listen_dnsport.c:825: error: ‘IPV6_TCLASS’ undeclared. - Fix NLnetLabs#574: Review fixes for size allocation. - Fix doc/unbound.doxygen to remove obsolete tag warning.
Unbound 1.13.2 This release contains a number of bug fixes. There is a crash fix for broken internal structures in stream reuse, that is used when many TCP or TLS upstream connections are made. Also a number of features are added. The ZONEMD support allows verification of downloaded authority zone files with the zonemd hash. It can be enabled with the zonemd-check option. It implements RFC8976. With zonemd-permissive-mode it is possible to try out the functionality without withholding the zone if the checks fail. With zonemd-reject-absence the zonemd record becomes a requirement for a zone. It is possible to use interface names for the control-interface as well, it was already possible for the interface, but now also for the remote control functionality. It allows the user to config the interface with the interface name, like 'eth0', instead of an IP address. It is possible to configure the persistent TCP connection, with the options max-reuse-tcp-queries and tcp-reuse-timeout. These also apply to TLS reused connections. The local zone types always_null, always_nodata and always_deny work inside the local zones that are defined inside a view. The log servfail error message now includes more information, it attempts to add an IP address and information about the one of the last failures that is associated with that query. With the option tcp-auth-query-timeout, the time to wait for queries to upstream authority servers can be configured, for TCP and TLS queries. It is possible to configure unbound with --with-deprecate-rsa-1024, that stops the use of RSA 1024 keys. That makes unbound work with certain FIPS installations that do not allow such calls to the crypto API. If the option is enabled, Unbound treats RSA keys with an insufficiently sized key as not supported. Responses with unsupported crypto are marked insecure. The NSEC3 maximum iterations are lowered to 150. This is the new default setting. This puts this in line with other DNS implementations. If the iterations count is exceeded the response becomes insecure. The number of validator retries when there is a DNSSEC failure can be configured with the val-max-restart option. The RR types SVCB and HTTPS are supported according to the draft specification. The syntax can be used in local zones and zone files, and debug output. The types themselves were already supported on the wire the RFC3597 unknown RR type support. The HTTP user agent header can be configured or elided, to avoid printing the version of type of the software running on the server, with the options http-user-agent and hide-http-user-agent. Features - Merge PR NLnetLabs#317: ZONEMD Zone Verification, with RFC 8976 support. ZONEMD records are checked for zones loaded as auth-zone, with DNSSEC if available. There is an added option zonemd-permissive-mode that makes it log but not fail wrong zones. With zonemd-reject-absence for an auth-zone the presence of a zonemd can be mandated for specific zones. - Fix: Resolve interface names on control-interface too. - Merge NLnetLabs#470 from edevil: Allow configuration of persistent TCP connections. - Fix NLnetLabs#474: always_null and others inside view. - Add that log-servfail prints an IP address and more information about one of the last failures for that query. - Merge NLnetLabs#478: Allow configuration of TCP timeout while waiting for response. - Add ./configure --with-deprecate-rsa-1024 that turns off RSA 1024. - Move the NSEC3 max iterations count in line with the 150 value used by BIND, Knot and PowerDNS. This sets the default value for it in the configuration to 150 for all key sizes. - zonemd-check: yesno option, default no, enables the processing of ZONEMD records for that zone. - Merge NLnetLabs#486 by fobster: Make VAL_MAX_RESTART_COUNT configurable. - Merge PR NLnetLabs#491: Add SVCB and HTTPS types and handling according to draft-ietf-dnsop-svcb-https. - Introduce 'http-user-agent:' and 'hide-http-user-agent:' options. Bug Fixes - Fix for Python 3.9, no longer use deprecated functions of PyEval_CallObject (now PyObject_Call), PyEval_InitThreads (now none), PyParser_SimpleParseFile (now Py_CompileString). - Merge PR NLnetLabs#420 from dyunwei: DOH not responsing with "http2_query_read_done failure" logged. - Fix NLnetLabs#422: IPv6 fallback issues when IPv6 is not properly enabled/configured. - Fix to make tests work with support indicators set for iterator. - Fix build on Python 3.10. - Fix doxygen and pydoc warnings. - Fix NLnetLabs#429: rpz: url: with https: broken (regression in 1.13.1). - rpz skip nsec3param records, and nicer log for unsupported actions. - Fix NLnetLabs#431: Squelch permission denied errors for tcp connect and udp connect from the logs, unless at high verbosity. - Fix for zonemd, that nxdomain for the chain of trust is allowed for island zones, it is treated as an insecure zone for verification. - Fix for zonemd, that domain-insecure zones work without dnssec. - Fix for zonemd, do not reject insecure result from trust anchor validation step in dnssec chain of trust. - On startup of unbound it checks if rlimits on memory size look sufficient for the configured cache size, and logs warning if not. - Fix function documentation. - Fix unit test for added ulimit checks. - spelling fix in header. - Fix NLnetLabs#384: (1) A minor request to improve the log (2) A minor bug in one log message. - ipsecmod: Better logging for detecting a cycle when attaching the A/AAAA subquery. - Merge PR NLnetLabs#367 : DNSTAP log local address. With code from PR NLnetLabs#365 and fixes NLnetLabs#368 : dnstap does not log the DNS message ID for FORWARDER_QUERY. - Fix to allow rpz with wildcard that applies to all TLDs at once. - Fix for NLnetLabs#367: rc_ports don't have ub_sock; skip cleaning up. - Fix spurious errors about "Could not generate request: out of memory". The mesh detect cycle routine no longer wrongly stops the check when the calling mesh state is unique. - Workaround for NLnetLabs#439: prevent loops in the reuse rbtree. - Debug output for NLnetLabs#411 and NLnetLabs#439: printout internal error and details. - Fix parse of LOC RR type for decimetres. - Fix NLnetLabs#441: Minimal NSEC range not accepted for top level domains. - Fix for NLnetLabs#447: squelch connection refused tcp connection failures from the log, unless verbosity is high. - Merge NLnetLabs#449 from orbea: build: Add missing linker flags. - Comment out nonworking OSX and IOS travis tests, vm fails to start. - Fix compile error in listen_dnsport on Android. - Fix memory leak reported by asan in rpz SOA record query name. - Fix unused-function warning when compiling with --enable-dnscrypt. - Fix for NLnetLabs#367: fix memory leak when cannot bind to listening port. - Reformat pythonmod/pythonmod_utils.{c,h}. - Travis enable all tests again. Clang analyzer only a couple times, when there is a difference. homebrew updates disabled, so it does not hang. removed trailing slashes from configure paths. Moved iOS tests to allow-failure. - travis, analyzer disabled on test without debug, that does not run anway. Turn off failing tests except one. Update iOS test to xcode image 12.2. - Fix deprecation test to work for iOS TVOS and WatchOS, it uses CFLAGS and CPPFLAGS and also checks if the item is unavailable. - Travis, fix script to fail when tasks fail. - Travis, fix warning in ubsan compile. - Fix configure Targetconfiditionals.h header check, to use compile. - Fix that cachedb does not produce empty object files when disabled. - Fix NLnetLabs#429: Also fix end of transfer for http download of auth zones. - Disable the use of stack-protector for cross compiled 32-bit windows builds; relates to NLnetLabs#444. - Fix stack-protector change to not override other CFLAGS options. - Clean makedist.sh. - Merge NLnetLabs#460 from orbea: build: Link with the libtool archive. - Fix to stop IPv6 PMTU discovery. - Fix for NLnetLabs#411: Depth protect for crash on deleted element timeout. - rebuild configure to set EXTRALINK to libunbound.la for NLnetLabs#460. - Fix permission denied sendto log, squelch the log messages unless high verbosity is set. - Fix (increase) verbosity level for iterator error log in processQueryTargets(). - Fix that nxdomain synthesis does not happen above the stub or forward definition. - Fix documentation comment for files previously residing in checkconf/. - Remove unused functions worker_handle_reply and libworker_handle_reply. - Merge NLnetLabs#466 from FGasper: Support OpenSSLs that lack SSL_get0_alpn_selected. - Fix NLnetLabs#468: OpenSSL 1.0.1 can no longer build Unbound. - Further fix for NLnetLabs#468: detect SSL_CTX_set_alpn_protos for build with OpenSSL 1.0.1. - Fix that testcode dohclient has OpenSSL initialisation calls. - Fix compiler warning for signed/unsigned comparison for max_reuse_tcp_queries. - Fix NLnetLabs#481: Fix comment in configuration file. - Fix to squelch tcp socket bind failures when the interface is gone. - Rerun flex and bison. - Fix for NLnetLabs#367: only attempt to get the interface for queries that are no longer on the tcp_waiting_list. - Add more logging for out-of-memory cases. - Fix NLnetLabs#485: Unbound occasionally reports broken stats. - Remove case fallthrough from deprecate-rsa-1024 code. - Merge PR NLnetLabs#487: ifdef RLIMIT_AS in recently added check. - Fix that auth-zone zonefiles use last TTL if no TTL is specified. - Fix NLnetLabs#489: Compile using MSYS2 MinGW 64-bit. - Fix for NLnetLabs#411, NLnetLabs#439, NLnetLabs#469: Reset the DNS message ID when moving queries between TCP streams. - Refactor for uniform way to produce random DNS message IDs. - Test code has -q option for quiet output. - Fix NLnetLabs#492: module-config respip missing in unbound.conf.5.in man page. Merges NLnetLabs#494 from he32. - For NLnetLabs#492: Fix font highlighting for the man page on emacs. - Merge NLnetLabs#496 from banburybill: Use build system endianness if available, otherwise try to work it out. - Fix test for zonemd-check option. - Merge NLnetLabs#448 from shoeper: Update unbound-control.8.in, fix rpz_disable typo. - Fix NLnetLabs#425: Document auth-zone supports communication with DNS primary on nondefault port. - Fix unused variable warning when compiling with --enable-dnstap. - Generated lexer and parser for NLnetLabs#486; updated example.conf. - Fix NLnetLabs#413 (based on patch by k-ronny): unbound: does not compile on macOS 11.1-x86_64 host. - Use host_os instead of target_os in configure for Darwin8 build. - Fix NLnetLabs#500: SPEC file in version 1.13.1 references version 1.4; unable to build RPM from source. - Fix contrib/unbound.spec, fixed url and comment. - Fix configure nonblocking test and onmingw test to use host. - Merge NLnetLabs#440 by kimheino: Various fixes to contrib/unbound_munin_ file. - Fix a number of warnings reported by the gcc analyzer. - Fix NLnetLabs#495: Documentation or implementation of "verbosity" option. - Fix NLnetLabs#503: DNS over HTTPS response truncated. - Fix warnings reported by the gcc analyzer. - Add analyzer and port compile github workflow. - Fix up permissions on rpl data file in tests. - Fix testbound newline treatment in moment_read and tempfile write. - Fix configure grep for reuseport default for failure. - Fix compat ctime_r return value - Fix configure does not require pkg-config if not needed. - Fix unit test in the ctime_r calls for autotrust and in testbound. - Fix auth zone download on windows to unlink before rename. - Fix NLnetLabs#506: Python Module Seems to Leak Memory if it Experiences an Unhandled Exception. - Fix Wunused-result compile warnings. - Fix compiler warnings for NLnetLabs#491. - Fix clang-analysis warnings for testcode/readzone.c. - Merge NLnetLabs#510 from ndptech: Don't call a function which hasn't been defined. - Fix for NLnetLabs#510: in depth, use ifdefs for windows api event calls. - Fix spelling in doc/unbound.doxygen comment. - Fix spelling in localzone.h comment. - Fix unbound-control local_data and local_datas to print detailed syntax errors. - review fix to remove duplicate error printout. - Insert header into testcode/readzone.c, it was missing. - Fix from lint for ignored return value. - Fix for older parsers for function call in serve expired get cached. - Fix that ldns_zone_new_frm_fp_l counts the line number for an empty line after a comment. - Merge NLnetLabs#512: unbound.service.in: upgrade hardening to latest standards. - Fix readzone unknown type print for memory resize. - Merge NLnetLabs#513: Stream reuse, attempt to fix NLnetLabs#411, NLnetLabs#439, NLnetLabs#469. This introduces a couple of fixes for the stream reuse functionality that could result in broken internal structures. - Fix NLnetLabs#515: Compilation against openssl 3.0.0 beta2 is failing to build unbound. - For NLnetLabs#515: Fix compilation with openssl 3.0.0 beta2, lib64 dir and SSL_get_peer_certificate. - Move acx_nlnetlabs.m4 to version 41, with lib64 openssl dir check. - Prepare for OpenSSL 3.0.0 provider API usage, move the sldns keyraw functions to produce EVP_PKEY results. - Move RSA and DSA to use OpenSSL 3.0.0 API. - Move ECDSA functions to use OpenSSL 3.0.0 API. - iana portlist update. - Fix verbose printout failure in tcp reuse unit test. - Merge PR NLnetLabs#517 from dyunwei: NLnetLabs#420 breaks the mesh reply list function that need to reuse the dns answer. - Annotate assertion into error printout; we think it may be an error, but the situation looks harmless. - Fix sign comparison warning on FreeBSD. - Listen to read or write events after the SSL handshake. Sticky events on windows would stick on read when write was needed. - Merge PR NLnetLabs#415 from sibeream: Use /proc/sys/net/ipv4/ip_local_port_range to determine available outgoing ports. (New --enable-linux-ip-local-port-range configuration option) - Bump MAX_RESTART_COUNT to 11 from 8; in relation to NLnetLabs#438. This allows longer CNAME chains in Unbound. - In unit test use openssl set security level to allow keys in test. - Fix static analysis warnings about localzone locks that are unused. - Fix missing locks in zonemd unit test. - Fix readzone compile under debug config. - Fix out of sourcedir run of zonemd unit tests. - Fix libnettle zonemd unit test. - Fix unit test zonemd_reload for use in run_vm. - Fix NLnetLabs#520: Unbound 1.13.2rc1 fails to build python module.
Unbound 1.13.1 This release contains a number of bug fixes. There is added support for the EDNS Padding option (RFC7830 and RFC8467), and the EDNS NSID option (RFC 5001). Unbound control has added commands to enable and disable rpz processing. Reply callbacks have a start time passed to them that can be used to calculate time, these are callbacks for response processing. With the option serve-original-ttl the TTL served in responses is the original, not counted down, value, for when in front of authority service. Features - Merge PR NLnetLabs#375 by fhriley: Add rpz_enable and rpz_disable commands to unbound-control. - Merge PR NLnetLabs#391 from fhriley: Add start_time to reply callbacks so modules can compute the response time. - Fix NLnetLabs#397: [Feature request] add new type always_null to local-zone similar to always_nxdomain. - Support for RFC5001: DNS Name Server Identifier (NSID) Option with the nsid: option in unbound.conf - Padding of queries and responses with DNS over TLS as specified in RFC7830 and RFC8467. - Merge PR NLnetLabs#275 from Roland van Rijswijk-Deij: Add feature to return the original instead of a decrementing TTL ('serve-original-ttl') Bug Fixes - Fix NLnetLabs#358: Squelch udp connect 'no route to host' errors on low verbosity. - Fix NLnetLabs#360: for the additionally reported TCP Fast Open makes TCP connections fail, in that case we print a hint that this is happening with the error in the logs. - Fix NLnetLabs#356: deadlock when listening tcp. - Fix unbound-dnstap-socket to not use log routine from interrupt handler and not print so frequently when invoked in sequence. - Fix on windows to ignore connection failure on UDP, unless verbose. - make depend. - Fix NLnetLabs#371: unbound-control timeout when Unbound is not running. - Fix to squelch permission denied and other errors from remote host, they are logged at higher verbosity but not on low verbosity. - Merge PR NLnetLabs#335 from fobser: Sprinkle in some static to prevent missing prototype warnings. - Merge PR NLnetLabs#373 from fobser: Warning: arithmetic on a pointer to void is a GNU extension. - Fix missing prototypes in the code. - Fix error cases when udp-connect is set and send() returns an error (modified patch from Xin Li @delphij). - For NLnetLabs#376: Fix that comm point event is not double removed or double added to event map. - iana portlist updated. - Fix NLnetLabs#385: autoconf 2.70 impacts unbound build - Fix NLnetLabs#379: zone loading over HTTP appears to have buffer issues. - Merge PR NLnetLabs#395 from mptre: add missing null check. - Fix NLnetLabs#387: client-subnet-always-forward seems to effectively bypass any caching? - For NLnetLabs#391: use struct timeval* start_time for callback information. - For NLnetLabs#391: fix indentation. - For NLnetLabs#391: more double casts in python start time calculation. - Add comment documentation. - Fix clang analysis warning. - Fix so local zone types always_nodata and always_deny can be used from the config file. - Merge NLnetLabs#399 from xiangbao227: The lock of lruhash table should unlocked after markdel entry. - Fix for NLnetLabs#93: dynlibmodule link fix for Windows. - Fix for NLnetLabs#93: dynlibmodule import library is named libunbound.dll.a. - Merge NLnetLabs#402 from fobser: Implement IPv4-Embedded addresses according to RFC6052. - Fix NLnetLabs#404: DNS query with small edns bufsize fail. - Fix declaration before statement and signed comparison warning in dns64. - Fix TTL of SOA record for negative answers (localzone and authzone data) to be the minimum of the SOA TTL and the SOA.MINIMUM. - Fix compile of unbound-dnstap-socket without dnstap installed. - Merge PR NLnetLabs#355 from noloader: Make ICANN Update CA and DS Trust Anchor static data. - Ignore cache blacklisting when trying to reply with expired data from cache (NLnetLabs#394). - Merge PR NLnetLabs#408 from fobser: Prevent a few more yacc clashes. - Annotate that we ignore the return value of if_indextoname. - Fix to use correct type for label count in rpz routine. - Fix empty clause warning in config_file nsid parse. - Fix to use correct type for label count in ipdnametoaddr rpz routine. - Fix empty clause warning in edns pass for padding. - Fix for doxygen 1.8.20 compatibility. - Attempt to fix NULL keys in the reuse_tcp tree; relates to NLnetLabs#411. - Fix dynlibmod link on rhel8 for -ldl inclusion. - Fix windows dependency on libssp.dll because of default stack protector in mingw. - Fix indentation of root anchor for use by windows install script.
Unbound 1.13.0 This version has fixes to connect for UDP sockets, slowing down potential ICMP side channel leakage. The fix can be controlled with the option udp-connect: yes, it is enabled by default. Additionally CVE-2020-28935 is fixed, this solves a problem where the pidfile is altered by a symlink, and fails if a symlink is encountered. See https://nlnetlabs.nl/downloads/unbound/CVE-2020-28935.txt for more information. New features are upstream TCP and TLS query reuse, where a channel is reused for several queries. And http-notls-downstream: yesno for unencrypted DoH, useful for back end support servers. The option infra-keep-probing can be used to probe hosts that are down more frequently. The options edns-client-string and edns-client-string-opcode can be used to add an EDNS option with the specified string in queries towards servers, with the servers specified by IP address. It replaces the edns-client-tag option. Features - Pass the comm_reply information to the inplace_cb_reply* functions during the mesh state and update the documentation on that. - Fix NLnetLabs#330: [Feature request] Add unencrypted DNS over HTTPS support. This adds the option http-notls-downstream: yesno to change that, and the dohclient test code has the -n option. - Merge PR NLnetLabs#228 : infra-keep-probing option to probe hosts that are down. Add infra-keep-probing: yes option. Hosts that are down are probed more frequently. With the option turned on, it probes about every 120 seconds, eventually after exponential backoff, and that keeps that way. If traffic keeps up for the domain. It probes with one at a time, eg. one query is allowed to probe, other queries within that 120 second interval are turned away. - Merge PR NLnetLabs#313 from Ralph Dolmans: Replace edns-client-tag with edns-client-string option. - Merge PR NLnetLabs#283 : Stream reuse. This implements upstream stream reuse for performing several queries over the same TCP or TLS channel. - Fix to connect() to UDP destinations, default turned on, this lowers vulnerability to ICMP side channels. Option to toggle udp-connect, default is enabled. Bug Fixes - Fix NLnetLabs#319: potential memory leak on config failure, in rpz config. - Fix dnstap socket and the chroot not applied properly to the dnstap socket path. - Fix warning in libnss compile, nss_buf2dsa is not used without DSA. - Fix NLnetLabs#323: unbound testsuite fails on mock build in systemd-nspawn if systemd support is build. - Fix for python reply callback to see mesh state reply_list member, it only removes it briefly for the commpoint call so that it does not drop it and attempt to modify the reply list during reply. - Fix that if there are on reply callbacks, those are called per reply and a new message created if that was modified by the call. - Free up auth zone parse region after use for lookup of host - Merge PR NLnetLabs#326 from netblue30: DoH: implement content-length header field. - DoH content length, simplify code, remove declaration after statement and fix cast warning. - Fix that if there are reply callbacks for the given rcode, those are called per reply and a new message created if that was modified by the call. - Fix that the out of order TCP processing does not limit the number of outstanding queries over a connection. - Fix python documentation warning on functions.rst inplace_cb_reply. - Log ip address when http session recv fails, eg. due to tls fail. - Fix to set the tcp handler event toggle flag back to default when the handler structure is reused. - Clean the fix for out of order TCP processing limits on number of queries. It was tested to work. - Fix that http settings have colon in set_option, for http-endpoint, http-max-streams, http-query-buffer-size, http-response-buffer-size, and http-nodelay. - Fix memory leak of https port string when reading config. - local-zone regional allocations outside of chunk - Merge PR NLnetLabs#324 from James Renken: Add modern X.509v3 extensions to unbound-control TLS certificates. - Fix for PR NLnetLabs#324 to attach the x509v3 extensions to the client certificate. - Fix NLnetLabs#327: net/if.h check fails on some darwin versions; contribution by Joshua Root. - Fix NLnetLabs#320: potential memory corruption due to size miscomputation upton custom region alloc init. - Fix NLnetLabs#333: Unbound Segmentation Fault w/ log_info Functions From Python Mod. - Fix that minimal-responses does not remove addresses from a priming query response. - In man page note that tls-cert-bundle is read before permission drop and chroot. - Fix NLnetLabs#341: fixing a possible memory leak. - Fix memory leak after fix for possible memory leak failure. - Fix NLnetLabs#343: Fail to build --with-libnghttp2 with error: 'SSIZE_MAX' undeclared. - Fix for NLnetLabs#303 CVE-2020-28935 : Fix that symlink does not interfere with chown of pidfile. - Fix NLnetLabs#347: IP_DONTFRAG broken on Apple xcode 12.2. - Fix NLnetLabs#350: with the AF_NETLINK permission, to fix 1.12.0 error: failed to list interfaces: getifaddrs: Address family not supported by protocol. - Merge NLnetLabs#351 from dvzrv: Add AF_NETLINK to set of allowed socket address families. - iana portlist updated. - Fix crash when TLS connection is closed prematurely, when reuse tree comparison is not properly identical to insertion. - Fix padding of struct regional for 32bit systems. - with udp-connect ignore connection refused with UDP timeouts. - Fix udp-connect on FreeBSD, do send calls on connected UDP socket. - Better fix for reuse tree comparison for is-tls sockets. Where the tree key identity is preserved after cleanup of the TLS state. - Fix memory leak for edns client tag opcode config element. - Attempt fix for libevent state in tcp reuse cases after a packet is written. - Fix readagain and writeagain callback functions for comm point cleanup. - Fix to omit UDP receive errors from log, if verbosity low. These happen because of udp-connect. - For NLnetLabs#352: contrib/metrics.awk for Prometheus style metrics output. - Fix that after failed read, the readagain cannot activate. - Clear readagain upon decommission of pending tcp structure. - Fix compile warning for type cast in http2_submit_dns_response. - Fix when use free buffer to initialize rbtree for stream reuse. - Fix compile warnings for windows. - Fix compile warnings in rpz initialization. - Fix contrib/metrics.awk for FreeBSD awk compatibility. - Fix assertion failure on double callback when iterator loses interest in query at head of line that then has the tcp stream not kept for reuse. - Fix stream reuse and tcp fast open.
PreviousNext