diff options
author | Gunnar Wrobel <wrobel@gentoo.org> | 2008-04-18 12:44:51 +0000 |
---|---|---|
committer | Gunnar Wrobel <wrobel@gentoo.org> | 2008-04-18 12:44:51 +0000 |
commit | 484276d3dc8e3dcd0ccc3b72e4ffac45000f619d (patch) | |
tree | c0cc3d51622a0a44fed427a0ccca40df7595351b /net-mail | |
parent | Added metadata. (diff) | |
download | kolab-484276d3dc8e3dcd0ccc3b72e4ffac45000f619d.tar.gz kolab-484276d3dc8e3dcd0ccc3b72e4ffac45000f619d.tar.bz2 kolab-484276d3dc8e3dcd0ccc3b72e4ffac45000f619d.zip |
Fixed some issues in the cyrus-imap-2.3.9 ebuild, added 2.3.11
svn path=/overlay/; revision=2818
Diffstat (limited to 'net-mail')
17 files changed, 617 insertions, 537 deletions
diff --git a/net-mail/cyrus-imapd/ChangeLog b/net-mail/cyrus-imapd/ChangeLog index e5951b4..7bcd728 100644 --- a/net-mail/cyrus-imapd/ChangeLog +++ b/net-mail/cyrus-imapd/ChangeLog @@ -1,7 +1,27 @@ # ChangeLog for net-mail/cyrus-imapd -# Copyright 1999-2007 Gentoo Foundation; Distributed under the GPL v2 +# Copyright 1999-2008 Gentoo Foundation; Distributed under the GPL v2 # $Header: $ + 18 Apr 2008; wrobel@gentoo.org -files/cyrus-imapd-2.2-db45.patch, + -files/cyrus-imapd-2.3.8-annotate.patch, + -files/cyrus-imapd-2.3.8-goodchars.patch, + -files/cyrus-imapd-2.3.8-group.patch, + -files/cyrus-imapd-2.3.8-group2.patch, + -files/cyrus-imapd-2.3.8-kolab.patch, + -files/cyrus-imapd-2.3.8-morelogging.patch, + -files/cyrus-imapd-2.3.8-pts.patch, + +files/cyrus-imapd-2.3.11-KOLAB_Annotations2.patch, + +files/cyrus-imapd-2.3.11-KOLAB_Folder-names.patch, + +files/cyrus-imapd-2.3.11-KOLAB_Groups.patch, + +files/cyrus-imapd-2.3.11-KOLAB_Logging.patch, + +files/cyrus-imapd-2.3.11-KOLAB_UID.patch, + +files/cyrus-imapd-2.3.11-KOLAB_starttls-sendcaps.patch, + +files/cyrus-imapd-2.3.11-drac_with_autocreate.patch, + -files/cyrus-imapd-unsupported-8bit.patch, ++, + -cyrus-imapd-2.3.8-r20.ebuild, -cyrus-imapd-2.3.9-r20.ebuild, + +cyrus-imapd-2.3.11-r20.ebuild: + Fixed some issues in the cyrus-imap-2.3.9 ebuild, added 2.3.11 + 15 Oct 2007; Gunnar Wrobel <wrobel@gentoo.org> files/cyrus-imapd-2.3.9-KOLAB_UID.patch, cyrus-imapd-2.3.9-r20.ebuild: Fixed the UID patch and an associated build problem. diff --git a/net-mail/cyrus-imapd/Manifest b/net-mail/cyrus-imapd/Manifest index e71396d..3c89ef2 100644 --- a/net-mail/cyrus-imapd/Manifest +++ b/net-mail/cyrus-imapd/Manifest @@ -1,126 +1,31 @@ -AUX cyrus-imapd-2.2-db45.patch 1283 RMD160 e3925988a6c628eb5567aa482351bb6a8ab01113 SHA1 b074166f6092ee58db685038c45382f77479bdb1 SHA256 4d814546280b83cf420855faf067ac95d36818be8b2a9ad9973805f261c1d90e -MD5 94e33770741d5309d51ba7f4edbe1fc5 files/cyrus-imapd-2.2-db45.patch 1283 -RMD160 e3925988a6c628eb5567aa482351bb6a8ab01113 files/cyrus-imapd-2.2-db45.patch 1283 -SHA256 4d814546280b83cf420855faf067ac95d36818be8b2a9ad9973805f261c1d90e files/cyrus-imapd-2.2-db45.patch 1283 AUX cyrus-imapd-2.2-libwrap.patch 390 RMD160 4ed2b14f549ccfab487cff66e5f2cb8ebdd39427 SHA1 0075421585a73f2673e3daff9a4c140d9cc5046e SHA256 2bddad2045130090ea23f5ad65d797cfa1f6083446bd00411cb1540cb56d4e0e -MD5 88f50354abbcae1950a2d11c74db5fe5 files/cyrus-imapd-2.2-libwrap.patch 390 -RMD160 4ed2b14f549ccfab487cff66e5f2cb8ebdd39427 files/cyrus-imapd-2.2-libwrap.patch 390 -SHA256 2bddad2045130090ea23f5ad65d797cfa1f6083446bd00411cb1540cb56d4e0e files/cyrus-imapd-2.2-libwrap.patch 390 -AUX cyrus-imapd-2.3.8-annotate.patch 3670 RMD160 bbbad32a7f0719abbc1c0fbc2077e560454d4760 SHA1 fabbd42e5a37cadbd71be38892fb09ec3786922e SHA256 15427284daf6e0f249a9b667c8da315947127b1b5b7519cafd7d4f902084efa5 -MD5 740ca9d2e5e6f36c979386ede5dcd426 files/cyrus-imapd-2.3.8-annotate.patch 3670 -RMD160 bbbad32a7f0719abbc1c0fbc2077e560454d4760 files/cyrus-imapd-2.3.8-annotate.patch 3670 -SHA256 15427284daf6e0f249a9b667c8da315947127b1b5b7519cafd7d4f902084efa5 files/cyrus-imapd-2.3.8-annotate.patch 3670 +AUX cyrus-imapd-2.3.11-KOLAB_Annotations2.patch 11103 RMD160 0e7cfceff69e6c0df9117a1e93db0fd2afd694e3 SHA1 b21388e96b1073a90af98d8b9b4dae92eefe0687 SHA256 c3505f0e719bf297e0c698574ba24f5e98e2e55b600a0a92555f8f5744a96c47 +AUX cyrus-imapd-2.3.11-KOLAB_Folder-names.patch 705 RMD160 e1ae9477464e0fb7a9e22a362008771792bc659b SHA1 f30649fe5f3ed2cbc8d803b8ab76c5bde56f90c5 SHA256 9e9404695adc32c3042c490409e1494167421dbbfd726b98e90e0013ac6084cf +AUX cyrus-imapd-2.3.11-KOLAB_Groups.patch 6561 RMD160 fc3d6cc483b39f7bc3c35916f7c75c92fb7aa27d SHA1 2d09dd07bd6ee6b37f71f56c11a1a51c61778822 SHA256 ffde107a869e1cc6935fff82872dbc6997bd8bc286d369f348f561d3ebbd0c24 +AUX cyrus-imapd-2.3.11-KOLAB_Logging.patch 1880 RMD160 a69ccc5fba3e200c5cf4bd91c22b5a7e9713038e SHA1 79ddbb6b9af2f0c93b8f9ee732ca2639c9567943 SHA256 76a4eb6cd59564f55bb541a35b4e7f5fbd8beabf8072580c0bc514d710c3879b +AUX cyrus-imapd-2.3.11-KOLAB_UID.patch 4255 RMD160 94e8a37bb7631d1a7ea53d7575df3898065cfcd4 SHA1 3a3a5e190c67bf4618031ff5bff4d395cf324532 SHA256 ad33f589898d166b15292ca7adf9d6b60cf4af57f9ec33428e03616ccdf70c17 +AUX cyrus-imapd-2.3.11-KOLAB_starttls-sendcaps.patch 824 RMD160 c07359f3c3c4b922bbddc9e717a1ec9b0de10c03 SHA1 05de31018a0ac1a7fce78d3a63b0c6c2e3adc9f1 SHA256 3249a502fe49df37f89133effd0f6a125d826ae425faa7e32e09a3279a1ad4b6 +AUX cyrus-imapd-2.3.11-drac_with_autocreate.patch 2334 RMD160 53bb3d38e121ac22e4149de52151f3c3945f4934 SHA1 7571d40975aa61f9ac04e30bc371ab4733b3acdb SHA256 bfe1cabf1131b3ae3e67d5847d965cc4dfe2ac001064cc56176d3d2553651f3f AUX cyrus-imapd-2.3.8-drac_with_autocreate.patch 2378 RMD160 a545ffbf21e7d14897d177b2866bc5df9df3130f SHA1 16e29ddddd924877d9d7dd572a6bcafe25c67725 SHA256 f55235912bcec09c91270dfeb9f2846300f70c22eef945781e77473ea7013aa6 -MD5 687f311749b0a998d7cf832aa451fbf5 files/cyrus-imapd-2.3.8-drac_with_autocreate.patch 2378 -RMD160 a545ffbf21e7d14897d177b2866bc5df9df3130f files/cyrus-imapd-2.3.8-drac_with_autocreate.patch 2378 -SHA256 f55235912bcec09c91270dfeb9f2846300f70c22eef945781e77473ea7013aa6 files/cyrus-imapd-2.3.8-drac_with_autocreate.patch 2378 -AUX cyrus-imapd-2.3.8-goodchars.patch 673 RMD160 bf9744dba26de16347bc2adbeecc2482d5dadb5f SHA1 e80ac22c75bc7f47d725b0bed097f55be133a57e SHA256 3c15e05790ee4eda90c64323fc57b5b7440f0eb91b8e9f3d4bd188d4b170c40a -MD5 33fb4b5ee3e24f2d862b64ad6313f01c files/cyrus-imapd-2.3.8-goodchars.patch 673 -RMD160 bf9744dba26de16347bc2adbeecc2482d5dadb5f files/cyrus-imapd-2.3.8-goodchars.patch 673 -SHA256 3c15e05790ee4eda90c64323fc57b5b7440f0eb91b8e9f3d4bd188d4b170c40a files/cyrus-imapd-2.3.8-goodchars.patch 673 -AUX cyrus-imapd-2.3.8-group.patch 6383 RMD160 b0cb0b374bd6bf665a511e6a42aab126ec156664 SHA1 15eef7d7bd7297b5e3137c1087239c6cf6652652 SHA256 a3ceadf826653398957c2f6c3aadfd5596a383d72d34aa306ac13345df2ebd17 -MD5 c8b28d7a37c764486476ff465c8fb5b9 files/cyrus-imapd-2.3.8-group.patch 6383 -RMD160 b0cb0b374bd6bf665a511e6a42aab126ec156664 files/cyrus-imapd-2.3.8-group.patch 6383 -SHA256 a3ceadf826653398957c2f6c3aadfd5596a383d72d34aa306ac13345df2ebd17 files/cyrus-imapd-2.3.8-group.patch 6383 -AUX cyrus-imapd-2.3.8-group2.patch 862 RMD160 dc9ba78f39e3ecbd21aa7976b6d1c685725c29ab SHA1 99d48ffb7790bb5191442399923ae0b277932661 SHA256 971be6543ad1ed3a4ab9630d3da18f8b788b6a87fe2e05d021ce1707b6da7cda -MD5 8ce4209247da2ae7125faf03949ff124 files/cyrus-imapd-2.3.8-group2.patch 862 -RMD160 dc9ba78f39e3ecbd21aa7976b6d1c685725c29ab files/cyrus-imapd-2.3.8-group2.patch 862 -SHA256 971be6543ad1ed3a4ab9630d3da18f8b788b6a87fe2e05d021ce1707b6da7cda files/cyrus-imapd-2.3.8-group2.patch 862 -AUX cyrus-imapd-2.3.8-kolab.patch 5970 RMD160 69482fac097e7670006ae5ce0a7b70f658b490d3 SHA1 64132014a3cde1c892547a4e24dd8dc5b603c389 SHA256 90d86c28520be906775ca9683f04d271ec168b557a14c72c22e11ab7115e7865 -MD5 15017e38e4c07d6884a5bccf17bef561 files/cyrus-imapd-2.3.8-kolab.patch 5970 -RMD160 69482fac097e7670006ae5ce0a7b70f658b490d3 files/cyrus-imapd-2.3.8-kolab.patch 5970 -SHA256 90d86c28520be906775ca9683f04d271ec168b557a14c72c22e11ab7115e7865 files/cyrus-imapd-2.3.8-kolab.patch 5970 -AUX cyrus-imapd-2.3.8-morelogging.patch 1531 RMD160 a725eda77b7a6cde2d3901647bdf12946b94d179 SHA1 d338100113fbf33fc79b03a5034e0ae9c071858f SHA256 43e595f1a5fa2255f632fbb563652950ad9130d4d259ef4a3a0a2db1c9884329 -MD5 b988a7d8ca09c93bb5189c41ddc943d0 files/cyrus-imapd-2.3.8-morelogging.patch 1531 -RMD160 a725eda77b7a6cde2d3901647bdf12946b94d179 files/cyrus-imapd-2.3.8-morelogging.patch 1531 -SHA256 43e595f1a5fa2255f632fbb563652950ad9130d4d259ef4a3a0a2db1c9884329 files/cyrus-imapd-2.3.8-morelogging.patch 1531 AUX cyrus-imapd-2.3.8-openpkg.patch 3116 RMD160 bb2e793d670955cd44aaf73a2f507fb9c2cd7668 SHA1 60a9e2583e5f1deb0fc07a480589c37347599cb8 SHA256 95b6d310ac975497880f359379caafe925b82e764079a109d2701d8c223d7716 -MD5 a430a5980fe89e08210b1e3082d8fbe0 files/cyrus-imapd-2.3.8-openpkg.patch 3116 -RMD160 bb2e793d670955cd44aaf73a2f507fb9c2cd7668 files/cyrus-imapd-2.3.8-openpkg.patch 3116 -SHA256 95b6d310ac975497880f359379caafe925b82e764079a109d2701d8c223d7716 files/cyrus-imapd-2.3.8-openpkg.patch 3116 -AUX cyrus-imapd-2.3.8-pts.patch 632 RMD160 1efbbdb925fae4c6d330022cd4e3530be054c4b2 SHA1 4e99d9c68138bee4f25a8fbda29835a09e32f9d5 SHA256 6c95ec45eba762a3240cc7836c563bca98d2b9a6bdfc6b0912516c58d9e5c20f -MD5 31bd5ec70884c610a5385ec1407f858e files/cyrus-imapd-2.3.8-pts.patch 632 -RMD160 1efbbdb925fae4c6d330022cd4e3530be054c4b2 files/cyrus-imapd-2.3.8-pts.patch 632 -SHA256 6c95ec45eba762a3240cc7836c563bca98d2b9a6bdfc6b0912516c58d9e5c20f files/cyrus-imapd-2.3.8-pts.patch 632 AUX cyrus-imapd-2.3.9-KOLAB_Annotations2.patch 11103 RMD160 f40bcb3ff72a2eb00066c37fdd5bc972f4bcda5d SHA1 4cb8ac4912aaaa0bc2f11c562a1f571f0ac1fde8 SHA256 7f7f219634e29ae7085eecc1551b95c61b036a8d0a4e8a964c9f3d8099a60ee0 -MD5 4deca7499430a74eefb7cb0283a4d76a files/cyrus-imapd-2.3.9-KOLAB_Annotations2.patch 11103 -RMD160 f40bcb3ff72a2eb00066c37fdd5bc972f4bcda5d files/cyrus-imapd-2.3.9-KOLAB_Annotations2.patch 11103 -SHA256 7f7f219634e29ae7085eecc1551b95c61b036a8d0a4e8a964c9f3d8099a60ee0 files/cyrus-imapd-2.3.9-KOLAB_Annotations2.patch 11103 AUX cyrus-imapd-2.3.9-KOLAB_Folder-names.patch 705 RMD160 bc22ad486915c11346c97c289372d0e6f6f4ee35 SHA1 448b3cb0b41af4f5e8a7caf4e28ac86eca17edd9 SHA256 efa0ae8d88540706547721f316d474d7db9989e8ac42549bc60a4b404ef5b215 -MD5 de551f54425d00ae545ee21bc1a041cf files/cyrus-imapd-2.3.9-KOLAB_Folder-names.patch 705 -RMD160 bc22ad486915c11346c97c289372d0e6f6f4ee35 files/cyrus-imapd-2.3.9-KOLAB_Folder-names.patch 705 -SHA256 efa0ae8d88540706547721f316d474d7db9989e8ac42549bc60a4b404ef5b215 files/cyrus-imapd-2.3.9-KOLAB_Folder-names.patch 705 AUX cyrus-imapd-2.3.9-KOLAB_Groups.patch 6522 RMD160 0eb3f333a59e0686721e2cff5859e48c635e4d3c SHA1 c22a48acb6217d30245066938d2c6ef66f71fd75 SHA256 e7bafa307f2c9334c68e8f71a3281670fea4249392f3c167b8ededc7db7520ea -MD5 c8e2f06f63ae8e2dd94bd5af5abb251e files/cyrus-imapd-2.3.9-KOLAB_Groups.patch 6522 -RMD160 0eb3f333a59e0686721e2cff5859e48c635e4d3c files/cyrus-imapd-2.3.9-KOLAB_Groups.patch 6522 -SHA256 e7bafa307f2c9334c68e8f71a3281670fea4249392f3c167b8ededc7db7520ea files/cyrus-imapd-2.3.9-KOLAB_Groups.patch 6522 AUX cyrus-imapd-2.3.9-KOLAB_Logging.patch 1880 RMD160 bb68a301ce4bad6307097072eac1e4a7dffaf02c SHA1 9f6e19aa16f24080a9ec5ecf889fd891b72af007 SHA256 0a28057958b184fd2570de1b447422c6cb117edc78fdbb2820bd7ff31a7e8126 -MD5 a212358ff88eb3e923d3f4d85fa53e1c files/cyrus-imapd-2.3.9-KOLAB_Logging.patch 1880 -RMD160 bb68a301ce4bad6307097072eac1e4a7dffaf02c files/cyrus-imapd-2.3.9-KOLAB_Logging.patch 1880 -SHA256 0a28057958b184fd2570de1b447422c6cb117edc78fdbb2820bd7ff31a7e8126 files/cyrus-imapd-2.3.9-KOLAB_Logging.patch 1880 AUX cyrus-imapd-2.3.9-KOLAB_UID.patch 4255 RMD160 37aa72288ef11bdfc0bcfb7255f0afcafb2f28fc SHA1 af1b33071b84bc083bd5abab16aa32d9731c3ec4 SHA256 07c49c145be08b5b5b785bb03a2e5bf6aa4b6f2cd24937480d0c8d04d85b19c9 -MD5 935f5ad7e85db69aebde12dd961aeae8 files/cyrus-imapd-2.3.9-KOLAB_UID.patch 4255 -RMD160 37aa72288ef11bdfc0bcfb7255f0afcafb2f28fc files/cyrus-imapd-2.3.9-KOLAB_UID.patch 4255 -SHA256 07c49c145be08b5b5b785bb03a2e5bf6aa4b6f2cd24937480d0c8d04d85b19c9 files/cyrus-imapd-2.3.9-KOLAB_UID.patch 4255 AUX cyrus-imapd-parallel.patch 256 RMD160 fa7c53c847c4af9a7c218943be46b136b69f911c SHA1 8f4a7cbf91652354681e81e5c31f53728273a1c9 SHA256 adc6d031f2e9f547b192b36685d7873fdb5c5cb690e951b173fdcd55163cc68c -MD5 9e059d45972ef25f2c05753867aa54c5 files/cyrus-imapd-parallel.patch 256 -RMD160 fa7c53c847c4af9a7c218943be46b136b69f911c files/cyrus-imapd-parallel.patch 256 -SHA256 adc6d031f2e9f547b192b36685d7873fdb5c5cb690e951b173fdcd55163cc68c files/cyrus-imapd-parallel.patch 256 AUX cyrus-imapd-strip.patch 527 RMD160 83dda22c91798715c7790c3964705b60edeab904 SHA1 624635c7a3dd17e0d3ed84c2c7b07fe042d54cc0 SHA256 4edf438766a291c18847efbcf0596e5c7fc848a1c04b851b20074a195c1b2f18 -MD5 39e967597f06873c10a001c7316743de files/cyrus-imapd-strip.patch 527 -RMD160 83dda22c91798715c7790c3964705b60edeab904 files/cyrus-imapd-strip.patch 527 -SHA256 4edf438766a291c18847efbcf0596e5c7fc848a1c04b851b20074a195c1b2f18 files/cyrus-imapd-strip.patch 527 -AUX cyrus-imapd-unsupported-8bit.patch 3342 RMD160 b175b6799723c54110880ad93a4ee2795b40f69e SHA1 87303ffa37dd3e48e1a8133ffda87c6e7db6ea6e SHA256 e44ad27b5acf20a9bce95815d5fa25f040eb06870feb87cddf59204f1d8a2867 -MD5 e76f31d728a283bf2dd2fb5b5a853af8 files/cyrus-imapd-unsupported-8bit.patch 3342 -RMD160 b175b6799723c54110880ad93a4ee2795b40f69e files/cyrus-imapd-unsupported-8bit.patch 3342 -SHA256 e44ad27b5acf20a9bce95815d5fa25f040eb06870feb87cddf59204f1d8a2867 files/cyrus-imapd-unsupported-8bit.patch 3342 AUX cyrus.conf 1354 RMD160 b2d6f470b7097036a5c64bc59f147f78fdbc16d5 SHA1 efc4d14807391be53018a81c4f4277cd8d6ce5f8 SHA256 23189674bb5c2f021f35027cfe22cfe56e022ce5e03da67f5c4913473bec1292 -MD5 d91b5eaa87ced6cb7efc8c716fc7476a files/cyrus.conf 1354 -RMD160 b2d6f470b7097036a5c64bc59f147f78fdbc16d5 files/cyrus.conf 1354 -SHA256 23189674bb5c2f021f35027cfe22cfe56e022ce5e03da67f5c4913473bec1292 files/cyrus.conf 1354 AUX cyrus.confd 279 RMD160 da79ff4128869a045b432abc9cea6667b65ee69a SHA1 6d2d3417b678c77336a4b89db3507314302fe4eb SHA256 3e786c28ffc44a222214b22d8849728360edc37f4b3f7d7c1473a23ab58c28a9 -MD5 08017debe8d02c695ec456e1165d920d files/cyrus.confd 279 -RMD160 da79ff4128869a045b432abc9cea6667b65ee69a files/cyrus.confd 279 -SHA256 3e786c28ffc44a222214b22d8849728360edc37f4b3f7d7c1473a23ab58c28a9 files/cyrus.confd 279 AUX cyrus.pam-include 109 RMD160 24f82d0496f0ff94f9c1ee4cef14124909d361e5 SHA1 1a13c82008b6d59bb9236a8162c75f8d24d6c4ba SHA256 d4ef9ed9c7c9add97df75f0e19a833bee872d3863a2b3cb1d0674fefba54e3d8 -MD5 b8da82b13f99b84321a976a8f41d2a49 files/cyrus.pam-include 109 -RMD160 24f82d0496f0ff94f9c1ee4cef14124909d361e5 files/cyrus.pam-include 109 -SHA256 d4ef9ed9c7c9add97df75f0e19a833bee872d3863a2b3cb1d0674fefba54e3d8 files/cyrus.pam-include 109 AUX cyrus.rc6 573 RMD160 1ca59773442962d47cf1c9899730410e168b563f SHA1 26d52c17d76948589bed7b8d82c1f8570d141672 SHA256 c5534ef121f1c509f0005846b10df12f32e11c282656bf48699c2b457a40e187 -MD5 756c504a8b0b90aaa0630c089ae42f50 files/cyrus.rc6 573 -RMD160 1ca59773442962d47cf1c9899730410e168b563f files/cyrus.rc6 573 -SHA256 c5534ef121f1c509f0005846b10df12f32e11c282656bf48699c2b457a40e187 files/cyrus.rc6 573 AUX imap.pam 195 RMD160 18585b20cc2568a000ecb381f3299dedcc737d27 SHA1 0e64fbb8fb8da0cdae6fb0820ee3048f1e30bbf6 SHA256 e8068af6f4141fe2b7d7afbaf241be779ad6edb7e03d4dfdcf7ca8e991a8a5e0 -MD5 ef68faa77664a88f939cee2f12019507 files/imap.pam 195 -RMD160 18585b20cc2568a000ecb381f3299dedcc737d27 files/imap.pam 195 -SHA256 e8068af6f4141fe2b7d7afbaf241be779ad6edb7e03d4dfdcf7ca8e991a8a5e0 files/imap.pam 195 AUX imapd.conf 1587 RMD160 74e02af5daa7648ce7e366478c1b89b112750e6b SHA1 e4f189cb59fe499a42adffe3ffe382dcb9d7c546 SHA256 69eacd9fffad55f20990fcf3b117fe4e2ac55233515ed70698c65a6deb42503f -MD5 66137eb399ec7760afc24491a10d8bd7 files/imapd.conf 1587 -RMD160 74e02af5daa7648ce7e366478c1b89b112750e6b files/imapd.conf 1587 -SHA256 69eacd9fffad55f20990fcf3b117fe4e2ac55233515ed70698c65a6deb42503f files/imapd.conf 1587 -DIST cyrus-imapd-2.3.8-uoa.tbz2 17894 RMD160 c824671df6b36aadf9c6d76131bd467a407a5e5e SHA1 311769f5ffd81a7eb24bbaa531997c7c4c4a0bc1 SHA256 dfe6d498991335c2c9f06bf2dd2c716ce865c043f857f5633650c029e17c3549 -DIST cyrus-imapd-2.3.8.tar.gz 2207366 RMD160 e89054f75f106c26f497bc37f7d514b0bf80bfe0 SHA1 c671f631753a138b9fa9b5bed7efa46adc8b4e3e SHA256 0f5c04a7de2da737e5ca0b4f8df8647175188b22972000192bbc7cd87ffda7fe +DIST cyrus-imapd-2.3.11-uoa.tbz2 18045 RMD160 8f35b2399b47669d99fd301be1e14aaaab903234 SHA1 827b279e47dbe56ee4969a3ecd8d21a83b31fd44 SHA256 c67f97274c328c80f1cbaab7514fdd0de05c032e57b526e4e13e8f63d212aa9d +DIST cyrus-imapd-2.3.11.tar.gz 2275173 RMD160 34727e08cc25f3cb6e0ea0195b96de942de10f48 SHA1 6218f0dc4f1792e786677362b8b3965e4593122e SHA256 87ce58b28ed1f8974118c02ac009377bb3de62adccd699a67f0100158106d842 DIST cyrus-imapd-2.3.9-uoa.tbz2 17935 RMD160 1e46f17972552ed94496d1dfee8671332844775b SHA1 1fc400239cf2410f531570c37d19ad964c606a14 SHA256 3ca66f3ec992416276daca9e43dd159797d2838ff9efd118139495a86e070f5d DIST cyrus-imapd-2.3.9.tar.gz 2272004 RMD160 c9aae3476108c0face06dfe304a136015370b166 SHA1 b95e1de87ff2c7a42d4bec87c839fe439452a79c SHA256 27e6476789788b7c72f09711103f7c4bd0136dbd33ceadd0ae2dc776a17ab437 -EBUILD cyrus-imapd-2.3.8-r20.ebuild 9328 RMD160 79786402ae2b5fd4324cbadd4628ad9353c04482 SHA1 0c5191073f7072112650685cb6f61260e72315c3 SHA256 7722959566fec0d7e9c301f7bd0f490164b3f2e5e170b738665069ac6120de5c -MD5 fea20465d51f72246d38844223bd0d22 cyrus-imapd-2.3.8-r20.ebuild 9328 -RMD160 79786402ae2b5fd4324cbadd4628ad9353c04482 cyrus-imapd-2.3.8-r20.ebuild 9328 -SHA256 7722959566fec0d7e9c301f7bd0f490164b3f2e5e170b738665069ac6120de5c cyrus-imapd-2.3.8-r20.ebuild 9328 -EBUILD cyrus-imapd-2.3.9-r20.ebuild 8698 RMD160 57caa2adab40e79a76f11bfc364774ffa5ee1718 SHA1 6f3fca8025e75a3633663ce7b56f9b78eeb04cf9 SHA256 15d24b101e03ec74ec1e90b59794c4068f24b4e8a5d480fa8d67e5cdf0483fdb -MD5 2aeb23fd351847bbd4c458d75124d02c cyrus-imapd-2.3.9-r20.ebuild 8698 -RMD160 57caa2adab40e79a76f11bfc364774ffa5ee1718 cyrus-imapd-2.3.9-r20.ebuild 8698 -SHA256 15d24b101e03ec74ec1e90b59794c4068f24b4e8a5d480fa8d67e5cdf0483fdb cyrus-imapd-2.3.9-r20.ebuild 8698 -MISC ChangeLog 299 RMD160 81a24b9728858b8313cf7affd931a9a988c21672 SHA1 7b6ab6f8090bc4ea6aa154e4852451ffe2453935 SHA256 3903080d9edb4af7318e89d8652de757843599b68b25762c113fc36df5f3bb4d -MD5 7645967b94341faa888a39f093eba72c ChangeLog 299 -RMD160 81a24b9728858b8313cf7affd931a9a988c21672 ChangeLog 299 -SHA256 3903080d9edb4af7318e89d8652de757843599b68b25762c113fc36df5f3bb4d ChangeLog 299 +EBUILD cyrus-imapd-2.3.11-r20.ebuild 8875 RMD160 0721b64c60da53906415a7d2ac701a27cbe54093 SHA1 1a7196dbadf3c2e39fe6f360c430cfcc9284a735 SHA256 34bd15e14f1a580f05b8699b46cc05d73621582e0f28eb9686a1eea825115e5d +EBUILD cyrus-imapd-2.3.9-r21.ebuild 8686 RMD160 4619092d27e8941de59b566812cbbb80d5277c8b SHA1 ed787c7bde8f2bc3a5f6c690a1e43a4f658b9a32 SHA256 c5ef4d9071bb627d29e1f6cfbc10e86b9d89556d1b28f40f2dd102f5e0d456c4 +MISC ChangeLog 1237 RMD160 647cf42ffca063c32554d1c7347db171a61980fb SHA1 7e92d26c1d4f8cbf354b6eb7f5de311013d3d394 SHA256 ba5b4ebf27f998466fc3a02e973719c72ccb68c24ace3e121ac81e43bb9a60db MISC metadata.xml 232 RMD160 251750822acfe36f54ec830fa053e985a7278a33 SHA1 fdbcf61b9d99ee20f934ecc104ade9609a229e78 SHA256 d07db54ad168ceedf68191db986ce724abd9add00eb9716d1ea55f5808b2eec1 -MD5 472818759cc5022b4fff0910a12b75d1 metadata.xml 232 -RMD160 251750822acfe36f54ec830fa053e985a7278a33 metadata.xml 232 -SHA256 d07db54ad168ceedf68191db986ce724abd9add00eb9716d1ea55f5808b2eec1 metadata.xml 232 -MD5 5a8232f4b9e3f3058e42486de0ad47a7 files/digest-cyrus-imapd-2.3.8-r20 512 -RMD160 2d7ca633bdae5bd71d0c4b70187b3ba2fbd6b8d4 files/digest-cyrus-imapd-2.3.8-r20 512 -SHA256 97b76dc1900afad7cb2521a8dcf231b1f64daf53fa8c8b0049e67dfae68b4224 files/digest-cyrus-imapd-2.3.8-r20 512 -MD5 c55df6df734f859e5f0ef9d3b9a9b969 files/digest-cyrus-imapd-2.3.9-r20 512 -RMD160 617c63af48df4adba02101a30db0f4e70b73508f files/digest-cyrus-imapd-2.3.9-r20 512 -SHA256 e03dc15ac8b730f5c4ca419fa764cc374d8821e67ceb147d4f0358ad6673913b files/digest-cyrus-imapd-2.3.9-r20 512 diff --git a/net-mail/cyrus-imapd/cyrus-imapd-2.3.8-r20.ebuild b/net-mail/cyrus-imapd/cyrus-imapd-2.3.11-r20.ebuild index 8ee17f7..0842db5 100644 --- a/net-mail/cyrus-imapd/cyrus-imapd-2.3.8-r20.ebuild +++ b/net-mail/cyrus-imapd/cyrus-imapd-2.3.11-r20.ebuild @@ -1,6 +1,6 @@ -# Copyright 1999-2007 Gentoo Foundation +# Copyright 1999-2008 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 -# $Header: /var/cvsroot/gentoo-x86/net-mail/cyrus-imapd/cyrus-imapd-2.3.8.ebuild,v 1.2 2007/07/28 15:42:30 dertobi123 Exp $ +# $Header: /var/cvsroot/gentoo-x86/net-mail/cyrus-imapd/cyrus-imapd-2.3.9.ebuild,v 1.2 2007/09/07 19:53:24 dertobi123 Exp $ inherit autotools eutils ssl-cert fixheadtails pam @@ -9,19 +9,18 @@ HOMEPAGE="http://asg.web.cmu.edu/cyrus/imapd/" SRC_URI="ftp://ftp.andrew.cmu.edu/pub/cyrus-mail/${P}.tar.gz mirror://gentoo/${P}-uoa.tbz2" LIBWRAP_PATCH_VER="2.2" -DRAC_PATCH_VER="2.3.8" +DRAC_PATCH_VER="2.3.11" AUTOCREATE_PATCH_VER="0.10-0" AUTOSIEVE_PATCH_VER="0.6.0" LICENSE="as-is" SLOT="0" -KEYWORDS="x86 amd64" -IUSE="afs autocreate autosieve drac idled kerberos kolab nntp pam snmp ssl tcpd" +KEYWORDS="~x86 ~amd64" +IUSE="autocreate autosieve drac idled kerberos kolab nntp pam replication snmp ssl tcpd" PROVIDE="virtual/imapd" RDEPEND=">=sys-libs/db-3.2 >=dev-libs/cyrus-sasl-2.1.13 - afs? ( >=net-fs/openafs-1.2.2 ) pam? ( virtual/pam >=net-mail/mailbase-1 @@ -30,13 +29,17 @@ RDEPEND=">=sys-libs/db-3.2 snmp? ( >=net-analyzer/net-snmp-5.2.2-r1 ) ssl? ( >=dev-libs/openssl-0.9.6 ) tcpd? ( >=sys-apps/tcp-wrappers-7.6 ) - drac? ( >=mail-client/drac-1.12-r1 )" + drac? ( >=mail-client/drac-1.12-r1 ) + nntp? ( !net-nntp/leafnode )" DEPEND="$RDEPEND sys-devel/libtool >=sys-devel/autoconf-2.58 sys-devel/automake" +RDEPEND="$RDEPEND + !virtual/imapd" + new_net-snmp_check() { # tcpd USE flag check. Bug #68254. if use tcpd ; then @@ -97,10 +100,10 @@ pkg_setup() { src_unpack() { unpack ${A} && cd "${S}" - ht_fix_file ${S}/imap/xversion.sh + ht_fix_file "${S}"/imap/xversion.sh - # db-4.5 fix - epatch "${FILESDIR}/${PN}-2.2-db45.patch" + # Fix prestripped binaries + epatch "${FILESDIR}/${PN}-strip.patch" # Unsupported UoA patch. Bug #112912 . # http://email.uoa.gr/projects/cyrus/autocreate/ @@ -117,41 +120,22 @@ src_unpack() { # http://email.uoa.gr/projects/cyrus/autosievefolder/ use autosieve && epatch "${WORKDIR}/${P}-autosieve-${AUTOSIEVE_PATCH_VER}.diff" - # fix undefine symbols. - use afs && epatch "${FILESDIR}/cyrus-imapd-2.3.6-afs.patch" \ - && epatch "${FILESDIR}/${P}-pts.patch" - # Add libwrap defines as we don't have a dynamicly linked library. use tcpd && epatch "${FILESDIR}/${PN}-${LIBWRAP_PATCH_VER}-libwrap.patch" # Add kolab support. if use kolab ; then - - # Question is if this is really needed at all - epatch "${FILESDIR}/${P}-openpkg.patch" || die "epatch failed" - - # Bad patch which solves the problem but would never get integrated. - # This would need a more general solution to be provided upstream. - epatch "${FILESDIR}/${P}-kolab.patch" || die "epatch failed" - - # Looks like this has been applied in 2.3.7 -> Only partially! FIX!! - # Not in bug db either (though a similar request at https://bugzilla.andrew.cmu.edu/show_bug.cgi?id=2633) - #epatch "${FILESDIR}/${P}-goodchars.patch" || die "epatch failed" - - # Not in the bug DB - epatch "${FILESDIR}/${P}-morelogging.patch" || die "epatch failed" - - # These patches linger in the bug db since ages - # https://bugzilla.andrew.cmu.edu/show_bug.cgi?id=2632 - epatch "${FILESDIR}/${P}-group.patch" || die "epatch failed" - epatch "${FILESDIR}/${P}-group2.patch" || die "epatch failed" - - # Suggested patch is available here - # http://vman.de/cyrus/ - # Has also been added to the bug db at - # https://bugzilla.andrew.cmu.edu/show_bug.cgi?id=2458 - epatch "${FILESDIR}/${P}-annotate.patch" || die "epatch failed" - + # For information on these patches see patch headers and + # http://kolab.org/cgi-bin/viewcvs-kolab.cgi/server/patches/cyrus-imapd/ + epatch "${FILESDIR}/${P}-KOLAB_Groups.patch" || die "epatch failed" + epatch "${FILESDIR}/${P}-KOLAB_Annotations2.patch" || die "epatch failed" + epatch "${FILESDIR}/${P}-KOLAB_Logging.patch" || die "epatch failed" + epatch "${FILESDIR}/${P}-KOLAB_Folder-names.patch" || die "epatch failed" + epatch "${FILESDIR}/${P}-KOLAB_UID.patch" || die "epatch failed" + epatch "${FILESDIR}/${P}-KOLAB_starttls-sendcaps.patch" || die "epatch failed" + # These files are being created automatically and need to be updated + # after the patches used above + rm -f lib/imapopts.h lib/imapopts.c fi # Fix master(8)->cyrusmaster(8) manpage. @@ -168,10 +152,11 @@ src_unpack() { # Recreate configure. WANT_AUTOCONF="2.5" - eautoreconf + AT_M4DIR="cmulocal" eautoreconf # When linking with rpm, you need to link with more libraries. sed -i -e "s:lrpm:lrpm -lrpmio -lrpmdb:" configure || die "sed failed" + if use kolab ; then sed -i -e "s/{LIB_SASL}/{LIB_SASL} -lldap -llber /" configure || die "sed failed" fi @@ -179,7 +164,6 @@ src_unpack() { src_compile() { local myconf - use afs && myconf="${myconf} -with-afs=/usr" myconf="${myconf} $(use_with drac)" myconf="${myconf} $(use_with ssl openssl)" myconf="${myconf} $(use_with snmp ucdsnmp)" @@ -187,6 +171,7 @@ src_compile() { myconf="${myconf} $(use_enable kerberos gssapi) $(use_enable kerberos krb5afspts)" myconf="${myconf} $(use_enable idled)" myconf="${myconf} $(use_enable nntp nntp)" + myconf="${myconf} $(use_enable replication)" if use kerberos; then myconf="${myconf} --with-auth=krb5" @@ -208,10 +193,10 @@ src_compile() { ${myconf} || die "econf failed" # needed for parallel make. Bug #72352. - cd ${S}/imap + cd "${S}"/imap emake xversion.h || die "emake xversion.h failed" - cd ${S} + cd "${S}" emake || die "compile problem" } @@ -224,6 +209,11 @@ src_install() { # Link master to cyrusmaster (postfix has a master too) dosym /usr/lib/cyrus/master /usr/lib/cyrus/cyrusmaster + if ! use nntp ; then + rm man/fetchnews.8 man/syncnews.8 man/nntpd.8 man/nntptest.1 + rm "${D}"/usr/bin/nntptest + fi + doman man/*.[0-8] dodoc COPYRIGHT README* dohtml doc/*.html doc/murder.png @@ -238,14 +228,6 @@ src_install() { newconfd "${FILESDIR}/cyrus.confd" cyrus newpamd "${FILESDIR}/cyrus.pam-include" sieve - # do not install server.{key,pem) if they are exist. - if use ssl && [[ ! -f /etc/ssl/cyrus/server.key && ! -f /etc/ssl/cyrus/server.pem ]] ; then - SSL_ORGANIZATION="${SSL_ORGANIZATION:-Cyrus IMAP Server}" - insinto /etc/ssl/cyrus - docert server - fowners cyrus:mail /etc/ssl/cyrus/server.{key,pem} - fi - for subdir in imap/{,db,log,msg,proc,socket,sieve} spool/imap/{,stage.} ; do keepdir "/var/${subdir}" fowners cyrus:mail "/var/${subdir}" @@ -261,8 +243,13 @@ src_install() { } pkg_postinst() { - - enewuser cyrus -1 -1 /usr/cyrus mail + # do not install server.{key,pem) if they are exist. + use ssl && { + if [ ! -f "${ROOT}"etc/ssl/cyrus/server.key ]; then + install_cert /etc/ssl/cyrus/server + chown cyrus:mail "${ROOT}"etc/ssl/cyrus/server.{key,pem} + fi + } if df -T /var/imap | grep -q ' ext[23] ' ; then ebegin "Making /var/imap/user/* and /var/imap/quota/* synchronous." diff --git a/net-mail/cyrus-imapd/cyrus-imapd-2.3.9-r20.ebuild b/net-mail/cyrus-imapd/cyrus-imapd-2.3.9-r21.ebuild index 495fe08..b517d5e 100644 --- a/net-mail/cyrus-imapd/cyrus-imapd-2.3.9-r20.ebuild +++ b/net-mail/cyrus-imapd/cyrus-imapd-2.3.9-r21.ebuild @@ -36,6 +36,9 @@ DEPEND="$RDEPEND >=sys-devel/autoconf-2.58 sys-devel/automake" +RDEPEND="$RDEPEND + !virtual/imap" + new_net-snmp_check() { # tcpd USE flag check. Bug #68254. if use tcpd ; then @@ -96,11 +99,14 @@ pkg_setup() { src_unpack() { unpack ${A} && cd "${S}" - ht_fix_file ${S}/imap/xversion.sh + ht_fix_file "${S}"/imap/xversion.sh # Fix prestripped binaries epatch "${FILESDIR}/${PN}-strip.patch" + # Parallel make fix + epatch "${FILESDIR}"/${PN}-parallel.patch + # Unsupported UoA patch. Bug #112912 . # http://email.uoa.gr/projects/cyrus/autocreate/ if use autocreate ; then @@ -188,10 +194,10 @@ src_compile() { ${myconf} || die "econf failed" # needed for parallel make. Bug #72352. - cd ${S}/imap + cd "${S}"/imap emake xversion.h || die "emake xversion.h failed" - cd ${S} + cd "${S}" emake || die "compile problem" } @@ -218,14 +224,6 @@ src_install() { newconfd "${FILESDIR}/cyrus.confd" cyrus newpamd "${FILESDIR}/cyrus.pam-include" sieve - # do not install server.{key,pem) if they are exist. - if use ssl && [[ ! -f /etc/ssl/cyrus/server.key && ! -f /etc/ssl/cyrus/server.pem ]] ; then - SSL_ORGANIZATION="${SSL_ORGANIZATION:-Cyrus IMAP Server}" - insinto /etc/ssl/cyrus - docert server - fowners cyrus:mail /etc/ssl/cyrus/server.{key,pem} - fi - for subdir in imap/{,db,log,msg,proc,socket,sieve} spool/imap/{,stage.} ; do keepdir "/var/${subdir}" fowners cyrus:mail "/var/${subdir}" @@ -241,8 +239,13 @@ src_install() { } pkg_postinst() { - - enewuser cyrus -1 -1 /usr/cyrus mail + # do not install server.{key,pem) if they are exist. + use ssl && { + if [ ! -f "${ROOT}"etc/ssl/cyrus/server.key ]; then + install_cert /etc/ssl/cyrus/server + chown cyrus:mail "${ROOT}"etc/ssl/cyrus/server.{key,pem} + fi + } if df -T /var/imap | grep -q ' ext[23] ' ; then ebegin "Making /var/imap/user/* and /var/imap/quota/* synchronous." diff --git a/net-mail/cyrus-imapd/files/cyrus-imapd-2.2-db45.patch b/net-mail/cyrus-imapd/files/cyrus-imapd-2.2-db45.patch deleted file mode 100644 index c92f957..0000000 --- a/net-mail/cyrus-imapd/files/cyrus-imapd-2.2-db45.patch +++ /dev/null @@ -1,29 +0,0 @@ ---- lib.old/cyrusdb_berkeley.c 2007-04-05 01:23:42.518845824 +0200 -+++ lib/cyrusdb_berkeley.c 2007-04-05 01:22:20.000000000 +0200 -@@ -159,7 +159,15 @@ - syslog(LOG_WARNING, - "DBERROR: invalid berkeley_locks_max value, using internal default"); - } else { -+#if DB_VERSION_MAJOR >= 4 -+ r = dbenv->set_lk_max_locks(dbenv, opt); -+ if (!r) -+ r = dbenv->set_lk_max_lockers(dbenv, opt); -+ if (!r) -+ r = dbenv->set_lk_max_objects(dbenv, opt); -+#else - r = dbenv->set_lk_max(dbenv, opt); -+#endif - if (r) { - dbenv->err(dbenv, r, "set_lk_max"); - syslog(LOG_ERR, "DBERROR: set_lk_max(): %s", db_strerror(r)); ---- cmulocal/berkdb.m4.orig 2007-05-01 18:05:00.000000000 +0200 -+++ cmulocal/berkdb.m4 2007-05-01 18:05:17.000000000 +0200 -@@ -212,7 +212,7 @@ - fi - - saved_LIBS=$LIBS -- for dbname in db-4.4 db4.4 db44 db-4.3 db4.3 db43 db-4.2 db4.2 db42 db-4.1 db4.1 db41 db-4.0 db4.0 db-4 db40 db4 db-3.3 db3.3 db33 db-3.2 db3.2 db32 db-3.1 db3.1 db31 db-3 db30 db3 db -+ for dbname in db-4.5 db4.5 db45 db-4.4 db4.4 db44 db-4.3 db4.3 db43 db-4.2 db4.2 db42 db-4.1 db4.1 db41 db-4.0 db4.0 db-4 db40 db4 db-3.3 db3.3 db33 db-3.2 db3.2 db32 db-3.1 db3.1 db31 db-3 db30 db3 db - do - LIBS="$saved_LIBS -l$dbname" - AC_TRY_LINK([#include <db.h>], diff --git a/net-mail/cyrus-imapd/files/cyrus-imapd-2.3.11-KOLAB_Annotations2.patch b/net-mail/cyrus-imapd/files/cyrus-imapd-2.3.11-KOLAB_Annotations2.patch new file mode 100644 index 0000000..07a1b9a --- /dev/null +++ b/net-mail/cyrus-imapd/files/cyrus-imapd-2.3.11-KOLAB_Annotations2.patch @@ -0,0 +1,359 @@ +Provides a new version of annotation support for the cyrus imapd server [Version: 2.3.9] + +diff -r b693d1281318 imap/annotate.c +--- a/imap/annotate.c Thu Oct 25 08:21:36 2007 +0200 ++++ b/imap/annotate.c Thu Oct 25 08:24:37 2007 +0200 +@@ -40,6 +40,13 @@ + * + */ + /* ++ * This file contains code Copyright (c) 2006 by Thomas Viehmann. ++ * You may distribute source code or binaries under the conditions ++ * conditions given in the CMU license, provided this note stays intact ++ * in the distributed source. If you want to distribute my code without ++ * this notice, do contact me at <tv@beamnet.de>. ++ */ ++/* + * $Id: annotate.c,v 1.40 2007/10/12 12:54:23 murch Exp $ + */ + +@@ -92,6 +99,8 @@ int (*proxy_store_func)(const char *serv + int (*proxy_store_func)(const char *server, const char *mbox_pat, + struct entryattlist *entryatts) = NULL; + ++void init_annotation_definitions(); ++ + /* String List Management */ + /* + * Append 's' to the strlist 'l'. Possibly include metadata. +@@ -238,6 +247,8 @@ void annotatemore_init(int myflags, + if (store_func) { + proxy_store_func = store_func; + } ++ ++ init_annotation_definitions(); + } + + void annotatemore_open(char *fname) +@@ -1833,6 +1844,224 @@ const struct annotate_st_entry mailbox_r + { NULL, 0, ANNOTATION_PROXY_T_INVALID, 0, 0, NULL, NULL } + }; + ++struct annotate_st_entry_list *server_entries_list = NULL; ++struct annotate_st_entry_list *mailbox_rw_entries_list = NULL; ++ ++enum { ++ ANNOTATION_SCOPE_SERVER = 1, ++ ANNOTATION_SCOPE_MAILBOX = 2 ++}; ++ ++const struct annotate_attrib annotation_scope_names[] = ++{ ++ { "server", ANNOTATION_SCOPE_SERVER }, ++ { "mailbox", ANNOTATION_SCOPE_MAILBOX }, ++ { NULL, 0 } ++}; ++ ++const struct annotate_attrib annotation_proxy_type_names[] = ++{ ++ { "proxy", PROXY_ONLY }, ++ { "backend", BACKEND_ONLY }, ++ { "proxy_and_backend", PROXY_AND_BACKEND }, ++ { NULL, 0 } ++}; ++ ++const struct annotate_attrib attribute_type_names[] = ++{ ++ { "content-type", ATTRIB_TYPE_CONTENTTYPE }, ++ { "string", ATTRIB_TYPE_STRING }, ++ { "boolean", ATTRIB_TYPE_BOOLEAN }, ++ { "uint", ATTRIB_TYPE_UINT }, ++ { "int", ATTRIB_TYPE_INT }, ++ { NULL, 0 } ++}; ++ ++#define ANNOT_DEF_MAXLINELEN 1024 ++ ++int table_lookup(const struct annotate_attrib *table, ++ char* name, ++ size_t namelen, ++ char* errmsg) ++/* search in table for the value given by name and namelen (name is null-terminated, ++ but possibly more than just the key). errmsg is used to hint the user where we failed */ ++{ ++ char errbuf[ANNOT_DEF_MAXLINELEN*2]; ++ int entry; ++ ++ for (entry = 0; table[entry].name && ++ (strncasecmp(table[entry].name, name, namelen) ++ || table[entry].name[namelen] != '\0'); entry++); ++ ++ if (! table[entry].name) { ++ sprintf(errbuf, "invalid %s at '%s'", errmsg, name); ++ fatal(errbuf, EC_CONFIG); ++ } ++ return table[entry].entry; ++} ++ ++char *consume_comma(char* p) ++ /* advance beyond the next ',', skipping whitespace, fail if next non-space is no comma */ ++{ ++ char errbuf[ANNOT_DEF_MAXLINELEN*2]; ++ ++ for (; *p && isspace(*p); p++); ++ if (*p != ',') { ++ sprintf(errbuf, "',' expected, '%s' found parsing annotation definition", ++ p); ++ fatal(errbuf, EC_CONFIG); ++ } ++ p++; ++ for (; *p && isspace(*p); p++); ++ ++ return p; ++} ++ ++int parse_table_lookup_bitmask(const struct annotate_attrib *table, ++ char** s, ++ char* errmsg) ++ /* parses strings of the form value1 [ value2 [ ... ]] ++ value1 is mapped via table to ints and the result ored ++ whitespace is allowed between value names and punctuation ++ the field must end in '\0' or ',' ++ s is advanced to '\0' or ',' ++ on error errmsg is used to identify item to be parsed ++ */ ++{ ++ char errbuf[ANNOT_DEF_MAXLINELEN*2]; ++ int result = 0; ++ char *p, *p2; ++ ++ p = *s; ++ do { ++ p2 = p; ++ for (; *p && (isalnum(*p) || *p=='.' || *p=='-' || *p=='_' || *p=='/');p++); ++ result |= table_lookup(table, p2, p-p2, errmsg); ++ for (; *p && isspace(*p); p++); ++ } while (*p && *p != ','); ++ ++ *s = p; ++ return result; ++} ++ ++void init_annotation_definitions() ++{ ++ char *p, *p2, *tmp; ++ const char *filename; ++ char aline[ANNOT_DEF_MAXLINELEN]; ++ char errbuf[ANNOT_DEF_MAXLINELEN*2]; ++ struct annotate_st_entry_list *se, *me; ++ struct annotate_st_entry *ae; ++ int i; ++ FILE* f; ++ ++ /* NOTE: we assume # static entries > 0 */ ++ server_entries_list = xmalloc(sizeof(struct annotate_st_entry_list)); ++ mailbox_rw_entries_list = xmalloc(sizeof(struct annotate_st_entry_list)); ++ se = server_entries_list; ++ me = mailbox_rw_entries_list; ++ /* copy static entries into list */ ++ for (i = 0; server_entries[i].name;i++) { ++ se->entry = &server_entries[i]; ++ if (server_entries[i+1].name) { ++ se->next = xmalloc(sizeof(struct annotate_st_entry_list)); ++ se = se->next; ++ } ++ } ++ /* copy static entries into list */ ++ for (i = 0; mailbox_rw_entries[i].name;i++) { ++ me->entry = &mailbox_rw_entries[i]; ++ if (mailbox_rw_entries[i+1].name) { ++ me->next = xmalloc(sizeof(struct annotate_st_entry_list)); ++ me = me->next; ++ } ++ } ++ ++ /* parse config file */ ++ filename = config_getstring(IMAPOPT_ANNOTATION_DEFINITIONS); ++ ++ if (! filename) { ++ se->next = NULL; ++ me->next = NULL; ++ return; ++ } ++ ++ f = fopen(filename,"r"); ++ if (! f) { ++ sprintf(errbuf, "could not open annotation definiton %s", filename); ++ fatal(errbuf, EC_CONFIG); ++ } ++ ++ while (fgets(aline, sizeof(aline), f)) { ++ // remove leading space, skip blank lines and comments ++ for (p = aline; *p && isspace(*p); p++); ++ if (!*p || *p == '#') continue; ++ ++ // note, we only do the most basic validity checking and may ++ // be more restrictive than neccessary ++ ++ ae = xmalloc(sizeof(struct annotate_st_entry)); ++ ++ p2 = p; ++ for (; *p && (isalnum(*p) || *p=='.' || *p=='-' || *p=='_' || *p=='/');p++); ++ // TV-TODO: should test for empty ++ ae->name = xstrndup(p2, p-p2); ++ ++ p = consume_comma(p); ++ ++ p2 = p; ++ for (; *p && (isalnum(*p) || *p=='.' || *p=='-' || *p=='_' || *p=='/');p++); ++ ++ if (table_lookup(annotation_scope_names, p2, p-p2, ++ "annotation scope")==ANNOTATION_SCOPE_SERVER) { ++ se->next = xmalloc(sizeof(struct annotate_st_entry_list)); ++ se = se->next; ++ se->entry = ae; ++ } ++ else { ++ me->next = xmalloc(sizeof(struct annotate_st_entry_list)); ++ me = me->next; ++ me->entry = ae; ++ } ++ ++ p = consume_comma(p); ++ p2 = p; ++ for (; *p && (isalnum(*p) || *p=='.' || *p=='-' || *p=='_' || *p=='/');p++); ++ ae->type = table_lookup(attribute_type_names, p2, p-p2, ++ "attribute type"); ++ ++ p = consume_comma(p); ++ ae->proxytype = parse_table_lookup_bitmask(annotation_proxy_type_names, ++ &p, ++ "annotation proxy type"); ++ ++ p = consume_comma(p); ++ ae->attribs = parse_table_lookup_bitmask(annotation_attributes, ++ &p, ++ "annotation attributes"); ++ ++ p = consume_comma(p); ++ p2 = p; ++ for (; *p && (isalnum(*p) || *p=='.' || *p=='-' || *p=='_' || *p=='/');p++); ++ tmp = xstrndup(p2, p-p2); ++ ae->acl = cyrus_acl_strtomask(tmp); ++ free(tmp); ++ ++ for (; *p && isspace(*p); p++); ++ if (*p) { ++ sprintf(errbuf, "junk at end of line: '%s'", p); ++ fatal(errbuf, EC_CONFIG); ++ } ++ ++ ae->set = annotation_set_todb; ++ ae->rock = NULL; ++ } ++ ++ fclose(f); ++ se->next = NULL; ++ me->next = NULL; ++} ++ + int annotatemore_store(char *mailbox, + struct entryattlist *l, + struct namespace *namespace, +@@ -1844,7 +2073,7 @@ int annotatemore_store(char *mailbox, + struct entryattlist *e = l; + struct attvaluelist *av; + struct storedata sdata; +- const struct annotate_st_entry *entries; ++ const struct annotate_st_entry_list *entries, *currententry; + time_t now = time(0); + + memset(&sdata, 0, sizeof(struct storedata)); +@@ -1855,45 +2084,45 @@ int annotatemore_store(char *mailbox, + + if (!mailbox[0]) { + /* server annotations */ +- entries = server_entries; ++ entries = server_entries_list; + } + else { + /* mailbox annotation(s) */ +- entries = mailbox_rw_entries; ++ entries = mailbox_rw_entries_list; + } + + /* Build a list of callbacks for storing the annotations */ + while (e) { +- int entrycount, attribs; ++ int attribs; + struct annotate_st_entry_list *nentry = NULL; + + /* See if we support this entry */ +- for (entrycount = 0; +- entries[entrycount].name; +- entrycount++) { +- if (!strcmp(e->entry, entries[entrycount].name)) { ++ for (currententry = entries; ++ currententry; ++ currententry = currententry->next) { ++ if (!strcmp(e->entry, currententry->entry->name)) { + break; + } + } +- if (!entries[entrycount].name) { ++ if (!currententry) { + /* unknown annotation */ + return IMAP_PERMISSION_DENIED; + } + + /* Add this entry to our list only if it + applies to our particular server type */ +- if ((entries[entrycount].proxytype != PROXY_ONLY) ++ if ((currententry->entry->proxytype != PROXY_ONLY) + || proxy_store_func) { + nentry = xzmalloc(sizeof(struct annotate_st_entry_list)); + nentry->next = sdata.entry_list; +- nentry->entry = &(entries[entrycount]); ++ nentry->entry = currententry->entry; + nentry->shared.modifiedsince = now; + nentry->priv.modifiedsince = now; + sdata.entry_list = nentry; + } + + /* See if we are allowed to set the given attributes. */ +- attribs = entries[entrycount].attribs; ++ attribs = currententry->entry->attribs; + av = e->attvalues; + while (av) { + const char *value; +@@ -1903,7 +2132,7 @@ int annotatemore_store(char *mailbox, + goto cleanup; + } + value = annotate_canon_value(av->value, +- entries[entrycount].type); ++ currententry->entry->type); + if (!value) { + r = IMAP_ANNOTATION_BADVALUE; + goto cleanup; +@@ -1929,7 +2158,7 @@ int annotatemore_store(char *mailbox, + goto cleanup; + } + value = annotate_canon_value(av->value, +- entries[entrycount].type); ++ currententry->entry->type); + if (!value) { + r = IMAP_ANNOTATION_BADVALUE; + goto cleanup; +diff -r b693d1281318 lib/imapoptions +--- a/lib/imapoptions Thu Oct 25 08:21:36 2007 +0200 ++++ b/lib/imapoptions Thu Oct 25 08:24:37 2007 +0200 +@@ -152,6 +152,9 @@ are listed with ``<none>''. + user on their mailboxes? In a large organization this can cause + support problems, but it's enabled by default. */ + ++{ "annotation_definitions", NULL, STRING } ++/* File containing annotation definitions. */ ++ + { "auth_mech", "unix", STRINGLIST("unix", "pts", "krb", "krb5")} + /* The authorization mechanism to use. */ + diff --git a/net-mail/cyrus-imapd/files/cyrus-imapd-2.3.8-goodchars.patch b/net-mail/cyrus-imapd/files/cyrus-imapd-2.3.11-KOLAB_Folder-names.patch index 0148add..df55a3c 100644 --- a/net-mail/cyrus-imapd/files/cyrus-imapd-2.3.8-goodchars.patch +++ b/net-mail/cyrus-imapd/files/cyrus-imapd-2.3.11-KOLAB_Folder-names.patch @@ -1,7 +1,9 @@ -diff -upr ../cyrus-imapd-2.2.12.orig/imap/mboxname.c ./imap/mboxname.c ---- ../cyrus-imapd-2.2.12.orig/imap/mboxname.c 2005-02-14 07:39:57.000000000 +0100 -+++ ./imap/mboxname.c 2005-04-21 00:59:50.879253320 +0200 -@@ -649,8 +649,13 @@ int mboxname_netnewscheck(char *name) +Modifies the set of accepted characters in folder names for the cyrus imapd server [Version: 2.3.9] + +diff -r a83b43bb79a3 imap/mboxname.c +--- a/imap/mboxname.c Tue Dec 11 11:22:14 2007 +0100 ++++ b/imap/mboxname.c Tue Dec 11 11:22:22 2007 +0100 +@@ -712,8 +712,13 @@ int mboxname_netnewscheck(char *name) /* * Apply site policy restrictions on mailbox names. * Restrictions are hardwired for now. diff --git a/net-mail/cyrus-imapd/files/cyrus-imapd-2.3.8-group.patch b/net-mail/cyrus-imapd/files/cyrus-imapd-2.3.11-KOLAB_Groups.patch index fce3426..9e987f5 100644 --- a/net-mail/cyrus-imapd/files/cyrus-imapd-2.3.8-group.patch +++ b/net-mail/cyrus-imapd/files/cyrus-imapd-2.3.11-KOLAB_Groups.patch @@ -1,7 +1,9 @@ -diff -Naur cyrus-imapd-2.3.7.orig/lib/auth_unix.c cyrus-imapd-2.3.7/lib/auth_unix.c ---- cyrus-imapd-2.3.7.orig/lib/auth_unix.c 2006-10-03 17:46:02.000000000 +0200 -+++ cyrus-imapd-2.3.7/lib/auth_unix.c 2006-10-04 10:18:31.000000000 +0200 -@@ -48,6 +48,7 @@ +Allows to use a file other than /etc/groups for group definitions within the cyrus imapd server [Version: 2.3.9] + +diff -r 5f6f7a246f32 lib/auth_unix.c +--- a/lib/auth_unix.c Tue Dec 11 11:20:37 2007 +0100 ++++ b/lib/auth_unix.c Tue Dec 11 11:22:01 2007 +0100 +@@ -48,12 +48,133 @@ #include <stdlib.h> #include <pwd.h> #include <grp.h> @@ -9,11 +11,11 @@ diff -Naur cyrus-imapd-2.3.7.orig/lib/auth_unix.c cyrus-imapd-2.3.7/lib/auth_uni #include <ctype.h> #include <string.h> -@@ -55,6 +56,126 @@ + #include "auth.h" #include "libcyr_cfg.h" #include "xmalloc.h" - -+#ifdef __FreeBSD__ ++ ++#if defined(__FreeBSD__) || defined(__NetBSD__) || defined(__OpenBSD__) +/* + * __getgrent.c - This file is part of the libc-8086/grp package for ELKS, + * Copyright (C) 1995, 1996 Nat Friedman <ndf@linux.mit.edu>. @@ -132,11 +134,10 @@ diff -Naur cyrus-imapd-2.3.7.orig/lib/auth_unix.c cyrus-imapd-2.3.7/lib/auth_uni + return __getgrent(fileno(file), line_buff, members); +} +#endif /* __FreeBSD__ */ -+ + struct auth_state { char userid[81]; - char **group; -@@ -142,6 +263,25 @@ +@@ -142,6 +263,25 @@ static char allowedchars[256] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }; @@ -149,7 +150,7 @@ diff -Naur cyrus-imapd-2.3.7.orig/lib/auth_unix.c cyrus-imapd-2.3.7/lib/auth_uni + if (!groupfile) groupfile = fopen("/etc/group", "r"); + if (groupfile) { + while ((grp = fgetgrent(groupfile))) { -+ if (strcmp(grp->gr_name, name) == 0) { ++ if (strcasecmp(grp->gr_name, name) == 0) { + fclose(groupfile); + return grp; + } @@ -162,7 +163,7 @@ diff -Naur cyrus-imapd-2.3.7.orig/lib/auth_unix.c cyrus-imapd-2.3.7/lib/auth_uni /* * Convert 'identifier' into canonical form. * Returns a pointer to a static buffer containing the canonical form -@@ -177,7 +317,7 @@ +@@ -177,7 +317,7 @@ size_t len; */ if (!strncmp(retbuf, "group:", 6)) { @@ -171,18 +172,18 @@ diff -Naur cyrus-imapd-2.3.7.orig/lib/auth_unix.c cyrus-imapd-2.3.7/lib/auth_uni if (!grp) return 0; strcpy(retbuf+6, grp->gr_name); return retbuf; -@@ -224,6 +364,7 @@ - struct passwd *pwd; - struct group *grp; +@@ -228,6 +368,7 @@ static struct auth_state *mynewstate(con + int ret, ngroups = 10; + #else char **mem; + FILE *groupfile; + #endif identifier = mycanonifyid(identifier, 0); - if (!identifier) return 0; -@@ -240,20 +381,23 @@ +@@ -283,20 +424,23 @@ err: + if (groupids) free(groupids); - pwd = getpwnam(identifier); - + #else /* !HAVE_GETGROUPLIST */ - setgrent(); - while ((grp = getgrent())) { - for (mem = grp->gr_mem; *mem; mem++) { @@ -202,7 +203,7 @@ diff -Naur cyrus-imapd-2.3.7.orig/lib/auth_unix.c cyrus-imapd-2.3.7/lib/auth_uni + if (groupfile) { + while ((grp = fgetgrent(groupfile))) { + for (mem = grp->gr_mem; *mem; mem++) { -+ if (!strcmp(*mem, identifier)) break; ++ if (!strcasecmp(*mem, identifier)) break; + } + + if (*mem || (pwd && pwd->pw_gid == grp->gr_gid)) { @@ -214,6 +215,6 @@ diff -Naur cyrus-imapd-2.3.7.orig/lib/auth_unix.c cyrus-imapd-2.3.7/lib/auth_uni + } + fclose(groupfile); + } - return newstate; - } + #endif /* HAVE_GETGROUPLIST */ + return newstate; diff --git a/net-mail/cyrus-imapd/files/cyrus-imapd-2.3.11-KOLAB_Logging.patch b/net-mail/cyrus-imapd/files/cyrus-imapd-2.3.11-KOLAB_Logging.patch new file mode 100644 index 0000000..c0bd2fa --- /dev/null +++ b/net-mail/cyrus-imapd/files/cyrus-imapd-2.3.11-KOLAB_Logging.patch @@ -0,0 +1,58 @@ +Provides improved logging for the cyrus imapd server [Version: 2.3.9] + +diff -r 6162fc947b22 imap/append.c +--- a/imap/append.c Tue Dec 11 11:22:03 2007 +0100 ++++ b/imap/append.c Tue Dec 11 11:22:13 2007 +0100 +@@ -648,6 +648,9 @@ int append_fromstage(struct appendstate + + /* ok, we've successfully added a message */ + as->quota_used += message_index.size; ++ ++ syslog(LOG_DEBUG, "append_fromstage: message %d added to %s", ++ message_index.uid, mailbox->name ); + + return 0; + } +diff -r 6162fc947b22 imap/imapd.c +--- a/imap/imapd.c Tue Dec 11 11:22:03 2007 +0100 ++++ b/imap/imapd.c Tue Dec 11 11:22:13 2007 +0100 +@@ -3509,17 +3509,19 @@ void cmd_close(char *tag) + if (!r) sync_log_mailbox(imapd_mailbox->name); + } + ++ if (r) { ++ prot_printf(imapd_out, "%s NO %s\r\n", tag, error_message(r)); ++ } ++ else { ++ prot_printf(imapd_out, "%s OK %s\r\n", tag, ++ error_message(IMAP_OK_COMPLETED)); ++ syslog(LOG_DEBUG, "cmd_expunge: user %s, mailbox %s, sequence %s", ++ imapd_userid, imapd_mailbox->name, "''"); ++ } ++ + index_closemailbox(imapd_mailbox); + mailbox_close(imapd_mailbox); + imapd_mailbox = 0; +- +- if (r) { +- prot_printf(imapd_out, "%s NO %s\r\n", tag, error_message(r)); +- } +- else { +- prot_printf(imapd_out, "%s OK %s\r\n", tag, +- error_message(IMAP_OK_COMPLETED)); +- } + } + + /* +diff -r 6162fc947b22 imap/mailbox.c +--- a/imap/mailbox.c Tue Dec 11 11:22:03 2007 +0100 ++++ b/imap/mailbox.c Tue Dec 11 11:22:13 2007 +0100 +@@ -2520,6 +2520,8 @@ int mailbox_expunge(struct mailbox *mail + *(fname->tail)++ = '/'; + fname->len++; + for (msgno = 0; msgno < numdeleted; msgno++) { ++ syslog(LOG_DEBUG, "mailbox_expunge: removing mail %s:%d", ++ mailbox->name, deleted[msgno]); + mailbox_message_get_fname(mailbox, deleted[msgno], + fname->tail, + sizeof(fname->buf) - fname->len); diff --git a/net-mail/cyrus-imapd/files/cyrus-imapd-2.3.8-kolab.patch b/net-mail/cyrus-imapd/files/cyrus-imapd-2.3.11-KOLAB_UID.patch index afa2096..a044463 100644 --- a/net-mail/cyrus-imapd/files/cyrus-imapd-2.3.8-kolab.patch +++ b/net-mail/cyrus-imapd/files/cyrus-imapd-2.3.11-KOLAB_UID.patch @@ -1,7 +1,9 @@ -diff -Naur cyrus-imapd-2.3.7.orig/configure cyrus-imapd-2.3.7/configure ---- cyrus-imapd-2.3.7.orig/configure 2006-10-03 17:46:05.000000000 +0200 -+++ cyrus-imapd-2.3.7/configure 2006-10-04 10:31:58.000000000 +0200 -@@ -18092,7 +18092,7 @@ +Allows login by uid rather than the mail address on the cyrus imapd server [Version: 2.3.9] + +diff -r d62bf3b0902d configure +--- a/configure Thu Oct 25 08:30:57 2007 +0200 ++++ b/configure Thu Oct 25 08:31:06 2007 +0200 +@@ -18119,7 +18119,7 @@ done done IMAP_COM_ERR_LIBS="${COM_ERR_LIBS}" @@ -10,9 +12,9 @@ diff -Naur cyrus-imapd-2.3.7.orig/configure cyrus-imapd-2.3.7/configure -diff -Naur cyrus-imapd-2.3.7.orig/imap/global.c cyrus-imapd-2.3.7/imap/global.c ---- cyrus-imapd-2.3.7.orig/imap/global.c 2006-10-03 17:46:03.000000000 +0200 -+++ cyrus-imapd-2.3.7/imap/global.c 2006-10-04 10:31:58.000000000 +0200 +diff -r d62bf3b0902d imap/global.c +--- a/imap/global.c Thu Oct 25 08:30:57 2007 +0200 ++++ b/imap/global.c Thu Oct 25 08:31:06 2007 +0200 @@ -52,6 +52,9 @@ #include <netinet/in.h> #include <sys/stat.h> @@ -23,7 +25,7 @@ diff -Naur cyrus-imapd-2.3.7.orig/imap/global.c cyrus-imapd-2.3.7/imap/global.c #if HAVE_UNISTD_H # include <unistd.h> #endif -@@ -355,6 +358,18 @@ +@@ -362,6 +365,18 @@ char *canonify_userid(char *user, char * char *domain = NULL; int len = strlen(user); char buf[81]; @@ -42,7 +44,7 @@ diff -Naur cyrus-imapd-2.3.7.orig/imap/global.c cyrus-imapd-2.3.7/imap/global.c /* check for domain */ if (config_virtdomains && -@@ -373,6 +388,47 @@ +@@ -380,6 +395,47 @@ char *canonify_userid(char *user, char * } if (config_virtdomains) { @@ -90,7 +92,7 @@ diff -Naur cyrus-imapd-2.3.7.orig/imap/global.c cyrus-imapd-2.3.7/imap/global.c if (domain) { if (config_defdomain && !strcasecmp(config_defdomain, domain+1)) { *domain = '\0'; /* trim the default domain */ -@@ -385,7 +441,7 @@ +@@ -392,7 +448,7 @@ char *canonify_userid(char *user, char * user = buf; } } @@ -99,10 +101,10 @@ diff -Naur cyrus-imapd-2.3.7.orig/imap/global.c cyrus-imapd-2.3.7/imap/global.c socklen_t salen; int error; struct sockaddr_storage localaddr; -diff -Naur cyrus-imapd-2.3.7.orig/lib/imapoptions cyrus-imapd-2.3.7/lib/imapoptions ---- cyrus-imapd-2.3.7.orig/lib/imapoptions 2006-10-03 17:46:02.000000000 +0200 -+++ cyrus-imapd-2.3.7/lib/imapoptions 2006-10-04 10:31:58.000000000 +0200 -@@ -998,7 +998,7 @@ +diff -r d62bf3b0902d lib/imapoptions +--- a/lib/imapoptions Thu Oct 25 08:30:57 2007 +0200 ++++ b/lib/imapoptions Thu Oct 25 08:31:06 2007 +0200 +@@ -1034,7 +1034,7 @@ are listed with ``<none>''. mailbox hierarchy. The default is to use the netnews separator character '.'. */ @@ -111,26 +113,3 @@ diff -Naur cyrus-imapd-2.3.7.orig/lib/imapoptions cyrus-imapd-2.3.7/lib/imapopti /* Enable virtual domain support. If enabled, the user's domain will be determined by splitting a fully qualified userid at the last '@' or '%' symbol. If the userid is unqualified, and the virtdomains -diff -Naur cyrus-imapd-2.3.7.orig/lib/imapopts.c cyrus-imapd-2.3.7/lib/imapopts.c ---- cyrus-imapd-2.3.7.orig/lib/imapopts.c 2006-10-03 17:46:02.000000000 +0200 -+++ cyrus-imapd-2.3.7/lib/imapopts.c 2006-10-04 10:31:58.000000000 +0200 -@@ -213,7 +213,7 @@ - { IMAPOPT_USERPREFIX, "userprefix", 0, {(void *)("Other Users")}, OPT_STRING, { { NULL, IMAP_ENUM_ZERO } } }, - { IMAPOPT_UNIX_GROUP_ENABLE, "unix_group_enable", 0, {(void*)1}, OPT_SWITCH, { { NULL, IMAP_ENUM_ZERO } } }, - { IMAPOPT_UNIXHIERARCHYSEP, "unixhierarchysep", 0, {(void*)0}, OPT_SWITCH, { { NULL, IMAP_ENUM_ZERO } } }, -- { IMAPOPT_VIRTDOMAINS, "virtdomains", 0, {(void *)(IMAP_ENUM_VIRTDOMAINS_OFF)}, OPT_ENUM, { { "off" , IMAP_ENUM_VIRTDOMAINS_OFF }, { "userid" , IMAP_ENUM_VIRTDOMAINS_USERID }, { "on" , IMAP_ENUM_VIRTDOMAINS_ON }, { NULL, IMAP_ENUM_ZERO } } }, -+ { IMAPOPT_VIRTDOMAINS, "virtdomains", 0, {(void *)(IMAP_ENUM_VIRTDOMAINS_OFF)}, OPT_ENUM, { { "off" , IMAP_ENUM_VIRTDOMAINS_OFF }, { "userid" , IMAP_ENUM_VIRTDOMAINS_USERID }, { "ldap" , IMAP_ENUM_VIRTDOMAINS_LDAP }, { "on" , IMAP_ENUM_VIRTDOMAINS_ON }, { NULL, IMAP_ENUM_ZERO } } }, - - { IMAPOPT_LAST, NULL, 0, { NULL }, OPT_NOTOPT, { { NULL, IMAP_ENUM_ZERO } } } - -diff -Naur cyrus-imapd-2.3.7.orig/lib/imapopts.h cyrus-imapd-2.3.7/lib/imapopts.h ---- cyrus-imapd-2.3.7.orig/lib/imapopts.h 2006-10-03 17:46:02.000000000 +0200 -+++ cyrus-imapd-2.3.7/lib/imapopts.h 2006-10-04 10:33:45.000000000 +0200 -@@ -214,6 +214,7 @@ - - IMAP_ENUM_VIRTDOMAINS_ON, - IMAP_ENUM_VIRTDOMAINS_USERID, -+ IMAP_ENUM_VIRTDOMAINS_LDAP, - IMAP_ENUM_VIRTDOMAINS_OFF = 0, - IMAP_ENUM_SIEVE_EXTENSIONS_COPY = (1<<11), - IMAP_ENUM_SIEVE_EXTENSIONS_SUBADDRESS = (1<<10), diff --git a/net-mail/cyrus-imapd/files/cyrus-imapd-2.3.11-KOLAB_starttls-sendcaps.patch b/net-mail/cyrus-imapd/files/cyrus-imapd-2.3.11-KOLAB_starttls-sendcaps.patch new file mode 100644 index 0000000..48524e9 --- /dev/null +++ b/net-mail/cyrus-imapd/files/cyrus-imapd-2.3.11-KOLAB_starttls-sendcaps.patch @@ -0,0 +1,19 @@ +This patch was downloaded from https://bugzilla.andrew.cmu.edu/cgi-bin/cvsweb.cgi/src/cyrus/timsieved/parser.c.diff?r1=1.44;r2=1.45 +(minus the CVS keywords) + +It should be reverse-applied with patch -p2 -R to work around the kontact +behaviour described in kolab/issue2443 (kontact aborts sieve when imapd sends +capabilities after starttls) and can be dropped as soon as kontact has a way +to work with old and new cyrus imapd servers. + +--- a/timsieved/parser.c 2007/11/26 20:23:06 1.44 ++++ b/timsieved/parser.c 2007/12/10 14:47:08 1.45 +@@ -861,7 +861,7 @@ static int cmd_starttls(struct protstrea + + starttls_done = 1; + +- return capabilities(sieved_out, sieved_saslconn, starttls_done, authenticated); ++ return result; + } + #else + static int cmd_starttls(struct protstream *sieved_out, struct protstream *sieved_in) diff --git a/net-mail/cyrus-imapd/files/cyrus-imapd-2.3.11-drac_with_autocreate.patch b/net-mail/cyrus-imapd/files/cyrus-imapd-2.3.11-drac_with_autocreate.patch new file mode 100644 index 0000000..5e7929d --- /dev/null +++ b/net-mail/cyrus-imapd/files/cyrus-imapd-2.3.11-drac_with_autocreate.patch @@ -0,0 +1,46 @@ +--- contrib/drac_auth.patch.orig 2008-01-02 20:22:53.244043151 +0100 ++++ contrib/drac_auth.patch 2008-01-02 20:23:42.858474159 +0100 +@@ -107,23 +107,23 @@ + DEPLIBS = ../lib/libcyrus.a ../lib/libcyrus_min.a @DEPLIBS@ + + @@ -201,17 +202,17 @@ +- imapd: $(IMAPDOBJS) mutex_fake.o libimap.a $(DEPLIBS) $(SERVICE) ++ imapd: $(IMAPDOBJS) mutex_fake.o libimap.a $(SIEVE_LIBS) $(DEPLIBS) $(SERVICE) + $(CC) $(LDFLAGS) -o imapd \ + $(SERVICE) $(IMAPDOBJS) mutex_fake.o \ +-- libimap.a $(DEPLIBS) $(LIBS) $(LIB_WRAP) +-+ libimap.a $(DEPLIBS) $(LIBS) $(LIB_WRAP) $(DRAC_LIBS) ++- libimap.a $(SIEVE_LIBS) $(DEPLIBS) $(LIBS) $(LIB_WRAP) +++ libimap.a $(SIEVE_LIBS) $(DEPLIBS) $(LIBS) $(LIB_WRAP) $(DRAC_LIBS) + +- imapd.pure: $(IMAPDOBJS) mutex_fake.o libimap.a $(DEPLIBS) $(SERVICE) ++ imapd.pure: $(IMAPDOBJS) mutex_fake.o libimap.a $(SIEVE_LIBS) $(DEPLIBS) $(SERVICE) + $(PURIFY) $(PUREOPT) $(CC) $(LDFLAGS) -o imapd.pure \ + $(SERVICE) $(IMAPDOBJS) mutex_fake.o libimap.a \ +-- $(DEPLIBS) $(LIBS) $(LIB_WRAP) +-+ $(DEPLIBS) $(LIBS) $(LIB_WRAP) $(DRAC_LIBS) ++- $(SIEVE_LIBS) $(DEPLIBS) $(LIBS) $(LIB_WRAP) +++ $(SIEVE_LIBS) $(DEPLIBS) $(LIBS) $(LIB_WRAP) $(DRAC_LIBS) + +- imapd.quant: $(IMAPDOBJS) mutex_fake.o libimap.a $(DEPLIBS) $(SERVICE) ++ imapd.quant: $(IMAPDOBJS) mutex_fake.o libimap.a $(SIEVE_LIBS) $(DEPLIBS) $(SERVICE) + $(QUANTIFY) $(QUANTOPT) $(CC) $(LDFLAGS) -o imapd.quant \ + $(SERVICE) $(IMAPDOBJS) mutex_fake.o libimap.a \ +-- $(DEPLIBS) $(LIBS) $(LIB_WRAP) +-+ $(DEPLIBS) $(LIBS) $(LIB_WRAP) $(DRAC_LIBS) ++- $(SIEVE_LIBS) $(DEPLIBS) $(LIBS) $(LIB_WRAP) +++ $(SIEVE_LIBS) $(DEPLIBS) $(LIBS) $(LIB_WRAP) $(DRAC_LIBS) + + mupdate: mupdate.o mupdate-slave.o mupdate-client.o mutex_pthread.o tls.o \ + libimap.a $(DEPLIBS) +@@ -131,8 +131,8 @@ + pop3d: pop3d.o proxy.o backend.o tls.o mutex_fake.o libimap.a \ + $(DEPLIBS) $(SERVICE) + $(CC) $(LDFLAGS) -o pop3d pop3d.o proxy.o backend.o tls.o $(SERVICE) \ +-- mutex_fake.o libimap.a $(DEPLIBS) $(LIBS) $(LIB_WRAP) +-+ mutex_fake.o libimap.a $(DEPLIBS) $(LIBS) $(LIB_WRAP) $(DRAC_LIBS) ++- mutex_fake.o libimap.a $(SIEVE_LIBS) $(DEPLIBS) $(LIBS) $(LIB_WRAP) +++ mutex_fake.o libimap.a $(SIEVE_LIBS) $(DEPLIBS) $(LIBS) $(LIB_WRAP) $(DRAC_LIBS) + + nntpd: nntpd.o proxy.o backend.o index.o smtpclient.o spool.o tls.o \ + mutex_fake.o nntp_err.o libimap.a $(DEPLIBS) $(SERVICE) diff --git a/net-mail/cyrus-imapd/files/cyrus-imapd-2.3.8-annotate.patch b/net-mail/cyrus-imapd/files/cyrus-imapd-2.3.8-annotate.patch deleted file mode 100644 index f01d7d9..0000000 --- a/net-mail/cyrus-imapd/files/cyrus-imapd-2.3.8-annotate.patch +++ /dev/null @@ -1,113 +0,0 @@ -diff -Naur cyrus-imapd-2.3.7.orig/imap/annotate.c cyrus-imapd-2.3.7/imap/annotate.c ---- cyrus-imapd-2.3.7.orig/imap/annotate.c 2006-10-03 17:46:04.000000000 +0200 -+++ cyrus-imapd-2.3.7/imap/annotate.c 2006-10-04 09:27:37.000000000 +0200 -@@ -1793,6 +1793,11 @@ - { NULL, 0, ANNOTATION_PROXY_T_INVALID, 0, 0, NULL, NULL } - }; - -+const struct annotate_st_entry vendor_entry = -+ { NULL, ATTRIB_TYPE_STRING, BACKEND_ONLY, -+ ATTRIB_VALUE_SHARED | ATTRIB_VALUE_PRIV, -+ ACL_ADMIN, annotation_set_todb, NULL }; -+ - int annotatemore_store(char *mailbox, - struct entryattlist *l, - struct namespace *namespace, -@@ -1805,6 +1810,7 @@ - struct attvaluelist *av; - struct storedata sdata; - const struct annotate_st_entry *entries; -+ struct annotate_st_entry * working_entry; - time_t now = time(0); - - memset(&sdata, 0, sizeof(struct storedata)); -@@ -1826,34 +1832,52 @@ - while (e) { - int entrycount, attribs; - struct annotate_st_entry_list *nentry = NULL; -+ struct annotate_st_entry *ientry = NULL; - - /* See if we support this entry */ -+ working_entry = NULL; - for (entrycount = 0; - entries[entrycount].name; - entrycount++) { - if (!strcmp(e->entry, entries[entrycount].name)) { -+ working_entry = &(entries[entrycount]); - break; - } - } -- if (!entries[entrycount].name) { -- /* unknown annotation */ -- return IMAP_PERMISSION_DENIED; -+ if (working_entry==NULL) { -+ /* test for generic vendor annotation */ -+ if ((strncmp("/vendor/", e->entry, strlen("/vendor/"))==0) && -+ (strlen(e->entry)>strlen("/vendor/"))) { -+ working_entry = &(vendor_entry); -+ } -+ else { -+ /* unknown annotation */ -+ return IMAP_PERMISSION_DENIED; -+ } - } - - /* Add this entry to our list only if it - applies to our particular server type */ -- if ((entries[entrycount].proxytype != PROXY_ONLY) -+ if ((working_entry->proxytype != PROXY_ONLY) - || proxy_store_func) { -+ ientry = xzmalloc(sizeof(struct annotate_st_entry)); -+ ientry->name = e->entry; -+ ientry->type = working_entry->type; -+ ientry->proxytype = working_entry->proxytype; -+ ientry->attribs = working_entry->attribs; -+ ientry->acl = working_entry->acl; -+ ientry->set = working_entry->set; -+ ientry->rock = working_entry->rock; - nentry = xzmalloc(sizeof(struct annotate_st_entry_list)); - nentry->next = sdata.entry_list; -- nentry->entry = &(entries[entrycount]); -+ nentry->entry = ientry; - nentry->shared.modifiedsince = now; - nentry->priv.modifiedsince = now; - sdata.entry_list = nentry; - } - - /* See if we are allowed to set the given attributes. */ -- attribs = entries[entrycount].attribs; -+ attribs = working_entry->attribs; - av = e->attvalues; - while (av) { - const char *value; -@@ -1863,7 +1887,7 @@ - goto cleanup; - } - value = annotate_canon_value(av->value, -- entries[entrycount].type); -+ working_entry->type); - if (!value) { - r = IMAP_ANNOTATION_BADVALUE; - goto cleanup; -@@ -1889,7 +1913,7 @@ - goto cleanup; - } - value = annotate_canon_value(av->value, -- entries[entrycount].type); -+ working_entry->type); - if (!value) { - r = IMAP_ANNOTATION_BADVALUE; - goto cleanup; -@@ -1993,6 +2017,12 @@ - /* Free the entry list */ - while (sdata.entry_list) { - struct annotate_st_entry_list *freeme = sdata.entry_list; -+ if (freeme != NULL){ -+ struct annotate_st_entry *freeme2 = freeme->entry; -+ if (freeme2 != NULL) { -+ free( freeme2 ); -+ } -+ } - sdata.entry_list = sdata.entry_list->next; - free(freeme); - } diff --git a/net-mail/cyrus-imapd/files/cyrus-imapd-2.3.8-group2.patch b/net-mail/cyrus-imapd/files/cyrus-imapd-2.3.8-group2.patch deleted file mode 100644 index 088ae36..0000000 --- a/net-mail/cyrus-imapd/files/cyrus-imapd-2.3.8-group2.patch +++ /dev/null @@ -1,20 +0,0 @@ ---- ../cyrus-imapd-2.2.6.kolab-orig/lib/auth_unix.c 2004-10-09 00:07:45.000000000 +0200 -+++ lib/auth_unix.c 2004-10-09 00:29:58.000000000 +0200 -@@ -274,7 +274,7 @@ static struct group* fgetgrnam(const cha - if (!groupfile) groupfile = fopen("/etc/group", "r"); - if (groupfile) { - while ((grp = fgetgrent(groupfile))) { -- if (strcmp(grp->gr_name, name) == 0) { -+ if (strcasecmp(grp->gr_name, name) == 0) { - fclose(groupfile); - return grp; - } -@@ -386,7 +386,7 @@ struct auth_state *auth_newstate(const c - if (groupfile) { - while ((grp = fgetgrent(groupfile))) { - for (mem = grp->gr_mem; *mem; mem++) { -- if (!strcmp(*mem, identifier)) break; -+ if (!strcasecmp(*mem, identifier)) break; - } - - if (*mem || (pwd && pwd->pw_gid == grp->gr_gid)) { diff --git a/net-mail/cyrus-imapd/files/cyrus-imapd-2.3.8-morelogging.patch b/net-mail/cyrus-imapd/files/cyrus-imapd-2.3.8-morelogging.patch deleted file mode 100644 index aad54b6..0000000 --- a/net-mail/cyrus-imapd/files/cyrus-imapd-2.3.8-morelogging.patch +++ /dev/null @@ -1,37 +0,0 @@ -diff -Naur cyrus-imapd-2.3.7.orig/imap/append.c cyrus-imapd-2.3.7/imap/append.c ---- cyrus-imapd-2.3.7.orig/imap/append.c 2006-10-03 17:46:03.000000000 +0200 -+++ cyrus-imapd-2.3.7/imap/append.c 2006-10-04 10:53:13.000000000 +0200 -@@ -652,6 +652,9 @@ - /* ok, we've successfully added a message */ - as->quota_used += message_index.size; - -+ syslog(LOG_DEBUG, "append_fromstage: message %d added to %s", -+ message_index.uid, mailbox->name ); -+ - return 0; - } - -diff -Naur cyrus-imapd-2.3.7.orig/imap/imapd.c cyrus-imapd-2.3.7/imap/imapd.c ---- cyrus-imapd-2.3.7.orig/imap/imapd.c 2006-10-03 17:46:04.000000000 +0200 -+++ cyrus-imapd-2.3.7/imap/imapd.c 2006-10-04 10:53:13.000000000 +0200 -@@ -3494,6 +3494,8 @@ - else { - prot_printf(imapd_out, "%s OK %s\r\n", tag, - error_message(IMAP_OK_COMPLETED)); -+ syslog(LOG_DEBUG, "cmd_expunge: user %s, mailbox %s, sequence %s", -+ imapd_userid, imapd_mailbox->name, "''"); - } - } - -diff -Naur cyrus-imapd-2.3.7.orig/imap/mailbox.c cyrus-imapd-2.3.7/imap/mailbox.c ---- cyrus-imapd-2.3.7.orig/imap/mailbox.c 2006-10-03 17:46:04.000000000 +0200 -+++ cyrus-imapd-2.3.7/imap/mailbox.c 2006-10-04 10:53:27.000000000 +0200 -@@ -2455,6 +2455,8 @@ - *(fname->tail)++ = '/'; - fname->len++; - for (msgno = 0; msgno < numdeleted; msgno++) { -+ syslog(LOG_DEBUG, "mailbox_expunge: removing mail %s:%d", -+ mailbox->name, deleted[msgno]); - mailbox_message_get_fname(mailbox, deleted[msgno], - fname->tail, - sizeof(fname->buf) - fname->len); diff --git a/net-mail/cyrus-imapd/files/cyrus-imapd-2.3.8-pts.patch b/net-mail/cyrus-imapd/files/cyrus-imapd-2.3.8-pts.patch deleted file mode 100644 index a7bd428..0000000 --- a/net-mail/cyrus-imapd/files/cyrus-imapd-2.3.8-pts.patch +++ /dev/null @@ -1,21 +0,0 @@ ---- configure.in.old 2007-07-28 13:02:41.505734616 +0200 -+++ configure.in 2007-07-28 13:04:37.431049483 +0200 -@@ -563,12 +563,12 @@ - LDFLAGS=$save_LDFLAGS - fi - --if test "x$with_afs" != "xno" -o "x$with_ldap" != "xno"; then -- EXTRA_SUBDIRS="${EXTRA_SUBDIRS} ptclient" -- EXTRA_OUTPUT="${EXTRA_OUTPUT} ptclient/Makefile" -- -- AC_DEFINE(WITH_PTS,[],[Build in PTS support?]) --fi -+#if test "x$with_afs" != "xno" -o "x$with_ldap" != "xno"; then -+# EXTRA_SUBDIRS="${EXTRA_SUBDIRS} ptclient" -+# EXTRA_OUTPUT="${EXTRA_OUTPUT} ptclient/Makefile" -+# -+# AC_DEFINE(WITH_PTS,[],[Build in PTS support?]) -+#fi - - - diff --git a/net-mail/cyrus-imapd/files/cyrus-imapd-unsupported-8bit.patch b/net-mail/cyrus-imapd/files/cyrus-imapd-unsupported-8bit.patch deleted file mode 100644 index cf60844..0000000 --- a/net-mail/cyrus-imapd/files/cyrus-imapd-unsupported-8bit.patch +++ /dev/null @@ -1,79 +0,0 @@ ---- cyrus-imapd-2.2.10/imap/message.c.munge8bit 2004-02-27 18:44:55.000000000 +0100 -+++ cyrus-imapd-2.2.10/imap/message.c 2004-07-27 18:20:13.725563440 +0200 -@@ -227,6 +227,7 @@ - int n; - int sawcr = 0, sawnl; - int reject8bit = config_getswitch(IMAPOPT_REJECT8BIT); -+ int munge8bit = config_getswitch(IMAPOPT_MUNGE8BIT); - int inheader = 1, blankline = 1; - - while (size) { -@@ -262,7 +263,7 @@ - /* We have been configured to reject all mail of this - form. */ - if (!r) r = IMAP_MESSAGE_CONTAINS8BIT; -- } else { -+ } else if (munge8bit) { - /* We have been configured to munge all mail of this - form. */ - *p = 'X'; ---- cyrus-imapd-2.2.10/imap/spool.c.munge8bit 2004-03-04 17:09:34.000000000 +0100 -+++ cyrus-imapd-2.2.10/imap/spool.c 2004-07-27 18:20:13.726563149 +0200 -@@ -140,6 +140,7 @@ - state s = NAME_START; - int r = 0; - int reject8bit = config_getswitch(IMAPOPT_REJECT8BIT); -+ int munge8bit = config_getswitch(IMAPOPT_MUNGE8BIT); - const char **skip = NULL; - - if (namelen == 0) { -@@ -266,7 +267,7 @@ - form. */ - r = IMAP_MESSAGE_CONTAINS8BIT; - goto ph_error; -- } else { -+ } else if (munge8bit) { - /* We have been configured to munge all mail of this - form. */ - c = 'X'; ---- cyrus-imapd-2.2.10/lib/imapoptions.munge8bit 2004-07-21 21:07:45.000000000 +0200 -+++ cyrus-imapd-2.2.10/lib/imapoptions 2004-07-27 18:20:13.722564314 +0200 -@@ -458,6 +458,12 @@ - { "mboxlist_db", "skiplist", STRINGLIST("flat", "berkeley", "skiplist")} - /* The cyrusdb backend to use for the mailbox list. */ - -+{ "munge8bit", 1, SWITCH } -+/* If enabled, lmtpd munges messages with 8-bit characters. These characters -+ are changed to . If \fBreject8bit\fR is enabled, setting \fBmunge8bit\fR -+ has no effect. (A proper soultion to non-ASCII characters in headers is -+ offered by RFC 2047 and its predecessors.) */ -+ - # xxx badly worded - { "mupdate_connections_max", 128, INT } - /* The max number of connections that a mupdate process will allow, this -@@ -670,9 +676,7 @@ - - { "reject8bit", 0, SWITCH } - /* If enabled, lmtpd rejects messages with 8-bit characters in the -- headers. Otherwise, 8-bit characters are changed to `X'. (A -- proper soultion to non-ASCII characters in headers is offered by -- RFC 2047 and its predecessors.) */ -+ headers. */ - - { "rfc2046_strict", 0, SWITCH } - /* If enabled, imapd will be strict (per RFC 2046) when matching MIME ---- cyrus-imapd-2.2.10/man/deliver.8.munge8bit 2004-06-21 20:40:10.000000000 +0200 -+++ cyrus-imapd-2.2.10/man/deliver.8 2004-07-27 18:20:13.719565188 +0200 -@@ -147,8 +147,10 @@ - Accept messages using the LMTP protocol. - .SH NOTES - Depending on the setting of \fBreject8bit\fR in \fBimapd.conf(5)\fR, deliver --either rejects messages with 8-bit-set characters in the headers or --changes these characters to `X'. -+either rejects/accepts messages with 8-bit-set characters in the headers. -+If we accept messages with 8-bit-set characters in the headers, then depending -+on the setting of \fBmunge8bit\fR, these characters are either left un-touched -+or changed to . - This is because such characters can't be interpreted since the - character set is not known, although some communities not well-served by - US-ASCII assume that those characters can be used to represent characters not |