WTF is the deal with this selector thing

This commit is contained in:
niten 2023-09-28 22:00:55 -07:00
parent e3fc492961
commit 409d0e6207

View File

@ -6,18 +6,18 @@ let
ensureDomainDkimCert = keyDir: domain: ensureDomainDkimCert = keyDir: domain:
let let
dkimKey = "${keyDir}/${domain}.mail.key"; dkimKey = "${keyDir}/${domain}.${cfg.selector}.key";
dkimTxt = "${keyDir}/${domain}.mail.txt"; dkimTxt = "${keyDir}/${domain}.${cfg.selector}.txt";
in '' in ''
if [ ! -f "${dkimKey}" ] || [ ! -f ${dkimTxt} ]; then if [ ! -f "${dkimKey}" ] || [ ! -f ${dkimTxt} ]; then
OUT=$(${pkgs.coreutils}/bin/mktemp -d -t dkim-XXXXXXXXXX) OUT=$(${pkgs.coreutils}/bin/mktemp -d -t dkim-XXXXXXXXXX)
opendkim-genkey \ opendkim-genkey \
--selector=mail \ --selector=${cfg.selector} \
--domain=${domain} \ --domain=${domain} \
--bits="${toString cfg.key-bits}" \ --bits="${toString cfg.key-bits}" \
--directory=$OUT --directory=$OUT
mv $OUT/mail.private ${dkimKey} mv $OUT/${cfg.selector}.private ${dkimKey}
mv $OUT/mail.txt ${dkimTxt} mv $OUT/${cfg.selector}.txt ${dkimTxt}
fi fi
''; '';
@ -26,7 +26,7 @@ let
makeKeyTable = keyDir: domains: makeKeyTable = keyDir: domains:
pkgs.writeTextDir "key.table" (concatStrings (map (dom: '' pkgs.writeTextDir "key.table" (concatStrings (map (dom: ''
${dom} ${dom}:mail:${keyDir}/${dom}.mail.key ${dom} ${dom}:${cfg.selector}:${keyDir}/${dom}.${cfg.selector}.key
'') domains)); '') domains));
makeSigningTable = domains: makeSigningTable = domains:
@ -84,12 +84,11 @@ in {
networking.firewall = { networking.firewall = {
enable = true; enable = true;
allowedTCPPorts = [ cfg.port ]; allowedTCPPorts = [ cfg.port ];
allowedUDPPorts = [ cfg.port ];
}; };
services.opendkim = { services.opendkim = {
enable = true; enable = true;
selector = cfg.selector; # selector = cfg.selector;
domains = let domainString = concatStringsSep "," cfg.domains; domains = let domainString = concatStringsSep "," cfg.domains;
in "csl:${domainString}"; in "csl:${domainString}";
configFile = let configFile = let