diff options
| author | Bruno Victal <mirai@makinata.eu> | 2022-12-06 16:52:09 +0000 | 
|---|---|---|
| committer | Ludovic Courtès <ludo@gnu.org> | 2022-12-20 16:56:03 +0100 | 
| commit | 3011e8ae11f6fce87ee5c7f9c702f9d2e10a0e54 (patch) | |
| tree | 4421640b2cf3fe7bcdd4b42c6188364a0f093c87 /gnu/services/mail.scm | |
| parent | 2880dc3046170e9129437caca586f13956d0d811 (diff) | |
services: opensmtpd: Use 'match-record' instead of 'match'.
* gnu/services/mail.scm (opensmtpd-shepherd-service)
(opensmtpd-activation)
(opensmtpd-set-gids): Use 'match-record' instead of 'match'.
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
Diffstat (limited to 'gnu/services/mail.scm')
| -rw-r--r-- | gnu/services/mail.scm | 117 | 
1 files changed, 57 insertions, 60 deletions
| diff --git a/gnu/services/mail.scm b/gnu/services/mail.scm index 2dc235a585..dc4a7986b6 100644 --- a/gnu/services/mail.scm +++ b/gnu/services/mail.scm @@ -1666,18 +1666,17 @@ action outbound relay  match from local for any action outbound  ")) -(define opensmtpd-shepherd-service -  (match-lambda -    (($ <opensmtpd-configuration> package config-file) -     (list (shepherd-service -            (provision '(smtpd)) -            (requirement '(loopback)) -            (documentation "Run the OpenSMTPD daemon.") -            (start (let ((smtpd (file-append package "/sbin/smtpd"))) -                     #~(make-forkexec-constructor -                        (list #$smtpd "-f" #$config-file) -                        #:pid-file "/var/run/smtpd.pid"))) -            (stop #~(make-kill-destructor))))))) +(define (opensmtpd-shepherd-service config) +  (match-record config <opensmtpd-configuration> (package config-file) +    (list (shepherd-service +           (provision '(smtpd)) +           (requirement '(loopback)) +           (documentation "Run the OpenSMTPD daemon.") +           (start (let ((smtpd (file-append package "/sbin/smtpd"))) +                    #~(make-forkexec-constructor +                       (list #$smtpd "-f" #$config-file) +                       #:pid-file "/var/run/smtpd.pid"))) +           (stop #~(make-kill-destructor))))))  (define %opensmtpd-accounts    (list (user-group @@ -1698,58 +1697,56 @@ match from local for any action outbound           (home-directory "/var/empty")           (shell (file-append shadow "/sbin/nologin"))))) -(define opensmtpd-activation -  (match-lambda -    (($ <opensmtpd-configuration> package config-file) -     (let ((smtpd (file-append package "/sbin/smtpd"))) -       #~(begin -           (use-modules (guix build utils)) -           ;; Create mbox and spool directories. -           (mkdir-p "/var/mail") -           (mkdir-p "/var/spool/smtpd") -           (chmod "/var/spool/smtpd" #o711) -           (mkdir-p "/var/spool/mail") -           (chmod "/var/spool/mail" #o711)))))) +(define (opensmtpd-activation config) +  (match-record config <opensmtpd-configuration> (package config-file) +    (let ((smtpd (file-append package "/sbin/smtpd"))) +      #~(begin +          (use-modules (guix build utils)) +          ;; Create mbox and spool directories. +          (mkdir-p "/var/mail") +          (mkdir-p "/var/spool/smtpd") +          (chmod "/var/spool/smtpd" #o711) +          (mkdir-p "/var/spool/mail") +          (chmod "/var/spool/mail" #o711)))))  (define %opensmtpd-pam-services    (list (unix-pam-service "smtpd"))) -(define opensmtpd-set-gids -  (match-lambda -    (($ <opensmtpd-configuration> package config-file set-gids?) -     (if set-gids? -         (list -          (setuid-program -           (program (file-append package "/sbin/smtpctl")) -           (setuid? #false) -           (setgid? #true) -           (group "smtpq")) -          (setuid-program -           (program (file-append package "/sbin/sendmail")) -           (setuid? #false) -           (setgid? #true) -           (group "smtpq")) -          (setuid-program -           (program (file-append package "/sbin/send-mail")) -           (setuid? #false) -           (setgid? #true) -           (group "smtpq")) -          (setuid-program -           (program (file-append package "/sbin/makemap")) -           (setuid? #false) -           (setgid? #true) -           (group "smtpq")) -          (setuid-program -           (program (file-append package "/sbin/mailq")) -           (setuid? #false) -           (setgid? #true) -           (group "smtpq")) -          (setuid-program -           (program (file-append package "/sbin/newaliases")) -           (setuid? #false) -           (setgid? #true) -           (group "smtpq"))) -         '())))) +(define (opensmtpd-set-gids config) +  (match-record config <opensmtpd-configuration> (package config-file setgid-commands?) +    (if setgid-commands? +        (list +         (setuid-program +          (program (file-append package "/sbin/smtpctl")) +          (setuid? #false) +          (setgid? #true) +          (group "smtpq")) +         (setuid-program +          (program (file-append package "/sbin/sendmail")) +          (setuid? #false) +          (setgid? #true) +          (group "smtpq")) +         (setuid-program +          (program (file-append package "/sbin/send-mail")) +          (setuid? #false) +          (setgid? #true) +          (group "smtpq")) +         (setuid-program +          (program (file-append package "/sbin/makemap")) +          (setuid? #false) +          (setgid? #true) +          (group "smtpq")) +         (setuid-program +          (program (file-append package "/sbin/mailq")) +          (setuid? #false) +          (setgid? #true) +          (group "smtpq")) +         (setuid-program +          (program (file-append package "/sbin/newaliases")) +          (setuid? #false) +          (setgid? #true) +          (group "smtpq"))) +        '())))  (define opensmtpd-service-type    (service-type | 
