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;"