Subject: bug#26117: [PATCH] services: dovecot: Fix passwd and userdb 'args' types.

From: Clément Lassieur <[email-masked]>
Date: Thu, 16 Mar 2017 01:46:31 +0100

* gnu/services/mail.scm (passwd-configuration)[args]
(userdb-configuration)[args]: Change type from 'free-form-args' to
'space-separated-string-list'.
* doc/guix.texi (Mail Services): Document it.

See http://wiki2.dovecot.org/AuthDatabase/PasswdFile#Examples for an example
with a string that is not a list of key-value pairs.

---
 doc/guix.texi         | 12 ++++++------
 gnu/services/mail.scm |  8 ++++----
 2 files changed, 10 insertions(+), 10 deletions(-)

diff --git a/doc/guix.texi b/doc/guix.texi
index 78bf03de9..a0345f6f1 100644
--- a/doc/guix.texi
+++ b/doc/guix.texi
@@ -11145,9 +11145,9 @@ The driver that the passdb should use.  Valid values include
 Defaults to @samp{"pam"}.
 @end deftypevr
 
-@deftypevr {@code{passdb-configuration} parameter} free-form-args args
-A list of key-value args to the passdb driver.
-Defaults to @samp{()}.
+@deftypevr {@code{passdb-configuration} parameter} space-separated-string-list args
+Space separated list of arguments to the passdb driver.
+Defaults to @samp{""}.
 @end deftypevr
 
 @end deftypevr
@@ -11164,9 +11164,9 @@ The driver that the userdb should use.  Valid values include
 Defaults to @samp{"passwd"}.
 @end deftypevr
 
-@deftypevr {@code{userdb-configuration} parameter} free-form-args args
-A list of key-value args to the userdb driver.
-Defaults to @samp{()}.
+@deftypevr {@code{userdb-configuration} parameter} space-separated-string-list args
+Space separated list of arguments to the userdb driver.
+Defaults to @samp{""}.
 @end deftypevr
 
 @deftypevr {@code{userdb-configuration} parameter} free-form-args override-fields
diff --git a/gnu/services/mail.scm b/gnu/services/mail.scm
index 05978e006..20043d751 100644
--- a/gnu/services/mail.scm
+++ b/gnu/services/mail.scm
@@ -160,8 +160,8 @@
 @samp{pam}, @samp{passwd}, @samp{shadow}, @samp{bsdauth}, and
 @samp{static}.")
   (args
-   (free-form-args '())
-   "A list of key-value args to the passdb driver."))
+   (space-separated-string-list '())
+   "Space separated list of arguments to the passdb driver."))
 
 (define (serialize-passdb-configuration field-name val)
   (format #t "passdb {\n")
@@ -178,8 +178,8 @@
    "The driver that the userdb should use.  Valid values include
 @samp{passwd} and @samp{static}.")
   (args
-   (free-form-args '())
-   "A list of key-value args to the userdb driver.")
+   (space-separated-string-list '())
+   "Space separated list of arguments to the userdb driver.")
   (override-fields
    (free-form-args '())
    "Override fields from passwd."))
-- 
2.12.0