From patchwork Fri Mar 10 15:00:56 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Sergey Trofimov X-Patchwork-Id: 47838 Return-Path: X-Original-To: patchwork@mira.cbaines.net Delivered-To: patchwork@mira.cbaines.net Received: by mira.cbaines.net (Postfix, from userid 113) id B0A9C16E76; Fri, 10 Mar 2023 15:02:18 +0000 (GMT) X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on mira.cbaines.net X-Spam-Level: X-Spam-Status: No, score=-1.8 required=5.0 tests=DKIM_INVALID,DKIM_SIGNED, MAILING_LIST_MULTI,RCVD_IN_MSPIKE_H2,SPF_HELO_PASS,URIBL_BLOCKED autolearn=ham autolearn_force=no version=3.4.6 Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mira.cbaines.net (Postfix) with ESMTPS id 5AEB016E4D for ; Fri, 10 Mar 2023 15:02:17 +0000 (GMT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1paeFy-0004aQ-6B; Fri, 10 Mar 2023 10:02:06 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1paeFu-0004aC-Q6 for guix-patches@gnu.org; Fri, 10 Mar 2023 10:02:02 -0500 Received: from debbugs.gnu.org ([209.51.188.43]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1paeFu-00071k-Ff for guix-patches@gnu.org; Fri, 10 Mar 2023 10:02:02 -0500 Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1paeFu-0004mE-1I for guix-patches@gnu.org; Fri, 10 Mar 2023 10:02:02 -0500 X-Loop: help-debbugs@gnu.org Subject: [bug#61956] [PATCH v5] services: dns: Extend dnsmasq-configuration. References: <20230304082719.29479-1-sarg@sarg.org.ru> In-Reply-To: <20230304082719.29479-1-sarg@sarg.org.ru> Resent-From: Sergey Trofimov Original-Sender: "Debbugs-submit" Resent-CC: guix-patches@gnu.org Resent-Date: Fri, 10 Mar 2023 15:02:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 61956 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: patch To: 61956@debbugs.gnu.org Cc: Sergey Trofimov Received: via spool by 61956-submit@debbugs.gnu.org id=B61956.167846051418348 (code B ref 61956); Fri, 10 Mar 2023 15:02:01 +0000 Received: (at 61956) by debbugs.gnu.org; 10 Mar 2023 15:01:54 +0000 Received: from localhost ([127.0.0.1]:55518 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1paeFm-0004ls-G6 for submit@debbugs.gnu.org; Fri, 10 Mar 2023 10:01:54 -0500 Received: from mail-ed1-f49.google.com ([209.85.208.49]:46743) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1paeFj-0004ld-GH for 61956@debbugs.gnu.org; Fri, 10 Mar 2023 10:01:52 -0500 Received: by mail-ed1-f49.google.com with SMTP id k10so21491585edk.13 for <61956@debbugs.gnu.org>; Fri, 10 Mar 2023 07:01:51 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sarg.org.ru; s=google; t=1678460505; h=content-transfer-encoding:mime-version:message-id:date:subject:cc :to:from:from:to:cc:subject:date:message-id:reply-to; bh=NxgJ2cpLOskgFtbRC0Zwsp2gI0l/aJfNByLz531Az8c=; b=Vmof+ZzsuL59+9H7i9ZZtTAY9IiVQwhTX7Tc3jWg0MlJ1+J+YoBhlePBTaVxdKefMI jcX1+bqdEW3n7TLrfR5aXyl1dtsm6K9bFpgpee0vfSFGUq4cvVvJC46mYVDK/6HyDi7V +MUSiJkSDblbjVAdr1BVfhzVNgZu3jwjdBlik= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; t=1678460505; h=content-transfer-encoding:mime-version:message-id:date:subject:cc :to:from:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=NxgJ2cpLOskgFtbRC0Zwsp2gI0l/aJfNByLz531Az8c=; b=zI0Uw50PAastWiYAyQoMKb7rPGf5ZBu0TN3ZVOvGWof6TtErv2BEcvlayLsqDRC00J Eii5M4iDqNhtaQP/dr1Oa5QwZbcj+/1JtBJRKvez+BUrCL2569odHvF24it4DkZ15VxV u+kdmphkPYONg0Oh3MRDmmoh0pJOWNZd7y7gVxUGuW4yl40x3etUkKq7SoxMv0p3vGTZ /Ls05Jp4Y5BDwKFv6mYZXjc280NOW28ZzBl751NiZIadpdp5AnhAvUKv7D5gLU3FeO+9 HRt4mwvbZrOHUG05xNDL9ChvEXDlbEAIQovdFX9U7Wdd4VS+xYKyX5SmxjuEEuhURcjD UAIQ== X-Gm-Message-State: AO0yUKVPlVOJBsdVrcOwLJtHqVlTWhFsLccwdnAP+1q+mWXC+O5vYiSA MZoeBgoHP7vBbFygjAZ7/MJ6Pe0DG1ONFsdoaScsrg== X-Google-Smtp-Source: AK7set+x5WmAFSbxfu6l/07kEJJsxNCmukFRCBrH8kalgt36QSE6ul1kkcfQbir1IIS+S+vde/IfbA== X-Received: by 2002:a17:906:5fd7:b0:8e7:672f:23c0 with SMTP id k23-20020a1709065fd700b008e7672f23c0mr2395428ejv.33.1678460504874; Fri, 10 Mar 2023 07:01:44 -0800 (PST) Received: from localhost ([95.168.145.203]) by smtp.gmail.com with ESMTPSA id m9-20020a170906720900b008b133f9b33dsm1036557ejk.169.2023.03.10.07.01.44 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 10 Mar 2023 07:01:44 -0800 (PST) From: Sergey Trofimov Date: Fri, 10 Mar 2023 16:00:56 +0100 Message-Id: <20230310150055.3728-1-sarg@sarg.org.ru> X-Mailer: git-send-email 2.39.2 MIME-Version: 1.0 X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list X-BeenThere: guix-patches@gnu.org List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: guix-patches-bounces+patchwork=mira.cbaines.net@gnu.org Sender: guix-patches-bounces+patchwork=mira.cbaines.net@gnu.org X-getmail-retrieved-from-mailbox: Patches * gnu/service/dns.scm: ()[servers-file]: Add. ()[tftp-secure?]: Fix typo in parameter name. * doc/guix.texi: Document ()[servers-file]. --- doc/guix.texi | 4 ++++ gnu/services/dns.scm | 11 ++++++++--- 2 files changed, 12 insertions(+), 3 deletions(-) diff --git a/doc/guix.texi b/doc/guix.texi index 6671ba9305..debff95466 100644 --- a/doc/guix.texi +++ b/doc/guix.texi @@ -31502,6 +31502,10 @@ in @var{servers}. @item @code{servers} (default: @code{'()}) Specify IP address of upstream servers directly. +@item @code{servers-file} (default: @code{#f}) +Specify file containing upstream servers. This file is re-read when dnsmasq receives SIGHUP. +Could be either a string or a file-like object. + @item @code{addresses} (default: @code{'()}) For each entry, specify an IP address to return for any host in the given domains. Queries in the domains are never forwarded and always diff --git a/gnu/services/dns.scm b/gnu/services/dns.scm index 32fb8c0664..aaa2b6e47f 100644 --- a/gnu/services/dns.scm +++ b/gnu/services/dns.scm @@ -754,6 +754,8 @@ (define-record-type* (default #f)) ;boolean (servers dnsmasq-configuration-servers (default '())) ;list of string + (servers-file dnsmasq-configuration-servers-file + (default #f)) ;string|file-like (addresses dnsmasq-configuration-addresses (default '())) ;list of string (cache-size dnsmasq-configuration-cache-size @@ -792,7 +794,7 @@ (define (dnsmasq-shepherd-service config) port local-service? listen-addresses resolv-file no-resolv? forward-private-reverse-lookup? query-servers-in-order? - servers addresses + servers addresses servers-file cache-size negative-cache? cpe-id tftp-enable? tftp-no-fail? @@ -805,7 +807,7 @@ (define (dnsmasq-shepherd-service config) (requirement '(networking)) (documentation "Run the dnsmasq DNS server.") (start #~(make-forkexec-constructor - '(#$(file-append package "/sbin/dnsmasq") + (list #$(file-append package "/sbin/dnsmasq") "--keep-in-foreground" "--pid-file=/run/dnsmasq.pid" #$@(if no-hosts? @@ -827,6 +829,9 @@ (define (dnsmasq-shepherd-service config) #$@(if query-servers-in-order? '("--strict-order") '()) + #$@(if servers-file + (list #~(string-append "--servers-file=" #$servers-file)) + '()) #$@(map (cut format #f "--server=~a" <>) servers) #$@(map (cut format #f "--address=~a" <>) @@ -848,7 +853,7 @@ (define (dnsmasq-shepherd-service config) '("--tftp-single-port") '()) #$@(if tftp-secure? - '("--tftp-secure?") + '("--tftp-secure") '()) #$@(if tftp-max (list (format #f "--tftp-max=~a" tftp-max))