summary refs log tree commit diff
path: root/pkgs/servers/mail
diff options
context:
space:
mode:
authorRobin Gloster <mail@glob.in>2019-08-25 18:55:46 +0200
committerRobin Gloster <mail@glob.in>2019-08-25 18:55:46 +0200
commit616b8343c4c384f651f51d8c9b8e96239e1113d0 (patch)
treec6894ea5e950e373bcf8c8e8948fb2a7d4716565 /pkgs/servers/mail
parent45d6ccea3357c65135b985f2eebf88020ca6461e (diff)
parent48191315aa2e34643203dbfc5ae8bd84c1cafe54 (diff)
downloadnixpkgs-616b8343c4c384f651f51d8c9b8e96239e1113d0.tar
nixpkgs-616b8343c4c384f651f51d8c9b8e96239e1113d0.tar.gz
nixpkgs-616b8343c4c384f651f51d8c9b8e96239e1113d0.tar.bz2
nixpkgs-616b8343c4c384f651f51d8c9b8e96239e1113d0.tar.lz
nixpkgs-616b8343c4c384f651f51d8c9b8e96239e1113d0.tar.xz
nixpkgs-616b8343c4c384f651f51d8c9b8e96239e1113d0.tar.zst
nixpkgs-616b8343c4c384f651f51d8c9b8e96239e1113d0.zip
Merge remote-tracking branch 'upstream/master' into gcc-8
Diffstat (limited to 'pkgs/servers/mail')
-rw-r--r--pkgs/servers/mail/dovecot/2.2.x-module_dir.patch53
-rw-r--r--pkgs/servers/mail/dovecot/default.nix6
-rw-r--r--pkgs/servers/mail/dovecot/plugins/pigeonhole/default.nix6
-rw-r--r--pkgs/servers/mail/exim/default.nix23
-rw-r--r--pkgs/servers/mail/opensmtpd/default.nix6
-rw-r--r--pkgs/servers/mail/postfix/default.nix12
-rw-r--r--pkgs/servers/mail/postfix/pflogsumm.nix4
-rw-r--r--pkgs/servers/mail/rmilter/default.nix33
-rw-r--r--pkgs/servers/mail/rmilter/fd-passing-libmilter.patch80
-rw-r--r--pkgs/servers/mail/rspamd/default.nix2
-rw-r--r--pkgs/servers/mail/spamassassin/default.nix5
11 files changed, 68 insertions, 162 deletions
diff --git a/pkgs/servers/mail/dovecot/2.2.x-module_dir.patch b/pkgs/servers/mail/dovecot/2.2.x-module_dir.patch
index 1914933c558..422bfad92e6 100644
--- a/pkgs/servers/mail/dovecot/2.2.x-module_dir.patch
+++ b/pkgs/servers/mail/dovecot/2.2.x-module_dir.patch
@@ -1,8 +1,8 @@
 diff --git a/src/auth/main.c b/src/auth/main.c
-index 5a87c57..74bff52 100644
+index 2dbf9e1..b1e778a 100644
 --- a/src/auth/main.c
 +++ b/src/auth/main.c
-@@ -194,7 +194,7 @@ static void main_preinit(void)
+@@ -192,7 +192,7 @@ static void main_preinit(void)
  	mod_set.debug = global_auth_settings->debug;
  	mod_set.filter_callback = auth_module_filter;
  
@@ -11,7 +11,7 @@ index 5a87c57..74bff52 100644
  	module_dir_init(modules);
  
  	if (!worker)
-@@ -225,7 +225,7 @@ void auth_module_load(const char *names)
+@@ -223,7 +223,7 @@ void auth_module_load(const char *names)
  	mod_set.debug = global_auth_settings->debug;
  	mod_set.ignore_missing = TRUE;
  
@@ -21,19 +21,19 @@ index 5a87c57..74bff52 100644
  	module_dir_init(modules);
  }
 diff --git a/src/config/all-settings.c b/src/config/all-settings.c
-index de223a5..2df2d21 100644
+index 4a2ab53..5057d63 100644
 --- a/src/config/all-settings.c
 +++ b/src/config/all-settings.c
