mirror of
https://github.com/vincentmli/bpfire.git
synced 2026-04-09 10:35:53 +02:00
For details see: https://nlnetlabs.nl/projects/unbound/download/#unbound-1-17-0 "Features Merge #753: ACL per interface. (New interface-* configuration options). Merge #760: PROXYv2 downstream support. (New proxy-protocol-port configuration option). Bug Fixes Fix #728: alloc_reg_obtain() core dump. Stop double alloc_reg_release when serviced_create fails. Fix edns subnet so that scope 0 answers only match sourcemask 0 queries for answers from cache if from a query with sourcemask 0. Fix unittest for edns subnet change. Merge #730 from luisdallos: Fix startup failure on Windows 8.1 due to unsupported IPV6_USER_MTU socket option being set. Fix ratelimit inconsistency, for ip-ratelimits the value is the amount allowed, like for ratelimits. Fix #734 [FR] enable unbound-checkconf to detect more (basic) errors. Fix to log accept error ENFILE and EMFILE errno, but slowly, once per 10 seconds. Also log accept failures when no slow down is used. Fix to avoid process wide fcntl calls mixed with nonblocking operations after a blocked write. Patch from Vadim Fedorenko that adds MSG_DONTWAIT to receive operations, so that instruction reordering does not cause mistakenly blocking socket operations. Fix to wait for blocked write on UDP sockets, with a timeout if it takes too long the packet is dropped. Fix for wait for udp send to stop when packet is successfully sent. Fix #741: systemd socket activation fails on IPv6. Fix to update config tests to fix checking if nonblocking sockets work on OpenBSD. Slow down log frequency of write wait failures. Fix to set out of file descriptor warning to operational verbosity. Fix to log a verbose message at operational notice level if a thread is not responding, to stats requests. It is logged with thread identifiers. Remove include that was there for debug purposes. Fix to check pthread_t size after pthread has been detected. Convert tdir tests to use the new skip_test functionality. Remove unused testcode/mini_tpkg.sh file. Better output for skipped tdir tests. Fix doxygen warning in respip.h. Fix to remove erroneous TC flag from TCP upstream. Fix test tdir skip report printout. Fix windows compile, the identifier interface is defined in headers. Fix to close errno block in comm_point_tcp_handle_read outside of ifdef. Fix static analysis report to remove dead code from the rpz_callback_from_iterator_module function. Fix to clean up after the acl_interface unit test. Merge #764: Leniency for target discovery when under load (for NRDelegation changes). Use DEBUG_TDIR from environment in mini_tdir.sh for debugging. Fix string comparison in mini_tdir.sh. Make ede.tdir test more predictable by using static data. Fix checkconf test for dnscrypt and proxy port. Fix dnscrypt compile for proxy protocol code changes. Fix to stop responses with TC flag from resulting in partial responses. It retries to fetch the data elsewhere, or fails the query and in depth fix removes the TC flag from the cached item. Fix proxy length debug output printout typecasts. Fix to stop possible loops in the tcp reuse code (write_wait list and tcp_wait list). Based on analysis and patch from Prad Seniappan and Karthik Umashankar. Fix PROXYv2 header read for TCP connections when no proxied addresses are provided." Signed-off-by: Matthias Fischer <matthias.fischer@ipfire.org> Reviewed-by: Michael Tremer <michael.tremer@ipfire.org>
115 lines
4.2 KiB
Plaintext
115 lines
4.2 KiB
Plaintext
###############################################################################
|
|
# #
|
|
# IPFire.org - A linux based firewall #
|
|
# Copyright (C) 2007-2022 IPFire Team <info@ipfire.org> #
|
|
# #
|
|
# 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 <http://www.gnu.org/licenses/>. #
|
|
# #
|
|
###############################################################################
|
|
|
|
###############################################################################
|
|
# Definitions
|
|
###############################################################################
|
|
|
|
include Config
|
|
|
|
VER = 1.17.0
|
|
|
|
THISAPP = unbound-$(VER)
|
|
DL_FILE = $(THISAPP).tar.gz
|
|
DL_FROM = $(URL_IPFIRE)
|
|
DIR_APP = $(DIR_SRC)/$(THISAPP)
|
|
TARGET = $(DIR_INFO)/$(THISAPP)
|
|
|
|
###############################################################################
|
|
# Top-level Rules
|
|
###############################################################################
|
|
|
|
objects = $(DL_FILE)
|
|
|
|
$(DL_FILE) = $(DL_FROM)/$(DL_FILE)
|
|
|
|
$(DL_FILE)_BLAKE2 = 611c1b96ff84e6dd8f7a592135cc17f416cd810d0f35d27c8cedd56af069badd8dca112cc5927a1fe50ec3335c377b6bd6fc4e1a6d63a332a90d676e3c23dcef
|
|
|
|
install : $(TARGET)
|
|
|
|
check : $(patsubst %,$(DIR_CHK)/%,$(objects))
|
|
|
|
download :$(patsubst %,$(DIR_DL)/%,$(objects))
|
|
|
|
b2 : $(subst %,%_BLAKE2,$(objects))
|
|
|
|
###############################################################################
|
|
# Downloading, checking, b2sum
|
|
###############################################################################
|
|
|
|
$(patsubst %,$(DIR_CHK)/%,$(objects)) :
|
|
@$(CHECK)
|
|
|
|
$(patsubst %,$(DIR_DL)/%,$(objects)) :
|
|
@$(LOAD)
|
|
|
|
$(subst %,%_BLAKE2,$(objects)) :
|
|
@$(B2SUM)
|
|
|
|
###############################################################################
|
|
# Installation Details
|
|
###############################################################################
|
|
|
|
$(TARGET) : $(patsubst %,$(DIR_DL)/%,$(objects))
|
|
@$(PREBUILD)
|
|
@rm -rf $(DIR_APP) && cd $(DIR_SRC) && tar axf $(DIR_DL)/$(DL_FILE)
|
|
cd $(DIR_APP) && \
|
|
./configure \
|
|
--prefix=/usr \
|
|
--sysconfdir=/etc \
|
|
--with-pidfile=/var/run/unbound.pid \
|
|
--with-rootkey-file=/var/lib/unbound/root.key \
|
|
--disable-static \
|
|
--with-libevent \
|
|
--enable-event-api \
|
|
--enable-tfo-client \
|
|
--enable-tfo-server \
|
|
ac_cv_func_getentropy=no
|
|
|
|
cd $(DIR_APP) && make $(MAKETUNING)
|
|
cd $(DIR_APP) && make install
|
|
|
|
# Install configuration
|
|
install -v -m 644 $(DIR_SRC)/config/unbound/unbound.conf \
|
|
/etc/unbound/unbound.conf
|
|
touch /etc/unbound/{dhcp-leases,forward}.conf
|
|
-mkdir -pv /etc/unbound/local.d
|
|
|
|
# Install root hints
|
|
install -v -m 644 $(DIR_SRC)/config/unbound/root.hints \
|
|
/etc/unbound/root.hints
|
|
|
|
# Install DHCP leases bridge
|
|
install -v -m 755 $(DIR_SRC)/config/unbound/unbound-dhcp-leases-bridge \
|
|
/usr/sbin/unbound-dhcp-leases-bridge
|
|
|
|
# Install key
|
|
-mkdir -pv /var/lib/unbound
|
|
install -v -m 644 $(DIR_SRC)/config/unbound/root.key \
|
|
/var/lib/unbound/root.key
|
|
chown -Rv nobody.nobody /var/lib/unbound
|
|
|
|
# Ship ICANN's certificates to validate DNS trust anchors
|
|
install -v -m 644 $(DIR_SRC)/config/unbound/icannbundle.pem \
|
|
/etc/unbound/icannbundle.pem
|
|
|
|
@rm -rf $(DIR_APP)
|
|
@$(POSTBUILD)
|