From 20fd0cc60b060e91f3eac06379227b156f4d4148 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ond=C5=99ej=20Sur=C3=BD?= Date: Tue, 10 Jan 2023 11:47:44 +0100 Subject: [PATCH 1/4] Drop RHEL / CentOS / Oracle Linux 7 support The RHEL (and clones) 7 will reach EOL in June 2024, shortly after BIND 9.20 will be released. Drop the support for building on those platforms, so we can use features of modern operating systems - newer compiler that supports at least subset of C23 and OpenSSL 1.1/3.0. This will simplify some of the code that we are using in BIND 9. --- .gitlab-ci.yml | 28 ---------------------------- doc/arm/platforms.inc.rst | 12 ++++++++---- 2 files changed, 8 insertions(+), 32 deletions(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 87a61ae7c7..fea6bd2f2e 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -111,10 +111,6 @@ stages: # Oracle Linux -.oraclelinux-7-amd64: &oraclelinux_7_amd64_image - image: "$CI_REGISTRY_IMAGE:oraclelinux-7-amd64" - <<: *linux_amd64 - .oraclelinux-8-amd64: &oraclelinux_8_amd64_image image: "$CI_REGISTRY_IMAGE:oraclelinux-8-amd64" <<: *linux_amd64 @@ -591,30 +587,6 @@ unit:gcc:alpine3.16:amd64: - job: gcc:alpine3.16:amd64 artifacts: true -# Jobs for regular GCC builds on Oracle Linux 7 (amd64) - -gcc:oraclelinux7:amd64: - variables: - CC: gcc - CFLAGS: "${CFLAGS_COMMON}" - EXTRA_CONFIGURE: "--with-libidn2" - <<: *oraclelinux_7_amd64_image - <<: *build_job - -system:gcc:oraclelinux7:amd64: - <<: *oraclelinux_7_amd64_image - <<: *system_test_job - needs: - - job: gcc:oraclelinux7:amd64 - artifacts: true - -unit:gcc:oraclelinux7:amd64: - <<: *oraclelinux_7_amd64_image - <<: *unit_test_job - needs: - - job: gcc:oraclelinux7:amd64 - artifacts: true - # Jobs for regular GCC builds on Oracle Linux 8 (amd64) gcc:oraclelinux8:amd64: diff --git a/doc/arm/platforms.inc.rst b/doc/arm/platforms.inc.rst index 46309d99a5..50f1420f8f 100644 --- a/doc/arm/platforms.inc.rst +++ b/doc/arm/platforms.inc.rst @@ -20,11 +20,11 @@ found in the ISC Knowledgebase: https://kb.isc.org/docs/supported-platforms In general, this version of BIND will build and run on any -POSIX-compliant system with a C11-compliant C compiler, BSD-style +POSIX-compliant system with a modern C compiler, BSD-style sockets with RFC-compliant IPv6 support, POSIX-compliant threads, and the :ref:`required libraries `. -The following C11 features are used in BIND 9: +The following C11 features are required in BIND 9: - Atomic operations support, either in the form of C11 atomics or **__atomic** builtin operations. @@ -35,6 +35,10 @@ The following C11 features are used in BIND 9: The C11 variants are preferred. +The following C23 features are required in BIND 9. + +- C23-style attributes - namely [[maybe_unused]] attribute. + ISC regularly tests BIND on many operating systems and architectures, but lacks the resources to test all of them. Consequently, ISC is only able to offer support on a “best-effort” basis for some. @@ -48,7 +52,7 @@ following systems: - Debian 11 - Ubuntu LTS 20.04, 22.04 - Fedora 37 -- Red Hat Enterprise Linux / CentOS / Oracle Linux 7, 8, 9 +- Red Hat Enterprise Linux / CentOS / Oracle Linux 8, 9 - FreeBSD 12.3, 13.1 - OpenBSD 7.2 - Alpine Linux 3.16 @@ -91,7 +95,7 @@ supported platforms. - Platforms past or close to their respective EOL dates, such as: - Ubuntu 14.04, 16.04, 18.04 (Ubuntu ESM releases are not supported) - - CentOS 6 + - Red Hat Enterprise Linux / CentOS / Oracle Linux 6, 7 - Debian 8 Jessie, 9 Stretch, 10 Buster - FreeBSD 10.x, 11.x From 1c456c028467801c25ba072287c68476b81ef7fd Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ond=C5=99ej=20Sur=C3=BD?= Date: Tue, 10 Jan 2023 12:48:03 +0100 Subject: [PATCH 2/4] Require C11 thread_local keyword and header Change the autoconf check to require C11 header and thread_local keyword. --- configure.ac | 5 +-- doc/arm/platforms.inc.rst | 20 ++++------ lib/isc/include/isc/thread.h | 3 ++ lib/isc/iterated_hash.c | 1 + lib/isc/tid.c | 1 + m4/ax_tls.m4 | 73 ------------------------------------ 6 files changed, 14 insertions(+), 89 deletions(-) delete mode 100644 m4/ax_tls.m4 diff --git a/configure.ac b/configure.ac index 00ce2ce05a..9532243e47 100644 --- a/configure.ac +++ b/configure.ac @@ -311,10 +311,9 @@ AC_CHECK_HEADERS([fcntl.h regex.h sys/time.h unistd.h sys/mman.h sys/sockio.h sy # # Check for thread local storage # +# NOTE: OpenBSD doesn't ship , so we can't require it (yet). +# AC_CHECK_HEADERS([threads.h]) -AX_TLS([AS_IF([test "$ac_cv_tls" != "thread_local"], - [AC_DEFINE_UNQUOTED([thread_local], [$ac_cv_tls], [Define if the compiler uses a different keyword than thread_local for TLS variables])])], - [AC_MSG_ERROR([Thread Local Storage support required, update your toolchain to build BIND 9])]) AC_C_CONST AC_C_INLINE diff --git a/doc/arm/platforms.inc.rst b/doc/arm/platforms.inc.rst index 50f1420f8f..e46bc36bd2 100644 --- a/doc/arm/platforms.inc.rst +++ b/doc/arm/platforms.inc.rst @@ -20,24 +20,18 @@ found in the ISC Knowledgebase: https://kb.isc.org/docs/supported-platforms In general, this version of BIND will build and run on any -POSIX-compliant system with a modern C compiler, BSD-style +POSIX-compliant system with a modern C11 (or better) compiler, BSD-style sockets with RFC-compliant IPv6 support, POSIX-compliant threads, and the :ref:`required libraries `. -The following C11 features are required in BIND 9: +The following C11 features are required to compile BIND 9: -- Atomic operations support, either in the form of C11 atomics or - **__atomic** builtin operations. +- Atomic operations support defined in -- Thread Local Storage support, either in the form of C11 - **_Thread_local**/**thread_local**, or the **__thread** GCC - extension. +- Thread Local Storage support defined in -The C11 variants are preferred. - -The following C23 features are required in BIND 9. - -- C23-style attributes - namely [[maybe_unused]] attribute. +Where it makes sense, BIND 9 uses C-standard fixes introduced by C17 update +of the C11 standard. ISC regularly tests BIND on many operating systems and architectures, but lacks the resources to test all of them. Consequently, ISC is only @@ -74,7 +68,7 @@ regularly by ISC. - NetBSD - Other Linux distributions still supported by their vendors, such as: - - Ubuntu 20.10+ + - Ubuntu 22.10+ - Gentoo - Arch Linux diff --git a/lib/isc/include/isc/thread.h b/lib/isc/include/isc/thread.h index a70e2c7937..ade74f7911 100644 --- a/lib/isc/include/isc/thread.h +++ b/lib/isc/include/isc/thread.h @@ -16,8 +16,11 @@ /*! \file */ #include + #if HAVE_THREADS_H #include +#else +#define thread_local _Thread_local #endif #if defined(HAVE_PTHREAD_NP_H) diff --git a/lib/isc/iterated_hash.c b/lib/isc/iterated_hash.c index 263a7b9c6a..3127b6dc59 100644 --- a/lib/isc/iterated_hash.c +++ b/lib/isc/iterated_hash.c @@ -17,6 +17,7 @@ #include #include +#include #include #if OPENSSL_VERSION_NUMBER < 0x30000000L || OPENSSL_API_LEVEL < 30000 diff --git a/lib/isc/tid.c b/lib/isc/tid.c index 59c3928789..554ad96564 100644 --- a/lib/isc/tid.c +++ b/lib/isc/tid.c @@ -16,6 +16,7 @@ #include #include +#include #include #include diff --git a/m4/ax_tls.m4 b/m4/ax_tls.m4 deleted file mode 100644 index 6474e97934..0000000000 --- a/m4/ax_tls.m4 +++ /dev/null @@ -1,73 +0,0 @@ -# SPDX-License-Identifier: GPL-3.0-or-later WITH Autoconf-exception-3.0 -# -# =========================================================================== -# https://www.gnu.org/software/autoconf-archive/ax_tls.html -# =========================================================================== -# -# SYNOPSIS -# -# AX_TLS([action-if-found], [action-if-not-found]) -# -# DESCRIPTION -# -# Provides a test for the compiler support of thread local storage (TLS) -# extensions. Defines TLS if it is found. Currently knows about C++11, -# GCC/ICC, and MSVC. I think SunPro uses the same as GCC, and Borland -# apparently supports either. -# -# LICENSE -# -# Copyright (c) 2008 Alan Woodland -# Copyright (c) 2010 Diego Elio Petteno` -# -# This program is free software: you can redistribute it and/or modify it -# under the terms of the GNU General Public License as published by the -# Free Software Foundation, either version 3 of the License, or (at your -# option) any later version. -# -# This program is distributed in the hope that it will be useful, but -# WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General -# Public License for more details. -# -# You should have received a copy of the GNU General Public License along -# with this program. If not, see . -# -# As a special exception, the respective Autoconf Macro's copyright owner -# gives unlimited permission to copy, distribute and modify the configure -# scripts that are the output of Autoconf when processing the Macro. You -# need not follow the terms of the GNU General Public License when using -# or distributing such scripts, even though portions of the text of the -# Macro appear in them. The GNU General Public License (GPL) does govern -# all other use of the material that constitutes the Autoconf Macro. -# -# This special exception to the GPL applies to versions of the Autoconf -# Macro released by the Autoconf Archive. When you make and distribute a -# modified version of the Autoconf Macro, you may extend this special -# exception to the GPL to apply to your modified version as well. - -#serial 15 - -AC_DEFUN([AX_TLS], [ - AC_MSG_CHECKING([for thread local storage (TLS) class]) - AC_CACHE_VAL([ac_cv_tls], - [for ax_tls_keyword in thread_local _Thread_local __thread '__declspec(thread)' none; do - AS_CASE([$ax_tls_keyword], - [none], [ac_cv_tls=none ; break], - [AC_COMPILE_IFELSE([AC_LANG_PROGRAM( - [#include ], - [static $ax_tls_keyword int bar;] - )], - [ac_cv_tls=$ax_tls_keyword ; break], - [ac_cv_tls=none] - )] - ) - done ] - ) - AC_MSG_RESULT([$ac_cv_tls]) - - AS_IF([test "$ac_cv_tls" != "none"], - [AC_DEFINE_UNQUOTED([TLS],[$ac_cv_tls],[If the compiler supports a TLS storage class, define it to that here]) - m4_ifnblank([$1],[$1],[[:]])], - [m4_ifnblank([$2],[$2],[[:]])]) -]) From baced007afeb821e31b15acf469b446f738bdcd4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ond=C5=99ej=20Sur=C3=BD?= Date: Tue, 10 Jan 2023 13:06:13 +0100 Subject: [PATCH 3/4] Require C11 Atomic Operations via Make the C11 Atomic Operations mandatory and drop the Gcc __atomic builtin shims. --- configure.ac | 105 ++++++++++----------------- lib/isc/Makefile.am | 1 - lib/isc/include/isc/atomic.h | 4 - lib/isc/include/isc/stdatomic.h | 125 -------------------------------- 4 files changed, 37 insertions(+), 198 deletions(-) delete mode 100644 lib/isc/include/isc/stdatomic.h diff --git a/configure.ac b/configure.ac index 9532243e47..0a37328e9c 100644 --- a/configure.ac +++ b/configure.ac @@ -309,12 +309,48 @@ AC_CHECK_HEADERS([fcntl.h regex.h sys/time.h unistd.h sys/mman.h sys/sockio.h sy ]) # -# Check for thread local storage +# Check for C11 thread local storage # # NOTE: OpenBSD doesn't ship , so we can't require it (yet). # AC_CHECK_HEADERS([threads.h]) +# +# C11 Atomic Operations +# + +AC_CHECK_HEADERS([stdatomic.h], + [], + [AC_MSG_ERROR([C11 Atomic Operations required, update your toolchain to build BIND 9])]) + +AC_COMPILE_IFELSE( + [AC_LANG_PROGRAM( + [[#include ]], + [[atomic_int_fast32_t val = 0; atomic_fetch_add_explicit(&val, 1, memory_order_relaxed);]] + )], + [AC_MSG_CHECKING([whether -latomic is needed for 64-bit stdatomic.h functions]) + AC_LINK_IFELSE( + [AC_LANG_PROGRAM( + [[#include ]], + [[atomic_int_fast64_t val = 0; atomic_fetch_add_explicit(&val, 1, memory_order_relaxed);]] + )], + [AC_MSG_RESULT([no])], + [LIBS="$LIBS -latomic" + AC_LINK_IFELSE( + [AC_LANG_PROGRAM( + [[#include ]], + [[atomic_int_fast64_t val = 0; atomic_fetch_add_explicit(&val, 1, memory_order_relaxed);]] + )], + [AC_MSG_RESULT([yes])], + [AC_MSG_FAILURE([libatomic needed, but linking with -latomic failed, please fix your toolchain.])]) + ]) + ], + [AC_MSG_FAILURE([stdatomic.h header found, but compilation failed, please fix your toolchain.])]) + +AC_CHECK_HEADERS([stdalign.h stdnoreturn.h], + [], + [AC_MSG_ERROR([C11 standard headers not found, update your toolchain.])]) + AC_C_CONST AC_C_INLINE AC_C_VOLATILE @@ -1099,73 +1135,6 @@ AC_COMPILE_IFELSE( # AC_CHECK_FUNCS([if_nametoindex]) -ISC_ATOMIC_LIBS="" -AC_CHECK_HEADERS( - [stdatomic.h], - [AC_MSG_CHECKING([for memory model aware atomic operations]) - AC_COMPILE_IFELSE( - [AC_LANG_PROGRAM( - [[#include ]], - [[atomic_int_fast32_t val = 0; atomic_fetch_add_explicit(&val, 1, memory_order_relaxed);]] - )], - [AC_MSG_RESULT([stdatomic.h]) - AC_MSG_CHECKING([whether -latomic is needed for 64-bit stdatomic.h functions]) - AC_LINK_IFELSE( - [AC_LANG_PROGRAM( - [[#include ]], - [[atomic_int_fast64_t val = 0; atomic_fetch_add_explicit(&val, 1, memory_order_relaxed);]] - )], - [AC_MSG_RESULT([no])], - [ISC_ATOMIC_LIBS="-latomic" - AX_SAVE_FLAGS([atomic]) - LIBS="$LIBS $ISC_ATOMIC_LIBS" - AC_LINK_IFELSE( - [AC_LANG_PROGRAM( - [[#include ]], - [[atomic_int_fast64_t val = 0; atomic_fetch_add_explicit(&val, 1, memory_order_relaxed);]] - )], - [AC_MSG_RESULT([yes])], - [AC_MSG_FAILURE([libatomic needed, but linking with -latomic failed, please fix your toolchain.])]) - AX_RESTORE_FLAGS([atomic]) - ]) - ], - [AC_MSG_FAILURE([stdatomic.h header found, but compilation failed, please fix your toolchain.])] - )], - [AC_MSG_CHECKING([for memory model aware atomic operations]) - AC_COMPILE_IFELSE( - [AC_LANG_PROGRAM( - [[#include ]], - [[int32_t val = 0; __atomic_fetch_add(&val, 1, __ATOMIC_RELAXED);]] - )], - [AC_MSG_RESULT([__atomic builtins]) - AC_DEFINE([HAVE___ATOMIC], [1], [define if __atomic builtins are not available]) - AC_MSG_CHECKING([whether -latomic is needed for 64-bit __atomic builtins]) - AC_LINK_IFELSE( - [AC_LANG_PROGRAM( - [[#include ]], - [[int64_t val = 0; __atomic_fetch_add(&val, 1, __ATOMIC_RELAXED);]] - )], - [AC_MSG_RESULT([no])], - [ISC_ATOMIC_LIBS="-latomic" - AX_SAVE_FLAGS([atomic]) - LIBS="$LIBS $ISC_ATOMIC_LIBS" - AC_LINK_IFELSE( - [AC_LANG_PROGRAM( - [[#include ]], - [[int64_t val = 0; __atomic_fetch_add(&val, 1, __ATOMIC_RELAXED);]] - )], - [AC_MSG_RESULT([yes])], - [AC_MSG_FAILURE([libatomic needed, but linking with -latomic failed, please fix your toolchain.])]) - AX_RESTORE_FLAGS([atomic]) - ]) - ], - [AC_MSG_FAILURE([not found]) - ]) - ]) -LIBS="$LIBS $ISC_ATOMIC_LIBS" - -AC_CHECK_HEADERS([stdalign.h stdnoreturn.h]) - AC_CHECK_HEADERS([uchar.h]) # diff --git a/lib/isc/Makefile.am b/lib/isc/Makefile.am index 7c1466c7d8..36665d2850 100644 --- a/lib/isc/Makefile.am +++ b/lib/isc/Makefile.am @@ -86,7 +86,6 @@ libisc_la_HEADERS = \ include/isc/sockaddr.h \ include/isc/stat.h \ include/isc/stats.h \ - include/isc/stdatomic.h \ include/isc/stdio.h \ include/isc/stdtime.h \ include/isc/strerr.h \ diff --git a/lib/isc/include/isc/atomic.h b/lib/isc/include/isc/atomic.h index 5edb0957f0..5e470d288f 100644 --- a/lib/isc/include/isc/atomic.h +++ b/lib/isc/include/isc/atomic.h @@ -13,11 +13,7 @@ #pragma once -#if __STDC_VERSION__ >= 201112L && !defined(__STDC_NO_ATOMICS__) #include -#else -#include -#endif #include diff --git a/lib/isc/include/isc/stdatomic.h b/lib/isc/include/isc/stdatomic.h deleted file mode 100644 index 7c2e21caa5..0000000000 --- a/lib/isc/include/isc/stdatomic.h +++ /dev/null @@ -1,125 +0,0 @@ -/* - * Copyright (C) Internet Systems Consortium, Inc. ("ISC") - * - * SPDX-License-Identifier: MPL-2.0 - * - * This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, you can obtain one at https://mozilla.org/MPL/2.0/. - * - * See the COPYRIGHT file distributed with this work for additional - * information regarding copyright ownership. - */ - -#pragma once - -#include -#include -#include -#if HAVE_UCHAR_H -#include -#endif /* HAVE_UCHAR_H */ - -/* GCC 4.7.0 introduced __atomic builtins, but not the __GNUC_ATOMICS define */ -#if !defined(__GNUC_ATOMICS) && __GNUC__ == 4 && __GNUC_MINOR__ >= 7 -#define __GNUC_ATOMICS -#endif - -#if !defined(__GNUC_ATOMICS) -#error "isc/stdatomic.h does not support your compiler" -#endif /* if !defined(__GNUC_ATOMICS) */ - -typedef enum memory_order { - memory_order_relaxed = __ATOMIC_RELAXED, - memory_order_consume = __ATOMIC_CONSUME, - memory_order_acquire = __ATOMIC_ACQUIRE, - memory_order_release = __ATOMIC_RELEASE, - memory_order_acq_rel = __ATOMIC_ACQ_REL, - memory_order_seq_cst = __ATOMIC_SEQ_CST -} memory_order; - -#ifndef HAVE_UCHAR_H -typedef uint_least16_t char16_t; -typedef uint_least32_t char32_t; -#endif /* HAVE_UCHAR_H */ - -typedef bool atomic_bool; -typedef char atomic_char; -typedef signed char atomic_schar; -typedef unsigned char atomic_uchar; -typedef short atomic_short; -typedef unsigned short atomic_ushort; -typedef int atomic_int; -typedef unsigned int atomic_uint; -typedef long atomic_long; -typedef unsigned long atomic_ulong; -typedef long long atomic_llong; -typedef unsigned long long atomic_ullong; -typedef char16_t atomic_char16_t; -typedef char32_t atomic_char32_t; -typedef wchar_t atomic_wchar_t; -typedef int_least8_t atomic_int_least8_t; -typedef uint_least8_t atomic_uint_least8_t; -typedef int_least16_t atomic_int_least16_t; -typedef uint_least16_t atomic_uint_least16_t; -typedef int_least32_t atomic_int_least32_t; -typedef uint_least32_t atomic_uint_least32_t; -typedef int_least64_t atomic_int_least64_t; -typedef uint_least64_t atomic_uint_least64_t; -typedef int_fast8_t atomic_int_fast8_t; -typedef uint_fast8_t atomic_uint_fast8_t; -typedef int_fast16_t atomic_int_fast16_t; -typedef uint_fast16_t atomic_uint_fast16_t; -typedef int_fast32_t atomic_int_fast32_t; -typedef uint_fast32_t atomic_uint_fast32_t; -typedef int_fast64_t atomic_int_fast64_t; -typedef uint_fast64_t atomic_uint_fast64_t; -typedef intptr_t atomic_intptr_t; -typedef uintptr_t atomic_uintptr_t; -typedef size_t atomic_size_t; -typedef ptrdiff_t atomic_ptrdiff_t; -typedef intmax_t atomic_intmax_t; -typedef uintmax_t atomic_uintmax_t; - -#define atomic_init(obj, desired) (*obj = desired) -#define atomic_load_explicit(obj, order) __atomic_load_n(obj, order) -#define atomic_store_explicit(obj, desired, order) \ - __atomic_store_n(obj, desired, order) -#define atomic_fetch_add_explicit(obj, arg, order) \ - __atomic_fetch_add(obj, arg, order) -#define atomic_fetch_sub_explicit(obj, arg, order) \ - __atomic_fetch_sub(obj, arg, order) -#define atomic_fetch_and_explicit(obj, arg, order) \ - __atomic_fetch_and(obj, arg, order) -#define atomic_fetch_or_explicit(obj, arg, order) \ - __atomic_fetch_or(obj, arg, order) -#define atomic_compare_exchange_strong_explicit(obj, expected, desired, succ, \ - fail) \ - __atomic_compare_exchange_n(obj, expected, desired, 0, succ, fail) -#define atomic_compare_exchange_weak_explicit(obj, expected, desired, succ, \ - fail) \ - __atomic_compare_exchange_n(obj, expected, desired, 1, succ, fail) -#define atomic_exchange_explicit(obj, desired, order) \ - __atomic_exchange_n(obj, desired, order) - -#define atomic_load(obj) atomic_load_explicit(obj, memory_order_seq_cst) -#define atomic_store(obj, arg) \ - atomic_store_explicit(obj, arg, memory_order_seq_cst) -#define atomic_fetch_add(obj, arg) \ - atomic_fetch_add_explicit(obj, arg, memory_order_seq_cst) -#define atomic_fetch_sub(obj, arg) \ - atomic_fetch_sub_explicit(obj, arg, memory_order_seq_cst) -#define atomic_fetch_and(obj, arg) \ - atomic_fetch_and_explicit(obj, arg, memory_order_seq_cst) -#define atomic_fetch_or(obj, arg) \ - atomic_fetch_or_explicit(obj, arg, memory_order_seq_cst) -#define atomic_compare_exchange_strong(obj, expected, desired) \ - atomic_compare_exchange_strong_explicit(obj, expected, desired, \ - memory_order_seq_cst, \ - memory_order_seq_cst) -#define atomic_compare_exchange_weak(obj, expected, desired) \ - atomic_compare_exchange_weak_explicit(obj, expected, desired, \ - memory_order_seq_cst, \ - memory_order_seq_cst) -#define atomic_exchange(obj, desired) \ - atomic_exchange_explicit(obj, desired, memory_order_seq_cst) From 72cfca9b3bd6c7654a232874f84b04c5f00c5ce6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ond=C5=99ej=20Sur=C3=BD?= Date: Tue, 10 Jan 2023 12:44:59 +0100 Subject: [PATCH 4/4] Add CHANGES and release notes for [GL #3729] --- CHANGES | 2 ++ doc/notes/notes-current.rst | 4 +++- 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/CHANGES b/CHANGES index e871fe824a..d7636a866a 100644 --- a/CHANGES +++ b/CHANGES @@ -1,3 +1,5 @@ +6091. [cleanup] Drop RHEL 7 and clones support. [GL #3729] + 6090. [bug] Fix a bug in resolver's resume_dslookup() function by making sure that dns_resolver_createfetch() is called with valid parameters, as required by the function. diff --git a/doc/notes/notes-current.rst b/doc/notes/notes-current.rst index dae2c0cef5..9ecaa24c7c 100644 --- a/doc/notes/notes-current.rst +++ b/doc/notes/notes-current.rst @@ -25,7 +25,9 @@ New Features Removed Features ~~~~~~~~~~~~~~~~ -- None. +- Support for Red Hat Enterprise Linux version 7 (and clones) has been dropped. + A C11 compliant compiler (or better) is now required to compile BIND 9. + :gl:`#3729` Feature Changes ~~~~~~~~~~~~~~~