From f73a09f728fe88d43c37c3c0c1f7da696e9b8bed Mon Sep 17 00:00:00 2001 From: CentOS Sources Date: Tue, 3 Nov 2020 06:58:59 -0500 Subject: [PATCH] import openchange-2.3-26.el8 --- SOURCES/openchange-2.3-samba-4.11.2.patch | 34 +++++++++++++++ SOURCES/openchange-2.3-samba-4.12.patch | 51 +++++++++++++++++++++++ SPECS/openchange.spec | 30 +++++++++---- 3 files changed, 108 insertions(+), 7 deletions(-) create mode 100644 SOURCES/openchange-2.3-samba-4.11.2.patch create mode 100644 SOURCES/openchange-2.3-samba-4.12.patch diff --git a/SOURCES/openchange-2.3-samba-4.11.2.patch b/SOURCES/openchange-2.3-samba-4.11.2.patch new file mode 100644 index 0000000..d564d94 --- /dev/null +++ b/SOURCES/openchange-2.3-samba-4.11.2.patch @@ -0,0 +1,34 @@ +diff -up openchange-openchange-2.3-VULCAN/libmapiadmin/libmapiadmin.h.samba-4.12 openchange-openchange-2.3-VULCAN/libmapiadmin/libmapiadmin.h +--- openchange-openchange-2.3-VULCAN/libmapiadmin/libmapiadmin.h.samba-4.12 2020-01-27 11:33:02.941846935 +0100 ++++ openchange-openchange-2.3-VULCAN/libmapiadmin/libmapiadmin.h 2020-01-27 11:33:19.170846710 +0100 +@@ -103,7 +103,9 @@ __BEGIN_DECLS + struct ldb_dn *samdb_search_dn(struct ldb_context *, TALLOC_CTX *, struct ldb_dn *, const char *, ...) _PRINTF_ATTRIBUTE(4,5); + struct dom_sid *dom_sid_add_rid(TALLOC_CTX *, const struct dom_sid *, uint32_t); + bool encode_pw_buffer(uint8_t buffer[516], const char *, int); ++#if 0 /* removed in samba 4.12 */ + void arcfour_crypt_blob(uint8_t *, int, const DATA_BLOB *); ++#endif + + /* The following public definitions come from libmapiadmin/mapiadmin.c */ + struct mapiadmin_ctx *mapiadmin_init(struct mapi_session *); +diff -up openchange-openchange-2.3-VULCAN/libmapiadmin/mapiadmin_user.c.samba-4.12 openchange-openchange-2.3-VULCAN/libmapiadmin/mapiadmin_user.c +--- openchange-openchange-2.3-VULCAN/libmapiadmin/mapiadmin_user.c.samba-4.12 2020-01-27 11:25:31.398853179 +0100 ++++ openchange-openchange-2.3-VULCAN/libmapiadmin/mapiadmin_user.c 2020-01-27 11:31:27.490848255 +0100 +@@ -592,6 +592,9 @@ _PUBLIC_ enum MAPISTATUS mapiadmin_user_ + */ + _PUBLIC_ enum MAPISTATUS mapiadmin_user_add(struct mapiadmin_ctx *mapiadmin_ctx) + { ++ OC_DEBUG(3, "mapiadmin_user_add(): is disabled"); ++ return MAPI_E_UNABLE_TO_COMPLETE; ++#if 0 /* disable it, use samba function directly, if needed (no 'arcfour_crypt_blob' in samba 4.12) */ + TALLOC_CTX *mem_ctx; + NTSTATUS status; + enum MAPISTATUS retval; +@@ -732,6 +735,7 @@ again: + + talloc_free(mem_ctx); + return MAPI_E_SUCCESS; ++#endif + } + + /** diff --git a/SOURCES/openchange-2.3-samba-4.12.patch b/SOURCES/openchange-2.3-samba-4.12.patch new file mode 100644 index 0000000..cbd37d7 --- /dev/null +++ b/SOURCES/openchange-2.3-samba-4.12.patch @@ -0,0 +1,51 @@ +diff -up openchange-openchange-2.3-VULCAN/ndr_mapi.c.samba-4.12 openchange-openchange-2.3-VULCAN/ndr_mapi.c +--- openchange-openchange-2.3-VULCAN/ndr_mapi.c.samba-4.12 2020-01-27 11:04:07.136870938 +0100 ++++ openchange-openchange-2.3-VULCAN/ndr_mapi.c 2020-01-27 11:12:29.978863985 +0100 +@@ -2151,7 +2151,11 @@ enum ndr_err_code ndr_push_RestrictionVa + uint32_t _flags_save_STRUCT = ndr->flags; + ndr_set_flags(&ndr->flags, LIBNDR_FLAG_NOALIGN); + if (ndr_flags & NDR_SCALARS) { +- int level = ndr_push_get_switch_value(ndr, r); ++ uint32_t level = 0; ++ ++ if (!NDR_ERR_CODE_IS_SUCCESS(ndr_push_steal_switch_value(ndr, r, &level))) ++ level = 0; ++ + switch (level) { + case 0x0: { + break; } +@@ -2165,7 +2169,9 @@ enum ndr_err_code ndr_push_RestrictionVa + } + } + if (ndr_flags & NDR_BUFFERS) { +- int level = ndr_push_get_switch_value(ndr, r); ++ uint32_t level; ++ if (!NDR_ERR_CODE_IS_SUCCESS(ndr_push_steal_switch_value(ndr, r, &level))) ++ level = 0; + switch (level) { + case 0x0: + break; +@@ -2187,9 +2193,10 @@ enum ndr_err_code ndr_push_RestrictionVa + + enum ndr_err_code ndr_pull_RestrictionVariable(struct ndr_pull *ndr, int ndr_flags, union RestrictionVariable *r) + { +- int level; ++ uint32_t level; + TALLOC_CTX *_mem_save_res_0; +- level = ndr_pull_get_switch_value(ndr, r); ++ if (!NDR_ERR_CODE_IS_SUCCESS(ndr_pull_steal_switch_value(ndr, r, &level))) ++ level = 0; + { + uint32_t _flags_save_STRUCT = ndr->flags; + ndr_set_flags(&ndr->flags, LIBNDR_FLAG_NOALIGN); +@@ -2237,8 +2244,8 @@ enum ndr_err_code ndr_pull_RestrictionV + + _PUBLIC_ void ndr_print_RestrictionVariable(struct ndr_print *ndr, const char *name, const union RestrictionVariable *r) + { +- int level; +- level = ndr_print_get_switch_value(ndr, r); ++ uint32_t level; ++ level = ndr_print_steal_switch_value(ndr, r); + ndr_print_union(ndr, name, level, "RestrictionVariable"); + switch (level) { + case 0x0: diff --git a/SPECS/openchange.spec b/SPECS/openchange.spec index 5d8542e..0d46c76 100644 --- a/SPECS/openchange.spec +++ b/SPECS/openchange.spec @@ -23,7 +23,7 @@ Name: openchange Version: 2.3 -Release: 24%{?dist} +Release: 26%{?dist} Group: Applications/System Summary: Provides access to Microsoft Exchange servers using native protocols License: GPLv3+ and Public Domain @@ -92,6 +92,8 @@ Patch13: openchange-2.3-disable-python3.patch Patch14: openchange-2.3-covscan.patch Patch15: openchange-2.3-samba-4.10-macros.patch Patch16: openchange-2.3-samba-4.11.patch +Patch17: openchange-2.3-samba-4.11.2.patch +Patch18: openchange-2.3-samba-4.12.patch %description OpenChange provides libraries to access Microsoft Exchange servers @@ -170,6 +172,8 @@ This package provides the server elements for OpenChange. %patch14 -p1 -b .covscan %patch15 -p1 -b .samba-4.10-macros %patch16 -p1 -b .samba-4.11 +%patch17 -p1 -b .samba-4.11.2 +%patch18 -p1 -b .samba-4.12 %build ./autogen.sh @@ -266,14 +270,20 @@ cp -r apidocs/html/libmapi++/* $RPM_BUILD_ROOT%{_datadir}/devhelp/books/openchan %files %doc COPYING IDL_LICENSE.txt VERSION -%{_libdir}/libmapi-openchange.so.* -%{_libdir}/libmapiadmin.so.* -%{_libdir}/libmapipp.so.* +%{_libdir}/libmapi-openchange.so.0 +%{_libdir}/libmapi-openchange.so.2.3 +%{_libdir}/libmapiadmin.so.0 +%{_libdir}/libmapiadmin.so.2.3 +%{_libdir}/libmapipp.so.0 +%{_libdir}/libmapipp.so.2.3 %if %{build_server_package} -%{_libdir}/libmapiproxy.so.* -%{_libdir}/libmapistore.so.* +%{_libdir}/libmapiproxy.so.0 +%{_libdir}/libmapiproxy.so.2.3 +%{_libdir}/libmapistore.so.0 +%{_libdir}/libmapistore.so.2.3 %endif -%{_libdir}/libocpf.so.* +%{_libdir}/libocpf.so.0 +%{_libdir}/libocpf.so.2.3 %files devel %{_includedir}/* @@ -312,6 +322,12 @@ cp -r apidocs/html/libmapi++/* $RPM_BUILD_ROOT%{_datadir}/devhelp/books/openchan %endif %changelog +* Mon Jun 08 2020 Milan Crha - 2.3-26 +- Add patch to build against samba 4.12 + +* Mon Apr 20 2020 Milan Crha - 2.3-25 +- Add patch to build against samba 4.11.2 + * Mon Dec 02 2019 Milan Crha - 2.3-24 - Rebuild for newer samba and libldb