From e741cd7bf7edef3dc642f5fefd1ae9d8895c307f Mon Sep 17 00:00:00 2001 From: Timotej Lazar Date: Thu, 11 May 2023 19:35:14 +0200 Subject: [PATCH] services/dkim-key: allow configuring owner for private key --- services/dkim-key.scm | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/services/dkim-key.scm b/services/dkim-key.scm index d978f6b..0bd35b6 100644 --- a/services/dkim-key.scm +++ b/services/dkim-key.scm @@ -10,14 +10,15 @@ (define-record-type* dkim-key-configuration make-dkim-key-configuration dkim-key-configuration? + (directory dkim-key-configuration-directory (default "/etc/dkim")) + (owner dkim-key-configuration-owner (default "smtpd")) (domain dkim-key-configuration-selector (default "")) (selector dkim-key-configuration-selector (default "dkim")) - (directory dkim-key-configuration-directory (default "/etc/dkim")) (key-length dkim-key-configuration-key-length (default 1024))) (define (dkim-key-activation config) (match-record config - (domain directory selector key-length) + (directory owner domain selector key-length) #~(begin (use-modules (guix build utils)) (mkdir-p #$directory) @@ -29,7 +30,7 @@ (unless (file-exists? private) (let ((openssl #$(file-append openssl "/bin/openssl"))) (system* openssl "genrsa" "-out" private (number->string #$key-length)) - (chown private (passwd:uid (getpwnam "smtpd")) -1) + (chown private (passwd:uid (getpwnam #$owner)) -1) (system* openssl "rsa" "-in" private "-pubout" "-out" public) (system* "sed" "-i" "1s/.*/v=DKIM1;p=/;:nl;${s/-----.*//;q;};N;s/\\n//g;b nl;"