From patchwork Wed Mar 8 14:56:20 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: "Wicki Gabriel (wicg)" X-Patchwork-Id: 47793 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 D22FB16E22; Wed, 8 Mar 2023 14:57:21 +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.0 required=5.0 tests=HTML_MESSAGE, LONG_INVISIBLE_TEXT,MAILING_LIST_MULTI,RCVD_IN_MSPIKE_H2,SPF_HELO_PASS 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 874A016DBD for ; Wed, 8 Mar 2023 14:57:20 +0000 (GMT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1pZvE0-0005lZ-NM; Wed, 08 Mar 2023 09:57:04 -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 1pZvDy-0005lJ-Pa for guix-patches@gnu.org; Wed, 08 Mar 2023 09:57: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 1pZvDy-00089f-Bv for guix-patches@gnu.org; Wed, 08 Mar 2023 09:57:02 -0500 Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1pZvDy-0006fZ-1p for guix-patches@gnu.org; Wed, 08 Mar 2023 09:57:02 -0500 X-Loop: help-debbugs@gnu.org Subject: [bug#61869] Updated patch References: In-Reply-To: Resent-From: "Wicki Gabriel (wicg)" Original-Sender: "Debbugs-submit" Resent-CC: guix-patches@gnu.org Resent-Date: Wed, 08 Mar 2023 14:57:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 61869 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: To: "61869@debbugs.gnu.org" <61869@debbugs.gnu.org> Received: via spool by 61869-submit@debbugs.gnu.org id=B61869.167828739725614 (code B ref 61869); Wed, 08 Mar 2023 14:57:01 +0000 Received: (at 61869) by debbugs.gnu.org; 8 Mar 2023 14:56:37 +0000 Received: from localhost ([127.0.0.1]:49868 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1pZvDZ-0006f4-3N for submit@debbugs.gnu.org; Wed, 08 Mar 2023 09:56:37 -0500 Received: from mail-zr0che01on2088.outbound.protection.outlook.com ([40.107.24.88]:63929 helo=CHE01-ZR0-obe.outbound.protection.outlook.com) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1pZvDV-0006ex-6f for 61869@debbugs.gnu.org; Wed, 08 Mar 2023 09:56:34 -0500 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=iNMaTA8wTzgGQIfeUDbQBkkDg3czFhlR2Zgyk8o9m2ITgYV06MbSkLW19tVkqhGgt7uwPfY1/9PlNAEbUlJEyuho+/VgFDPpTy+u4pYqOGRltXxroGnaeLq8otWf8zJSMDxHmBTDKM2ie99qItO7Ww01586y/ieBeVHYIEIIwkgIDjJhgeD6tT6/1V7Fap64x9+JDsiSTMBlM7lRKpk3aZ5Imz7zawUBT/bUfRzyDAXcjCY/Lc/gKKMBKtVnhzJwMcFORcTzGuwR1o/JlNmxHZdRg/ybNkZOUeoyZNlCI2rJn3C+XfwWXr28s09C2li1ce+YmciBwWC3tkW4CAGAoQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=Y/ZRUkvIjonALrg/S8B3t5MeJ4QX/+ySmLCu02Wlvko=; b=TzU++5mV62INfvNPe135L4Xh/FiUVnsTHRTrn9KBDVbQ5CWK10Wf6KCSYcPFY06ExFP4ezyQRyx4hqShpEwp5ZR4tw1E4Dx+OmlEzdoFwqMQNudr/1EIlo2ko6Z2BnKfA/dhysqSITHldK5WBNglO0e7zS7lJv7Lm1r6/K/YmN0xCcrGUoZKCdqj8rcKq8xi0RnB8Ye5GLhttZi4njEoxoGXcaNFg9jS0zdDS47Xzod8iREK5l34EZDd7iCTBTDzj6/x3C9cgZ3jjzB3DcjaLZARNYLP2CrYDPwoM1v/0sV9N74g0stmTt5VAPsz2vHJQLNBcz9mQGRRTCrmcmr/3A== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=zhaw.ch; dmarc=pass action=none header.from=zhaw.ch; dkim=pass header.d=zhaw.ch; arc=none Received: from ZR0P278MB0268.CHEP278.PROD.OUTLOOK.COM (2603:10a6:910:25::9) by GV0P278MB0100.CHEP278.PROD.OUTLOOK.COM (2603:10a6:710:1e::14) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6178.16; Wed, 8 Mar 2023 14:56:20 +0000 Received: from ZR0P278MB0268.CHEP278.PROD.OUTLOOK.COM ([fe80::d1cd:e8ce:49d5:f477]) by ZR0P278MB0268.CHEP278.PROD.OUTLOOK.COM ([fe80::d1cd:e8ce:49d5:f477%6]) with mapi id 15.20.6178.017; Wed, 8 Mar 2023 14:56:20 +0000 From: "Wicki Gabriel (wicg)" Thread-Topic: Updated patch Thread-Index: AQHZUc0wBJ0btyilfkKMKD6viB578g== Date: Wed, 8 Mar 2023 14:56:20 +0000 Message-ID: Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: yes X-MS-TNEF-Correlator: msip_labels: MSIP_Label_10d9bad3-6dac-4e9a-89a3-89f3b8d247b2_Enabled=True; MSIP_Label_10d9bad3-6dac-4e9a-89a3-89f3b8d247b2_SiteId=5d1a9f9d-201f-4a10-b983-451cf65cbc1e; MSIP_Label_10d9bad3-6dac-4e9a-89a3-89f3b8d247b2_SetDate=2023-03-08T14:56:19.783Z; MSIP_Label_10d9bad3-6dac-4e9a-89a3-89f3b8d247b2_Name=Intern; MSIP_Label_10d9bad3-6dac-4e9a-89a3-89f3b8d247b2_ContentBits=0; MSIP_Label_10d9bad3-6dac-4e9a-89a3-89f3b8d247b2_Method=Standard; authentication-results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=zhaw.ch; x-ms-publictraffictype: Email x-ms-traffictypediagnostic: ZR0P278MB0268:EE_|GV0P278MB0100:EE_ x-ms-office365-filtering-correlation-id: 1bcb91c0-104c-4e2d-5134-08db1fe546ed x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: bMkz94c48+brChCXpQrnJiCxfHzC42rxqDiVEOPvcBGnqo4kJu5hWaV+SBzaAlGp37VP83gqJiq3Nbtq8XsVikuWebI4tCroUMe/duB3ftvL2nJnIfw4lRRE5A+ESCqp9wXhwvlVsgAp6TcYyQn0LxtZ7/m2/RjGaMywhOVZ7SkJHfhqZMuZPvTd9dpJyIq0HmpMpGBBMn0XDZHNQhJFXbdL3n05an61gUw/rCn0zaYuHACGepXRwlJEWtMnuzmDxXcHbRUqtj4QLoIWSWP0sC6IQLVprz3/XTtXwaZ/4U55m4lhS+yQ2eIZOHPhp1AgieZ5yzypi6RDj0yFqGNVbuREbssA1FtLELummaWt/TLButm6Xgl/24C7c3VVdHGjVkajXF0K7AIqPxlxMfOboovBGegwGOSfxZXK8Dou1nZmjT0+dZFF7WPP/qcwqck5TsIewAXPNUkukFvzHBRwn36tXnhIkMi2CZOzLC9QRDNBWHOhDDryfxOZXDjHnQfgQcftOVCidRVcw78qdV+0gQA0Dn/uY3gIrZU51KYwZvnP1FzS2X1PhzsswsXe9hdia+C8Oaqs3/sQqsHFP1S2keDlltUkDKYkEwROl9G2KquNJ3pOj9P6maCDeXT5zTVWtxv9cDRNnK8vI+YytdLfKr9IspOq5sRnl9rSeJ8oyJexBBJUeiuwBWiiw00ms/OuIKPazYG3uC7uYrWRgXOQmA== x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:ZR0P278MB0268.CHEP278.PROD.OUTLOOK.COM; PTR:; CAT:NONE; SFS:(13230025)(4636009)(376002)(366004)(346002)(136003)(396003)(39860400002)(451199018)(19627405001)(6916009)(8676002)(38100700002)(66946007)(786003)(66476007)(66556008)(66446008)(64756008)(316002)(41300700001)(8936002)(52536014)(41320700001)(76116006)(122000001)(7116003)(83380400001)(86362001)(5660300002)(478600001)(99936003)(71200400001)(26005)(33656002)(6506007)(9686003)(2906002)(7696005)(186003)(55016003)(38070700005)(558084003)(3480700007); DIR:OUT; SFP:1101; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: a68K7P4sxod3F2CS/HRhRvJZtrx45v3q9uxo/mvFq14IvL/8hmj2PXroka6q6BA1JZtp3SPiZVm4SvgUXzXxlgovvxuc2UPQMHBNduP1XfTQBCS5Qcu1p/BnkJ12YXIsySE9Ce1fP3MLozSA75az1jCASfzTt/nMGqHkMwTnL6UZDtRXK3qrhNwh1y6iVe4kRa4OYU182AdI7kBDZuhwQid9dAZsXquNeO/VnzuuvgMpvP5nqc3VTzgEb7R3n3M2H/O2alq+hA7jM/bBRFCV2ty9g3G1nlpyC84wtLzvHYJFJ2HJyt+dQ/S9O1fSchG+QFBdc3vKZ5e5+Xw0kJBn9oqjqHHCgxKAdRXcd6UHcx9h5KTGuf292u+3zNXs7OKEgdPsHEZNsUn8RY2n3ywwDsucI2/Kvm/e+0rf182eA6+txeAS1xJlEHan3L3RiK8RKp+8/oylFcnJFYSq9vJgk+E7IdvXRkQSdoqmbZw4Y7AkLOJJyLHigW2c9r4G1O6G2VaZSXfxyFv4ZGGW2AOY2mRCZmhI6UEVRIuSsPaZqUNKL6vptY4gD2wfQ2g7IpygvG8atnaNdBC4nZXaMlHfkcGJnsT3vLbfkW/NPhZCniEjVr5r9awLnT0O2Y3n9b/7Sc6OWTMtsOaiFnopxakSpIFtJZKqdOvaNl2RTGoD4iFfsVnkZMINtQBlMQNTuR288jIRgu52+/joUdWmtxT0YP0I/SYpUhiEuusuX3gRqXsQ9+qREG9KA5+w+qo8hLnZJknETtcWzUqAm/x6uH17nxEirRuoKOSpfP6FNQ2eTJhpS2Rs/mzkfgJYcAkztrScAG4WAkLV63u5jL2LY4OAqXkjiPMraqzi9/vMf789eqsiumwF0w8WGAU/nMUpHgDOE/y2mQzT1MSmvzTqlMBRuodXtFRWBu0zcnS2KY5davzT5eCVNznmKzF6iv86WO+W9f2Mi/wE+S4He4s6n6jUxfQkjirUU+y+5rO+eAc/0tbLsrnGWU1RKBSPEIiggaaXaN2mfaCk0aTaHNOZfixzE5fS46zGt7vMh4hu4JtP81Kc4paSMNGvFuc9gUJCVX5BmUdBParcb0KxSHqM8aBP30ovEqy/pktbkBmrrz2B4YyoOxk8iUrU769Qp2XoDZo3z3buBEub21ROmiTlvphNoXgYVhydzTk+dIeRMiFJyOiaSZSdVtl0pMzQZrczZI2Bo6INN8f4AUn5OV2fXEvMIOjMwcb0Pdzx2dWjffx3L5gaxxc8AAqOIfzI6Np0uU76uo2KnkriKDXsgWlr/RjsTQIDhu9jMHYKlubtcr7ioOaGTD/JcYfp7KlwY80Rpng4ucqlXm7bOgmzgc68kTandGaSCfu74uRIH3P6KDWfhF/Bbkf4eHM7kPNU0nWo6kO4JdTNTykI3OtaOJzUy/ANNOR5iG9X57+zUv1LKBf5fhYmVYbDn3gn/icZWWAmIJlhO+b3R9FesrbhH5Je6/3sPVBX2IwIsqcR7mu/UFfk4XIaw6NPR6Rwap1S5TgCWA6v83giP3ondiyMEtVpkIER4A== MIME-Version: 1.0 X-OriginatorOrg: zhaw.ch X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: ZR0P278MB0268.CHEP278.PROD.OUTLOOK.COM X-MS-Exchange-CrossTenant-Network-Message-Id: 1bcb91c0-104c-4e2d-5134-08db1fe546ed X-MS-Exchange-CrossTenant-originalarrivaltime: 08 Mar 2023 14:56:20.0830 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 5d1a9f9d-201f-4a10-b983-451cf65cbc1e X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: AlAVaqzokEjX9xZ81UomU7+e98vkf/+w3H2LkMb84kk6YI45vIbbFDoGKlhCTADv X-MS-Exchange-Transport-CrossTenantHeadersStamped: GV0P278MB0100 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 Hi There were two small changes i wanted to address before merging: - the standard /24 block for documenting is 192.0.2.0/24 - i had the default option for --no-poll (poll?) wrong in the documentation. From ac94edd8992987270ab0ecf1019dd2452d4b0e8b Mon Sep 17 00:00:00 2001 From: Gabriel Wicki Date: Thu, 23 Feb 2023 16:46:29 +0100 Subject: [PATCH] gnu: services: Add more dnsmasq options. * gnu/services/dns.scm (dnsmasq-configuration, dnsmasq-shepherd-service): Add options domain-needed?, bogus-priv?, filterwin2k?, poll?, local, interface, bind-dynamic?, expand-hosts?, domain, dhcp-range and dhcp-option, as they are documented in dnsmasq's manual. * doc/guix.texi (dnsmasq-configuration): Document them. --- doc/guix.texi | 39 +++++++++++++++++++++++++++ gnu/services/dns.scm | 63 ++++++++++++++++++++++++++++++++++++++++++-- 2 files changed, 100 insertions(+), 2 deletions(-) diff --git a/doc/guix.texi b/doc/guix.texi index 05615b9549..d7f63e711b 100644 --- a/doc/guix.texi +++ b/doc/guix.texi @@ -114,6 +114,7 @@ Copyright @copyright{} 2022 Ivan Vilata-i-Balaguer@* Copyright @copyright{} 2023 Giacomo Leidi@* Copyright @copyright{} 2022 Antero Mejr@* Copyright @copyright{} 2023 Bruno Victal@* +Copyright @copyright{} 2023 Gabriel Wicki@* Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.3 or @@ -31317,6 +31318,44 @@ When false, disable negative caching. If set, add a CPE (Customer-Premises Equipment) identifier to DNS queries which are forwarded upstream. +@item @code{domain-needed?} (default: @code{#f}) +Whether to forward queries with no domain part. + +@item @code{bogus-priv?} (default: @code{#f}) +Whether to fake reverse lookups for RFC1918 private address ranges. + +@item @code{filterwin2k?} (default: @code{#f}) +Whether to forward spurious DNS requests from Windows hosts. + +@item @code{poll?} (default: @code{#t}) +Continuously reads @file{/etc/resolv.conf} when @code{#true}, otherwise only +does so on SIGHUP. + +@item @code{local} (default: @code{#f}) +A string representing domains where nothing will be forwarded to +@code{"/domain/"}). + +@item @code{interface} (default: @code{#f}) +The interface(s) dnsmasq works on (like @code{"wlp3"} or @code{"lan0"}. +Multiple names can be specified as strings separated by commas. + +@item @code{bind-dynamic?} (default: @code{#f}) +Bind to interfaces in use - check for new interfaces. + +@item @code{expand-hosts?} (default: @code{#f}) +Expand simple names in @file{/etc/hosts} with domain-suffix. + +@item @code{domain} (default: @code{#f}) +Specify the domain to be assigned in DHCP leases. + +@item @code{dhcp-range} (default: @code{#f}) +Enable DHCP in the range given with lease duration, the format is +@code{,,,}, e.g. +@code{192.0.2.50,192.0.2.150,255.255.255.0,1h}. + +@item @code{dhcp-options} (default: @code{'()}) +A list of options to be passed along. + @item @code{tftp-enable?} (default: @code{#f}) Whether to enable the built-in TFTP server. diff --git a/gnu/services/dns.scm b/gnu/services/dns.scm index 50753b7ab6..d4b9a78c7a 100644 --- a/gnu/services/dns.scm +++ b/gnu/services/dns.scm @@ -4,6 +4,7 @@ ;;; Copyright © 2020 Pierre Langlois ;;; Copyright © 2021 Maxime Devos ;;; Copyright © 2022 Remco van 't Veer +;;; Copyright © 2023 Gabriel Wicki ;;; ;;; This file is part of GNU Guix. ;;; @@ -749,8 +750,7 @@ (define-record-type* (forward-private-reverse-lookup? dnsmasq-configuration-forward-private-reverse-lookup? (default #t)) ;boolean - (query-servers-in-order? - dnsmasq-configuration-query-servers-in-order? + (query-servers-in-order? dnsmasq-configuration-query-servers-in-order? (default #f)) ;boolean (servers dnsmasq-configuration-servers (default '())) ;list of string @@ -762,6 +762,28 @@ (define-record-type* (default #t)) ;boolean (cpe-id dnsmasq-configuration-cpe-id (default #t)) ;string + (domain-needed? dnsmasq-configuration-domain-needed? + (default #f)) ;boolean + (bogus-priv? dnsmasq-configuration-bogus-priv? + (default #f)) ;boolean + (filterwin2k? dnsmasq-configuration-filterwin2k? + (default #f)) ;boolean + (poll? dnsmasq-configuration-poll? + (default #t)) ;boolean + (local dnsmasq-configuration-local + (default #f)) ;string + (interface dnsmasq-configuration-interface + (default #f)) ;string + (bind-dynamic? dnsmasq-configuration-bind-dynamic? + (default #f)) ;boolean + (expand-hosts? dnsmasq-configuration-expand-hosts? + (default #f)) ;boolean + (domain dnsmasq-configuration-domain + (default #f)) ;string + (dhcp-range dnsmasq-configuration-dhcp-range + (default #f)) ;string + (dhcp-options dnsmasq-configuration-dhcp-options + (default '())) ;list of string (tftp-enable? dnsmasq-configuration-tftp-enable? (default #f)) ;boolean (tftp-no-fail? dnsmasq-configuration-tftp-no-fail? @@ -795,6 +817,11 @@ (define (dnsmasq-shepherd-service config) servers addresses cache-size negative-cache? cpe-id + domain-needed? bogus-priv? filterwin2k? poll? + local interface + bind-dynamic? expand-hosts? + domain + dhcp-range dhcp-options tftp-enable? tftp-no-fail? tftp-single-port? tftp-secure? tftp-max tftp-mtu tftp-no-blocksize? @@ -838,6 +865,38 @@ (define (dnsmasq-shepherd-service config) #$@(if cpe-id (list (format #f "--add-cpe-id=~a" cpe-id)) '()) + #$@(if domain-needed? + '("--domain-needed") + '()) + #$@(if bogus-priv? + '("--bogus-priv") + '()) + #$@(if filterwin2k? + '("--filterwin2k") + '()) + #$@(if poll? + '() + '("--no-poll")) + #$@(if local + (list (format #f "--local=~a" local)) + '()) + #$@(if interface + (list (format #f "--interface=~a" interface)) + '()) + #$@(if bind-dynamic? + '("--bind-dynamic") + '()) + #$@(if expand-hosts? + '("--expand-hosts") + '()) + #$@(if domain + (list (format #f "--domain=~a" domain)) + '()) + #$@(if dhcp-range + (list (format #f "--dhcp-range=~a" dhcp-range)) + '()) + #$@(map (cut format #f "--dhcp-option=~a" <>) + dhcp-options) #$@(if tftp-enable? '("--enable-tftp") '()) -- 2.39.1