add systemd files and also force swig1.3 and add gcc 4.7 patch and add clucene 2.3.x patch

Package-Manager: portage-2.2.0_alpha188
RepoMan-Options: --force
This commit is contained in:
Mario Fetka 2013-08-15 17:42:34 +02:00
parent d0164d71f8
commit aa026fbb56
28 changed files with 1506 additions and 703 deletions

View File

@ -2,6 +2,30 @@
# Copyright 1999-2013 Gentoo Foundation; Distributed under the GPL v2
# $Header: $
15 Aug 2013; Mario Fetka <mario.fetka@gmail.com>
+files/7.1.5.42059/zarafa-01-oss-configure.patch,
+files/7.1.5.42059/zarafa-06-sizeof-char.patch,
+files/7.1.5.42059/zarafa-22-gcc47.patch,
+files/7.1.5.42059/zarafa-23-newclucene.patch,
+files/7.1.5.42059/zarafa-24-undefined-behavior.patch,
+files/7.1.5.42059/zarafa-25-imap-maxfail.patch,
+files/7.1.5.42059/zarafa-30-ac-typos.patch,
+files/7.1.5.42059/zarafa-35-embedded-mysql.patch,
+files/7.1.5.42059/zarafa-7.1.5-gentoo-swig1.3.patch,
+files/zarafa-bash-completion.sh, +files/zarafa-dagent.service,
+files/zarafa-gateway.service, +files/zarafa-ical.service,
+files/zarafa-licensed.service, +files/zarafa-monitor.service,
+files/zarafa-search.service, +files/zarafa-server.service,
+files/zarafa-spooler.service, -files/7.1.4.41394/Datux-sendas.patch,
-files/7.1.4.41394/Datux-spamhook.patch,
-files/7.1.4.41394/zarafa-7.0.3-sysconfig2confd-1.patch,
-files/7.1.4.41394/zarafa-7.1.3-package.patch,
-files/7.1.4.41394/zarafa-7.1.4-tcmalloc.patch,
-files/7.1.5.42059/zarafa-7.1.3-package.patch, -zarafa-7.1.4.41394.ebuild,
zarafa-7.1.5.42059.ebuild:
add systemd files and also force swig1.3 and add gcc 4.7 patch and add clucene
2.3.x patch
*zarafa-7.1.5.42059 (30 Jul 2013)
30 Jul 2013; Mario Fetka <mario.fetka@gmail.com>

View File

