summaryrefslogtreecommitdiff
path: root/gnu/services/kerberos.scm
diff options
context:
space:
mode:
Diffstat (limited to 'gnu/services/kerberos.scm')
-rw-r--r--gnu/services/kerberos.scm15
1 files changed, 15 insertions, 0 deletions
diff --git a/gnu/services/kerberos.scm b/gnu/services/kerberos.scm
index cb33a7c53d..f09f47893c 100644
--- a/gnu/services/kerberos.scm
+++ b/gnu/services/kerberos.scm
@@ -96,6 +96,12 @@ trailing '?' removed."
(unless (eq? val unset-field)
(serialize-field* field-name (string-join val " "))))
+(define (space-separated-string-list? val)
+ (and (list? val)
+ (and-map (lambda (x)
+ (and (string? x) (not (string-index x #\space))))
+ val)))
+
(define space-separated-string-list/unset?
(predicate/unset space-separated-string-list?))
@@ -118,10 +124,19 @@ trailing '?' removed."
(lambda (val)
(string-prefix? "/" val))))
+(define (serialize-field field-name val)
+ (format #t "~a ~a\n" (uglify-field-name field-name) val))
+
+(define (serialize-string field-name val)
+ (serialize-field field-name val))
+
(define (serialize-file-name field-name val)
(unless (eq? val unset-field)
(serialize-string field-name val)))
+(define (serialize-space-separated-string-list field-name val)
+ (serialize-field field-name (string-join val " ")))
+
(define (non-negative-integer? val)
(and (exact-integer? val) (not (negative? val))))