-@@ -836,7 +836,7 @@ static const struct mail_user_settings mail_user_default_settings = {
+@@ -1079,7 +1079,7 @@ static const struct mail_user_settings mail_user_default_settings = {
  	.last_valid_gid = 0,
  
  	.mail_plugins = "",
 -	.mail_plugin_dir = MODULEDIR,
 +	.mail_plugin_dir = "/etc/dovecot/modules",
  
- 	.mail_log_prefix = "%s(%u): ",
+ 	.mail_log_prefix = "%s(%u)<%{pid}><%{session}>: ",
  
-@@ -3545,7 +3545,7 @@ const struct doveadm_settings doveadm_default_settings = {
+@@ -4723,7 +4723,7 @@ const struct doveadm_settings doveadm_default_settings = {
  	.base_dir = PKG_RUNDIR,
  	.libexec_dir = PKG_LIBEXECDIR,
  	.mail_plugins = "",
@@ -43,12 +43,12 @@ index de223a5..2df2d21 100644
  	.auth_socket_path = "auth-userdb",
  	.doveadm_socket_path = "doveadm-server",
 diff --git a/src/config/config-parser.c b/src/config/config-parser.c
-index 2a5009a..134f92b 100644
+index 6894123..07e9fec 100644
 --- a/src/config/config-parser.c
 +++ b/src/config/config-parser.c
-@@ -1047,7 +1047,7 @@ void config_parse_load_modules(void)
+@@ -1077,7 +1077,7 @@ void config_parse_load_modules(void)
  
- 	memset(&mod_set, 0, sizeof(mod_set));
+ 	i_zero(&mod_set);
  	mod_set.abi_version = DOVECOT_ABI_VERSION;
 -	modules = module_dir_load(CONFIG_MODULE_DIR, NULL, &mod_set);
 +	modules = module_dir_load("/etc/dovecot/modules/settings", NULL, &mod_set);
@@ -56,10 +56,10 @@ index 2a5009a..134f92b 100644
  
  	i_array_init(&new_roots, 64);
 diff --git a/src/dict/main.c b/src/dict/main.c
-index e6c945e..06ad6c5 100644
+index 722ed02..4ed12ae 100644
 --- a/src/dict/main.c
 +++ b/src/dict/main.c
-@@ -62,7 +62,7 @@ static void main_init(void)
+@@ -104,7 +104,7 @@ static void main_init(void)
  	mod_set.abi_version = DOVECOT_ABI_VERSION;
  	mod_set.require_init_funcs = TRUE;
  
@@ -69,10 +69,10 @@ index e6c945e..06ad6c5 100644
  
  	/* Register only after loading modules. They may contain SQL drivers,
 diff --git a/src/doveadm/doveadm-settings.c b/src/doveadm/doveadm-settings.c
-index df12284..19c18da 100644
+index 88da40c..141ed05 100644
 --- a/src/doveadm/doveadm-settings.c
 +++ b/src/doveadm/doveadm-settings.c
-@@ -81,7 +81,7 @@ const struct doveadm_settings doveadm_default_settings = {
+@@ -86,7 +86,7 @@ const struct doveadm_settings doveadm_default_settings = {
  	.base_dir = PKG_RUNDIR,
  	.libexec_dir = PKG_LIBEXECDIR,
  	.mail_plugins = "",
@@ -82,7 +82,7 @@ index df12284..19c18da 100644
  	.auth_socket_path = "auth-userdb",
  	.doveadm_socket_path = "doveadm-server",
 diff --git a/src/lib-fs/fs-api.c b/src/lib-fs/fs-api.c
-index b50fbe0..ace3aff 100644
+index a939f61..846cf86 100644
 --- a/src/lib-fs/fs-api.c
 +++ b/src/lib-fs/fs-api.c
 @@ -114,7 +114,7 @@ static void fs_class_try_load_plugin(const char *driver)
@@ -95,10 +95,10 @@ index b50fbe0..ace3aff 100644
  	module_dir_init(fs_modules);
  
 diff --git a/src/lib-ssl-iostream/iostream-ssl.c b/src/lib-ssl-iostream/iostream-ssl.c
-index a0659ab..dba3729 100644
+index f857ec9..0d1023b 100644
 --- a/src/lib-ssl-iostream/iostream-ssl.c
 +++ b/src/lib-ssl-iostream/iostream-ssl.c
-@@ -34,7 +34,7 @@ static int ssl_module_load(const char **error_r)
+@@ -53,7 +53,7 @@ int ssl_module_load(const char **error_r)
  	mod_set.abi_version = DOVECOT_ABI_VERSION;
  	mod_set.setting_name = "<built-in lib-ssl-iostream lookup>";
  	mod_set.require_init_funcs = TRUE;
@@ -108,15 +108,28 @@ index a0659ab..dba3729 100644
  					&mod_set, error_r) < 0)
  		return -1;
 diff --git a/src/lib-storage/mail-storage-settings.c b/src/lib-storage/mail-storage-settings.c
-index e2233bf..bbf981e 100644
+index b314b52..7055094 100644
 --- a/src/lib-storage/mail-storage-settings.c
 +++ b/src/lib-storage/mail-storage-settings.c
-@@ -274,7 +274,7 @@ static const struct mail_user_settings mail_user_default_settings = {
+@@ -337,7 +337,7 @@ static const struct mail_user_settings mail_user_default_settings = {
  	.last_valid_gid = 0,
  
  	.mail_plugins = "",
 -	.mail_plugin_dir = MODULEDIR,
 +	.mail_plugin_dir = "/etc/dovecot/modules",
  
- 	.mail_log_prefix = "%s(%u): ",
+ 	.mail_log_prefix = "%s(%u)<%{pid}><%{session}>: ",
  
+diff --git a/src/lmtp/lmtp-settings.c b/src/lmtp/lmtp-settings.c
+index 1666ec9..8a27200 100644
+--- a/src/lmtp/lmtp-settings.c
++++ b/src/lmtp/lmtp-settings.c
+@@ -89,7 +89,7 @@ static const struct lmtp_settings lmtp_default_settings = {
+ 	.login_trusted_networks = "",
+ 
+ 	.mail_plugins = "",
+-	.mail_plugin_dir = MODULEDIR,
++	.mail_plugin_dir = "/etc/dovecot/modules",
+ };
+ 
+ static const struct setting_parser_info *lmtp_setting_dependencies[] = {
diff --git a/pkgs/servers/mail/dovecot/default.nix b/pkgs/servers/mail/dovecot/default.nix
index c639a9a26cb..780264cf42b 100644
--- a/pkgs/servers/mail/dovecot/default.nix
+++ b/pkgs/servers/mail/dovecot/default.nix
@@ -9,7 +9,7 @@
 }:
 
 stdenv.mkDerivation rec {
-  name = "dovecot-2.3.6";
+  name = "dovecot-2.3.7.1";
 
   nativeBuildInputs = [ perl pkgconfig ];
   buildInputs =
@@ -21,7 +21,7 @@ stdenv.mkDerivation rec {
 
   src = fetchurl {
     url = "https://dovecot.org/releases/2.3/${name}.tar.gz";
-    sha256 = "1irnalplb47nlc26dn7zzdi95zhrxxi3miza7p3wdsgapv0qs7gd";
+    sha256 = "1hq333vj4px4xa9djl8c1v3c8rac98v2mrb9vx1wisg6frpiv9f5";
   };
 
   enableParallelBuilding = true;
@@ -83,7 +83,7 @@ stdenv.mkDerivation rec {
   meta = {
     homepage = https://dovecot.org/;
     description = "Open source IMAP and POP3 email server written with security primarily in mind";
-    maintainers = with stdenv.lib.maintainers; [ peti rickynils fpletz ];
+    maintainers = with stdenv.lib.maintainers; [ peti rickynils fpletz globin ];
     platforms = stdenv.lib.platforms.unix;
   };
   passthru.tests = {
diff --git a/pkgs/servers/mail/dovecot/plugins/pigeonhole/default.nix b/pkgs/servers/mail/dovecot/plugins/pigeonhole/default.nix
index 6a812863f05..3d0f921409c 100644
--- a/pkgs/servers/mail/dovecot/plugins/pigeonhole/default.nix
+++ b/pkgs/servers/mail/dovecot/plugins/pigeonhole/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   name = "dovecot-pigeonhole-${version}";
-  version = "0.5.6";
+  version = "0.5.7.1";
 
   src = fetchurl {
     url = "https://pigeonhole.dovecot.org/releases/2.3/dovecot-2.3-pigeonhole-${version}.tar.gz";
-    sha256 = "1f7m2213w4hvqr3lvr03bv4lh92k35gxl01c2x8q8akk7viffbvw";
+    sha256 = "0a10mam68pmdh3fw8fnv5jff6xj1k770hvadym2c39vm3x6b4w1j";
   };
 
   buildInputs = [ dovecot openssl ];
@@ -32,7 +32,7 @@ stdenv.mkDerivation rec {
     homepage = http://pigeonhole.dovecot.org/;
     description = "A sieve plugin for the Dovecot IMAP server";
     license = licenses.lgpl21;
-    maintainers = [ maintainers.rickynils ];
+    maintainers = with maintainers; [ rickynils globin ];
     platforms = platforms.unix;
   };
 }
diff --git a/pkgs/servers/mail/exim/default.nix b/pkgs/servers/mail/exim/default.nix
index 60ff9cab2d3..25a94cd27bf 100644
--- a/pkgs/servers/mail/exim/default.nix
+++ b/pkgs/servers/mail/exim/default.nix
@@ -3,25 +3,26 @@
 , enableMySQL ? false, mysql, zlib
 , enableAuthDovecot ? false, dovecot
 , enablePAM ? false, pam
+, enableSPF ? true, libspf2
 }:
 
 stdenv.mkDerivation rec {
-  name = "exim-4.92";
+  name = "exim-4.92.1";
 
   src = fetchurl {
     url = "https://ftp.exim.org/pub/exim/exim4/${name}.tar.xz";
-    sha256 = "0qhxxwl0nhzgp0w3pjkhx9z9lqfpk8id25q5ghf9ay2f90mydjba";
+    sha256 = "1d14vs6jdw2bm9m33w2szxpv8rppbk7hvszq9p0n9i3svmqshr1c";
   };
 
   nativeBuildInputs = [ pkgconfig ];
   buildInputs = [ coreutils db openssl perl pcre ]
     ++ stdenv.lib.optional enableLDAP openldap
-    ++ stdenv.lib.optionals enableMySQL [ mysql zlib ]
+    ++ stdenv.lib.optionals enableMySQL [ mysql.connector-c zlib ]
     ++ stdenv.lib.optional enableAuthDovecot dovecot
-    ++ stdenv.lib.optional enablePAM pam;
+    ++ stdenv.lib.optional enablePAM pam
+    ++ stdenv.lib.optional enableSPF libspf2;
 
   preBuild = ''
-    ${stdenv.lib.optionalString enableMySQL "PKG_CONFIG_PATH=$PKG_CONFIG_PATH:${mysql}/share/mysql/pkgconfig/"}
     sed '
       s:^\(BIN_DIRECTORY\)=.*:\1='"$out"'/bin:
       s:^\(CONFIGURE_FILE\)=.*:\1=/etc/exim.conf:
@@ -52,10 +53,10 @@ stdenv.mkDerivation rec {
       ''}
       ${stdenv.lib.optionalString enableMySQL ''
         s:^# \(LOOKUP_MYSQL=yes\)$:\1:
-        s:^# \(LOOKUP_MYSQL_PC=mariadb\)$:\1:
-        s:^\(LOOKUP_LIBS\)=\(.*\):\1=\2 -lmysqlclient:
-        s:^# \(LOOKUP_LIBS\)=.*:\1=-lmysqlclient:
-        s:^# \(LOOKUP_INCLUDE\)=.*:\1=-I${mysql}/include/mysql/:
+        s:^# \(LOOKUP_MYSQL_PC=mysql.connector-c\)$:\1:
+        s:^\(LOOKUP_LIBS\)=\(.*\):\1=\2 -lmysqlclient -L${mysql.connector-c}/lib/mysql -lssl -ldl -lm -lpthread -lz:
+        s:^# \(LOOKUP_LIBS\)=.*:\1=-lmysqlclient -L${mysql.connector-c}/lib/mysql -lssl -ldl -lm -lpthread -lz:
+        s:^# \(LOOKUP_INCLUDE\)=.*:\1=-I${mysql.connector-c}/include/mysql/:
       ''}
       ${stdenv.lib.optionalString enableAuthDovecot ''
         s:^# \(AUTH_DOVECOT\)=.*:\1=yes:
@@ -65,6 +66,10 @@ stdenv.mkDerivation rec {
         s:^\(EXTRALIBS_EXIM\)=\(.*\):\1=\2 -lpam:
         s:^# \(EXTRALIBS_EXIM\)=.*:\1=-lpam:
       ''}
+      ${stdenv.lib.optionalString enableSPF ''
+        s:^# \(SUPPORT_SPF\)=.*:\1=yes:
+        s:^# \(LDFLAGS += -lspf2\):\1:
+      ''}
       #/^\s*#.*/d
       #/^\s*$/d
     ' < src/EDITME > Local/Makefile
diff --git a/pkgs/servers/mail/opensmtpd/default.nix b/pkgs/servers/mail/opensmtpd/default.nix
index 6730f7acc67..2e1b3a4f798 100644
--- a/pkgs/servers/mail/opensmtpd/default.nix
+++ b/pkgs/servers/mail/opensmtpd/default.nix
@@ -1,17 +1,17 @@
-{ stdenv, lib, fetchurl, fetchpatch, autoconf, automake, libtool, bison
+{ stdenv, fetchurl, autoconf, automake, libtool, bison
 , libasr, libevent, zlib, libressl, db, pam, nixosTests
 }:
 
 stdenv.mkDerivation rec {
   name = "opensmtpd-${version}";
-  version = "6.4.1p2";
+  version = "6.4.2p1";
 
   nativeBuildInputs = [ autoconf automake libtool bison ];
   buildInputs = [ libasr libevent zlib libressl db pam ];
 
   src = fetchurl {
     url = "https://www.opensmtpd.org/archives/${name}.tar.gz";
-    sha256 = "0cppqlx4fk6l8rbim5symh2fm1kzshf421256g596j6c9f9q96xn";
+    sha256 = "0pgv080ai7d98l9340jadp9wjiaqj2qvgpqhilcz0kps2mdiawbd";
   };
 
   patches = [
diff --git a/pkgs/servers/mail/postfix/default.nix b/pkgs/servers/mail/postfix/default.nix
index 634bba2e57c..a4b0b921adb 100644
--- a/pkgs/servers/mail/postfix/default.nix
+++ b/pkgs/servers/mail/postfix/default.nix
@@ -26,11 +26,11 @@ in stdenv.mkDerivation rec {
 
   name = "postfix-${version}";
 
-  version = "3.4.5";
+  version = "3.4.6";
 
   src = fetchurl {
     url = "ftp://ftp.cs.uu.nl/mirror/postfix/postfix-release/official/${name}.tar.gz";
-    sha256 = "17riwr21i9p1h17wpagfiwkpx9bbx7dy4gpdl219a11akm7saawb";
+    sha256 = "09p3vg2xlh6iq45gp6zanbp1728fc31r7zz71r131vh20ssajx6n";
   };
 
   nativeBuildInputs = [ makeWrapper m4 ];
@@ -96,12 +96,12 @@ in stdenv.mkDerivation rec {
       --prefix PATH ":" ${lib.makeBinPath [ coreutils findutils gnugrep gawk gnused ]}
   '';
 
-  meta = {
+  meta = with lib; {
     homepage = http://www.postfix.org/;
     description = "A fast, easy to administer, and secure mail server";
-    license = with lib.licenses; [ ipl10 epl20 ];
-    platforms = lib.platforms.linux;
-    maintainers = [ lib.maintainers.rickynils ];
+    license = with licenses; [ ipl10 epl20 ];
+    platforms = platforms.linux;
+    maintainers = with maintainers; [ rickynils globin ];
   };
 
 }
diff --git a/pkgs/servers/mail/postfix/pflogsumm.nix b/pkgs/servers/mail/postfix/pflogsumm.nix
index 82199938060..8f85bc5f6d6 100644
--- a/pkgs/servers/mail/postfix/pflogsumm.nix
+++ b/pkgs/servers/mail/postfix/pflogsumm.nix
@@ -1,11 +1,11 @@
 { stdenv, fetchurl, perlPackages }:
 
 perlPackages.buildPerlPackage rec {
-  name = "pflogsumm-${version}";
+  pname = "pflogsumm";
   version = "1.1.3";
 
   src = fetchurl {
-    url = "https://jimsun.linxnet.com/downloads/${name}.tar.gz";
+    url = "https://jimsun.linxnet.com/downloads/${pname}-${version}.tar.gz";
     sha256 = "0hkim9s5f1yg5sfs5048jydhy3sbxafls496wcjk0cggxb113py4";
   };
 
diff --git a/pkgs/servers/mail/rmilter/default.nix b/pkgs/servers/mail/rmilter/default.nix
deleted file mode 100644
index 739270326e5..00000000000
--- a/pkgs/servers/mail/rmilter/default.nix
+++ /dev/null
@@ -1,33 +0,0 @@
-{ stdenv, fetchFromGitHub, cmake, bison, flex, pkgconfig, openssl, pcre
-, libmilter, opendkim, libmemcached, glib }:
-
-let patchedLibmilter = stdenv.lib.overrideDerivation  libmilter (_ : {
-    patches = libmilter.patches ++ [ ./fd-passing-libmilter.patch ];
-});
-in
-
-stdenv.mkDerivation rec {
-  name = "rmilter-${version}";
-  version = "1.10.0";
-
-  src = fetchFromGitHub {
-    owner = "vstakhov";
-    repo = "rmilter";
-    rev = version;
-    sha256 = "1gbp6jah88l6xqgflim01ycyp63l733bgir65fxnnrmifj1qzymh";
-  };
-
-  nativeBuildInputs = [ bison cmake flex pkgconfig ];
-  buildInputs = [ libmemcached patchedLibmilter openssl pcre opendkim glib ];
-
-  meta = with stdenv.lib; {
-    homepage = https://github.com/vstakhov/rmilter;
-    license = licenses.asl20;
-    description = ''
-      Daemon to integrate rspamd and milter compatible MTA, for example
-      postfix or sendmail
-    '';
-    maintainers = with maintainers; [ avnik fpletz ];
-    platforms = with platforms; linux;
-  };
-}
diff --git a/pkgs/servers/mail/rmilter/fd-passing-libmilter.patch b/pkgs/servers/mail/rmilter/fd-passing-libmilter.patch
deleted file mode 100644
index 3ab61a6fab0..00000000000
--- a/pkgs/servers/mail/rmilter/fd-passing-libmilter.patch
+++ /dev/null
@@ -1,80 +0,0 @@
-Description: systemd-like socket activation support for libmilter
-Author: Mikhail Gusarov <dottedmag@debian.org
-diff --git a/libmilter/docs/smfi_setconn.html b/libmilter/docs/smfi_setconn.html
-index 70a510e..013f04e 100644
---- a/libmilter/docs/smfi_setconn.html
-+++ b/libmilter/docs/smfi_setconn.html
-@@ -43,6 +43,7 @@ Set the socket through which this filter should communicate with sendmail.
- 	<LI><CODE>{unix|local}:/path/to/file</CODE> -- A named pipe.
- 	<LI><CODE>inet:port@{hostname|ip-address}</CODE> -- An IPV4 socket.
- 	<LI><CODE>inet6:port@{hostname|ip-address}</CODE> -- An IPV6 socket.
-+	<LI><CODE>fd:number</CODE> -- Pre-opened file descriptor.
- 	</UL>
- 	</TD></TR>
-     </TABLE>
-diff --git a/libmilter/listener.c b/libmilter/listener.c
-index 48c552f..2249a1f 100644
---- a/libmilter/listener.c
-+++ b/libmilter/listener.c
-@@ -197,6 +197,11 @@ mi_milteropen(conn, backlog, rmsocket, name)
- 			L_socksize = sizeof addr.sin6;
- 		}
- #endif /* NETINET6 */
-+		else if (strcasecmp(p, "fd") == 0)
-+		{
-+			addr.sa.sa_family = AF_UNSPEC;
-+			L_socksize = sizeof (_SOCK_ADDR);
-+		}
- 		else
- 		{
- 			smi_log(SMI_LOG_ERR, "%s: unknown socket type %s",
-@@ -443,7 +448,21 @@ mi_milteropen(conn, backlog, rmsocket, name)
- 	}
- #endif /* NETINET || NETINET6 */
- 
--	sock = socket(addr.sa.sa_family, SOCK_STREAM, 0);
-+	if (addr.sa.sa_family == AF_UNSPEC)
-+	{
-+		char *end;
-+		sock = strtol(colon, &end, 10);
-+		if (*end != '\0' || sock < 0)
-+		{
-+			smi_log(SMI_LOG_ERR, "%s: expected positive integer as fd, got %s", name, colon);
-+			return INVALID_SOCKET;
-+		}
-+	}
-+	else
-+	{
-+		sock = socket(addr.sa.sa_family, SOCK_STREAM, 0);
-+	}
-+
- 	if (!ValidSocket(sock))
- 	{
- 		smi_log(SMI_LOG_ERR,
-@@ -466,6 +485,7 @@ mi_milteropen(conn, backlog, rmsocket, name)
- #if NETUNIX
- 	    addr.sa.sa_family != AF_UNIX &&
- #endif /* NETUNIX */
-+	    addr.sa.sa_family != AF_UNSPEC &&
- 	    setsockopt(sock, SOL_SOCKET, SO_REUSEADDR, (void *) &sockopt,
- 		       sizeof(sockopt)) == -1)
- 	{
-@@ -511,7 +531,8 @@ mi_milteropen(conn, backlog, rmsocket, name)
- 	}
- #endif /* NETUNIX */
- 
--	if (bind(sock, &addr.sa, L_socksize) < 0)
-+	if (addr.sa.sa_family != AF_UNSPEC &&
-+	    bind(sock, &addr.sa, L_socksize) < 0)
- 	{
- 		smi_log(SMI_LOG_ERR,
- 			"%s: Unable to bind to port %s: %s",
-@@ -817,7 +838,7 @@ mi_listener(conn, dbg, smfi, timeout, backlog)
- # ifdef BSD4_4_SOCKADDR
- 		     cliaddr.sa.sa_len == 0 ||
- # endif /* BSD4_4_SOCKADDR */
--		     cliaddr.sa.sa_family != L_family))
-+		     (L_family != AF_UNSPEC && cliaddr.sa.sa_family != L_family)))
- 		{
- 			(void) closesocket(connfd);
- 			connfd = INVALID_SOCKET;
diff --git a/pkgs/servers/mail/rspamd/default.nix b/pkgs/servers/mail/rspamd/default.nix
index 25e7807659d..67a647b236b 100644
--- a/pkgs/servers/mail/rspamd/default.nix
+++ b/pkgs/servers/mail/rspamd/default.nix
@@ -45,7 +45,7 @@ stdenv.mkDerivation rec {
     homepage = https://rspamd.com;
     license = licenses.asl20;
     description = "Advanced spam filtering system";
-    maintainers = with maintainers; [ avnik fpletz ];
+    maintainers = with maintainers; [ avnik fpletz globin ];
     platforms = with platforms; linux;
   };
 }
diff --git a/pkgs/servers/mail/spamassassin/default.nix b/pkgs/servers/mail/spamassassin/default.nix
index e95fcaa03ef..186f4670153 100644
--- a/pkgs/servers/mail/spamassassin/default.nix
+++ b/pkgs/servers/mail/spamassassin/default.nix
@@ -1,10 +1,11 @@
 { stdenv, fetchurl, perlPackages, makeWrapper, gnupg }:
 
 perlPackages.buildPerlPackage rec {
-  name = "SpamAssassin-3.4.2";
+  pname = "SpamAssassin";
+  version = "3.4.2";
 
   src = fetchurl {
-    url = "mirror://apache/spamassassin/source/Mail-${name}.tar.bz2";
+    url = "mirror://apache/spamassassin/source/Mail-${pname}-${version}.tar.bz2";
     sha256 = "1np8h293bzg33i0xn9gj9krwgr7k6xbyf1yhxr2j2xci95d080yg";
   };