@ -1,32 +1,44 @@
AUX 50_zarafa-webaccess-mobile.conf 298 SHA256 7019d90fae91e2efb54c2b002ff3ee40de5a684686a74753385514b6abbe8581 SHA512 e6bf51ba872747d6cdca64e52e6fb0659d3b3e6fffd5f72fe2dda0aa04aa62a8273a1b11f66d7a9f9baf115257a9008367212a2cc1d987a9379494cd810779cb WHIRLPOOL 09948e764b0927b7bfbcaf411ae32ed2d95ca524ca6e8acee854a7cb68d3f2587092d6085c93d876aa2bec9b8eed2337bd3300cbb7c677549804dd4a7d48400a
AUX 50_zarafa-webaccess.conf 270 SHA256 ddf11e70107c2d6eaf40ba8253e2118822ee66eddaf471afebca248ba71e85a6 SHA512 b12f5fa4eae45c7b200d379722afb9c2d6d004d9fd7eb3c6f185ce985cb24937cb7a171ea36017306080a90032135b114f5a50b6098d1796244cba88e258576f WHIRLPOOL f4ab0a1f4cbff18866aa0279c2f5daf998b972ff31119b682bfae4eb9e29f9493295770a47ca60932470edc14aea12239f2ec9923040d3f1e286b8adb3f23f22
AUX 7.1.4.41394/Datux-sendas.patch 2439 SHA256 c2692144549cf5b0aad5aea3199c7655db3d6d8d62c8fc65a0333f7def98f5dc SHA512 64e3f43d703265d8aa9d6e2632fac68d1571409414dd48781593855f7def5f2d034501febf626bd809a748eaa8cff743f5e268a71ecd61dd41505f0157105f3e WHIRLPOOL 32fdb7136ee25d7381d3dbd690ca375e01ae097a521a2a42bdd90434b5c7b815e8eddb86ae7958c7be694107c693a543320e5c5455326fa0df618f3c452de048
AUX 7.1.4.41394/Datux-spamhook.patch 8890 SHA256 e67e6178d27f78530b727ca7cc4e96cd1e9e3173fa20547cd132464f70d207f5 SHA512 5e11dc0940441e208d877a31d74ba077abd388982859e7c3d6c0f42551ad362d0e9991d2a6ea2b62d794ea84564222ef376025a2b50e60293684cdbd5ec566a4 WHIRLPOOL 7751cb4ceec3abf6261917fa518486fc4c534a6b9888e3fa091f9d86832cac229bb6ace87a33b20de7c68d7de7ac947826e3f360d1c185170587ab287b1bcc56
AUX 7.1.4.41394/zarafa-7.0.3-sysconfig2confd-1.patch 4843 SHA256 c9196a886f8435dcb2f82b92c6ee4769daf1eeb76b2fdfad4980a88cff461359 SHA512 6b683018a834ca666b0c96226a63280f3a3cde5e1e392e1e9f5681fa870669bbff27ebd719390aeebf670bcf3ba7b05ef0c27a77a039c0099fdc97dec4f0f36d WHIRLPOOL dd8e19057dc40785bee25846b399fec8ec5b61fd43586361a5131ef2a9f3e1dcd36db8290e7a0695b6a0a2fa01dca42581dc8e517bafe9290008f3ec38c3a372
AUX 7.1.4.41394/zarafa-7.1.3-package.patch 2008 SHA256 1348391d8a6a708c9359454e7e280e88d928f48aa05170a55dba8f00b6a126c4 SHA512 01d328333e9f04262fa5dba9fd879b6527c809ec920a503e3efe7f95fbd61c2104cdc68d41c55c5baf17c9b5fa7c98cca5fb52c9e71a280da3b6897f26be21fe WHIRLPOOL ce2e13c823695bd3d28c0bc1d0690173ebd254a1eb86e6209d12cc000bc2f744b7e6188473e00825e534c0aec0c78e620de974c112734b2458f264ddfe46b723
AUX 7.1.4.41394/zarafa-7.1.4-tcmalloc.patch 679 SHA256 3f982a2a37a42092a4878c7d7af0b235ae8327f26c0f5fe0ea253cbfcc236018 SHA512 086cbabb7d87ee3218de76f3f42cf3fcd9e1abdc289c6a9280556e3ef8812142da68dadb2e0d4da3355382fea27f3f3f3a37d943ef926f064d4bc9f0884c78de WHIRLPOOL 8e1d57b82d896127b384159ebb4b19457a3431250af1029d5cf214f5492f8f78b3c3baa8cf12baa39b2dbeddfa5672c4d5ce97b6a44bf230469d6074a02c829b
AUX 7.1.5.42059/Datux-sendas.patch 2439 SHA256 c2692144549cf5b0aad5aea3199c7655db3d6d8d62c8fc65a0333f7def98f5dc SHA512 64e3f43d703265d8aa9d6e2632fac68d1571409414dd48781593855f7def5f2d034501febf626bd809a748eaa8cff743f5e268a71ecd61dd41505f0157105f3e WHIRLPOOL 32fdb7136ee25d7381d3dbd690ca375e01ae097a521a2a42bdd90434b5c7b815e8eddb86ae7958c7be694107c693a543320e5c5455326fa0df618f3c452de048
AUX 7.1.5.42059/Datux-spamhook.patch 8890 SHA256 e67e6178d27f78530b727ca7cc4e96cd1e9e3173fa20547cd132464f70d207f5 SHA512 5e11dc0940441e208d877a31d74ba077abd388982859e7c3d6c0f42551ad362d0e9991d2a6ea2b62d794ea84564222ef376025a2b50e60293684cdbd5ec566a4 WHIRLPOOL 7751cb4ceec3abf6261917fa518486fc4c534a6b9888e3fa091f9d86832cac229bb6ace87a33b20de7c68d7de7ac947826e3f360d1c185170587ab287b1bcc56
AUX 7.1.5.42059/zarafa-01-oss-configure.patch 1759 SHA256 8933fd463506d703358e9829177afd71c15f34f8d424113c60a414ed406bcd24 SHA512 18d3cb4fb68df966372a7f7670c9f12627395387364adc66947ad04b5b086d057ace980d6bd064683a5a6d851d19e9f2b216ec4c54300491dbaf8bca684fedd3 WHIRLPOOL a46eb5370e53780800735be46dfc257d4612d0429145154dc2792b3556ae6dc4478c4c35db2c01a53925f1c990665cd9704f926b885b8f16b2279a77129fc566
AUX 7.1.5.42059/zarafa-06-sizeof-char.patch 17312 SHA256 1d9b50aacc13e88ae650ffbdbf5470d1d9fc747c920afe082b2dd4108491443b SHA512 c92c81dd0a6cb241611af7247d01af508ce2c72238c0fab00a3d042c2002d941542137acf080015e3acb820e6f2998efde16da7b53823f43d13f55d8189b25cc WHIRLPOOL 5577193f7c9f3160cb6da385b4ca7f856f75e3336e3b42e3a0748b7c95fcf214bc3d6c60e32c36598d501745253311920fb9dbc70f4e16bec5b0ce61c888e3d0
AUX 7.1.5.42059/zarafa-22-gcc47.patch 6805 SHA256 00a70d2e2b73ff81081302247e7a2af59573058ade9e3b9508fc6d997d5e585f SHA512 33e7279e2f451df7dfee9ffcb4dcbbc74349cf9ab1a85f3f4f9b033bf54d3a9fb7b893f6738c6bad573983cce955699ec1320f4fd8f061fe5a9d96d48b168761 WHIRLPOOL f5311a55639094cd5986a514c4892c23fedb31845f7660b1ab3421f00c77f8a4b96ba052f6918b84032c2ec6fdfa5df7f0f7e34f91be6db539350bb041b8db3c
AUX 7.1.5.42059/zarafa-23-newclucene.patch 6766 SHA256 794e0b8db4d8775a34d04a758aeb19ae6c50255955d78a2e0ecbadee8a7add50 SHA512 96d399ee72347d35f5b580f7760a729955d746937a0f56347d1558405064642a84803e39322816faa865ce0bf80aa5a6d576f3efc88bb81c8292e2f7c411608c WHIRLPOOL 781ee12b336f5410049b6454f2c671c9ec7e83f30684f4263814663bb4ae840e4cd24f89126cb06742ef184d1225497b37451305711c70157084415e624bd044
AUX 7.1.5.42059/zarafa-24-undefined-behavior.patch 1002 SHA256 f3156cd7f17a7c3feaa66cbb52f8d4d1a3d22135054d6131cb76784b2f2dcb0b SHA512 3b67835052cfffa071e0f5a06de9b12c5018ced84a4bc48ada54d5eb1da2fa63fa7274882e70b43fcc3780c74bd6b216fdf26fa38a4633238a8dae0ca53e39bc WHIRLPOOL 6530d5caef06c007eb7b0941c4c6274cfd1dc1860f88a8037f540b7626dca90147ffd9595fad8c74015283a7b466c9450e8f7eb621673b1743eafa9502a23edd
AUX 7.1.5.42059/zarafa-25-imap-maxfail.patch 2103 SHA256 23719ad5b4e0225254ff78e1a5f45e26ff2e3d085881d74f821caadc37f6ca92 SHA512 6f982388a851af276e8458f1c2ac47d96f0b772ce2590afd9e92221224fc09883506e8ffa824ee55fb9094fedbfbd5d6241b0ffe4738993260daf6b305f96efa WHIRLPOOL f70660d05d5642497185720d0384510530835289b1ffce0478df980d6801d2e661c3fb862ed7137c36883d365d372aa7a0b35df5625f8c78b5aed7d43e46ea6a
AUX 7.1.5.42059/zarafa-30-ac-typos.patch 979 SHA256 b2dbd3ca51e35ff75753854f6fc376659d1b7fbe778806689f5ac7887831f447 SHA512 d18c6ddba8f539cced3db63751a80312f160fcc963074a6313256a78c91637140e7ccb7a76c53c8bd126cde3a0ba8f89de3f5da3fe291ae6b760ae0c1d8c6bce WHIRLPOOL ff5cc0b6c1cb661338cab09b7dcdfc362d29a4b9362acb78500f5dd9d67d8513f64aace48591e2d86816b916dba8a66bda763c1124313212fc5a02683c88643b
AUX 7.1.5.42059/zarafa-35-embedded-mysql.patch 1867 SHA256 df3abb11aae67901251b065f0ae8db27a6283162f89a95af6164f8caea68b772 SHA512 16d47dcfb0a68faa9217701c1e0fe50b484438b7e4a46c59ea59e50e0149027a4724ceffc4e8a9f4f36e41fae7128aaa3ea71ed6e98f761c55fdb089fd296e54 WHIRLPOOL 0d8b6ef3546786b648f41e03e7c0fbc8c0942aa6ec9e901ce66deecceab9aae91e188264529453ff3111f325d2808fb71990d427282f420b4d1e4e4b5e4351e1
AUX 7.1.5.42059/zarafa-7.0.3-sysconfig2confd-1.patch 4843 SHA256 c9196a886f8435dcb2f82b92c6ee4769daf1eeb76b2fdfad4980a88cff461359 SHA512 6b683018a834ca666b0c96226a63280f3a3cde5e1e392e1e9f5681fa870669bbff27ebd719390aeebf670bcf3ba7b05ef0c27a77a039c0099fdc97dec4f0f36d WHIRLPOOL dd8e19057dc40785bee25846b399fec8ec5b61fd43586361a5131ef2a9f3e1dcd36db8290e7a0695b6a0a2fa01dca42581dc8e517bafe9290008f3ec38c3a372
AUX 7.1.5.42059/zarafa-7.1.3-package.patch 2008 SHA256 1348391d8a6a708c9359454e7e280e88d928f48aa05170a55dba8f00b6a126c4 SHA512 01d328333e9f04262fa5dba9fd879b6527c809ec920a503e3efe7f95fbd61c2104cdc68d41c55c5baf17c9b5fa7c98cca5fb52c9e71a280da3b6897f26be21fe WHIRLPOOL ce2e13c823695bd3d28c0bc1d0690173ebd254a1eb86e6209d12cc000bc2f744b7e6188473e00825e534c0aec0c78e620de974c112734b2458f264ddfe46b723
AUX 7.1.5.42059/zarafa-7.1.4-tcmalloc.patch 679 SHA256 3f982a2a37a42092a4878c7d7af0b235ae8327f26c0f5fe0ea253cbfcc236018 SHA512 086cbabb7d87ee3218de76f3f42cf3fcd9e1abdc289c6a9280556e3ef8812142da68dadb2e0d4da3355382fea27f3f3f3a37d943ef926f064d4bc9f0884c78de WHIRLPOOL 8e1d57b82d896127b384159ebb4b19457a3431250af1029d5cf214f5492f8f78b3c3baa8cf12baa39b2dbeddfa5672c4d5ce97b6a44bf230469d6074a02c829b
AUX 7.1.5.42059/zarafa-7.1.5-gentoo-swig1.3.patch 621 SHA256 12666f1a041d4dde86577860c96fd7ca67f6e2ce33b981e8f57ac336bba48f19 SHA512 419b4f0b12ab18ec140e2d829a1355236f2fbecfa4c26262c7044142a6c56299e053cff4a21a50e5793b45419431c078080f8ff4dc715ad89725aa9921e320fa WHIRLPOOL 8adbad8396d1151942ea78daf52a11f050d59fabe476159afac86c7178e01733cf9848a163031663fdbf7858994c569318495181a196e710a06d54b621185908
AUX junklearn.dspam 924 SHA256 5060aa1c0fd3e103c0243f5372ec4a393d4aebc7ed7c69a9475adead50d6b37e SHA512 43321b5245a5a6b6032fe8f34382826dbc3630e03ff43eda5c41d5782e0df72a2e784638e3047ba141141e4d3d99ef11e555117fb77fc2555e3ce07c7b28f65c WHIRLPOOL 983c2d5c87145a38bb87044cb6b9050092fa7c05bfa6de5317890103663550a86ccdb5af71966e86062943f5e39b6fbb990617048380aab94920602ed5b9d214
AUX zarafa-bash-completion.sh 9045 SHA256 e3ad01ca797ef1aa428d17184ab16704faed1f1c6878113c0ff570b49cb788d6 SHA512 261dcb9cfdfe84920d666f4719fbf5c19000dd10295852a6121142d3e7fa9fe564a2b09149f93cba5fc1cf4630998b3227269b7c4e7ec245e4346b750b8171eb WHIRLPOOL dfacb2a9f1847f40fd02afe4813d97ec9be8a4fd83466e3d5b2ae32de31bd94a450b4fe9a7e6049cecb593b0ddd80ee37165400b0a43617b76f19170ef74931e
AUX zarafa-dagent.confd 185 SHA256 5e142b9a6310197cf744a83bf8a134472ed6b497a7b477398f25d14e898480bc SHA512 8845cd227737667df9c96f56d92af2819d3ebb1580dc3399beda140992d10d23688fc50fbfd44a8e3e3bfa9e7e2fbdac0339ddc09b5544e6e7bf84b49f5cbdbc WHIRLPOOL cf3a9898babbc3576434bac86ba02da6aa4c1e67fc4fb1d5f473ad602dc9e7671385345f661ce9c86becf728bc9176ad9ca96b0972624901ac1c1a420c972fe9
AUX zarafa-dagent.initd 761 SHA256 c1cbd3beaf8a1abb88bfa49d3acde47a210b9ec7b57da74ed2a83a67d1a59300 SHA512 95a245e95efb34fed6d3e709def711a2d346e4508e8ea2c7af8b1acabf56fa0613afbdd394b1c586738833ee047845a47c85cc9ee3886eba24d14ad32250ff99 WHIRLPOOL ebf4847ee228593d20ec70ff5cb07acb0a35c8292f8eb188cb8d1cc44277ccc7ba5f6799ec1d53e3bc951f5c184d46b620e3f62d5675d2008cacb3b312b9c6bd
AUX zarafa-dagent.service 368 SHA256 46c27373b27856b57c6cefbf9955253fc1768291e3711900818d20e095050d0f SHA512 c32bacc14b3d62ac8f5522efe05a7b71b52fb35b220ee0775d39976d84374da30ce50c5a390f7dcdc4b103569a18dc5ba304becb03a1c36afe71704165d917a8 WHIRLPOOL 465116077f05f0379e143f66334c33e5e0a2a905c82c555574d93942b89cb20368378e495e243f022695d4d69d6b47bd2d8581332237fbaadc6d2c9a932fe39b
AUX zarafa-gateway.confd 190 SHA256 40b514861e3d44ea086888fe3ec68afdc98e679ceef25446ecb4d811591f160f SHA512 1573a9f5031b6bb520bbd381ac75453df42c151afc3aa3747a5262422fd89ca0873056964c3543d498596aa3b1512e750a936a301319e68cf672f6ee9be6d8c5 WHIRLPOOL 030e7b4e04c0edd5000a71f09cb945738cb166cf374606e66ce90da3672cbf9caf36cd2ea1e7b7e3f9ead2057afb8b49ac1603703db44ee647a97cfcda03195e
AUX zarafa-gateway.initd 800 SHA256 750821517001bf7384d36754857794b4e4844c76227f5e887656e393d1299dad SHA512 2eece929d4dcc4a9e025d81380976a8e704d30525c582c184779a94b1bb2d56350ca0928eab96f8895caedd539d8a2f53ad490e4b487c743efea375f1ff0c647 WHIRLPOOL f4ed36b7479c428cdea4963cf5db902f6d0be923273d87327307611d37cdd8cc25d1a5dbeddfe7571edc98ce0e41fd9f6a78804dd1d849338219cf95f79f1bd2
AUX zarafa-gateway.service 375 SHA256 1edd3cf0cc86d27bd8cbcd1290a6ecaf1cd65948057135e1a1ba4e359ba94320 SHA512 40f672f9f5697977270bd912049874190d51bc61e73b10f0eec1038aeba191ab08577a1ff55c6f707671fec773798a31dcc54c381336ba41df95fc3da4a58a7a WHIRLPOOL e31e3ac2786d773ff1f883073690b0baae6098f07e89a5d78e1a290b3d7d0f82fda24b2dbb8409d2a49ed13afdad1589090035c581f35fc94f67e5f53d6f0eb7
AUX zarafa-ical.confd 175 SHA256 9e20c34bfe13b81986cfa30d4224e2e24b2ba4eb8ac77a8f6566288aacd0f303 SHA512 ce923350855ac446222ddaac706dab7443eac98869a3dfd7b9dc20dea32e7676962fa0a7054335dfc236c2b5998bb48b69358b179442765eb8cacd907fee12fc WHIRLPOOL 8acc16138aac8512a1bf46fb9320446c2ea603f032486f4cb3b8c6093d8bd791c5ab16d6f776e940cde85c687c05e527f0dfc67766d03c79226bb0be5cee8988
AUX zarafa-ical.initd 713 SHA256 a40e182cba4a2070896e3ec945698a440901f1de85a3963535acdb92a24ad804 SHA512 40621dc402ddf2e6bcbda2667222cadc12ec748b37b1c18c34d074a4e2026ea4f34cfce009e4dfd11c2d15f57bda67a788a3b8009a2836c8bffe76da62e4e608 WHIRLPOOL 00f4dc6f6240bb9538bc233f6c4d8c11a152c1f3d8b2071353602e1c7cef560ab08904428b33588d40ac2e9539f58bb1e56352b776d59dcea5065e01e3ea44d8
AUX zarafa-ical.service 359 SHA256 9767c29a91ec342bf3a0863cdd06606cc7e0ea91a29799b267ab14f94b0576f0 SHA512 6d405ce83978dab24f7e02d00b333b3829cea1b639aa7d613449e4943d827f5e06a59ccfd0ef3ff58c406939bd46ed74f958b68806538eecb8db0a7f85782f85 WHIRLPOOL 24f6f2b3b2246da605004d5be99c523f57841a9167248c846f7d5f29cefdbc42e711238f53905c3aae3312b2ba212a8926741dbf1ec14239c3c5a88cb68f9473
AUX zarafa-licensed.confd 195 SHA256 10d4fa23652a387b4f506e66b1b34a5ad34274133783d3586ea33b0e8cb4a754 SHA512 2193e275b1a0ff29d261da1a4d4940a6e19c02b73b461df399badc2ed1de25b598453fe49cc90188fa2739c7ec9b91c8d2b6e0db487dd835d34fd77b0749cf60 WHIRLPOOL 549a2da94065217cdc7c064c451c42ec888a401b3897a39d8d97017727fba901ff00bcc689b54492fbfe0664a1990b5d593dc59a199387f1dcc9301dba2e78c9
AUX zarafa-licensed.initd 767 SHA256 8a7b91ed1e37b1031ae9f331ae92055b6ac706773d26a683f5eed4740141ef19 SHA512 f8426340164380a13160643904969be0b6a53fd463305a676efafd5c307aa87bea573f58959325884875fff602b7e43bea82c4bb43b89961752597e368e774b2 WHIRLPOOL c852eb315f9e958c124585dc4a3d5617e5d30493ec4bb84e1dc40e9a6296c9cafc74f6a018c1af53fdf449d0def6323f4155606666826fe4d6357bcb7649f22c
AUX zarafa-licensed.service 376 SHA256 b240f5d1f989739b423b7e5294b1ea45d657fcd99258f820d3dbbffcc4b60743 SHA512 9691621e5ff5d70cafc8d48ee83acbf1b399f05dc0ec0c5de8caab7936c308a608de3946947af0e6fdd7195467a24e1fb8c08a0b7005daba07928a91fb0d90b5 WHIRLPOOL 5fe7cf7f7d00a2f0ca29ef17503649c6249574c7b4f79d880fab6b96e340507e8b865745177870e168b08962a03b062e57a35db20d3374ce99ef2be33e52fafd
AUX zarafa-monitor.confd 190 SHA256 45ec635f8e4a3db5a4c00f4a8bd1474f0a5d691c80c0b2d7eef5f320b8c58c12 SHA512 15f632220fc640cd48691029a7dfc0363f6392049bacf0dfba91a4e7733401c2386a342f1e80c88cad1f6daf1fa1db5b798f8c0f6f4da2d9ea85a0bdb6a0e67e WHIRLPOOL 918a5f41d97700b5901a35291aaa905a8396f8c86fad91130d1f82117f08c3ba51b73980bfc41c60dfc1a5a394e24f1c8be168c1d298add7365ecf9e00c3c8de
AUX zarafa-monitor.initd 758 SHA256 9f8d3fee244e463b2f3e01fdb7e5214658bbd6eaa06e7e1d13275010c23ec7eb SHA512 a2d7f8cd4a1e58de2c9954e8a9e599f3829b6a4d82decbd805869bd003d4aaa4b66c23f082b750b1feee47d0415d4dcfb9ebb906f777c04b01f7ed7528a6dead WHIRLPOOL cdf3dfd0f9650205e773f6d706e888d378fe548b47b3d0f9d4ecf1dd961b35ed79a7f4036aace6bbb84a3495b4d2661d675b0c4229a5f6579af2b3bb4e8545bf
AUX zarafa-monitor.service 371 SHA256 51f14cf594d0b4f8543273f12560fea8031df13362bea46088230552c1436a0e SHA512 9a84e4076be3fdc524a559233f5da2a3ede39c5d3ea8039e457c571fa76c1051c928150390ebde5e991230ec23ba31934955cf6e3b22e5bd437af9c1d8d0e318 WHIRLPOOL 8006dd2b3ec058d5d36ca4f3be0a988a81fa59d097cf81216effbd69cbe08c527af8592eafafe959f01442c588e4d81b9013ef50f26bc9616b04c94b0576364a
AUX zarafa-search.confd 185 SHA256 dc9d32d38d3a6592b244daaadc29ce7d6ed83aa522c81820d83cb43957e90c20 SHA512 c8bd6a1632aa2133cce3464ae7db8940d8354bed7f6e2c1a6131a2c58be770181eab9c817ce175ed6a9ffe57b1523e845863f4d3a2cd4c3c5feb0156aeb060e2 WHIRLPOOL 1bb6b382f146c51a3d20529104291c824f96f9321d508fcf9a3e533d822575137441024cd238328a222f136e00e85be8a91bb20e869f92074db9feb4ec9510c0
AUX zarafa-search.initd 737 SHA256 ff864fa7d1d2c8c18d9fcbcd4c3f3c731f39f67d25ad4e0c776b8a5d8fa9743e SHA512 83394dc797cc86003d61e1dc635135800086b6337f736eacd9472fc2a50f431efe340939bb182c6d1feea3435547d21c5d2d387860d1b2ef1456a510a571a0b8 WHIRLPOOL 759fae556af814ca54e842f45462f20f130ede0f8db0bdf028cb3383de45c7fd3ca9f0d901aa7cc4ea2f318edcb06827219371ccd0c567007959da404b400698
AUX zarafa-search.service 366 SHA256 a75d70288920757ec05a001b9b2687548c5beea0a33f1b5779f553b4a78a9877 SHA512 6e7df9ff688903a93de4c43b2ea1fd241891fffc634d6e382d6b4edf25e9b59dcccd7ae182cdb27cb7ae3e4549d02263acda0ccda0ce1eaa2cba6b4d7a6dfe5d WHIRLPOOL 54c8d9ba0a070bfeb5b5bd3dcb4ffb86a1db2bf083db07c76d14c483cfe2dd90a3a14646b6afeee9ecc71266a6ea40ff7d8e0712c3f64659ae5099bd7de2439a
AUX zarafa-server.confd 306 SHA256 9493a33e95f217334839adf7cbb3b0d6948d8532b4411ae6cddcbf080a82d89f SHA512 6e8f97e9a4b8df3344ccd7141c75a0eb69be0fa0ab287a6926e19b535e43f9ceea7da6025f1288128f128c24a5bd74759fe29794eadfc92b85a3e90fc8763a85 WHIRLPOOL 8e07978442358da3501c2e4aca1c756a5303bec744b8fbf87a24ad4049dd602189bce3440893c58190ace5c791be14a054f8f3a496d216adf50bc35012604c61
AUX zarafa-server.initd 928 SHA256 ace9703eb5fd101a7500d6abb34bfb31c9fc9801cf24d9cf95809fd2e36fdd11 SHA512 660fd4711c1e4ca93c7aa1c7eab244e5a0e91e5bcc099783da424f0e1b24d6edb9f04238975da60fcd4ecd3d9bc3319d076ef419228ce9cafef64c4cae631588 WHIRLPOOL e5eb7a6e33ee5d77521c668de5e9c954b6a82a6d96542579edc22c289e3cbfe2b067e96084644c9e054357eae24e82c294d7fb644f602fa79d1e28958d91f872
AUX zarafa-server.service 382 SHA256 6a8dd7417fd856498d4a03c823217967b6e2e3448eac7a1c435f0954590c8e85 SHA512 e177327377f56c505b0e658eae8aca4c50e38513424454c9e4afd7cf725dea9e465b32ee3290be9f37ad30d1286f983becf2427471f01941b4e597a464f6967b WHIRLPOOL b92aaaac50e97cd1319d34b2067649bf20703c0512ed2b5bb358aaa0c8d44d1e23b889dce54430961518a6089316afed1ca5c937f94dae9d671d3d7f666c052e
AUX zarafa-spooler.confd 190 SHA256 e2017fb37f3a1b467501e322cb5bd26510954dece5a89b6ac00a52af427eaccc SHA512 c540876552efef189800cd28dd925ad84747b2fa791f3bafc148107e442c5658309f6cb1e1ead722aa509bbc0242eed610d20563d9930f2fc8fd27210c8256a5 WHIRLPOOL 134896767db14d835489e19deeed0f7afb991f1708599401c28bd506f2a235d15b8d44fad0f4a63a9b5dc16350950bf331d4323db4844136999198c137780cc3
AUX zarafa-spooler.initd 758 SHA256 4901ea13c2c1ac174067e08d8c184705e8a4ac2a50b3e2f6e5d1a213c42e7a06 SHA512 6996123abe5bd9c35f64daa056ea613b5f9f403819e64ebfe2c9ee58ac952fb95ced8ef9c936dd10fad377ed36cad41dcafb74c661d01f22bd16c0299ccbe3dc WHIRLPOOL 2acfa7812f2dd1489ad9af1b5c0ac21a300140280769abd2c7266ba8b0b54eaf6e37f802f1b15398e0ecbee445977a8cba7754239377eace64c85714219dfbb1
AUX zarafa-spooler.service 359 SHA256 f01ad27ca9e1861aef31ae66145dfecf0472a6557eca550193abcde14af55274 SHA512 9ea47645382f4eee87092b33ecad0b1ca0f0eef3a2288f8ba5299fe065f6b8e841725958823643e011ba49fa04863bf792006ef8fca504682ac48378937d6e4e WHIRLPOOL 0df49c43839b156d5bdfb4c9dea6251bb09aeb0da645520bbabb6dedc98df27b85a607c8f1263737fdff62008562ab6c11f6ae1a57b14d64b6f7fa3659d92428
AUX zarafa.logrotate 2066 SHA256 30fb1a0daf2b68084f473c2cd21524273ca78ebd06fc790f89150103395a1462 SHA512 06e4a287ea7debdeec5bb822f14dcc9d631762512d63ddeb2f9ab19e2fcc2addbfb57073199b9727faf86ccd83bf4c6756399bf2fd62c0ad630d2716481e9276 WHIRLPOOL cdaee97042a03f9a36fc51388fec0438e3419299226a599d48035a1ccdef1ffed05fdc64f367ba339565913d964f759cbb8e4ba53998b87fabcfb083e6b9734f
DIST libboost-filesystem1.46.1_1.46.1-7ubuntu3_amd64.deb 50670 SHA256 4eecc887ee9a3ce511acd830c21a9e92babaae35d44cb6d8bfc8a7eb073ae8ef SHA512 3863dd4fe66f80ea37ad1b4a21927fa5feae3f1e22186cab1a0571c59b8fbb1546e685ca0918619a4454372bb031a97cf2b67aadb867dbe852c11970a62b460c WHIRLPOOL 8b11aa0a4440b4c96bc3b140fd728806cd4bcf99aa374105662af75fa70b14b7b6b1ece7705fe6beb9699fd85e4e26f616aa045807eda1754ac4bc80d922f3b8
DIST libboost-filesystem1.46.1_1.46.1-7ubuntu3_i386.deb 51330 SHA256 bf4d582aadea54545b9a6653a6b1ef8b2b66a382e0365bfbd4d0ba33730bd601 SHA512 06993a60923a2df503b6f07d6da468a172c6c0f088d948e2d102b89b94e140c569631391b9c360c2a06ba7c0dfc91c20565b14cfb89b74fc70afcba5a76d8ad7 WHIRLPOOL 406f9f82c35eef5fd07dd2f1348aeb574af00790ece6144d922c6f2c5e46d5bc66efbb48c2b5fb4411e9478cad959cf17fd7d097d437fee4ce99ebfe6f625635
@ -36,15 +48,9 @@ DIST libicu48_4.8.1.1-3_amd64.deb 8102778 SHA256 a2cbfbc062d20f9494e0d862f942dfe
DIST libicu48_4.8.1.1-3_i386.deb 8179546 SHA256 28c03392506f31aa598c40bd9806f17d2d0c65b1aa38309fc99ec7152120158a SHA512 1ac725073b144ed4dab7c056821c47c33f77d206d325d6f212f79aded23a1bb9731141a829a96d3ee43546466870b5bac12109c69c75366aac3f545dde0d71f1 WHIRLPOOL 7e2d13eb8e0c0576944f2ee7d2bd4b8a7843d31d260bced7af6f9f022ecbb42b16eeadd215db261878cee759c54fcd9adcfaacf5fb869cf84ae873a2ee867630
DIST libssl1.0.0_1.0.1-4ubuntu5.10_amd64.deb 1048422 SHA256 9f8b0df37301fae9d70f9c9e8df73c7177bf3e27c7ef0995b26f7671e8a9c15c SHA512 b6aff2ae216ebc7ae60a0233bc61b356ed976cd99a5cb42c7c8683c5ec7552a28d0f6d2cf69b487b81bb9491b182c88782c9179817f1f213048b729f17374097 WHIRLPOOL d126d1db1fe555833c8d191b6a10e58b615dc7499640f86392f6a1a171fcc7e7e5463a46cfdeacb3bb989d787d226be6f47c4a7ec6ea5e2095253d826b2c1d16
DIST libssl1.0.0_1.0.1-4ubuntu5.10_i386.deb 1008434 SHA256 bef5216ecf59bd36317a20fcae0e81eef65b478dd5cb1dc6329dd7301244ccae SHA512 90c6d37470bd83842455edd82f26c99aa7ccb238f214c68ef39cad18c6ee5a25ce6a1728a9456b862ea4905d0506ae793feef1c62512d2909aeb0a77458db1a5 WHIRLPOOL a60bc700fe4150af52025d8592157156012ad554d27c30fab41e533ce13288903aede665840f5239ad08e16b4b07e164ef535ccd53efb7dafa5495f0310475a3
DIST libssl1.0.0_1.0.1-4ubuntu5.9_amd64.deb 1048238 SHA256 6f7a5281452cc053d1d152d18973765840076705dc7085248ff38233897db936 SHA512 0dd021dd6cbc35eef956c0cd42d001a8465533eea3ad3a5eb1371a4a257eb06a7ef1ad90cee33e850acd2db910408fb20e76e5971c1bf1ebc759919e8ec96e4d WHIRLPOOL cd79773fcabd5ad032da8c91abccdac2af82fa1c89bead3c3f443c7169e76b73b1b34fba1cae2fbcf0da97670a1ae3138aea1ef692f9edca6799c2c6536adeb4
DIST libssl1.0.0_1.0.1-4ubuntu5.9_i386.deb 1004680 SHA256 f63ed458f5254e7c6fc64ebdf2d324d7d52e4eabdd56511f7515151b955f23d4 SHA512 01071333f33860a8345df020bd247cf86f182931ef07c718003b2957b5fe91ac978d253255c43f5d45f997dcd3c7be3a0901e1e565bf454d0560d4974078b856 WHIRLPOOL eb296f14560c32920e9b4112739626d8c42b4813a7f6d6d34522043cfdae25a65f86f3c4ddabf5012accf36cc69813dd539fb3948e056185d2e9f3dc2f0395c9
DIST zcp-7.1.4-41394-ubuntu-12.04-i386-free.tar.gz 44509122 SHA256 96ce4ef641f79df32671e4bb3695be8adeb212414834f090ebd62b583ec0553e SHA512 e19c054d0e23778e9b2b3c963ab77e675e973317678e2e7a7b5670dd4316cbe82ac2152650016988accc66da013b59aa47f1851a09ed4580531669defb30a410 WHIRLPOOL 3c1d2ef0251685eab8c3e4549f2d7fc77693bf03fcd8783a89951832270182de4b386458c3f9a9a9488c4791ba14170e62464949204a811859e8b6eb2616b3a4
DIST zcp-7.1.4-41394-ubuntu-12.04-x86_64-free.tar.gz 44292855 SHA256 bf3fb59ef6c8adaf067ee5321e284e5ff1732e087d0d272a271e8cdb4971c52d SHA512 201b6cd9017e55a0ba4769d62c6c67a2deadc655f4b7c55485027300d42dffdb50c84877345a4c4db04f4b0d2605fe4f8a04dc3077fbf647aa12b398aace93a4 WHIRLPOOL 90210e4a98f06e7da4b01003b811ed0c9ca6bd992d5beaebbdacdef6c7418d29c8dcecd5a94b1961bd0e2ca2aca68a154679f9f418b1cae730682aba2f8dd3fc
DIST zcp-7.1.4.tar.gz 6469725 SHA256 66b8fad8a452553db520999bde2f765538b27d90db30fa37cee65dfda7701c9a SHA512 ae2e9a1097e64193e82619f6868f1d9952fe7a11bb33b2c6fbb63f31b5366d69dde30eadc30409286044b36373c99b526d1eb5bfa4d079c4d5861a4c1dd445ea WHIRLPOOL 89684c66adf76e5f166544e5e9e999d0c72296b40521ee5a68dccfdd83a28686a5e05c4dbb045c63f48cfb7ef06274407e7fd1a4473f3a011019f3c45d6f00f7
DIST zcp-7.1.5-42059-ubuntu-12.04-i386-free.tar.gz 44539714 SHA256 cbe701272843c739614a2d30b4de728295694425ffd92bbbaf807cb5f4705c4a SHA512 75ee8f5c74cab5eaa86faf192dc4028c0461925d4e26ab2be6f6ed8a697b9a6fac2282e952b4f265107c19f00383471fa8db837b0a566e2d12ebcebc3a176c74 WHIRLPOOL 46e8dfc3f745d35e259b3fead70c640131be1482f1613023a55a76a008de82adcba54c0bf046dbc4bb5b108537ddcd3897e437b061416c60fe92ab749d22ae76
DIST zcp-7.1.5-42059-ubuntu-12.04-x86_64-free.tar.gz 44326614 SHA256 82ea3366b23fe74efbd92be2c282fba764c0690af4cce9306a4ea2ed57c8c491 SHA512 564650dd90e5b7f0509a339a934088b93dbcdc32cb2e13ead2cb13b580d7f244ba2bccd44c265ff1bf3ff0ae691a12fe27978d19784da723a90485d5f10542c9 WHIRLPOOL 6252231620d69a83a7ad9a75dc123f78d8e37be09e2a85c729af839894ef70f2b6703221b408db3395fba594152d45fb8a49fc69bfcc699a1593ace9da2214f9
DIST zcp-7.1.5.tar.gz 6473028 SHA256 d7a28e73672d3ef8da971a486536231b91b4d55b88544d519c19a440ff1ef3e8 SHA512 2220e2c4c52b2ab4d9409a696617a235866ecd099b108411497d075c551293f5526ad0a914e2804236357ac31d67c59cc725ac661c219cd44c30d0656e8cfbcc WHIRLPOOL f65c589404ca6ea625658bb157482256d30abb35844a6d3a7781e16de868ba4dc0a9cec0cf95da82db16cbee8b92d98e08966c2d2ae14eddcc597a839bdc82b6
EBUILD zarafa-7.1.4.41394.ebuild 7341 SHA256 600b48eeb359748b1cc9231888123a4bfa2db1f0d0f2352ffc21c8171827c570 SHA512 517c56519177c4ebc8f4661efc8bd65d6257beba9059bf8148f06a6677f27fdf82820439198519a8fdf2fe9f292a55841e6f04bb955edfa02d2b40ac95157782 WHIRLPOOL 911eea87f16101f66b364b87d3621262d8fc90f0051a21555b7a0e6451bd51d5316332010b155c06c6f90495d1fb7f368fcd0bd04c651d30a1f6f4d4a1777313
EBUILD zarafa-7.1.5.42059.ebuild 7343 SHA256 ae616de797c880e74496176902eac026f8785f81bfb333dac4171dce3c5bdd7c SHA512 2d80f979aa77bace680c8cac22e25840b46d1717223f6328b22413ae96c0ed0b40d23c249aca4e45371e42c5bb0d669eca6a56b26c87efff438b1d5769083487 WHIRLPOOL 5d43e3cfab9d11769a5dfafbb1ba18881d88936201a2af1d4b1ecabe4447bb7434be2a09da3273b215386f9e1abd1dd2d2345d553ca63ba7b4d86672b5dd2842
MISC ChangeLog 23165 SHA256 970a1bd8964eac195afc2e80edf1783a8b5009ed1d0ad3a746f82518095ef663 SHA512 af9ffa17735b03ff160af817fe24260001c6f1b94dabbd6dd4f9770987667aa971236aeb87248dde6b3614da3f22969bacaada7b6d77a5146602eb43204e2bd1 WHIRLPOOL aea891e0c1d08f30e2a39ea10d43f7d69b12ec97ca4ead5c0687460befe5ca5eb95af847c20e6588b0635b7a27befbd025ee28e9ee257f0fd55f3377f7f75bd3
EBUILD zarafa-7.1.5.42059.ebuild 7514 SHA256 b384c93f87fe810a5e6ba0dc3c7c7d67c1b94501699c465916b11d756186b957 SHA512 76c1ef49fc14d483957602124a50130499dce33e3c413d7bacd8b236fe221f0ecc87b4766a71a0c97b77bd380be3193edc1a94322044dd4341a3acfcfa8ec226 WHIRLPOOL 01b1a73a2e3c8b0ff3047135b4415496b1aee9e551c2d529ebab48fc85ce22e3df7225fcd885f159cce1cdfe39fdb77fd64bfd057189fc8d6ec58dbcc1a2fece
MISC ChangeLog 24404 SHA256 ea83ae817e5a0ebcb4bca458907e0b6b054a5350620db5c14b3b89197ce798f3 SHA512 ecc6ea04150adefa3fd299a7fe9bce2c8222552f0934a00b3f731615a40af61d9edc648058bdce7a1b8d95b00b85993e819e8a6acc8775b17b1112275ecde155 WHIRLPOOL 0a94a57a7d317354868f2291ad6ff82e679f016656c1497e5e881b75172db16a5354fe8948ba24c1f45809dd77f05af25bb2ddc6b27ab9ad854d57587d7daaba
MISC metadata.xml 1238 SHA256 2c13f98be5fa8bdaf21ac86bcd00bbeb8944df5615de0cfce35ae4c00ef4b4d5 SHA512 d94394e853ce7bd9109322f37ab5d3526e2bbc4a59ac02d0b66e9d952d221a06ae1c38b6de5cdb142b2b09ac602a57ff03f0525efbbc7b8f33f9662ca42a5dd5 WHIRLPOOL 482453b974eaca6506c4503f49c5c55195790e9b47f19a885d551fa535445104fbb7bc93dc4f30f7faf545f619594fa04d9a8071c21eb55995fef4f7380f55b9

