unofficial mirror of guix-patches@gnu.org 
 help / color / mirror / code / Atom feed
* [bug#61956] [PATCH] services: dns: Extend dnsmasq-configuration.
@ 2023-03-04  8:27 Sergey Trofimov
  2023-03-04  8:40 ` [bug#61956] [PATCH v2] " Sergey Trofimov
                   ` (2 more replies)
  0 siblings, 3 replies; 8+ messages in thread
From: Sergey Trofimov @ 2023-03-04  8:27 UTC (permalink / raw)
  To: 61956; +Cc: Sergey Trofimov

---
 gnu/services/dns.scm | 9 +++++++--
 1 file changed, 7 insertions(+), 2 deletions(-)

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





^ permalink raw reply related	[flat|nested] 8+ messages in thread

* [bug#61956] [PATCH v2] services: dns: Extend dnsmasq-configuration.
  2023-03-04  8:27 [bug#61956] [PATCH] services: dns: Extend dnsmasq-configuration Sergey Trofimov
@ 2023-03-04  8:40 ` Sergey Trofimov
  2023-03-10  7:34   ` Andrew Tropin
  2023-03-10 13:33 ` [bug#61956] [PATCH v4] " Sergey Trofimov
  2023-03-10 15:00 ` [bug#61956] [PATCH v5] " Sergey Trofimov
  2 siblings, 1 reply; 8+ messages in thread
From: Sergey Trofimov @ 2023-03-04  8:40 UTC (permalink / raw)
  To: 61956; +Cc: Sergey Trofimov

---
 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
   (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





^ permalink raw reply related	[flat|nested] 8+ messages in thread

* [bug#61956] [PATCH v2] services: dns: Extend dnsmasq-configuration.
  2023-03-04  8:40 ` [bug#61956] [PATCH v2] " Sergey Trofimov
@ 2023-03-10  7:34   ` Andrew Tropin
  2023-03-10  8:36     ` [bug#61956] [PATCH v3] " Sergey Trofimov
  2023-03-10  8:38     ` [bug#61956] [PATCH v2] " Sergey Trofimov
  0 siblings, 2 replies; 8+ messages in thread
From: Andrew Tropin @ 2023-03-10  7:34 UTC (permalink / raw)
  To: Sergey Trofimov, 61956; +Cc: Sergey Trofimov

[-- Attachment #1: Type: text/plain, Size: 3138 bytes --]

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

> ---
>  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?

>    (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

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 832 bytes --]

^ permalink raw reply	[flat|nested] 8+ messages in thread

* [bug#61956] [PATCH v3] services: dns: Extend dnsmasq-configuration.
  2023-03-10  7:34   ` Andrew Tropin
@ 2023-03-10  8:36     ` Sergey Trofimov
  2023-03-10  8:38     ` [bug#61956] [PATCH v2] " Sergey Trofimov
  1 sibling, 0 replies; 8+ messages in thread
From: Sergey Trofimov @ 2023-03-10  8:36 UTC (permalink / raw)
  To: 61956; +Cc: Sergey Trofimov

* 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(-)

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





^ permalink raw reply related	[flat|nested] 8+ messages in thread

* [bug#61956] [PATCH v2] services: dns: Extend dnsmasq-configuration.
  2023-03-10  7:34   ` Andrew Tropin
  2023-03-10  8:36     ` [bug#61956] [PATCH v3] " Sergey Trofimov
@ 2023-03-10  8:38     ` Sergey Trofimov
  1 sibling, 0 replies; 8+ messages in thread
From: Sergey Trofimov @ 2023-03-10  8:38 UTC (permalink / raw)
  To: 61956; +Cc: Andrew Tropin


Andrew Tropin <andrew@trop.in> writes:

> [[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.

>>    (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?




^ permalink raw reply	[flat|nested] 8+ messages in thread

* [bug#61956] [PATCH v4] services: dns: Extend dnsmasq-configuration.
  2023-03-04  8:27 [bug#61956] [PATCH] services: dns: Extend dnsmasq-configuration Sergey Trofimov
  2023-03-04  8:40 ` [bug#61956] [PATCH v2] " Sergey Trofimov
@ 2023-03-10 13:33 ` Sergey Trofimov
  2023-03-10 15:00 ` [bug#61956] [PATCH v5] " Sergey Trofimov
  2 siblings, 0 replies; 8+ messages in thread
From: Sergey Trofimov @ 2023-03-10 13:33 UTC (permalink / raw)
  To: 61956; +Cc: Sergey Trofimov

* 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..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





^ permalink raw reply related	[flat|nested] 8+ messages in thread

* [bug#61956] [PATCH v5] services: dns: Extend dnsmasq-configuration.
  2023-03-04  8:27 [bug#61956] [PATCH] services: dns: Extend dnsmasq-configuration Sergey Trofimov
  2023-03-04  8:40 ` [bug#61956] [PATCH v2] " Sergey Trofimov
  2023-03-10 13:33 ` [bug#61956] [PATCH v4] " Sergey Trofimov
@ 2023-03-10 15:00 ` Sergey Trofimov
  2023-03-13 13:17   ` Andrew Tropin
  2 siblings, 1 reply; 8+ messages in thread
From: Sergey Trofimov @ 2023-03-10 15:00 UTC (permalink / raw)
  To: 61956; +Cc: Sergey Trofimov

* 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))
-- 
2.39.2





^ permalink raw reply related	[flat|nested] 8+ messages in thread

* [bug#61956] [PATCH v5] services: dns: Extend dnsmasq-configuration.
  2023-03-10 15:00 ` [bug#61956] [PATCH v5] " Sergey Trofimov
@ 2023-03-13 13:17   ` Andrew Tropin
  0 siblings, 0 replies; 8+ messages in thread
From: Andrew Tropin @ 2023-03-13 13:17 UTC (permalink / raw)
  To: Sergey Trofimov, 61956; +Cc: Sergey Trofimov

[-- Attachment #1: Type: text/plain, Size: 3733 bytes --]

On 2023-03-10 16:00, Sergey Trofimov wrote:

> * 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

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 832 bytes --]

^ permalink raw reply	[flat|nested] 8+ messages in thread

end of thread, other threads:[~2023-03-13 13:18 UTC | newest]

Thread overview: 8+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2023-03-04  8:27 [bug#61956] [PATCH] services: dns: Extend dnsmasq-configuration Sergey Trofimov
2023-03-04  8:40 ` [bug#61956] [PATCH v2] " Sergey Trofimov
2023-03-10  7:34   ` Andrew Tropin
2023-03-10  8:36     ` [bug#61956] [PATCH v3] " Sergey Trofimov
2023-03-10  8:38     ` [bug#61956] [PATCH v2] " Sergey Trofimov
2023-03-10 13:33 ` [bug#61956] [PATCH v4] " Sergey Trofimov
2023-03-10 15:00 ` [bug#61956] [PATCH v5] " Sergey Trofimov
2023-03-13 13:17   ` Andrew Tropin

Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/guix.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).