diff options
author | 2013-01-18 13:44:10 +0000 | |
---|---|---|
committer | 2013-01-18 13:44:10 +0000 | |
commit | 92b0f434f18e3b617b107dbc5e1ea71bea930950 (patch) | |
tree | 6956d997533c4fff077fd0162cfe290296a4a980 /mail-filter | |
parent | dev-python/mpmath: Bump to new python stuff and fix build for py3, #438584 (diff) | |
download | historical-92b0f434f18e3b617b107dbc5e1ea71bea930950.tar.gz historical-92b0f434f18e3b617b107dbc5e1ea71bea930950.tar.bz2 historical-92b0f434f18e3b617b107dbc5e1ea71bea930950.zip |
Version bump - bug #452324. Start before mta - bug #451114. Use libbsd instead of internal library - bug #441790. Add option to disable crypto initialization thanks to Christian Rößner - bug #452470.
Package-Manager: portage-2.2.0_alpha154/cvs/Linux x86_64
Manifest-Sign-Key: 0x77F1F175586A3B1F
Diffstat (limited to 'mail-filter')
-rw-r--r-- | mail-filter/opendkim/ChangeLog | 14 | ||||
-rw-r--r-- | mail-filter/opendkim/Manifest | 33 | ||||
-rw-r--r-- | mail-filter/opendkim/files/opendkim-2.7.4-DisableCryptoInit.patch | 109 | ||||
-rw-r--r-- | mail-filter/opendkim/files/opendkim-2.7.4-bsd.patch | 558 | ||||
-rw-r--r-- | mail-filter/opendkim/files/opendkim.init.r3 | 56 | ||||
-rw-r--r-- | mail-filter/opendkim/opendkim-2.7.4.ebuild | 191 |
6 files changed, 945 insertions, 16 deletions
diff --git a/mail-filter/opendkim/ChangeLog b/mail-filter/opendkim/ChangeLog index 4cd832884178..65927dc086fa 100644 --- a/mail-filter/opendkim/ChangeLog +++ b/mail-filter/opendkim/ChangeLog @@ -1,6 +1,16 @@ # ChangeLog for mail-filter/opendkim -# Copyright 1999-2012 Gentoo Foundation; Distributed under the GPL v2 -# $Header: /var/cvsroot/gentoo-x86/mail-filter/opendkim/ChangeLog,v 1.54 2012/11/27 20:17:19 eras Exp $ +# Copyright 1999-2013 Gentoo Foundation; Distributed under the GPL v2 +# $Header: /var/cvsroot/gentoo-x86/mail-filter/opendkim/ChangeLog,v 1.55 2013/01/18 13:44:00 eras Exp $ + +*opendkim-2.7.4 (18 Jan 2013) + + 18 Jan 2013; Eray Aslan <eras@gentoo.org> + +files/opendkim-2.7.4-DisableCryptoInit.patch, + +files/opendkim-2.7.4-bsd.patch, +files/opendkim.init.r3, + +opendkim-2.7.4.ebuild: + Version bump - bug #452324. Start before mta - bug #451114. Use libbsd instead + of internal library - bug #441790. Add option to disable crypto + initialization thanks to Christian Rößner - bug #452470. 27 Nov 2012; Eray Aslan <eras@gentoo.org> -files/opendkim-2.4.0-ipv6.patch, -opendkim-2.4.3.ebuild, -opendkim-2.5.2-r1.ebuild, -opendkim-2.6.3.ebuild, diff --git a/mail-filter/opendkim/Manifest b/mail-filter/opendkim/Manifest index 933241330f06..c5fd01691063 100644 --- a/mail-filter/opendkim/Manifest +++ b/mail-filter/opendkim/Manifest @@ -2,33 +2,38 @@ Hash: SHA256 AUX opendkim-2.7.2-strl.patch 1158 SHA256 23d06779d843aecd8a8540d40effa90f7d3fa854eccbee22672731438be7c88f SHA512 57dae887354a164d6146c55d258b8b41cdfbf9df887d228ab6ae9f2868b2096b44d738897880e1ad39c2d1d2ccade655cdb2658a171499cb470e6aafc0ca72bc WHIRLPOOL 760706018224941090b82b65b613bb90f51c6cfdba4f87bd640e6f301719c137592fd54f0bc383e0fa384f4f8e4ecd3699906ad70b86ffdf85f5fb9c12842ae0 +AUX opendkim-2.7.4-DisableCryptoInit.patch 3747 SHA256 83c0fac5ed1393cdfda695637f337a2a43bcd45476f11ed7db1bc422a080f421 SHA512 c8c352a56150cf0e8a2ce4b0020c03d60da1e8c184e830b325348e1e9272df8634e014a4ae6b62d4c8c596d855ecdf163eb4c09104e31084d1643364bcf093f8 WHIRLPOOL d6ad3a4ea0c2ba7b41d06750beb3fb19dd26f29f44f1ffc6855e93f8a5e8af631c35c9b782d32a7fcb83361e881ea6dffb22d59035d9b3148cf39b37ee62f1db +AUX opendkim-2.7.4-bsd.patch 18006 SHA256 a4cfb4d26dc7d27134f66f7b1e78b40f6c0c77f3986af787001c094c4734f95f SHA512 9ee24d02d2662b2898dd073b7ec882889fe9568d2afca8751c6ad6c68af60523d77ca79557f540607a68cb159bf0df7266122ed8fe3a3b67ca4e578b325b4892 WHIRLPOOL 8408536bd7fd080eedc99b3b133562d5049a63a61420b5a38759237dce09af8ab257f524152ca870de18c13113b6370bc5c0f8fe06fc43d89101ecbcfbb157e9 AUX opendkim.init.r2 1533 SHA256 0e8fab90020c109f602d8367a6501bfb3b397a50f020b6fade5024e2facf593c SHA512 8c7aef32c67e1ec4bf3afb0df48d861b6f1399c8a825161d00ca1400d87b084ad16de68401f9cece4cc9c07b06377641cc664d7e79750a0fc106f1088fb2dff7 WHIRLPOOL 00783d779d904118eb172f859c289d8b2b1832f1de1f17ab30a5a9f0af6ffa324395f2777b82fbde2e46d26f064d4ffec368b6734ce9cfe09173f24a7053de50 +AUX opendkim.init.r3 1545 SHA256 63f316ef776ad1a9fe87cff7748fac4574c2355b6205e3ef21285ddb84c8cb33 SHA512 c28b93f230b65ba483302dbb0f6cba0d8b2cf29cce0309521e67f6aa0e4c041b0dd69eaca8152d6b0b1b02dbe1ff9634fef0840856c8e192f17a1c24ffac7166 WHIRLPOOL f42cb79de47d2fdac26ef4a45132e996640da824aadaf0c3e66182160e941322ff78a37c18a32ca50efb0bb4fbf11b622a1ce5931146c47a06156c256d568b81 DIST opendkim-2.6.7.tar.gz 1129124 SHA256 45da209ccddfb6f6888ac2366b6e38a6460b36ff0da527aed910217cead6fc84 SHA512 f47f4c4805b96a2c57774dd69a7770751649397866b29392aa756c4b143579d93951166c817342fde12b8994251a8b44d2de61e6059fd04686e04aa6e668cdd3 WHIRLPOOL df662ca97ac937720038b16fb8b5e8f3f1d6a9d5b73102082a889abddaa003ca8ddf8fcba670fb16f7d00e4fd8b07fc0ddaff97f070e795822350751b0cb0608 DIST opendkim-2.6.8.tar.gz 1141247 SHA256 1b2e9033842634a1dc891afa10a94ba58c0e7663670e2faf117b27bead541edc SHA512 0f1a48741194d9d47b9e301bb1d1a32f0396f12ed93eeafcaea74783e5ca9fb1f0a7cc6bb384df687d30026105e65c33c6b9cee86aa836906d959b4d2315946e WHIRLPOOL 00c841fc5d73ab7b0fe26a4612e8a319087a8a15a3a7fb5bcd61ad98cb9b5cf860fb54c98077ad99792d1e5c626bd2ce69eabb1da560f45725d23170e9100293 DIST opendkim-2.7.0.tar.gz 1143836 SHA256 f5c2319ec23fa20a6bd4bb1b4abc005f6a7dbb77852c13091a3f2a042f82fee2 SHA512 17c53cfb7198162446c5db72d6bb234d41fcb6f167e12ee04609e36fd78916a2133f9f401800dd24e29ed811e4e123090296f24611b5fef6525711377642e320 WHIRLPOOL 52c8a0e20e2e2e3ba6364b0e14bd6122fcf3566c59029464fa5d9a1d5cf697dd89a1ce99b970987bf62c83768a64fe0be1caf02941f6153538368fd2428a9fd1 DIST opendkim-2.7.1.tar.gz 1153665 SHA256 782c030ce3b09d9ef536d2b98910d5a9289ba2128e8392e6ff568b2ade0282ed SHA512 76074ba23f4a4e142f6c41cc2474ac8e4281a770695a615b51ddcb0cb1b195ac295ce2be3f433e2213fc2c7b3355fa470e19d6a3421d4f0af4acb065eb498dd0 WHIRLPOOL 69a61297d1d79c2a296b99453f5b24c4c9b109b8fab9d114d627c788e1ea2b5e836b99d7c11312214794157f3a48dd8ea6cb79d8bdbc6156c3e019743df57e37 DIST opendkim-2.7.2.tar.gz 1156510 SHA256 cf72a26506ef48a2c6b231947226ab460cdb6e05b18176ee42a94b3b6d521b42 SHA512 be1cf2329f9a871df560bcdb60f9f2277ac5220ed9f94c112410994b1dc1f1ee7274bea76b8ce7c118695f73831fb3459007b728a151ece966a1021d6774e425 WHIRLPOOL 2e07e87bf274a3644bec6c42ccc7ca0575206fa67eba8009f52f24213a74c4985b2e78eb9e6b4b0938cb513c186b0c858f2d80330019a20eee18188d39f68677 +DIST opendkim-2.7.4.tar.gz 1158496 SHA256 fa66f7ca52dd3fa94cd869e8fe9e8f849ab83d6a32a8d4ed3cf18b06b4584e76 SHA512 f897cea21832355cac5421a96a906f67aaff1bcc0ceb5e027c73845d7c0cd27ec12862a826534b01339571533cba061b86e1a1bad91c405488bada729e2846cb WHIRLPOOL afe329829211cedacc7d27b5a4d03469e1fe8935cabc0b51158a69862ef993d6438499a206628dafc31c7904b9b95d1eeb31edf6583249cf54396793af68bdbc EBUILD opendkim-2.6.7-r1.ebuild 6380 SHA256 1fdfd5a87069115fea59cd641a554561b89666eb05283355c19429e36ef42fdb SHA512 3923604c1fa2f53ded36ee08fca144b9683f322b5f40342a46dd25085a8af18856c7b9238020f22f4f054a31d79d22d6bec85627e0aa616956b26b1821762d05 WHIRLPOOL e07276482ec7107e5b7af5bc57581bf6e04761ae9801ceb4f649b43a30467ed6d5be22fbcaa506acbb113f675f98f5100e09b0a45d4304c5b66d1642d2a8ece6 EBUILD opendkim-2.6.8.ebuild 6380 SHA256 1251c1d8ced6ad6b0c2c51fe20699623fc5d10c41bd0b3cd73eca9b31fbd8f2a SHA512 68914959f5e82083e36e41731a2121f08e3dabd97c46849e611a09cd757017dd1f853ccaa95216ee988010634e9933767f4caae34e46cb161847d5be245ab221 WHIRLPOOL 3a3bca5c1a51066bcd91dd7e6bc29a0c364a7fdfff9c027268a11f847dcab07300e09d2d88bdd04b3fd696f4abc06275e2408f5e7535d01a5b2b6e23bd76cb63 EBUILD opendkim-2.7.0.ebuild 5980 SHA256 bba11f3060774c3e665b8c9e0a91483a817d34f6c40268214ed2f66591059c6f SHA512 bbae17c344d99a982e549feeaeb85c9fefa3739c6b35e0e05ffc26c65b92befb4e44284c24dcd17a645e61545805fbb75b57192e8afea639a6595543bd30e87d WHIRLPOOL b256873263f8b861c8c67c453c6f737eccb526cb96ff04306bea949d002c06232f792d1a26945b943cee0db5b8b014f8557a7f54897e5854ff90f67239dcda6c EBUILD opendkim-2.7.1.ebuild 5980 SHA256 1b0ab9e9a9c3ad9ee31c7a55102c0e8eab149f56dce0c1348f9a981d09044379 SHA512 3b240ae0f2e2f2716a2f206fb668d4e01eea2c0ec04dbf638c78cb5ebaaf98c15ae45540a14a8433832222fcba2b25ac12e1c3bf4e35bc73b1a858f22f5b9c7a WHIRLPOOL ce2318ef0e7104ad756cd2f6d03114a653c0763f14ecbf8d001e52a01ac6f6dfe22fc0cd02e8c305b322d1aba8cddd8644b05c8a9633aefbb2ff9c9c439bf8ad EBUILD opendkim-2.7.2.ebuild 6018 SHA256 bf833332cc51619ef502df419bd1ea00f4cfac9580c0d769ee27d03e6d9be51e SHA512 46dd38590bc4683244bf57f65bf0d796cacded1a6c8507dddd7337e4b147169e7a21428b495863de52651af89020911651dc6b9d6b891fc761a61c0f886a9de1 WHIRLPOOL 4bafda1b64e90f60ead18947ec051fa55e4b7edf1be3be0208c6d365ebc5fa040253987e4b9a965e4b053f6450d41b3708d49db0f3a570a1cf397b28846f89e2 -MISC ChangeLog 9405 SHA256 6d5ca965066dfe140364f04987bf493835114a85b7f5f0756910d984ff92df78 SHA512 03509563d0a773cccf4849c6f665a245cbc6a5c4d39717f1b149f19ff84649667928100858c1ccf06535f36f77bb5a188934697c20b8426329bb857e4ac6c253 WHIRLPOOL 40d4a742fd13bcb64f15149b4d52d67a15e230d4ef9f37cece4d65791c217824cb457fe40a9c7c44dd76836d652a2ddc2fd786dc2c59dc6ffb992c2daea06a9a +EBUILD opendkim-2.7.4.ebuild 6085 SHA256 f94750bee3106d5cb84480fc2f0c6f211b2d5d077e287d481840ece3eb37d315 SHA512 b7fef312987158eba8c28bd8704cade8911805187465acc3bebd809fa4cc0518b23790b5205eb1d6421a868b427491f1e434de9bdea11582b5d7aa94402df3ae WHIRLPOOL 6d39660ae2a899647010ce3041b2e22794228e97ca2d45b67f6d7d3f262652ab73c9fa6c05da7565028cf6afd17c3506f3920f213462a97281780480f92880fd +MISC ChangeLog 9825 SHA256 f2bcffb82f9b8d37e07a1a0a6f2ffd005a8e12f7971626d403045d888b1f9dae SHA512 73e24afa23ea5045bcac50e942cf08f2c2b7ded52165150d56b59fb41c78a04fabe52d484a31c9df8cf9e621b778e96fc6cc740da8edcc80b09e286e1ddf18f0 WHIRLPOOL 72cb953c62c555de14a512736d88f828a543b3b87dd0c3674a51ab89a7663c2c8704f3e7deaf6c747ad88e1628bc6fb078aca39fe049dfd58478f51128a3833c MISC metadata.xml 1325 SHA256 5c79e487583ffa41f2823235e61232f84c1ac18ef41b1b71150f8d32f76b82eb SHA512 ae25f27a0c0cc5c3460b150f3eb6369e34b3051984b58da6a81847b5e90edc62e91fdd8f0d428576ef73614db095dc3a415237cccc1cc3cc806f9d99ff588df5 WHIRLPOOL d8b1221d484e12c31d76a20e8a7e6e0d033e16884e7dd14f657d4383f24f8f9294bc51dea4f512896a4183f9299c2faef31e7540d95c418000245090a3a0cdfe -----BEGIN PGP SIGNATURE----- Version: GnuPG v2.0.19 (GNU/Linux) -iQIcBAEBCAAGBQJQtR/XAAoJEHfx8XVYajsfYY4QAIDsyyiqcw4SxWhWJ1TbD6GA -s9mbWcaD2WITpYShOC8PCxNVQBT6UcA08H8wfqT3HUwr7ARzp8P4Uhhqb3eAlItq -ricaKwczGEemk/lXU7MPtryxiIdhRmAO2TP35Pokzz8fVy5IsAUXR6kcedf5Lxfn -imdxuptL9Q5k7fgdAPsqiYfBND+MFRvOc7Es0EcR2zm3tr/KcFt2WElyIBpvudZI -6VHlAUuYYMIWjqQJozg4ts8cMVsCnc4+U2p5FFiF8yeDw93FVsEHgpU6lGkbxY+J -mO9F+ZKSG0aevDHWdc+bYZIaY5x94K85h2M7gwzInDD3uRA/CREEBbSCVMIobrRm -I1xSayzUVcqIzkvGQmQO2kRdRy771KlnhEwqEurJvn/GVScKPFcGSiJw6x/PsDqA -Z4zUhrKPa6LEEsuVFgaXYV0H/FArK8XZTslQHelzFDFINJVOys5J9tLH5n2I2Nay -wLcK9kbWWVj4bEcu5i5fUiAN+x9tUkQpTzn0eQvgHEDv90afv7CTyJSPiaiZnAf6 -quuXhqJI0Jzw4MTeIexF2X6hkxxWSdWhxruaDGcnsRsl0XIdMgNXiKm73v/QGUEq -R6W6vrjACEJUMvM94AflhwNzZCk9bhitSK6vwMrSRVWE92BcPC8LpWYFf/W/yNT8 -WlUpeQrAeGcPTVSoXQjc -=E4iv +iQIcBAEBCAAGBQJQ+VGpAAoJEHfx8XVYajsfVj4QAIHI6wTMXAWAyIf1v2g35fpX +u+cp9D9GaAcJq4gtPz5H2IurJCkd6IeyF8/Oh/EO3+qUB+J8CRr/Z6fKVk2tgTo9 +i13UvQJbenYu2/jvh+ZLWrDnn4aytCbIdBf0UjvJiguRxIuVwxg6Capsh85bL/xv +uQS8CfFomi6+nPl/gTaDq5a6x7KErJn8WB5hF6Byyitlu4kdojXxMJAWTAiTtTpP +C1umKXYdBNtuASbhGKAkOE2Q7ZLgufN8di+F50i+m1UED4Ruunu0C0wyGUBlBukA +WyR4SeFmmzshR5PjAwEqVErRgwMwZYluvFXJKA8iCyrpQwmon4g87V0QeBJLHuK7 +RY7ofYDVsw9TJCZiNISts4chEdsvVTKjG16DtbTlGZ8ED2vm1szTup42xBV0a1OL +yvvfKe1+AtX+Kt2+nyXPWZ2T8zRk9nw9RgMoXlwuqItfzdOwrEJ/bFBTnIUWSRiZ +HDf6DEbPv7ShFkngmFaUMPSh4X8p3fri4h4QOKR6HLnIlY+TZWv6PJh8ySttYsHs +nYQL2tq0Q5TeO9cSyKsI+vNsGhHryiBxpOz0sxhH/wPacby+h7eRopRC3IjMfRCV +IzcGpdwHgZgZbOw2XsMLDEwAe13Q6IUwgHF9AsJCzH5s6fpMRR/UBDqFi3iRf96w +MytYfTrNeO4G+neuIFDl +=hrql -----END PGP SIGNATURE----- diff --git a/mail-filter/opendkim/files/opendkim-2.7.4-DisableCryptoInit.patch b/mail-filter/opendkim/files/opendkim-2.7.4-DisableCryptoInit.patch new file mode 100644 index 000000000000..deb9476af2eb --- /dev/null +++ b/mail-filter/opendkim/files/opendkim-2.7.4-DisableCryptoInit.patch @@ -0,0 +1,109 @@ +From 23548465adccd682ba9ecba58025f852d2353bad Mon Sep 17 00:00:00 2001 +From: Murray S. Kucherawy <msk@trusteddomain.org> +Date: Thu, 10 Jan 2013 00:49:11 -0800 +Subject: [PATCH] Fix bug #SF3531477: Add (hopefully temporary) configuration option + "DisableCryptoInit" so that opendkim's initialization of the crypto library + doesn't conflict with the same work done by other libraries. Reported by + Quanah Gibson-Mount. + +--- + opendkim/opendkim-config.h | 1 + + opendkim/opendkim-crypto.c | 7 +++++-- + opendkim/opendkim.c | 17 +++++++++++++---- + opendkim/opendkim.conf.5.in | 6 ++++++ + 5 files changed, 29 insertions(+), 6 deletions(-) + +diff --git a/opendkim/opendkim-config.h b/opendkim/opendkim-config.h +index dfc3606..0d40bb9 100644 +--- a/opendkim/opendkim-config.h ++++ b/opendkim/opendkim-config.h +@@ -56,6 +56,7 @@ struct configdef dkimf_config[] = + { "Diagnostics", CONFIG_TYPE_BOOLEAN, FALSE }, + { "DiagnosticDirectory", CONFIG_TYPE_STRING, FALSE }, + { "DisableADSP", CONFIG_TYPE_BOOLEAN, FALSE }, ++ { "DisableCryptoInit", CONFIG_TYPE_BOOLEAN, FALSE }, + #ifdef _FFR_DKIM_REPUTATION + { "DKIMReputationFail", CONFIG_TYPE_INTEGER, FALSE }, + { "DKIMReputationPass", CONFIG_TYPE_INTEGER, FALSE }, +diff --git a/opendkim/opendkim-crypto.c b/opendkim/opendkim-crypto.c +index 2ea9b44..fb42fd0 100644 +--- a/opendkim/opendkim-crypto.c ++++ b/opendkim/opendkim-crypto.c +@@ -121,9 +121,12 @@ dkimf_crypto_init(void) + void + dkimf_crypto_free(void) + { +- (void) gnutls_global_deinit(); ++ if (crypto_init_done) ++ { ++ (void) gnutls_global_deinit(); + +- (void) pthread_key_delete(logkey); ++ (void) pthread_key_delete(logkey); ++ } + + return; + } +diff --git a/opendkim/opendkim.c b/opendkim/opendkim.c +index 9863d30..3fa0a60 100644 +--- a/opendkim/opendkim.c ++++ b/opendkim/opendkim.c +@@ -209,6 +209,7 @@ struct lua_global + + struct dkimf_config + { ++ _Bool conf_disablecryptoinit; /* initialize SSL libs? */ + #ifdef USE_LDAP + _Bool conf_softstart; /* do LDAP soft starts */ + #endif /* USE_LDAP */ +@@ -6414,6 +6415,10 @@ dkimf_config_load(struct config *data, struct dkimf_config *conf, + &conf->conf_noadsp, + sizeof conf->conf_noadsp); + ++ (void) config_get(data, "DisableCryptoInit", ++ &conf->conf_disablecryptoinit, ++ sizeof conf->conf_disablecryptoinit); ++ + str = NULL; + (void) config_get(data, "ADSPAction", &str, sizeof str); + if (str != NULL) +@@ -17503,11 +17508,15 @@ main(int argc, char **argv) + } + + /* initialize libcrypto mutexes */ +- status = dkimf_crypto_init(); +- if (status != 0) ++ if (!curconf->conf_disablecryptoinit) + { +- fprintf(stderr, "%s: error initializing crypto library: %s\n", +- progname, strerror(status)); ++ status = dkimf_crypto_init(); ++ if (status != 0) ++ { ++ fprintf(stderr, ++ "%s: error initializing crypto library: %s\n", ++ progname, strerror(status)); ++ } + } + + if ((curconf->conf_mode & DKIMF_MODE_VERIFIER) != 0 && +diff --git a/opendkim/opendkim.conf.5.in b/opendkim/opendkim.conf.5.in +index a963e73..2c20549 100644 +--- a/opendkim/opendkim.conf.5.in ++++ b/opendkim/opendkim.conf.5.in +@@ -236,6 +236,12 @@ If set, suppresses Author Domain Signing Practices (ADSP) checks, which + require multiple additional DNS queries. + + .TP ++.I DisableCryptoInit (Boolean) ++If set, skips initialization of the SSL library initialization steps, which ++are normaly required in multi-threaded environments. This assumes some other ++library opendkim is using will do the required initialization and shutdown. ++ ++.TP + .I DKIMReputationFail (integer) + If the reputation returned by the DNS reputation service exceeds this + value then the result "x-dkim-rep" is set to "fail". +-- +1.7.4.1 + diff --git a/mail-filter/opendkim/files/opendkim-2.7.4-bsd.patch b/mail-filter/opendkim/files/opendkim-2.7.4-bsd.patch new file mode 100644 index 000000000000..594ef4bf4a17 --- /dev/null +++ b/mail-filter/opendkim/files/opendkim-2.7.4-bsd.patch @@ -0,0 +1,558 @@ +diff -Nru opendkim-2.7.4/configure.ac opendkim-2.7.4/configure.ac +--- opendkim-2.7.4/configure.ac 2013-01-18 06:47:47.000000000 +0000 ++++ opendkim-2.7.4/configure.ac 2013-01-18 06:47:47.000000000 +0000 +@@ -182,6 +182,9 @@ + + AC_CHECK_FUNCS([dup2 endpwent getcwd gethostname gethostbyname getaddrinfo gethostbyname2 gettimeofday isascii memchr memmove memset regcomp select socket strcasecmp strchr strdup strerror strncasecmp strrchr strstr strtol strtoul strtoull]) + ++bsdstrl_h_found="no" ++AC_CHECK_HEADERS([bsd/string.h], [bsdstrl_h_found="yes"]) ++ + strl_found="no" + libstrl_found="no" + strl_h_found="no" +@@ -218,11 +221,11 @@ + saved_LIBS="$LIBS" + LIBS="" + AC_SEARCH_LIBS([strlcat], +- [strl], ++ [bsd strl], + [libstrl_found="yes"], + [strl_found="no"]) + AC_SEARCH_LIBS([strlcpy], +- [strl], ++ [bsd strl], + [libstrl_found="yes"], + [strl_found="no"]) + STRL_LIBS="$LIBS" +@@ -236,13 +239,18 @@ + fi + # we need to include <strl.h> if: + # (a) strlcat and strlcpy weren't found, since we'll be rolling our own; OR +-# (b) an installed strl.h was found +-if test x"$strl_h_found" = x"yes" -o \( x"$strl_found" = x"no" -a x"$libstrl_found" = x"no" \) ++# (b) an installed strl.h was found and no installed bsd/string.h was found ++if test x"$strl_h_found" = x"yes" -o \( x"$strl_found" = x"no" -a x"$libstrl_found" = x"no" \) -a x"$bsdstrl_h_found" = x"no" + then + AC_DEFINE([USE_STRL_H], 1, + [Define to 1 if you need to include <strl.h> to get the `strlcat()' and `strlcpy()' functions.]) + fi + ++if test x"$bsdstrl_h_found" = x"yes" ++then ++ AC_DEFINE([USE_BSD_H], 1, ++ [Define to 1 if you need to include <bsd/string.h> to get the `strlcat()' and `strlcpy()' functions.]) ++fi + # + # Checks for structure members + # +diff -Nru opendkim-2.7.4/libopendkim/dkim-cache.c opendkim-2.7.4/libopendkim/dkim-cache.c +--- opendkim-2.7.4/libopendkim/dkim-cache.c 2012-11-30 01:32:17.000000000 +0000 ++++ opendkim-2.7.4/libopendkim/dkim-cache.c 2013-01-18 06:47:47.000000000 +0000 +@@ -27,6 +27,11 @@ + #include "dkim-internal.h" + #include "dkim-cache.h" + ++/* libbsd if found */ ++#ifdef USE_BSD_H ++# include <bsd/string.h> ++#endif /* USE_BSD_H */ ++ + /* libstrl if needed */ + #ifdef USE_STRL_H + # include <strl.h> +diff -Nru opendkim-2.7.4/libopendkim/dkim-canon.c opendkim-2.7.4/libopendkim/dkim-canon.c +--- opendkim-2.7.4/libopendkim/dkim-canon.c 2012-11-30 01:32:17.000000000 +0000 ++++ opendkim-2.7.4/libopendkim/dkim-canon.c 2013-01-18 06:47:47.000000000 +0000 +@@ -45,6 +45,11 @@ + #include "dkim-util.h" + #include "util.h" + ++/* libbsd if found */ ++#ifdef USE_BSD_H ++# include <bsd/string.h> ++#endif /* USE_BSD_H */ ++ + /* libstrl if needed */ + #ifdef USE_STRL_H + # include <strl.h> +diff -Nru opendkim-2.7.4/libopendkim/dkim-keys.c opendkim-2.7.4/libopendkim/dkim-keys.c +--- opendkim-2.7.4/libopendkim/dkim-keys.c 2012-11-30 01:32:17.000000000 +0000 ++++ opendkim-2.7.4/libopendkim/dkim-keys.c 2013-01-18 06:47:47.000000000 +0000 +@@ -29,6 +29,11 @@ + #include "dkim-test.h" + #include "util.h" + ++/* libbsd if found */ ++#ifdef USE_BSD_H ++# include <bsd/string.h> ++#endif /* USE_BSD_H */ ++ + /* libstrl if needed */ + #ifdef USE_STRL_H + # include <strl.h> +diff -Nru opendkim-2.7.4/libopendkim/dkim-policy.c opendkim-2.7.4/libopendkim/dkim-policy.c +--- opendkim-2.7.4/libopendkim/dkim-policy.c 2012-11-30 01:32:17.000000000 +0000 ++++ opendkim-2.7.4/libopendkim/dkim-policy.c 2013-01-18 06:47:47.000000000 +0000 +@@ -34,6 +34,11 @@ + #include "dkim-test.h" + #include "util.h" + ++/* libbsd if found */ ++#ifdef USE_BSD_H ++# include <bsd/string.h> ++#endif /* USE_BSD_H */ ++ + /* libstrl if needed */ + #ifdef USE_STRL_H + # include <strl.h> +diff -Nru opendkim-2.7.4/libopendkim/dkim-test.c opendkim-2.7.4/libopendkim/dkim-test.c +--- opendkim-2.7.4/libopendkim/dkim-test.c 2012-11-30 01:32:17.000000000 +0000 ++++ opendkim-2.7.4/libopendkim/dkim-test.c 2013-01-18 06:47:47.000000000 +0000 +@@ -36,6 +36,11 @@ + #include "dkim-util.h" + #include "dkim-test.h" + ++/* libbsd if found */ ++#ifdef USE_BSD_H ++# include <bsd/string.h> ++#endif /* USE_BSD_H */ ++ + /* libstrl if needed */ + #ifdef USE_STRL_H + # include <strl.h> +diff -Nru opendkim-2.7.4/libopendkim/dkim.c opendkim-2.7.4/libopendkim/dkim.c +--- opendkim-2.7.4/libopendkim/dkim.c 2012-11-30 01:32:17.000000000 +0000 ++++ opendkim-2.7.4/libopendkim/dkim.c 2013-01-18 06:47:47.000000000 +0000 +@@ -92,6 +92,11 @@ + #include "util.h" + #include "base64.h" + ++/* libbsd if found */ ++#ifdef USE_BSD_H ++# include <bsd/string.h> ++#endif /* USE_BSD_H */ ++ + /* libstrl if needed */ + #ifdef USE_STRL_H + # include <strl.h> +diff -Nru opendkim-2.7.4/libopendkim/tests/t-test122.c opendkim-2.7.4/libopendkim/tests/t-test122.c +--- opendkim-2.7.4/libopendkim/tests/t-test122.c 2012-11-30 01:32:17.000000000 +0000 ++++ opendkim-2.7.4/libopendkim/tests/t-test122.c 2013-01-18 06:47:47.000000000 +0000 +@@ -22,6 +22,11 @@ + #include "../dkim.h" + #include "t-testdata.h" + ++/* libbsd if found */ ++#ifdef USE_BSD_H ++# include <bsd/string.h> ++#endif /* USE_BSD_H */ ++ + /* libstrl if needed */ + #ifdef USE_STRL_H + # include <strl.h> +diff -Nru opendkim-2.7.4/libopendkim/tests/t-test123.c opendkim-2.7.4/libopendkim/tests/t-test123.c +--- opendkim-2.7.4/libopendkim/tests/t-test123.c 2012-11-30 01:32:17.000000000 +0000 ++++ opendkim-2.7.4/libopendkim/tests/t-test123.c 2013-01-18 06:47:47.000000000 +0000 +@@ -22,6 +22,11 @@ + #include "../dkim.h" + #include "t-testdata.h" + ++/* libbsd if found */ ++#ifdef USE_BSD_H ++# include <bsd/string.h> ++#endif /* USE_BSD_H */ ++ + /* libstrl if needed */ + #ifdef USE_STRL_H + # include <strl.h> +diff -Nru opendkim-2.7.4/libopendkim/tests/t-test127.c opendkim-2.7.4/libopendkim/tests/t-test127.c +--- opendkim-2.7.4/libopendkim/tests/t-test127.c 2012-11-30 01:32:17.000000000 +0000 ++++ opendkim-2.7.4/libopendkim/tests/t-test127.c 2013-01-18 06:47:47.000000000 +0000 +@@ -22,6 +22,11 @@ + #include "../dkim.h" + #include "t-testdata.h" + ++/* libbsd if found */ ++#ifdef USE_BSD_H ++# include <bsd/string.h> ++#endif /* USE_BSD_H */ ++ + /* libstrl if needed */ + #ifdef USE_STRL_H + # include <strl.h> +diff -Nru opendkim-2.7.4/libopendkim/tests/t-test131.c opendkim-2.7.4/libopendkim/tests/t-test131.c +--- opendkim-2.7.4/libopendkim/tests/t-test131.c 2012-11-30 01:32:17.000000000 +0000 ++++ opendkim-2.7.4/libopendkim/tests/t-test131.c 2013-01-18 06:47:47.000000000 +0000 +@@ -23,6 +23,11 @@ + #include "../dkim.h" + #include "t-testdata.h" + ++/* libbsd if found */ ++#ifdef USE_BSD_H ++# include <bsd/string.h> ++#endif /* USE_BSD_H */ ++ + /* libstrl if needed */ + #ifdef USE_STRL_H + # include <strl.h> +diff -Nru opendkim-2.7.4/libopendkim/tests/t-test136.c opendkim-2.7.4/libopendkim/tests/t-test136.c +--- opendkim-2.7.4/libopendkim/tests/t-test136.c 2012-11-30 01:32:17.000000000 +0000 ++++ opendkim-2.7.4/libopendkim/tests/t-test136.c 2013-01-18 06:47:47.000000000 +0000 +@@ -22,6 +22,11 @@ + #include "../dkim.h" + #include "t-testdata.h" + ++/* libbsd if found */ ++#ifdef USE_BSD_H ++# include <bsd/string.h> ++#endif /* USE_BSD_H */ ++ + /* libstrl if needed */ + #ifdef USE_STRL_H + # include <strl.h> +diff -Nru opendkim-2.7.4/libopendkim/tests/t-test142.c opendkim-2.7.4/libopendkim/tests/t-test142.c +--- opendkim-2.7.4/libopendkim/tests/t-test142.c 2012-11-30 01:32:17.000000000 +0000 ++++ opendkim-2.7.4/libopendkim/tests/t-test142.c 2013-01-18 06:47:47.000000000 +0000 +@@ -22,6 +22,11 @@ + #include "../dkim.h" + #include "t-testdata.h" + ++/* libbsd if found */ ++#ifdef USE_BSD_H ++# include <bsd/string.h> ++#endif /* USE_BSD_H */ ++ + /* libstrl if needed */ + #ifdef USE_STRL_H + # include <strl.h> +diff -Nru opendkim-2.7.4/libopendkim/tests/t-test42.c opendkim-2.7.4/libopendkim/tests/t-test42.c +--- opendkim-2.7.4/libopendkim/tests/t-test42.c 2012-11-30 01:32:17.000000000 +0000 ++++ opendkim-2.7.4/libopendkim/tests/t-test42.c 2013-01-18 06:47:47.000000000 +0000 +@@ -26,6 +26,11 @@ + #include "../dkim.h" + #include "t-testdata.h" + ++/* libbsd if found */ ++#ifdef USE_BSD_H ++# include <bsd/string.h> ++#endif /* USE_BSD_H */ ++ + /* libstrl if needed */ + #ifdef USE_STRL_H + # include <strl.h> +diff -Nru opendkim-2.7.4/libopendkim/tests/t-test55.c opendkim-2.7.4/libopendkim/tests/t-test55.c +--- opendkim-2.7.4/libopendkim/tests/t-test55.c 2012-11-30 01:32:17.000000000 +0000 ++++ opendkim-2.7.4/libopendkim/tests/t-test55.c 2013-01-18 06:47:47.000000000 +0000 +@@ -22,6 +22,11 @@ + #include "../dkim.h" + #include "t-testdata.h" + ++/* libbsd if found */ ++#ifdef USE_BSD_H ++# include <bsd/string.h> ++#endif /* USE_BSD_H */ ++ + /* libstrl if needed */ + #ifdef USE_STRL_H + # include <strl.h> +diff -Nru opendkim-2.7.4/libopendkim/tests/t-test56.c opendkim-2.7.4/libopendkim/tests/t-test56.c +--- opendkim-2.7.4/libopendkim/tests/t-test56.c 2012-11-30 01:32:17.000000000 +0000 ++++ opendkim-2.7.4/libopendkim/tests/t-test56.c 2013-01-18 06:47:47.000000000 +0000 +@@ -22,6 +22,11 @@ + #include "../dkim.h" + #include "t-testdata.h" + ++/* libbsd if found */ ++#ifdef USE_BSD_H ++# include <bsd/string.h> ++#endif /* USE_BSD_H */ ++ + /* libstrl if needed */ + #ifdef USE_STRL_H + # include <strl.h> +diff -Nru opendkim-2.7.4/libopendkim/tests/t-test57.c opendkim-2.7.4/libopendkim/tests/t-test57.c +--- opendkim-2.7.4/libopendkim/tests/t-test57.c 2012-11-30 01:32:17.000000000 +0000 ++++ opendkim-2.7.4/libopendkim/tests/t-test57.c 2013-01-18 06:47:47.000000000 +0000 +@@ -24,6 +24,11 @@ + #include "../dkim.h" + #include "t-testdata.h" + ++/* libbsd if found */ ++#ifdef USE_BSD_H ++# include <bsd/string.h> ++#endif /* USE_BSD_H */ ++ + /* libstrl if needed */ + #ifdef USE_STRL_H + # include <strl.h> +diff -Nru opendkim-2.7.4/libopendkim/tests/t-test73.c opendkim-2.7.4/libopendkim/tests/t-test73.c +--- opendkim-2.7.4/libopendkim/tests/t-test73.c 2012-11-30 01:32:17.000000000 +0000 ++++ opendkim-2.7.4/libopendkim/tests/t-test73.c 2013-01-18 06:47:47.000000000 +0000 +@@ -27,6 +27,11 @@ + #include "../dkim.h" + #include "t-testdata.h" + ++/* libbsd if found */ ++#ifdef USE_BSD_H ++# include <bsd/string.h> ++#endif /* USE_BSD_H */ ++ + /* libstrl if needed */ + #ifdef USE_STRL_H + # include <strl.h> +diff -Nru opendkim-2.7.4/libopendkim/tests/t-test84.c opendkim-2.7.4/libopendkim/tests/t-test84.c +--- opendkim-2.7.4/libopendkim/tests/t-test84.c 2012-11-30 01:32:17.000000000 +0000 ++++ opendkim-2.7.4/libopendkim/tests/t-test84.c 2013-01-18 06:47:47.000000000 +0000 +@@ -26,6 +26,11 @@ + #include "../dkim.h" + #include "t-testdata.h" + ++/* libbsd if found */ ++#ifdef USE_BSD_H ++# include <bsd/string.h> ++#endif /* USE_BSD_H */ ++ + /* libstrl if needed */ + #ifdef USE_STRL_H + # include <strl.h> +diff -Nru opendkim-2.7.4/libopendkim/tests/t-test86.c opendkim-2.7.4/libopendkim/tests/t-test86.c +--- opendkim-2.7.4/libopendkim/tests/t-test86.c 2012-11-30 01:32:17.000000000 +0000 ++++ opendkim-2.7.4/libopendkim/tests/t-test86.c 2013-01-18 06:47:47.000000000 +0000 +@@ -26,6 +26,11 @@ + #include "../dkim.h" + #include "t-testdata.h" + ++/* libbsd if found */ ++#ifdef USE_BSD_H ++# include <bsd/string.h> ++#endif /* USE_BSD_H */ ++ + /* libstrl if needed */ + #ifdef USE_STRL_H + # include <strl.h> +diff -Nru opendkim-2.7.4/libopendkim/tests/t-test88.c opendkim-2.7.4/libopendkim/tests/t-test88.c +--- opendkim-2.7.4/libopendkim/tests/t-test88.c 2012-11-30 01:32:17.000000000 +0000 ++++ opendkim-2.7.4/libopendkim/tests/t-test88.c 2013-01-18 06:47:47.000000000 +0000 +@@ -22,6 +22,11 @@ + #include "../dkim.h" + #include "t-testdata.h" + ++/* libbsd if found */ ++#ifdef USE_BSD_H ++# include <bsd/string.h> ++#endif /* USE_BSD_H */ ++ + /* libstrl if needed */ + #ifdef USE_STRL_H + # include <strl.h> +diff -Nru opendkim-2.7.4/libopendkim/util.c opendkim-2.7.4/libopendkim/util.c +--- opendkim-2.7.4/libopendkim/util.c 2012-11-30 01:32:17.000000000 +0000 ++++ opendkim-2.7.4/libopendkim/util.c 2013-01-18 06:47:47.000000000 +0000 +@@ -27,6 +27,11 @@ + #include "dkim-internal.h" + #include "util.h" + ++/* libbsd if found */ ++#ifdef USE_BSD_H ++# include <bsd/string.h> ++#endif /* USE_BSD_H */ ++ + /* libstrl if needed */ + #ifdef USE_STRL_H + # include <strl.h> +diff -Nru opendkim-2.7.4/miltertest/miltertest.c opendkim-2.7.4/miltertest/miltertest.c +--- opendkim-2.7.4/miltertest/miltertest.c 2013-01-18 06:47:47.000000000 +0000 ++++ opendkim-2.7.4/miltertest/miltertest.c 2013-01-18 06:47:47.000000000 +0000 +@@ -38,6 +38,11 @@ + /* libopendkim includes */ + #include <dkim.h> + ++/* libbsd if found */ ++#ifdef USE_BSD_H ++# include <bsd/string.h> ++#endif /* USE_BSD_H */ ++ + /* libstrl if needed */ + #ifdef USE_STRL_H + # include <strl.h> +diff -Nru opendkim-2.7.4/opendkim/config.c opendkim-2.7.4/opendkim/config.c +--- opendkim-2.7.4/opendkim/config.c 2013-01-07 01:07:30.000000000 +0000 ++++ opendkim-2.7.4/opendkim/config.c 2013-01-18 06:47:47.000000000 +0000 +@@ -23,6 +23,11 @@ + /* libopendkim includes */ + #include <dkim.h> + ++/* libbsd if found */ ++#ifdef USE_BSD_H ++# include <bsd/string.h> ++#endif /* USE_BSD_H */ ++ + /* libstrl if needed */ + #ifdef USE_STRL_H + # include <strl.h> +diff -Nru opendkim-2.7.4/opendkim/flowrate.c opendkim-2.7.4/opendkim/flowrate.c +--- opendkim-2.7.4/opendkim/flowrate.c 2012-11-30 01:32:17.000000000 +0000 ++++ opendkim-2.7.4/opendkim/flowrate.c 2013-01-18 06:47:47.000000000 +0000 +@@ -16,6 +16,11 @@ + #include <string.h> + #include <stdlib.h> + ++/* libbsd if found */ ++#ifdef USE_BSD_H ++# include <bsd/string.h> ++#endif /* USE_BSD_H */ ++ + /* libstrl if needed */ + #ifdef USE_STRL_H + # include <strl.h> +diff -Nru opendkim-2.7.4/opendkim/opendkim-ar.c opendkim-2.7.4/opendkim/opendkim-ar.c +--- opendkim-2.7.4/opendkim/opendkim-ar.c 2013-01-07 01:07:30.000000000 +0000 ++++ opendkim-2.7.4/opendkim/opendkim-ar.c 2013-01-18 06:47:47.000000000 +0000 +@@ -22,6 +22,11 @@ + # include <sysexits.h> + #endif /* ARTEST */ + ++/* libbsd if found */ ++#ifdef USE_BSD_H ++# include <bsd/string.h> ++#endif /* USE_BSD_H */ ++ + /* libstrl if needed */ + #ifdef USE_STRL_H + # include <strl.h> +diff -Nru opendkim-2.7.4/opendkim/opendkim-db.c opendkim-2.7.4/opendkim/opendkim-db.c +--- opendkim-2.7.4/opendkim/opendkim-db.c 2012-11-30 01:32:17.000000000 +0000 ++++ opendkim-2.7.4/opendkim/opendkim-db.c 2013-01-18 06:47:47.000000000 +0000 +@@ -37,6 +37,11 @@ + /* libopendkim includes */ + #include <dkim.h> + ++/* libbsd if found */ ++#ifdef USE_BSD_H ++# include <bsd/string.h> ++#endif /* USE_BSD_H */ ++ + /* libstrl if needed */ + #ifdef USE_STRL_H + # include <strl.h> +diff -Nru opendkim-2.7.4/opendkim/opendkim-spam.c opendkim-2.7.4/opendkim/opendkim-spam.c +--- opendkim-2.7.4/opendkim/opendkim-spam.c 2012-11-30 01:32:17.000000000 +0000 ++++ opendkim-2.7.4/opendkim/opendkim-spam.c 2013-01-18 06:47:47.000000000 +0000 +@@ -24,6 +24,11 @@ + # include <odbx.h> + #endif /* USE_ODBX */ + ++/* libbsd if found */ ++#ifdef USE_BSD_H ++# include <bsd/string.h> ++#endif /* USE_BSD_H */ ++ + /* libstrl if needed */ + #ifdef USE_STRL_H + # include <strl.h> +diff -Nru opendkim-2.7.4/opendkim/opendkim-testkey.c opendkim-2.7.4/opendkim/opendkim-testkey.c +--- opendkim-2.7.4/opendkim/opendkim-testkey.c 2012-11-30 01:32:17.000000000 +0000 ++++ opendkim-2.7.4/opendkim/opendkim-testkey.c 2013-01-18 06:47:47.000000000 +0000 +@@ -39,6 +39,11 @@ + #include <dkim.h> + #include <dkim-test.h> + ++/* libbsd if found */ ++#ifdef USE_BSD_H ++# include <bsd/string.h> ++#endif /* USE_BSD_H */ ++ + /* libstrl if needed */ + #ifdef USE_STRL_H + # include <strl.h> +diff -Nru opendkim-2.7.4/opendkim/opendkim.c opendkim-2.7.4/opendkim/opendkim.c +--- opendkim-2.7.4/opendkim/opendkim.c 2013-01-07 01:07:30.000000000 +0000 ++++ opendkim-2.7.4/opendkim/opendkim.c 2013-01-18 06:47:47.000000000 +0000 +@@ -98,6 +98,11 @@ + # include "vbr.h" + #endif /* _FFR_VBR */ + ++/* libbsd if found */ ++#ifdef USE_BSD_H ++# include <bsd/string.h> ++#endif /* USE_BSD_H */ ++ + /* libstrl if needed */ + #ifdef USE_STRL_H + # include <strl.h> +diff -Nru opendkim-2.7.4/opendkim/reputation.c opendkim-2.7.4/opendkim/reputation.c +--- opendkim-2.7.4/opendkim/reputation.c 2012-11-30 01:32:17.000000000 +0000 ++++ opendkim-2.7.4/opendkim/reputation.c 2013-01-18 06:47:47.000000000 +0000 +@@ -22,6 +22,11 @@ + /* libopendkim includes */ + #include <dkim.h> + ++/* libbsd if found */ ++#ifdef USE_BSD_H ++# include <bsd/string.h> ++#endif /* USE_BSD_H */ ++ + /* libstrl if needed */ + #ifdef USE_STRL_H + # include <strl.h> +diff -Nru opendkim-2.7.4/opendkim/stats.c opendkim-2.7.4/opendkim/stats.c +--- opendkim-2.7.4/opendkim/stats.c 2012-11-30 01:32:17.000000000 +0000 ++++ opendkim-2.7.4/opendkim/stats.c 2013-01-18 06:47:47.000000000 +0000 +@@ -41,6 +41,11 @@ + /* libopendkim includes */ + #include <dkim.h> + ++/* libbsd if found */ ++#ifdef USE_BSD_H ++# include <bsd/string.h> ++#endif /* USE_BSD_H */ ++ + /* libstrl if needed */ + #ifdef USE_STRL_H + # include <strl.h> +diff -Nru opendkim-2.7.4/opendkim/test.c opendkim-2.7.4/opendkim/test.c +--- opendkim-2.7.4/opendkim/test.c 2012-11-30 01:32:17.000000000 +0000 ++++ opendkim-2.7.4/opendkim/test.c 2013-01-18 06:47:47.000000000 +0000 +@@ -22,6 +22,11 @@ + #include "build-config.h" + #include <dkim.h> + ++/* libbsd if found */ ++#ifdef USE_BSD_H ++# include <bsd/string.h> ++#endif /* USE_BSD_H */ ++ + /* libstrl if needed */ + #ifdef USE_STRL_H + # include <strl.h> +diff -Nru opendkim-2.7.4/opendkim/util.c opendkim-2.7.4/opendkim/util.c +--- opendkim-2.7.4/opendkim/util.c 2012-11-30 01:32:17.000000000 +0000 ++++ opendkim-2.7.4/opendkim/util.c 2013-01-18 06:47:47.000000000 +0000 +@@ -47,6 +47,11 @@ + # endif /* SOLARIS <= 20600 */ + #endif /* SOLARIS */ + ++/* libbsd if found */ ++#ifdef USE_BSD_H ++# include <bsd/string.h> ++#endif /* USE_BSD_H */ ++ + /* libstrl if needed */ + #ifdef USE_STRL_H + # include <strl.h> +diff -Nru opendkim-2.7.4/stats/opendkim-importstats.c opendkim-2.7.4/stats/opendkim-importstats.c +--- opendkim-2.7.4/stats/opendkim-importstats.c 2012-11-30 01:32:17.000000000 +0000 ++++ opendkim-2.7.4/stats/opendkim-importstats.c 2013-01-18 06:47:47.000000000 +0000 +@@ -23,6 +23,11 @@ + /* OpenDKIM includes */ + #include "stats.h" + ++/* libbsd if found */ ++#ifdef USE_BSD_H ++# include <bsd/string.h> ++#endif /* USE_BSD_H */ ++ + /* libstrl if needed */ + #ifdef USE_STRL_H + # include <strl.h> diff --git a/mail-filter/opendkim/files/opendkim.init.r3 b/mail-filter/opendkim/files/opendkim.init.r3 new file mode 100644 index 000000000000..cade3a41449e --- /dev/null +++ b/mail-filter/opendkim/files/opendkim.init.r3 @@ -0,0 +1,56 @@ +#!/sbin/runscript +# Copyright 1999-2013 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/mail-filter/opendkim/files/opendkim.init.r3,v 1.1 2013/01/18 13:44:00 eras Exp $ + +CONFFILE=/etc/opendkim/${SVCNAME}.conf + +depend() { + use dns logger net + before mta +} + +check_cfg() { + + PIDFILE=$(sed -ne 's/^[[:space:]]*PidFile[[:space:]]\+//p' "${CONFFILE}") + local PIDDIR="${PIDFILE%/*}" + if [ ! -d "${PIDDIR}" ] ; then + checkpath -q -d -o milter:milter -m 0755 "${PIDDIR}" || return 1 + fi + if [ ! -f "${CONFFILE}" ] ; then + eerror "Configuration file ${CONFFILE} is missing" + return 1 + fi + if [ -z "${PIDFILE}" ] ; then + eerror "Configuration file needs PidFile setting - recommend adding 'PidFile /var/run/opendkim/${SVCNAME}.pid' to ${CONFFILE}" + return 1 + fi + + if egrep -q '^[[:space:]]*Background[[:space:]]+no' "${CONFFILE}" ; then + eerror "${SVCNAME} service cannot run with Background key set to yes!" + return 1 + fi +} + +start() { + check_cfg || return 1 + + # Remove stalled Unix socket if no other process is using it + local UNIX_SOCKET=$(sed -ne 's/^[[:space:]]*Socket[[:space:]]\+\(unix\|local\)://p' "${CONFFILE}") + + if [ -S "${UNIX_SOCKET}" ] && ! fuser -s "${UNIX_SOCKET}"; then + rm "${UNIX_SOCKET}" + fi + + ebegin "Starting OpenDKIM" + start-stop-daemon --start --pidfile "${PIDFILE}" \ + --exec /usr/sbin/opendkim -- -x "${CONFFILE}" + eend $? +} + +stop() { + check_cfg || return 1 + ebegin "Stopping OpenDKIM" + start-stop-daemon --stop --pidfile "${PIDFILE}" + eend $? +} diff --git a/mail-filter/opendkim/opendkim-2.7.4.ebuild b/mail-filter/opendkim/opendkim-2.7.4.ebuild new file mode 100644 index 000000000000..929affd5fa80 --- /dev/null +++ b/mail-filter/opendkim/opendkim-2.7.4.ebuild @@ -0,0 +1,191 @@ +# Copyright 1999-2013 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/mail-filter/opendkim/opendkim-2.7.4.ebuild,v 1.1 2013/01/18 13:44:00 eras Exp $ + +EAPI=4 +inherit eutils db-use autotools user + +# for betas +#MY_P=${P/_b/.B} +#S=${WORKDIR}/${PN}-2.0.0 +#SRC_URI="mirror://sourceforge/opendkim/${MY_P}.tar.gz" + +DESCRIPTION="A milter-based application to provide DKIM signing and verification" +HOMEPAGE="http://opendkim.org" +SRC_URI="mirror://sourceforge/opendkim/${P}.tar.gz" + +LICENSE="Sendmail-Open-Source BSD" +SLOT="0" +KEYWORDS="~amd64 ~x86" +IUSE="+berkdb gnutls ldap lua opendbx poll sasl +ssl static-libs unbound" + +DEPEND="|| ( mail-filter/libmilter mail-mta/sendmail ) + dev-libs/libbsd + ssl? ( >=dev-libs/openssl-0.9.8 ) + berkdb? ( >=sys-libs/db-3.2 ) + opendbx? ( >=dev-db/opendbx-1.4.0 ) + lua? ( dev-lang/lua ) + ldap? ( net-nds/openldap ) + sasl? ( dev-libs/cyrus-sasl ) + unbound? ( >=net-dns/unbound-1.4.1 net-dns/dnssec-root ) + !unbound? ( net-libs/ldns ) + gnutls? ( >=net-libs/gnutls-2.11.7 )" + +RDEPEND="${DEPEND} + sys-process/psmisc" + +REQUIRED_USE="sasl? ( ldap )" + +pkg_setup() { + enewgroup milter + # mail-milter/spamass-milter creates milter user with this home directory + # For consistency reasons, milter user must be created here with this home directory + # even though this package doesn't need a home directory for this user (#280571) + enewuser milter -1 -1 /var/lib/milter milter +} + +src_prepare() { + sed -i -e 's:/var/db/dkim:/etc/opendkim:g' \ + -e 's:/var/db/opendkim:/var/lib/opendkim:g' \ + -e 's:/etc/mail:/etc/opendkim:g' \ + -e 's:mailnull:milter:g' \ + -e 's:^#[[:space:]]*PidFile.*:PidFile /var/run/opendkim/opendkim.pid:' \ + opendkim/opendkim.conf.sample opendkim/opendkim.conf.simple.in \ + stats/opendkim-reportstats || die + + sed -i -e 's:dist_doc_DATA:dist_html_DATA:' libopendkim/docs/Makefile.am \ + || die + + # don't go over the sock length and fail + sed -i -e '/^sock/s/t-sign-ss-macro-value-file.sock/t-s-s-m-v-f.sock/' \ + opendkim/tests/t-sign-ss-macro-value-file.lua || die + + epatch "${FILESDIR}/${P}-bsd.patch" + epatch "${FILESDIR}/${P}-DisableCryptoInit.patch" + eautoreconf +} + +src_configure() { + local myconf + if use berkdb ; then + myconf=$(db_includedir) + myconf="--with-db-incdir=${myconf#-I}" + myconf+=" --enable-popauth" + myconf+=" --enable-query_cache" + myconf+=" --enable-stats" + fi + if use unbound; then + myconf+=" --with-unbound" + else + myconf+=" --with-ldns" + fi + if use ldap; then + myconf+=" $(use_with sasl)" + fi + econf \ + $(use_with berkdb db) \ + $(use_with opendbx odbx) \ + $(use_with lua) \ + $(use_enable lua rbl) \ + $(use_with ldap openldap) \ + $(use_enable poll) \ + $(use_enable static-libs static) \ + $(use_with gnutls) \ + ${myconf} \ + --docdir=/usr/share/doc/${PF} \ + --htmldir=/usr/share/doc/${PF}/html \ + --enable-filter \ + --enable-adsp_lists \ + --enable-dkim_reputation \ + --enable-identity_header \ + --enable-rate_limit \ + --enable-redirect \ + --enable-resign \ + --enable-replace_rules \ + --enable-default_sender \ + --enable-sender_macro \ + --enable-vbr \ + --disable-rpath \ + --disable-live-testing +} + +src_install() { + emake DESTDIR="${D}" install + + dosbin stats/opendkim-reportstats + newinitd "${FILESDIR}/opendkim.init.r3" opendkim + dodir /etc/opendkim /var/lib/opendkim + fowners milter:milter /var/lib/opendkim + + # default configuration + if [ ! -f "${ROOT}"/etc/opendkim/opendkim.conf ]; then + grep ^[^#] "${S}"/opendkim/opendkim.conf.simple \ + > "${D}"/etc/opendkim/opendkim.conf + if use unbound; then + echo TrustedAnchorFile /etc/dnssec/root-anchors.txt >> "${D}"/etc/opendkim/opendkim.conf + fi + echo UserID milter >> "${D}"/etc/opendkim/opendkim.conf + if use berkdb; then + echo Statistics /var/lib/opendkim/stats.dat >> \ + "${D}"/etc/opendkim/opendkim.conf + fi + fi + + use static-libs || find "${D}" -name "*.la" -delete +} + +pkg_postinst() { + elog "If you want to sign your mail messages and need some help" + elog "please run:" + elog " emerge --config ${CATEGORY}/${PN}" + elog "It will help you create your key and give you hints on how" + elog "to configure your DNS and MTA." + + ewarn "Make sure your MTA has r/w access to the socket file." + ewarn "This can be done either by setting UMask to 002 and adding MTA's user" + ewarn "to milter group or you can simply set UMask to 000." +} + +pkg_config() { + local selector keysize pubkey + + read -p "Enter the selector name (default ${HOSTNAME}): " selector + [[ -n "${selector}" ]] || selector=${HOSTNAME} + if [[ -z "${selector}" ]]; then + eerror "Oddly enough, you don't have a HOSTNAME." + return 1 + fi + if [[ -f "${ROOT}"etc/opendkim/${selector}.private ]]; then + ewarn "The private key for this selector already exists." + else + keysize=1024 + # generate the private and public keys + opendkim-genkey -b ${keysize} -D "${ROOT}"etc/opendkim/ \ + -s ${selector} -d '(your domain)' && \ + chown milter:milter \ + "${ROOT}"etc/opendkim/"${selector}".private || \ + { eerror "Failed to create private and public keys." ; return 1; } + chmod go-r "${ROOT}"etc/opendkim/"${selector}".private + fi + + # opendkim selector configuration + echo + einfo "Make sure you have the following settings in your /etc/opendkim/opendkim.conf:" + einfo " Keyfile /etc/opendkim/${selector}.private" + einfo " Selector ${selector}" + + # MTA configuration + echo + einfo "If you are using Postfix, add following lines to your main.cf:" + einfo " smtpd_milters = unix:/var/run/opendkim/opendkim.sock" + einfo " non_smtpd_milters = unix:/var/run/opendkim/opendkim.sock" + einfo " and read http://www.postfix.org/MILTER_README.html" + + # DNS configuration + einfo "After you configured your MTA, publish your key by adding this TXT record to your domain:" + cat "${ROOT}"etc/opendkim/${selector}.txt + einfo "t=y signifies you only test the DKIM on your domain. See following page for the complete list of tags:" + einfo " http://www.dkim.org/specs/rfc4871-dkimbase.html#key-text" + einfo + einfo "Also look at the ADSP http://tools.ietf.org/html/rfc5617" +} |