View File

@ -1,47 +0,0 @@
--- spooler/mailer.cpp.ori 2011-07-03 15:38:10.162737725 +0200
+++ spooler/mailer.cpp 2011-07-03 15:39:14.362790762 +0200
@@ -2172,6 +2172,8 @@
HrGetOneProp(lpMessage, PR_AUTO_FORWARDED, &lpAutoForward) == hrSuccess && lpAutoForward->Value.b)
{
bAllowSendAs = true;
+ } else if (strcmp(g_lpConfig->GetSetting("always_send_as"), "yes") == 0) {
+ bAllowSendAs = true;
} else {
hr = HrGetOneProp(lpUserStore, PR_MAILBOX_OWNER_ENTRYID, &lpPropOwner);
--- spooler/Spooler.cpp.ori 2011-07-03 15:46:25.366770639 +0200
+++ spooler/Spooler.cpp 2011-07-03 15:46:45.716172033 +0200
@@ -1118,6 +1118,7 @@
{ "fax_domain", "", CONFIGSETTING_RELOADABLE },
{ "fax_international", "+", CONFIGSETTING_RELOADABLE },
{ "always_send_delegates", "no", CONFIGSETTING_RELOADABLE },
+ { "always_send_as", "no", CONFIGSETTING_RELOADABLE },
{ "always_send_tnef", "no", CONFIGSETTING_RELOADABLE },
{ "always_send_utf8", "no", CONFIGSETTING_RELOADABLE },
{ "allow_redirect_spoofing", "yes", CONFIGSETTING_RELOADABLE },
--- php-webclient-ajax/client/modules/readmailitemmodule.js.ori 2011-06-22 00:02:22.000000000 +0200
+++ php-webclient-ajax/client/modules/readmailitemmodule.js 2011-07-24 01:19:03.454049593 +0200
@@ -479,7 +479,7 @@
dhtml.addEvent(this, recipientItemSenderRepresentation, "click", eventReadmailClickEmail);
dhtml.addEvent(this, recipientItemSenderRepresentation, "contextmenu", eventReadmailAddressContextMenu);
- dhtml.addElement(fromElement,"span","emailaddress","", NBSP+_("on behalf of")+NBSP);
+ //dhtml.addElement(fromElement,"span","emailaddress","", NBSP+_("on behalf of")+NBSP);
}
var recipientItemSenderRepresentation = dhtml.addElement(fromElement,"a","emailaddress","senderrepresentatation_label",sender_representation);
--- installer/linux/spooler.ori 2011-07-03 14:41:32.934761391 +0200
+++ installer/linux/spooler.cfg 2011-07-02 18:29:54.958164996 +0200
@@ -76,7 +76,11 @@
# delegates (other user than yourself in the From: header)
# In installations before 6.20, this value was always 'yes'.
# IMPORTANT: This feature overrides "send-as" functionality.
-always_send_delegates = no
+always_send_delegates = yes
+
+# Set this value to 'yes' to let the spooler always send emails even
+# if the from emailadres someone elses
+always_send_as = yes
# Set this value to 'no' if you do NOT want to allow redirected e-mails
# being sent with their original 'FROM' header

View File

