From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail02.haj.ipfire.org (localhost [IPv6:::1]) by mail02.haj.ipfire.org (Postfix) with ESMTP id 4gPxSz5VVDz2xXH for ; Tue, 26 May 2026 15:27:31 +0000 (UTC) Received: from mail01.ipfire.org (mail01.haj.ipfire.org [IPv6:2001:678:b28::25]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange x25519 server-signature ECDSA (secp384r1 raw public key) server-digest SHA384 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mail01.haj.ipfire.org", Issuer "R12" (not verified)) by mail02.haj.ipfire.org (Postfix) with ESMTPS id 4gPxSz591Tz2xBZ for ; Tue, 26 May 2026 15:27:31 +0000 (UTC) Received: from people01.haj.ipfire.org (people01.haj.ipfire.org [172.28.1.161]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange x25519 server-signature RSA-PSS (4096 bit raw public key) server-digest SHA256 client-signature ECDSA (secp384r1) client-digest SHA384) (Client CN "people01.haj.ipfire.org", Issuer "E8" (not verified)) by mail01.ipfire.org (Postfix) with ESMTPS id 4gPxSy5tD4z76T for ; Tue, 26 May 2026 15:27:30 +0000 (UTC) DKIM-Signature: v=1; a=ed25519-sha256; c=relaxed/relaxed; d=ipfire.org; s=202003ed25519; t=1779809250; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc; bh=XRcK/XwiMVw1QAotL7VMD3joUps5g8HVcqks4UvdazY=; b=nfKdosKv+Avun08ygQ9xKBYbbOVV9KgmzGC4DGy6dIYUluC61iJNm16xBiyggOdCupBLCZ sxLiPT1U37rpY6Bg== DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=ipfire.org; s=202003rsa; t=1779809250; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc; bh=XRcK/XwiMVw1QAotL7VMD3joUps5g8HVcqks4UvdazY=; b=tEPvZ+uGbJixz5u302l5Juoikcom0T9hN9k3zhP/lzPYH5dTGxJ5Lkr0ETHbmiKb9vqBsf ce69aYgu5qLS0qPY+b8pJdI3MRZouNaCUz55kBHowPTP0xEriC8q+8tgGC/BVjulhwLubV MQKy30VQh8sCwpHMf2kS6OpoNKUmacVqOVbGKQ/H0rcehbBzQ9a5MAk7091WtpFiMhEcHv x9dZbVirmPjIeNxjw6Q+hpfonT2/lz4D1zSdrPLr9mZTwAV7jek7W8XtCOC3/vSXC2Oljw ClIko6tB3rBuk0/WZs5g3nKmUcKRDOjQsb1jmiJf+hwCfgYgJ8OESzfd+VOM8g== Received: by people01.haj.ipfire.org (Postfix, from userid 1000) id 4gPxSy4hBCz2xMt; Tue, 26 May 2026 15:27:30 +0000 (UTC) To: ipfire-scm@lists.ipfire.org Subject: [git.ipfire.org] IPFire 2.x development tree branch, next, updated. aa37fa7cf007ae6ada351b74ff62dba63553c4c1 X-Git-Refname: refs/heads/next X-Git-Reftype: branch X-Git-Oldrev: f63045c6583e7478f8d2e3c58f6ad2d378058f55 X-Git-Newrev: aa37fa7cf007ae6ada351b74ff62dba63553c4c1 Message-Id: <4gPxSy4hBCz2xMt@people01.haj.ipfire.org> Date: Tue, 26 May 2026 15:27:30 +0000 (UTC) From: Michael Tremer Precedence: list List-Id: List-Subscribe: , List-Unsubscribe: , List-Post: List-Help: Sender: Mail-Followup-To: This is an automated email from the git hooks/post-receive script. It was generated because a ref change was pushed to the repository containing the project "IPFire 2.x development tree". The branch, next has been updated via aa37fa7cf007ae6ada351b74ff62dba63553c4c1 (commit) via c085124c5380534977243f2b2863280f44e3f07a (commit) via e1bf897a9ec75f5dd49d4abda4a1aaac0019a98e (commit) via 4f254fcafab768f24d0b18a73f1a3b43c8ceaa49 (commit) from f63045c6583e7478f8d2e3c58f6ad2d378058f55 (commit) Those revisions listed above that are new to this repository have not appeared on any other notification email; so we list those revisions in full, below. - Log ----------------------------------------------------------------- commit aa37fa7cf007ae6ada351b74ff62dba63553c4c1 Author: Michael Tremer Date: Tue May 26 10:58:52 2026 +0100 logs.cgi/log.dat: Create a unified DNS section to Unbound, too We want to keep this so that people can go back and view Unbound logs for a little while. Signed-off-by: Michael Tremer commit c085124c5380534977243f2b2863280f44e3f07a Author: Stefan Schantl Date: Sun May 24 15:28:27 2026 +0200 logs.cgi/log.dat: Replace DNS logging in favour of knot-resolver Fixes #13981 Signed-off-by: Stefan Schantl Signed-off-by: Michael Tremer commit e1bf897a9ec75f5dd49d4abda4a1aaac0019a98e Author: Michael Tremer Date: Tue May 26 10:46:43 2026 +0100 knot-resolver: Don't fail on parsing empty CSV files I cannot reproduce this, so this patch is a guess for fix which instead of letting the module detect the separator just tells it to use a comma. Fixes: #13982 - LUA-CSV breaks on empty files Signed-off-by: Michael Tremer commit 4f254fcafab768f24d0b18a73f1a3b43c8ceaa49 Author: Michael Tremer Date: Tue May 26 10:38:26 2026 +0100 web UI: Reload DNS in the background kresctl reload blocks until the reload process has completed which will then stall the web UI on systems that have large RPZs which will make a moment to load. To keep the web UI somewhat snappy, we will fork the process into the background and won't wait until it is completed. Signed-off-by: Michael Tremer ----------------------------------------------------------------------- Summary of changes: config/knot-resolver/config.lua | 8 ++++---- html/cgi-bin/dns.cgi | 2 +- html/cgi-bin/dnsbl.cgi | 6 +++--- html/cgi-bin/dnsforward.cgi | 6 +++--- html/cgi-bin/hosts.cgi | 2 +- html/cgi-bin/logs.cgi/log.dat | 4 ++-- 6 files changed, 14 insertions(+), 14 deletions(-) Difference in files: diff --git a/config/knot-resolver/config.lua b/config/knot-resolver/config.lua index d594c88eb..bb8546ec4 100644 --- a/config/knot-resolver/config.lua +++ b/config/knot-resolver/config.lua @@ -156,7 +156,7 @@ function config.load_forwarders(settings) end -- Open the file - local f = csv.open("/var/ipfire/dns/servers") + local f = csv.open("/var/ipfire/dns/servers", { separator = "," }) -- Add manually configured servers for fields in f:lines() do @@ -196,7 +196,7 @@ function config.load_hosts() hints.ttl(60) -- Open the file - local f = csv.open(path) + local f = csv.open(path, { separator = "," }) for fields in f:lines() do local status, address, hostname, domainname, ptr = unpack(fields) @@ -304,7 +304,7 @@ end function config.load_forwarding() local path = "/var/ipfire/dnsforward/config" - local f = csv.open(path) + local f = csv.open(path, { separator = "," }) for fields in f:lines() do local status, name, address, comment, no_dnssec = unpack(fields) @@ -408,7 +408,7 @@ function config.load_rpzs() local zones -- Open the configuration - local f = csv.open("/var/ipfire/dns/dnsbl") + local f = csv.open("/var/ipfire/dns/dnsbl", { separator = "," }) local views = {} diff --git a/html/cgi-bin/dns.cgi b/html/cgi-bin/dns.cgi index bb37354c7..07d589048 100644 --- a/html/cgi-bin/dns.cgi +++ b/html/cgi-bin/dns.cgi @@ -107,7 +107,7 @@ if ($cgiparams{'GENERAL'} eq $Lang::tr{'save'}) { } # Reload DNS - &General::system("/usr/local/bin/dnsctrl", "reload"); + &General::system_background("/usr/local/bin/dnsctrl", "reload"); } ### diff --git a/html/cgi-bin/dnsbl.cgi b/html/cgi-bin/dnsbl.cgi index 2a7cd8805..cb527919e 100644 --- a/html/cgi-bin/dnsbl.cgi +++ b/html/cgi-bin/dnsbl.cgi @@ -108,7 +108,7 @@ if ($cgiparams{'ACTION'} eq "$Lang::tr{'save'}") { &writesettings("$settings_file", \%tmphash); # Reload DNS - &General::system("/usr/local/bin/dnsctrl", "reload"); + &General::system_background("/usr/local/bin/dnsctrl", "reload"); # Save changed zone ACL } elsif ($cgiparams{'ACTION'} eq "$Lang::tr{'update'}") { @@ -165,7 +165,7 @@ if ($cgiparams{'ACTION'} eq "$Lang::tr{'save'}") { &writesettings("$settings_file", \%tmphash); # Reload DNS - &General::system("/usr/local/bin/dnsctrl", "reload"); + &General::system_background("/usr/local/bin/dnsctrl", "reload"); } # Save changed custom domains to allow or block @@ -250,7 +250,7 @@ if ($cgiparams{'ACTION'} eq "$Lang::tr{'save'}") { &writesettings("$custom_domains_file", \%tmp); # Reload DNS - &General::system("/usr/local/bin/dnsctrl", "reload"); + &General::system_background("/usr/local/bin/dnsctrl", "reload"); } } diff --git a/html/cgi-bin/dnsforward.cgi b/html/cgi-bin/dnsforward.cgi index 99f08fd51..91acb1c0b 100644 --- a/html/cgi-bin/dnsforward.cgi +++ b/html/cgi-bin/dnsforward.cgi @@ -125,7 +125,7 @@ if ($cgiparams{'ACTION'} eq $Lang::tr{'add'}) } # Reload DNS - &General::system("/usr/local/bin/dnsctrl", "reload"); + &General::system_background("/usr/local/bin/dnsctrl", "reload"); } ### @@ -144,7 +144,7 @@ if ($cgiparams{'ACTION'} eq $Lang::tr{'remove'}) close(FILE); # Reload DNS - &General::system("/usr/local/bin/dnsctrl", "reload"); + &General::system_background("/usr/local/bin/dnsctrl", "reload"); } ### @@ -172,7 +172,7 @@ if ($cgiparams{'ACTION'} eq $Lang::tr{'toggle enable disable'}) close(FILE); # Reload DNS - &General::system("/usr/local/bin/dnsctrl", "reload"); + &General::system_background("/usr/local/bin/dnsctrl", "reload"); } ### diff --git a/html/cgi-bin/hosts.cgi b/html/cgi-bin/hosts.cgi index e5558f949..47469c741 100644 --- a/html/cgi-bin/hosts.cgi +++ b/html/cgi-bin/hosts.cgi @@ -490,5 +490,5 @@ sub BuildConfiguration { &General::system('/usr/local/bin/rebuildhosts'); # Reload DNS - &General::system("/usr/local/bin/dnsctrl", "reload"); + &General::system_background("/usr/local/bin/dnsctrl", "reload"); } diff --git a/html/cgi-bin/logs.cgi/log.dat b/html/cgi-bin/logs.cgi/log.dat index 4370b1bf3..90f675008 100644 --- a/html/cgi-bin/logs.cgi/log.dat +++ b/html/cgi-bin/logs.cgi/log.dat @@ -59,6 +59,7 @@ my %sections = ( 'ddns' => '(ddns\[\d+\]:)', 'dhcp' => '(dhcpd: )', 'dma' => '(dma: |dma\[.*\]: |postfix/\w*\[\d*\]: )', + 'dns' => '(knot_resolver.*: |supervisord: |kresd\[.*\]: |unbound: \[.*?\])', 'guardian' => '(guardian\[.*\]: )', 'haproxy' => '(haproxy\[.*?\]: )', 'ipblocklist' => '(ipblocklist: )', @@ -76,7 +77,6 @@ my %sections = ( 'suricata' => '(suricata: )', 'squid' => '(squid\[.*\]: |squid: )', 'ssh' => '(sshd(?:\(.*\))?\[.*\]: |sshd-session(?:\(.*\))?\[.*\]:)', - 'unbound' => '(unbound: \[.*?\])(.*:.*$)', 'urlfilter bl' => '(installpackage\[urlfilter\]: )', 'wireless' => '(hostapd:|kernel: ath.*:|kernel: wifi[0-9]:)', 'zabbix_agentd' => '(zabbix_agentd\[.*?\]: )' @@ -94,6 +94,7 @@ my %trsections = ( 'ddns' => "$Lang::tr{'dynamic dns'}", 'dhcp' => "$Lang::tr{'dhcp server'}", 'dma' => 'Mail', + 'dns' => $Lang::tr{'dns title'}, 'guardian' => "$Lang::tr{'guardian'}", 'haproxy' => 'HAProxy', 'ipblocklist' => "$Lang::tr{'ipblocklist'}", @@ -111,7 +112,6 @@ my %trsections = ( 'suricata' => "$Lang::tr{'intrusion detection'}", 'squid' => "$Lang::tr{'web proxy'}", 'ssh' => 'SSH', - 'unbound' => 'DNS: Unbound', 'urlfilter bl' => 'URLFilter Blacklist', 'wireless' => 'Wireless', 'zabbix_agentd' => 'Zabbix Agent' hooks/post-receive -- IPFire 2.x development tree