From patchwork Tue Feb 28 13:36:16 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "Wicki Gabriel (wicg)" X-Patchwork-Id: 47486 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 2640116C38; Tue, 28 Feb 2023 13:42:13 +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 95E1516C2B for ; Tue, 28 Feb 2023 13:42:11 +0000 (GMT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1pX0F2-0006Hw-Vu; Tue, 28 Feb 2023 08:42:05 -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 1pX0F1-0006Hn-55 for guix-patches@gnu.org; Tue, 28 Feb 2023 08:42:03 -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 1pX0F0-0001tH-Ti for guix-patches@gnu.org; Tue, 28 Feb 2023 08:42:02 -0500 Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1pX0F0-0008LE-9E for guix-patches@gnu.org; Tue, 28 Feb 2023 08:42:02 -0500 X-Loop: help-debbugs@gnu.org Subject: [bug#61869] gnu: services: Add more dnsmasq options. Resent-From: "Wicki Gabriel (wicg)" Original-Sender: "Debbugs-submit" Resent-CC: guix-patches@gnu.org Resent-Date: Tue, 28 Feb 2023 13:42:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: report 61869 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: To: 61869@debbugs.gnu.org X-Debbugs-Original-To: "guix-patches@gnu.org" Received: via spool by submit@debbugs.gnu.org id=B.167759168932019 (code B ref -1); Tue, 28 Feb 2023 13:42:02 +0000 Received: (at submit) by debbugs.gnu.org; 28 Feb 2023 13:41:29 +0000 Received: from localhost ([127.0.0.1]:49953 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1pX0ES-0008KM-Gc for submit@debbugs.gnu.org; Tue, 28 Feb 2023 08:41:29 -0500 Received: from lists.gnu.org ([209.51.188.17]:45854) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1pX0EQ-0008KD-K5 for submit@debbugs.gnu.org; Tue, 28 Feb 2023 08:41:27 -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 1pX0EP-00068M-OC for guix-patches@gnu.org; Tue, 28 Feb 2023 08:41:26 -0500 Received: from mail-zr0che01on20601.outbound.protection.outlook.com ([2a01:111:f403:4023::601] helo=CHE01-ZR0-obe.outbound.protection.outlook.com) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1pX0EM-0001ma-3t for guix-patches@gnu.org; Tue, 28 Feb 2023 08:41:24 -0500 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=FfozoCIcOGjOvuH4oRpjKrnoPxCGoeiQFUS5wFShdm6DiBxw6ML+6u1bylpgdSsR/48QSUPMI8QbXchzAQTmEm47k3RB0z/HmH+eYjbfSEAWj2JENZgRgHiVZyrskEJwlEMfIlPstSRGjSinPS9zNCUH6Rs+DJGENvvR0TfVkOZDCKnRm7jbgu/+9uKg3f3GFHDwde6m33PrnRwTQRBFWtuc0epQ8wO0nn/clnpZilUJrNosInyAeU40Jw1cJKjNPOTgDI+s7EjNxkho303RLNi9GVM8rfYZW28xdrxWPbklzqsZQsGp8Rp0n0g+A7/206UwdsWOTA4kYEhjs1Sogg== 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=WlOkx0bhF4qql6oSfgIcodGiBE/ALr/+CS8Dh8yaHhM=; b=V5YkheU3Vdh1VoZWw1bJmhQRsTxjlI899e+LP6otWicebQEGFmahoIFvIMpHPgqneEFnalx1rVs6PB6NGKDOULs7qMfF1dhNhq90fDz+HGni2nUQztWTfRSAasy5QETn/JXOfGWRf6yYvFK76C1lrFFFcUtHfaMyi1TixaovZamxovdneNDZ04xzPTb7QIHpg7Zo9QEYex/egh53CJ1NlIAlW9q50qvHyXLDNnCs5SjeY5SHxhiFrykjmgtOH+soT7p1aLN2JGacJcld3/Xl32Xyl6UISKv0FgtV8Miwu6ItvdbUMUhvdTKnZcds8ztP+/0KCQZG3z3pqc+d01M6kw== 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 GV0P278MB0163.CHEP278.PROD.OUTLOOK.COM (2603:10a6:710:2f::10) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6134.30; Tue, 28 Feb 2023 13:36:16 +0000 Received: from ZR0P278MB0268.CHEP278.PROD.OUTLOOK.COM ([fe80::3640:de69:8ba8:6b48]) by ZR0P278MB0268.CHEP278.PROD.OUTLOOK.COM ([fe80::3640:de69:8ba8:6b48%4]) with mapi id 15.20.6134.030; Tue, 28 Feb 2023 13:36:16 +0000 From: "Wicki Gabriel (wicg)" Thread-Topic: gnu: services: Add more dnsmasq options. Thread-Index: AQHZS3lziYny5URzzEKUA6sb/kjhYg== Date: Tue, 28 Feb 2023 13:36:16 +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-02-28T13:36:16.228Z; 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_|GV0P278MB0163:EE_ x-ms-office365-filtering-correlation-id: c0a92f0a-7664-438d-340c-08db1990c474 x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: RRGzZTlBJC7NnzkCZfBXaBmyH1OWlxFgruZ0F8ix7DMPf52GrD0v/7viJ/+frsjeS3mldmHy0/3bC4slSdNv4nUp5bxo8Cv2ZMQLf+Xust2ZUlOhUIhyo1hI8XnLkwfqcOOSOevZxGe14+5cmn7GFRsr/wzG6ku6fxaA7RwRkietzXUKVsSi2Z1G70A6tMujp+xzTjSHxHig629ZJSZr6n8zVCWVRF6MoVGF0q2YYZU2sYLoyyBif0qQySQoqLJ6Z2O4yDH0ULjqprmblRzKca+OTHrRpMhMeyuNOT97NaVQ5AYSHYIIYkbVCu9ctCJ0kHJ05VGH19FiF5f5M+i8M8p+zD+gQDNVXPhOd+G59WNAIzQfcAPWey2cgvFQl/oqXsysC4nVuWLjZ6VFaM8Nd4DK+oexjmJVQNn7jMVPt2DQpdFoWeWgVbf5f0s/2HCgCvuQVn7tOSikrx6mLIeVN4VHL0FtF00fLpIws67xxqPWxSHs39Rj5ER68dxVCQWNBMzE9EATaVP4Xn2rcYfhKYYa3nn5hVVI+9vTvd+VfrrBmEbomBAQ29yqccF+65RWHixURBnddPqEDTC81DNKvr4WCOjfllDP/7fTCsI3K2iyjsjMZZgTmHEn6LwAtal5RXgj5NATmB6q/2RUFJXNmd5Sv44EMcXwg/b0wpqlMoFVWzy7rfe3zUZiqfckOq5s6tH/imLllSP0vCoVPORCOw== 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)(136003)(376002)(346002)(39860400002)(396003)(366004)(451199018)(122000001)(558084003)(316002)(99936003)(786003)(478600001)(55016003)(41320700001)(86362001)(9686003)(6506007)(71200400001)(186003)(26005)(19627405001)(5660300002)(52536014)(33656002)(41300700001)(66476007)(66946007)(66556008)(76116006)(66446008)(64756008)(8676002)(6916009)(2906002)(38070700005)(8936002)(7696005)(38100700002); DIR:OUT; SFP:1101; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: MNbUC/wq3TVDZBO7KbEMq7T3BqdFfxKPRpMK8zBt75YY7ZVpOYxETTvzNCDfL7p4849rjvodxGfvcdlGQ+7GtFc/6AYXc+9Ts8X7LTomhBqlBecw28MoSnolMQVaoVAt0Je2voZCSasRrsyttq4LAQz4YtGIIndHI0zSgVEWXRMyzoYLfSp0+evHL6qocgd6h8zhznye3Ktw/IKykcesImEdB8QOjuJgriz7zSJZ8V+8/ewssf1YN+Hrlg1SYtGmo1WDMjXHETXgjp2zHBDZb/VpUEFuRdPUB5Q27w/dc9m9AtAKKWGRYur3Ee7okvZSdf1nGXrXDgkN3OCRTFHiwM5v2mES5QKVD92L0FKOU0dEhX0Wl0zJZnc9dU0PflRwu7SdhjmHkhZRtAq83mOtKPCemstZTngwUZxM+3izeagIeRSVqRC8QUt0gdNgVqbJXqGTdQbRoW2+2RNFZGp8qKAS+Zlmpu/VzVfryyKz27fZExNus3GdRMxKoM4e27GNq8O7ftSTQOlLwQIG2GKhftiByYRUqdo+w1YkHv+mdx3x3NfGX8fs29YHsXHo5rZP9wt8mvOhi916YrXmXLz4VknYz2vblZX0rvKYypkOlU0R4vNbGzKVNmdXY9pHJiJehbN5hJ6C/1Dn9PhLxtih9+oNCEQchwZPEfi/gg9AC3VAEpC7O+3hUKGx+s5V3oQeEUg9oaiFZG+ijludGEmiZ/Gb2k6ORhxqe2vRgcGCTWyr7xQLXtAvXVBcfyKqhfh0HccH9xb5zbGAZC+/r6EsuWf+4cnG19mOl/RBMcKsYfYCvqdejgOWlMZ1x7Jbo5TW4tRFJxxW0urQax5uzBNzYBfHLJK4jh0uBNtjeZMmWmVYsQggzfxJNWrwKczBVYtfxTliqldb63juIOcXr4stCniHi11PXgyrGry7iGGwCVFylNEgUlzyA8+XCJ7vQgZFCdjvD0wesECyc9w4ULRpc6ITkuFOqmXnChIGIF50SP5imXg6Sqt1RmAg+qKOXVWXLruMSiwKjoy+0x1HguL4FGRxAO0GlIai7m0ZMdCghWRtNl8VbCELQZyYA5HwWcSdJr8dM3MrlgIkW766d6tkJaTXOubPoRq8BS9qBzrXH90/kIMbVW3TgBwCBaaVRJKMmoA9U5A1P+5vRej9kS1BMnSHDA6+m7ViQlDd1Ex0dbtMLgQxVhdpXE+DO20YOaCkPWT9sn3cfYId8GQWWwcmcgXHd1nb80SqkdSKY/XJOmW7dPv0sV6fvX8it9kKp2MnfS0SIwJEfDVTQRciWjMl9UVTPmvsOnEmLKQWIUWfG1ha9d9ErcfKRfs7LcTTsGOfHE7Y0PuRzL1CoC8gM2mKzr5tQrUrrlfz9/RQ9BCHfmS1nJ/ehVYep9FMfIY4IrcbAhsr6R13sr7+UJn02L3ARkz9VJZQHU/DqZBFTPXKjnT8SNQ9lXdX/mEMu2M9ovQ4IFyVRRs+wUcNr99A5QGmFlla7DBp7QP9y00eWIIp4rv0fXBFs+ztyWD73SzRVdnVjBBjfsOiT2JjYEW/6/Wkew== 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: c0a92f0a-7664-438d-340c-08db1990c474 X-MS-Exchange-CrossTenant-originalarrivaltime: 28 Feb 2023 13:36:16.4835 (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: RClcYP8ZU0SGtpDizpXv5gE0CVLDkTAJ/tKvuTv4Vl/sQCgtMQY5lbeQgvsaXFYE X-MS-Exchange-Transport-CrossTenantHeadersStamped: GV0P278MB0163 Received-SPF: pass client-ip=2a01:111:f403:4023::601; envelope-from=wicg@zhaw.ch; helo=CHE01-ZR0-obe.outbound.protection.outlook.com X-Spam_score_int: -18 X-Spam_score: -1.9 X-Spam_bar: - X-Spam_report: (-1.9 / 5.0 requ) BAYES_00=-1.9, HTML_MESSAGE=0.001, SPF_HELO_PASS=-0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action 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 y'all I've created a patch which adds more options to the dnsmasq service. Thanks in advance for merging, g From bb85650b9bac7afb4a21d483d2bb6249857a02c0 Mon Sep 17 00:00:00 2001 From: gabriel 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 | 38 +++++++++++++++++++++++++++ gnu/services/dns.scm | 62 ++++++++++++++++++++++++++++++++++++++++++-- 2 files changed, 98 insertions(+), 2 deletions(-) diff --git a/doc/guix.texi b/doc/guix.texi index 05615b9549..bab2f5491e 100644 --- a/doc/guix.texi +++ b/doc/guix.texi @@ -31317,6 +31317,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{#f}) +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{10.42.0.50,10.42.0.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..48fee15192 100644 --- a/gnu/services/dns.scm +++ b/gnu/services/dns.scm @@ -749,8 +749,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 +761,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 +816,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 +864,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