@ -1,219 +0,0 @@
diff -ru zarafa-7.1.4/provider/libserver/ZarafaCmd.cpp zarafa-7.1.4.spamhook/provider/libserver/ZarafaCmd.cpp
--- zarafa-7.1.4/provider/libserver/ZarafaCmd.cpp 2013-02-28 17:13:17.000000000 +0100
+++ zarafa-7.1.4.spamhook/provider/libserver/ZarafaCmd.cpp 2013-04-15 11:34:45.018632455 +0200
@@ -84,6 +84,7 @@
#include "StreamUtil.h"
#include "CommonUtil.h"
#include "StorageUtil.h"
+#include "UnixUtil.h"
#include "ZarafaICS.h"
@@ -7655,6 +7656,179 @@
bool bMoved;
}COPYITEM;
+//SPAM HOOK
+//This function parses an e-mail to the /etc/zarafa/userscripts/junklearn script. With 2 arguments:
+//ham or spam
+//message id
+//and pipes the mail header to the script.
+//This script wil be inhaled by MoveObjects();
+/////////////////////////////////////////////////////////////////////////////////////////////////
+int SpamHook(ECDatabase *lpDatabase,int ulId, unsigned int ulDestFolderId)
+{
+
+ ALLOC_DBRESULT();
+ ECRESULT er = erSuccess;
+ std::string shScriptPath = g_lpSessionManager->GetConfig()->GetSetting("junklearn_script");
+ string shMailStatus;
+ entryId* junkFolderEntryId;
+ entryId* wasteBucketEntryId;
+ int shNumRows;
+
+ //dont do anything if the junklearn script doesnt exist:
+ int fCheck=open(shScriptPath.c_str(), O_RDONLY);
+ if (fCheck==0) {
+ g_lpSessionManager->GetLogger()->Log(EC_LOGLEVEL_INFO,"SpamHook: skipping, script "+shScriptPath+" not found");
+ er=erSuccess;
+ goto exit;
+ }
+ close(fCheck);
+
+ //Get store object ID via message object id
+ unsigned int storeId;
+ er = g_lpSessionManager->GetCacheManager()->GetStore(ulId,&storeId,NULL);
+ if(er != erSuccess)
+ {
+ g_lpSessionManager->GetLogger()->Log(EC_LOGLEVEL_WARNING,"SpamHook: error while retrieve source folder.");
+ goto exit;
+ }
+
+ //get deleted items folder entry id
+ strQuery="SELECT val_binary FROM properties WHERE hierarchyid="+stringify(storeId)+" AND tag="+stringify(PROP_ID(PR_IPM_WASTEBASKET_ENTRYID));
+ er = lpDatabase->DoSelect(strQuery, &lpDBResult);
+ if(er != erSuccess) {
+ g_lpSessionManager->GetLogger()->Log(EC_LOGLEVEL_WARNING,"SpamHook: error while retrieve wastebasket entryid from DB.");
+ goto exit;
+ }
+ lpDBRow = lpDatabase->FetchRow(lpDBResult);
+ lpDBLen = lpDatabase->FetchRowLengths(lpDBResult);
+ shNumRows=lpDatabase->GetNumRows(lpDBResult);
+ if(shNumRows<1)
+ {
+ g_lpSessionManager->GetLogger()->Log(EC_LOGLEVEL_WARNING,"SpamHook: error while retrieve wastebasket entryid, empty DB result.");
+ goto exit;
+ }
+
+ //Convert 'deleted items' entryid to objectid.
+ wasteBucketEntryId = new entryId[0];
+ wasteBucketEntryId->__ptr=(unsigned char*)lpDBRow[0];
+ wasteBucketEntryId->__size=lpDBLen[0];
+ unsigned int wasteBucketFolderId;
+ er=g_lpSessionManager->GetCacheManager()->GetObjectFromEntryId(wasteBucketEntryId,&wasteBucketFolderId);
+ delete wasteBucketEntryId;
+ if(er!=erSuccess)
+ {
+ g_lpSessionManager->GetLogger()->Log(EC_LOGLEVEL_WARNING,"SpamHook: error while retrieve wastebasket entryid, converting to objectID.");
+ goto exit;
+ }
+
+ //Get 'junk folder' entryId.
+ FREE_DBRESULT();
+ strQuery="SELECT val_binary FROM receivefolder LEFT JOIN mvproperties ON receivefolder.objid=mvproperties.hierarchyid WHERE receivefolder.storeid="+stringify(storeId)+" AND receivefolder.messageclass='IPC' AND mvproperties.tag="+stringify(PROP_ID(PR_ADDITIONAL_REN_ENTRYIDS))+" AND mvproperties.orderid=4";
+ er = lpDatabase->DoSelect(strQuery, &lpDBResult);
+ if(er != erSuccess) {
+ g_lpSessionManager->GetLogger()->Log(EC_LOGLEVEL_WARNING,"SpamHook: error while retrieve junkfolder entryids from DB.");
+ goto exit;
+ }
+ lpDBRow = lpDatabase->FetchRow(lpDBResult);
+ lpDBLen = lpDatabase->FetchRowLengths(lpDBResult);
+ shNumRows=lpDatabase->GetNumRows(lpDBResult);
+ if(shNumRows<1)
+ {
+ g_lpSessionManager->GetLogger()->Log(EC_LOGLEVEL_WARNING,"SpamHook: error while retrieve junkfolder entryid, empty DB result.");
+ goto exit;
+ }
+
+ //Convert 'junk folder' entryid to objectid.
+ junkFolderEntryId = new entryId[0];
+ junkFolderEntryId->__ptr=(unsigned char*)lpDBRow[0];
+ junkFolderEntryId->__size=lpDBLen[0];
+ unsigned int junkFolderId;
+ er=g_lpSessionManager->GetCacheManager()->GetObjectFromEntryId(junkFolderEntryId,&junkFolderId);
+ delete junkFolderEntryId;
+ if(er!=erSuccess)
+ {
+ g_lpSessionManager->GetLogger()->Log(EC_LOGLEVEL_WARNING,"SpamHook: error while retrieve junkfolder entryid, converting to objectID.");
+ goto exit;
+ }
+
+ //Get source folder object ID. (Actually we should check if mail came from subfolders in the 'deleted items folder', which I think never happens.)
+ unsigned int srcFolderId;
+ er=g_lpSessionManager->GetCacheManager()->GetParent(ulId,&srcFolderId);
+ if(er!=erSuccess)
+ {
+ g_lpSessionManager->GetLogger()->Log(EC_LOGLEVEL_WARNING,"SpamHook: error while retrieve src folder id.");
+ goto exit;
+ }
+
+ //now we can determine if object being moved from or to the junkfolder
+ //if destination folder is junk, mark as spam
+ if(ulDestFolderId==junkFolderId)
+ shMailStatus="spam";
+ else
+ {
+ //if destination folder is not TRASH and de source folder is JUNK, mark as ham
+ if(ulDestFolderId!=wasteBucketFolderId && srcFolderId==junkFolderId)
+ shMailStatus="ham";
+ else
+ //its just a normal movement, so do nothing.
+ goto exit;
+ }
+
+ //Get the mail from the DB.
+ FREE_DBRESULT();
+ strQuery="SELECT val_string FROM properties WHERE tag="+stringify(PROP_ID(PR_TRANSPORT_MESSAGE_HEADERS))+" AND hierarchyid= "+stringify(ulId);
+ er = lpDatabase->DoSelect(strQuery, &lpDBResult);
+ if(er != erSuccess) {
+ g_lpSessionManager->GetLogger()->Log(EC_LOGLEVEL_WARNING,"SpamHook: db error while retrieve mail header.");
+ goto exit;
+ }
+
+ lpDBRow = lpDatabase->FetchRow(lpDBResult);
+ shNumRows=lpDatabase->GetNumRows(lpDBResult);
+
+ if(shNumRows<=0) {
+ g_lpSessionManager->GetLogger()->Log(EC_LOGLEVEL_WARNING,"SpamHook: warning mail header empty or this object is no e-mail");
+ goto exit;
+ }
+
+ {
+ //now its time to open the spamhook script and pass the mail to it:
+ shScriptPath=shScriptPath+" "+shMailStatus+" "+stringify(ulId);
+ int ulFpWrite = -1;
+ int ulFpRead = -1;
+ int ulCommandRetval;
+
+ //we asume failure, unless we make it all the way though the script
+ er=ZARAFA_E_UNKNOWN;
+
+ pid_t ulCommandPid = unix_popen_rw(g_lpSessionManager->GetLogger(), shScriptPath.c_str(), &ulFpWrite, &ulFpRead, NULL, NULL, true, false);
+ if (ulCommandPid <= 0) {
+ g_lpSessionManager->GetLogger()->Log(EC_LOGLEVEL_WARNING,"SpamHook: error opening subprocess.");
+ goto exit;
+ }
+
+ //pass the data to the subprocess:
+ write(ulFpWrite, lpDBRow[0], strlen(lpDBRow[0]));
+ ulCommandRetval=unix_pclose(ulFpRead, ulFpWrite, ulCommandPid);
+
+ //subprocess is done, check results
+ if (ulCommandRetval<0) {
+ g_lpSessionManager->GetLogger()->Log(EC_LOGLEVEL_WARNING,"SpamHook: error "+shScriptPath+" exits with: "+stringify(WEXITSTATUS(ulCommandRetval)));
+ goto exit;
+ }
+ }
+
+ g_lpSessionManager->GetLogger()->Log(EC_LOGLEVEL_INFO,"SpamHook: "+shScriptPath+" successfully executed.");
+ er=erSuccess;
+
+ exit:
+ // Free database results
+ FREE_DBRESULT();
+
+ return er;
+}
+
+
// Move one or more messages and/or moved a softdeleted message to a normal message
ECRESULT MoveObjects(ECSession *lpSession, ECDatabase *lpDatabase, ECListInt* lplObjectIds, unsigned int ulDestFolderId, unsigned int ulSyncId)
{
@@ -8641,6 +8815,16 @@
// @note The object type checking wille be done in MoveObjects or CopyObject
+//SPAMHOOK
+/////////////////////////////////////
+ //Iterate over all mail ids and initiate spamhook.
+ for(iObjectId = lObjectIds.begin(); iObjectId != lObjectIds.end(); iObjectId++)
+ {
+ SpamHook(lpDatabase,*iObjectId,ulDestFolderId);
+ }
+//SPAMHOOK END
+////////////////////////////////////
+
//check copy or a move
if(ulFlags & FOLDER_MOVE ) { // A move
er = MoveObjects(lpecSession, lpDatabase, &lObjectIds, ulDestFolderId, ulSyncId);
diff -ru zarafa-7.1.4/provider/server/ECServer.cpp zarafa-7.1.4.spamhook/provider/server/ECServer.cpp
--- zarafa-7.1.4/provider/server/ECServer.cpp 2013-02-28 17:13:17.000000000 +0100
+++ zarafa-7.1.4.spamhook/provider/server/ECServer.cpp 2013-04-15 11:14:40.000000000 +0200
@@ -963,6 +963,7 @@
{ "deletegroup_script", "/etc/zarafa/userscripts/deletegroup", CONFIGSETTING_RELOADABLE},
{ "createcompany_script", "/etc/zarafa/userscripts/createcompany", CONFIGSETTING_RELOADABLE },
{ "deletecompany_script", "/etc/zarafa/userscripts/deletecompany", CONFIGSETTING_RELOADABLE },
+ { "junklearn_script", "/etc/zarafa/userscripts/junklearn", CONFIGSETTING_RELOADABLE },
{ "user_safe_mode", "no", CONFIGSETTING_RELOADABLE },
// Storename format

View File

@ -1,103 +0,0 @@
Submitted By: Mario Fetka (mario.fetka@gmail.com)
Date: 2010-10-13
Initial Package Version: 6.40.2 (7.0.3)
Origin: me
Upstream Status: gentoo specific
Description: this patch correct the install dir for the default install target from /etc/sysconfig to the gentoo equivalent /etc/conf.d
diff -uNr zarafa-7.0.3.orig/installer/linux/Makefile.am zarafa-7.0.3/installer/linux/Makefile.am
--- zarafa-7.0.3.orig/installer/linux/Makefile.am 2011-11-20 18:45:15.661461795 +0100
+++ zarafa-7.0.3/installer/linux/Makefile.am 2011-11-20 18:48:10.780508507 +0100
@@ -26,7 +26,7 @@
sysconf_initdir=${sysconfdir}/init.d
sysconf_init_SCRIPTS = ${@DISTRO@_initscript_files}
-rhel_sysconfig_path = ${sysconfdir}/sysconfig
+rhel_sysconfig_path = ${sysconfdir}/conf.d
suse_sysconfig_path = ${localstatedir}/adm/fillup-templates
sles_sysconfig_path = ${localstatedir}/adm/fillup-templates
sysconf_sysconfigdir = ${@DISTRO@_sysconfig_path}
diff -uNr zarafa-7.0.3.orig/installer/userscripts/createcompany.in zarafa-7.0.3/installer/userscripts/createcompany.in
--- zarafa-7.0.3.orig/installer/userscripts/createcompany.in 2011-11-20 18:45:15.640628342 +0100
+++ zarafa-7.0.3/installer/userscripts/createcompany.in 2011-11-20 18:47:09.706088759 +0100
@@ -9,8 +9,8 @@
# beware that this string can contain any characters, so take heed to
# correct quoting.
-if [ -f @sysconfdir@/sysconfig/zarafa ]; then
- . @sysconfdir@/sysconfig/zarafa
+if [ -f @sysconfdir@/conf.d/zarafa-server ]; then
+ . @sysconfdir@/conf.d/zarafa-server
elif [ -f @sysconfdir@/default/zarafa ]; then
. @sysconfdir@/default/zarafa
fi
diff -uNr zarafa-7.0.3.orig/installer/userscripts/creategroup.in zarafa-7.0.3/installer/userscripts/creategroup.in
--- zarafa-7.0.3.orig/installer/userscripts/creategroup.in 2011-11-20 18:45:15.640628342 +0100
+++ zarafa-7.0.3/installer/userscripts/creategroup.in 2011-11-20 18:46:48.060132907 +0100
@@ -9,8 +9,8 @@
# beware that this string can contain any characters, so take heed to
# correct quoting.
-if [ -f @sysconfdir@/sysconfig/zarafa ]; then
- . @sysconfdir@/sysconfig/zarafa
+if [ -f @sysconfdir@/conf.d/zarafa-server ]; then
+ . @sysconfdir@/conf.d/zarafa-server
elif [ -f @sysconfdir@/default/zarafa ]; then
. @sysconfdir@/default/zarafa
fi
diff -uNr zarafa-7.0.3.orig/installer/userscripts/createuser.in zarafa-7.0.3/installer/userscripts/createuser.in
--- zarafa-7.0.3.orig/installer/userscripts/createuser.in 2011-11-20 18:45:15.640628342 +0100
+++ zarafa-7.0.3/installer/userscripts/createuser.in 2011-11-20 18:47:04.215316936 +0100
@@ -9,8 +9,8 @@
# beware that this string can contain any characters, so take heed to
# correct quoting.
-if [ -f @sysconfdir@/sysconfig/zarafa ]; then
- . @sysconfdir@/sysconfig/zarafa
+if [ -f @sysconfdir@/conf.d/zarafa-server ]; then
+ . @sysconfdir@/conf.d/zarafa-server
elif [ -f @sysconfdir@/default/zarafa ]; then
. @sysconfdir@/default/zarafa
fi
diff -uNr zarafa-7.0.3.orig/installer/userscripts/deletecompany.in zarafa-7.0.3/installer/userscripts/deletecompany.in
--- zarafa-7.0.3.orig/installer/userscripts/deletecompany.in 2011-11-20 18:45:15.638313511 +0100
+++ zarafa-7.0.3/installer/userscripts/deletecompany.in 2011-11-20 18:46:16.113192833 +0100
@@ -9,8 +9,8 @@
# beware that this string can contain any characters, so take heed to
# correct quoting.
-if [ -f @sysconfdir@/sysconfig/zarafa ]; then
- . @sysconfdir@/sysconfig/zarafa
+if [ -f @sysconfdir@/conf.d/zarafa-server ]; then
+ . @sysconfdir@/conf.d/zarafa-server
fi
ZARAFA_COMPANY_SCRIPTS=@USERSCRIPTDIR@/deletecompany.d
diff -uNr zarafa-7.0.3.orig/installer/userscripts/deletegroup.in zarafa-7.0.3/installer/userscripts/deletegroup.in
--- zarafa-7.0.3.orig/installer/userscripts/deletegroup.in 2011-11-20 18:45:15.638313511 +0100
+++ zarafa-7.0.3/installer/userscripts/deletegroup.in 2011-11-20 18:46:26.173434957 +0100
@@ -9,8 +9,8 @@
# beware that this string can contain any characters, so take heed to
# correct quoting.
-if [ -f @sysconfdir@/sysconfig/zarafa ]; then
- . @sysconfdir@/sysconfig/zarafa
+if [ -f @sysconfdir@/conf.d/zarafa-server ]; then
+ . @sysconfdir@/conf.d/zarafa-server
fi
ZARAFA_GROUP_SCRIPTS=@USERSCRIPTDIR@/deletegroup.d
diff -uNr zarafa-7.0.3.orig/installer/userscripts/deleteuser.in zarafa-7.0.3/installer/userscripts/deleteuser.in
--- zarafa-7.0.3.orig/installer/userscripts/deleteuser.in 2011-11-20 18:45:15.659146961 +0100
+++ zarafa-7.0.3/installer/userscripts/deleteuser.in 2011-11-20 18:47:14.958433297 +0100
@@ -9,8 +9,8 @@
# that this string can contain any characters, so take heed to correct
# quoting.
-if [ -f @sysconfdir@/sysconfig/zarafa ]; then
- . @sysconfdir@/sysconfig/zarafa
+if [ -f @sysconfdir@/conf.d/zarafa-server ]; then
+ . @sysconfdir@/conf.d/zarafa-server
fi
ZARAFA_USER_SCRIPTS=@USERSCRIPTDIR@/deleteuser.d

View File

@ -1,53 +0,0 @@
Patch by Robert Scheck <robert@fedoraproject.org> for zarafa >= 6.40.0, which only
removes the paths from autoconf/automake related files, that don't exist in the OSS
version of Zarafa. Having these paths not removed causes autoreconf to fail, but a
re-run of autoreconf is needed in order to get the rpaths completely out of all the
libraries and binaries built during the make process.
forward patch by Mario Fetka <mario.fetka@gmail.com>
diff -uNr zarafa-7.1.3.orig/configure.ac zarafa-7.1.3/configure.ac
--- zarafa-7.1.3.orig/configure.ac 2013-02-28 16:46:43.297471480 +0100
+++ zarafa-7.1.3/configure.ac 2013-02-28 16:51:10.269133875 +0100
@@ -786,19 +786,6 @@
version
specialbuild
])
-dnl non-oss files
-if test -d `dirname $0`/licensed; then
-AC_CONFIG_FILES([
- liblicense/Makefile
- licensed/Makefile
- ECtools/zarafa-backup/Makefile
- ECtools/zarafa-backup/helpers/Makefile
- ECtools/zarafa-report/Makefile
- ECtools/zarafa-msr/Makefile
- ECtools/zarafa-ocf/Makefile
- ECtools/za-extra/Makefile
-])
-fi
AC_OUTPUT
diff -uNr zarafa-7.1.3.orig/ECtools/Makefile.am zarafa-7.1.3/ECtools/Makefile.am
--- zarafa-7.1.3.orig/ECtools/Makefile.am 2013-02-28 16:46:43.114473768 +0100
+++ zarafa-7.1.3/ECtools/Makefile.am 2013-02-28 16:49:37.728290795 +0100
@@ -1,5 +1 @@
-if ! OSS_ONLY
-PROSUBS = zarafa-backup zarafa-report zarafa-msr za-extra zarafa-ocf
-endif
-
SUBDIRS = $(PROSUBS) zarafa-archiver zarafa-admin zarafa-monitor zarafa-passwd zarafa-fsck zarafa-cfgchecker zarafa-stats zarafa-search zarafa-utils
diff -uNr zarafa-7.1.3.orig/Makefile.am zarafa-7.1.3/Makefile.am
--- zarafa-7.1.3.orig/Makefile.am 2013-02-28 16:46:43.051474555 +0100
+++ zarafa-7.1.3/Makefile.am 2013-02-28 16:50:06.153935425 +0100
@@ -1,9 +1,5 @@
ACLOCAL_AMFLAGS = -I autoconf
-if ! OSS_ONLY
-PROSUBS = liblicense licensed
-endif
-
SUBDIRS = common libfreebusy mapi4linux zarafa-libsync $(PROSUBS) provider libicalmapi inetmapi php-ext ECtools spooler gateway caldav installer po doc
if WITH_SWIG

View File

@ -1,11 +0,0 @@
--- zarafa-7.1.4/configure.ac.orig 2013-04-15 21:53:32.183138074 +0200
+++ zarafa-7.1.4/configure.ac 2013-04-15 21:55:33.742618371 +0200
@@ -493,7 +493,7 @@
AC_HELP_STRING([--with-tcmalloc-prefix=PATH],[path to tcmalloc lib, e.g. /usr/lib/]),
[TCMALLOC_PREFIX=${withval}],[TCMALLOC_PREFIX=/usr/lib])
AC_CHECK_LIB(tcmalloc_minimal, [open],
- [ TCMALLOC_LIBS="${TCMALLOC_PREFIX}/libtcmalloc_minimal.a" AC_DEFINE(HAVE_TCMALLOC, [1], [Google TCMalloc available]) ],
+ [ TCMALLOC_LIBS="${TCMALLOC_PREFIX}/libtcmalloc_minimal.so" AC_DEFINE(HAVE_TCMALLOC, [1], [Google TCMalloc available]) ],
[ WITH_TCMALLOC=no ])
AC_SUBST(TCMALLOC_LIBS)
else

View File

@ -0,0 +1,61 @@
From: Jan Engelhardt <jengelh@inai.de>
Upstream: never?
build: make autoreconf functional
Make autoreconf functional with the OSS edition.
---
ECtools/Makefile.am | 1 -
Makefile.am | 4 ----
configure.ac | 13 -------------
3 files changed, 18 deletions(-)
Index: zarafa-7.1.1/ECtools/Makefile.am
===================================================================
--- zarafa-7.1.1.orig/ECtools/Makefile.am
+++ zarafa-7.1.1/ECtools/Makefile.am
@@ -1,5 +1,4 @@
if ! OSS_ONLY
-PROSUBS = zarafa-backup zarafa-report zarafa-msr za-extra zarafa-ocf
endif
SUBDIRS = $(PROSUBS) zarafa-archiver zarafa-admin zarafa-monitor zarafa-passwd zarafa-fsck zarafa-cfgchecker zarafa-stats zarafa-search zarafa-utils
Index: zarafa-7.1.1/Makefile.am
===================================================================
--- zarafa-7.1.1.orig/Makefile.am
+++ zarafa-7.1.1/Makefile.am
@@ -1,9 +1,5 @@
ACLOCAL_AMFLAGS = -I autoconf
-if ! OSS_ONLY
-PROSUBS = liblicense licensed
-endif
-
SUBDIRS = common libfreebusy mapi4linux zarafa-libsync $(PROSUBS) provider libicalmapi inetmapi php-ext ECtools spooler gateway caldav installer po doc
if WITH_SWIG
Index: zarafa-7.1.1/configure.ac
===================================================================
--- zarafa-7.1.1.orig/configure.ac
+++ zarafa-7.1.1/configure.ac
@@ -786,19 +786,6 @@ AC_CONFIG_FILES([Makefile
version
specialbuild
])
-dnl non-oss files
-if test -d `dirname $0`/licensed; then
-AC_CONFIG_FILES([
- liblicense/Makefile
- licensed/Makefile
- ECtools/zarafa-backup/Makefile
- ECtools/zarafa-backup/helpers/Makefile
- ECtools/zarafa-report/Makefile
- ECtools/zarafa-msr/Makefile
- ECtools/zarafa-ocf/Makefile
- ECtools/za-extra/Makefile
-])
-fi
AC_OUTPUT

View File

