From bfd2cc73e93151db2f79b9ccd4a65cbabf968142 Mon Sep 17 00:00:00 2001 From: Alyssa Ross Date: Mon, 3 Jan 2022 13:14:37 +0000 Subject: [PATCH] spamassassin: support for fetching rules over HTTPS sa-update.service starts by making an HTTP GET request to http://spamassassin.apache.org/updates/MIRRORED.BY, which now redirects to HTTPS. Since we didn't have the appropriate library available to handle HTTPS, rule updates would fail: Jan 03 12:35:03 atuin systemd[1]: Starting sa-update.service... Jan 03 12:35:10 atuin sa-update-start[1250]: Update available for channel updates.spamassassin.org: 1895535 -> 1896618 Jan 03 12:35:10 atuin sa-update-start[1250]: http: (lwp) hotpatching IO::Socket::INET by module IO::Socket::IP Jan 03 12:35:11 atuin sa-update-start[1250]: http: (lwp) GET http://spamassassin.apache.org/updates/MIRRORED.BY, 501 Protocol scheme 'https' is not supported (LWP::Protocol::https not installed) Jan 03 12:35:11 atuin sa-update-start[1250]: error: unable to refresh mirrors file for channel updates.spamassassin.org, using old file Jan 03 12:35:11 atuin sa-update-start[1250]: error: no mirror data available for channel updates.spamassassin.org Jan 03 12:35:11 atuin sa-update-start[1250]: channel 'updates.spamassassin.org': MIRRORED.BY file contents were missing, channel failed Jan 03 12:35:11 atuin sa-update-start[1250]: Update failed, exiting with code 4 Jan 03 12:35:11 atuin systemd[1]: sa-update.service: Main process exited, code=exited, status=4/NOPERMISSION Jan 03 12:35:11 atuin systemd[1]: sa-update.service: Failed with result 'exit-code'. Jan 03 12:35:11 atuin systemd[1]: Failed to start sa-update.service. (cherry picked from commit 7169ada492c3d163a86fee7483ea9f99523f3c00) --- pkgs/servers/mail/spamassassin/default.nix | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) diff --git a/pkgs/servers/mail/spamassassin/default.nix b/pkgs/servers/mail/spamassassin/default.nix index ca86b4b525f2..688e94b4d6ff 100644 --- a/pkgs/servers/mail/spamassassin/default.nix +++ b/pkgs/servers/mail/spamassassin/default.nix @@ -9,11 +9,18 @@ perlPackages.buildPerlPackage rec { sha256 = "044ng2aazqy8g0m17q0a4939ck1ca4x230q2q7q7jndvwkrpaj5w"; }; - nativeBuildInputs = [ makeWrapper ]; + # ExtUtil::MakeMaker is bundled with Perl, but the bundled version + # causes build errors for aarch64-darwin, so we override it with the + # latest version. We can drop the dependency to go back to the + # bundled version when the version that comes with Perl is ≥7.57_02. + # + # Check the version bundled with Perl like this: + # perl -e 'use ExtUtils::MakeMaker qw($VERSION); print "$VERSION\n"' + nativeBuildInputs = [ makeWrapper perlPackages.ExtUtilsMakeMaker ]; buildInputs = (with perlPackages; [ HTMLParser NetCIDRLite NetDNS NetAddrIP DBFile HTTPDate MailDKIM LWP - IOSocketSSL DBI EncodeDetect IPCountry NetIdent Razor2ClientAgent MailSPF - NetDNSResolverProgrammable Socket6 + LWPProtocolHttps IOSocketSSL DBI EncodeDetect IPCountry NetIdent + Razor2ClientAgent MailSPF NetDNSResolverProgrammable Socket6 ]); # Enabling 'taint' mode is desirable, but that flag disables support