RAID scrubbing - #64
Open
Emmankoko wants to merge 10000 commits into
Open
Conversation
Add support for RTL8125D revision 0x6890000
We now get a signal instead of kasserts and dmesg spam, but you might want to protect your ears before listening to the output.
Audio input has never been supported. Remove all remaining references to audio input in the code.
SEGV's trying to verify the thread magic.
…5.3 on case insensitive filesystems). Perhaps we should rename it openssl_MD5.3 and install it as such.
2025.04.25, Version 1.51.0 (Stable), 5152db2cbfeb5582e9c27c5ea1dba2cd9e10759b
Changes since version 1.50.0:
* win: fix leak in uv_os_tmpdir (Saúl Ibarra Corretgé)
* docs: fix RTD build (Saúl Ibarra Corretgé)
* win: lazy-load [GS]etThreadDescription symbols (Ben Noordhuis)
* linux: try preadv64/pwritev64 before preadv/pwritev (Ben Noordhuis)
* win: check cwd length before spawning a child process (Morten Engelhardt
Olsen)
* macos,bsd: handle missing /dev/null in chroot env (Andrey)
* doc: fix README link text (Julio Jordán)
* win: fix order of FILE_STAT_BASIC_INFORMATION struct fields (Hüseyin Açacak)
* macos: increase child process stdio buffer size (Jinho Jang)
* doc: add C3 bindings to LINKS.md (Velikiy Kirill)
* unix: remove unnecessary errno.h include in poll.c (Juan José Arboleda)
* win: fix the inconsistency in volume serial number (Hüseyin Açacak)
* unix: add thread affinity support on openharmony (rainlow)
* unix: enable getrusage for SunOS (Paolo Insogna)
* unix,win: accept NAN/INFINITY as file timestamps (Ben Noordhuis)
* win: add ENABLE_VIRTUAL_TERMINAL_INPUT raw tty mode (Anna Henningsen)
* test: handle UV_ENOTSUP in platform_output (cjihrig)
* doc: fix rendering of threading.html (Tobias Nießen)
* unix,sunos: enable use of sendmmsg on Solaris and Illumos (Stacey Marshall)
* unix: handle out of memory in iface name copy (Ben Noordhuis)
* openbsd: do not error out if cpuspeed is not available (Robert Nagy)
* test: skip thread_name_threadpool on AIX/IBMi (Abdirahim Musse)
* aix,ibmi: fix undeclared identifiers (Richard Lau)
* unix,sunos: prefer SO_REUSEPORT for load balancing (Stacey Marshall)
* doc: free lib pointer before function return (mugitya03)
* test: link with libm (Juan José Arboleda)
* style: rename parameter to match definition (Mohammed Keyvanzadeh)
* test: support partial output lines in test runner (cjihrig)
* build: switch from c90 to c11 (Ben Noordhuis)
* linux: allow nul bytes in abstract socket address (Itay Bookstein)
* sunos: use pipe2 on solaris and illumos (Andy Pan)
* unix: remove TOCTOU issues from uv_pipe_chmod (Ben Noordhuis)
* unix: use pipe_fname if getsockname returns nothing (crupest)
* haiku: use uint32 instead of uint32_t (AE1020)
* doc: update thread pool stack size comment (Ben Noordhuis)
* unix: improve uv_loop_init OOM handling (Ben Noordhuis)
* test: merge uv_tcp_connect callbacks (Juan José Arboleda)
* test: skip multievent tests on macOS with TSAN enabled (Juan José Arboleda)
* linux: align CPU quota calculation with Rust (Juan José Arboleda)
* kqueue: improve fs event watcher OOM handling (Juan José Arboleda)
* sunos: improve fs event watcher OOM handling (Juan José Arboleda)
* build: shorten instructions for cmake build (Juan José Arboleda)
2025.01.15, Version 1.50.0 (Stable), 8fb9cb919489a48880680a56efecff6a7dfb4504
Changes since version 1.49.2:
* ci: run macOS and iOS tests also on macOS 14 (Saúl Ibarra Corretgé)
* unix,win: map ENOEXEC errno (Saúl Ibarra Corretgé)
* test: skip multicast join test on ENOEXEC (Saúl Ibarra Corretgé)
* ci: make sure the macOS firewall is disabled (Saúl Ibarra Corretgé)
* darwin,test: squelch EBUSY error on multicast join (Saúl Ibarra Corretgé)
* build: update minimum cmake to 3.10 (Ben Noordhuis)
* kqueue: use EVFILT_USER for async if available (Jameson Nash)
* unix,win: fix off-by-one in uv_wtf8_to_utf16() (Ben Noordhuis)
* doc: add scala-native-loop to LINKS.md (Julian A Avar C)
* unix: fix build breakage on haiku, openbsd, etc (Jeffrey H. Johnson)
* kqueue: lower overhead in uv__io_check_fd (Andy Pan)
* doc: move cjihrig back to active maintainers (cjihrig)
* build(deps): bump actions/checkout from 3 to 4 (dependabot[bot])
* unix,pipe: fix handling null buffer in uv_pipe_get{sock,peer}name (Saúl
Ibarra Corretgé)
* unix,win: harmonize buffer checking (Saúl Ibarra Corretgé)
* unix,win: add support for detached threads (Juan José Arboleda)
* src: add uv_thread_set/getname() methods (Santiago Gimeno)
* build: fix qemu builds (Ben Noordhuis)
* win: drop support for windows 8 (Ben Noordhuis)
* linux: fix uv_cpu_info() arm cpu model detection (Ben Noordhuis)
* linux: always use io_uring for epoll batching (Ben Noordhuis)
* doc: clarify repeating timer behavior more (Ben Noordhuis)
* unix,win: handle nbufs=0 in uv_udp_try_send (Ben Noordhuis)
* win: use GetQueuedCompletionStatusEx directly (Saúl Ibarra Corretgé)
* win: enable uv_thread_{get,set}name on MinGW (Saúl Ibarra Corretgé)
* win: drop support for the legacy MinGW (Saúl Ibarra Corretgé)
* win,fs: get (most) fstat when no permission (Jameson Nash)
* win: plug uv_fs_event_start memory leak (amcgoogan)
* test: address FreeBSD kernel bug causing NULL path in fsevents (Juan José
Arboleda)
* unix: refactor udp sendmsg code (Ben Noordhuis)
* unix,win: add uv_udp_try_send2 (Ben Noordhuis)
* test: fix flaky flaky udp_mmsg test (Juan José Arboleda)
* build: enable fdsan in Android (Juan José Arboleda)
* test: fix udp-multicast-join for FreeBSD (Juan José Arboleda)
* win: fix leak processing fs event (Saúl Ibarra Corretgé)
* src: set a default thread name for workers (Rafael Gonzaga)
* misc: implement uv_getrusage_thread (Juan José Arboleda)
2024.10.18, Version 1.49.2 (Stable), e1095c7a4373ce00cd8874d8e820de5afb25776e
Changes since version 1.49.1:
* win,fs: remove trailing slash in junctions (Hüseyin Açacak)
* Revert "linux: eliminate a read on eventfd per wakeup" (Ben Noordhuis)
* win: Fix linked list logic in getaddrinfo (Thad House)
* win: fix compilation against Windows 24H2 SDK (Thad House)
* win: remap ERROR_NOACCESS and ERROR_BUFFER_OVERFLOW (Jameson Nash)
* win,fs: match trailing slash presence in junctions to user input (Jameson
Nash)
2024.10.11, Version 1.49.1 (Stable), 8be336f4ee296d20e1c071a44d6adf279e202236
Changes since version 1.49.0:
* build: add darwin-syscalls.h to release tarball (Ben Noordhuis)
* linux: use IORING_SETUP_NO_SQARRAY when available (Ben Noordhuis)
* linux: use IORING_OP_FTRUNCATE when available (Ben Noordhuis)
* win: fix pNtQueryDirectoryFile check (Rialbat)
* win: fix WriteFile() error translation (Santiago Gimeno)
* win,fs: uv_fs_rmdir() to return ENOENT on file (Santiago Gimeno)
* win,pipe: ipc code does not support async read (Jameson Nash)
* netbsd: fix build (Adam)
* win,fs: fix bug in fs__readdir (Hüseyin Açacak)
* unix: workaround gcc bug on armv7 (Santiago Gimeno)
* unix: work around arm-linux-gnueabihf-gcc bug (Ben Noordhuis)
* unix: fix uv_tcp_keepalive in smartOS (Santiago Gimeno)
* unix: fix uv_getrusage ru_maxrss on solaris (Poul T Lomholt)
2024.09.25, Version 1.49.0 (Stable), d2e56a5e8d3e39947b78405ca6e4727c70f5568a
Changes since version 1.48.0:
* test: fix -Wpointer-to-int-cast on 32 bits systems (Ben Noordhuis)
* build: add alias for libuv to CMakeLists.txt (Anthony Alayo)
* linux: create io_uring sqpoll ring lazily (Ben Noordhuis)
* misc: run sample CI when code changes (Jameson Nash)
* linux: fix uv_available_parallelism using cgroup (Thomas Walter)
* doc: fix tty example segfault (hiiizxf)
* udp,unix: fix sendmsg use-after-free (Geddy)
* cygwin: implement uv_resident_set_memory (Farzin Monsef)
* win: almost fix race detecting ESRCH in uv_kill (Santiago Gimeno)
* test: disable env var test under win32+asan (Ben Noordhuis)
* unix,fs: fix realpath calls that use the system allocator (Saúl Ibarra
Corretgé)
* sunos: sync tcp keep-alive with other unices (Andy Pan)
* linux: fix /proc/self/stat executable name parsing (Farzin Monsef)
* test,ci: fix [AM]San, disable ASLR (Ben Noordhuis)
* win: remove _alloca usage (Ben Noordhuis)
* unix: reinstate preadv/pwritev fallback code (Ben Noordhuis)
* linux: don't delay EPOLL_CTL_DEL operations (Ben Noordhuis)
* doc: fix typos in ChangeLog (tgolang)
* unix,win: error on zero delay tcp keepalive (Saúl Ibarra Corretgé)
* win: simplify uv_once implementation (Saúl Ibarra Corretgé)
* doc: correct udp socket options documentation (Ben Noordhuis)
* linux: don't use sendmmsg() for single datagrams (Ben Noordhuis)
* unix: fix fd leaks in SCM_RIGHTS error path (Ben Noordhuis)
* win: robustify uv_os_getenv() error checking (Ben Noordhuis)
* test: use newer ASSERT_MEM_EQ macro (Ben Noordhuis)
* unix: de-duplicate conditions for using kqueue (Brad King)
* darwin: simplify uv_hrtime (Saúl Ibarra Corretgé)
* mailmap: update saghul's main email address (Saúl Ibarra Corretgé)
* win: remove no longer needed define (Saúl Ibarra Corretgé)
* doc: fix some typos (josedelinux)
* linux,darwin: make `uv_fs_copyfile` behaves like `cp -r` (Juan José Arboleda)
* dragonfly: disable SO_REUSEPORT for UDP socket bindings (Andy Pan)
* test: remove the obsolete HAVE_KQUEUE macro (Andy Pan)
* unix: use the presence of SOCK_* instead of OS macros for socketpair (Andy
Pan)
* bsd: support pipe2() on *BSD (Andy Pan)
* unix: support SO_REUSEPORT with load balancing for TCP (Andy Pan)
* doc: add entries for extended getpw (Juan José Arboleda)
* test: fix the flaky test-tcp-reuseport (Andy Pan)
* aix,ibmi: fix compilation errors in fs_copyfile (Jeffrey H. Johnson)
* unix: support SO_REUSEPORT with load balancing for UDP (Andy Pan)
* tcpkeepalive: distinguish OS versions and use proper time units (Andy Pan)
* win: map ERROR_BAD_EXE_FORMAT to UV_EFTYPE (Hüseyin Açacak)
* doc: add instruction how to install with Conan (Uilian Ries)
* unix,win: remove unused req parameter from macros (Viacheslav Muravyev)
* build: fix android ci build (Ben Noordhuis)
* unix,win: export wtf8 functions properly (Ben Noordhuis)
* hurd: add includes and macro prerequisites (Olivier Valentin)
* hurd: stub uv_thread_setpriority() (Olivier Valentin)
* ci: use macOS 12 for macOS and iOS builds (Saúl Ibarra Corretgé)
* darwin: fix crash on iOS(arm64) (郑苏波 (Super Zheng))
* Create dependabot.yml for updating github-actions (Jameson Nash)
* doc: correct names of Win32 APIs in fs.rst (zeertzjq)
* ci: bump upload and download-artifact versions (dependabot[bot])
* ci: bump actions/setup-python from 4 to 5 (dependabot[bot])
* ci: bump KyleMayes/install-llvm-action from 1 to 2 (dependabot[bot])
* win,error: remap ERROR_NO_DATA to EAGAIN (Jameson Nash)
* test: handle zero-length udp datagram (Ben Noordhuis)
* misc: remove splay trees macros (Viacheslav Muravyev)
* test,openbsd: remove superfluous ifdef guard (Ben Noordhuis)
* win,fs: use posix delete semantics, if supported (Ian Butterworth)
* win: fix env var in uv_os_homedir and uv_os_tmpdir (Hüseyin Açacak)
* fsevents: detect watched directory removal (Santiago Gimeno)
* ci: bump actions/checkout to 4 (dependabot[bot])
* linux: eliminate a read on eventfd per wakeup (Andy Pan)
* test: pipe_overlong_path handle ENAMETOOLONG (Abdirahim Musse)
* win,fs: use the new Windows fast stat API (Hüseyin Açacak)
* win,pipe: fix race with concurrent readers (Jameson Nash)
* win,signal: fix data race dispatching SIGWINCH (Jameson Nash)
* build: ubsan fixes (Matheus Izvekov)
* linux: disable SQPOLL io_uring by default (Santiago Gimeno)
* win: fix fs.c ubsan failure (Matheus Izvekov)
* test: rmdir can return `EEXIST` or `ENOTEMPTY` (Richard Lau)
* test: check for `UV_CHANGE` or `UV_RENAME` event (Richard Lau)
* unix,fs: silence -Wunused-result warning (Santiago Gimeno)
* linux: support abstract unix socket autobinding (Ben Noordhuis)
* kqueue: use EVFILT_USER for async if available (Andy Pan)
* win: remove deprecated GetVersionExW call (Shelley Vohr)
* doc: document uv_loop_option (握猫猫)
* doc: fix the `uv_*_set_data` series of functions (握猫猫)
* doc: properly label enumerations and types (握猫猫)
* doc: document specific macOS fs_event behavior (Santiago Gimeno)
* win,pipe: restore fallback handling for blocking pipes (Jameson Nash)
* unix,win: remove unused rb-tree macro parameters (Viacheslav Muravyev)
* win: compute parallelism from process cpu affinity (Ben Noordhuis)
* win: use NtQueryInformationProcess in uv_os_getppid (Zuohui Yang)
* win,pipe: fix missing assignment to success (Jameson Nash)
* win: fix uv_available_parallelism on win32 (Ben Noordhuis)
* win,pipe: fix another missing assignment to success (Jameson Nash)
* kqueue: disallow ill-suited file descriptor kinds (Andy Pan)
* unix: restore tty attributes on handle close (Ben Noordhuis)
* test: delete test with invalid assumption (Ben Noordhuis)
* dragonflybsd: fix compilation failure (Jeffrey H. Johnson)
* test: run android tests on ci (Edigleysson Silva (Edy))
* darwin: add udp mmsg support (Raihaan Shouhell)
* unix: work around arm-linux-gnueabihf-gcc bug (Ben Noordhuis)
* unix: expand uv_available_parallelism() to support more platforms (Ondřej
Surý)
* doc: add known issue in armv7 (Santiago Gimeno)
2024.02.07, Version 1.48.0 (Stable), e9f29cb984231524e3931aa0ae2c5dae1a32884e
Changes since version 1.47.0:
* misc: remove deprecated stalebot file (Jameson Nash)
* build: disable windows asan buildbot (Ben Noordhuis)
* test: don't run tcp_writealot under msan (Ben Noordhuis)
* build,win: remove extraneous -lshell32 (Ben Noordhuis)
* unix: ignore ifaddrs with NULL ifa_addr (Stephen Gallagher)
* unix,win: utility for setting priority for thread (Hao Hu)
* pipe: add back error handling to connect / bind (Jameson Nash)
* test: check if ipv6 link-local traffic is routable (Ben Noordhuis)
* win: remove check for UV_PIPE_NO_TRUNCATE (Jameson Nash)
* linux: disable io_uring on hppa below kernel 6.1.51 (matoro)
* unix,win: fix read past end of pipe name buffer (Ben Noordhuis)
* unix: unbreak macOS < 10.14 (Sergey Fedorov)
* aix: disable ipv6 link local (Abdirahim Musse)
* doc: move cjihrig to emeriti (cjihrig)
* unix: correct pwritev conditional (Bo Anderson)
* test_fs.c: Fix issue on 32-bit systems using btrfs (Stephen Gallagher)
* misc: ignore libuv-release-tool files (Jameson Nash)
* win: honor NoDefaultCurrentDirectoryInExePath env var (Ardi Nugraha)
* idna: fix compilation warning (Saúl Ibarra Corretgé)
* linux: remove HAVE_IFADDRS_H macro (Ben Noordhuis)
* test: skip tcp-write-in-a-row on IBM i (Abdirahim Musse)
* build,win: work around missing uuid.dll on MinGW (Anton Bachin)
* win: stop using deprecated names (Matheus Izvekov)
* unix,win: fix busy loop with zero timeout timers (Matheus Izvekov)
* aix,ibmi: use uv_interface_addresses instead of getifaddrs (Abdirahim Musse)
* linux: fix bind/connect for abstract sockets (Santiago Gimeno)
* win: replace c99 comments with c89 comments (Trevor Flynn)
* build: add .cache clangd folder to .gitignore (Juan José Arboleda)
* unix: support full TCP keep-alive on Solaris (Andy Pan)
* freebsd: fix F_KINFO file path handling (David Carlier)
* linux: retry fs op if unsupported by io_uring (Santiago Gimeno)
* freebsd: fix build on non-intel archs (David Carlier)
* unix: optimize uv__tcp_keepalive cpp directives (Andy Pan)
* linux: disable io_uring on ppc64 and ppc64le (Brad King)
* doc: add very basic Security Policy document (Santiago Gimeno)
* build: re-enable msvc-asan job on CI (Jameson Nash)
* win/spawn: optionally run executable paths with no file extension (Brad King)
* win: fix ESRCH implementation (Jameson Nash)
* unix,win: reset the timer queue on stop (Santiago Gimeno)
* fix: always zero-terminate idna output (Ben Noordhuis)
* fix: reject zero-length idna inputs (Ben Noordhuis)
* test: empty strings are not valid IDNA (Santiago Gimeno)
* Merge pull request from GHSA-f74f-cvh7-c6q6 (Ben Noordhuis)
2023.11.06, Version 1.47.0 (Stable), be6b81a352d17513c95be153afcb3148f1a451cd
Changes since version 1.46.0:
* test: fix license blurb (Ben Noordhuis)
* linux: fix harmless warn_unused_result warning (Shuduo Sang)
* darwin: fix build warnings (小明)
* linux: don't use io_uring on pre-5.10.186 kernels (Ben Noordhuis)
* fs: fix WTF-8 decoding issue (Jameson Nash)
* test: enable disabled tcp_connect6_error_fault (Ben Noordhuis)
* test: enable disabled fs_link (Ben Noordhuis)
* test: enable disabled spawn_same_stdout_stderr (Ben Noordhuis)
* linux: handle UNAME26 personality (Ben Noordhuis)
* build: move cmake_minimum_required version to 3.9 (Keith Winstein)
* unix: set ipv6 scope id for link-local addresses (Ben Noordhuis)
* unix: match kqueue and epoll code (Trevor Norris)
* win,spawn: allow `%PATH%` to be unset (Kyle Edwards)
* doc: switch to Furo, a more modern Sphinx theme (Saúl Ibarra Corretgé)
* darwin: make TCP_KEEPINTVL and TCP_KEEPCNT available (小明)
* win,fs: avoid winapi macro redefinition (Brad King)
* linux: add missing riscv syscall numbers (michalbiesek)
* doc: fix broken "Shared library" Wikipedia link (Alois Klink)
* unix: get mainline kernel version in Ubuntu (Santiago Gimeno)
* unix: get mainline kernel version in Debian (Ben Noordhuis)
* build: fix qemu install in CI-unix workflow (Santiago Gimeno)
* unix: disable io_uring close on selected kernels (Santiago Gimeno)
* test: skip tests when ipv6 is not available (Santiago Gimeno)
* ibmi: implement ifaddrs, getifaddrs, freeifaddrs (Abdirahim Musse)
* unix: reset signal counters after fork (SmorkalovG)
* win,process: avoid assert after spawning Store app (Jameson Nash)
* unix: remove pread/preadv conditionals (Ben Noordhuis)
* unix: remove pwrite/pwritev conditionals (Ben Noordhuis)
* darwin: remove workaround for data corruption bug (Ben Noordhuis)
* src: default to stream=stderr in handle printer (Ben Noordhuis)
* test: switch to new-style ASSERT_EQ macros (Pleuvens)
* zos: correctly get cpu model in uv_cpu_info() (jolai)
* test: fix get_passwd2 on IBM i (Abdirahim Musse)
* unix: don't malloc on sync uv_fs_read (Ben Noordhuis)
* freebsd: get fs event path with fcntl(F_KINFO) (David Carlier)
* test: switch from ASSERT_* to ASSERT_PTR_* (Pleuvens)
* darwin: workaround apple pthread_cond_wait bug (Julien Roncaglia)
* doc: uv_close should be called after exit callback (Pleuvens)
* test: 192.0.2.0/24 is the actual -TEST-NET-1 (prubel)
* unix: add back preadv/pwritev fallback (Ben Noordhuis)
* unix: rename variable for consistency (Ben Noordhuis)
* unix: merge read/write code into single functions (Ben Noordhuis)
* doc: filename arg to uv_fs_event_cb can be NULL (Ben Noordhuis)
* build,win: we need to link against shell32.lib (Per Allansson)
* unix: no preadv/pwritev workaround if not needed (Jeffrey H. Johnson)
* build: add CI for Windows ARM64 (build only) (Per Allansson)
* linux: disable io_uring on 32 bits arm systems (Ben Noordhuis)
* build: run sanitizers on macos ci (Ben Noordhuis)
* misc: export WTF8 conversion utilities (Jameson Nash)
* build: fix libuv.a file name for cmake (Jameson Nash)
* build: add windows ubsan and clang ci (Matheus Izvekov)
* win: improve accuracy of ProductName between arch (Christian Heimlich)
2023.06.30, Version 1.46.0 (Stable), f0bb7e40f0508bedf6fad33769b3f87bb8aedfa6
Changes since version 1.45.0:
* Add SHA to ChangeLog (Santiago Gimeno)
* misc: update readthedocs config (Jameson Nash)
* test: remove erroneous RETURN_SKIP (Ben Noordhuis)
* android: disable io_uring support (Ben Noordhuis)
* linux: add some more iouring backed fs ops (Santiago Gimeno)
* build: add autoconf option for disable-maintainer-mode (Jameson Nash)
* fs: use WTF-8 on Windows (Stefan Karpinski)
* unix,win: replace QUEUE with struct uv__queue (Ben Noordhuis)
* linux: fs_read to use io_uring if iovcnt > IOV_MAX (Santiago Gimeno)
* ios: fix uv_getrusage() ru_maxrss calculation (Ben Noordhuis)
* include: update outdated code comment (Ben Noordhuis)
* linux: support abstract unix sockets (Ben Noordhuis)
* unix,win: add UV_PIPE_NO_TRUNCATE flag (Ben Noordhuis)
* unix: add loongarch support (liuxiang88)
* doc: add DPS8M to LINKS.md (Jeffrey H. Johnson)
* include: add EUNATCH errno mapping (Abdirahim Musse)
* src: don't run timers if loop is stopped/unref'd (Trevor Norris)
* win: fix -Wpointer-to-int-cast warning (Ben Noordhuis)
* test,win: fix -Wunused-variable warning (Ben Noordhuis)
* test,win: fix -Wformat warning (Ben Noordhuis)
* linux: work around io_uring IORING_OP_CLOSE bug (Ben Noordhuis)
* win: remove unused functions (Ben Noordhuis)
* bench: add bench to check uv_loop_alive (Trevor Norris)
* test: add uv_cancel test for threadpool (Trevor Norris)
* unix: skip prohibited syscalls on tvOS and watchOS (小明)
* unix,fs: make no_pwritev access thread-safe (Santiago Gimeno)
* unix: fix build for lower versions of Android (小明)
2023.05.19, Version 1.45.0 (Stable), 96e05543f53b19d9642b4b0dd73b86ad3cea313e
Changes since version 1.44.2:
* win: remove stdint-msvc2008.h (Ben Noordhuis)
* android: remove pthread-fixes.c (Ben Noordhuis)
* build: enable MSVC_RUNTIME_LIBRARY setting (自发对称破缺)
* unix: switch to c11 atomics (Ben Noordhuis)
* unix: don't accept() connections in a loop (Ben Noordhuis)
* win: fix off-by-1 buffer overrun in uv_exepath() (Ben Noordhuis)
* build: switch ci from macos-10.15 to macos-11 (Ben Noordhuis)
* win: fix thread race in uv_cwd() and uv_chdir() (Ben Noordhuis)
* unix,win: remove UV_HANDLE_SHUTTING flag (Santiago Gimeno)
* win: support Windows 11 in uv_os_uname() (Luan Devecchi)
* unix: fix uv_getrusage() ru_maxrss reporting (Ben Noordhuis)
* doc: add note about offset -1 in uv_fs_read/write (Steven Schveighoffer)
* test: fix musl libc.a dlerror() test expectation (Ben Noordhuis)
* kqueue: DRY file descriptor deletion logic (Ben Noordhuis)
* linux: teach uv_get_constrained_memory() cgroupsv2 (Ben Noordhuis)
* build: upgrade qemu-user-static package (Ben Noordhuis)
* linux: move epoll.c back into linux-core.c (Ben Noordhuis)
* unix: remove pre-macos 10.8 compatibility hack (Ben Noordhuis)
* unix,win: fix memory leak in uv_fs_scandir() (Ben Noordhuis)
* build: restore qemu download logic (Ben Noordhuis)
* win: fix uv__pipe_accept memory leak (number201724)
* doc: update LINKS.md (Daniel)
* unix: simplify atomic op in uv_tty_reset_mode() (Ben Noordhuis)
* build: add LIBUV_BUILD_SHARED cmake option (Christian Clason)
* linux: remove unused or obsolete syscall wrappers (Ben Noordhuis)
* linux: merge files back into single file (Ben Noordhuis)
* stream: process more than one write req per loop tick (ywave620)
* unix,win: give thread pool threads an 8 MB stack (Ben Noordhuis)
* build: add MemorySanitizer (MSAN) support (Ben Noordhuis)
* doc: add uv_poll_cb status==UV_EBADF note (jensbjorgensen)
* build: support AddressSanitizer on MSVC (Jameson Nash)
* win,pipe: improve method of obtaining pid for ipc (number201724)
* thread: add support for affinity (daomingq)
* include: map ENODATA error code (Ben Noordhuis)
* build: remove bashism from autogen.sh (Santiago Gimeno)
* win,tcp,udp: remove "active streams" optimization (Saúl Ibarra Corretgé)
* win: drop code checking for Windows XP / Server 2k3 (Saúl Ibarra Corretgé)
* unix,win: fix 'sprintf' is deprecated warning (twosee)
* doc: mention close_cb can be NULL (Qix)
* win: optimize udp receive performance (ywave620)
* win: fix an incompatible types warning (twosee)
* doc: document 0 return value for free/total memory (Ben Noordhuis)
* darwin: use hw.cpufrequency again for frequency info (Jameson Nash)
* win,test: change format of TEST_PIPENAME's (Santiago Gimeno)
* win,pipe: fixes in uv_pipe_connect() (Santiago Gimeno)
* misc: fix return value of memory functions (theanarkh)
* src: add new metrics APIs (Trevor Norris)
* thread: add uv_thread_getcpu() (daomingq)
* build: don't use ifaddrs.h on solaris 10 (Edward Humes)
* unix,win: add uv_get_available_memory() (Tim Besard)
* test: fix -Wunused-but-set-variable warnings (Ben Noordhuis)
* doc: bump min supported linux and freebsd versions (Ben Noordhuis)
* Add Socket Runtime to the LINKS.md (Sergey Rubanov)
* unix: drop kfreebsd support (Ben Noordhuis)
* win: fix fstat for pipes and character files (Stefan Stojanovic)
* win: fix -Wunused-variable warning (Ben Noordhuis)
* win: fix -Wunused-function warning (Ben Noordhuis)
* build: drop qemu-alpha from ci matrix (Ben Noordhuis)
* win: move child_stdio_buffer out of uv_process_t (Santiago Gimeno)
* test: fix some unreachable code warnings (Santiago Gimeno)
* linux: simplify uv_uptime() (Ben Noordhuis)
* test: unflake fs_event_watch_dir test (Ben Noordhuis)
* darwin: remove unused fsevents symbol lookups (Ben Noordhuis)
* build: add define guard around UV_EXTERN (Zvicii)
* build: add UndefinedBehaviorSanitizer support (Ben Noordhuis)
* build: enable platform_output test on qemu (Ben Noordhuis)
* linux: handle cpu hotplugging in uv_cpu_info() (Ben Noordhuis)
* build: remove unnecessary policy setting (dundargoc)
* docs: add vcpkg instruction step (Jack·Boos·Yu)
* win,fs: fix readlink errno for a non-symlink file (Darshan Sen)
* misc: extend getpw to take uid as an argument (Jameson Nash)
* unix,win: use static_assert when available (Ben Noordhuis)
* docs: delete code Makefile (Jameson Nash)
* docs: add CI for docs PRs (Jameson Nash)
* docs: update Sphinx version on RTD (Jameson Nash)
* doc: clean up license file (Ben Noordhuis)
* test: fix some warnings when compiling tests (panran)
* build,win: add mingw-w64 CI configuration (Jameson Nash)
* build: add CI for distcheck (Jameson Nash)
* unix: remove busy loop from uv_async_send (Jameson Nash)
* doc: document uv_fs_cb type (Tamás Bálint Misius)
* build: Improve build by cmake for Cygwin (erw7)
* build: add libuv:: namespace to libuvConfig.cmake (AJ Heller)
* test: fix ThreadSanitizer thread leak warning (Ben Noordhuis)
* test: fix ThreadSanitizer data race warning (Ben Noordhuis)
* test: fix ThreadSanitizer data race warning (Ben Noordhuis)
* test: fix ThreadSanitizer data race warning (Ben Noordhuis)
* test: cond-skip fork_threadpool_queue_work_simple (Ben Noordhuis)
* test: cond-skip signal_multiple_loops (Ben Noordhuis)
* test: cond-skip tcp_writealot (Ben Noordhuis)
* build: promote tsan ci to must-pass (Ben Noordhuis)
* build: add CI for OpenBSD and FreeBSD (James McCoy)
* build,test: fix distcheck errors (Jameson Nash)
* test: remove bad tty window size assumption (Ben Noordhuis)
* darwin,process: feed kevent the signal to reap children (Jameson Nash)
* unix: abort on clock_gettime() error (Ben Noordhuis)
* test: remove timing-sensitive check (Ben Noordhuis)
* unix: DRY and fix tcp bind error path (Jameson Nash)
* macos: fix fsevents thread race conditions (Ben Noordhuis)
* win: fix leak in uv_chdir (Trevor Norris)
* test: make valgrind happy (Trevor Norris)
* barrier: wait for prior out before next in (Jameson Nash)
* test: fix visual studio 2015 build error (Ben Noordhuis)
* linux: fix ceph copy error truncating readonly files (Bruno Passeri)
* test: silence more valgrind warnings (Trevor Norris)
* doc: add entries to LINKS.md (Trevor Norris)
* win,unix: change execution order of timers (Trevor Norris)
* doc: add trevnorris to maintainers (Trevor Norris)
* linux: remove epoll_pwait() emulation code path (Ben Noordhuis)
* linux: replace unsafe macro with inline function (Ben Noordhuis)
* linux: remove arm oabi support (Ben Noordhuis)
* unix,sunos: SO_REUSEPORT not valid on all sockets (Stacey Marshall)
* doc: consistent single backquote in misc.rst (Jason Zhang)
* src: switch to use C11 atomics where available (Trevor Norris)
* test: don't use static buffer for formatting (Ben Noordhuis)
* linux: introduce io_uring support (Ben Noordhuis)
* linux: fix academic valgrind warning (Ben Noordhuis)
* test: disable signal test under ASan and MSan (Ben Noordhuis)
* linux: add IORING_OP_OPENAT support (Ben Noordhuis)
* linux: add IORING_OP_CLOSE support (Ben Noordhuis)
* linux: remove bug workaround for obsolete kernels (Ben Noordhuis)
* doc: update active maintainers list (Ben Noordhuis)
* test: add ASSERT_OK (Trevor Norris)
* src: fix events/events_waiting metrics counter (Trevor Norris)
* unix,win: add uv_clock_gettime() (Ben Noordhuis)
* build: remove freebsd and openbsd buildbots (Ben Noordhuis)
* win: fix race condition in uv__init_console() (sivadeilra)
* linux: fix logic bug in sqe ring space check (Ben Noordhuis)
* linux: use io_uring to batch epoll_ctl calls (Ben Noordhuis)
* macos: update minimum supported version (Santiago Gimeno)
* docs: fix some typos (cui fliter)
* unix: use memcpy() instead of type punning (Ben Noordhuis)
* test: add additional assert (Mohammed Keyvanzadeh)
* build: export compile_commands.json (Lewis Russell)
* win,process: write minidumps when sending SIGQUIT (Elliot Saba)
* unix: constrained_memory should return UINT64_MAX (Tim Besard)
* unix: handle CQ overflow in iou ring (Santiago Gimeno)
* unix: remove clang compiler warning pragmas (Ben Noordhuis)
* win: fix mingw build (gengjiawen)
* test: fix -Wbool-compare compiler warning (Ben Noordhuis)
* win: define MiniDumpWithAvxXStateContext always (Santiago Gimeno)
* freebsd: hard-code UV_ENODATA definition (Santiago Gimeno)
* linux: work around EOWNERDEAD io_uring kernel bug (Ben Noordhuis)
* linux: fix WRITEV with lots of bufs using io_uring (Santiago Gimeno)
2022.07.12, Version 1.44.2 (Stable), 0c1fa696aa502eb749c2c4735005f41ba00a27b8
Changes since version 1.44.1:
* Add SHA to ChangeLog (Jameson Nash)
* aix, ibmi: handle server hang when remote sends TCP RST (V-for-Vasili)
* build: make CI a bit noisier (Jameson Nash)
* process: reset the signal mask if the fork fails (Jameson Nash)
* zos: implement cmpxchgi() using assembly (Shuowang (Wayne) Zhang)
* build: AC_SUBST for AM_CFLAGS (Claes Nästén)
* ibmi: Implement UDP disconnect (V-for-Vasili)
* doc: update active maintainers list (Ben Noordhuis)
* build: fix kFreeBSD build (James McCoy)
* build: remove Windows 2016 workflows (Darshan Sen)
* Revert "win,errors: remap ERROR_ACCESS_DENIED to UV_EACCES" (Darshan Sen)
* unix: simplify getpwuid call (Jameson Nash)
* build: filter CI by paths and branches (Jameson Nash)
* build: add iOS to macos CI (Jameson Nash)
* build: re-enable CI for windows changes (Jameson Nash)
* process,iOS: fix build breakage in process.c (Denny C. Dai)
* test: remove unused declarations in tcp_rst test (V-for-Vasili)
* core: add thread-safe strtok implementation (Guilherme Íscaro)
* win: fix incompatible-types warning (twosee)
* test: fix flaky file watcher test (Ben Noordhuis)
* build: fix AIX xlc autotools build (V-for-Vasili)
* unix,win: fix UV_RUN_ONCE + uv_idle_stop loop hang (Ben Noordhuis)
* win: fix unexpected ECONNRESET error on TCP socket (twosee)
* doc: make sample cross-platform build (gengjiawen)
* test: separate some static variables by test cases (Hannah Shi)
* sunos: fs-event callback can be called after uv_close() (Andy Fiddaman)
* uv: re-register interest in a file after change (Shuowang (Wayne) Zhang)
* uv: register UV_RENAME event for _RFIM_UNLINK (Shuowang (Wayne) Zhang)
* uv: register __rfim_event 156 as UV_RENAME (Shuowang (Wayne) Zhang)
* doc: remove smartos from supported platforms (Ben Noordhuis)
* macos: avoid posix_spawnp() cwd bug (Jameson Nash)
* release: check versions of autogen scripts are newer (Jameson Nash)
* test: rewrite embed test (Ben Noordhuis)
* openbsd: use utimensat instead of lutimes (tuftedocelot)
* doc: fix link to uvwget example main() function (blogdaren)
* unix: use MSG_CMSG_CLOEXEC where supported (Ben Noordhuis)
* test: remove disabled callback_order test (Ben Noordhuis)
* win,pipe: fix bugs with pipe resource lifetime management (Jameson Nash)
* loop: better align order-of-events behavior between platforms (Jameson Nash)
* aix,test: uv_backend_fd is not supported by poll (V-for-Vasili)
* kqueue: skip EVFILT_PROC when invalidating fds (chucksilvers)
* darwin: fix atomic-ops.h ppc64 build (Sergey Fedorov)
* zos: don't err when killing a zombie process (Shuowang (Wayne) Zhang)
* zos: avoid fs event callbacks after uv_close() (Shuowang (Wayne) Zhang)
* zos: correctly format interface addresses names (Shuowang (Wayne) Zhang)
* zos: add uv_interface_addresses() netmask support (Shuowang (Wayne) Zhang)
* zos: improve memory management of ip addresses (Shuowang (Wayne) Zhang)
* tcp,pipe: fail `bind` or `listen` after `close` (theanarkh)
* zos: implement uv_available_parallelism() (Shuowang (Wayne) Zhang)
* udp,win: fix UDP compiler warning (Jameson Nash)
* zos: fix early exit of epoll_wait() (Shuowang (Wayne) Zhang)
* unix,tcp: fix errno handling in uv__tcp_bind() (Samuel Cabrero)
* shutdown,unix: reduce code duplication (Jameson Nash)
* unix: fix c99 comments (Ben Noordhuis)
* unix: retry tcgetattr/tcsetattr() on EINTR (Ben Noordhuis)
* docs: update introduction.rst (Ikko Ashimine)
* unix,stream: optimize uv_shutdown() codepath (Jameson Nash)
* zos: delay signal handling until after normal i/o (Shuowang (Wayne) Zhang)
* stream: uv__drain() always needs to stop POLLOUT (Jameson Nash)
* unix,tcp: allow EINVAL errno from setsockopt in uv_tcp_close_reset() (Stacey
Marshall)
* win,shutdown: improve how shutdown is dispatched (Jameson Nash)
Hat tip to Ian D. Leroux for the suggested wording.
…ed data Remove unneeded Testspec. Add untested core dump handler.
Thanks to Jessica Marz at Intel for helping make this happen.
BIND 9.20.18#
Security Fixes#
[CVE-2025-13878] Fix incorrect length checks for BRID and HHIT
records. d4c0d61701
Malformed BRID and HHIT records could trigger an assertion
failure. This has been fixed.
ISC would like to thank Vlatko Kosturjak from Marlink Cyber
for bringing this vulnerability to our attention. [GL #5616]
Feature Changes#
Support compilation with cmocka 2.0.0+ bb9234c6ce
The assert_in_range() function was deprecated in favor of
assert_int_in_range() and assert_uint_in_range(). Add compatibility
shims for cmocka<2.0.0 and use the new functions. [GL #5699]
[GL !11437]
Add more information to the rndc recursing output about fetches.
9766feb4df
This adds more information about the active fetches for debugging
and diagnostic purposes. [GL !11358]
Bug Fixes#
Make key rollovers more robust. 7a70d05b5d
A manual rollover when the zone is in an invalid DNSSEC state
causes predecessor keys to be removed too quickly. Additional
safeguards to prevent this have been added. DNSSEC records will
not be removed from the zone until the underlying state machine
has moved back into a valid DNSSEC state. [GL #5458] [GL !11329]
Fix a catalog zones issue when a member zone could fail to
load. 95cbc2c327
A catalog zone's member zone could fail to load in some rare
cases, when the internally generated zone configuration string
was exceeding 512 bytes. That condition only was not enough
for the issue to arise, but it was a necessary condition. This
could happen, for example, if the catalog zone's default primary
servers list contained a large number of items. This has been
fixed. [GL #5658] [GL !11349]
Allow glue in delegations with QTYPE=ANY. 441158ac18
When a query for type ANY triggered a delegation response, all
additional data was omitted from the response, including
mandatory glue. This has been corrected. [GL #5659] [GL !11283]
Adding NSEC3 opt-out records could leave invalid records in
chain. 1b90296e1f
When creating an NSEC3 opt-out chain, a node in the chain could
be removed too soon, causing the previous NSEC3 being unable
to be found, resulting in invalid NSEC3 records to be left in
the zone. This has been fixed. [GL #5671] [GL !11340]
Fix slow speed of NSEC3 optout large delegation zone signing.
88f915b77b
BIND 9.20 takes much more time signing a large delegation zone
with NSEC3 optout compared to version 9.18. This has been
restored. [GL #5672] [GL !11362]
Reconfigure NSEC3 opt-out zone to NSEC causes zone to be invalid.
1d0e19c612
A zone that is signed with NSEC3, opt-out enabled, and then
reconfigured to use NSEC, causes the zone to be published with
missing NSEC records. This has been fixed. [GL #5679] [GL
!11401]
Fix a possible catalog zone issue during reconfiguration.
911b45b2b3
The named process could terminate unexpectedly during
reconfiguration when a catalog zone update was taking place at
the same time. This has been fixed. [GL !11386]
Fix the charts in the statistics channel. 7c7b01dd65
The charts in the statistics channel could sometimes fail to
render in the browser, and were completely disabled for
Mozilla-based browsers for historical reasons. This has been
fixed. [GL !11364]
BIND 9.20.17#
New Features#
Add spatch to detect implicit bool/int/result cast. 02be363d1f
Detection of implicit cast from a boolean into an int, or an
isc_result_t into a boolean (either in an assignement or return
position).
If such pattern is found, a warning comment is added into the
code (and the CI will fails) so the error can be spotted and
manually fixed. [GL !11237]
Feature Changes#
Use atomics for CMM_{LOAD,STORE}_SHARED with ThreadSanitizer.
94fa721705
Upstream has removed the atomics implementation of CMM_LOAD_SHARED
and CMM_STORE_SHARED as these can be used also with non-stdatomics
types. As we only use the CMM api with stdatomics types, we
can restore the previous behaviour to prevent ThreadSanitizer
warnings. [GL #5660] [GL !11290]
Provide more information when the memory allocation fails.
6749725610
Provide more information about the failure when the memory
allocation fails. [GL !11304]
Reduce the number of outgoing queries. 457b470e96
Reduces the number of outgoing queries when resolving the
nameservers for delegation points. This helps the DNS resolver
with cold cache resolve client queries with complex delegation
chains and redirections. [GL !11258]
Bug Fixes#
Fix the spurious timeouts while resolving names. d96cf874fb
Sometimes the loops in the resolving (e.g. to resolve or validate
ns1.example.com we need to resolve ns1.example.com) were not
properly detected leading to spurious 10 seconds delay. This
has been fixed and such loops are properly detected. [GL #3033],
#5578 [GL !11298]
Fix bug where zone switches from NSEC3 to NSEC after retransfer.
3b40ffbf83
When a zone is re-transferred, but the zone journal on an
inline-signing secondary is out of sync, the zone could fall
back to using NSEC records instead of NSEC3. This has been
fixed. [GL #5527] [GL !11274]
Attach socket before async streamdns_resume_processing. bb9451c73f
Call to streamdns_resume_processing is asynchronous but the
socket passed as argument is not attached when scheduling the
call.
While there is no reproducible way (so far) to make the socket
reference number down to 0 before streamdns_resume_processing
is called, attach the socket before scheduling the call. This
guard against an hypothetic case where, for some reasons, the
socket refcount would reach 0, and be freed from memory when
streamdns_resume_processing is called. [GL #5620] [GL !11260]
AMTRELAY type 0 presentation format handling was wrong. adf104a063
RFC 8777 specifies a placeholder value of "." for the gateway
field when the gateway type is 0 (no gateway). This was not
being checked for nor emitted when displaying the record. This
has been corrected.
Instances of this record will need the placeholder period added
to them when upgrading. [GL #5639] [GL !11255]
Fix parsing bug in remote-servers with key or tls. d9400c5967
The remote-servers clause enable the following pattern using
a named server-list:
remote-servers a { 1.2.3.4; ... }; remote-servers b { a key
foo; };
However, such configuration was wrongly rejected, with an
"unexpected token 'foo'" error. Such configuration is now
accepted. [GL #5646] [GL !11300]
Fix TLS contexts cache object usage bug in the resolver.
13adf94006
named could terminate unexpectedly when reconfiguring or
reloading, and if client-side TLS transport was in use (for
example, when forwarding queries to a DoT server). This has
been fixed. [GL #5653] [GL !11299]
Fix unitiailized pointer check on getipandkeylist. 5ed0cf091b
Function named_config_getipandkeylist could, in case of error
in the early code attempting to get the port or tls-port, make
a pointer check on a non-initialized value. This is now fixed.
[GL !11306]
Standardize CHECK and RETERR macros. ef714e91ac
previously, there were over 40 separate definitions of CHECK
macros, of which most used "goto cleanup", and the rest "goto
failure" or "goto out". there were another 10 definitions of
RETERR, of which most were identical to CHECK, but some simply
returned a result code instead of jumping to a cleanup label.
this has now been standardized throughout the code base: RETERR
is for returning an error code in the case of an error, and
CHECK is for jumping to a cleanup tag, which is now always
called "cleanup". both macros are defined in isc/util.h. [GL
!11069]
Adding NSEC3 opt-out records could leave invalid records in
chain. 1d83a8ad46
When creating an NSEC3 opt-out chain, a node in the chain could
be removed too soon, causing the previous NSEC3 being unable
to be found, resulting in invalid NSEC3 records to be left in
the zone. This has been fixed.
Closes [#5671](#5671)
BIND 9.20.16#
Feature Changes#
Fix assertion failure from arc4random_uniform with invalid
limit. 1040282de7e
When the arc4random_uniform() is called on NetBSD with upper_bound
that makes no sense statistically (0 or 1), the call crashes
the calling program. Fix this by returning 0 when upper bound
is < 2 as does Linux, FreeBSD and NetBSD. (Hint: System CSPRNG
should never crash.) [GL #5596] [GL !11151]
Bug Fixes#
Fix dnssec-keygen key collision checking for KEY rrtype keys.
ac8b23b80bf
The dnssec-keygen utility program failed to detect possible
Key ID collisions with the existing keys generated using the
non-default -T KEY option (e.g. for SIG(0)). This has been
fixed. [GL #5506] [GL !11128]
Fix shutdown INSIST in dns_dispatchmgr_getblackhole. f0aaaef166c
Previously, named could trigger an assertion in
dns_dispatchmgr_getblackhole while shutting down. This has been
fixed. [GL #5525] [GL !11162]
Dnssec-verify now uses exit code 1 when failing due to illegal
options. 6ead0aa4a2b
Previously, dnssec-verify exited with code 0 if the options
could not be parsed. This has been fixed. [GL #5574] [GL !11129]
Prevent assertion failures of dig when server is specified
before the -b option. deada63e2b2
Previously, dig could exit with an assertion failure when the
server was specified before the dig -b option. This has been
fixed. [GL #5609] [GL !11204]
Skip unsupported algorithms when looking for signing key.
c346fe88a1b
A mix of supported and unsupported DNSSEC algorithms in the
same zone could have caused validation failures. Ignore the
DNSSEC keys with unsupported algorithm when looking for the
signing keys. [GL #5622] [GL !11210]
Fix configuration bugs involving global defaults. a85d6fb581c
The configuration code for the max-cache-size, dnssec-validation,
and response-padding options were unnecessarily complicated,
and in the case of max-cache-size, buggy. These have been fixed.
The optionmaps variable in configure_view() is no longer needed
and has been removed. [GL !11172]
Skip buffer allocations if not logging. 4f601175bd0
Currently, during IXFR we allocate a 2KB buffer for IXFR change
logging regardless of the log level. This commit introduces an
early check on the log level in dns_diff_print to avoid this.
Results in a speedup from 28% in the test case from issue #5442.
[GL !11192]
BIND 9.20.15#
Security Fixes#
[CVE-2025-8677] DNSSEC validation fails if matching but invalid
DNSKEY is found. 0d676bf9f23
Previously, if a matching but cryptographically invalid key
was encountered during DNSSEC validation, the key was skipped
and not counted towards validation failures. named now treats
such DNSSEC keys as hard failures and the DNSSEC validation
fails immediately, instead of continuing with the next DNSKEYs
in the RRset.
ISC would like to thank Zuyao Xu and Xiang Li from the All-in-One
Security and Privacy Laboratory at Nankai University for bringing
this vulnerability to our attention. [GL #5343]
[CVE-2025-40778] Address various spoofing attacks. 23de94fd236
Previously, several issues could be exploited to poison a DNS
cache with spoofed records for zones which were not DNSSEC-signed
or if the resolver was configured to not do DNSSEC validation.
These issues were assigned CVE-2025-40778 and have now been
fixed.
As an additional layer of protection, named no longer accepts
DNAME records or extraneous NS records in the AUTHORITY section
unless these are received via spoofing-resistant transport
(TCP, UDP with DNS cookies, TSIG, or SIG(0)).
ISC would like to thank Yuxiao Wu, Yunyi Zhang, Baojun Liu,
and Haixin Duan from Tsinghua University for bringing this
vulnerability to our attention. [GL #5414]
[CVE-2025-40780] Cache-poisoning due to weak pseudo-random
number generator. 34af35c2df8
It was discovered during research for an upcoming academic
paper that a xoshiro128** internal state can be recovered by
an external 3rd party, allowing the prediction of UDP ports
and DNS IDs in outgoing queries. This could lead to an attacker
spoofing the DNS answers with great efficiency and poisoning
the DNS cache.
The internal random generator has been changed to a cryptographically
secure pseudo-random generator.
ISC would like to thank Prof. Amit Klein and Omer Ben Simhon
from Hebrew University of Jerusalem for bringing this vulnerability
to our attention. [GL #5484]
New Features#
Add dnssec-policy keys configuration check to named-checkconf.
1f5a0405f72
A new option -k is added to named-checkconf that allows checking
the dnssec-policy keys configuration against the configured
key stores. If the found key files are not in sync with the
given dnssec-policy, the check will fail.
This is useful to run before migrating to dnssec-policy. [GL
#5486] [GL !11011]
Feature Changes#
Minor refactor of dst code. c6acbaa020b
Convert the defines to enums. Initialize the tags more explicitly
and less ugly. [GL !11038]
Bug Fixes#
Use signer name when disabling DNSSEC algorithms. 986816baa74
disable-algorithms could cause DNSSEC validation failures when
the parent zone was signed with the algorithms that were being
disabled for the child zone. This has been fixed; disable-algorithms
now works on a whole-of-zone basis.
If the zone's name is at or below the disable-algorithms name
the algorithm is disabled for that zone, using deepest match
when there are multiple disable-algorithms clauses. [GL #5165]
[GL !11014]
Rndc sign during ZSK rollover will now replace signatures.
d2f551140cd
When performing a ZSK rollover, if the new DNSKEY is omnipresent,
the rndc sign command now signs the zone completely with the
successor key, replacing all zone signatures from the predecessor
key with new ones. [GL #5483] [GL !11017]
Missing DNSSEC information when CD bit is set in query.
968a6be41fb
The RRSIGs for glue records were not being cached correctly
for CD=1 queries. This has been fixed. [GL #5502] [GL !10956]
Preserve cache when reload fails and reload the server again.
975aeda10b4
Fixes an issue where failing to reconfigure/reload the server
would prevent to preserved the views caches on the subsequent
server reconfiguration/reload. [GL #5523] [GL !10988]
Check plugin config before registering. e2260b80702
In named_config_parsefile(), when checking the validity of
named.conf, the checking of plugin correctness was deliberately
postponed until the plugin is loaded and registered. However,
the checking was never actually done: the plugin_register()
implementation was called, but plugin_check() was not.
ns_plugin_register() (used by named) now calls the check function
before the register function, and aborts if either one fails.
ns_plugin_check() (used by named-checkconf) calls only the
check function. [GL !11032]
BIND 9.20.14#
Note
The BIND 9.20.14 release was withdrawn after the discovery of a
regression in a security fix in it during pre-release testing.
BIND 9.20.13# New Features#
Add manual mode configuration option to dnsec-policy. 1e435b107f
Add a new option manual-mode to dnssec-policy. The intended
use is that if it is enabled, it will not automatically move
to the next state transition, but instead the transition is
logged. Only after manual confirmation with rndc dnssec -step
the transition is made. [GL #4606] [GL !10880]
Add a new 'servfail-until-ready' configuration option for RPZ.
925af17d21
By default, when named is started it may start answering to
queries before the response policy zones are completely loaded
and processed. This new feature gives an option to the users
to tell named that incoming requests should result in SERVFAIL
answer until all the response policy zones are processed and
ready. Note that if one or more response policy zones fail to
load, named starts responding to queries according to those
zones that did load.
Note, that enabling this option has no effect when a DNS Response
Policy Service (DNSRPS) interface is used. [GL #5222] [GL
!10889]
Support for parsing HHIT and BRID records has been added.
1f051af24d
[GL #5444] [GL !10932]
Removed Features#
Deprecate the "tkey-gssapi-credential" statement. b239a70cac
The tkey-gssapi-keytab statement allows GSS-TSIG to be set up
in a simpler and more reliable way than using the
tkey-gssapi-credential statement and setting environment
variables (e.g. KRB5_KTNAME). Therefore, the tkey-gssapi-credential
statement has been deprecated; tkey-gssapi-keytab should be
used instead.
For configurations currently using a combination of both
tkey-gssapi-keytab and tkey-gssapi-credential, the latter should
be dropped and the keytab pointed to by tkey-gssapi-keytab
should now only contain the credential previously specified by
tkey-gssapi-credential. [GL #4204] [GL !10924]
Obsolete the "tkey-domain" statement. 9352ae65d7
Mark the tkey-domain statement as obsolete, since it has not
had any effect on server behavior since support for TKEY Mode
2 (Diffie-Hellman) was removed (in BIND 9.20.0). [GL #4204]
[GL !10926]
Feature Changes#
Update clang-format style with options added in newer versions.
0c2c477c31
Add and apply InsertBraces statement to add missing curly braces
around one-line statements and use ControlStatementsExceptControlMacros
for SpaceBeforeParens to remove space between foreach macro
and the brace, e.g. FOREACH (x) { becomes FOREACH(x) {. [GL
!10864]
Bug Fixes#
Ensure file descriptors 0-2 are in use. 35dee6eb90
libuv expect file descriptors <= STDERR_FILENO are in use.
otherwise, it may abort when closing a file descriptor it
opened. [GL #5226] [GL !10908]
Prevent spurious SERVFAILs for certain 0-TTL resource records.
6b266b222c
Under certain circumstances, BIND 9 can return SERVFAIL when
updating existing entries in the cache with new NS, A, AAAA,
or DS records with 0-TTL. [GL #5294] [GL !10898]
Use DNS_RDATACOMMON_INIT to hide branch differences. a64df9729b
Initialization of the common members of rdata type structures
varies across branches. Standardize it by using the
DNS_RDATACOMMON_INIT macro for all types, so that new types
are more likely to use it, and hence backport more cleanly.
[GL #5467] [GL !10834]
RPZ canonical warning displays zone entry incorrectly. d833676515
When an IPv6 rpz prefix entry is entered incorrectly the log
message was just displaying the prefix rather than the full
entry. This has been corrected. [GL #5491] [GL !10930]
Fix a catalog zone issue when having an unset 'default-primaries'
configuration clause. 293e75af28
A catalog zone with an unset default-primaries clause could
cause an unexpected termination of the named process after two
reloading or reconfiguration commands. This has been fixed.
[GL #5494] [GL !10905]
Add and use __attribute__((nonnull)) in dnssec-signzone.c.
a8eed36d3e
Clang 20 was spuriously warning about the possibility of passing
a NULL file pointer to fprintf(), which uses the 'nonnull'
attribute. To silence the warning, the functions calling
fprintf() have been marked with the same attribute to assure
that NULL can't be passed to them in the first place.
Close #5487 [GL !10913]
RPZ 'servfail-until-ready': skip updating SERVFAIL cache.
af2fb26325
In order to not pollute the SERVFAIL cache with the configured
SERVFAIL answers while RPZ is loading, set the NS_CLIENTATTR_NOSETFC
attribute for the client. [GL !10940]
BIND 9.20.12#
New Features#
Support for parsing the DSYNC record has been added. f440fe712d
[GL #5440] [GL !10820]
Feature Changes#
Adaptive memory allocation strategy for qp-tries. 9a046cbed5
qp-tries allocate their nodes (twigs) in chunks to reduce
allocator pressure and improve memory locality. The choice of
chunk size presents a tradeoff: larger chunks benefit qp-tries
with many values (as seen in large zones and resolvers) but
waste memory in smaller use cases.
Previously, our fixed chunk size of 2^10 twigs meant that even
an empty qp-trie would consume 12KB of memory, while reducing
this size would negatively impact resolver performance.
This MR implements an adaptive chunking strategy that tracks
the size of the most recently allocated chunk and doubles the
chunk size for each new allocation until reaching a predefined
maximum.
This approach effectively balances memory efficiency for small
tries while maintaining the performance benefits of larger
chunk sizes for bigger data structures. [GL #5445] [GL !10804]
Add deprecation warnings for RSASHA1, RSASHA1-NSEC3SHA1 and DS
digest type 1. 5aefaa4b97
RSASHA1 and RSASHA1-NSEC-SHA1 DNSKEY algorithms have been
deprecated by the IETF and should no longer be used for DNSSEC.
DS digest type 1 (SHA1) has also been deprecated. Validators
are now expected to treat these algorithms and digest as unknown,
resulting in some zones being treated as insecure when they
were previously treated as secure. Warnings have been added to
named and tools when these algorithms and this digest are being
used for signing.
Zones signed with RSASHA1 or RSASHA1-NSEC-SHA1 should be migrated
to a different DNSKEY algorithm.
Zones with DS or CDS records with digest type 1 (SHA1) should
be updated to use a different digest type (e.g. SHA256) and
the digest type 1 records should be removed.
Related to #5358 [GL !10738]
Bug Fixes#
Stale RRsets in a CNAME chain were not always refreshed.
ed37c7825e
With serve-stale enabled, a CNAME chain that contains a stale
RRset, the refresh query doesn't always properly refresh the
stale RRsets. This has been fixed. [GL #5243] [GL !10767]
Add RPZ extended DNS error for zones with a CNAME override
policy configured. 39ad2016c1
When the zone is configured with a CNAME override policy, or
the response policy zone contains a wildcard CNAME, the extended
DNS error code was not added. This has been fixed. [GL #5342]
[GL !10819]
Fix a possible crash when adding a zone while recursing.
7a3ec8dd94
A query for a zone that was not yet loaded may yield an unexpected
result such as a CNAME or DNAME, triggering an assertion failure.
This has been fixed. [GL #5357] [GL !10718]
Fix dig issues. 8c50819aa8
When used with the +keepopen option with a TCP connection,
iscman:dig could terminate unexpectedly in rare situations.
Additionally, iscman:dig could hang and fail to shutdown properly
when interrupted during a query. These have been fixed. [GL
#5381] [GL !10727]
Log dropped or slipped responses in the query-errors category.
47470b586d
Responses which were dropped or slipped because of RRL (Response
Rate Limiting) were logged in the rate-limit category instead
of the query-errors category, as documented in ARM. This has
been fixed. [GL #5388] [GL !10725]
Separate out adbname type flags. fc689c6525
There are three adbname flags that are used to identify different
types of adbname lookups when hashing rather than using multiple
hash tables. Separate these to their own structure element as
these need to be able to be read without locking the adbname
structure. [GL #5404] [GL !10695]
Synth-from-dnssec was not working in some scenarios. bc54f059e0
Aggressive use of DNSSEC-Validated cache with NSEC was not
working in scenarios when no parent NSEC was not in cache. This
has been fixed. [GL #5422] [GL !10754]
Clean enough memory when adding new ADB names/entries under
memory pressure. b7e7923daa
The ADB memory cleaning is opportunistic even when we are under
memory pressure (in the overmem condition). Split the opportunistic
LRU cleaning and overmem cleaning and make the overmem cleaning
always cleanup double of the newly allocated adbname/adbentry
to ensure we never allocate more memory than the assigned limit.
[GL !10707]
Prevent spurious validation failures. 3b98c7cc9d
Under rare circumstances, validation could fail if multiple
clients simultaneously iterated the same set of signatures.
References #3014 [GL !10815]
Rename variable called 'free' to prevent the clash with free()
7f25d92c5d
[GL !10757]
Put files into the file system instead of uudecoded-inline-data.
That is not while doing any operations which might require the current process (or maybe just lwp, for this, irrelevant) to actuually engage in paging. And a copyout() does exactly that, or might.
A different attempt to achieve what 2 revs back was attempting. The swap lists must be locked (uvm_swap_data_lock) when we are traversing the lists of swap devices, as otherwise the lists can reorder themselves behind our back. But we cannot hold that lock when actually doing the processing, as our process might need to page/swap to copy out data, and doing that will also attempt to take the lock - panic (or doom). Instead, traverse the lists with the lock held, so they are stable, but do nothing but keep a record of all of the swapdevs (independent of their lists) and then use this new list of swapdevs to actually do the work. The number or identity of the swap devices cannot change during all of this, as we also hold swap_syscall_lock which prevents any other swapctl() operations (like adding or deleting devices) from occurring. Once we have done that, the number of swap devices found is the number returned from swapctl(SWAP_STATS) (provided it is no bigger than requested). Note that this does not guarantee that the number of devices returned from swapctl(SWAP_STATS) will agree with an earlier call to swapctl(SWAP_NSWAP) - that is obviously impossible, absolutely anything might have occurred between the two calls.
PR toolchain/60000: split debug data rules broke ${.TARGET}-dependent
flags
From riastradh@
Fix grammar, spelling, layout, and occasionally, content of comments added in the previous commit, and even add one or two new ones. While here, some 80 column police action. The only difference in the generated object files is the RCSID. (On amd64 anyway).
This fixes PR lib/59945 (and its duplicate, PR bin/60001 ).
Take two: make sure to do this only if we're actually making PIEs.
PR toolchain/60000: split debug data rules broke ${.TARGET}-dependent
flags
using atoi returns 0 for any non-integer passed to it. this could configure RAID 0 in the kernel which was not intended for when one mistakenly passes a non-integer string. uses an internal conversion function that produces proper error message. pullup 10 and 11
…ormat, and now 2.46 does not auto-recognize the input anymore. use --output-target \ instead.
- track writes to SBA/DBA/BAboth - use BINC writes to draw anti-aliased characters instead of direct fb access - some magic number reduction
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
will be working on this with Greg Oster. external reviews are welcome.