[PATCH] services: dns: Extend dnsmasq-configuration.

  • Open
  • quality assurance status badge
Details
2 participants
  • Andrew Tropin
  • Sergey Trofimov
Owner
unassigned
Submitted by
Sergey Trofimov
Severity
normal
S
S
Sergey Trofimov wrote on 4 Mar 2023 09:27
(address . guix-patches@gnu.org)(name . Sergey Trofimov)(address . sarg@sarg.org.ru)
20230304082719.29479-1-sarg@sarg.org.ru
---
gnu/services/dns.scm | 9 +++++++--
1 file changed, 7 insertions(+), 2 deletions(-)

Toggle diff (43 lines)
diff --git a/gnu/services/dns.scm b/gnu/services/dns.scm
index 50753b7ab6..3a6a005fb7 100644
--- a/gnu/services/dns.scm
+++ b/gnu/services/dns.scm
@@ -754,6 +754,8 @@ (define-record-type* <dnsmasq-configuration>
(default #f)) ;boolean
(servers dnsmasq-configuration-servers
(default '())) ;list of string
+ (servers-file dnsmasq-configuration-servers-file
+ (default #f)) ;string
(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?
@@ -827,6 +829,9 @@ (define (dnsmasq-shepherd-service config)
#$@(if query-servers-in-order?
'("--strict-order")
'())
+ #$@(if servers-file
+ (list (format #f "--servers-file=~a" 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))
--
2.39.1
S
S
Sergey Trofimov wrote on 4 Mar 2023 09:40
[PATCH v2] services: dns: Extend dnsmasq-configuration.
(address . 61956@debbugs.gnu.org)(name . Sergey Trofimov)(address . sarg@sarg.org.ru)
20230304084030.32117-1-sarg@sarg.org.ru
---
doc/guix.texi | 3 +++
gnu/services/dns.scm | 9 +++++++--
2 files changed, 10 insertions(+), 2 deletions(-)

Toggle diff (57 lines)
diff --git a/doc/guix.texi b/doc/guix.texi
index 74658dbc86..ca66041d12 100644
--- a/doc/guix.texi
+++ b/doc/guix.texi
@@ -31502,6 +31502,9 @@ 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.
+
@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 50753b7ab6..3a6a005fb7 100644
--- a/gnu/services/dns.scm
+++ b/gnu/services/dns.scm
@@ -754,6 +754,8 @@ (define-record-type* <dnsmasq-configuration>
(default #f)) ;boolean
(servers dnsmasq-configuration-servers
(default '())) ;list of string
+ (servers-file dnsmasq-configuration-servers-file
+ (default #f)) ;string
(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?
@@ -827,6 +829,9 @@ (define (dnsmasq-shepherd-service config)
#$@(if query-servers-in-order?
'("--strict-order")
'())
+ #$@(if servers-file
+ (list (format #f "--servers-file=~a" 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))
--
2.39.1
A
A
Andrew Tropin wrote on 10 Mar 2023 08:34
(name . Sergey Trofimov)(address . sarg@sarg.org.ru)
87ilf9cb5p.fsf@trop.in
On 2023-03-04 09:40, Sergey Trofimov wrote:

Hi Sergey!

Thank you for the patch, please add information to the commit message
body. Here is an example:

Toggle quote (30 lines)
> ---
> doc/guix.texi | 3 +++
> gnu/services/dns.scm | 9 +++++++--
> 2 files changed, 10 insertions(+), 2 deletions(-)
>
> diff --git a/doc/guix.texi b/doc/guix.texi
> index 74658dbc86..ca66041d12 100644
> --- a/doc/guix.texi
> +++ b/doc/guix.texi
> @@ -31502,6 +31502,9 @@ 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.
> +
> @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 50753b7ab6..3a6a005fb7 100644
> --- a/gnu/services/dns.scm
> +++ b/gnu/services/dns.scm
> @@ -754,6 +754,8 @@ (define-record-type* <dnsmasq-configuration>
> (default #f)) ;boolean
> (servers dnsmasq-configuration-servers
> (default '())) ;list of string
> + (servers-file dnsmasq-configuration-servers-file
> + (default #f)) ;string

I would expect it to be a file-like rather than string, so we are sure
that the configuration file is present. WDYT?

Toggle quote (32 lines)
> (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?
> @@ -827,6 +829,9 @@ (define (dnsmasq-shepherd-service config)
> #$@(if query-servers-in-order?
> '("--strict-order")
> '())
> + #$@(if servers-file
> + (list (format #f "--servers-file=~a" 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))

--
Best regards,
Andrew Tropin
-----BEGIN PGP SIGNATURE-----

iQIzBAEBCgAdFiEEKEGaxlA4dEDH6S/6IgjSCVjB3rAFAmQK3YIACgkQIgjSCVjB
3rC1MA//UsnTdFiLJbFAyCFkdahq3m3f4HMU48Icd0n8IAJYA4s5LJuSHOUbebqQ
MV9o5btLpWNVS8BfRCpy/8L7vLNSZXyLI7gbeoTBCzgKzTqq00kgbGL5Dn5h0s4O
G44nKYZZyC7ufVovKxPN5HKlqJvmNN61DZAQREhILJII+bQ8YUySsWA0n8swqs1V
xfJIj/TjK5fXlYYVttEV12hC5W/3h0vfylbib1DtjHtJ2BPIMDstRu0eFsoYQgXQ
KKneH2cKTbd/ecF3gsQoqltmsTP24wdJ+0h3h05cpjzCfijiFU+WaUH1Mc+ZwqrY
PSdZae9vS9FP0Y4BM3Jf4SK5rQZ/SM/KSiu+BvOfLhiNoJ3R4eJIakyAh+lc4F7T
kyhwePtvgVD8cf9Cek3qd4CdDnX3733Sz6Dsupwp7YdMfUk+++QL3Rq0gpzLu3Ma
D70F1kq/2jCR8P/ZaSxkAx11f93pxlmf3pWrEzvWOpIFbWyIN1rwf3P+hXeD0iCn
lE/9xWUGgkFRwW7KhSByP0OYheOdsBi+6k0nyvfVApYly71q/0GDCHQ5Tgqm888r
9SzYp2YXwyCKBCVgihzGJ/Mp/EjfSCfihi1Z6WhrkaaG0uhtwACl2qScW4YSxHbn
SGyVUZaVYKs1hnI3g4jhgHUoTOizNs0IRtW7vBj1277E2GV5naE=
=czgq
-----END PGP SIGNATURE-----

S
S
Sergey Trofimov wrote on 10 Mar 2023 09:36
[PATCH v3] services: dns: Extend dnsmasq-configuration.
(address . 61956@debbugs.gnu.org)(name . Sergey Trofimov)(address . sarg@sarg.org.ru)
20230310083612.12020-1-sarg@sarg.org.ru
* gnu/service/dns.scm: (<dnsmasq-configuration>)[servers-file]: Add.
* doc/guix.texi: Document (<dnsmasq-configuration>)[servers-file].
---
doc/guix.texi | 3 +++
gnu/services/dns.scm | 9 +++++++--
2 files changed, 10 insertions(+), 2 deletions(-)

Toggle diff (57 lines)
diff --git a/doc/guix.texi b/doc/guix.texi
index 6671ba9305..f62af051ab 100644
--- a/doc/guix.texi
+++ b/doc/guix.texi
@@ -31502,6 +31502,9 @@ 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.
+
@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..7ff34babdc 100644
--- a/gnu/services/dns.scm
+++ b/gnu/services/dns.scm
@@ -754,6 +754,8 @@ (define-record-type* <dnsmasq-configuration>
(default #f)) ;boolean
(servers dnsmasq-configuration-servers
(default '())) ;list of string
+ (servers-file dnsmasq-configuration-servers-file
+ (default #f)) ;string
(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?
@@ -827,6 +829,9 @@ (define (dnsmasq-shepherd-service config)
#$@(if query-servers-in-order?
'("--strict-order")
'())
+ #$@(if servers-file
+ (list (format #f "--servers-file=~a" 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))
--
2.39.2
S
S
Sergey Trofimov wrote on 10 Mar 2023 09:38
Re: [bug#61956] [PATCH v2] services: dns: Extend dnsmasq-configuration.
(address . 61956@debbugs.gnu.org)(name . Andrew Tropin)(address . andrew@trop.in)
87356d2dju.fsf@sarg.org.ru
Andrew Tropin <andrew@trop.in> writes:

Toggle quote (11 lines)
> [[PGP Signed Part:Undecided]]
> On 2023-03-04 09:40, Sergey Trofimov wrote:
>
> Hi Sergey!
>
> Thank you for the patch, please add information to the commit
> message
> body. Here is an example:
> https://git.savannah.gnu.org/cgit/guix.git/commit/?id=8390b47c04
>

I have pushed v3 with a proper description.

Toggle quote (10 lines)
>> (servers dnsmasq-configuration-servers
>> (default '())) ;list of string
>> + (servers-file dnsmasq-configuration-servers-file
>> + (default #f)) ;string
>
> I would expect it to be a file-like rather than string, so we
> are sure
> that the configuration file is present. WDYT?
>

Hmm, my use-case is to generate this file in dhclient's hook, so
that dnsmasq knows the domain supplied with the DHCP
configuration.

Here is how I do that:

1. Define the hook which updates dnsmasq.servers and sends HUP to
the daemon
(define dhclient-enter-hooks "
make_resolv_conf() {
touch /etc/dnsmasq.servers
sed -i '/#dhcp/,+1d' /etc/dnsmasq.servers
cat <<EOF >>/etc/dnsmasq.servers
#dhcp
server=/${new_domain_name}/${new_domain_name_servers}
EOF

kill -HUP $(cat /run/dnsmasq.pid)
}
")

2. Register the file in operating-system -> services
(extra-special-file "/etc/dhclient-enter-hooks"
(plain-file "dhclient-enter-hooks"
dhclient-enter-hooks))

3. Add dnsmasq option
(servers-file "/etc/dnsmasq.servers")

Do you think making `servers-file` either string or file-like
would be a way to go?
S
S
Sergey Trofimov wrote on 10 Mar 2023 14:33
[PATCH v4] services: dns: Extend dnsmasq-configuration.
(address . 61956@debbugs.gnu.org)(name . Sergey Trofimov)(address . sarg@sarg.org.ru)
20230310133308.13048-1-sarg@sarg.org.ru
* gnu/service/dns.scm: (<dnsmasq-configuration>)[servers-file]: Add.
(<dnsmasq-configuration>)[tftp-secure?]: Fix typo in parameter name.
* doc/guix.texi: Document (<dnsmasq-configuration>)[servers-file].
---
doc/guix.texi | 4 ++++
gnu/services/dns.scm | 11 ++++++++---
2 files changed, 12 insertions(+), 3 deletions(-)

Toggle diff (67 lines)
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..21af2b2611 100644
--- a/gnu/services/dns.scm
+++ b/gnu/services/dns.scm
@@ -754,6 +754,8 @@ (define-record-type* <dnsmasq-configuration>
(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")
+ `(#$(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))
--
2.39.2
S
S
Sergey Trofimov wrote on 10 Mar 2023 16:00
[PATCH v5] services: dns: Extend dnsmasq-configuration.
(address . 61956@debbugs.gnu.org)(name . Sergey Trofimov)(address . sarg@sarg.org.ru)
20230310150055.3728-1-sarg@sarg.org.ru
* gnu/service/dns.scm: (<dnsmasq-configuration>)[servers-file]: Add.
(<dnsmasq-configuration>)[tftp-secure?]: Fix typo in parameter name.
* doc/guix.texi: Document (<dnsmasq-configuration>)[servers-file].
---
doc/guix.texi | 4 ++++
gnu/services/dns.scm | 11 ++++++++---
2 files changed, 12 insertions(+), 3 deletions(-)

Toggle diff (67 lines)
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* <dnsmasq-configuration>
(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))
--
2.39.2
A
A
Andrew Tropin wrote on 13 Mar 2023 14:17
(name . Sergey Trofimov)(address . sarg@sarg.org.ru)
871qlsbxjk.fsf@trop.in
On 2023-03-10 16:00, Sergey Trofimov wrote:

Toggle quote (75 lines)
> * gnu/service/dns.scm: (<dnsmasq-configuration>)[servers-file]: Add.
> (<dnsmasq-configuration>)[tftp-secure?]: Fix typo in parameter name.
> * doc/guix.texi: Document (<dnsmasq-configuration>)[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* <dnsmasq-configuration>
> (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))


Hi Sergey!

Thank you for the patch, applied, realigned make-forkexec-constructor
arguments, pushed as d1edb26388ca4dab4b435a686cd059d97c113c3e.

--
Best regards,
Andrew Tropin
-----BEGIN PGP SIGNATURE-----

iQIzBAEBCgAdFiEEKEGaxlA4dEDH6S/6IgjSCVjB3rAFAmQPIm8ACgkQIgjSCVjB
3rAqMg/+Na/LQ8zuvs4T2J8cDRSurMxa60RbAspbERXE90k4L3+W7TEL/+0BwSdx
FhsghX+Z7cohSFnWd+vUO3aww7m8rnu9h+d2rGlOj18cMxUAO6PFLZeYss8SVIk8
eaxTjPxidjKwCtwTd7+6ZOLGkf2E14wK5DeaTBzyu2H7t1/+EflFTEqaW2A39F+Y
6P/FPGMJpWsJlwu2VcvfQ3tEfKFOglQNHwZDQ9AHABCe/OOX9Q7e/PQvQ8vkVzrS
ZyTAerzlAGxE47RNNouZs9hh98o45OFKZux8FgODsseLH5FxKVXWw3lVLuvY5odD
wPxrt1HViKiCB/jsFrRv8Sy3wRJ5aEyrL/NR0VJco7YcnL2rrdEeQPU2zfPzUd7W
QZGoYrsn8Lb8FKpZ4JV7TtY6e53BaQyYXMXg60AsktM5B8TTAkcS4YY9k76uRC/C
7LUcoAJZ1EiV3/BD0BWHLsumCXxICZjGyrnpCoKAblet67LdbNIgy+D8QHw2XxtA
aXg/095KMqwTd7t8nIJwuN3M9yzo8wRJJ032H2PBwlo877/XfckdpvHg3gMwF6SG
e/JzMzIc/LYJakaEn3O7uDregi20lxfIfYWVq3/hwqr4Qdy4bGewUkJLKD6Nue+T
qhmLKxRo7EpiND5ubxYQpV/N8JHC3L6cfw1IodKAh6GCEt2ymh0=
=zvzI
-----END PGP SIGNATURE-----

?