From d156ec60de9f811ba0df88f47838e3d7ef8dada6 Mon Sep 17 00:00:00 2001 From: Timotej Lazar Date: Fri, 11 Aug 2023 17:29:16 +0200 Subject: [PATCH] services/dkim-key: fix sed invocation and ignore missing file --- services/dkim-key.scm | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/services/dkim-key.scm b/services/dkim-key.scm index 9b9f6bd..4fdd224 100644 --- a/services/dkim-key.scm +++ b/services/dkim-key.scm @@ -1,4 +1,5 @@ (define-module (services dkim-key) + #:use-module (gnu packages base) #:use-module (gnu packages tls) #:use-module (gnu services) #:use-module (gnu services shepherd) @@ -28,17 +29,18 @@ (public (string-append #$domain "-" #$selector ".pub"))) (with-directory-excursion #$directory (unless (file-exists? private) - (let ((openssl #$(file-append openssl "/bin/openssl"))) + (let ((openssl #$(file-append openssl "/bin/openssl")) + (sed #$(file-append sed "/bin/sed"))) (system* openssl "genrsa" "-out" private (number->string #$key-length)) (chown private (passwd:uid (getpwnam #$owner)) -1) (system* openssl "rsa" "-in" private "-pubout" "-out" public) - (system* "sed" "-i" + (system* sed "-i" "1s/.*/v=DKIM1;p=/;:nl;${s/-----.*//;q;};N;s/\\n//g;b nl;" public))) (display (format #f "Create a TXT record at ~a._domainkey.~a with the contents of ~a/~a~%" #$selector #$domain #$directory public))) (unless (equal? (false-if-exception (readlink key-file)) private) - (delete-file key-file) + (false-if-exception (delete-file key-file)) (symlink private key-file)))))) (define dkim-key-service-type