From 64c3c4df149b2d9ea03314e072ef87381ae9bf6a Mon Sep 17 00:00:00 2001 From: CentOS Sources Date: Nov 03 2016 06:12:01 +0000 Subject: import openchange-2.3-2.el7 --- diff --git a/.gitignore b/.gitignore index 02abc05..ff3e0ed 100644 --- a/.gitignore +++ b/.gitignore @@ -1 +1 @@ -SOURCES/openchange-2.0-QUADRANT.tar.gz +SOURCES/openchange-2.3-VULCAN.tar.gz diff --git a/.openchange.metadata b/.openchange.metadata index f0ef118..63a3a8f 100644 --- a/.openchange.metadata +++ b/.openchange.metadata @@ -1 +1 @@ -2ae9a1bfafcd09c99dcca5aad64ad4474bb02c7a SOURCES/openchange-2.0-QUADRANT.tar.gz +901e6d8fa4f9f4a1d41c3ad97d967da316d0ad17 SOURCES/openchange-2.3-VULCAN.tar.gz diff --git a/SOURCES/libmapi-0.8.2-libmapi-conflict.patch b/SOURCES/libmapi-0.8.2-libmapi-conflict.patch index 9a9c3c2..2ccd77f 100644 --- a/SOURCES/libmapi-0.8.2-libmapi-conflict.patch +++ b/SOURCES/libmapi-0.8.2-libmapi-conflict.patch @@ -1,6 +1,6 @@ -diff -up openchange-2.0-QUADRANT/libmapi.pc.in.libmapi-conflict openchange-2.0-QUADRANT/libmapi.pc.in ---- openchange-2.0-QUADRANT/libmapi.pc.in.libmapi-conflict 2013-01-24 19:55:36.000000000 +0100 -+++ openchange-2.0-QUADRANT/libmapi.pc.in 2013-01-31 18:41:08.405877184 +0100 +diff -up openchange-openchange-2.3-VULCAN/libmapi.pc.in.libmapi-conflict openchange-openchange-2.3-VULCAN/libmapi.pc.in +--- openchange-openchange-2.3-VULCAN/libmapi.pc.in.libmapi-conflict 2015-05-16 17:22:04.000000000 +0200 ++++ openchange-openchange-2.3-VULCAN/libmapi.pc.in 2015-05-18 07:00:01.718355270 +0200 @@ -8,7 +8,7 @@ datadir=@datadir@ Name: MAPI Description: MAPI Protocol Implementation @@ -10,10 +10,10 @@ diff -up openchange-2.0-QUADRANT/libmapi.pc.in.libmapi-conflict openchange-2.0-Q Libs.private: @LIBS@ Cflags: -I${includedir} Requires: talloc dcerpc ndr tevent -diff -up openchange-2.0-QUADRANT/Makefile.libmapi-conflict openchange-2.0-QUADRANT/Makefile ---- openchange-2.0-QUADRANT/Makefile.libmapi-conflict 2013-01-24 19:55:36.000000000 +0100 -+++ openchange-2.0-QUADRANT/Makefile 2013-01-31 18:42:59.285237972 +0100 -@@ -159,7 +159,7 @@ LIBMAPI_SO_VERSION = 0 +diff -up openchange-openchange-2.3-VULCAN/Makefile.libmapi-conflict openchange-openchange-2.3-VULCAN/Makefile +--- openchange-openchange-2.3-VULCAN/Makefile.libmapi-conflict 2015-05-16 17:22:04.000000000 +0200 ++++ openchange-openchange-2.3-VULCAN/Makefile 2015-05-18 07:01:57.737350354 +0200 +@@ -166,7 +166,7 @@ LIBMAPI_SO_VERSION = 0 libmapi: idl \ libmapi/version.h \ @@ -22,7 +22,7 @@ diff -up openchange-2.0-QUADRANT/Makefile.libmapi-conflict openchange-2.0-QUADRA libmapi-install: libmapi \ libmapi-installpc \ -@@ -192,8 +192,8 @@ endif +@@ -201,8 +201,8 @@ endif rm -f *~ rm -f */*~ rm -f */*/*~ @@ -33,7 +33,7 @@ diff -up openchange-2.0-QUADRANT/Makefile.libmapi-conflict openchange-2.0-QUADRA clean:: libmapi-clean -@@ -210,10 +210,10 @@ libmapi-installpc: +@@ -219,10 +219,10 @@ libmapi-installpc: libmapi-installlib: @echo "[*] install: libmapi library" $(INSTALL) -d $(DESTDIR)$(libdir) @@ -47,7 +47,7 @@ diff -up openchange-2.0-QUADRANT/Makefile.libmapi-conflict openchange-2.0-QUADRA endif libmapi-installheader: -@@ -254,7 +254,7 @@ libmapi-uninstallpc: +@@ -267,7 +267,7 @@ libmapi-uninstallpc: rm -f $(DESTDIR)$(libdir)/pkgconfig/libmapi.pc libmapi-uninstalllib: @@ -56,7 +56,7 @@ diff -up openchange-2.0-QUADRANT/Makefile.libmapi-conflict openchange-2.0-QUADRA libmapi-uninstallheader: rm -rf $(DESTDIR)$(includedir)/libmapi -@@ -265,7 +265,7 @@ libmapi-uninstallscript: +@@ -279,7 +279,7 @@ libmapi-uninstallscript: rm -f $(DESTDIR)$(datadir)/setup/profiles/oc_profiles* rm -rf $(DESTDIR)$(datadir)/setup/profiles @@ -65,7 +65,7 @@ diff -up openchange-2.0-QUADRANT/Makefile.libmapi-conflict openchange-2.0-QUADRA libmapi/emsmdb.po \ libmapi/async_emsmdb.po \ libmapi/IABContainer.po \ -@@ -309,10 +309,10 @@ libmapi.$(SHLIBEXT).$(PACKAGE_VERSION): +@@ -326,10 +326,10 @@ libmapi.$(SHLIBEXT).$(PACKAGE_VERSION): libmapi/socket/interface.po \ libmapi/socket/netif.po @echo "Linking $@" @@ -78,70 +78,70 @@ diff -up openchange-2.0-QUADRANT/Makefile.libmapi-conflict openchange-2.0-QUADRA ln -fs $< $@ libmapi/version.h: VERSION -@@ -347,7 +347,7 @@ libmapipp.$(SHLIBEXT).$(PACKAGE_VERSION) +@@ -364,7 +364,7 @@ libmapipp.$(SHLIBEXT).$(PACKAGE_VERSION) libmapi++/src/object.po \ libmapi++/src/profile.po \ libmapi++/src/session.po \ - libmapi.$(SHLIBEXT).$(LIBMAPI_SO_VERSION) + libmapi-openchange.$(SHLIBEXT).$(LIBMAPI_SO_VERSION) @echo "Linking $@" - @$(CXX) $(DSOOPT) $(CXXFLAGS) $(LDFLAGS) -Wl,-soname,libmapipp.$(SHLIBEXT).$(LIBMAPIPP_SO_VERSION) -o $@ $^ $(LIBS) + @$(CXX) $(DSOOPT) $(CXX11FLAGS) $(CXXFLAGS) $(LDFLAGS) -Wl,-soname,libmapipp.$(SHLIBEXT).$(LIBMAPIPP_SO_VERSION) -o $@ $^ $(LIBS) -@@ -428,7 +428,7 @@ clean:: libmapixx-tests-clean +@@ -445,7 +445,7 @@ clean:: libmapixx-tests-clean bin/libmapixx-test: libmapi++/tests/test.cpp \ libmapipp.$(SHLIBEXT).$(PACKAGE_VERSION) \ - libmapi.$(SHLIBEXT).$(PACKAGE_VERSION) + libmapi-openchange.$(SHLIBEXT).$(PACKAGE_VERSION) @echo "Linking sample application $@" - @$(CXX) $(CXXFLAGS) $(LDFLAGS) -o $@ $^ $(LIBS) + @$(CXX) $(CXX11FLAGS) $(CXXFLAGS) $(LDFLAGS) -o $@ $^ $(LIBS) -@@ -443,7 +443,7 @@ libmapixx-attach-clean: +@@ -460,7 +460,7 @@ libmapixx-attach-clean: bin/libmapixx-attach: libmapi++/tests/attach_test.po \ libmapipp.$(SHLIBEXT).$(PACKAGE_VERSION) \ - libmapi.$(SHLIBEXT).$(PACKAGE_VERSION) + libmapi-openchange.$(SHLIBEXT).$(PACKAGE_VERSION) @echo "Linking sample application $@" - @$(CXX) $(CXXFLAGS) -o $@ $^ $(LIBS) + @$(CXX) $(CXX11FLAGS) $(CXXFLAGS) -o $@ $^ $(LIBS) -@@ -453,7 +453,7 @@ libmapixx-exception: bin/libmapixx-excep +@@ -470,7 +470,7 @@ libmapixx-exception: bin/libmapixx-excep bin/libmapixx-exception: libmapi++/tests/exception_test.cpp \ libmapipp.$(SHLIBEXT).$(PACKAGE_VERSION) \ - libmapi.$(SHLIBEXT).$(PACKAGE_VERSION) + libmapi-openchange.$(SHLIBEXT).$(PACKAGE_VERSION) @echo "Linking exception test application $@" - @$(CXX) $(CXXFLAGS) -o $@ $^ $(LIBS) + @$(CXX) $(CXX11FLAGS) $(CXXFLAGS) -o $@ $^ $(LIBS) -@@ -473,7 +473,7 @@ libmapixx-profiletest-clean: +@@ -490,7 +490,7 @@ libmapixx-profiletest-clean: bin/libmapixx-profiletest: libmapi++/tests/profile_test.po \ libmapipp.$(SHLIBEXT).$(PACKAGE_VERSION) \ - libmapi.$(SHLIBEXT).$(PACKAGE_VERSION) + libmapi-openchange.$(SHLIBEXT).$(PACKAGE_VERSION) @echo "Linking profile test application $@" - @$(CXX) $(CXXFLAGS) -o $@ $^ $(LIBS) + @$(CXX) $(CXX11FLAGS) $(CXXFLAGS) -o $@ $^ $(LIBS) -@@ -494,7 +494,7 @@ libmapixx-messages-clean: +@@ -511,7 +511,7 @@ libmapixx-messages-clean: libmapi++/examples/foldertree: libmapi++/examples/foldertree.cpp \ libmapipp.$(SHLIBEXT).$(PACKAGE_VERSION) \ - libmapi.$(SHLIBEXT).$(PACKAGE_VERSION) + libmapi-openchange.$(SHLIBEXT).$(PACKAGE_VERSION) @echo "Linking foldertree example application $@" - @$(CXX) $(CXXFLAGS) -o $@ $^ $(LIBS) + @$(CXX) $(CXX11FLAGS) $(CXXFLAGS) -o $@ $^ $(LIBS) -@@ -502,7 +502,7 @@ clean:: libmapixx-foldertree-clean +@@ -519,7 +519,7 @@ clean:: libmapixx-foldertree-clean libmapi++/examples/messages: libmapi++/examples/messages.cpp \ libmapipp.$(SHLIBEXT).$(PACKAGE_VERSION) \ - libmapi.$(SHLIBEXT).$(PACKAGE_VERSION) + libmapi-openchange.$(SHLIBEXT).$(PACKAGE_VERSION) @echo "Linking messages example application $@" - @$(CXX) $(CXXFLAGS) -o $@ $^ $(LIBS) + @$(CXX) $(CXX11FLAGS) $(CXXFLAGS) -o $@ $^ $(LIBS) -@@ -569,7 +569,7 @@ libmapiadmin-uninstallheader: +@@ -586,7 +586,7 @@ libmapiadmin-uninstallheader: libmapiadmin.$(SHLIBEXT).$(PACKAGE_VERSION): \ libmapiadmin/mapiadmin_user.po \ libmapiadmin/mapiadmin.po \ @@ -150,7 +150,7 @@ diff -up openchange-2.0-QUADRANT/Makefile.libmapi-conflict openchange-2.0-QUADRA @echo "Linking $@" @$(CC) $(DSOOPT) $(LDFLAGS) -Wl,-soname,libmapiadmin.$(SHLIBEXT).$(LIBMAPIADMIN_SO_VERSION) -o $@ $^ $(LIBS) $(LIBMAPIADMIN_LIBS) -@@ -646,7 +646,7 @@ libocpf.$(SHLIBEXT).$(PACKAGE_VERSION): +@@ -663,7 +663,7 @@ libocpf.$(SHLIBEXT).$(PACKAGE_VERSION): libocpf/ocpf_dump.po \ libocpf/ocpf_api.po \ libocpf/ocpf_write.po \ @@ -159,7 +159,7 @@ diff -up openchange-2.0-QUADRANT/Makefile.libmapi-conflict openchange-2.0-QUADRA @echo "Linking $@" @$(CC) $(DSOOPT) $(LDFLAGS) -Wl,-soname,libocpf.$(SHLIBEXT).$(LIBOCPF_SO_VERSION) -o $@ $^ $(LIBS) -@@ -720,7 +720,7 @@ mapiproxy/dcesrv_mapiproxy.$(SHLIBEXT): +@@ -740,7 +740,7 @@ mapiproxy/dcesrv_mapiproxy.$(SHLIBEXT): gen_ndr/ndr_exchange.po @echo "Linking $@" @@ -168,34 +168,43 @@ diff -up openchange-2.0-QUADRANT/Makefile.libmapi-conflict openchange-2.0-QUADRA mapiproxy/dcesrv_mapiproxy.c: gen_ndr/ndr_exchange_s.c gen_ndr/ndr_exchange.c -@@ -767,7 +767,7 @@ mapiproxy/libmapiproxy.$(SHLIBEXT).$(PAC - mapiproxy/libmapiproxy/mapi_handles.po \ - mapiproxy/libmapiproxy/entryid.po \ - mapiproxy/libmapiproxy/modules.po \ +@@ -748,7 +748,7 @@ mapiproxy/dcesrv_mapiproxy.c: gen_ndr/nd + mapiproxy/dcesrv_asyncemsmdb.$(SHLIBEXT): mapiproxy/servers/default/asyncemsmdb/dcesrv_asyncemsmdb.po \ + gen_ndr/ndr_asyncemsmdb.po + @echo "Linking $@" +- @$(CC) -o $@ $(DSOOPT) $^ -L. $(LDFLAGS) $(LIBS) $(SAMBASERVER_LIBS) $(SAMDB_LIBS) $(NANOMSG_LIBS) -Lmapiproxy mapiproxy/libmapiproxy.$(SHLIBEXT).$(PACKAGE_VERSION) libmapi.$(SHLIBEXT).$(PACKAGE_VERSION) mapiproxy/libmapistore.$(SHLIBEXT).$(PACKAGE_VERSION) mapiproxy/libmapiserver.$(SHLIBEXT).$(PACKAGE_VERSION) \ ++ @$(CC) -o $@ $(DSOOPT) $^ -L. $(LDFLAGS) $(LIBS) $(SAMBASERVER_LIBS) $(SAMDB_LIBS) $(NANOMSG_LIBS) -Lmapiproxy mapiproxy/libmapiproxy.$(SHLIBEXT).$(PACKAGE_VERSION) libmapi-openchange.$(SHLIBEXT).$(PACKAGE_VERSION) mapiproxy/libmapistore.$(SHLIBEXT).$(PACKAGE_VERSION) mapiproxy/libmapiserver.$(SHLIBEXT).$(PACKAGE_VERSION) \ + + + mapiproxy/servers/default/asyncemsmdb/dcesrv_asyncemsmdb.c: gen_ndr/ndr_asyncemsmdb_s.c gen_ndr/ndr_asyncemsmdb.c +@@ -808,7 +808,7 @@ mapiproxy/libmapiproxy.$(SHLIBEXT).$(PAC + mapiproxy/util/mysql.po \ + mapiproxy/util/schema_migration.po \ + mapiproxy/util/ccan/htable/htable.po \ - libmapi.$(SHLIBEXT).$(PACKAGE_VERSION) + libmapi-openchange.$(SHLIBEXT).$(PACKAGE_VERSION) @echo "Linking $@" - @$(CC) -o $@ $(DSOOPT) $(LDFLAGS) -Wl,-soname,libmapiproxy.$(SHLIBEXT).$(LIBMAPIPROXY_SO_VERSION) $^ -L. $(LIBS) $(TDB_LIBS) $(DL_LIBS) + @$(CC) -o $@ $(DSOOPT) $(LDFLAGS) -Wl,-soname,libmapiproxy.$(SHLIBEXT).$(LIBMAPIPROXY_SO_VERSION) $^ -L. $(LIBS) $(TDB_LIBS) $(DL_LIBS) $(MYSQL_LIBS) $(PYTHON_LIBS) -@@ -912,7 +912,7 @@ mapiproxy/libmapistore.$(SHLIBEXT).$(PAC - mapiproxy/libmapistore/mapistore_replica_mapping.po \ - mapiproxy/libmapistore/mapistore_namedprops.po \ - mapiproxy/libmapistore/mapistore_notification.po \ +@@ -962,7 +962,7 @@ mapiproxy/libmapistore.$(SHLIBEXT).$(PAC + mapiproxy/util/ccan/htable/htable.po \ + mapiproxy/util/ccan/hash/hash.po \ + mapiproxy/libmapiproxy.$(SHLIBEXT).$(PACKAGE_VERSION) \ - libmapi.$(SHLIBEXT).$(PACKAGE_VERSION) + libmapi-openchange.$(SHLIBEXT).$(PACKAGE_VERSION) @echo "Linking $@" - @$(CC) -o $@ $(DSOOPT) $^ -L. $(LDFLAGS) $(LIBS) $(TDB_LIBS) $(DL_LIBS) -Wl,-soname,libmapistore.$(SHLIBEXT).$(LIBMAPISTORE_SO_VERSION) + @$(CC) $(DSOOPT) $(MEMCACHED_CFLAGS) $(CFLAGS) $(LDFLAGS) -Wl,-soname,libmapistore.$(SHLIBEXT).$(LIBMAPISTORE_SO_VERSION) -o $@ $^ $(LIBS) $(TDB_LIBS) $(DL_LIBS) $(MYSQL_LIBS) $(MEMCACHED_LIBS) -@@ -934,7 +934,7 @@ mapistore_test: bin/mapistore_test +@@ -984,7 +984,7 @@ mapistore_test: bin/mapistore_test bin/mapistore_test: mapiproxy/libmapistore/tests/mapistore_test.o \ - mapiproxy/libmapistore.$(SHLIBEXT).$(PACKAGE_VERSION) + mapiproxy/libmapistore.$(SHLIBEXT).$(PACKAGE_VERSION) \ + mapiproxy/libmapiproxy.$(SHLIBEXT).$(PACKAGE_VERSION) \ +- libmapi.$(SHLIBEXT).$(PACKAGE_VERSION) ++ libmapi-openchange.$(SHLIBEXT).$(PACKAGE_VERSION) @echo "Linking $@" -- @$(CC) -o $@ $^ $(LDFLAGS) $(LIBS) -lpopt -L. libmapi.$(SHLIBEXT).$(PACKAGE_VERSION) -+ @$(CC) -o $@ $^ $(LDFLAGS) $(LIBS) -lpopt -L. libmapi-openchange.$(SHLIBEXT).$(PACKAGE_VERSION) + @$(CC) -o $@ $^ $(LDFLAGS) $(LIBS) -lpopt - mapistore_clean: - rm -f mapiproxy/libmapistore/tests/*.o -@@ -1103,7 +1103,7 @@ clean:: openchangeclient-clean +@@ -1178,7 +1178,7 @@ clean:: openchangeclient-clean bin/openchangeclient: utils/openchangeclient.o \ utils/openchange-tools.o \ @@ -204,7 +213,7 @@ diff -up openchange-2.0-QUADRANT/Makefile.libmapi-conflict openchange-2.0-QUADRA libocpf.$(SHLIBEXT).$(PACKAGE_VERSION) @echo "Linking $@" @$(CC) $(CFLAGS) -o $@ $^ $(LDFLAGS) $(LIBS) -lpopt -@@ -1132,7 +1132,7 @@ clean:: mapiprofile-clean +@@ -1207,7 +1207,7 @@ clean:: mapiprofile-clean bin/mapiprofile: utils/mapiprofile.o \ utils/openchange-tools.o \ @@ -213,7 +222,34 @@ diff -up openchange-2.0-QUADRANT/Makefile.libmapi-conflict openchange-2.0-QUADRA @echo "Linking $@" @$(CC) $(CFLAGS) -o $@ $^ $(LDFLAGS) $(LIBS) -lpopt -@@ -1160,7 +1160,7 @@ clean:: openchangepfadmin-clean +@@ -1233,7 +1233,7 @@ clean:: ocnotify-clean + bin/ocnotify: utils/ocnotify.o \ + mapiproxy/libmapistore.$(SHLIBEXT).$(PACKAGE_VERSION) \ + mapiproxy/libmapiproxy.$(SHLIBEXT).$(PACKAGE_VERSION) \ +- libmapi.$(SHLIBEXT).$(PACKAGE_VERSION) ++ libmapi-openchange.$(SHLIBEXT).$(PACKAGE_VERSION) + @echo "Linking $@" + @$(CC) $(CFLAGS) $(NANOMSG_CFLAGS) -o $@ $^ $(LDFLAGS) $(NANOMSG_LIBS) $(LIBS) -lpopt + +@@ -1257,7 +1257,7 @@ rpcextract-clean:: + clean:: rpcextract-clean + + bin/rpcextract: utils/rpcextract.o \ +- libmapi.$(SHLIBEXT).$(PACKAGE_VERSION) ++ libmapi-openchange.$(SHLIBEXT).$(PACKAGE_VERSION) + @echo "Linking $@" + @$(CC) $(CFLAGS) $(PCAP_CFLAGS) -o $@ $^ $(LDFLAGS) $(PCAP_LIBS) $(LIBS) -lpopt -lndr + +@@ -1282,7 +1282,7 @@ mapipropsdump-clean:: + clean:: mapipropsdump-clean + + bin/mapipropsdump: utils/mapipropsdump.o \ +- libmapi.$(SHLIBEXT).$(PACKAGE_VERSION) ++ libmapi-openchange.$(SHLIBEXT).$(PACKAGE_VERSION) + @echo "Linking $@" + @$(CC) $(CFLAGS) -o $@ $^ $(LDFLAGS) $(SAMBA_LIBS) $(LIBS) $(DL_LIBS) -lpopt -lndr + +@@ -1309,7 +1309,7 @@ clean:: openchangepfadmin-clean bin/openchangepfadmin: utils/openchangepfadmin.o \ utils/openchange-tools.o \ @@ -222,7 +258,7 @@ diff -up openchange-2.0-QUADRANT/Makefile.libmapi-conflict openchange-2.0-QUADRA libmapiadmin.$(SHLIBEXT).$(PACKAGE_VERSION) @echo "Linking $@" @$(CC) -o $@ $^ $(LDFLAGS) $(LIBS) $(LIBMAPIADMIN_LIBS) -lpopt -@@ -1192,7 +1192,7 @@ clean:: exchange2mbox-clean +@@ -1341,7 +1341,7 @@ clean:: exchange2mbox-clean bin/exchange2mbox: utils/exchange2mbox.o \ utils/openchange-tools.o \ @@ -231,7 +267,7 @@ diff -up openchange-2.0-QUADRANT/Makefile.libmapi-conflict openchange-2.0-QUADRA @echo "Linking $@" @$(CC) -o $@ $^ $(LIBS) $(LDFLAGS) -lpopt $(MAGIC_LIBS) -@@ -1256,7 +1256,7 @@ bin/exchange2ical: utils/exchange2ical_t +@@ -1405,7 +1405,7 @@ bin/exchange2ical: utils/exchange2ical_t libexchange2ical/ical2exchange.o \ libexchange2ical/ical2exchange_property.o \ utils/openchange-tools.o \ @@ -240,7 +276,16 @@ diff -up openchange-2.0-QUADRANT/Makefile.libmapi-conflict openchange-2.0-QUADRA @echo "Linking $@" @$(CC) $(LDFLAGS) -o $@ $^ $(LIBS) $(ICAL_LIBS) -lpopt -@@ -1320,7 +1320,7 @@ bin/mapitest: utils/mapitest/mapitest.o +@@ -1445,7 +1445,7 @@ bin/openchange-testsuite: testsuite/tes + mapiproxy/libmapistore.$(SHLIBEXT).$(PACKAGE_VERSION) \ + mapiproxy/libmapiproxy.$(SHLIBEXT).$(PACKAGE_VERSION) + @echo "Linking $@" +- @$(CC) $(CFLAGS) $(CHECK_CFLAGS) $(TDB_CFLAGS) $(PYTHON_CFLAGS) -I. -Itestsuite/ -Imapiproxy -o $@ $^ $(LDFLAGS) $(LIBS) $(TDB_LIBS) $(CHECK_LIBS) $(MYSQL_LIBS) $(PYTHON_LIBS) -lpopt libmapi.$(SHLIBEXT).$(PACKAGE_VERSION) $(MEMCACHED_LIBS) ++ @$(CC) $(CFLAGS) $(CHECK_CFLAGS) $(TDB_CFLAGS) $(PYTHON_CFLAGS) -I. -Itestsuite/ -Imapiproxy -o $@ $^ $(LDFLAGS) $(LIBS) $(TDB_LIBS) $(CHECK_LIBS) $(MYSQL_LIBS) $(PYTHON_LIBS) -lpopt libmapi-openchange.$(SHLIBEXT).$(PACKAGE_VERSION) $(MEMCACHED_LIBS) + + testsuite-check: testsuite + @LD_LIBRARY_PATH=. PYTHONPATH=./python CK_XML_LOG_FILE_NAME=test_results.xml ./bin/openchange-testsuite +@@ -1513,7 +1513,7 @@ bin/mapitest: utils/mapitest/mapitest.o utils/mapitest/modules/module_lcid.o \ utils/mapitest/modules/module_mapidump.o \ utils/mapitest/modules/module_lzxpress.o \ @@ -249,7 +294,7 @@ diff -up openchange-2.0-QUADRANT/Makefile.libmapi-conflict openchange-2.0-QUADRA @echo "Linking $@" @$(CC) -o $@ $^ $(LDFLAGS) $(LIBS) -lpopt $(SUBUNIT_LIBS) -@@ -1378,7 +1378,7 @@ clean:: openchangemapidump-clean +@@ -1574,7 +1574,7 @@ clean:: openchangemapidump-clean bin/openchangemapidump: utils/backup/openchangemapidump.o \ utils/backup/openchangebackup.o \ utils/openchange-tools.o \ @@ -258,16 +303,16 @@ diff -up openchange-2.0-QUADRANT/Makefile.libmapi-conflict openchange-2.0-QUADRA @echo "Linking $@" @$(CC) -o $@ $^ $(LDFLAGS) $(LIBS) -lpopt -@@ -1429,7 +1429,7 @@ check_fasttransfer-clean:: +@@ -1625,7 +1625,7 @@ check_fasttransfer-clean:: clean:: check_fasttransfer-clean - bin/check_fasttransfer: testprogs/check_fasttransfer.o \ -- libmapi.$(SHLIBEXT).$(PACKAGE_VERSION) \ -+ libmapi-openchange.$(SHLIBEXT).$(PACKAGE_VERSION) \ - mapiproxy/libmapistore.$(SHLIBEXT).$(PACKAGE_VERSION) + bin/check_fasttransfer: testprogs/check_fasttransfer.o \ +- libmapi.$(SHLIBEXT).$(PACKAGE_VERSION) \ ++ libmapi-openchange.$(SHLIBEXT).$(PACKAGE_VERSION) \ + mapiproxy/libmapistore.$(SHLIBEXT).$(PACKAGE_VERSION) \ + mapiproxy/libmapiproxy.$(SHLIBEXT).$(PACKAGE_VERSION) @echo "Linking $@" - @$(CC) -o $@ $^ $(LIBS) $(LDFLAGS) -lpopt -@@ -1456,7 +1456,7 @@ test_asyncnotif-clean:: +@@ -1653,7 +1653,7 @@ test_asyncnotif-clean:: clean:: test_asyncnotif-clean bin/test_asyncnotif: testprogs/test_asyncnotif.o \ @@ -276,32 +321,23 @@ diff -up openchange-2.0-QUADRANT/Makefile.libmapi-conflict openchange-2.0-QUADRA @echo "Linking $@" @$(CC) -o $@ $^ $(LIBS) $(LDFLAGS) -lpopt -@@ -1501,13 +1501,13 @@ pyopenchange: $(pythonscriptdir)/opench +@@ -1701,13 +1701,13 @@ pyopenchange: $(pythonscriptdir)/opench $(pythonscriptdir)/openchange/mapi.$(SHLIBEXT): pyopenchange/pymapi.c \ pyopenchange/pymapi_properties.c \ - libmapi.$(SHLIBEXT).$(PACKAGE_VERSION) + libmapi-openchange.$(SHLIBEXT).$(PACKAGE_VERSION) @echo "Linking $@" - @$(CC) $(CFLAGS) -fno-strict-aliasing $(DSOOPT) $(LDFLAGS) -o $@ $^ $(PYTHON_CFLAGS) $(PYTHON_LIBS) $(LIBS) + @$(CC) $(PYTHON_CFLAGS) $(CFLAGS) -fno-strict-aliasing $(DSOOPT) $(LDFLAGS) -o $@ $^ $(PYTHON_LIBS) $(LIBS) # $(pythonscriptdir)/openchange/ocpf.$(SHLIBEXT): pyopenchange/pyocpf.c \ # libocpf.$(SHLIBEXT).$(PACKAGE_VERSION) \ -# libmapi.$(SHLIBEXT).$(PACKAGE_VERSION) +# libmapi-openchange.$(SHLIBEXT).$(PACKAGE_VERSION) # @echo "Linking $@" - # @$(CC) $(CFLAGS) $(DSOOPT) $(LDFLAGS) -o $@ $^ $(PYTHON_CFLAGS) $(PYTHON_LIBS) $(LIBS) - -@@ -1625,7 +1625,7 @@ ctags: - - test:: check - --check:: libmapi.$(SHLIBEXT).$(LIBMAPI_SO_VERSION) -+check:: libmapi-openchange.$(SHLIBEXT).$(LIBMAPI_SO_VERSION) - # FIXME: Set up server - ./bin/mapitest --mapi-calls + # @$(CC) $(PYTHON_CFLAGS) $(CFLAGS) $(DSOOPT) $(LDFLAGS) -o $@ $^ $(PYTHON_LIBS) $(LIBS) -@@ -1698,7 +1698,7 @@ libqtmapi.$(SHLIBEXT).$(PACKAGE_VERSION) +@@ -1894,7 +1894,7 @@ libqtmapi.$(SHLIBEXT).$(PACKAGE_VERSION) qt/demo/demoapp: qt/demo/demoapp.o \ qt/demo/main.o \ diff --git a/SOURCES/openchange-0.9-generate-xml-doc.patch b/SOURCES/openchange-0.9-generate-xml-doc.patch index 994ffc3..49b84f3 100644 --- a/SOURCES/openchange-0.9-generate-xml-doc.patch +++ b/SOURCES/openchange-0.9-generate-xml-doc.patch @@ -138,67 +138,6 @@ diff -up openchange-2.0-QUADRANT/libocpf/Doxyfile.in.generate-xml-doc openchange # The XML_SCHEMA tag can be used to specify an XML schema, # which can be used by a validating XML parser to check the -diff -up openchange-2.0-QUADRANT/Makefile.generate-xml-doc openchange-2.0-QUADRANT/Makefile ---- openchange-2.0-QUADRANT/Makefile.generate-xml-doc 2013-02-14 12:23:27.592802631 +0100 -+++ openchange-2.0-QUADRANT/Makefile 2013-02-14 12:26:02.032792012 +0100 -@@ -1588,32 +1588,31 @@ uninstallman: - @./script/uninstallman.sh $(DESTDIR)$(mandir) $(manpages) - - doxygen: -- @if test ! -d apidocs ; then \ -- echo "Doxify API documentation: HTML and man pages"; \ -- mkdir -p apidocs/html; \ -- mkdir -p apidocs/man; \ -- $(DOXYGEN) Doxyfile; \ -- $(DOXYGEN) libmapi/Doxyfile; \ -- $(DOXYGEN) libmapiadmin/Doxyfile; \ -- $(DOXYGEN) libocpf/Doxyfile; \ -- $(DOXYGEN) libmapi++/Doxyfile; \ -- $(DOXYGEN) mapiproxy/Doxyfile; \ -- $(DOXYGEN) utils/mapitest/Doxyfile; \ -- $(DOXYGEN) mapiproxy/libmapistore/Doxyfile; \ -- cp -f doc/doxygen/index.html apidocs/html; \ -- cp -f doc/doxygen/pictures/* apidocs/html/overview; \ -- cp -f doc/doxygen/pictures/* apidocs/html/libmapi; \ -- cp -f doc/doxygen/pictures/* apidocs/html/libmapiadmin; \ -- cp -f doc/doxygen/pictures/* apidocs/html/libmapi++; \ -- cp -f doc/doxygen/pictures/* apidocs/html/libocpf; \ -- cp -f doc/doxygen/pictures/* apidocs/html/mapitest; \ -- cp -f doc/doxygen/pictures/* apidocs/html/mapiproxy; \ -- cp -f doc/doxygen/pictures/* apidocs/html/libmapistore; \ -- cp -f mapiproxy/documentation/pictures/* apidocs/html/mapiproxy;\ -- rm -f apidocs/man/man3/todo.3; \ -- rm -f apidocs/man/man3/bug.3; \ -- rm -f apidocs/man/man3/*.c.3; \ -- fi -+ echo "Doxify API documentation: HTML and man pages" -+ mkdir -p apidocs/html -+ mkdir -p apidocs/man -+ mkdir -p apidocs/xml -+ $(DOXYGEN) Doxyfile -+ $(DOXYGEN) libmapi/Doxyfile -+ $(DOXYGEN) libmapiadmin/Doxyfile -+ $(DOXYGEN) libocpf/Doxyfile -+ $(DOXYGEN) libmapi++/Doxyfile -+ $(DOXYGEN) mapiproxy/Doxyfile -+ $(DOXYGEN) utils/mapitest/Doxyfile -+ $(DOXYGEN) mapiproxy/libmapistore/Doxyfile -+ cp -f doc/doxygen/index.html apidocs/html -+ cp -f doc/doxygen/pictures/* apidocs/html/overview -+ cp -f doc/doxygen/pictures/* apidocs/html/libmapi -+ cp -f doc/doxygen/pictures/* apidocs/html/libmapiadmin -+ cp -f doc/doxygen/pictures/* apidocs/html/libmapi++ -+ cp -f doc/doxygen/pictures/* apidocs/html/libocpf -+ cp -f doc/doxygen/pictures/* apidocs/html/mapitest -+ cp -f doc/doxygen/pictures/* apidocs/html/mapiproxy -+ cp -f doc/doxygen/pictures/* apidocs/html/libmapistore -+ cp -f mapiproxy/documentation/pictures/* apidocs/html/mapiproxy -+ rm -f apidocs/man/man3/todo.3 -+ rm -f apidocs/man/man3/bug.3 -+ rm -f apidocs/man/man3/*.c.3 - - etags: - etags `find $(srcdir) -name "*.[ch]"` diff -up openchange-2.0-QUADRANT/mapiproxy/Doxyfile.in.generate-xml-doc openchange-2.0-QUADRANT/mapiproxy/Doxyfile.in --- openchange-2.0-QUADRANT/mapiproxy/Doxyfile.in.generate-xml-doc 2013-01-24 19:55:36.000000000 +0100 +++ openchange-2.0-QUADRANT/mapiproxy/Doxyfile.in 2013-02-14 12:23:27.596802685 +0100 diff --git a/SOURCES/openchange-1.0-OC_RULE_ADD-fix.patch b/SOURCES/openchange-1.0-OC_RULE_ADD-fix.patch index 0a772a7..9435bfd 100644 --- a/SOURCES/openchange-1.0-OC_RULE_ADD-fix.patch +++ b/SOURCES/openchange-1.0-OC_RULE_ADD-fix.patch @@ -1,20 +1,7 @@ -diff -up openchange-2.0-QUADRANT/configure.ac.OC_RULE_ADD-fix openchange-2.0-QUADRANT/configure.ac ---- openchange-2.0-QUADRANT/configure.ac.OC_RULE_ADD-fix 2013-02-14 10:55:32.037997680 +0100 -+++ openchange-2.0-QUADRANT/configure.ac 2013-02-14 10:58:08.012868678 +0100 -@@ -657,11 +657,20 @@ AC_SUBST(OC_MAPISTORE_CLEAN) - AC_SUBST(OC_MAPISTORE_INSTALL) - AC_SUBST(OC_MAPISTORE_UNINSTALL) - -+OC_SERVER= -+OC_SERVER_CLEAN= -+OC_SERVER_INSTALL= -+OC_SERVER_UNINSTALL= -+AC_SUBST(OC_SERVER) -+AC_SUBST(OC_SERVER_CLEAN) -+AC_SUBST(OC_SERVER_INSTALL) -+AC_SUBST(OC_SERVER_UNINSTALL) -+ - dnl ########################################################################## +diff -up openchange-2.1-QUADRANT/configure.ac.OC_RULE_ADD-fix openchange-2.1-QUADRANT/configure.ac +--- openchange-2.1-QUADRANT/configure.ac.OC_RULE_ADD-fix 2014-04-28 11:41:13.075975644 +0200 ++++ openchange-2.1-QUADRANT/configure.ac 2014-04-28 11:56:50.991936546 +0200 +@@ -639,7 +639,7 @@ dnl #################################### dnl mapiproxy server dnl ########################################################################## if test x$PYTHON != x; then @@ -23,24 +10,3 @@ diff -up openchange-2.0-QUADRANT/configure.ac.OC_RULE_ADD-fix openchange-2.0-QUA mapiproxy=1 fi fi -@@ -684,10 +693,16 @@ AC_ARG_ENABLE(pymapi, AC_HELP_STRING([-- - PYCDIR=`$PYTHON -c "import distutils.sysconfig; print distutils.sysconfig.get_python_lib(1, prefix='\\$(prefix)')"` - AC_SUBST(PYCDIR) - --dnl Enable pyopenchange by default --PYMAPIALL="$PYMAPIALL pyopenchange" --PYMAPIINSTALL="$PYMAPIALLINSTALL pyopenchange-install" --PYMAPIUNINSTALL="$PYMAPIUNINSTALL pyopenchange-uninstall" -+PYMAPIALL= -+PYMAPIINSTALL= -+PYMAPIUNINSTALL= -+ -+if test x$enable_pymapi = xyes ; then -+ dnl Enable pyopenchange by default -+ PYMAPIALL="$PYMAPIALL pyopenchange" -+ PYMAPIINSTALL="$PYMAPIALLINSTALL pyopenchange-install" -+ PYMAPIUNINSTALL="$PYMAPIUNINSTALL pyopenchange-uninstall" -+fi - - AC_SUBST(PYMAPIALL) - AC_SUBST(PYMAPIINSTALL) diff --git a/SOURCES/openchange-1.0-fix-connection-args.patch b/SOURCES/openchange-1.0-fix-connection-args.patch index 6b415ef..bfb9718 100644 --- a/SOURCES/openchange-1.0-fix-connection-args.patch +++ b/SOURCES/openchange-1.0-fix-connection-args.patch @@ -1,7 +1,7 @@ -diff -up openchange-1.0-BORG/libmapi/IMSProvider.c.fix-samba-args openchange-1.0-BORG/libmapi/IMSProvider.c ---- openchange-1.0-BORG/libmapi/IMSProvider.c.fix-samba-args 2016-04-07 18:27:16.678401391 +0200 -+++ openchange-1.0-BORG/libmapi/IMSProvider.c 2016-04-07 18:29:00.321613700 +0200 -@@ -90,6 +90,7 @@ static char *build_binding_string(struct +diff -up openchange-openchange-2.3-VULCAN/libmapi/IMSProvider.c.fix-connection-args openchange-openchange-2.3-VULCAN/libmapi/IMSProvider.c +--- openchange-openchange-2.3-VULCAN/libmapi/IMSProvider.c.fix-connection-args 2015-05-16 17:22:04.000000000 +0200 ++++ openchange-openchange-2.3-VULCAN/libmapi/IMSProvider.c 2016-04-07 19:10:30.340959912 +0200 +@@ -91,6 +91,7 @@ static char *build_binding_string(struct struct mapi_profile *profile) { char *binding; @@ -9,7 +9,7 @@ diff -up openchange-1.0-BORG/libmapi/IMSProvider.c.fix-samba-args openchange-1.0 /* Sanity Checks */ if (!profile) return NULL; -@@ -100,15 +101,23 @@ static char *build_binding_string(struct +@@ -101,15 +102,23 @@ static char *build_binding_string(struct /* If dump-data option is enabled */ if (mapi_ctx->dumpdata == true) { diff --git a/SOURCES/openchange-1.0-freebusy.patch b/SOURCES/openchange-1.0-freebusy.patch deleted file mode 100644 index 2f4d7d0..0000000 --- a/SOURCES/openchange-1.0-freebusy.patch +++ /dev/null @@ -1,13 +0,0 @@ -diff -up openchange-2.0-QUADRANT/exchange.idl.freebusy openchange-2.0-QUADRANT/exchange.idl -diff -up openchange-2.0-QUADRANT/libmapi/freebusy.c.freebusy openchange-2.0-QUADRANT/libmapi/freebusy.c ---- openchange-2.0-QUADRANT/libmapi/freebusy.c.freebusy 2013-01-24 19:55:36.000000000 +0100 -+++ openchange-2.0-QUADRANT/libmapi/freebusy.c 2015-06-16 16:32:21.099486703 +0200 -@@ -207,7 +207,7 @@ _PUBLIC_ enum MAPISTATUS GetUserFreeBusy - OPENCHANGE_RETVAL_IF(!mid || *mid == MAPI_E_NOT_FOUND, MAPI_E_NOT_FOUND, NULL); - - mapi_object_init(&obj_message); -- retval = OpenMessage(obj_store, *fid, *mid, &obj_message, 0x0); -+ retval = OpenMessage(&obj_exfreebusy, *fid, *mid, &obj_message, 0x0); - OPENCHANGE_RETVAL_IF(retval, retval, NULL); - - /* Step 11. Get FreeBusy properties */ diff --git a/SOURCES/openchange-1.0-symbol-clash.patch b/SOURCES/openchange-1.0-symbol-clash.patch index 584bb39..1c352e6 100644 --- a/SOURCES/openchange-1.0-symbol-clash.patch +++ b/SOURCES/openchange-1.0-symbol-clash.patch @@ -1,25 +1,22 @@ -diff -up openchange-2.0-QUADRANT/libmapi/emsmdb.c.symbol-clash openchange-2.0-QUADRANT/libmapi/emsmdb.c ---- openchange-2.0-QUADRANT/libmapi/emsmdb.c.symbol-clash 2013-01-24 19:55:36.000000000 +0100 -+++ openchange-2.0-QUADRANT/libmapi/emsmdb.c 2013-11-11 18:21:56.132410403 +0100 -@@ -636,8 +636,8 @@ struct mapi_notify_ctx *emsmdb_bind_noti - notify_ctx->notifications->prev = NULL; +diff -up openchange-2.1-QUADRANT/libmapi/emsmdb.c.symbol-clash openchange-2.1-QUADRANT/libmapi/emsmdb.c +--- openchange-2.1-QUADRANT/libmapi/emsmdb.c.symbol-clash 2014-04-28 11:58:17.560932938 +0200 ++++ openchange-2.1-QUADRANT/libmapi/emsmdb.c 2014-04-28 12:00:21.085927789 +0200 +@@ -644,7 +644,7 @@ struct mapi_notify_ctx *emsmdb_bind_noti notify_ctx->notifications->next = NULL; -- load_interfaces(mem_ctx, lpcfg_interfaces(mapi_ctx->lp_ctx), &ifaces); + openchange_load_interfaces(mem_ctx, lpcfg_interfaces(mapi_ctx->lp_ctx), &ifaces); - ipaddr = iface_best_ip(ifaces, mapi_ctx->session->profile->server); -+ libmapi_load_interfaces(mem_ctx, lpcfg_interfaces(mapi_ctx->lp_ctx), &ifaces); + ipaddr = libmapi_iface_best_ip(ifaces, mapi_ctx->session->profile->server); if (!ipaddr) { talloc_free(notify_ctx->notifications); talloc_free(notify_ctx); -diff -up openchange-2.0-QUADRANT/libmapi/libmapi_private.h.symbol-clash openchange-2.0-QUADRANT/libmapi/libmapi_private.h ---- openchange-2.0-QUADRANT/libmapi/libmapi_private.h.symbol-clash 2013-01-24 19:55:36.000000000 +0100 -+++ openchange-2.0-QUADRANT/libmapi/libmapi_private.h 2013-11-11 18:21:56.133410403 +0100 -@@ -122,14 +122,14 @@ uint8_t mapi_recipients_get_org_length - uint16_t mapi_recipients_RecipientFlags(struct SRow *); +diff -up openchange-2.1-QUADRANT/libmapi/libmapi_private.h.symbol-clash openchange-2.1-QUADRANT/libmapi/libmapi_private.h +--- openchange-2.1-QUADRANT/libmapi/libmapi_private.h.symbol-clash 2014-04-28 11:58:17.560932938 +0200 ++++ openchange-2.1-QUADRANT/libmapi/libmapi_private.h 2014-04-28 12:05:13.875915584 +0200 +@@ -123,13 +123,13 @@ uint16_t mapi_recipients_RecipientFlags /* The following private definitions come from libmapi/socket/interface.c */ --void load_interfaces(TALLOC_CTX *, const char **, struct interface **); + void openchange_load_interfaces(TALLOC_CTX *, const char **, struct interface **); -int iface_count(struct interface *); -const char *iface_n_ip(struct interface *, int); -const char *iface_n_bcast(struct interface *, int); @@ -27,7 +24,6 @@ diff -up openchange-2.0-QUADRANT/libmapi/libmapi_private.h.symbol-clash openchan -const char *iface_best_ip(struct interface *, const char *); -bool iface_is_local(struct interface *, const char *); -bool iface_same_net(const char *, const char *, const char *); -+void libmapi_load_interfaces(TALLOC_CTX *, const char **, struct interface **); +int libmapi_iface_count(struct interface *); +const char *libmapi_iface_n_ip(struct interface *, int); +const char *libmapi_iface_n_bcast(struct interface *, int); @@ -38,19 +34,10 @@ diff -up openchange-2.0-QUADRANT/libmapi/libmapi_private.h.symbol-clash openchan __END_DECLS -diff -up openchange-2.0-QUADRANT/libmapi/socket/interface.c.symbol-clash openchange-2.0-QUADRANT/libmapi/socket/interface.c ---- openchange-2.0-QUADRANT/libmapi/socket/interface.c.symbol-clash 2013-01-24 19:55:36.000000000 +0100 -+++ openchange-2.0-QUADRANT/libmapi/socket/interface.c 2013-11-11 18:21:56.134410403 +0100 -@@ -186,7 +186,7 @@ static void interpret_interface(TALLOC_C - /** - load the list of network interfaces - **/ --void load_interfaces(TALLOC_CTX *mem_ctx, const char **interfaces, struct interface **local_interfaces) -+void libmapi_load_interfaces(TALLOC_CTX *mem_ctx, const char **interfaces, struct interface **local_interfaces) - { - const char **ptr = interfaces; - int i; -@@ -228,7 +228,7 @@ void load_interfaces(TALLOC_CTX *mem_ctx +diff -up openchange-2.1-QUADRANT/libmapi/socket/interface.c.symbol-clash openchange-2.1-QUADRANT/libmapi/socket/interface.c +--- openchange-2.1-QUADRANT/libmapi/socket/interface.c.symbol-clash 2014-04-23 21:43:06.000000000 +0200 ++++ openchange-2.1-QUADRANT/libmapi/socket/interface.c 2014-04-28 11:58:17.560932938 +0200 +@@ -228,7 +228,7 @@ void openchange_load_interfaces(TALLOC_C /** how many interfaces do we have **/ diff --git a/SOURCES/openchange-2.0-multilib-issue-libmapi-version-h.patch b/SOURCES/openchange-2.0-multilib-issue-libmapi-version-h.patch deleted file mode 100644 index d9b39b7..0000000 --- a/SOURCES/openchange-2.0-multilib-issue-libmapi-version-h.patch +++ /dev/null @@ -1,21 +0,0 @@ -diff -up openchange-2.0-QUADRANT/script/mkversion.sh.multilib-issue-libmapi-version-h openchange-2.0-QUADRANT/script/mkversion.sh ---- openchange-2.0-QUADRANT/script/mkversion.sh.multilib-issue-libmapi-version-h 2013-01-24 19:55:36.000000000 +0100 -+++ openchange-2.0-QUADRANT/script/mkversion.sh 2013-09-19 15:00:43.106758507 +0200 -@@ -80,9 +80,14 @@ OPENCHANGE_SYS_KERNEL_NAME=`uname -s` - OPENCHANGE_SYS_KERNEL_RELEASE=`uname -r` - OPENCHANGE_SYS_PROCESSOR=`uname -p` - --echo "#define OPENCHANGE_SYS_KERNEL_NAME \"${OPENCHANGE_SYS_KERNEL_NAME}\"" >> $TMPFILE --echo "#define OPENCHANGE_SYS_KERNEL_RELEASE \"${OPENCHANGE_SYS_KERNEL_RELEASE}\"" >> $TMPFILE --echo "#define OPENCHANGE_SYS_PROCESSOR \"${OPENCHANGE_SYS_PROCESSOR}\"" >> $TMPFILE -+# skip for a multilib issues -+# echo "#define OPENCHANGE_SYS_KERNEL_NAME \"${OPENCHANGE_SYS_KERNEL_NAME}\"" >> $TMPFILE -+# echo "#define OPENCHANGE_SYS_KERNEL_RELEASE \"${OPENCHANGE_SYS_KERNEL_RELEASE}\"" >> $TMPFILE -+# echo "#define OPENCHANGE_SYS_PROCESSOR \"${OPENCHANGE_SYS_PROCESSOR}\"" >> $TMPFILE -+echo "/* 'Unset' to avoid multilib issues */" >> $TMPFILE -+echo "#define OPENCHANGE_SYS_KERNEL_NAME \"Unset\"" >> $TMPFILE -+echo "#define OPENCHANGE_SYS_KERNEL_RELEASE \"Unset\"" >> $TMPFILE -+echo "#define OPENCHANGE_SYS_PROCESSOR \"Unset\"" >> $TMPFILE - - mv "$TMPFILE" "$OUTPUT_FILE" - diff --git a/SOURCES/openchange-2.0-samba-4.2.patch b/SOURCES/openchange-2.0-samba-4.2.patch deleted file mode 100644 index c4102aa..0000000 --- a/SOURCES/openchange-2.0-samba-4.2.patch +++ /dev/null @@ -1,367 +0,0 @@ -diff -up openchange-2.0-QUADRANT/config.mk.in.samba-4.2 openchange-2.0-QUADRANT/config.mk.in ---- openchange-2.0-QUADRANT/config.mk.in.samba-4.2 2013-01-24 19:55:36.000000000 +0100 -+++ openchange-2.0-QUADRANT/config.mk.in 2015-07-02 10:15:20.556693691 +0200 -@@ -47,6 +47,9 @@ PACKAGE_VERSION=@PACKAGE_VERSION@ - SAMBA_CFLAGS=@SAMBA_CFLAGS@ - SAMBA_LIBS=@SAMBA_LIBS@ - -+SAMBA_DEBUG_LDFLAGS=@SAMBA_DEBUG_LDFLAGS@ -+SAMBA_DEBUG_LIBS=@SAMBA_DEBUG_LIBS@ -+ - LDB_CFLAGS=@LDB_CFLAGS@ - LDB_LIBS=@LDB_LIBS@ - -diff -up openchange-2.0-QUADRANT/configure.ac.samba-4.2 openchange-2.0-QUADRANT/configure.ac ---- openchange-2.0-QUADRANT/configure.ac.samba-4.2 2015-07-02 10:15:20.551693691 +0200 -+++ openchange-2.0-QUADRANT/configure.ac 2015-07-02 10:15:20.557693691 +0200 -@@ -365,6 +365,12 @@ PKG_CHECK_MODULES(SAMBASERVER, dcerpc_se - PKG_CHECK_MODULES(TDB, tdb) - PKG_CHECK_MODULES(LDB, ldb) - -+SAMBA_DEBUG_LIBS="-lsamba-debug-samba4" -+AC_SUBST(SAMBA_DEBUG_LIBS) -+ -+SAMBA_DEBUG_LDFLAGS="-L`pkg-config --variable=libdir samba-util`/samba -Wl,-rpath -Wl,`pkg-config --variable=libdir samba-util`/samba" -+AC_SUBST(SAMBA_DEBUG_LDFLAGS) -+ - dnl --------------------------------------------------------------------------- - dnl Check a particular Samba4 git revision - dnl --------------------------------------------------------------------------- -@@ -580,12 +586,14 @@ if test x"$enable_libpopt" = x"yes"; the - exchange2ical=1 - fi - -- MAPISTORE_TEST=mapistore_test -+ if test x"$enable_mapiproxy" = x"yes"; then -+ MAPISTORE_TEST=mapistore_test -+ check_fasttransfer=1 -+ test_asyncnotif=1 -+ fi - mapiprofile=1 - openchangemapidump=1 - schemaIDGUID=1 -- check_fasttransfer=1 -- test_asyncnotif=1 - fi - AC_SUBST(MAPISTORE_TEST) - OC_RULE_ADD(openchangeclient, TOOLS) -diff -up openchange-2.0-QUADRANT/libmapi.pc.in.samba-4.2 openchange-2.0-QUADRANT/libmapi.pc.in ---- openchange-2.0-QUADRANT/libmapi.pc.in.samba-4.2 2015-07-02 10:15:20.547693691 +0200 -+++ openchange-2.0-QUADRANT/libmapi.pc.in 2015-07-02 10:15:20.557693691 +0200 -@@ -8,7 +8,7 @@ datadir=@datadir@ - Name: MAPI - Description: MAPI Protocol Implementation - Version: @PACKAGE_VERSION@ --Libs: -L${libdir} -lmapi-openchange -+Libs: -L${libdir} -lmapi-openchange @SAMBA_DEBUG_LDFLAGS@ @SAMBA_DEBUG_LIBS@ - Libs.private: @LIBS@ - Cflags: -I${includedir} - Requires: talloc dcerpc ndr tevent -diff -up openchange-2.0-QUADRANT/Makefile.samba-4.2 openchange-2.0-QUADRANT/Makefile ---- openchange-2.0-QUADRANT/Makefile.samba-4.2 2015-07-02 10:15:20.550693691 +0200 -+++ openchange-2.0-QUADRANT/Makefile 2015-07-02 10:15:20.557693691 +0200 -@@ -309,7 +309,7 @@ libmapi-openchange.$(SHLIBEXT).$(PACKAGE - libmapi/socket/interface.po \ - libmapi/socket/netif.po - @echo "Linking $@" -- @$(CC) $(DSOOPT) $(CFLAGS) $(LDFLAGS) -Wl,-soname,libmapi-openchange.$(SHLIBEXT).$(LIBMAPI_SO_VERSION) -o $@ $^ $(LIBS) -+ @$(CC) $(DSOOPT) $(CFLAGS) $(LDFLAGS) -Wl,-soname,libmapi-openchange.$(SHLIBEXT).$(LIBMAPI_SO_VERSION) -o $@ $^ $(LIBS) $(SAMBA_DEBUG_LDFLAGS) $(SAMBA_DEBUG_LIBS) - - - libmapi-openchange.$(SHLIBEXT).$(LIBMAPI_SO_VERSION): libmapi-openchange.$(SHLIBEXT).$(PACKAGE_VERSION) -@@ -349,7 +349,7 @@ libmapipp.$(SHLIBEXT).$(PACKAGE_VERSION) - libmapi++/src/session.po \ - libmapi-openchange.$(SHLIBEXT).$(LIBMAPI_SO_VERSION) - @echo "Linking $@" -- @$(CXX) $(DSOOPT) $(CXXFLAGS) $(LDFLAGS) -Wl,-soname,libmapipp.$(SHLIBEXT).$(LIBMAPIPP_SO_VERSION) -o $@ $^ $(LIBS) -+ @$(CXX) $(DSOOPT) $(CXXFLAGS) $(LDFLAGS) -Wl,-soname,libmapipp.$(SHLIBEXT).$(LIBMAPIPP_SO_VERSION) -o $@ $^ $(LIBS) $(SAMBA_DEBUG_LDFLAGS) $(SAMBA_DEBUG_LIBS) - - libmapixx-installpc: - @echo "[*] install: libmapi++ pc files" -@@ -430,7 +430,7 @@ bin/libmapixx-test: libmapi++/tests/test - libmapipp.$(SHLIBEXT).$(PACKAGE_VERSION) \ - libmapi-openchange.$(SHLIBEXT).$(PACKAGE_VERSION) - @echo "Linking sample application $@" -- @$(CXX) $(CXXFLAGS) $(LDFLAGS) -o $@ $^ $(LIBS) -+ @$(CXX) $(CXXFLAGS) $(LDFLAGS) -o $@ $^ $(LIBS) $(SAMBA_DEBUG_LDFLAGS) $(SAMBA_DEBUG_LIBS) - - clean:: libmapixx-test-clean - -@@ -445,7 +445,7 @@ bin/libmapixx-attach: libmapi++/tests/at - libmapipp.$(SHLIBEXT).$(PACKAGE_VERSION) \ - libmapi-openchange.$(SHLIBEXT).$(PACKAGE_VERSION) - @echo "Linking sample application $@" -- @$(CXX) $(CXXFLAGS) -o $@ $^ $(LIBS) -+ @$(CXX) $(CXXFLAGS) -o $@ $^ $(LIBS) $(SAMBA_DEBUG_LDFLAGS) $(SAMBA_DEBUG_LIBS) - - clean:: libmapixx-attach-clean - -@@ -455,7 +455,7 @@ bin/libmapixx-exception: libmapi++/tests - libmapipp.$(SHLIBEXT).$(PACKAGE_VERSION) \ - libmapi-openchange.$(SHLIBEXT).$(PACKAGE_VERSION) - @echo "Linking exception test application $@" -- @$(CXX) $(CXXFLAGS) -o $@ $^ $(LIBS) -+ @$(CXX) $(CXXFLAGS) -o $@ $^ $(LIBS) $(SAMBA_DEBUG_LDFLAGS) $(SAMBA_DEBUG_LIBS) - - libmapixx-exception-clean: - rm -f bin/libmapixx-exception -@@ -475,7 +475,7 @@ bin/libmapixx-profiletest: libmapi++/tes - libmapipp.$(SHLIBEXT).$(PACKAGE_VERSION) \ - libmapi-openchange.$(SHLIBEXT).$(PACKAGE_VERSION) - @echo "Linking profile test application $@" -- @$(CXX) $(CXXFLAGS) -o $@ $^ $(LIBS) -+ @$(CXX) $(CXXFLAGS) -o $@ $^ $(LIBS) $(SAMBA_DEBUG_LDFLAGS) $(SAMBA_DEBUG_LIBS) - - clean:: libmapixx-profiletest-clean - -@@ -496,7 +496,7 @@ libmapi++/examples/foldertree: libmapi++ - libmapipp.$(SHLIBEXT).$(PACKAGE_VERSION) \ - libmapi-openchange.$(SHLIBEXT).$(PACKAGE_VERSION) - @echo "Linking foldertree example application $@" -- @$(CXX) $(CXXFLAGS) -o $@ $^ $(LIBS) -+ @$(CXX) $(CXXFLAGS) -o $@ $^ $(LIBS) $(SAMBA_DEBUG_LDFLAGS) $(SAMBA_DEBUG_LIBS) - - clean:: libmapixx-foldertree-clean - -@@ -504,7 +504,7 @@ libmapi++/examples/messages: libmapi++/e - libmapipp.$(SHLIBEXT).$(PACKAGE_VERSION) \ - libmapi-openchange.$(SHLIBEXT).$(PACKAGE_VERSION) - @echo "Linking messages example application $@" -- @$(CXX) $(CXXFLAGS) -o $@ $^ $(LIBS) -+ @$(CXX) $(CXXFLAGS) -o $@ $^ $(LIBS) $(SAMBA_DEBUG_LDFLAGS) $(SAMBA_DEBUG_LIBS) - - clean:: libmapixx-messages-clean - -@@ -571,7 +571,7 @@ libmapiadmin.$(SHLIBEXT).$(PACKAGE_VERSI - libmapiadmin/mapiadmin.po \ - libmapi-openchange.$(SHLIBEXT).$(PACKAGE_VERSION) - @echo "Linking $@" -- @$(CC) $(DSOOPT) $(LDFLAGS) -Wl,-soname,libmapiadmin.$(SHLIBEXT).$(LIBMAPIADMIN_SO_VERSION) -o $@ $^ $(LIBS) $(LIBMAPIADMIN_LIBS) -+ @$(CC) $(DSOOPT) $(LDFLAGS) -Wl,-soname,libmapiadmin.$(SHLIBEXT).$(LIBMAPIADMIN_SO_VERSION) -o $@ $^ $(LIBS) $(LIBMAPIADMIN_LIBS) $(SAMBA_DEBUG_LDFLAGS) $(SAMBA_DEBUG_LIBS) - - - -@@ -648,7 +648,7 @@ libocpf.$(SHLIBEXT).$(PACKAGE_VERSION): - libocpf/ocpf_write.po \ - libmapi-openchange.$(SHLIBEXT).$(PACKAGE_VERSION) - @echo "Linking $@" -- @$(CC) $(DSOOPT) $(LDFLAGS) -Wl,-soname,libocpf.$(SHLIBEXT).$(LIBOCPF_SO_VERSION) -o $@ $^ $(LIBS) -+ @$(CC) $(DSOOPT) $(LDFLAGS) -Wl,-soname,libocpf.$(SHLIBEXT).$(LIBOCPF_SO_VERSION) -o $@ $^ $(LIBS) $(SAMBA_DEBUG_LDFLAGS) $(SAMBA_DEBUG_LIBS) - - libocpf.$(SHLIBEXT).$(LIBOCPF_SO_VERSION): libocpf.$(SHLIBEXT).$(PACKAGE_VERSION) - ln -fs $< $@ -@@ -720,7 +720,7 @@ mapiproxy/dcesrv_mapiproxy.$(SHLIBEXT): - gen_ndr/ndr_exchange.po - - @echo "Linking $@" -- @$(CC) -o $@ $(DSOOPT) $^ -L. $(LDFLAGS) $(LIBS) $(SAMBASERVER_LIBS) $(SAMDB_LIBS) -Lmapiproxy mapiproxy/libmapiproxy.$(SHLIBEXT).$(PACKAGE_VERSION) libmapi-openchange.$(SHLIBEXT).$(PACKAGE_VERSION) -+ @$(CC) -o $@ $(DSOOPT) $^ -L. $(LDFLAGS) $(LIBS) $(SAMBASERVER_LIBS) $(SAMDB_LIBS) -Lmapiproxy mapiproxy/libmapiproxy.$(SHLIBEXT).$(PACKAGE_VERSION) libmapi-openchange.$(SHLIBEXT).$(PACKAGE_VERSION) $(SAMBA_DEBUG_LDFLAGS) $(SAMBA_DEBUG_LIBS) - - mapiproxy/dcesrv_mapiproxy.c: gen_ndr/ndr_exchange_s.c gen_ndr/ndr_exchange.c - -@@ -769,7 +769,7 @@ mapiproxy/libmapiproxy.$(SHLIBEXT).$(PAC - mapiproxy/libmapiproxy/modules.po \ - libmapi-openchange.$(SHLIBEXT).$(PACKAGE_VERSION) - @echo "Linking $@" -- @$(CC) -o $@ $(DSOOPT) $(LDFLAGS) -Wl,-soname,libmapiproxy.$(SHLIBEXT).$(LIBMAPIPROXY_SO_VERSION) $^ -L. $(LIBS) $(TDB_LIBS) $(DL_LIBS) -+ @$(CC) -o $@ $(DSOOPT) $(LDFLAGS) -Wl,-soname,libmapiproxy.$(SHLIBEXT).$(LIBMAPIPROXY_SO_VERSION) $^ -L. $(LIBS) $(TDB_LIBS) $(DL_LIBS) $(SAMBA_DEBUG_LDFLAGS) $(SAMBA_DEBUG_LIBS) - - mapiproxy/libmapiproxy.$(SHLIBEXT).$(LIBMAPIPROXY_SO_VERSION): libmapiproxy.$(SHLIBEXT).$(PACKAGE_VERSION) - ln -fs $< $@ -@@ -820,7 +820,7 @@ mapiproxy/libmapiserver.$(SHLIBEXT).$(PA - ndr_mapi.po \ - gen_ndr/ndr_exchange.po - @echo "Linking $@" -- @$(CC) -o $@ $(DSOOPT) $(LDFLAGS) -Wl,-soname,libmapiserver.$(SHLIBEXT).$(LIBMAPIPROXY_SO_VERSION) $^ $(LIBS) -+ @$(CC) -o $@ $(DSOOPT) $(LDFLAGS) -Wl,-soname,libmapiserver.$(SHLIBEXT).$(LIBMAPIPROXY_SO_VERSION) $^ $(LIBS) $(SAMBA_DEBUG_LDFLAGS) $(SAMBA_DEBUG_LIBS) - - mapiproxy/libmapiserver.$(SHLIBEXT).$(LIBMAPISERVER_SO_VERSION): libmapiserver.$(SHLIBEXT).$(PACKAGE_VERSION) - ln -fs $< $@ -@@ -914,7 +914,7 @@ mapiproxy/libmapistore.$(SHLIBEXT).$(PAC - mapiproxy/libmapistore/mapistore_notification.po \ - libmapi-openchange.$(SHLIBEXT).$(PACKAGE_VERSION) - @echo "Linking $@" -- @$(CC) -o $@ $(DSOOPT) $^ -L. $(LDFLAGS) $(LIBS) $(TDB_LIBS) $(DL_LIBS) -Wl,-soname,libmapistore.$(SHLIBEXT).$(LIBMAPISTORE_SO_VERSION) -+ @$(CC) -o $@ $(DSOOPT) $^ -L. $(LDFLAGS) $(LIBS) $(TDB_LIBS) $(DL_LIBS) -Wl,-soname,libmapistore.$(SHLIBEXT).$(LIBMAPISTORE_SO_VERSION) $(SAMBA_DEBUG_LDFLAGS) $(SAMBA_DEBUG_LIBS) - - mapiproxy/libmapistore/mapistore_interface.po: mapiproxy/libmapistore/mapistore_nameid.h - -@@ -934,7 +934,7 @@ mapistore_test: bin/mapistore_test - bin/mapistore_test: mapiproxy/libmapistore/tests/mapistore_test.o \ - mapiproxy/libmapistore.$(SHLIBEXT).$(PACKAGE_VERSION) - @echo "Linking $@" -- @$(CC) -o $@ $^ $(LDFLAGS) $(LIBS) -lpopt -L. libmapi-openchange.$(SHLIBEXT).$(PACKAGE_VERSION) -+ @$(CC) -o $@ $^ $(LDFLAGS) $(LIBS) -lpopt -L. libmapi-openchange.$(SHLIBEXT).$(PACKAGE_VERSION) $(SAMBA_DEBUG_LDFLAGS) $(SAMBA_DEBUG_LIBS) - - mapistore_clean: - rm -f mapiproxy/libmapistore/tests/*.o -@@ -972,13 +972,13 @@ clean:: mapiproxy-modules-clean - - mapiproxy/modules/mpm_downgrade.$(SHLIBEXT): mapiproxy/modules/mpm_downgrade.po - @echo "Linking $@" -- @$(CC) -o $@ $(DSOOPT) $(LDFLAGS) $^ -L. $(LIBS) -Lmapiproxy mapiproxy/libmapiproxy.$(SHLIBEXT).$(PACKAGE_VERSION) -+ @$(CC) -o $@ $(DSOOPT) $(LDFLAGS) $^ -L. $(LIBS) -Lmapiproxy mapiproxy/libmapiproxy.$(SHLIBEXT).$(PACKAGE_VERSION) $(SAMBA_DEBUG_LDFLAGS) $(SAMBA_DEBUG_LIBS) - - mapiproxy/modules/mpm_pack.$(SHLIBEXT): mapiproxy/modules/mpm_pack.po \ - ndr_mapi.po \ - gen_ndr/ndr_exchange.po - @echo "Linking $@" -- @$(CC) -o $@ $(DSOOPT) $(LDFLAGS) $^ -L. $(LIBS) -Lmapiproxy mapiproxy/libmapiproxy.$(SHLIBEXT).$(PACKAGE_VERSION) -+ @$(CC) -o $@ $(DSOOPT) $(LDFLAGS) $^ -L. $(LIBS) -Lmapiproxy mapiproxy/libmapiproxy.$(SHLIBEXT).$(PACKAGE_VERSION) $(SAMBA_DEBUG_LDFLAGS) $(SAMBA_DEBUG_LIBS) - - mapiproxy/modules/mpm_cache.$(SHLIBEXT): mapiproxy/modules/mpm_cache.po \ - mapiproxy/modules/mpm_cache_ldb.po \ -@@ -986,11 +986,11 @@ mapiproxy/modules/mpm_cache.$(SHLIBEXT): - ndr_mapi.po \ - gen_ndr/ndr_exchange.po - @echo "Linking $@" -- @$(CC) -o $@ $(DSOOPT) $(LDFLAGS) $^ -L. $(LIBS) -Lmapiproxy mapiproxy/libmapiproxy.$(SHLIBEXT).$(PACKAGE_VERSION) -+ @$(CC) -o $@ $(DSOOPT) $(LDFLAGS) $^ -L. $(LIBS) -Lmapiproxy mapiproxy/libmapiproxy.$(SHLIBEXT).$(PACKAGE_VERSION) $(SAMBA_DEBUG_LDFLAGS) $(SAMBA_DEBUG_LIBS) - - mapiproxy/modules/mpm_dummy.$(SHLIBEXT): mapiproxy/modules/mpm_dummy.po - @echo "Linking $@" -- @$(CC) -o $@ $(DSOOPT) $(LDFLAGS) $^ -L. $(LIBS) -Lmapiproxy mapiproxy/libmapiproxy.$(SHLIBEXT).$(PACKAGE_VERSION) -+ @$(CC) -o $@ $(DSOOPT) $(LDFLAGS) $^ -L. $(LIBS) -Lmapiproxy mapiproxy/libmapiproxy.$(SHLIBEXT).$(PACKAGE_VERSION) $(SAMBA_DEBUG_LDFLAGS) $(SAMBA_DEBUG_LIBS) - - - samba_setupdir = $(shell $(PYTHON) -c 'import samba; print samba.param.setup_dir();') -@@ -1048,7 +1048,7 @@ mapiproxy/servers/exchange_nsp.$(SHLIBEX - mapiproxy/servers/default/nspi/emsabp_tdb.po \ - mapiproxy/servers/default/nspi/emsabp_property.po - @echo "Linking $@" -- @$(CC) -o $@ $(DSOOPT) $(LDFLAGS) $^ -L. $(LIBS) $(TDB_LIBS) $(SAMBASERVER_LIBS) $(SAMDB_LIBS) -Lmapiproxy mapiproxy/libmapiproxy.$(SHLIBEXT).$(PACKAGE_VERSION) -+ @$(CC) -o $@ $(DSOOPT) $(LDFLAGS) $^ -L. $(LIBS) $(TDB_LIBS) $(SAMBASERVER_LIBS) $(SAMDB_LIBS) -Lmapiproxy mapiproxy/libmapiproxy.$(SHLIBEXT).$(PACKAGE_VERSION) $(SAMBA_DEBUG_LDFLAGS) $(SAMBA_DEBUG_LIBS) - - mapiproxy/servers/exchange_emsmdb.$(SHLIBEXT): mapiproxy/servers/default/emsmdb/dcesrv_exchange_emsmdb.po \ - mapiproxy/servers/default/emsmdb/emsmdbp.po \ -@@ -1067,11 +1067,11 @@ mapiproxy/servers/exchange_emsmdb.$(SHLI - @echo "Linking $@" - @$(CC) -o $@ $(DSOOPT) $(LDFLAGS) $^ -L. $(LIBS) $(SAMBASERVER_LIBS) $(SAMDB_LIBS) -Lmapiproxy mapiproxy/libmapiproxy.$(SHLIBEXT).$(PACKAGE_VERSION) \ - mapiproxy/libmapiserver.$(SHLIBEXT).$(PACKAGE_VERSION) \ -- mapiproxy/libmapistore.$(SHLIBEXT).$(PACKAGE_VERSION) -+ mapiproxy/libmapistore.$(SHLIBEXT).$(PACKAGE_VERSION) $(SAMBA_DEBUG_LDFLAGS) $(SAMBA_DEBUG_LIBS) - - mapiproxy/servers/exchange_ds_rfr.$(SHLIBEXT): mapiproxy/servers/default/rfr/dcesrv_exchange_ds_rfr.po - @echo "Linking $@" -- @$(CC) -o $@ $(DSOOPT) $(LDFLAGS) $^ -L. $(LIBS) $(SAMBASERVER_LIBS) $(SAMDB_LIBS) -Lmapiproxy mapiproxy/libmapiproxy.$(SHLIBEXT).$(PACKAGE_VERSION) -+ @$(CC) -o $@ $(DSOOPT) $(LDFLAGS) $^ -L. $(LIBS) $(SAMBASERVER_LIBS) $(SAMDB_LIBS) -Lmapiproxy mapiproxy/libmapiproxy.$(SHLIBEXT).$(PACKAGE_VERSION) $(SAMBA_DEBUG_LDFLAGS) $(SAMBA_DEBUG_LIBS) - - ################################################################# - # Tools compilation rules -@@ -1106,7 +1106,7 @@ bin/openchangeclient: utils/openchangec - libmapi-openchange.$(SHLIBEXT).$(PACKAGE_VERSION) \ - libocpf.$(SHLIBEXT).$(PACKAGE_VERSION) - @echo "Linking $@" -- @$(CC) $(CFLAGS) -o $@ $^ $(LDFLAGS) $(LIBS) -lpopt -+ @$(CC) $(CFLAGS) -o $@ $^ $(LDFLAGS) $(SAMBA_DEBUG_LDFLAGS) $(SAMBA_DEBUG_LIBS) $(LIBS) -lpopt $(SAMBA_DEBUG_LDFLAGS) $(SAMBA_DEBUG_LIBS) - - - ############## -@@ -1134,7 +1134,7 @@ bin/mapiprofile: utils/mapiprofile.o - utils/openchange-tools.o \ - libmapi-openchange.$(SHLIBEXT).$(PACKAGE_VERSION) - @echo "Linking $@" -- @$(CC) $(CFLAGS) -o $@ $^ $(LDFLAGS) $(LIBS) -lpopt -+ @$(CC) $(CFLAGS) -o $@ $^ $(LDFLAGS) $(LIBS) -lpopt $(SAMBA_DEBUG_LDFLAGS) $(SAMBA_DEBUG_LIBS) - - - ################### -@@ -1163,7 +1163,7 @@ bin/openchangepfadmin: utils/openchangep - libmapi-openchange.$(SHLIBEXT).$(PACKAGE_VERSION) \ - libmapiadmin.$(SHLIBEXT).$(PACKAGE_VERSION) - @echo "Linking $@" -- @$(CC) -o $@ $^ $(LDFLAGS) $(LIBS) $(LIBMAPIADMIN_LIBS) -lpopt -+ @$(CC) -o $@ $^ $(LDFLAGS) $(LIBS) $(LIBMAPIADMIN_LIBS) -lpopt $(SAMBA_DEBUG_LDFLAGS) $(SAMBA_DEBUG_LIBS) - - - ################### -@@ -1194,7 +1194,7 @@ bin/exchange2mbox: utils/exchange2mbox.o - utils/openchange-tools.o \ - libmapi-openchange.$(SHLIBEXT).$(PACKAGE_VERSION) - @echo "Linking $@" -- @$(CC) -o $@ $^ $(LIBS) $(LDFLAGS) -lpopt $(MAGIC_LIBS) -+ @$(CC) -o $@ $^ $(LIBS) $(LDFLAGS) -lpopt $(MAGIC_LIBS) $(SAMBA_DEBUG_LDFLAGS) $(SAMBA_DEBUG_LIBS) - - - ################### -@@ -1258,7 +1258,7 @@ bin/exchange2ical: utils/exchange2ical_t - utils/openchange-tools.o \ - libmapi-openchange.$(SHLIBEXT).$(PACKAGE_VERSION) - @echo "Linking $@" -- @$(CC) $(LDFLAGS) -o $@ $^ $(LIBS) $(ICAL_LIBS) -lpopt -+ @$(CC) $(LDFLAGS) -o $@ $^ $(LIBS) $(ICAL_LIBS) -lpopt $(SAMBA_DEBUG_LDFLAGS) $(SAMBA_DEBUG_LIBS) - - - ################### -@@ -1322,7 +1322,7 @@ bin/mapitest: utils/mapitest/mapitest.o - utils/mapitest/modules/module_lzxpress.o \ - libmapi-openchange.$(SHLIBEXT).$(PACKAGE_VERSION) - @echo "Linking $@" -- @$(CC) -o $@ $^ $(LDFLAGS) $(LIBS) -lpopt $(SUBUNIT_LIBS) -+ @$(CC) -o $@ $^ $(LDFLAGS) $(LIBS) -lpopt $(SUBUNIT_LIBS) $(SAMBA_DEBUG_LDFLAGS) $(SAMBA_DEBUG_LIBS) - - utils/mapitest/proto.h: \ - utils/mapitest/mapitest_suite.c \ -@@ -1380,7 +1380,7 @@ bin/openchangemapidump: utils/backup/ope - utils/openchange-tools.o \ - libmapi-openchange.$(SHLIBEXT).$(PACKAGE_VERSION) - @echo "Linking $@" -- @$(CC) -o $@ $^ $(LDFLAGS) $(LIBS) -lpopt -+ @$(CC) -o $@ $^ $(LDFLAGS) $(LIBS) -lpopt $(SAMBA_DEBUG_LDFLAGS) $(SAMBA_DEBUG_LIBS) - - - ############### -@@ -1405,7 +1405,7 @@ clean:: schemaIDGUID-clean - - bin/schemaIDGUID: utils/schemaIDGUID.o - @echo "Linking $@" -- @$(CC) $(CFLAGS) -o $@ $^ $(LIBS) -+ @$(CC) $(CFLAGS) -o $@ $^ $(LIBS) $(SAMBA_DEBUG_LDFLAGS) $(SAMBA_DEBUG_LIBS) - - ################### - # check_fasttransfer test app. -@@ -1432,7 +1432,7 @@ bin/check_fasttransfer: testprogs/check_ - libmapi-openchange.$(SHLIBEXT).$(PACKAGE_VERSION) \ - mapiproxy/libmapistore.$(SHLIBEXT).$(PACKAGE_VERSION) - @echo "Linking $@" -- @$(CC) -o $@ $^ $(LIBS) $(LDFLAGS) -lpopt -+ @$(CC) -o $@ $^ $(LIBS) $(LDFLAGS) -lpopt $(SAMBA_DEBUG_LDFLAGS) $(SAMBA_DEBUG_LIBS) - - ################### - # test_asyncnotif test app. -@@ -1458,7 +1458,7 @@ clean:: test_asyncnotif-clean - bin/test_asyncnotif: testprogs/test_asyncnotif.o \ - libmapi-openchange.$(SHLIBEXT).$(PACKAGE_VERSION) - @echo "Linking $@" -- @$(CC) -o $@ $^ $(LIBS) $(LDFLAGS) -lpopt -+ @$(CC) -o $@ $^ $(LIBS) $(LDFLAGS) -lpopt $(SAMBA_DEBUG_LDFLAGS) $(SAMBA_DEBUG_LIBS) - - ################### - # python code -@@ -1503,7 +1503,7 @@ $(pythonscriptdir)/openchange/mapi.$(SHL - pyopenchange/pymapi_properties.c \ - libmapi-openchange.$(SHLIBEXT).$(PACKAGE_VERSION) - @echo "Linking $@" -- @$(CC) $(CFLAGS) -fno-strict-aliasing $(DSOOPT) $(LDFLAGS) -o $@ $^ $(PYTHON_CFLAGS) $(PYTHON_LIBS) $(LIBS) -+ @$(CC) $(CFLAGS) -fno-strict-aliasing $(DSOOPT) $(LDFLAGS) -o $@ $^ $(PYTHON_CFLAGS) $(PYTHON_LIBS) $(LIBS) $(SAMBA_DEBUG_LDFLAGS) $(SAMBA_DEBUG_LIBS) - - # $(pythonscriptdir)/openchange/ocpf.$(SHLIBEXT): pyopenchange/pyocpf.c \ - # libocpf.$(SHLIBEXT).$(PACKAGE_VERSION) \ -@@ -1692,7 +1692,7 @@ libqtmapi.$(SHLIBEXT).$(PACKAGE_VERSION) - qt/lib/foldermodel.o \ - qt/lib/messagesmodel.o - @echo "Linking $@" -- @$(CXX) $(DSOOPT) $(CXXFLAGS) $(LDFLAGS) -Wl,-soname,libqtmapi.$(SHLIBEXT).$(LIBQTMAPI_SO_VERSION) -o $@ $^ $(LIBS) -+ @$(CXX) $(DSOOPT) $(CXXFLAGS) $(LDFLAGS) -Wl,-soname,libqtmapi.$(SHLIBEXT).$(LIBQTMAPI_SO_VERSION) -o $@ $^ $(LIBS) $(SAMBA_DEBUG_LDFLAGS) $(SAMBA_DEBUG_LIBS) - - - qt/demo/demoapp: qt/demo/demoapp.o \ -@@ -1701,7 +1701,7 @@ qt/demo/demoapp: qt/demo/demoapp.o \ - libmapipp.$(SHLIBEXT).$(PACKAGE_VERSION) \ - libqtmapi.$(SHLIBEXT).$(PACKAGE_VERSION) - @echo "Linking $@" -- @$(CXX) $(CXXFLAGS) -o $@ $^ $(QT4_LIBS) $(LDFLAGS) $(LIBS) -+ @$(CXX) $(CXXFLAGS) -o $@ $^ $(QT4_LIBS) $(LDFLAGS) $(LIBS) $(SAMBA_DEBUG_LDFLAGS) $(SAMBA_DEBUG_LIBS) - # we don't yet install this... - ln -sf libqtmapi.$(SHLIBEXT).$(PACKAGE_VERSION) libqtmapi.$(SHLIBEXT) - ln -sf libqtmapi.$(SHLIBEXT).$(PACKAGE_VERSION) libqtmapi.$(SHLIBEXT).$(LIBQTMAPI_SO_VERSION) diff --git a/SOURCES/openchange-2.2-samba-4.2.0-rc2.patch b/SOURCES/openchange-2.2-samba-4.2.0-rc2.patch new file mode 100644 index 0000000..d154505 --- /dev/null +++ b/SOURCES/openchange-2.2-samba-4.2.0-rc2.patch @@ -0,0 +1,136 @@ +diff -up openchange-openchange-2.3-VULCAN/libmapi/cdo_mapi.c.samba-4.2.0-rc2 openchange-openchange-2.3-VULCAN/libmapi/cdo_mapi.c +--- openchange-openchange-2.3-VULCAN/libmapi/cdo_mapi.c.samba-4.2.0-rc2 2015-12-03 11:20:17.502119228 +0100 ++++ openchange-openchange-2.3-VULCAN/libmapi/cdo_mapi.c 2015-12-03 11:20:44.524118102 +0100 +@@ -337,6 +337,9 @@ _PUBLIC_ enum MAPISTATUS SetMAPIDebugLev + ret = lpcfg_set_cmdline(mapi_ctx->lp_ctx, "log level", debuglevel); + talloc_free(debuglevel); + ++ if (ret) ++ _oc_log_samba_level = level; ++ + return (ret == true) ? MAPI_E_SUCCESS : MAPI_E_INVALID_PARAMETER; + } + +diff -up openchange-openchange-2.3-VULCAN/libmapi/oc_log.c.samba-4.2.0-rc2 openchange-openchange-2.3-VULCAN/libmapi/oc_log.c +--- openchange-openchange-2.3-VULCAN/libmapi/oc_log.c.samba-4.2.0-rc2 2015-12-03 11:11:01.801142393 +0100 ++++ openchange-openchange-2.3-VULCAN/libmapi/oc_log.c 2015-12-03 11:27:22.921101494 +0100 +@@ -20,7 +20,9 @@ + */ + + #include "libmapi/libmapi.h" +-#include ++#include ++ ++int _oc_log_samba_level = 0; + + void oc_log(enum oc_log_level level, const char *fmt_string, ...) + { +@@ -47,12 +49,16 @@ void oc_logv(enum oc_log_level level, co + samba_level = 0; + } + ++ if (samba_level && !(_oc_log_samba_level & samba_level)) ++ return; ++ + /* Add a trailing newline if one is not already present */ + if (line[strlen(line)-1] == '\n') { +- DEBUG(samba_level, ("%s", line)); ++ fprintf(stderr, "%s", line); + } else { +- DEBUG(samba_level, ("%s\n", line)); ++ fprintf(stderr, "%s\n", line); + } ++ fflush(stderr); + } + + void oc_log_init_stdout() +diff -up openchange-openchange-2.3-VULCAN/libmapi/oc_log.h.samba-4.2.0-rc2 openchange-openchange-2.3-VULCAN/libmapi/oc_log.h +--- openchange-openchange-2.3-VULCAN/libmapi/oc_log.h.samba-4.2.0-rc2 2015-12-03 11:18:27.407123817 +0100 ++++ openchange-openchange-2.3-VULCAN/libmapi/oc_log.h 2015-12-03 11:20:19.228119156 +0100 +@@ -77,4 +77,6 @@ void oc_log_init_user(const char *progna + defaulting to /var/log/openchange.log */ + void oc_log_init_server(const char *progname, struct loadparm_context *lp_ctx); + ++extern int _oc_log_samba_level; /* Private, do not change it other than by SetMAPIDebugLevel() */ ++ + #endif /* _OC_LOG_H_ */ +diff -up openchange-openchange-2.3-VULCAN/mapiproxy/libmapiproxy/fault_util.c.samba-4.2.0-rc2 openchange-openchange-2.3-VULCAN/mapiproxy/libmapiproxy/fault_util.c +--- openchange-openchange-2.3-VULCAN/mapiproxy/libmapiproxy/fault_util.c.samba-4.2.0-rc2 2015-12-03 11:11:17.337141745 +0100 ++++ openchange-openchange-2.3-VULCAN/mapiproxy/libmapiproxy/fault_util.c 2015-12-03 11:27:46.505100511 +0100 +@@ -30,14 +30,14 @@ + #include "fault_util.h" + #include "libmapi/libmapi.h" + #include "libmapi/libmapi_private.h" +-#include ++#include + + #include + + #include + + /** +- \details print a backtrace using DEBUG() macro. ++ \details print a backtrace (*not* using DEBUG() macro). + + */ + _PUBLIC_ void debug_print_backtrace(int dbg_level) +@@ -47,16 +47,19 @@ _PUBLIC_ void debug_print_backtrace(int + size_t backtrace_size; + char **backtrace_strings; + ++ if (!(_oc_log_samba_level & dbg_level)) ++ return; ++ + backtrace_size = backtrace(backtrace_stack, BACKTRACE_SIZE); + backtrace_strings = backtrace_symbols(backtrace_stack, backtrace_size); + +- DEBUG(dbg_level, ("BACKTRACE: %lu stack frames:\n", (unsigned long)backtrace_size)); ++ fprintf(stderr, "BACKTRACE: %lu stack frames:\n", (unsigned long)backtrace_size); + + if (backtrace_strings) { + int i; + + for (i = 0; i < backtrace_size; i++) { +- DEBUGADD(dbg_level, (" #%.2u %s\n", i, backtrace_strings[i])); ++ fprintf(stderr, " #%.2u %s\n", i, backtrace_strings[i]); + } + + free(backtrace_strings); +diff -up openchange-openchange-2.3-VULCAN/mapiproxy/libmapiproxy/fault_util.h.samba-4.2.0-rc2 openchange-openchange-2.3-VULCAN/mapiproxy/libmapiproxy/fault_util.h +--- openchange-openchange-2.3-VULCAN/mapiproxy/libmapiproxy/fault_util.h.samba-4.2.0-rc2 2015-12-03 11:11:37.089140922 +0100 ++++ openchange-openchange-2.3-VULCAN/mapiproxy/libmapiproxy/fault_util.h 2015-12-03 11:26:38.633103340 +0100 +@@ -28,7 +28,7 @@ + * It will print information about the error and if is_fatal is true abort() + * will be called. + * +- * DEBUG macro will be used to print a report with the following format: ++ * DEBUG macro will *not* be used to print a report with the following format: + * @code + * ================================== + * OPENCHANGE INTERNAL ERROR: pid 123 +@@ -59,9 +59,10 @@ + * @see DEBUG() + */ + #define OC_PANIC( is_fatal, body ) \ +- DEBUGSEP(0); \ +- DEBUG(0, ("OPENCHANGE INTERNAL ERROR: pid %d\n", (int)getpid())); \ +- DEBUG(0, body); \ ++ fprintf(stderr,"\n"); \ ++ fprintf(stderr, "OPENCHANGE INTERNAL ERROR: pid %d\n", (int)getpid()); \ ++ fprintf(stderr, body); \ ++ fflush(stderr); \ + openchange_abort(is_fatal); + + #ifndef __BEGIN_DECLS +diff -up openchange-openchange-2.3-VULCAN/mapiproxy/libmapiproxy/mapi_handles.c.samba-4.2.0-rc2 openchange-openchange-2.3-VULCAN/mapiproxy/libmapiproxy/mapi_handles.c +--- openchange-openchange-2.3-VULCAN/mapiproxy/libmapiproxy/mapi_handles.c.samba-4.2.0-rc2 2015-12-03 11:12:08.457139614 +0100 ++++ openchange-openchange-2.3-VULCAN/mapiproxy/libmapiproxy/mapi_handles.c 2015-12-03 11:26:50.473102847 +0100 +@@ -429,7 +429,7 @@ static int mapi_handles_traverse_delete( + OC_DEBUG(5, "handles being released must NOT have child handles attached to them (%s is a child of %s)", handle_str, container_handle_str); + handle = strtol((const char *) handle_str, NULL, 16); + /* abort(); */ +- /* DEBUG(5, ("deleting child handle: %d, %s\n", handle, handle_str)); */ ++ /* OC_DEBUG(5, ("deleting child handle: %d, %s\n", handle, handle_str)); */ + mapi_handles_delete(handles_private->handles_ctx, handle); + } + diff --git a/SOURCES/openchange-2.3-disable-server-tools-build.patch b/SOURCES/openchange-2.3-disable-server-tools-build.patch new file mode 100644 index 0000000..96323e2 --- /dev/null +++ b/SOURCES/openchange-2.3-disable-server-tools-build.patch @@ -0,0 +1,41 @@ +diff -up openchange-openchange-2.3-VULCAN/configure.ac.disable-server-tools-build openchange-openchange-2.3-VULCAN/configure.ac +--- openchange-openchange-2.3-VULCAN/configure.ac.disable-server-tools-build 2015-11-27 08:30:31.481874706 +0100 ++++ openchange-openchange-2.3-VULCAN/configure.ac 2015-11-27 08:33:39.769867245 +0100 +@@ -284,7 +284,7 @@ AC_SUBST(COVERAGE_INIT) + dnl --------------------------------------------------------------------------- + dnl Check for check (unittest library) + dnl --------------------------------------------------------------------------- +-PKG_CHECK_MODULES(CHECK, check, [testsuite=1], [AC_MSG_WARN(Conditions unmet for unit testing support)]) ++#PKG_CHECK_MODULES(CHECK, check, [testsuite=1], [AC_MSG_WARN(Conditions unmet for unit testing support)]) + AC_SUBST(CHECK_CFLAGS) + AC_SUBST(CHECK_LIBS) + OC_RULE_ADD(testsuite, TESTSUITE) +@@ -292,7 +292,7 @@ OC_RULE_ADD(testsuite, TESTSUITE) + dnl --------------------------------------------------------------------------- + dnl Check for nanomsg library (server notification) + dnl --------------------------------------------------------------------------- +-PKG_CHECK_MODULES(NANOMSG, libnanomsg, [], [AC_MSG_ERROR(Install nanomsg library >= 0.5)]) ++#PKG_CHECK_MODULES(NANOMSG, libnanomsg, [], [AC_MSG_ERROR(Install nanomsg library >= 0.5)]) + AC_SUBST(NANOMSG_CFLAGS) + AC_SUBST(NANO_LIBS) + +@@ -698,16 +698,16 @@ AC_SUBST(MAPISTORE_TEST) + OC_RULE_ADD(openchangeclient, TOOLS) + #OC_RULE_ADD(mapistore_fsocpf, MAPISTORE) + OC_RULE_ADD(mapipropsdump, TOOLS) +-OC_RULE_ADD(ocnotify, TOOLS) ++#OC_RULE_ADD(ocnotify, TOOLS) + OC_RULE_ADD(exchange2ical, TOOLS) +-OC_RULE_ADD(rpcextract, TOOLS) ++#OC_RULE_ADD(rpcextract, TOOLS) + OC_RULE_ADD(openchangepfadmin, TOOLS) + OC_RULE_ADD(mapitest, TOOLS) + OC_RULE_ADD(mapiprofile, TOOLS) + OC_RULE_ADD(openchangemapidump, TOOLS) + OC_RULE_ADD(schemaIDGUID, TOOLS) + +-OC_RULE_ADD(check_fasttransfer, TOOLS) ++#OC_RULE_ADD(check_fasttransfer, TOOLS) + OC_RULE_ADD(test_asyncnotif, TOOLS) + + diff --git a/SOURCES/openchange-2.3-nomemcached.patch b/SOURCES/openchange-2.3-nomemcached.patch new file mode 100644 index 0000000..4cd503d --- /dev/null +++ b/SOURCES/openchange-2.3-nomemcached.patch @@ -0,0 +1,12 @@ +diff -up openchange-openchange-2.3-VULCAN/configure.ac.nomemcached openchange-openchange-2.3-VULCAN/configure.ac +--- openchange-openchange-2.3-VULCAN/configure.ac.nomemcached 2016-03-03 10:47:03.071794467 +0100 ++++ openchange-openchange-2.3-VULCAN/configure.ac 2016-03-03 10:47:06.452774681 +0100 +@@ -429,7 +429,7 @@ AC_SUBST(MYSQL_LIBS) + dnl ---------------------------------------------------------------------------- + dnl Check for memcached + dnl ---------------------------------------------------------------------------- +-PKG_CHECK_MODULES([MEMCACHED], [libmemcached >= 1.0.18], [], [AC_MSG_ERROR(memcached >= 1.0.18 required to build mapistore library)]) ++dnl PKG_CHECK_MODULES([MEMCACHED], [libmemcached >= 1.0.18], [], [AC_MSG_ERROR(memcached >= 1.0.18 required to build mapistore library)]) + + dnl ---------------------------------------------------------------------------- + dnl Check for Flex diff --git a/SOURCES/openchange-2.3-samba-4.4.patch b/SOURCES/openchange-2.3-samba-4.4.patch new file mode 100644 index 0000000..20b9061 --- /dev/null +++ b/SOURCES/openchange-2.3-samba-4.4.patch @@ -0,0 +1,1077 @@ +diff -up openchange-openchange-2.3-VULCAN/configure.ac.samba44 openchange-openchange-2.3-VULCAN/configure.ac +--- openchange-openchange-2.3-VULCAN/configure.ac.samba44 2016-02-09 11:51:31.089982153 +0100 ++++ openchange-openchange-2.3-VULCAN/configure.ac 2016-02-09 12:04:55.985948047 +0100 +@@ -657,10 +657,11 @@ AC_CHECK_LIB([popt], [poptFreeContext], + enable_libpopt="no" + ]) + ++mapitest=0 + if test x"$enable_libpopt" = x"yes"; then + if test x"$enable_libmapiadmin" = x"yes"; then + openchangepfadmin=1 +- mapitest=1 ++ mapitest=0 + fi + + if test x"$enable_libocpf" = x"yes"; then +@@ -692,7 +693,7 @@ OC_RULE_ADD(mapipropsdump, TOOLS) + OC_RULE_ADD(exchange2ical, TOOLS) + #OC_RULE_ADD(rpcextract, TOOLS) + OC_RULE_ADD(openchangepfadmin, TOOLS) +-OC_RULE_ADD(mapitest, TOOLS) ++#OC_RULE_ADD(mapitest, TOOLS) + OC_RULE_ADD(mapiprofile, TOOLS) + OC_RULE_ADD(openchangemapidump, TOOLS) + OC_RULE_ADD(schemaIDGUID, TOOLS) +diff -up openchange-openchange-2.3-VULCAN/libexchange2ical/exchange2ical_property.c.samba44 openchange-openchange-2.3-VULCAN/libexchange2ical/exchange2ical_property.c +--- openchange-openchange-2.3-VULCAN/libexchange2ical/exchange2ical_property.c.samba44 2016-02-09 11:46:45.211994266 +0100 ++++ openchange-openchange-2.3-VULCAN/libexchange2ical/exchange2ical_property.c 2016-02-09 12:04:07.330950109 +0100 +@@ -22,6 +22,37 @@ + #include "libexchange2ical/libexchange2ical.h" + #include + ++static void openchange_all_string_sub(char *s,const char *pattern,const char *insert, size_t len) ++{ ++ char *p; ++ ssize_t ls,lp,li; ++ ++ if (!insert || !pattern || !s) ++ return; ++ ++ ls = (ssize_t)strlen(s); ++ lp = (ssize_t)strlen(pattern); ++ li = (ssize_t)strlen(insert); ++ ++ if (!*pattern) ++ return; ++ ++ if (len == 0) ++ len = ls + 1; /* len is number of *bytes* */ ++ ++ while (lp <= ls && (p = strstr_m(s,pattern))) { ++ if (ls + (li-lp) >= len) { ++ break; ++ } ++ if (li != lp) { ++ memmove(p+li,p+lp,strlen(p+lp)+1); ++ } ++ memcpy(p, insert, li); ++ s = p + li; ++ ls += (li-lp); ++ } ++} ++ + struct RRULE_byday { + uint16_t DayOfWeek; + const char *DayName; +@@ -1019,7 +1050,7 @@ void ical_property_RESOURCES(struct exch + if (!exchange2ical->NonSendableBcc) return; + + NonSendableBcc = talloc_strdup(exchange2ical->mem_ctx, exchange2ical->NonSendableBcc); +- all_string_sub(NonSendableBcc, ";", ",", 0); ++ openchange_all_string_sub(NonSendableBcc, ";", ",", 0); + prop = icalproperty_new_resources(NonSendableBcc); + icalcomponent_add_property(exchange2ical->vevent, prop); + talloc_free(NonSendableBcc); +diff -up openchange-openchange-2.3-VULCAN/libmapiadmin/mapiadmin_user.c.samba44 openchange-openchange-2.3-VULCAN/libmapiadmin/mapiadmin_user.c +--- openchange-openchange-2.3-VULCAN/libmapiadmin/mapiadmin_user.c.samba44 2015-05-16 17:22:04.000000000 +0200 ++++ openchange-openchange-2.3-VULCAN/libmapiadmin/mapiadmin_user.c 2016-02-08 22:19:17.750956440 +0100 +@@ -24,19 +24,251 @@ + along with this program. If not, see . + */ + ++#include ++ + #include "libmapiadmin/libmapiadmin.h" + + #include + #include ++#include + #include + #include +-#include + + #include + #include + + #include + ++static ssize_t openchange_sys_read(int fd, void *buf, size_t count) ++{ ++ ssize_t ret; ++ ++ do { ++ ret = read(fd, buf, count); ++ } while (ret == -1 && (errno == EINTR || errno == EAGAIN || ++ errno == EWOULDBLOCK)); ++ ++ return ret; ++} ++ ++static ssize_t openchange_read_data(int fd, void *buffer, size_t n) ++{ ++ ssize_t nread; ++ ++ nread = 0; ++ ++ while (nread < n) { ++ ssize_t ret; ++ ret = openchange_sys_read(fd, ((char *)buffer) + nread, n - nread); ++ if (ret <= 0) { ++ return ret; ++ } ++ nread += ret; ++ } ++ ++ return nread; ++} ++ ++static int openchange_urand_fd = -1; ++static void openchange_open_urandom(void) ++{ ++ if (openchange_urand_fd != -1) { ++ return; ++ } ++ openchange_urand_fd = open( "/dev/urandom", O_RDONLY,0); ++ if (openchange_urand_fd == -1) { ++ abort(); ++ } ++} ++ ++static void openchange_generate_random_buffer(uint8_t *out, int len) ++{ ++ ssize_t rw_ret; ++ ++ openchange_open_urandom(); ++ ++ rw_ret = openchange_read_data(openchange_urand_fd, out, len); ++ if (rw_ret != len) { ++ abort(); ++ } ++} ++ ++static enum ndr_err_code openchange_ndr_push_dom_sid(struct ndr_push *ndr, int ndr_flags, const struct dom_sid *r) ++{ ++ uint32_t cntr_sub_auths_0; ++ if (ndr_flags & NDR_SCALARS) { ++ NDR_CHECK(ndr_push_align(ndr, 4)); ++ NDR_CHECK(ndr_push_uint8(ndr, NDR_SCALARS, r->sid_rev_num)); ++ NDR_CHECK(ndr_push_int8(ndr, NDR_SCALARS, r->num_auths)); ++ NDR_CHECK(ndr_push_array_uint8(ndr, NDR_SCALARS, r->id_auth, 6)); ++ if (r->num_auths < 0 || r->num_auths > ARRAY_SIZE(r->sub_auths)) { ++ return ndr_push_error(ndr, NDR_ERR_RANGE, "value out of range"); ++ } ++ for (cntr_sub_auths_0 = 0; cntr_sub_auths_0 < r->num_auths; cntr_sub_auths_0++) { ++ NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->sub_auths[cntr_sub_auths_0])); ++ } ++ } ++ return NDR_ERR_SUCCESS; ++} ++ ++static char *openchange_ldap_encode_ndr_dom_sid(TALLOC_CTX *mem_ctx, const struct dom_sid *sid) ++{ ++#undef ldb_val ++ DATA_BLOB blob; ++ struct ldb_val val; ++ enum ndr_err_code ndr_err; ++ char *ret; ++ ndr_err = ndr_push_struct_blob(&blob, mem_ctx, sid, ++ (ndr_push_flags_fn_t)openchange_ndr_push_dom_sid); ++ if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { ++ return NULL; ++ } ++ val.data = blob.data; ++ val.length = blob.length; ++ ret = ldb_binary_encode(mem_ctx, val); ++ data_blob_free(&blob); ++ return ret; ++} ++ ++static bool openchange_check_password_quality(const char *pwd) ++{ ++ size_t ofs = 0; ++ size_t num_chars = 0; ++ size_t num_digits = 0; ++ size_t num_upper = 0; ++ size_t num_lower = 0; ++ size_t num_nonalpha = 0; ++ size_t num_unicode = 0; ++ size_t num_categories = 0; ++ ++ if (pwd == NULL) { ++ return false; ++ } ++ ++ while (true) { ++ const char *s = &pwd[ofs]; ++ size_t len = 0; ++ codepoint_t c; ++ ++ c = next_codepoint(s, &len); ++ if (c == INVALID_CODEPOINT) { ++ return false; ++ } else if (c == 0) { ++ break; ++ } ++ ofs += len; ++ num_chars += 1; ++ ++ if (len == 1) { ++ const char *na = "~!@#$%^&*_-+=`|\\(){}[]:;\"'<>,.?/"; ++ ++ if (isdigit(c)) { ++ num_digits += 1; ++ continue; ++ } ++ ++ if (isupper(c)) { ++ num_upper += 1; ++ continue; ++ } ++ ++ if (islower(c)) { ++ num_lower += 1; ++ continue; ++ } ++ ++ if (strchr(na, c)) { ++ num_nonalpha += 1; ++ continue; ++ } ++ ++ /* ++ * the rest does not belong to ++ * a category. ++ */ ++ continue; ++ } ++ ++ if (isupper_m(c)) { ++ num_upper += 1; ++ continue; ++ } ++ ++ if (islower_m(c)) { ++ num_lower += 1; ++ continue; ++ } ++ ++ /* ++ * Note: for now do not check if the unicode category is ++ * alphabetic character ++ * ++ * We would have to import the details from ++ * ftp://ftp.unicode.org/Public/6.3.0/ucd/UnicodeData-6.3.0d1.txt ++ */ ++ num_unicode += 1; ++ continue; ++ } ++ ++ if (num_digits > 0) { ++ num_categories += 1; ++ } ++ if (num_upper > 0) { ++ num_categories += 1; ++ } ++ if (num_lower > 0) { ++ num_categories += 1; ++ } ++ if (num_nonalpha > 0) { ++ num_categories += 1; ++ } ++ if (num_unicode > 0) { ++ num_categories += 1; ++ } ++ ++ if (num_categories >= 3) { ++ return true; ++ } ++ ++ return false; ++} ++ ++static char *openchange_generate_random_str_list(TALLOC_CTX *mem_ctx, size_t len, const char *list) ++{ ++ size_t i; ++ size_t list_len = strlen(list); ++ ++ char *retstr = talloc_array(mem_ctx, char, len + 1); ++ if (!retstr) return NULL; ++ ++ openchange_generate_random_buffer((uint8_t *)retstr, len); ++ for (i = 0; i < len; i++) { ++ retstr[i] = list[retstr[i] % list_len]; ++ } ++ retstr[i] = '\0'; ++ ++ return retstr; ++} ++ ++static char *openchange_generate_random_str(TALLOC_CTX *mem_ctx, size_t len) ++{ ++ char *retstr; ++ const char *c_list = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+_-#.,"; ++ ++again: ++ retstr = openchange_generate_random_str_list(mem_ctx, len, c_list); ++ if (!retstr) return NULL; ++ ++ /* we need to make sure the random string passes basic quality tests ++ or it might be rejected by windows as a password */ ++ if (len >= 7 && !openchange_check_password_quality(retstr)) { ++ talloc_free(retstr); ++ goto again; ++ } ++ ++ return retstr; ++} ++ + /** + \file + User management functions for mapiadmin +@@ -232,10 +464,10 @@ _PUBLIC_ enum MAPISTATUS mapiadmin_user_ + /* Search the user_dn */ + account_dn = samdb_search_dn(remote_ldb, mem_ctx, NULL, + "(&(objectSid=%s)(objectClass=user))", +- ldap_encode_ndr_dom_sid(mem_ctx, dom_sid)); ++ openchange_ldap_encode_ndr_dom_sid(mem_ctx, dom_sid)); + + ret = ldb_search(remote_ldb, mem_ctx, &res, account_dn, LDB_SCOPE_SUBTREE, dom_attrs, "(objectSid=%s)", +- ldap_encode_ndr_dom_sid(mem_ctx, dom_sid)); ++ openchange_ldap_encode_ndr_dom_sid(mem_ctx, dom_sid)); + MAPI_RETVAL_IF(ret != LDB_SUCCESS, MAPI_E_NOT_FOUND, mem_ctx); + MAPI_RETVAL_IF(res->count != 1, MAPI_E_NOT_FOUND, mem_ctx); + +@@ -422,7 +654,7 @@ again: + } + + if (!mapiadmin_ctx->password) { +- mapiadmin_ctx->password = generate_random_str(mapiadmin_ctx->user_ctx, MAX(8, policy_min_pw_len)); ++ mapiadmin_ctx->password = openchange_generate_random_str(mapiadmin_ctx->user_ctx, MAX(8, policy_min_pw_len)); + } + + OC_DEBUG(3, "Setting account password '%s'", mapiadmin_ctx->password); +diff -up openchange-openchange-2.3-VULCAN/libmapi/mapidump.c.samba44 openchange-openchange-2.3-VULCAN/libmapi/mapidump.c +--- openchange-openchange-2.3-VULCAN/libmapi/mapidump.c.samba44 2016-02-09 11:03:18.565104717 +0100 ++++ openchange-openchange-2.3-VULCAN/libmapi/mapidump.c 2016-02-09 11:03:29.508104254 +0100 +@@ -119,7 +119,7 @@ _PUBLIC_ void mapidump_SPropValue(struct + data = get_SPropValue_data(&lpProp); + if (data) { + printf("%s%s:\n", sep?sep:"", proptag); +- dump_data(0, ((const struct Binary_r *)data)->lpb, ((const struct Binary_r *)data)->cb); ++ oc_dump_data(0, ((const struct Binary_r *)data)->lpb, ((const struct Binary_r *)data)->cb); + } else { + printf("%s%s: (NULL)\n", sep?sep:"", proptag); + } +@@ -153,7 +153,7 @@ _PUBLIC_ void mapidump_SPropValue(struct + printf("%s%s: ARRAY(%d)\n", sep?sep:"", proptag, BinaryArray_r->cValues); + for (i = 0; i < BinaryArray_r->cValues; i++) { + printf("\tPT_MV_BINARY [%d]:\n", i); +- dump_data(0, BinaryArray_r->lpbin[i].lpb, BinaryArray_r->lpbin[i].cb); ++ oc_dump_data(0, BinaryArray_r->lpbin[i].lpb, BinaryArray_r->lpbin[i].cb); + } + break; + default: +diff -up openchange-openchange-2.3-VULCAN/libmapi/mapi_object.c.samba44 openchange-openchange-2.3-VULCAN/libmapi/mapi_object.c +--- openchange-openchange-2.3-VULCAN/libmapi/mapi_object.c.samba44 2016-02-09 11:02:57.062105628 +0100 ++++ openchange-openchange-2.3-VULCAN/libmapi/mapi_object.c 2016-02-09 11:03:01.012105461 +0100 +@@ -412,7 +412,7 @@ _PUBLIC_ enum MAPISTATUS mapi_object_boo + while (bookmark) { + OC_DEBUG(0, "mapi_object_bookmark {"); + OC_DEBUG(0, ".index == %u", bookmark->index); +- dump_data(0, bookmark->bin.lpb, bookmark->bin.cb); ++ oc_dump_data(0, bookmark->bin.lpb, bookmark->bin.cb); + OC_DEBUG(0, "};"); + + bookmark = bookmark->next; +diff -up openchange-openchange-2.3-VULCAN/libmapi/oc_log.c.samba44 openchange-openchange-2.3-VULCAN/libmapi/oc_log.c +--- openchange-openchange-2.3-VULCAN/libmapi/oc_log.c.samba44 2016-02-09 10:49:20.292140237 +0100 ++++ openchange-openchange-2.3-VULCAN/libmapi/oc_log.c 2016-02-09 11:30:13.912036271 +0100 +@@ -21,6 +21,12 @@ + + #include "libmapi/libmapi.h" + #include ++#include ++#include ++ ++#ifndef MIN ++#define MIN(a,b) ((a)<(b)?(a):(b)) ++#endif + + int _oc_log_samba_level = 0; + +@@ -84,3 +90,119 @@ void oc_log_init_server(const char *prog + { + setup_logging(progname, DEBUG_FILE); + } ++ ++void oc_panic(const char *why) ++{ ++ if (why) { ++ fprintf(stderr, "PANIC: %s\n", why); ++ fflush(stderr); ++ } ++ ++ abort(); ++} ++static void oc_debugadd_cb(const char *buf, void *private_data) ++{ ++ int *plevel = (int *)private_data; ++ if (plevel && *plevel <= _oc_log_samba_level) { ++ printf ("%s", buf); ++ } ++} ++ ++static void oc_print_asc_cb(const uint8_t *buf, int len, ++ void (*cb)(const char *buf, void *private_data), ++ void *private_data) ++{ ++ int i; ++ char s[2]; ++ s[1] = 0; ++ ++ for (i=0; i 0) && ++ (len > i+16) && ++ (memcmp(&buf[i], &empty, 16) == 0)) ++ { ++ i +=16; ++ continue; ++ } ++ ++ if (i i+16) && ++ (memcmp(&buf[i], &empty, 16) == 0)) { ++ if (!skipped) { ++ cb("skipping zero buffer bytes\n", ++ private_data); ++ skipped = true; ++ } ++ } ++ } ++ } ++ ++ if (i%16) { ++ int n; ++ n = 16 - (i%16); ++ cb(" ", private_data); ++ if (n>8) { ++ cb(" ", private_data); ++ } ++ while (n--) { ++ cb(" ", private_data); ++ } ++ n = MIN(8,i%16); ++ oc_print_asc_cb(&buf[i-(i%16)], n, cb, private_data); ++ cb(" ", private_data); ++ n = (i%16) - n; ++ if (n>0) { ++ oc_print_asc_cb(&buf[i-n], n, cb, private_data); ++ } ++ cb("\n", private_data); ++ } ++ ++} ++ ++void oc_dump_data(int level, const uint8_t *buf,int len) ++{ ++ if (_oc_log_samba_level < level || !buf || !len) ++ return; ++ ++ oc_dump_data_cb(buf, len, false, oc_debugadd_cb, &level); ++} +diff -up openchange-openchange-2.3-VULCAN/libmapi/oc_log.h.samba44 openchange-openchange-2.3-VULCAN/libmapi/oc_log.h +--- openchange-openchange-2.3-VULCAN/libmapi/oc_log.h.samba44 2016-02-09 10:49:16.132140414 +0100 ++++ openchange-openchange-2.3-VULCAN/libmapi/oc_log.h 2016-02-09 10:51:57.121133592 +0100 +@@ -79,4 +79,7 @@ void oc_log_init_server(const char *prog + + extern int _oc_log_samba_level; /* Private, do not change it other than by SetMAPIDebugLevel() */ + ++void oc_panic(const char *why); ++void oc_dump_data(int level, const uint8_t *buf,int len); ++ + #endif /* _OC_LOG_H_ */ +diff -up openchange-openchange-2.3-VULCAN/libmapi/property.c.samba44 openchange-openchange-2.3-VULCAN/libmapi/property.c +--- openchange-openchange-2.3-VULCAN/libmapi/property.c.samba44 2016-02-09 10:46:51.040146561 +0100 ++++ openchange-openchange-2.3-VULCAN/libmapi/property.c 2016-02-09 10:48:47.626141621 +0100 +@@ -777,7 +777,7 @@ _PUBLIC_ void mapi_copy_spropvalues(TALL + // TODO: Replace this with OC_PANIC() macro when it gets visible in libmapi too + OC_DEBUG(0, "Unexpected multi-value property type: %s.", + get_proptag_name(source_value->ulPropTag)); +- smb_panic("Unexpected multi-value property type while copying 'struct SPropValue'"); ++ oc_panic("Unexpected multi-value property type while copying 'struct SPropValue'"); + } + } + } +diff -up openchange-openchange-2.3-VULCAN/libmapi/socket/interface.c.samba44 openchange-openchange-2.3-VULCAN/libmapi/socket/interface.c +--- openchange-openchange-2.3-VULCAN/libmapi/socket/interface.c.samba44 2016-02-09 11:09:43.147088421 +0100 ++++ openchange-openchange-2.3-VULCAN/libmapi/socket/interface.c 2016-02-09 11:31:47.664032298 +0100 +@@ -90,6 +90,213 @@ static void add_interface(TALLOC_CTX *me + OC_DEBUG(2, "added interface ip=%s nmask=%s", iface->ip_s, iface->nmask_s); + } + ++enum oc_protocol_types { ++ PROTOCOL_DEFAULT=-1, ++ PROTOCOL_NONE=0, ++ PROTOCOL_CORE, ++ PROTOCOL_COREPLUS, ++ PROTOCOL_LANMAN1, ++ PROTOCOL_LANMAN2, ++ PROTOCOL_NT1, ++ PROTOCOL_SMB2_02, ++ PROTOCOL_SMB2_10, ++ PROTOCOL_SMB2_22, ++ PROTOCOL_SMB2_24, ++ PROTOCOL_SMB3_00, ++ PROTOCOL_SMB3_02, ++ PROTOCOL_SMB3_10, ++ PROTOCOL_SMB3_11 ++}; ++ ++static int openchange_null_match(const char *p) ++{ ++ for (;*p;p++) { ++ if (*p != '*' && ++ *p != '<' && ++ *p != '"' && ++ *p != '>') return -1; ++ } ++ return 0; ++} ++ ++/* ++ the max_n structure is purely for efficiency, it doesn't contribute ++ to the matching algorithm except by ensuring that the algorithm does ++ not grow exponentially ++*/ ++struct max_n { ++ const char *predot; ++ const char *postdot; ++}; ++ ++ ++/* ++ p and n are the pattern and string being matched. The max_n array is ++ an optimisation only. The ldot pointer is NULL if the string does ++ not contain a '.', otherwise it points at the last dot in 'n'. ++*/ ++static int openchange_ms_fnmatch_core(const char *p, const char *n, ++ struct max_n *max_n, const char *ldot) ++{ ++ codepoint_t c, c2; ++ int i; ++ size_t size, size_n; ++ ++ while ((c = next_codepoint(p, &size))) { ++ p += size; ++ ++ switch (c) { ++ case '*': ++ /* a '*' matches zero or more characters of any type */ ++ if (max_n->predot && max_n->predot <= n) { ++ return openchange_null_match(p); ++ } ++ for (i=0; n[i]; i += size_n) { ++ next_codepoint(n+i, &size_n); ++ if (openchange_ms_fnmatch_core(p, n+i, max_n+1, ldot) == 0) { ++ return 0; ++ } ++ } ++ if (!max_n->predot || max_n->predot > n) max_n->predot = n; ++ return openchange_null_match(p); ++ ++ case '<': ++ /* a '<' matches zero or more characters of ++ any type, but stops matching at the last ++ '.' in the string. */ ++ if (max_n->predot && max_n->predot <= n) { ++ return openchange_null_match(p); ++ } ++ if (max_n->postdot && max_n->postdot <= n && n <= ldot) { ++ return -1; ++ } ++ for (i=0; n[i]; i += size_n) { ++ next_codepoint(n+i, &size_n); ++ if (openchange_ms_fnmatch_core(p, n+i, max_n+1, ldot) == 0) return 0; ++ if (n+i == ldot) { ++ if (openchange_ms_fnmatch_core(p, n+i+size_n, max_n+1, ldot) == 0) return 0; ++ if (!max_n->postdot || max_n->postdot > n) max_n->postdot = n; ++ return -1; ++ } ++ } ++ if (!max_n->predot || max_n->predot > n) max_n->predot = n; ++ return openchange_null_match(p); ++ ++ case '?': ++ /* a '?' matches any single character */ ++ if (! *n) { ++ return -1; ++ } ++ next_codepoint(n, &size_n); ++ n += size_n; ++ break; ++ ++ case '>': ++ /* a '?' matches any single character, but ++ treats '.' specially */ ++ if (n[0] == '.') { ++ if (! n[1] && openchange_null_match(p) == 0) { ++ return 0; ++ } ++ break; ++ } ++ if (! *n) return openchange_null_match(p); ++ next_codepoint(n, &size_n); ++ n += size_n; ++ break; ++ ++ case '"': ++ /* a bit like a soft '.' */ ++ if (*n == 0 && openchange_null_match(p) == 0) { ++ return 0; ++ } ++ if (*n != '.') return -1; ++ next_codepoint(n, &size_n); ++ n += size_n; ++ break; ++ ++ default: ++ c2 = next_codepoint(n, &size_n); ++ if (c != c2 && codepoint_cmpi(c, c2) != 0) { ++ return -1; ++ } ++ n += size_n; ++ break; ++ } ++ } ++ ++ if (! *n) { ++ return 0; ++ } ++ ++ return -1; ++} ++ ++static int openchange_ms_fnmatch_protocol(const char *pattern, const char *string, int protocol) ++{ ++ int ret, count, i; ++ struct max_n *max_n = NULL; ++ ++ if (strcmp(string, "..") == 0) { ++ string = "."; ++ } ++ ++ if (strpbrk(pattern, "<>*?\"") == NULL) { ++ /* this is not just an optimisation - it is essential ++ for LANMAN1 correctness */ ++ return strcasecmp_m(pattern, string); ++ } ++ ++ if (protocol <= PROTOCOL_LANMAN2) { ++ char *p = talloc_strdup(NULL, pattern); ++ if (p == NULL) { ++ return -1; ++ } ++ /* ++ for older negotiated protocols it is possible to ++ translate the pattern to produce a "new style" ++ pattern that exactly matches w2k behaviour ++ */ ++ for (i=0;p[i];i++) { ++ if (p[i] == '?') { ++ p[i] = '>'; ++ } else if (p[i] == '.' && ++ (p[i+1] == '?' || ++ p[i+1] == '*' || ++ p[i+1] == 0)) { ++ p[i] = '"'; ++ } else if (p[i] == '*' && ++ p[i+1] == '.') { ++ p[i] = '<'; ++ } ++ } ++ ret = openchange_ms_fnmatch_protocol(p, string, PROTOCOL_NT1); ++ talloc_free(p); ++ return ret; ++ } ++ ++ for (count=i=0;pattern[i];i++) { ++ if (pattern[i] == '*' || pattern[i] == '<') count++; ++ } ++ ++ max_n = talloc_zero_array(NULL, struct max_n, count); ++ if (max_n == NULL) { ++ return -1; ++ } ++ ++ ret = openchange_ms_fnmatch_core(pattern, string, max_n, strrchr(string, '.')); ++ ++ talloc_free(max_n); ++ ++ return ret; ++} ++ ++ ++/** a generic fnmatch function - uses for non-CIFS pattern matching */ ++static int openchange_gen_fnmatch(const char *pattern, const char *string) ++{ ++ return openchange_ms_fnmatch_protocol(pattern, string, PROTOCOL_NT1); ++} + + + /** +@@ -119,7 +326,7 @@ static void interpret_interface(TALLOC_C + + /* first check if it is an interface name */ + for (i=0;i +- + /* Expose samdb_connect prototype */ + struct ldb_context *samdb_connect(TALLOC_CTX *, struct tevent_context *, + struct loadparm_context *, +diff -up openchange-openchange-2.3-VULCAN/ndr_mapi.c.samba44 openchange-openchange-2.3-VULCAN/ndr_mapi.c +--- openchange-openchange-2.3-VULCAN/ndr_mapi.c.samba44 2016-02-09 11:04:30.054101688 +0100 ++++ openchange-openchange-2.3-VULCAN/ndr_mapi.c 2016-02-09 11:04:49.763100853 +0100 +@@ -1616,7 +1616,7 @@ _PUBLIC_ void ndr_print_EcDoRpcExt(struc + if (ndr_pull_mapi2k7_request(ndr_pull, NDR_SCALARS|NDR_BUFFERS, mapi_request) == NDR_ERR_SUCCESS) { + ndr_print_mapi2k7_request(ndr, "mapi_request", (const struct mapi2k7_request *)mapi_request); + } else { +- dump_data(0, ndr_pull->data + ndr_pull->offset, ndr_pull->data_size - ndr_pull->offset); ++ oc_dump_data(0, ndr_pull->data + ndr_pull->offset, ndr_pull->data_size - ndr_pull->offset); + talloc_free(mapi_request); + break; + } +@@ -1662,7 +1662,7 @@ _PUBLIC_ void ndr_print_EcDoRpcExt(struc + if (ndr_pull_mapi2k7_response(ndr_pull, NDR_SCALARS|NDR_BUFFERS, mapi_response) == NDR_ERR_SUCCESS) { + ndr_print_mapi2k7_response(ndr, "mapi_response", (const struct mapi2k7_response *)mapi_response); + } else { +- dump_data(0, ndr_pull->data + ndr_pull->offset, ndr_pull->data_size - ndr_pull->offset); ++ oc_dump_data(0, ndr_pull->data + ndr_pull->offset, ndr_pull->data_size - ndr_pull->offset); + talloc_free(mapi_response); + break; + } +@@ -1735,7 +1735,7 @@ _PUBLIC_ void ndr_print_EcDoRpcExt2(stru + if (ndr_pull_mapi2k7_request(ndr_pull, NDR_SCALARS|NDR_BUFFERS, mapi_request) == NDR_ERR_SUCCESS) { + ndr_print_mapi2k7_request(ndr, "mapi_request", (const struct mapi2k7_request *)mapi_request); + } else { +- dump_data(0, ndr_pull->data + ndr_pull->offset, ndr_pull->data_size - ndr_pull->offset); ++ oc_dump_data(0, ndr_pull->data + ndr_pull->offset, ndr_pull->data_size - ndr_pull->offset); + talloc_free(mapi_request); + return; + } +@@ -1786,7 +1786,7 @@ _PUBLIC_ void ndr_print_EcDoRpcExt2(stru + if (ndr_pull_mapi2k7_response(ndr_pull, NDR_SCALARS|NDR_BUFFERS, mapi_response) == NDR_ERR_SUCCESS) { + ndr_print_mapi2k7_response(ndr, "mapi_response", (const struct mapi2k7_response *)mapi_response); + } else { +- dump_data(0, ndr_pull->data + ndr_pull->offset, ndr_pull->data_size - ndr_pull->offset); ++ oc_dump_data(0, ndr_pull->data + ndr_pull->offset, ndr_pull->data_size - ndr_pull->offset); + talloc_free(mapi_response); + break; + } +@@ -2041,7 +2041,7 @@ _PUBLIC_ void ndr_print_SBinary_short(st + uint32_t _flags_save_STRUCT = ndr->flags; + ndr_set_flags(&ndr->flags, LIBNDR_FLAG_NOALIGN); + ndr->depth++; +- dump_data(0, r->lpb, r->cb); ++ oc_dump_data(0, r->lpb, r->cb); + ndr->depth--; + ndr->flags = _flags_save_STRUCT; + } +@@ -2054,7 +2054,7 @@ _PUBLIC_ void ndr_print_Binary_r(struct + uint32_t _flags_save_STRUCT = ndr->flags; + ndr_set_flags(&ndr->flags, LIBNDR_FLAG_NOALIGN); + ndr->depth++; +- dump_data(0, r->lpb, r->cb); ++ oc_dump_data(0, r->lpb, r->cb); + ndr->depth--; + ndr->flags = _flags_save_STRUCT; + } +diff -up openchange-openchange-2.3-VULCAN/utils/mapipropsdump.c.samba44 openchange-openchange-2.3-VULCAN/utils/mapipropsdump.c +--- openchange-openchange-2.3-VULCAN/utils/mapipropsdump.c.samba44 2015-05-16 17:22:04.000000000 +0200 ++++ openchange-openchange-2.3-VULCAN/utils/mapipropsdump.c 2016-02-09 10:35:42.207174902 +0100 +@@ -24,6 +24,9 @@ + #include "gen_ndr/ndr_exchange.h" + #include + #include ++#include ++#include ++#include + + #define PLUGIN "libmapi.so" + #define FUNCTION 0xB +@@ -97,6 +100,51 @@ static const const struct ndr_interface_ + return p; + } + ++static char *openchange_fd_load(int fd, size_t *psize, size_t maxsize, TALLOC_CTX *mem_ctx) ++{ ++ struct stat sbuf; ++ char *p; ++ size_t size; ++ ++ if (fstat(fd, &sbuf) != 0) return NULL; ++ ++ size = sbuf.st_size; ++ ++ if (maxsize) { ++ size = size < maxsize ? size : maxsize; ++ } ++ ++ p = (char *)talloc_size(mem_ctx, size+1); ++ if (!p) return NULL; ++ ++ if (read(fd, p, size) != size) { ++ talloc_free(p); ++ return NULL; ++ } ++ p[size] = 0; ++ ++ if (psize) *psize = size; ++ ++ return p; ++} ++ ++static char *openchange_file_load(const char *fname, size_t *size, size_t maxsize, TALLOC_CTX *mem_ctx) ++{ ++ int fd; ++ char *p; ++ ++ if (!fname || !*fname) return NULL; ++ ++ fd = open(fname,O_RDONLY); ++ if (fd == -1) return NULL; ++ ++ p = openchange_fd_load(fd, size, maxsize, mem_ctx); ++ ++ close(fd); ++ ++ return p; ++} ++ + static struct SPropTagArray *process_request(TALLOC_CTX *mem_ctx, + const struct ndr_interface_call *f, + const char *filename, +@@ -123,7 +171,7 @@ static struct SPropTagArray *process_req + return NULL; + } + +- data = (uint8_t *) file_load(filename, &size, 0, mem_ctx); ++ data = (uint8_t *) openchange_file_load(filename, &size, 0, mem_ctx); + if (!data) { + perror(filename); + return NULL; +@@ -224,7 +272,7 @@ static int process_response(TALLOC_CTX * + return -1; + } + +- data = (uint8_t *) file_load(filename, &size, 0, mem_ctx); ++ data = (uint8_t *) openchange_file_load(filename, &size, 0, mem_ctx); + if (!data) { + perror(filename); + return -1; +diff -up openchange-openchange-2.3-VULCAN/utils/mapitest/modules/module_lzxpress.c.samba44 openchange-openchange-2.3-VULCAN/utils/mapitest/modules/module_lzxpress.c +--- openchange-openchange-2.3-VULCAN/utils/mapitest/modules/module_lzxpress.c.samba44 2016-02-09 11:06:00.717097846 +0100 ++++ openchange-openchange-2.3-VULCAN/utils/mapitest/modules/module_lzxpress.c 2016-02-09 11:48:38.200989479 +0100 +@@ -19,11 +19,61 @@ + along with this program. If not, see . + */ + ++#include ++#include ++#include ++ + #include "utils/mapitest/mapitest.h" + #include "utils/mapitest/proto.h" + #include "gen_ndr/ndr_exchange.h" ++#include "libmapi/libmapi.h" + #include "libmapi/libmapi_private.h" + ++static char *openchange_fd_load(int fd, size_t *psize, size_t maxsize, TALLOC_CTX *mem_ctx) ++{ ++ struct stat sbuf; ++ char *p; ++ size_t size; ++ ++ if (fstat(fd, &sbuf) != 0) return NULL; ++ ++ size = sbuf.st_size; ++ ++ if (maxsize) { ++ size = size < maxsize ? size : maxsize; ++ } ++ ++ p = (char *)talloc_size(mem_ctx, size+1); ++ if (!p) return NULL; ++ ++ if (read(fd, p, size) != size) { ++ talloc_free(p); ++ return NULL; ++ } ++ p[size] = 0; ++ ++ if (psize) *psize = size; ++ ++ return p; ++} ++ ++static char *openchange_file_load(const char *fname, size_t *size, size_t maxsize, TALLOC_CTX *mem_ctx) ++{ ++ int fd; ++ char *p; ++ ++ if (!fname || !*fname) return NULL; ++ ++ fd = open(fname,O_RDONLY); ++ if (fd == -1) return NULL; ++ ++ p = openchange_fd_load(fd, size, maxsize, mem_ctx); ++ ++ close(fd); ++ ++ return p; ++} ++ + /** + \file module_lzxpress.c + +@@ -51,7 +101,7 @@ _PUBLIC_ bool mapitest_lzxpress_validate + /* Step 1. Load Test File 001_Outlook_2007_in_ModifyRecipients_comp.dat */ + filename = talloc_asprintf(mt->mem_ctx, "%s/001_Outlook_2007_in_ModifyRecipients_comp.dat", LZXPRESS_DATADIR); + /* filename = talloc_asprintf(mt->mem_ctx, "%s/002_Outlook_2007_in_Tables_operations_comp.dat", LZXPRESS_DATADIR); */ +- data = (uint8_t *)file_load(filename, &size, 0, mt->mem_ctx); ++ data = (uint8_t *)openchange_file_load(filename, &size, 0, mt->mem_ctx); + if (!data) { + perror(filename); + mapitest_print_retval_fmt(mt, "lzxpress_validate", "Error while loading %s", filename); +@@ -137,12 +187,12 @@ _PUBLIC_ bool mapitest_lzxpress_validate + + mapitest_print(mt, "Compressed rgbIn by Outlook\n"); + mapitest_print(mt, "==============================\n"); +- dump_data(0, r.in.rgbIn, r.in.cbIn); ++ oc_dump_data(0, r.in.rgbIn, r.in.cbIn); + mapitest_print(mt, "==============================\n"); + + mapitest_print(mt, "Compressed rgbIn by OpenChange\n"); + mapitest_print(mt, "==============================\n"); +- dump_data(0, ndr_rgbIn->data, ndr_rgbIn->offset); ++ oc_dump_data(0, ndr_rgbIn->data, ndr_rgbIn->offset); + mapitest_print(mt, "==============================\n"); + + talloc_free(ndr_rgbIn); +diff -up openchange-openchange-2.3-VULCAN/utils/openchangeclient.c.samba44 openchange-openchange-2.3-VULCAN/utils/openchangeclient.c +--- openchange-openchange-2.3-VULCAN/utils/openchangeclient.c.samba44 2015-05-16 17:22:04.000000000 +0200 ++++ openchange-openchange-2.3-VULCAN/utils/openchangeclient.c 2016-02-08 22:24:59.212942206 +0100 +@@ -97,6 +97,52 @@ static void init_oclient(struct oclient + oclient->ocpf_dump = NULL; + } + ++static char **openchange_str_list_make(TALLOC_CTX *mem_ctx, const char *string, const char *sep) ++{ ++ int num_elements = 0; ++ char **ret = NULL; ++ ++ if (sep == NULL) { ++ sep = " \t,\n\r"; ++ } ++ ++ ret = talloc_array(mem_ctx, char *, 1); ++ if (ret == NULL) { ++ return NULL; ++ } ++ ++ while (string && *string) { ++ size_t len = strcspn(string, sep); ++ char **ret2; ++ ++ if (len == 0) { ++ string += strspn(string, sep); ++ continue; ++ } ++ ++ ret2 = talloc_realloc(mem_ctx, ret, char *, ++ num_elements+2); ++ if (ret2 == NULL) { ++ talloc_free(ret); ++ return NULL; ++ } ++ ret = ret2; ++ ++ ret[num_elements] = talloc_strndup(ret, string, len); ++ if (ret[num_elements] == NULL) { ++ talloc_free(ret); ++ return NULL; ++ } ++ ++ num_elements++; ++ string += len; ++ } ++ ++ ret[num_elements] = NULL; ++ ++ return ret; ++} ++ + static enum MAPISTATUS openchangeclient_getdir(TALLOC_CTX *mem_ctx, + mapi_object_t *obj_container, + mapi_object_t *obj_child, +@@ -115,7 +161,7 @@ static enum MAPISTATUS openchangeclient_ + uint32_t i; + + /* Step 1. Extract the folder list from full path */ +- folder = str_list_make(mem_ctx, path, "/"); ++ folder = openchange_str_list_make(mem_ctx, path, "/"); + mapi_object_copy(&obj_folder, obj_container); + + for (i = 0; folder[i]; i++) { diff --git a/SPECS/openchange.spec b/SPECS/openchange.spec index 486a5aa..ffa9ae5 100644 --- a/SPECS/openchange.spec +++ b/SPECS/openchange.spec @@ -1,10 +1,11 @@ %{!?python_sitearch: %global python_sitearch %(%{__python} -c "from distutils.sysconfig import get_python_lib; print get_python_lib(1)")} -%global samba_version 4.2.2 +%global samba_version 4.2.0-2 %global talloc_version 2.0.5 -%global nickname QUADRANT +%global nickname VULCAN %global build_python_package 0 +%global built_mapitest 0 %if 0%{?rhel} %global build_server_package 0 @@ -18,13 +19,13 @@ # Licensing Note: The code is GPLv3+ and the IDL files are public domain. Name: openchange -Version: 2.0 -Release: 10%{?dist} +Version: 2.3 +Release: 2%{?dist} Group: Applications/System Summary: Provides access to Microsoft Exchange servers using native protocols License: GPLv3+ and Public Domain URL: http://www.openchange.org/ -Source0: http://tracker.openchange.org/attachments/download/220/openchange-%{version}-%{nickname}.tar.gz +Source0: https://github.com/openchange/openchange/archive/openchange-%{version}-%{nickname}.tar.gz Source1: doxygen_to_devhelp.xsl BuildRoot: %(mktemp -ud %{_tmppath}/%{name}-%{version}-%{release}-XXXXXX) @@ -33,12 +34,15 @@ BuildRoot: %(mktemp -ud %{_tmppath}/%{name}-%{version}-%{release}-XXXXXX) BuildRequires: autoconf BuildRequires: automake BuildRequires: bison +BuildRequires: mariadb-devel BuildRequires: doxygen BuildRequires: file-devel BuildRequires: flex BuildRequires: gcc -BuildRequires: libical-devel >= 1.0.1 +BuildRequires: gcc-c++ +BuildRequires: libical-devel BuildRequires: libldb-devel +# BuildRequires: libmemcached-devel BuildRequires: libtalloc-devel >= %{talloc_version} BuildRequires: libtdb-devel BuildRequires: pkgconfig @@ -68,20 +72,16 @@ Patch1: openchange-0.9-generate-xml-doc.patch # Do not build server and python parts Patch2: openchange-1.0-OC_RULE_ADD-fix.patch -# Avoid multilib issue in libmapi/version.h -Patch3: openchange-2.0-multilib-issue-libmapi-version-h.patch - -# RH bug #1222605 +# RH-bug #1028698 Patch4: openchange-1.0-symbol-clash.patch -# RH bug #1019901 -Patch5: openchange-1.0-freebusy.patch - -# RH bug #1238537 -Patch6: openchange-2.0-samba-4.2.patch +Patch5: openchange-2.2-samba-4.2.0-rc2.patch +Patch6: openchange-2.3-disable-server-tools-build.patch +Patch7: openchange-2.3-samba-4.4.patch +Patch8: openchange-2.3-nomemcached.patch -# Fix connection arguments for newer samba -Patch7: openchange-1.0-fix-connection-args.patch +# Fix connection arguments to work properly with newer samba +Patch9: openchange-1.0-fix-connection-args.patch %description OpenChange provides libraries to access Microsoft Exchange servers @@ -141,15 +141,16 @@ This package provides the server elements for OpenChange. %endif %prep -%setup -q -n %{name}-%{version}-%{nickname} +%setup -q -n openchange-%{name}-%{version}-%{nickname} %patch0 -p1 -b .libmapi-conflict %patch1 -p1 -b .generate-xml-doc %patch2 -p1 -b .OC_RULE_ADD-fix -%patch3 -p1 -b .multilib-issue-libmapi-version-h %patch4 -p1 -b .symbol-clash -%patch5 -p1 -b .freebusy -%patch6 -p1 -b .samba-4.2 -%patch7 -p1 -b .fix-connection-args +%patch5 -p1 -b .samba-4.2.0-rc2 +%patch6 -p1 -b .disable-server-tools-build +%patch7 -p1 -b .samba-4.4 +%patch8 -p1 -b .nomemcached +%patch9 -p1 -b .fix-connection-args %build ./autogen.sh @@ -161,18 +162,23 @@ This package provides the server elements for OpenChange. # Parallel builds prohibited by makefile make -rm -r apidocs +if test -d apidocs ; then + rm -r apidocs +fi make doxygen xsltproc -o openchange-libmapi.devhelp --stringparam "booktitle" "MAPI client library (libmapi)" --stringparam "bookpart" "libmapi" %{SOURCE1} apidocs/xml/libmapi/index.xml xsltproc -o openchange-libmapiadmin.devhelp --stringparam "booktitle" "MAPI administration libraries (libmapiadmin)" --stringparam "bookpart" "libmapiadmin" %{SOURCE1} apidocs/xml/libmapiadmin/index.xml xsltproc -o openchange-libocpf.devhelp --stringparam "booktitle" "OpenChange Property Files (libocpf)" --stringparam "bookpart" "libocpf" %{SOURCE1} apidocs/xml/libocpf/index.xml +%if %{built_mapitest} xsltproc -o openchange-mapitest.devhelp --stringparam "booktitle" "MA regression test framework (mapitest)" --stringparam "bookpart" "mapitest" %{SOURCE1} apidocs/xml/mapitest/index.xml +%endif xsltproc -o openchange-mapiproxy.devhelp --stringparam "booktitle" "MAPIProxy project (mapiproxy)" --stringparam "bookpart" "mapiproxy" %{SOURCE1} apidocs/xml/mapiproxy/index.xml xsltproc -o openchange-libmapi++.devhelp --stringparam "booktitle" "C++ bindings for libmapi (libmapi++)" --stringparam "bookpart" "libmapi++" %{SOURCE1} apidocs/xml/libmapi++/index.xml %install rm -rf $RPM_BUILD_ROOT + make install DESTDIR=$RPM_BUILD_ROOT cp -r libmapi++ $RPM_BUILD_ROOT%{_includedir} @@ -201,9 +207,9 @@ rm $RPM_BUILD_ROOT%{_libdir}/nagios/check_exchange rm -r $RPM_BUILD_ROOT%{_datadir}/setup/* %endif -%if !%{build_python_package} && !%{build_server_package} +#%if !%{build_python_package} && !%{build_server_package} #rm $RPM_BUILD_ROOT%{_bindir}/check_fasttransfer -%endif +#%endif mkdir -p $RPM_BUILD_ROOT%{_datadir}/devhelp/books/openchange-libmapi cp openchange-libmapi.devhelp $RPM_BUILD_ROOT%{_datadir}/devhelp/books/openchange-libmapi @@ -217,9 +223,11 @@ mkdir -p $RPM_BUILD_ROOT%{_datadir}/devhelp/books/openchange-libocpf cp openchange-libocpf.devhelp $RPM_BUILD_ROOT%{_datadir}/devhelp/books/openchange-libocpf cp -r apidocs/html/libocpf/* $RPM_BUILD_ROOT%{_datadir}/devhelp/books/openchange-libocpf +%if %{built_mapitest} mkdir -p $RPM_BUILD_ROOT%{_datadir}/devhelp/books/openchange-mapitest cp openchange-mapitest.devhelp $RPM_BUILD_ROOT%{_datadir}/devhelp/books/openchange-mapitest cp -r apidocs/html/mapitest/* $RPM_BUILD_ROOT%{_datadir}/devhelp/books/openchange-mapitest +%endif mkdir -p $RPM_BUILD_ROOT%{_datadir}/devhelp/books/openchange-mapiproxy cp openchange-mapiproxy.devhelp $RPM_BUILD_ROOT%{_datadir}/devhelp/books/openchange-mapiproxy @@ -243,10 +251,10 @@ rm -rf $RPM_BUILD_ROOT %endif %files -%defattr(-,root,root,-) -%doc ChangeLog COPYING IDL_LICENSE.txt VERSION +%doc COPYING IDL_LICENSE.txt VERSION %{_libdir}/libmapi-openchange.so.* %{_libdir}/libmapiadmin.so.* +%{_libdir}/libmapipp.so.* %if %{build_python_package} || %{build_server_package} %{_libdir}/libmapiproxy.so.* %{_libdir}/libmapistore.so.* @@ -254,14 +262,12 @@ rm -rf $RPM_BUILD_ROOT %{_libdir}/libocpf.so.* %files devel -%defattr(-,root,root,-) %{_includedir}/* %{_libdir}/*.so %{_libdir}/pkgconfig/* %files devel-docs -%defattr(-,root,root,-) -#%{_mandir}/man3/* +#%%{_mandir}/man3/* %doc %{_datadir}/devhelp/books/* %doc apidocs/html/libmapi %doc apidocs/html/libocpf @@ -269,20 +275,19 @@ rm -rf $RPM_BUILD_ROOT %doc apidocs/html/index.html %files client -%defattr(-,root,root,-) %{_bindir}/* %{_mandir}/man1/* +%if %{built_mapitest} %{_datadir}/mapitest/* +%endif %if %{build_python_package} %files python -%defattr(-,root,root,-) %{python_sitearch}/openchange %endif %if %{build_server_package} %files server -%defattr(-,root,root,-) %{_libdir}/libmapiserver.so.* %{_libdir}/samba/dcerpc_server/dcesrv_mapiproxy.so %{_libdir}/samba/modules/* @@ -293,8 +298,11 @@ rm -rf $RPM_BUILD_ROOT %endif %changelog -* Thu Apr 07 2016 Milan Crha - 2.0-10 -- Add a patch to fix connection string (Related: #1322690) +* Thu Apr 07 2016 Milan Crha - 2.3-2 +- Add patch to fix connection string + +* Fri Mar 04 2016 Milan Crha - 2.3-1 +- Rebase to 2.3 release * Mon Jul 20 2015 Milan Crha - 2.0-9 - Rebuild against updated samba