Subject: [bug#61829] [PATCH 03/11] services: ntp-service-type: Remove deprecated server as strings support.

From: Bruno Victal <[email-masked]>
Date: Mon, 27 Feb 2023 00:11:36 +0000

* gnu/services/networking.scm (<ntp-configuration>)[servers]: Rename accessor to ntp-configuration-servers.
(ntp-configuration-servers): Remove helper procedure.
(ntp-shepherd-service): Remove helper procedure usage.
* tests/networking.scm: Remove obsolete test.
---
 gnu/services/networking.scm | 57 +++++++++++++------------------------
 tests/networking.scm        | 11 -------
 2 files changed, 20 insertions(+), 48 deletions(-)

diff --git a/gnu/services/networking.scm b/gnu/services/networking.scm
index dacf64c2d1..ef66393937 100644
--- a/gnu/services/networking.scm
+++ b/gnu/services/networking.scm
@@ -481,36 +481,19 @@ (define-record-type* <ntp-configuration>
   ntp-configuration?
   (ntp      ntp-configuration-ntp
             (default ntp))
-  (servers  %ntp-configuration-servers   ;list of <ntp-server> objects
+  (servers  ntp-configuration-servers     ;list of <ntp-server> objects
             (default %ntp-servers))
   (allow-large-adjustment? ntp-allow-large-adjustment?
                            (default #t))) ;as recommended in the ntpd manual
 
-(define (ntp-configuration-servers ntp-configuration)
-  ;; A wrapper to support the deprecated form of this field.
-  (let ((ntp-servers (%ntp-configuration-servers ntp-configuration)))
-    (match ntp-servers
-      (((? string?) (? string?) ...)
-       (format (current-error-port) "warning: Defining NTP servers as strings is \
-deprecated.  Please use <ntp-server> records instead.\n")
-       (map (lambda (addr)
-              (ntp-server
-               (type 'server)
-               (address addr)
-               (options '()))) ntp-servers))
-      ((($ <ntp-server>) ($ <ntp-server>) ...)
-       ntp-servers))))
-
 (define (ntp-shepherd-service config)
   (match-record config <ntp-configuration>
     (ntp servers allow-large-adjustment?)
-    (let ((servers (ntp-configuration-servers config)))
-      ;; TODO: Add authentication support.
-      (define config
-        (string-append "driftfile /var/run/ntpd/ntp.drift\n"
-                       (string-join (map ntp-server->string servers)
-                                    "\n")
-                       "
+    ;; TODO: Add authentication support.
+    (define config
+      (string-append "driftfile /var/run/ntpd/ntp.drift\n"
+                     (string-join (map ntp-server->string servers) "\n")
+                     "
 # Disable status queries as a workaround for CVE-2013-5211:
 # <http://support.ntp.org/bin/view/Main/SecurityNotice#DRDoS_Amplification_Attack_using>.
 restrict default kod nomodify notrap nopeer noquery limited
@@ -524,21 +507,21 @@ (define (ntp-shepherd-service config)
 # option by default, as documented in the 'ntp.conf' manual.
 restrict source notrap nomodify noquery\n"))
 
-      (define ntpd.conf
-        (plain-file "ntpd.conf" config))
+    (define ntpd.conf
+      (plain-file "ntpd.conf" config))
 
-      (list (shepherd-service
-             (provision '(ntpd))
-             (documentation "Run the Network Time Protocol (NTP) daemon.")
-             (requirement '(user-processes networking))
-             (start #~(make-forkexec-constructor
-                       (list (string-append #$ntp "/bin/ntpd") "-n"
-                             "-c" #$ntpd.conf "-u" "ntpd"
-                             #$@(if allow-large-adjustment?
-                                    '("-g")
-                                    '()))
-                       #:log-file "/var/log/ntpd.log"))
-             (stop #~(make-kill-destructor)))))))
+    (list (shepherd-service
+           (provision '(ntpd))
+           (documentation "Run the Network Time Protocol (NTP) daemon.")
+           (requirement '(user-processes networking))
+           (start #~(make-forkexec-constructor
+                     (list (string-append #$ntp "/bin/ntpd") "-n"
+                           "-c" #$ntpd.conf "-u" "ntpd"
+                           #$@(if allow-large-adjustment?
+                                  '("-g")
+                                  '()))
+                     #:log-file "/var/log/ntpd.log"))
+           (stop #~(make-kill-destructor))))))
 
 (define %ntp-accounts
   (list (user-account
diff --git a/tests/networking.scm b/tests/networking.scm
index f2421370d2..fbf8db7a02 100644
--- a/tests/networking.scm
+++ b/tests/networking.scm
@@ -43,17 +43,6 @@ (define %ntp-server-sample
   "server some.ntp.server.org iburst version 3 maxpoll 16 prefer"
   (ntp-server->string %ntp-server-sample))
 
-(test-equal "ntp configuration servers deprecated form"
-  (ntp-configuration-servers
-   (ntp-configuration
-    (servers (list "example.pool.ntp.org"))))
-  (ntp-configuration-servers
-   (ntp-configuration
-    (servers (list (ntp-server
-                    (type 'server)
-                    (address "example.pool.ntp.org")
-                    (options '())))))))
-
 
 ;;;
 ;;; OpenNTPD
-- 
2.39.1