@ -0,0 +1,391 @@
From: Jan Engelhardt <jengelh@inai.de>
src: remove useless sizeof(char)
sizeof(char) is defined by the standard to be always equal to 1.
It is thus useless in e.g. multiplications.
---
common/CommonUtil.cpp | 14 +++++++-------
common/Trace.cpp | 2 +-
common/Util.cpp | 2 +-
common/fileutil.cpp | 12 ++++++------
gateway/IMAP.cpp | 8 ++++----
inetmapi/tnef.cpp | 4 ++--
mapi4linux/src/m4l.mapisvc.cpp | 2 +-
mapi4linux/src/mapidefs.cpp | 2 +-
provider/contacts/ZCMAPIProp.cpp | 2 +-
provider/libserver/ECDatabaseUtils.cpp | 2 +-
swig/python/RecurrenceState_wrap.cxx | 2 +-
swig/python/archiver_wrap.cxx | 2 +-
swig/python/icalmapi_wrap.cxx | 2 +-
swig/python/inetmapi_wrap.cxx | 6 +++---
swig/python/libcommon_wrap.cxx | 2 +-
swig/python/libfreebusy_wrap.cxx | 2 +-
swig/python/licenseclient_wrap.cxx | 2 +-
swig/python/mapi_wrap.cxx | 2 +-
18 files changed, 35 insertions(+), 35 deletions(-)
Index: zarafa-7.1.0/common/CommonUtil.cpp
===================================================================
--- zarafa-7.1.0.orig/common/CommonUtil.cpp
+++ zarafa-7.1.0/common/CommonUtil.cpp
@@ -1041,11 +1041,11 @@ HRESULT ECCreateOneOff(LPTSTR lpszName,
strOneOff.append((char*)strUnicode.c_str(), (strUnicode.length()+1)*sizeof(unsigned short));
} else {
if (lpszName)
- strOneOff.append((char *)lpszName, (strlen((char *)lpszName) + 1) * sizeof(char));
+ strOneOff.append((char *)lpszName, strlen((char *)lpszName) + 1);
else
- strOneOff.append(sizeof(char), '\0');
- strOneOff.append((char *)lpszAdrType, (strlen((char *)lpszAdrType) + 1) * sizeof(char));
- strOneOff.append((char *)lpszAddress, (strlen((char *)lpszAddress) + 1) * sizeof(char));
+ strOneOff.append(1, '\0');
+ strOneOff.append((char *)lpszAdrType, strlen((char *)lpszAdrType) + 1);
+ strOneOff.append((char *)lpszAddress, strlen((char *)lpszAddress) + 1);
}
hr = MAPIAllocateBuffer(strOneOff.size(), (void **)lppEntryID);
@@ -1148,7 +1148,7 @@ HRESULT ECParseOneOff(LPENTRYID lpEntryI
hr = TryConvert(lpBuffer, rawsize(lpBuffer), "windows-1252", name);
if (hr != hrSuccess)
goto exit;
- lpBuffer += (str.length() + 1) * sizeof(char);
+ lpBuffer += str.length() + 1;
str = (char*)lpBuffer;
if (str.length() == 0) {
@@ -1156,7 +1156,7 @@ HRESULT ECParseOneOff(LPENTRYID lpEntryI
goto exit;
}
type = convert_to<std::wstring>(str);
- lpBuffer += (str.length() + 1) * sizeof(char);
+ lpBuffer += str.length() + 1;
str = (char*)lpBuffer;
if (str.length() == 0) {
@@ -1164,7 +1164,7 @@ HRESULT ECParseOneOff(LPENTRYID lpEntryI
goto exit;
}
addr = convert_to<std::wstring>(str);
- lpBuffer += (str.length() + 1) * sizeof(char);
+ lpBuffer += str.length() + 1;
}
strWName = name;
Index: zarafa-7.1.0/common/Trace.cpp
===================================================================
--- zarafa-7.1.0.orig/common/Trace.cpp
+++ zarafa-7.1.0/common/Trace.cpp
@@ -135,7 +135,7 @@ void TraceMsg(char* lpMsg, int time, cha
if (BUFFER_LIMIT != 0 && pos+3 < BUFFER_LIMIT && len > BUFFER_LIMIT)
len = BUFFER_LIMIT;
- buffer = (char*)malloc( len * sizeof(char) );
+ buffer = static_cast<char *>(malloc(len));
memcpy(buffer, debug, pos);
Index: zarafa-7.1.0/common/Util.cpp
===================================================================
--- zarafa-7.1.0.orig/common/Util.cpp
+++ zarafa-7.1.0/common/Util.cpp
@@ -470,7 +470,7 @@ HRESULT Util::HrCopyProperty(LPSPropValu
goto exit;
}
- hr = lpfAllocMore(strlen(lpSrc->Value.lpszA)*sizeof(char)+sizeof(char), lpBase, (void**)&lpDest->Value.lpszA);
+ hr = lpfAllocMore(strlen(lpSrc->Value.lpszA) + 1, lpBase, (void**)&lpDest->Value.lpszA);
if (hr != hrSuccess)
goto exit;
strcpy(lpDest->Value.lpszA, lpSrc->Value.lpszA);
Index: zarafa-7.1.0/common/fileutil.cpp
===================================================================
--- zarafa-7.1.0.orig/common/fileutil.cpp
+++ zarafa-7.1.0/common/fileutil.cpp
@@ -104,7 +104,7 @@ HRESULT HrFileLFtoCRLF(FILE *fin, FILE**
}
while (!feof(fin)) {
- readsize = fread(bufferin, sizeof(char), BLOCKSIZE / 2, fin);
+ readsize = fread(bufferin, 1, BLOCKSIZE / 2, fin);
if (ferror(fin)) {
perror("Read error");//FIXME: What an error?, what now?
hr = MAPI_E_CORRUPT_DATA;
@@ -113,7 +113,7 @@ HRESULT HrFileLFtoCRLF(FILE *fin, FILE**
BufferLFtoCRLF(readsize, bufferin, bufferout, &sizebufferout);
- if (fwrite(bufferout, sizeof(char), sizebufferout, fTmp) != sizebufferout) {
+ if (fwrite(bufferout, 1, sizebufferout, fTmp) != sizebufferout) {
perror("Write error");//FIXME: What an error?, what now?
hr = MAPI_E_CORRUPT_DATA;
break;
@@ -180,7 +180,7 @@ HRESULT HrMapFileToBuffer(FILE *f, char
/* mmap failed (probably reading from STDIN as a stream), just read the file into memory, and return that */
lpBuffer = (char*)malloc(BLOCKSIZE); // will be deleted as soon as possible
while (!feof(f)) {
- ulReadsize = fread(lpBuffer+offset, sizeof(char), BLOCKSIZE, f);
+ ulReadsize = fread(lpBuffer+offset, 1, BLOCKSIZE, f);
if (ferror(f)) {
perror("Read error");
break;
@@ -309,7 +309,7 @@ bool DuplicateFile(ECLogger *lpLogger, F
}
while (!feof(lpFile)) {
- ulReadsize = fread(lpBuffer, sizeof(char), BLOCKSIZE, lpFile);
+ ulReadsize = fread(lpBuffer, 1, BLOCKSIZE, lpFile);
if (ferror(lpFile)) {
if (lpLogger)
lpLogger->Log(EC_LOGLEVEL_FATAL, "Read error, error %d", errno);
@@ -321,7 +321,7 @@ bool DuplicateFile(ECLogger *lpLogger, F
}
- if (fwrite(lpBuffer, sizeof(char), ulReadsize , pfNew) != ulReadsize) {
+ if (fwrite(lpBuffer, 1, ulReadsize , pfNew) != ulReadsize) {
if (lpLogger)
lpLogger->Log(EC_LOGLEVEL_FATAL, "Write error, error %d", errno);
else
@@ -389,7 +389,7 @@ bool ConvertFileFromUCS2ToUTF8(ECLogger
goto exit;
}
- if (fwrite(strConverted.c_str(), sizeof(char), strConverted.size(), pfDst) != strConverted.size()) {
+ if (fwrite(strConverted.c_str(), 1, strConverted.size(), pfDst) != strConverted.size()) {
if (lpLogger)
lpLogger->Log(EC_LOGLEVEL_FATAL, "Unable to write to file '%s', error %d", strDstFileName.c_str(), errno);
else
Index: zarafa-7.1.0/gateway/IMAP.cpp
===================================================================
--- zarafa-7.1.0.orig/gateway/IMAP.cpp
+++ zarafa-7.1.0/gateway/IMAP.cpp
@@ -5973,7 +5973,7 @@ HRESULT IMAP::HrSearch(vector<string> &l
if (iconv)
iconv->convert(lstSearchCriteria[ulStartCriteria+1]);
- hr = MAPIAllocateMore(sizeof(char) * (lstSearchCriteria[ulStartCriteria + 1].size() + 1), lpRootRestrict,
+ hr = MAPIAllocateMore(lstSearchCriteria[ulStartCriteria + 1].size() + 1, lpRootRestrict,
(LPVOID *) &szBuffer);
if (hr != hrSuccess)
goto exit;
@@ -6063,7 +6063,7 @@ HRESULT IMAP::HrSearch(vector<string> &l
if (iconv)
iconv->convert(lstSearchCriteria[ulStartCriteria+1]);
- hr = MAPIAllocateMore(sizeof(char) * (lstSearchCriteria[ulStartCriteria + 1].size() + 1), lpRootRestrict,
+ hr = MAPIAllocateMore(lstSearchCriteria[ulStartCriteria + 1].size() + 1, lpRootRestrict,
(LPVOID *) &szBuffer);
if (hr != hrSuccess)
goto exit;
@@ -6509,7 +6509,7 @@ HRESULT IMAP::HrSearch(vector<string> &l
if (iconv)
iconv->convert(lstSearchCriteria[ulStartCriteria+1]);
- hr = MAPIAllocateMore(sizeof(char) * (lstSearchCriteria[ulStartCriteria + 1].size() + 1), lpRootRestrict,
+ hr = MAPIAllocateMore(lstSearchCriteria[ulStartCriteria + 1].size() + 1, lpRootRestrict,
(LPVOID *) &szBuffer);
if (hr != hrSuccess)
goto exit;
@@ -6542,7 +6542,7 @@ HRESULT IMAP::HrSearch(vector<string> &l
if (iconv)
iconv->convert(lstSearchCriteria[ulStartCriteria+1]);
- hr = MAPIAllocateMore(sizeof(char) * (lstSearchCriteria[ulStartCriteria + 1].size() + 1), lpRootRestrict,
+ hr = MAPIAllocateMore(lstSearchCriteria[ulStartCriteria + 1].size() + 1, lpRootRestrict,
(LPVOID *) &szBuffer);
if (hr != hrSuccess)
goto exit;
Index: zarafa-7.1.0/inetmapi/tnef.cpp
===================================================================
--- zarafa-7.1.0.orig/inetmapi/tnef.cpp
+++ zarafa-7.1.0/inetmapi/tnef.cpp
@@ -1896,11 +1896,11 @@ HRESULT ECTNEF::HrReadByte(IStream *lpSt
HRESULT hr = hrSuccess;
ULONG ulRead = 0;
- hr = lpStream->Read(ulData, sizeof(char), &ulRead);
+ hr = lpStream->Read(ulData, 1, &ulRead);
if(hr != hrSuccess)
goto exit;
- if(ulRead != sizeof(char)) {
+ if(ulRead != 1) {
hr = MAPI_E_NOT_FOUND;
goto exit;
}
Index: zarafa-7.1.0/mapi4linux/src/m4l.mapisvc.cpp
===================================================================
--- zarafa-7.1.0.orig/mapi4linux/src/m4l.mapisvc.cpp
+++ zarafa-7.1.0/mapi4linux/src/m4l.mapisvc.cpp
@@ -280,7 +280,7 @@ HRESULT INFLoader::MakeProperty(const st
sProp.ulPropTag = CHANGE_PROP_TYPE(sProp.ulPropTag, PT_STRING8);
case PT_STRING8:
{
- hr = MAPIAllocateMore((strData.length() +1) * sizeof(char), base, (void**)&sProp.Value.lpszA);
+ hr = MAPIAllocateMore(strData.length() + 1, base, (void**)&sProp.Value.lpszA);
if (hr != hrSuccess)
goto exit;
strcpy(sProp.Value.lpszA, strData.c_str());
Index: zarafa-7.1.0/mapi4linux/src/mapidefs.cpp
===================================================================
--- zarafa-7.1.0.orig/mapi4linux/src/mapidefs.cpp
+++ zarafa-7.1.0/mapi4linux/src/mapidefs.cpp
@@ -200,7 +200,7 @@ HRESULT M4LMAPIProp::GetProps(LPSPropTag
goto exit;
for (ULONG c = 0; c < (*i)->Value.MVszW.cValues; c++) {
ansi = converter.convert_to<string>((*i)->Value.MVszW.lppszW[c]);
- hr = MAPIAllocateMore(ansi.length() * sizeof(char) + sizeof(char), props, (void**)&sConvert.Value.MVszA.lppszA[c]);
+ hr = MAPIAllocateMore(ansi.length() + 1, props, (void**)&sConvert.Value.MVszA.lppszA[c]);
if (hr != hrSuccess)
goto exit;
strcpy(sConvert.Value.MVszA.lppszA[c], ansi.c_str());
Index: zarafa-7.1.0/provider/contacts/ZCMAPIProp.cpp
===================================================================
--- zarafa-7.1.0.orig/provider/contacts/ZCMAPIProp.cpp
+++ zarafa-7.1.0/provider/contacts/ZCMAPIProp.cpp
@@ -379,7 +379,7 @@ HRESULT ZCMAPIProp::CopyOneProp(convert_
// copy from unicode to string8
lpProp->ulPropTag = CHANGE_PROP_TYPE(i->second.ulPropTag, PT_STRING8);
strAnsi = converter.convert_to<std::string>(i->second.Value.lpszW);
- hr = MAPIAllocateMore(strAnsi.size() + sizeof(char), lpBase, (void**)&lpProp->Value.lpszA);
+ hr = MAPIAllocateMore(strAnsi.size() + 1, lpBase, (void**)&lpProp->Value.lpszA);
if (hr != hrSuccess)
goto exit;
strcpy(lpProp->Value.lpszA, strAnsi.c_str());
Index: zarafa-7.1.0/provider/libserver/ECDatabaseUtils.cpp
===================================================================
--- zarafa-7.1.0.orig/provider/libserver/ECDatabaseUtils.cpp
+++ zarafa-7.1.0/provider/libserver/ECDatabaseUtils.cpp
@@ -788,7 +788,7 @@ ECRESULT CopyDatabasePropValToSOAPPropVa
{
ParseMVProp(lpRow[FIELD_NR_STRING], lpLen[FIELD_NR_STRING], &ulLastPos, &strData);
lpPropVal->Value.mvszA.__ptr[i] = s_alloc<char>(soap, strData.size() + 1);
- memcpy(lpPropVal->Value.mvszA.__ptr[i], strData.c_str(), sizeof(char) * (strData.size() + 1));
+ memcpy(lpPropVal->Value.mvszA.__ptr[i], strData.c_str(), strData.size() + 1);
}
ulPropTag = CHANGE_PROP_TYPE(ulPropTag, PT_MV_UNICODE); // return unicode strings to client, because database contains UTF-8
break;
Index: zarafa-7.1.0/swig/python/RecurrenceState_wrap.cxx
===================================================================
--- zarafa-7.1.0.orig/swig/python/RecurrenceState_wrap.cxx
+++ zarafa-7.1.0/swig/python/RecurrenceState_wrap.cxx
@@ -3278,7 +3278,7 @@ SWIG_AsCharPtrAndSize(PyObject *obj, cha
if (*alloc == SWIG_NEWOBJ)
#endif
{
- *cptr = reinterpret_cast< char* >(memcpy((new char[len + 1]), cstr, sizeof(char)*(len + 1)));
+ *cptr = reinterpret_cast< char* >(memcpy((new char[len + 1]), cstr, len + 1));
*alloc = SWIG_NEWOBJ;
}
else {
Index: zarafa-7.1.0/swig/python/archiver_wrap.cxx
===================================================================
--- zarafa-7.1.0.orig/swig/python/archiver_wrap.cxx
+++ zarafa-7.1.0/swig/python/archiver_wrap.cxx
@@ -3075,7 +3075,7 @@ SWIG_AsCharPtrAndSize(PyObject *obj, cha
if (*alloc == SWIG_NEWOBJ)
#endif
{
- *cptr = reinterpret_cast< char* >(memcpy((new char[len + 1]), cstr, sizeof(char)*(len + 1)));
+ *cptr = reinterpret_cast< char* >(memcpy((new char[len + 1]), cstr, len + 1));
*alloc = SWIG_NEWOBJ;
}
else {
Index: zarafa-7.1.0/swig/python/icalmapi_wrap.cxx
===================================================================
--- zarafa-7.1.0.orig/swig/python/icalmapi_wrap.cxx
+++ zarafa-7.1.0/swig/python/icalmapi_wrap.cxx
@@ -2879,7 +2879,7 @@ SWIG_AsCharPtrAndSize(PyObject *obj, cha
if (*alloc == SWIG_NEWOBJ)
#endif
{
- *cptr = reinterpret_cast< char* >(memcpy((new char[len + 1]), cstr, sizeof(char)*(len + 1)));
+ *cptr = reinterpret_cast< char* >(memcpy((new char[len + 1]), cstr, len + 1));
*alloc = SWIG_NEWOBJ;
}
else {
Index: zarafa-7.1.0/swig/python/inetmapi_wrap.cxx
===================================================================
--- zarafa-7.1.0.orig/swig/python/inetmapi_wrap.cxx
+++ zarafa-7.1.0/swig/python/inetmapi_wrap.cxx
@@ -2865,7 +2865,7 @@ SWIG_AsCharPtrAndSize(PyObject *obj, cha
if (*alloc == SWIG_NEWOBJ)
#endif
{
- *cptr = reinterpret_cast< char* >(memcpy((new char[len + 1]), cstr, sizeof(char)*(len + 1)));
+ *cptr = reinterpret_cast< char* >(memcpy((new char[len + 1]), cstr, len + 1));
*alloc = SWIG_NEWOBJ;
}
else {
@@ -3140,7 +3140,7 @@ SWIGINTERN PyObject *_wrap_sending_optio
if (arg1->alternate_boundary) delete[] arg1->alternate_boundary;
if (arg2) {
size_t size = strlen(reinterpret_cast< const char * >(arg2)) + 1;
- arg1->alternate_boundary = (char *)reinterpret_cast< char* >(memcpy((new char[size]), reinterpret_cast< const char * >(arg2), sizeof(char)*(size)));
+ arg1->alternate_boundary = (char *)reinterpret_cast< char* >(memcpy((new char[size]), reinterpret_cast< const char * >(arg2), size));
} else {
arg1->alternate_boundary = 0;
}
@@ -3569,7 +3569,7 @@ SWIGINTERN PyObject *_wrap_sending_optio
if (arg1->charset_upgrade) delete[] arg1->charset_upgrade;
if (arg2) {
size_t size = strlen(reinterpret_cast< const char * >(arg2)) + 1;
- arg1->charset_upgrade = (char *)reinterpret_cast< char* >(memcpy((new char[size]), reinterpret_cast< const char * >(arg2), sizeof(char)*(size)));
+ arg1->charset_upgrade = (char *)reinterpret_cast< char* >(memcpy((new char[size]), reinterpret_cast< const char * >(arg2), size));
} else {
arg1->charset_upgrade = 0;
}
Index: zarafa-7.1.0/swig/python/libcommon_wrap.cxx
===================================================================
--- zarafa-7.1.0.orig/swig/python/libcommon_wrap.cxx
+++ zarafa-7.1.0/swig/python/libcommon_wrap.cxx
@@ -3002,7 +3002,7 @@ SWIG_AsCharPtrAndSize(PyObject *obj, cha
if (*alloc == SWIG_NEWOBJ)
#endif
{
- *cptr = reinterpret_cast< char* >(memcpy((new char[len + 1]), cstr, sizeof(char)*(len + 1)));
+ *cptr = reinterpret_cast< char* >(memcpy((new char[len + 1]), cstr, len + 1));
*alloc = SWIG_NEWOBJ;
}
else {
Index: zarafa-7.1.0/swig/python/libfreebusy_wrap.cxx
===================================================================
--- zarafa-7.1.0.orig/swig/python/libfreebusy_wrap.cxx
+++ zarafa-7.1.0/swig/python/libfreebusy_wrap.cxx
@@ -2894,7 +2894,7 @@ SWIG_AsCharPtrAndSize(PyObject *obj, cha
if (*alloc == SWIG_NEWOBJ)
#endif
{
- *cptr = reinterpret_cast< char* >(memcpy((new char[len + 1]), cstr, sizeof(char)*(len + 1)));
+ *cptr = reinterpret_cast< char* >(memcpy((new char[len + 1]), cstr, len + 1));
*alloc = SWIG_NEWOBJ;
}
else {
Index: zarafa-7.1.0/swig/python/licenseclient_wrap.cxx
===================================================================
--- zarafa-7.1.0.orig/swig/python/licenseclient_wrap.cxx
+++ zarafa-7.1.0/swig/python/licenseclient_wrap.cxx
@@ -2870,7 +2870,7 @@ SWIG_AsCharPtrAndSize(PyObject *obj, cha
if (*alloc == SWIG_NEWOBJ)
#endif
{
- *cptr = reinterpret_cast< char* >(memcpy((new char[len + 1]), cstr, sizeof(char)*(len + 1)));
+ *cptr = reinterpret_cast< char* >(memcpy((new char[len + 1]), cstr, len + 1));
*alloc = SWIG_NEWOBJ;
}
else {
Index: zarafa-7.1.0/swig/python/mapi_wrap.cxx
===================================================================
--- zarafa-7.1.0.orig/swig/python/mapi_wrap.cxx
+++ zarafa-7.1.0/swig/python/mapi_wrap.cxx
@@ -3520,7 +3520,7 @@ SWIG_AsCharPtrAndSize(PyObject *obj, cha
if (*alloc == SWIG_NEWOBJ)
#endif
{
- *cptr = reinterpret_cast< char* >(memcpy((new char[len + 1]), cstr, sizeof(char)*(len + 1)));
+ *cptr = reinterpret_cast< char* >(memcpy((new char[len + 1]), cstr, len + 1));
*alloc = SWIG_NEWOBJ;
}
else {

View File

@ -0,0 +1,142 @@
From: Jan Engelhardt <jengelh@inai.de>
Date: 2012-06-22 00:34:08.177803888 +0200
g++ -DHAVE_CONFIG_H -I. -I../../common -I../../mapi4linux/include -I../../common -I../../provider/include -I../../ECtools/zarafa-archiver -I/usr/include/CLucene/ext -I/usr/lib64 -DBOOST_FILESYSTEM_VERSION=2 -DLINUX -fmessage-length=0 -O2 -Wall -D_FORTIFY_SOURCE=2 -fstack-protector -funwind-tables -fasynchronous-unwind-tables -g -g -rdynamic -Wall -Wno-write-strings -DHAVE_CONFIG_H -pedantic -Wno-long-long -Wno-variadic-macros -pthread -O2 -fno-strict-aliasing -DNDEBUG -DFORCE_CHARSET_CONVERSION -DUNICODE -c -o ECIndexImporterAttachments.o ECIndexImporterAttachments.cpp
ECIndexImporterAttachments.cpp: In member function 'HRESULT ECIndexImporterAttachment::CopyStreamToParser(IStream*, int, int, std::wstring*)':
ECIndexImporterAttachments.cpp:249:34: error: 'max' was not declared in this scope
ECIndexImporterAttachments.cpp:249:34: note: suggested alternative:
/usr/include/c++/4.7/bits/stl_algobase.h:254:5: note: 'std::max'
ECIndexImporterAttachments.cpp:440:3: error: 'string' was not declared in this scope
ECIndexImporterAttachments.cpp:440:3: note: suggested alternative:
/usr/include/c++/4.7/bits/stringfwd.h:65:33: note: 'std::string'
ECIndexImporterAttachments.cpp:443:4: error: 'set' was not declared in this scope
ECIndexImporterAttachments.cpp:443:4: note: suggested alternative:
/usr/include/c++/4.7/bits/stl_set.h:91:11: note: 'std::set'
ECIndexImporterAttachments.cpp:602:46: error: 'min' was not declared in this scope
ECIndexImporterAttachments.cpp:602:46: note: suggested alternative:
/usr/include/c++/4.7/bits/stl_algobase.h:233:5: note: 'std::min'
ECIndexImporter.cpp: In member function 'HRESULT ECIndexImporter::ProcessThread()':
ECIndexImporter.cpp:400:5: error: 'auto_ptr' was not declared in this scope
---
ECtools/zarafa-search/ECIndexImporter.cpp | 3 +-
ECtools/zarafa-search/ECIndexImporterAttachments.cpp | 24 +++++++++++--------
2 files changed, 16 insertions(+), 11 deletions(-)
Index: zarafa-7.1.0/ECtools/zarafa-search/ECIndexImporter.cpp
===================================================================
--- zarafa-7.1.0.orig/ECtools/zarafa-search/ECIndexImporter.cpp
+++ zarafa-7.1.0/ECtools/zarafa-search/ECIndexImporter.cpp
@@ -47,6 +47,7 @@
*
*/
+#include <memory>
#include "platform.h"
#include "ECIndexImporter.h"
@@ -433,7 +434,7 @@ HRESULT ECIndexImporter::ProcessThread()
ECIndexDB *lpIndex = NULL;
ECIndexDB *lpThisIndex = NULL;
ArchiveItem *lpArchiveItem = NULL;
- auto_ptr<ArchiveItem> lpStubTarget;
+ std::auto_ptr<ArchiveItem> lpStubTarget;
m_lpLogger->Log(EC_LOGLEVEL_DEBUG, "Importer thread started");
Index: zarafa-7.1.0/ECtools/zarafa-search/ECIndexImporterAttachments.cpp
===================================================================
--- zarafa-7.1.0.orig/ECtools/zarafa-search/ECIndexImporterAttachments.cpp
+++ zarafa-7.1.0/ECtools/zarafa-search/ECIndexImporterAttachments.cpp
@@ -47,6 +47,10 @@
*
*/
+#include <algorithm>
+#include <set>
+#include <string>
+
#include <platform.h>
#include <mapi.h>
@@ -246,7 +250,7 @@ HRESULT ECIndexImporterAttachment::CopyS
ULONG ulWriteData;
fd_set rset, wset;
int res;
- int fd = max(ulFpWrite, ulFpRead);
+ int fd = std::max(ulFpWrite, ulFpRead);
struct timeval timeout;
@@ -267,7 +271,7 @@ HRESULT ECIndexImporterAttachment::CopyS
FD_ZERO(&wset);
if (ulTotalWriteData) {
FD_SET(ulFpWrite, &wset);
- fd = max(ulFpWrite, ulFpRead);
+ fd = std::max(ulFpWrite, ulFpRead);
} else {
fd = ulFpRead;
}
@@ -437,10 +441,10 @@ HRESULT ECIndexImporterAttachment::Parse
command.assign(m_strCommand + " ");
if (!strMimeTag.empty() && strMimeTag.compare(_T("application/octet-stream")) != 0) {
- string tmp = trim(convert_to<string>(strMimeTag), "\r\n ");
+ std::string tmp = trim(convert_to<std::string>(strMimeTag), "\r\n ");
size_t pos = tmp.find_first_of('/');
if (pos != std::string::npos) {
- set<string, stricmp_comparison>::iterator i = m_lpThreadData->m_setMimeFilter.find(string(tmp,0,pos));
+ std::set<std::string, stricmp_comparison>::iterator i = m_lpThreadData->m_setMimeFilter.find(std::string(tmp,0,pos));
if (i != m_lpThreadData->m_setMimeFilter.end()) {
m_lpThreadData->lpLogger->Log(EC_LOGLEVEL_DEBUG, "Skipping filtered attachment mimetype: %s for %ls", tmp.c_str(), strFilename.c_str());
hr = MAPI_E_INVALID_OBJECT;
@@ -452,8 +456,8 @@ HRESULT ECIndexImporterAttachment::Parse
command.append("'");
} else if (!strExtension.empty()) {
// this string mostly does not exist
- string tmp = trim(convert_to<string>(strExtension), "\r\n ");
- set<string, stricmp_comparison>::iterator i = m_lpThreadData->m_setExtFilter.find(string(tmp,1)); // skip dot in extension find
+ std::string tmp = trim(convert_to<std::string>(strExtension), "\r\n ");
+ std::set<std::string, stricmp_comparison>::iterator i = m_lpThreadData->m_setExtFilter.find(std::string(tmp,1)); // skip dot in extension find
if (i != m_lpThreadData->m_setExtFilter.end()) {
m_lpThreadData->lpLogger->Log(EC_LOGLEVEL_DEBUG, "Skipping filtered attachment extension: %s for %ls", tmp.c_str(), strFilename.c_str());
hr = MAPI_E_INVALID_OBJECT;
@@ -463,14 +467,14 @@ HRESULT ECIndexImporterAttachment::Parse
command.append(forcealnum(tmp, "."));
command.append("'");
} else if (!strFilename.empty()) {
- std::string tmp = trim(convert_to<string>(strFilename), "\r\n ");
+ std::string tmp = trim(convert_to<std::string>(strFilename), "\r\n ");
size_t pos = tmp.find_last_of('.');
if (pos == std::string::npos)
goto exit;
// skip dot in find
- set<string, stricmp_comparison>::iterator i = m_lpThreadData->m_setExtFilter.find(string(tmp, pos+1));
+ std::set<std::string, stricmp_comparison>::iterator i = m_lpThreadData->m_setExtFilter.find(std::string(tmp, pos+1));
if (i != m_lpThreadData->m_setExtFilter.end()) {
m_lpThreadData->lpLogger->Log(EC_LOGLEVEL_DEBUG, "Skipping filtered attachment extension: %ls", strFilename.c_str());
hr = MAPI_E_INVALID_OBJECT;
@@ -478,7 +482,7 @@ HRESULT ECIndexImporterAttachment::Parse
}
command.append("ext '");
- command.append(forcealnum(string(tmp, pos), "."));
+ command.append(forcealnum(std::string(tmp, pos), "."));
command.append("'");
} else {
m_lpThreadData->lpLogger->Log(EC_LOGLEVEL_DEBUG, "Invalid attachment, no mimetag, extension or filename");
@@ -599,7 +603,7 @@ HRESULT ECIndexImporterAttachment::Parse
if (ulAttachSize) {
/* Copy attachment data into stream */
while (TRUE) {
- ULONG ulRead = min(m_ulCache, ulAttachSize);
+ ULONG ulRead = std::min(m_ulCache, ulAttachSize);
ULONG ulCopy = ulRead;
ULONG ulWritten = 0;

View File

@ -0,0 +1,175 @@
From: Jan Engelhardt <jengelh@inai.de>
Date: 2012-06-22 01:14:57.789674760 +0200
Make ZCP compilation succeed if distribution uses clucene-core 2.x.
---
ECtools/zarafa-search/ECAnalyzers.cpp | 14 +++++-----
ECtools/zarafa-search/ECAnalyzers.h | 5 +--
ECtools/zarafa-search/ECIndexDB.cpp | 4 +--
configure.ac | 45 +---------------------------------
4 files changed, 13 insertions(+), 55 deletions(-)
Index: zarafa-7.1.4/ECtools/zarafa-search/ECAnalyzers.cpp
===================================================================
--- zarafa-7.1.4.orig/ECtools/zarafa-search/ECAnalyzers.cpp
+++ zarafa-7.1.4/ECtools/zarafa-search/ECAnalyzers.cpp
@@ -78,24 +78,24 @@ EmailFilter::~EmailFilter() {
* @param token Output token
* @return false if no more token was available
*/
-bool EmailFilter::next(lucene::analysis::Token *token) {
+lucene::analysis::Token *EmailFilter::next(lucene::analysis::Token *token) {
// See if we had any stored tokens
if(part < parts.size()) {
token->set(parts[part].c_str(), 0, 0, _T("<EMAIL>"));
token->setPositionIncrement(0);
part++;
- return true;
+ return token;
} else {
// No more stored token, get a new one
if(!input->next(token))
- return false;
+ return NULL;
// Split EMAIL tokens into the various parts
if(wcscmp(token->type(), L"<EMAIL>") == 0) {
// Split into user, domain, com
- parts = tokenize((std::wstring)token->_termText, (std::wstring)L".@");
+ parts = tokenize((std::wstring)token->termBuffer(), (std::wstring)L".@");
// Split into user, domain.com
- std::vector<std::wstring> moreparts = tokenize((std::wstring)token->_termText, (std::wstring)L"@");
+ std::vector<std::wstring> moreparts = tokenize((std::wstring)token->termBuffer(), (std::wstring)L"@");
parts.insert(parts.end(), moreparts.begin(), moreparts.end());
// Only add parts once (unique parts)
@@ -105,7 +105,7 @@ bool EmailFilter::next(lucene::analysis:
part = 0;
}
- return true;
+ return token;
}
}
@@ -124,7 +124,7 @@ ECAnalyzer::~ECAnalyzer()
* @param reader Reader to read the bytestream to tokenize
* @return A TokenStream outputting the tokens to be indexed
*/
-lucene::analysis::TokenStream* ECAnalyzer::tokenStream(const TCHAR* fieldName, lucene::util::Reader* reader)
+lucene::analysis::TokenStream *ECAnalyzer::tokenStream(const TCHAR *fieldName, CL_NS(util)::BufferedReader *reader)
{
lucene::analysis::TokenStream* ret = _CLNEW lucene::analysis::standard::StandardTokenizer(reader);
ret = _CLNEW lucene::analysis::standard::StandardFilter(ret,true);
Index: zarafa-7.1.4/ECtools/zarafa-search/ECAnalyzers.h
===================================================================
--- zarafa-7.1.4.orig/ECtools/zarafa-search/ECAnalyzers.h
+++ zarafa-7.1.4/ECtools/zarafa-search/ECAnalyzers.h
@@ -50,7 +50,6 @@
#ifndef ANALYZERS_H
#include "CLucene/StdHeader.h"
-#include "CLucene/util/Reader.h"
#include "CLucene/analysis/standard/StandardAnalyzer.h"
#include "CLucene/analysis/AnalysisHeader.h"
@@ -68,7 +67,7 @@ class EmailFilter: public lucene::analys
public:
EmailFilter(lucene::analysis::TokenStream* in, bool deleteTokenStream);
virtual ~EmailFilter();
- bool next(lucene::analysis::Token* token);
+ lucene::analysis::Token *next(lucene::analysis::Token *token);
private:
lucene::analysis::Token curtoken;
@@ -86,7 +85,7 @@ public:
ECAnalyzer();
virtual ~ECAnalyzer();
- virtual lucene::analysis::TokenStream* tokenStream(const TCHAR* fieldName, CL_NS(util)::Reader* reader);
+ virtual lucene::analysis::TokenStream *tokenStream(const TCHAR *fieldName, CL_NS(util)::BufferedReader *reader);
};
#endif
Index: zarafa-7.1.4/ECtools/zarafa-search/ECIndexDB.cpp
===================================================================
--- zarafa-7.1.4.orig/ECtools/zarafa-search/ECIndexDB.cpp
+++ zarafa-7.1.4/ECtools/zarafa-search/ECIndexDB.cpp
@@ -68,7 +68,7 @@
#include <string>
#include <algorithm>
-#include <CLucene/util/Reader.h>
+#include <CLucene/util/CLStreams.h>
using namespace kyotocabinet;
@@ -305,7 +305,7 @@ HRESULT ECIndexDB::AddTerm(folderid_t fo
unsigned int len;
unsigned int keylen;
- lucene::util::StringReader reader(wstrTerm.c_str());
+ CL_NS(util)::StringReader reader(wstrTerm.c_str());
stream = m_lpAnalyzer->tokenStream(L"", &reader);
Index: zarafa-7.1.4/configure.ac
===================================================================
--- zarafa-7.1.4.orig/configure.ac
+++ zarafa-7.1.4/configure.ac
@@ -432,52 +432,11 @@ AC_SUBST(ICAL_LIBS)
CXXFLAGS=$CXXFLAGS_system
# Check for CLucene availability
-AC_ARG_WITH(clucene-lib-prefix,
- AC_HELP_STRING([--with-clucene-lib-prefix=PATH],[path to the clucene config file, e.g. /usr/lib/]),
- [CLUCENE_LIB_PREFIX=${withval}],[CLUCENE_LIB_PREFIX=/usr/lib])
-AC_ARG_WITH(clucene-include-prefix,
- AC_HELP_STRING([--with-clucene-include-prefix=PATH],[path to the clucene include files, e.g. /usr/include/]),
- [CLUCENE_INCLUDE_PREFIX=${withval}],[CLUCENE_INCLUDE_PREFIX=/usr/include])
-have_clucene=no
-# preprocessor doesn't check in /usr/lib{,64}/ for include files
-if test "x$CLUCENE_LIB_PREFIX" != "x"; then
- CXXFLAGS="$CXXFLAGS -I$CLUCENE_LIB_PREFIX"
- CPPFLAGS="$CPPFLAGS -I$CLUCENE_LIB_PREFIX"
-fi
-if test "x$CLUCENE_INCLUDE_PREFIX" != "x"; then
- CXXFLAGS="$CXXFLAGS -I$CLUCENE_INCLUDE_PREFIX"
- CPPFLAGS="$CPPFLAGS -I$CLUCENE_INCLUDE_PREFIX"
-fi
-# force add pthread in lucene test
-CXXFLAGS="$CXXFLAGS -pthread"
-if test -e "${CLUCENE_LIB_PREFIX}/libclucene.a"; then
-# lucene::index::IndexReader::open(const char *) in c++ style
-AC_CHECK_LIB(clucene, [_ZN6lucene5index11IndexReader4openEPKc],
- [ CLUCENE_LIBS="${CLUCENE_LIB_PREFIX}/libclucene.a"
- have_clucene=static
- ])
-else
-AC_CHECK_LIB(clucene, [_ZN6lucene5index11IndexReader4openEPKc],
- [ CLUCENE_LIBS="-lclucene"
- have_clucene=dynamic
- ])
-fi
-AC_MSG_CHECKING([library type for clucene])
-AC_MSG_RESULT([$have_clucene])
-AC_CHECK_HEADERS([CLucene.h],
- [ CLUCENE_CFLAGS="-DLUCENE_DISABLE_MEMTRACKING" ],
- [ have_clucene=no ])
-if test "x$CLUCENE_LIB_PREFIX" != "x"; then
- CLUCENE_CFLAGS="$CLUCENE_CFLAGS -I$CLUCENE_LIB_PREFIX"
-fi
-if test "x$CLUCENE_INCLUDE_PREFIX" != "x"; then
- CLUCENE_CFLAGS="$CLUCENE_CFLAGS -I$CLUCENE_INCLUDE_PREFIX"
-fi
+PKG_CHECK_MODULES([CLUCENE], [libclucene-core >= 2.3.3],
+ [have_clucene=dynamic], [have_clucene=no])
AM_CONDITIONAL([WITH_CLUCENE], [test "$have_clucene" != "no"])
AC_SUBST(CLUCENE_CFLAGS)
AC_SUBST(CLUCENE_LIBS)
-CXXFLAGS=$CXXFLAGS_system
-CPPFLAGS=$CPPFLAGS_system
# Check for google perftools tcmalloc availability
if test "$want_tcmalloc_full" = "yes"; then

View File

@ -0,0 +1,33 @@
From: Jan Engelhardt <jengelh@inai.de>
Date: 2013-01-25 03:39:37.985164412 +0100
build: flag path that probably should not be taken
[ 1420s] I: Program returns random data in a function
[ 1420s] E: zarafa no-return-in-nonvoid-function archiver.cpp:373
---
ECtools/zarafa-archiver/archiver.cpp | 3 +++
1 file changed, 3 insertions(+)
Index: zarafa-7.1.3/ECtools/zarafa-archiver/archiver.cpp
===================================================================
--- zarafa-7.1.3.orig/ECtools/zarafa-archiver/archiver.cpp
+++ zarafa-7.1.3/ECtools/zarafa-archiver/archiver.cpp
@@ -60,6 +60,7 @@
#include "ECConfig.h"
#include "ECLogger.h"
+#include <cstdlib>
#include <string>
using namespace std;
@@ -370,6 +371,8 @@ ECLogger* ArchiverImpl::GetLogger(eLogTy
case DefaultLog: return m_lpLogger;
case LogOnly: return m_lpLogLogger;
}
+ abort();
+ return NULL;
}
configsetting_t* ArchiverImpl::ConcatSettings(const configsetting_t *lpSettings1, const configsetting_t *lpSettings2)

View File

@ -0,0 +1,43 @@
---
gateway/Gateway.cpp | 1 +
gateway/IMAP.cpp | 10 +++++++---
2 files changed, 8 insertions(+), 3 deletions(-)
Index: zarafa-7.1.5/gateway/Gateway.cpp
===================================================================
--- zarafa-7.1.5.orig/gateway/Gateway.cpp
+++ zarafa-7.1.5/gateway/Gateway.cpp
@@ -350,6 +350,7 @@ int main(int argc, char *argv[]) {
{ "imap_public_folders", "yes", CONFIGSETTING_RELOADABLE },
{ "imap_capability_idle", "yes", CONFIGSETTING_RELOADABLE },
{ "imap_always_generate", "no", CONFIGSETTING_UNUSED },
+ { "imap_max_fail_commands", "10", CONFIGSETTING_RELOADABLE },
{ "imap_max_messagesize", "128M", CONFIGSETTING_RELOADABLE | CONFIGSETTING_SIZE },
{ "imap_generate_utf8", "no", CONFIGSETTING_RELOADABLE },
{ "imap_expunge_on_delete", "no", CONFIGSETTING_RELOADABLE },
Index: zarafa-7.1.5/gateway/IMAP.cpp
===================================================================
--- zarafa-7.1.5.orig/gateway/IMAP.cpp
+++ zarafa-7.1.5/gateway/IMAP.cpp
@@ -3203,14 +3203,18 @@ HRESULT IMAP::HrResponse(const string &s
*/
HRESULT IMAP::HrResponse(const string &strResult, const string &strTag, const string &strResponse)
{
+ unsigned int max_err;
+
+ max_err = strtoul(lpConfig->GetSetting("imap_max_fail_commands"), NULL, 0);
+
// Some clients keep looping, so if we keep sending errors, just disconnect the client.
if (strResult.compare(RESP_TAGGED_OK) == 0)
m_ulErrors = 0;
else
m_ulErrors++;
- if (m_ulErrors >= 10) {
- lpLogger->Log(EC_LOGLEVEL_FATAL, "Disconnecting client of user %ls because too many erroneous commands received, last reply:", m_strwUsername.c_str());
- lpLogger->Log(EC_LOGLEVEL_FATAL, "%s%s%s", strTag.c_str(), strResult.c_str(), strResponse.c_str());
+ if (m_ulErrors >= max_err) {
+ lpLogger->Log(EC_LOGLEVEL_FATAL, "Disconnecting client of user %ls because too many (%u) erroneous commands received, last reply:", m_strwUsername.c_str(), max_err);
+ lpLogger->Log(EC_LOGLEVEL_FATAL, "%s%s%s", strTag.c_str(), strResult.c_str(), strResponse.c_str());
return MAPI_E_END_OF_SESSION;
}

View File

@ -0,0 +1,37 @@
From: Jan Engelhardt <jengelh@inai.de>
Date: 2013-08-03 23:52:43.159313521 +0200
build: fix incorrect variable name in configure.ac
Duh - there is no variable called $libs_keep or $cflags_keep.
---
configure.ac | 8 ++++----
1 file changed, 4 insertions(+), 4 deletions(-)
Index: zarafa-7.1.5/configure.ac
===================================================================
--- zarafa-7.1.5.orig/configure.ac
+++ zarafa-7.1.5/configure.ac
@@ -259,8 +259,8 @@ AC_DEFUN([LIBNCURSES_WITH_CONFIG],[
AC_CHECK_FUNCS([cbreak], [AC_DEFINE([HAVE_NCURSES], [1], [ncurses library available])])
])
- LIBS=$libs_keep
- CFLAGS=$cflags_keep
+ LIBS="$LIBS_system"
+ CFLAGS="$CFLAGS_system"
AC_SUBST(NCURSES_FLAGS)
AC_SUBST(NCURSES_LIBS)
])
@@ -612,8 +612,8 @@ AC_DEFUN([LIBKRB5_WITH_KRB5_CONFIG],[
AC_MSG_RESULT([yes])
fi
- LIBS=$libs_keep
- CFLAGS=$cflags_keep
+ LIBS="$LIBS_system"
+ CFLAGS="$CFLAGS_system"
AC_SUBST(KRB5_CFLAGS)
AC_SUBST(KRB5_LIBS)
fi

View File

@ -0,0 +1,54 @@
From: Jan Engelhardt <jengelh@inai.de>
Date: 2013-08-04 13:24:08.891101130 +0200
build: fully honor --enable-embedded-mysql
"-DEMBEDDED_MYSQL" never appears on the command lines because it has
been assigned to the wrong variable.
In addition, the definition of ulResult needs to be either moved up,
or put into a block, so as to avoid:
ECServer.cpp:1496:1: error: jump to label 'exit' [-fpermissive]
ECServer.cpp:1320:11: error: from here [-fpermissive]
ECServer.cpp:1343:15: error: crosses initialization of
'unsigned int ulResult'
---
configure.ac | 2 +-
provider/server/ECServer.cpp | 2 ++
2 files changed, 3 insertions(+), 1 deletion(-)
Index: zarafa-7.1.5/configure.ac
===================================================================
--- zarafa-7.1.5.orig/configure.ac
+++ zarafa-7.1.5/configure.ac
@@ -342,7 +342,7 @@ AC_DEFUN([MYSQL_WITH_MYSQL_CONFIG],[
AC_ARG_ENABLE(embedded-mysql, AC_HELP_STRING([--enable-embedded-mysql],[Compile zarafa-server with the embedded MySQL server]),
[
EMBEDDED=1
- CXXFLAGS="$CXXFLAGS -DEMBEDDED_MYSQL"
+ ZCXXFLAGS="$ZCXXFLAGS -DEMBEDDED_MYSQL"
],[
EMBEDDED=0
])
Index: zarafa-7.1.5/provider/server/ECServer.cpp
===================================================================
--- zarafa-7.1.5.orig/provider/server/ECServer.cpp
+++ zarafa-7.1.5/provider/server/ECServer.cpp
@@ -1340,6 +1340,7 @@ int running_server(char *szName, const c
g_lpLogger->Log(EC_LOGLEVEL_FATAL, "WARNING: Unable to place upgrade lockfile: %s", strerror(errno));
#ifdef EMBEDDED_MYSQL
+{
unsigned int ulResult = 0;
// setting upgrade_tables
// 1 = upgrade from mysql 4.1.23 to 5.22
@@ -1353,6 +1354,7 @@ int running_server(char *szName, const c
SetDatabaseSetting(lpDatabase, "upgrade_tables", 1);
}
+}
#endif
// perform database upgrade .. may take a very long time

View File

@ -1,53 +0,0 @@
Patch by Robert Scheck <robert@fedoraproject.org> for zarafa >= 6.40.0, which only
removes the paths from autoconf/automake related files, that don't exist in the OSS
version of Zarafa. Having these paths not removed causes autoreconf to fail, but a
re-run of autoreconf is needed in order to get the rpaths completely out of all the
libraries and binaries built during the make process.
forward patch by Mario Fetka <mario.fetka@gmail.com>
diff -uNr zarafa-7.1.3.orig/configure.ac zarafa-7.1.3/configure.ac
--- zarafa-7.1.3.orig/configure.ac 2013-02-28 16:46:43.297471480 +0100
+++ zarafa-7.1.3/configure.ac 2013-02-28 16:51:10.269133875 +0100
@@ -786,19 +786,6 @@
version
specialbuild
])
-dnl non-oss files
-if test -d `dirname $0`/licensed; then
-AC_CONFIG_FILES([
- liblicense/Makefile
- licensed/Makefile
- ECtools/zarafa-backup/Makefile
- ECtools/zarafa-backup/helpers/Makefile
- ECtools/zarafa-report/Makefile
- ECtools/zarafa-msr/Makefile
- ECtools/zarafa-ocf/Makefile
- ECtools/za-extra/Makefile
-])
-fi
AC_OUTPUT
diff -uNr zarafa-7.1.3.orig/ECtools/Makefile.am zarafa-7.1.3/ECtools/Makefile.am
--- zarafa-7.1.3.orig/ECtools/Makefile.am 2013-02-28 16:46:43.114473768 +0100
+++ zarafa-7.1.3/ECtools/Makefile.am 2013-02-28 16:49:37.728290795 +0100
@@ -1,5 +1 @@
-if ! OSS_ONLY
-PROSUBS = zarafa-backup zarafa-report zarafa-msr za-extra zarafa-ocf
-endif
-
SUBDIRS = $(PROSUBS) zarafa-archiver zarafa-admin zarafa-monitor zarafa-passwd zarafa-fsck zarafa-cfgchecker zarafa-stats zarafa-search zarafa-utils
diff -uNr zarafa-7.1.3.orig/Makefile.am zarafa-7.1.3/Makefile.am
--- zarafa-7.1.3.orig/Makefile.am 2013-02-28 16:46:43.051474555 +0100
+++ zarafa-7.1.3/Makefile.am 2013-02-28 16:50:06.153935425 +0100
@@ -1,9 +1,5 @@
ACLOCAL_AMFLAGS = -I autoconf
-if ! OSS_ONLY
-PROSUBS = liblicense licensed
-endif
-
SUBDIRS = common libfreebusy mapi4linux zarafa-libsync $(PROSUBS) provider libicalmapi inetmapi php-ext ECtools spooler gateway caldav installer po doc
if WITH_SWIG

View File

@ -0,0 +1,15 @@
diff -uNr zarafa-7.1.5.orig/autoconf/swig.m4 zarafa-7.1.5/autoconf/swig.m4
--- zarafa-7.1.5.orig/autoconf/swig.m4 2013-08-15 17:10:38.483748612 +0200
+++ zarafa-7.1.5/autoconf/swig.m4 2013-08-15 17:11:28.996117121 +0200
@@ -12,9 +12,9 @@
need_swig=no
fi
-AC_PATH_PROG(SWIG_EXEC, [swig])
+AC_PATH_PROG(SWIG_EXEC, [swig1.3])
if test "$need_swig" = "yes" -a "x$SWIG_EXEC" = "x"; then
- AC_MSG_ERROR([Current options require swig, but swig binary is not found])
+ AC_MSG_ERROR([Current options require swig 1.3, but swig 1.3 binary is not found])
fi
AM_CONDITIONAL([WITH_SWIG], [test "$want_swig" = "yes"])
])

View File

@ -0,0 +1,389 @@
# -*- Mode: sh -*-
# URL: https://community.zarafa.com/pg/plugins/project/433/developer/John/bash-completion
#
# 2012-07-02 Retrieved z-b-c
# 2012-07-08 Jan Engelhardt
# Remove use of @() extglob syntax since it might not be active
# after all
#
# bash completion for Zarafa admin command
_zarafa__hosts()
{
local host_completes
host_completes='file:///var/run/zarafa http://localhost:236/zarafa https://localhost:237/zarafa'
COMPREPLY=( $( compgen -W "$host_completes" -- ${COMP_WORDS[COMP_CWORD]} ) )
return 0
}
_zarafa__userlist()
{
# what todo with maybe passed --host ?
# what todo with maybe passed -I company, --type ... ?
local users
users=$(zarafa-admin -l | grep -v ^User | grep -v username | grep -v SYSTEM | grep -v -- -- | awk {'print $1'})
COMPREPLY=( $( compgen -W "$users" -- ${COMP_WORDS[COMP_CWORD]} ) )
return 0
}
_zarafa__grouplist()
{
# what todo with maybe passed --host ?
# what todo with maybe passed -I company, --type ... ?
local groups
groups=$(zarafa-admin -L | grep -v ^Group | grep -v groupname | grep -v Everyone | grep -v -- -- | awk {'print $1'})
COMPREPLY=( $( compgen -W "$groups" -- ${COMP_WORDS[COMP_CWORD]} ) )
return 0
}
_zarafa__companylist()
{
# what todo with maybe passed --host ?
local users
users=$(zarafa-admin --list-companies | tail -n +4 | awk {'print $1'})
COMPREPLY=( $( compgen -W "$users" -- ${COMP_WORDS[COMP_CWORD]} ) )
return 0
}
_zarafa_stats_options()
{
list='--system --session --users --company --top --user -u --host -h'
COMPREPLY=( $( compgen -W "$list" -- ${COMP_WORDS[COMP_CWORD]} ) )
}
complete -F _zarafa_stats_options zarafa-stats
_zarafa_admin_options()
{
local cur prev short_actions long_actions possiblelist
short_actions='-V -l -L -s -c -u -d -U -P -p -f -e -a -h -g -G -b -B -i -I -n'
long_actions='--create-store --remove-store --hook-store --unhook-store --copyto-public --details --type --help --host --sync --qh --qs --qw --qo --udqh --udqs --udqw --udqo --lang --mr-accept --mr-decline-conflict --mr-decline-recurring --add-sendas --del-sendas --list-sendas --list-orphans --create-company --update-company --delete-company --list-companies --add-to-viewlist --del-from-viewlist --list-view --add-to-adminlist --del-from-adminlist --list-admin --set-system-admin --add-userquota-recipient --del-userquota-recipient --list-userquota-recipient --add-companyquota-recipient --del-companyquota-recipient --list-companyquota-recipient --purge-softdelete --purge-deferred --config --enable-feature --disable-feature --clear-cache --user-count'
COMPREPLY=()
cur=${COMP_WORDS[COMP_CWORD]}
prev=${COMP_WORDS[COMP_CWORD-1]}
case "$prev" in
-h|--host)
# host completion is quite senseless, since you need admin rights, and no ssl cert can be used in zarafa-admin
_zarafa__hosts
return 0
;;
--qo|--qdqo|--mr-*|-a|-n)
possiblelist="yes no"
;;
--config)
_filedir
return 0
;;
--lang|--create-company|-c|-U|-p|-f|-e|-g|--qh|--qs|--qw|--udqh|--udqs|--udqw|--list-admin|--list-userquota-recipient|--list-companyquota-recipient|--purge-softdelete)
# opt req, no hints
return 0
;;
-G|-i)
_zarafa__grouplist
return 0
;;
-I|--list-view|--add-to-viewlist|--del-from-viewlist)
_zarafa__companylist
return 0
;;
--details|--unhook-store|--create-store|-u|-d|-b|-B|--list-sendas|--add-sendas|--del-sendas|--add-to-adminlist|--del-from-adminlist|--set-system-admin|--add-userquota-recipient|--del-userquota-recipient|--add-companyquota-recipient|--del-companyquota-recipient)
_zarafa__userlist
return 0
;;
--type)
possiblelist="user group company"
;;
--enable-feature|--disable-feature)
possiblelist="imap pop3"
;;
esac
if [ -z "$possiblelist" ]; then
possiblelist="$short_actions $long_actions"
fi
COMPREPLY=( $( compgen -W "$possiblelist" -- "$cur" ) )
return 0
}
complete -F _zarafa_admin_options $filenames zarafa-admin
_zarafa_backup_options()
{
local cur short_actions long_actions possiblelist
short_actions='-a -p -P -u -h -o -c -s -i -J -N -v'
long_actions='--all --user --public --company --company-public --store --skip-junk --skip-public --output --host --config --verbose --help'
COMPREPLY=()
cur=${COMP_WORDS[COMP_CWORD]}
prev=${COMP_WORDS[COMP_CWORD-1]}
case "$prev" in
-h|--host)
_zarafa__hosts
return 0
;;
# actually the (.*).zbk.index part ?
-u|--user|-f|--from)
_zarafa__userlist
;;
-s|--company|-P|--company-public)
_zarafa__companylist
;;
-i|--restorefile|-c|--config)
_filedir
return 0
;;
-o|--output)
_filedir -d
return 0
;;
-i|--store)
# opt req, no hints
return 0
;;
# empty parameters, ok with help and read??
--all|--public|--skip-junk|--skip-public|--verbose|--help)
;;
-a|-p|-J|-N|-v)
;;
esac
if [ -z "$possiblelist" ]; then
possiblelist="$short_actions $long_actions"
fi
COMPREPLY=( $( compgen -W "$possiblelist" -- "$cur" ) )
return 0
}
complete -F _zarafa_backup_options $filenames zarafa-backup
_zarafa_restore_options()
{
local cur short_actions long_actions possiblelist
short_actions='-u -f -h -c -i -r -p -a -b -v'
long_actions='--user --public --from --restorefile --recurse --not-before --not-after --host --config --verbose --help'
COMPREPLY=()
cur=${COMP_WORDS[COMP_CWORD]}
prev=${COMP_WORDS[COMP_CWORD-1]}
case "$prev" in
-h|--host)
_zarafa__hosts
return 0
;;
# actually the (.*).zbk.index part ?
-u|--user|-f|--from)
_zarafa__userlist
;;
-i|--restorefile|-c|--config|-a)
_filedir
return 0
;;
--not-before|-b)
# opt req, no hints
return 0
;;
# empty parameters, ok with help and read??
--help|--public|--recurse|--verbose)
;;
-p|-r|-v)
;;
esac
if [ -z "$POSSIBLELIST" ]; then
possiblelist="$short_actions $long_actions"
fi
COMPREPLY=( $( compgen -W "$possiblelist" -- "$cur" ) )
return 0
}
complete -F _zarafa_restore_options $filenames zarafa-restore
_zarafa_dagent_options()
{
local cur short_actions long_actions possiblelist
short_actions='-c -j -f -d -h -a -F -P -p -q -s -v -e -n -C -V -r -R -l -N'
long_actions='--help --config --junk --file --host --daemonize --listen --folder --public --create --read --do-not-notify --add-imap-data'
COMPREPLY=()
cur=${COMP_WORDS[COMP_CWORD]}
prev=${COMP_WORDS[COMP_CWORD-1]}
case "$prev" in
-h|--host)
_zarafa__hosts
return 0
;;
-f|--file|-c|--config|-a)
_filedir
return 0
;;
-P|--public|-F|--folder|-p)
# opt req, no hints
return 0
;;
# empty parameters, ok with help and read??
--help|--junk|--daemonize|--listen|--read|--do-not-notify)
;;
-j|-d|-q|-s|-v|-e|-n|-r|-l|-R|-N)
;;
esac
if [ -z "$possiblelist" ]; then
possiblelist="$short_actions $long_actions"
fi
COMPREPLY=( $( compgen -W "$possiblelist" -- "$cur" ) )
return 0
}
complete -F _zarafa_dagent_options $filenames zarafa-dagent
_zarafa_fsck_options()
{
local cur short_actions long_actions possiblelist
short_actions='-u -p -P -h -a'
long_actions='--help --host --pass --user --calendar --contact --task --all --autofix --autodel --checkonly'
COMPREPLY=()
cur=${COMP_WORDS[COMP_CWORD]}
prev=${COMP_WORDS[COMP_CWORD-1]}
case "$prev" in
-h|--host)
_zarafa__hosts
return 0
;;
-u|--user)
_zarafa__userlist
return 0
;;
-p|--pass)
# opt req, no hints
return 0
;;
# empty parameters
--calendar|--contact|--task|--all|--autofix|--autodel|--checkonly)
;;
-P|-a)
;;
esac
if [ -z "$possiblelist" ]; then
possiblelist="$short_actions $long_actions"
fi
COMPREPLY=( $( compgen -W "$possiblelist" -- "$cur" ) )
return 0
}
complete -F _zarafa_fsck_options zarafa-fsck
_zarafa_passwd_options()
{
local cur short_actions long_actions possiblelist
short_actions='-u -p -h -o -V'
long_actions='--help --host'
COMPREPLY=()
cur=${COMP_WORDS[COMP_CWORD]}
prev=${COMP_WORDS[COMP_CWORD-1]}
case "$prev" in
-h|--host)
_zarafa__hosts
return 0
;;
-u|-a)
_zarafa__userlist
return 0
;;
-p|-o|-V)
# empty parameters
;;
esac
if [ -z "$possiblelist" ]; then
possiblelist="$short_actions $long_actions"
fi
COMPREPLY=( $( compgen -W "$possiblelist" -- "$cur" ) )
return 0
}
complete -F _zarafa_passwd_options zarafa-passwd
_zarafa_archiver_options()
{
local cur short_actions long_actions possiblelist
short_actions='-u -l -A -w -c'
long_actions='--list --archive --local-only --attach-to --detach-from --archive-folder --archive-server --no-folder --write --config --help'
COMPREPLY=()
cur=${COMP_WORDS[COMP_CWORD]}
prev=${COMP_WORDS[COMP_CWORD-1]}
case "$prev" in
-u|--attach-to|--detach-from)
_zarafa__userlist
return 0
;;
--archive-server)
_zarafa__hosts
return 0
;;
-l|-w|-c|--list|--local-only|--archive-folder|--no-folder|--writable|--config|--help)
# empty parameters
;;
esac
if [ -z "$possiblelist" ]; then
possiblelist="$short_actions $long_actions"
fi
COMPREPLY=( $( compgen -W "$possiblelist" -- "$cur" ) )
return 0
}
complete -F _zarafa_archiver_options zarafa-archiver

View File

@ -0,0 +1,14 @@
[Unit]
Description=Zarafa Collaboration Platform's Delivery Agent
Documentation=man:zarafa-dagent(1) man:zarafa-dagent.cfg(5) man:zarafa-server(1)
Wants=zarafa-server.service
After=zarafa-server.service
[Service]
Type=forking
GuessMainPID=no
Environment=LC_ALL=C LANG=C
ExecStart=/usr/bin/zarafa-dagent -c /etc/zarafa/dagent.cfg
[Install]
WantedBy=multi-user.target

View File

@ -0,0 +1,14 @@
[Unit]
Description=Zarafa Collaboration Platform's POP3/IMAP Gateway
Documentation=man:zarafa-gateway(1) man:zarafa-gateway.cfg(5) man:zarafa-server(1)
Wants=zarafa-server.service
After=zarafa-server.service
[Service]
Type=forking
GuessMainPID=no
Environment=LC_ALL=C LANG=C
ExecStart=/usr/bin/zarafa-gateway -c /etc/zarafa/gateway.cfg
[Install]
WantedBy=multi-user.target

View File

@ -0,0 +1,14 @@
[Unit]
Description=Zarafa Collaboration Platoform's iCal Gateway
Documentation=man:zarafa-ical(1) man:zarafa-ical.cfg(5) man:zarafa-server(1)
Wants=zarafa-server.service
After=zarafa-server.service
[Service]
Type=forking
GuessMainPID=no
Environment=LC_ALL=C LANG=C
ExecStart=/usr/bin/zarafa-ical -c /etc/zarafa/ical.cfg
[Install]
WantedBy=multi-user.target

View File

@ -0,0 +1,14 @@
[Unit]
Description=Zarafa Collaboration Platform's Licensed Agent
Documentation=man:zarafa-licensed(1) man:zarafa-licensed.cfg(5) man:zarafa-server(1)
Wants=zarafa-server.service
After=zarafa-server.service
[Service]
Type=forking
GuessMainPID=no
Environment=LC_ALL=C LANG=C
ExecStart=/usr/bin/zarafa-licensed -c /etc/zarafa/licensed.cfg
[Install]
WantedBy=multi-user.target

View File

@ -0,0 +1,14 @@
[Unit]
Description=Zarafa Collaboration Platform's Quota Monitor
Documentation=man:zarafa-monitor(1) man:zarafa-monitor.cfg(5) man:zarafa-server(1)
Wants=zarafa-server.service
After=zarafa-server.service
[Service]
Type=forking
GuessMainPID=no
Environment=LC_ALL=C LANG=C
ExecStart=/usr/bin/zarafa-monitor -c /etc/zarafa/monitor.cfg
[Install]
WantedBy=multi-user.target

View File

@ -0,0 +1,14 @@
[Unit]
Description=Zarafa Collaboration Platform's Search Agent
Documentation=man:zarafa-search(1) man:zarafa-search.cfg(5) man:zarafa-server(1)
Wants=zarafa-server.service
After=zarafa-server.service
[Service]
Type=forking
GuessMainPID=no
Environment=LC_ALL=C LANG=C
ExecStart=/usr/bin/zarafa-search -c /etc/zarafa/search.cfg
[Install]
WantedBy=multi-user.target

View File

@ -0,0 +1,15 @@
[Unit]
Description=Zarafa Collaboration Platform's Storage Server
Documentation=man:zarafa-server(1) man:zarafa-server.cfg(5) man:zarafa-admin(1)
Wants=mysqld.service
After=network.target mysqld.service
[Service]
Type=forking
GuessMainPID=no
Environment=LC_ALL=C LANG=C
ExecStart=/usr/bin/zarafa-server -c /etc/zarafa/server.cfg
TimeoutSec=65
[Install]
WantedBy=multi-user.target

View File

@ -0,0 +1,14 @@
[Unit]
Description=Zarafa Collaboration Server's Spooler
Documentation=man:zarafa-spooler(1) zarafa-spooler.cfg(5) man:zarafa-server(1)
Wants=zarafa-server.service
After=zarafa-server.service
[Service]
Type=forking
GuessMainPID=no
Environment=LC_ALL=C LANG=C
ExecStart=/usr/bin/zarafa-spooler -c /etc/zarafa/spooler.cfg
[Install]
WantedBy=multi-user.target

View File

@ -1,197 +0,0 @@
# Copyright 1999-2013 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Header: $
EAPI="2"
PHP_EXT_NAME="mapi"
PHP_EXT_INI="yes"
PHP_EXT_ZENDEXT="no"
USE_PHP="php5-3 php5-4"
PYTHON_DEPEND="python? 2"
inherit eutils flag-o-matic php-ext-base-r1 python unpacker autotools versionator
DESCRIPTION="Open Source Groupware Solution"
HOMEPAGE="http://zarafa.com/"
ZARAFA_RELEASE="final"
MY_PV=$(replace_version_separator 3 '-' )
MY_PVV=$(replace_version_separator 3 'beta' $MY_PV )
MY_PVM=$(get_version_component_range 1-2 )
MY_PVR=$(get_version_component_range 1-3 )
SRC_URI="http://download.zarafa.com/community/${ZARAFA_RELEASE}/${MY_PVM}/${MY_PV}/sourcecode/zcp-${MY_PVR}.tar.gz
amd64? ( licensed? ( http://download.zarafa.com/community/${ZARAFA_RELEASE}/${MY_PVM}/${MY_PV}/zcp-${MY_PV}-ubuntu-12.04-x86_64-free.tar.gz
https://launchpad.net/ubuntu/+archive/primary/+files/libboost-system1.46.1_1.46.1-7ubuntu3_amd64.deb
https://launchpad.net/ubuntu/+archive/primary/+files/libboost-filesystem1.46.1_1.46.1-7ubuntu3_amd64.deb
https://launchpad.net/ubuntu/+archive/primary/+files/libssl1.0.0_1.0.1-4ubuntu5.9_amd64.deb
https://launchpad.net/ubuntu/+archive/primary/+files/libicu48_4.8.1.1-3_amd64.deb ) )
x86? ( licensed? ( http://download.zarafa.com/community/${ZARAFA_RELEASE}/${MY_PVM}/${MY_PV}/zcp-${MY_PV}-ubuntu-12.04-i386-free.tar.gz
https://launchpad.net/ubuntu/+archive/primary/+files/libboost-system1.46.1_1.46.1-7ubuntu3_i386.deb
https://launchpad.net/ubuntu/+archive/primary/+files/libboost-filesystem1.46.1_1.46.1-7ubuntu3_i386.deb
https://launchpad.net/ubuntu/+archive/primary/+files/libssl1.0.0_1.0.1-4ubuntu5.9_i386.deb
https://launchpad.net/ubuntu/+archive/primary/+files/libicu48_4.8.1.1-3_i386.deb ) )"
S="${WORKDIR}"/zarafa-${MY_PVR}
ZARAFA_SERVICES="dagent gateway ical monitor search server spooler"
LICENSE="AGPL-3"
SLOT="0"
KEYWORDS="~x86 ~amd64 ~arm"
RESTRICT="mirror"
IUSE="debug kerberos icu ldap logrotate perl +python static +swig tcmalloc licensed sparsehash profiling pic"
RDEPEND=">=dev-libs/libical-0.44
>=dev-cpp/libvmime-0.9.2_pre512
virtual/httpd-php
virtual/mysql
=dev-cpp/clucene-0.9.21b*
dev-db/kyotocabinet
dev-libs/boost
dev-libs/libxml2
dev-libs/openssl
net-misc/curl
sys-libs/e2fsprogs-libs
sys-libs/zlib
icu? ( dev-libs/icu )
kerberos? ( virtual/krb5 )
ldap? ( net-nds/openldap )
logrotate? ( app-admin/logrotate )
perl? ( dev-lang/perl )
python? ( dev-lang/python )
tcmalloc? ( dev-util/google-perftools )
swig? ( <dev-lang/swig-2 )"
DEPEND="${RDEPEND}
sparsehash? ( dev-cpp/sparsehash )
dev-util/pkgconfig
sys-devel/gettext"
pkg_setup() {
python_set_active_version 2
python_pkg_setup
}
src_prepare() {
EPATCH_SOURCE="${FILESDIR}/${PV}" EPATCH_SUFFIX="patch" \
EPATCH_FORCE="yes" epatch
edos2unix php-webclient-ajax/config.php.dist
AT_M4DIR="autoconf" eautoreconf
if use licensed; then
# not a hack just correct a script
sed -i "s!/etc/default/zarafa-ssm!/etc/conf.d/zarafa-ssm!g" "${WORKDIR}"/licensed/usr/bin/zarafa-ssm || die "sed failed"
fi
append-flags "-fPIC"
}
src_unpack() {
unpack zcp-${MY_PVR}.tar.gz
if use licensed; then
if [[ "${ARCH}" == "amd64" ]]; then
unpack zcp-${MY_PV}-ubuntu-12.04-x86_64-free.tar.gz
fi
if [[ "${ARCH}" == "x86" ]]; then
unpack zcp-${MY_PV}-ubuntu-12.04-i386-free.tar.gz
fi
pushd "${WORKDIR}"
mkdir licensed
cd licensed
unpack_deb $(find ./../ -name "zarafa-licensed*.deb")
unpack_deb $(find ./../ -name "zarafa-client*.deb")
unpack_deb $(find ./../../ -name "libboost-system1.46.1*.deb")
unpack_deb $(find ./../../ -name "libboost-filesystem1.46.1*.deb")
unpack_deb $(find ./../../ -name "libssl1.0.0*.deb")
unpack_deb $(find ./../../ -name "libicu48*.deb")
popd
fi
cd "${S}"
}
src_configure() {
append-flags -fpermissive
econf \
--enable-oss \
--disable-testtools \
--enable-release \
--enable-unicode \
--enable-epoll \
--with-userscript-prefix=/etc/zarafa/userscripts \
--with-quotatemplate-prefix=/etc/zarafa/quotamails \
--with-searchscripts-prefix=/etc/zarafa/searchscripts \
$(use_with pic) \
$(use_enable icu) \
$(use_enable static) \
$(use_enable perl) \
$(use_enable python) \
$(use_enable swig) \
$(use_enable tcmalloc)
$(use_enable profiling) \
$(use_enable sparsehash) \
$(use_enable debug)
}
src_compile() {
find swig -type f | xargs touch
emake || die "emake failed"
}
src_install() {
make DESTDIR="${D}" install || die "make install failed"
make DESTDIR="${D}" install-ajax-webaccess || die "make install-ajax-webaccess failed"
#make DESTDIR="${D}" install-mobile-webaccess || die "make install-mobile-webaccess failed"
php-ext-base-r1_src_install
if [[ "${ARCH}" == "x86" || "${ARCH}" == "amd64" ]]; then
dobin "${WORKDIR}"/licensed/usr/bin/zarafa-ssm || die "Failed to install licensed binaries"
make_wrapper zarafa-licensed "/opt/zarafa/bin/zarafa-licensed" /opt/zarafa/bin /opt/zarafa/$(get_libdir)
make_wrapper zarafa-report "/opt/zarafa/bin/zarafa-report" /opt/zarafa/bin /opt/zarafa/$(get_libdir)
if use licensed; then
ZARAFA_SERVICES="${ZARAFA_SERVICES} licensed"
into /opt/zarafa
dobin "${WORKDIR}"/licensed/usr/bin/zarafa-{licensed,report} || die "Failed to install licensed binaries"
dolib.so $(find ${WORKDIR}/licensed -name "*.so*")
doman "${WORKDIR}"/licensed/usr/share/man/*/zarafa-*.gz || die "Failed to install man files"
dodoc "${WORKDIR}"/licensed/usr/share/doc/zarafa-licensed/* || die "Failed to install docs"
insinto /etc/zarafa
doins -r "${WORKDIR}"/licensed/etc/zarafa/* || die "Failed to install config files"
insinto /etc/cron.d
doins "${WORKDIR}"/licensed/etc/cron.d/* || die "Failed to install cron files"
doconfd "${WORKDIR}"/licensed/etc/default/zarafa-ssm || die "Failed to install sysconfig files"
fi
fi
insinto /etc/apache2/modules.d
#newins "${FILESDIR}/50_zarafa-webaccess-mobile.conf" 50_zarafa-webaccess-mobile.conf || die "Failed to install apache config files"
newins "${FILESDIR}/50_zarafa-webaccess.conf" 50_zarafa-webaccess.conf || die "Failed to install apache config files"
rm "${D}"/usr/share/zarafa-webaccess/*.conf || die "Failed to remove apache config files"
#rm "${D}"/usr/share/zarafa-webaccess-mobile/*.conf || die "Failed to remove apache config files"
rm "${D}"/etc/conf.d/zarafa || die "Failed to remove wrong file files"
exeinto /etc/zarafa/userscripts/
newexe "${FILESDIR}"/junklearn.dspam junklearn
if use logrotate; then
insinto /etc/logrotate.d
newins "${FILESDIR}"/zarafa.logrotate zarafa || die "Failed to install logrotate"
fi
if use ldap; then
insinto /etc/openldap/schema
doins installer/ldap/zarafa.* || die "Failed to install ldap schema files"
fi
insinto /etc/zarafa
doins "${S}"/installer/linux/*.cfg || die "Failed to install config files"
dodir /var/log/zarafa
keepdir /var/log/zarafa
for service in ${ZARAFA_SERVICES}; do
newconfd "${FILESDIR}/zarafa-${service}.confd" "zarafa-${service}"
newinitd "${FILESDIR}/zarafa-${service}.initd" "zarafa-${service}"
done
}

View File

@ -11,7 +11,7 @@ USE_PHP="php5-3 php5-4"
PYTHON_DEPEND="python? 2"
inherit eutils flag-o-matic php-ext-base-r1 python unpacker autotools versionator
inherit eutils bash-completion flag-o-matic php-ext-base-r1 python unpacker autotools versionator systemd
DESCRIPTION="Open Source Groupware Solution"
HOMEPAGE="http://zarafa.com/"
@ -47,7 +47,7 @@ RDEPEND=">=dev-libs/libical-0.44
>=dev-cpp/libvmime-0.9.2_pre512
virtual/httpd-php
virtual/mysql
=dev-cpp/clucene-0.9.21b*
dev-cpp/clucene
dev-db/kyotocabinet
dev-libs/boost
dev-libs/libxml2
@ -62,7 +62,7 @@ RDEPEND=">=dev-libs/libical-0.44
perl? ( dev-lang/perl )
python? ( dev-lang/python )
tcmalloc? ( dev-util/google-perftools )
swig? ( <dev-lang/swig-2 )"
swig? ( =dev-lang/swig-1.3* )"
DEPEND="${RDEPEND}
sparsehash? ( dev-cpp/sparsehash )
dev-util/pkgconfig
@ -146,10 +146,10 @@ src_install() {
php-ext-base-r1_src_install
if [[ "${ARCH}" == "x86" || "${ARCH}" == "amd64" ]]; then
dobin "${WORKDIR}"/licensed/usr/bin/zarafa-ssm || die "Failed to install licensed binaries"
make_wrapper zarafa-licensed "/opt/zarafa/bin/zarafa-licensed" /opt/zarafa/bin /opt/zarafa/$(get_libdir)
make_wrapper zarafa-report "/opt/zarafa/bin/zarafa-report" /opt/zarafa/bin /opt/zarafa/$(get_libdir)
if use licensed; then
dobin "${WORKDIR}"/licensed/usr/bin/zarafa-ssm || die "Failed to install licensed binaries"
make_wrapper zarafa-licensed "/opt/zarafa/bin/zarafa-licensed" /opt/zarafa/bin /opt/zarafa/$(get_libdir)
make_wrapper zarafa-report "/opt/zarafa/bin/zarafa-report" /opt/zarafa/bin /opt/zarafa/$(get_libdir)
ZARAFA_SERVICES="${ZARAFA_SERVICES} licensed"
into /opt/zarafa
dobin "${WORKDIR}"/licensed/usr/bin/zarafa-{licensed,report} || die "Failed to install licensed binaries"
@ -193,5 +193,8 @@ src_install() {
for service in ${ZARAFA_SERVICES}; do
newconfd "${FILESDIR}/zarafa-${service}.confd" "zarafa-${service}"
newinitd "${FILESDIR}/zarafa-${service}.initd" "zarafa-${service}"
systemd_newunit "${FILESDIR}/zarafa-${service}.service" "zarafa-${service}.service"
done
dobashcompletion "${FILESDIR}/zarafa-bash-completion.sh" ${PN}
}