4 Fix openchange user provisioning scripts
6 Forgot to commit this LDIF modifications for openchange provisioning
11 - Fix OpenChange server provisioning (exchange classes and attribute only)
12 - Remove deprecated provisioning steps
13 - OpenChange user provisioning is still broken at this point, but will be
14 fixed in further revisions.
19 Fix a cast warning at compilation time for libmapi++
21 - Update openchange libraries to 0.9: close trac ticket #165
22 - Propagate pkgconfig solution in trac ticket #94 to other libs
24 - Update openchange code to work with samba4-alpha9 release
25 - Apply minor fix to ldb_wrap_connect (number of parameters)
26 - Update mapiproxy code to handle new Samba4 assoc_group implementation properly
27 - Update samba4 version script to match alpha9 and related git commit
32 Ensure we get output if sqlite3 isn't found at configure time.
34 Now outputs "no" instead of a blank.
39 Fix attribution, per IRC discussion.
44 Ensure API documentation gets generated for utilities functions.
46 Some undocumented stuff in here to look at later.
48 Add additional mapidump functions for notifications
50 This is a patch from Johnny Jacob (Novell), with unit tests and some extra checks by me.
52 Maintains good test coverage for this file.
57 Avoid use-after-free for the number of rows in the SRowSet.
59 Resolves issue #212, which has the valgrind error.
64 Add test for get_proptag_value().
66 Minor cleanups for mapidump functions.
68 - Add support for dumping property tags using PT_SHORT.
69 - Modify the tag for PR_whatever_ERROR results to include the _ERROR bit
70 - Minor format change for PT_BINARY (training colon)
71 - Ensure PT_SYSTIME respects the seperator value (API change)
72 - Add a conditional assert() using infrastructure introduced in r1553.
74 Implement mapitest support for all of libmapi/mapidump.c
76 Update openchangeclient for the API change.
78 Introduce a compile time definition that is set for SVN snapshot releases.
80 The intent is to use this to protect assert() calls that indicate incomplete code.
85 Improved Sun Studio compiler support.
87 Patch by Brian Lu (Sun) - thanks again.
89 Revert inadvertent part from previous commit (r1549)
91 Add coverage testing support.
93 ./configure now supports --enable-coverage, which builds with the right options
94 to support gcov. Also adds a new makefile target ("coverage") that runs the
95 required post-processing steps.
97 Also added a test script that does a range of openchange related (client side)
98 operations. This is useful for generating the test load for coverage checks.
100 So the basic recipe here is
101 1. Add the --enable-coverage option at configure time.
103 3. Install it, or otherwise ensure that coverage-enabled libs are used
104 4. generate the test load (e.g. run ./script/smoketest.sh)
106 6. Inspect the results in ./covresults
111 Add support for the SunStudio compiler.
113 I previously special-cased the Intel C compiler, and relied on some ugly ordering requirements to
114 ensure it all worked.
116 This approach is cleaner, allowing options to be build up separately for each compiler, and for
117 the C and C++ versions.
119 Tested on Linux with all three compilers.
124 Adding missing include.
128 Patch from Brian Lu (Sun). Thanks very much.
133 Additional portability fixes for SunOS.
135 Based on a patch (ticket #220) by Brian Lu (Sun). Thanks very much.
137 I modified the patch to try to use autoconf where possible.
139 Resolves ticket #220.
141 Remove MAP_FILE flag from mmap(). Looks like this is only required on really
142 old unix systems (e.g. NetBSD prior to 1.0), which we probably won't ever support.
144 Patch by Brian Lu (Sun) - thanks very much.
146 Partly resolves ticket #220 - still need to handle the first patch.
151 Fix build problem using Sun Studio compiler.
153 Reported by Brian Lu (Sun), including a patch (Ticket #219)
155 I slightly modified the patch, but nothing substantial.
160 Patches provided by raboof:
161 - Ticket #213 deprecated include directive removal
162 - Ticket #214 missing sanity check
163 - Ticket #215 fix some DEBUG macro level for sain ouput
173 Use mapi_profile_get_ldif_path to find ldif path when one is not given
178 Added libmapi++ wrapper function for CreateProfileStore
183 Update buildsystem to avoid using bash-specific (well, not sh-supported) +=
186 Should allow FreeBSD to be supported.
191 Alternative solution to ticket #179, provided by Alan Alvarez.
193 This alternative avoids the need for the user to clean up the string returned by what().
195 Also includes a test case, which I've used to validate that the original (prior to r1524) code
196 is faulty, and that both fixes (From Erik Hovland and from Alan Alvarez) deal with it.
198 Resolves Ticket #179 (again).
203 Make sure that the string given by what() can be used.
205 Patch by Erik Hovland - thanks very much.
207 Resolves ticket #179.
209 Ensure that the libmapi++ messages example works even if there is no
210 PR_CONVERSATION_TOPIC (subject).
218 Modify mapi_object_set_logon_id() to be able to report errors.
220 Original patch by Erik Hovland, I made some changes.
225 Implement RopReloadCachedInformation (0x10).
227 Minor change to IDL (previously implemented), and adds
228 implementaiton and mapitest code.
230 Also editorial comment fix in some related mapitest stuff.
234 Implement GetValidAttachments ROP (0x52).
236 Includes IDL, implementation and mapitest.
238 mapitest also checks DeleteAttach behaviour, which I don't think we previously
241 Also includes a comment fix in the mapitest code.
248 Patch by Erik Hovland <erik at hovland.org>
253 Update the properties list.
255 Patch from Girish Venkatachalam <girish at gayatri-hitech.com>
260 Update API to use MAPITAGS enum.
262 Update to match API change.
264 Use appropriate enum here.
266 Use enum for OpenEmbeddedMessage call.
268 Use enums where appropriate.
270 Update users of FindRow to use enums.
272 We are supposed to be returning a MAPISTATUS, so switch to using
273 the OPENCHANGE_RETVAL_ERR macro here.
275 Use appropriate enums instead of int types.
277 Use enums instead of ints / hardcoded values.
279 Use enum types where appropriate.
281 Fixes warnings from Intel C compiler.
283 Return a suitable MAPISTATUS if we can't talloc sufficient memory here.
285 Fixes warning from Intel compiler.
290 Only pass "-Wmissing-prototypes -Wstrict-prototypes" to CFLAGS,
291 not to CXXFLAGS as well.
295 Use enumerated type instead of integer.
297 Remove unreachable code.
299 Add "static" to avoid the need for additional declarations.
301 Avoids noise from the intel c compiler.
303 Namespace variable in macro, so we don't get noise about shadowing a
306 Help icc find comparison_fn_t.
308 Match up data types in argument and format string.
310 Remove unused variable, and change a name to avoid a "shadowed declaration"
316 Portability fixes for Intel C Compiler.
318 Set CFLAGS early, otherwise AC_PROG_CC will set
319 CFLAGS to "-O2 -g", which later has -O3 appended, which
322 Check if we're really icc, and if so, turn off some warnings.
323 Also turn off the "FORTIFY_SOURCE" define which causes problems
324 with missing builtins.
326 The warnings can (and should) be turned back on later, after we
327 fix the current issues.
332 Correct diagnostics messages.
337 Remove explicit -Wstrict-aliasing=3 from command line.
339 This is implied by gcc -Wall option, and icc produces nuisance warnings
340 with it enabled (related to the -W option, not the code being compiled).
342 Fix some memory leaks and a bug in mapiprofile.
344 I introduced the bug in r1467, there could be others that are similar.
349 Minor rewording of description
356 Move initialisation up, to make sure everything is valid in the failure paths
358 Patch by Erik Hovland. Thanks once again.
360 This closes out ticket #178.
362 Remove unreachable code.
364 Patch by Erik Hovland. Thanks again.
366 This is the second part of ticket #177. This completes the checkin of that ticket.
368 Remove unreachable code.
370 Patch by Erik Hovland. Thanks very much.
372 This is the first part of ticket #177.
377 Ensure that we check the result of the operation we just performed.
379 Patch by Erik Hovland. Thanks very much for continuing to provide these.
381 This is the third part of the patch in ticket #177. The first two parts are yet to be addressed.
383 Make sure that return values are checked and report that given status if there is an error.
385 Patch from Erik Hovland, with minor additional changes. Thanks again for the patch.
389 More cleanups of memory leaks for setting up database and an associated failure case.
391 fix leak in openchangeclient
393 (as seen with valgrind of "openchangeclient -m")
395 Fix memory leak in mapiprofile utility
400 Ensure that when we pass --profile to mapitest, that profile
401 gets used instead of the default.
403 Also fix a small memory leak when using --profile, and add some
406 Fix error handling case.
408 Patch from Erik Hovland - thanks very much.
410 Resolves ticket #175.
415 Remove unused enum values.
417 Remove unused code - no simple tests.
422 Update the script version of samba4 to alpha8.
427 Add tevent to dependencies.
432 Remove unused headers.
434 Patch by Erik Hovland - thanks very much,
436 Resolves ticket #164.
438 Apply patch from Erik Hovland, from ticket #162.
440 From the original patch:
441 "The problem is that when you do stat first w/ a file string anyone can
442 exploit the time in between to do whatever they want with the file that
443 the string is a name for. Instead, try to open straight away. Then fstat
444 w/ the file descriptor."
446 I think the patch is fine, although I didn't run the torture test.
451 Avoid duplicate call to mapi_object_get_logon_id
453 Based on a patch proposed by Erik Hovland, but adapted to follow the
454 pattern used in OpenStream().
458 Applied modified version of patch from Erik Hovland to address unused variables.
460 See http://trac.openchange.org/attachment/ticket/160/unused-values for
465 My version removes variables (rather than commenting them out) since we don't need
466 them now. I also updated the documentation for options that are no longer available
468 The origin of the unused PR_FOLDER_CHILD_COUNT is a bit strange. It was introduced
469 in r808 (to resolve #103), and looks like it might have been used for debugging - no
470 impact on the code. I pulled out the whole lot.
472 Tested with openchangeclient --fetchmail --folder="Sent Mail" and mapitest.
474 Use array form of delete (error identified with libmapixx-attach test, using valgrind).
476 Fix potentially unused variable.
478 Tested with mapitest (even though nothing should have been affected) and
479 with libmapixx-test and libmapixx-attach under valgrind.
481 Patch is remaining part of http://trac.openchange.org/ticket/153
483 Thanks to Erik Hovland for the patch.
488 Remove dead / unused code.
490 See http://trac.openchange.org/ticket/152#comment:1 for rationale.
492 Original patch by Erik Hovland - thanks again.
494 Update test case to reflect new behaviour
499 Link libmapistore against tdb.
501 Update copies of config.guess and config.sub.
503 Link libmapiproxy against tdb.
505 Declare a SOVERSION for libmapistore.
507 Use LDFLAGS when linking exchange2ical.
509 Create symlink for libmapistore.
511 Link libmapi against tevent since it uses tevent_context_init, link ndr_exchange.po into libmapiserver since it uses some ndr_push_* symbols.
513 Fix typo in variable name.
518 Fix typo in Python variable name.
520 Keep separate flags for libraries around in config.mk.
522 Link libmapiserver against all libraries.
527 Add some PidTag* mapping involved with Recipients and RecipientRow
532 Patch from Erik Hovland <erik@hovland.org>:
534 Initializes variables to make sure they aren't used uninitialized.
538 - Add sanity check on mapitest_common creation routines within
541 - Apply patch from Erik Hovland <erik@hovland.org>: check return
544 Patch From Erik Hovland <erik@hovland.org>
546 In torture_rpc_mapi_sendattach a call is made to the system function
547 read at line 199. The return value of read is assigned to read_size,
548 which happens to be of unsigned type. So if read returns -1 (which it
549 can) it will not be noticed. The patch changes the type to ssize_t
550 (signed) and checks for -1 as well as zero to break out of the loop.
554 Patch from Erik Hovland <erik@hovland.org>
556 1. In mapiproxy, the directory handle dir will be leaked after it is
558 2. exchange2mbox main() should use exit at line 785 just like all of
559 the other error paths so that we don't leak anything
563 Patch from Erik Hovland <erik@hovland.org>
565 Adds a #include config.h to suppress compiler warnings for vasprintf
567 Patch from Erik Hovland <erik@hovland.org>:
569 Make sure pointers are valid before dereferencing
570 1. lpProps 'might' be null
571 2. Add folder to variables checked before moving on.
572 4. Check nprop->guid before giving to strcmp, two times
573 6. Check definition before handing to strlen (which will dereference
574 it) Reworked this one to include talloc_free
575 7. Check MessageClass? before handing to strncasecmp
576 8. Check backend, return if null.
577 10. Don't print out anything if lpProp is null
578 11. Check attach_size before dereferencing
583 Fix pull structure for QueryRows reply when no RowData is available
588 - Add preliminary IDL support for Exchange 2003/2007 EMSMDB RPC calls:
592 - Add LZxpress and XorMagic support to EcDoRpcExt2 request/reply
593 blob. However it doesn't yet support Chained calls.
595 - Add AuxInfo/AUX_HEADER structures and IDL
597 - Refactor mapi_request and mapi_response: move obfuscate_data calls
598 up to the EcDoRpc layer
603 Patch from Paolo Abeni <paolo.abeni@gmail.com>:
605 call ProcessNotification() after each successful
606 emsmdb_transaction() in all the libmapi calls.
608 Patch from Paolo Abeni <paolo.abeni@gmail.com>:
610 Mapi notifications can occurs inside any emsmdb_transaction; currently
611 only the notification send by the server inside the
612 emsmdb_transaction_null() in MonitorNotification() are
613 parsed/processed/delivered to the appropriate callback.
615 To be able to process all the received notifications, the notification
616 structure must comprise the private data to be passed to the
617 notification callback, since in the average mapi call this data is not
618 available. This patch modifies the Subscribe() call and the
619 mapi_notification structure, adding the private_data parameter (also the
620 related Subscribe() calls are update) and add a libmapi call
621 (DispatchNotifications) to force the notification dispatching in
622 a [quite] non blocking way
627 Patch from Paolo Abeni <paolo.abeni@gmail.com>:
629 ProcessNotification() is ignoring the handle value contained into the
630 processed notifications. This means that if many Subscribe() calls are
631 performed on different folders but with the same flags, all the
632 registered callback are [incorrectly] signaled with each received
635 The attached patch match the handler contained into the notification
636 message against the notification object handle to avoid such
642 Make sure delayed authenication is not called when server mode is enabled
645 Update property list to reflect current OAB props.
647 This deletes a few incompatible properties. Cannot determine the history of the PR_MAILBEAT_ props.
649 Fix display of Folder ID values (one is filled with ., the other is prefixed with .16 instead of being filled.
651 Also remove duplicate close() of file descriptor.
663 Implement RopTransportNewMail (0x51).
665 Includes IDL, libmapi implementation, and basic mapitest coverage.
667 Also fix a few doxygen / formatting things.
672 - Add Redirect buffer support for OpenMsgStore and OpenPublicFolder.
673 This commit fixes the ecWrongServer (0x478) error users encounter
674 while running openchange based software in a clustered Exchange
680 Implement RopCloneStream (0x3b) and RopWriteAndCommitStream (0x90).
682 Includes IDL, implementation and mapitest tests.
687 Fix Search notifications.
689 MS concurred that the docs are wrong.
691 Patch by Paolo Abeni - thanks very much for the
692 investigation and the patch.
694 Update GetStoreState documentation.
696 Implement RopSetPropertiesNoReplicate (0x79).
698 IDL was already done. mapitest for DeletePropertiesNoReplicate was
704 Implement (IDL, libmapi, mapitest) RopHardDeleteMessagesAndSubfolders (0x92)
706 Also fix some bugs in mapitest common code, and an incorrect sanity check in CreateFolder().
711 Implement RopHardDeleteMessages (0x91).
713 Includes IDL, implementation and mapitest.
716 Ignore generated property file.
721 Add PT_ACTIONS to list of data types.
723 Not fully/correctly handled yet.
728 - Add dcerpc_mapiproxy:delegated_auth option
729 This option delays mapiproxy-remote server authentication when
730 the client sends the first request on a given pipe. This is
731 mandatory in order to have delegated credentials to work.
733 - Factor remote connection into mapiproxy_op_connect
738 Add session state to the notification.
739 Patch by Paolo Abeni - thanks for the investigation and fix.
741 Also remove a stray debug message.
743 Add a new mapitest suite for OXCNOTIF (Core Notifications).
745 Add a test to the OXCNOTIF suite based on test case provided by Paolo Abeni.
750 Update IDL for ModifyRules (0x41) and add IDL for
751 UpdateDeferredActionMessages (0x57).
753 This is a checkpoint commit, pending further investigation
754 into how we handle PtypRestriction and PtypRuleAction.
759 Mapitest cleanups - remove GetLastError(), and other minor edits.
761 Implement LockRegionStream and UnlockRegionStream ROPs.
763 These appear to be a relatively recent addition to the
764 documentation, possibly only used in Exchange 2007 / Outlook
767 This is complete except for testing of whether the locking
773 Use parent folder full replica ID: 2 bytes instead of 1 byte
775 - Add Implementation for Logon redirect response buffer in OpenChange IDL
776 - Update libmapiserver size calculation routine for Logon call to handle this case
781 Add session and logon_id to the list of parameters to copy between objects.
782 This patch fixes a problem in openchangeclient when using the --folder parameter.
785 Remove code relating to free'ing the bookmark returned
786 by SetCollapseState. Initial investigations with MS
787 lead me to believe that you can't free that resource.
789 May be more work in this area as investigation continues.
794 Fix memory leaks for functions relying on pull_emsmdb_property
799 Fix emsabp valgrind errors
804 Make it possible to specify a version number for release different
805 from major/minor from configure.ac
810 Make it possible to open and control up to 255 mailboxes within a
813 It implements an internal management of a logon_id array at session
814 level + enable transparent transport/copy of current logon_id value
815 among MAPI calls + finally transparently free the logon_id value when
816 the store object (PF or mailbox) is being released.
818 - Retrieve recipients from OpenEmbeddedMessage reply
819 - Test the implementation in mapitest
820 - Avoid potential memory leak: steal context for returned ulPropTags.
825 Be more tolerant with Logon request flags
827 Set retval to MAPI_E_INVALID_BOOKMARK rather than returning.
828 This case still needs to be fixed though.
832 Create a default GetProps reply on error
837 Fix retval problem in libmapi/nspi.c for GetIDsFromNames.
838 Function returns MAPI_E_SUCCESS, but errno is set to 0x0000000b.
839 Set errno to retval to work around this problem.
844 OXCPRPT-NAME-ID mapitest now passes: The QueryNamedProperties ecMemory retval
845 has been worked-around by setting QueryFlags to NoStrings to limite the results
846 scope. This means the MNID_STRING case is not fully checked anymore. We should maybe
847 add additional tests to do full coverage.
849 Fix GetNamesFromIDs IDL and implementation.
851 Note: We should probably update the function prototype
852 so it takes a mapi_SPropTagArray rather than a single property.
855 Protect against bad results from GetGALTable().
862 Patch from Paolo Abeni: Add sanity check to Subscribe
863 and prevent applications from crashing if notify context
869 Ensure NSPI server functions have a valid dcesrv_handle
871 Add quick/additional configuration information on how to setup openchange server
873 This commit adds a retval check on private data retrieval function and prevents QueryPosition from causing a
874 segfault when parent object is meant to come from GetContentsTable.
876 - Fix NspiGetMatches server reply when specified username is invalid and
878 - Make use of talloc hierarchy for NspiGetProps properties fetch + fix
879 a talloc_free bug leading to segfault on failure.
881 Prevent from registering same mapistore backend multiple times
889 Add skeleton for GetRulesTable
891 - return MAPI_E_SUCCESS when QueryRows reply count is 0
892 - Move Reminders from IPM Subtree to Mailbox root
894 - Add QueryPosition implementation
895 - Move from offset to numerator/denominator couple for table objects
897 Outlook now opens properly using openchange server and display the
898 mailbox folder list with icons ;-)
900 - Add skeletons for Restrict, SortTable, FindRow calls
901 - Introduce emsmdb provider table object
902 - Add preliminary table implementation for system/special folders
903 - Add preliminary implementation of GetHierarchyTable, SetColumns and QueryRows
904 - Improve creation of GetProps reply blob for Mailbox folder
905 - Fix bug in EcRRegisterPushNotification when associated handle is invalid
906 - Remove some usage of ldb_filter and use format string instead
907 - Update libmapiserver sanity checks and look for error_code != MAPI_E_SUCCESS
908 so openchange server is able to return failed replies to MAPI clients
909 - Introduce flaggedPropertyRows in libmapiserver_push_property (needed by QueryRows)
911 This commit makes openchange server work with "openchangeclient --mailbox" ;-)
913 Still preliminary but anyway worthwhile enough to be mentioned ...
915 - Add a function to count subfolders of a container
916 - Add a function to wrap MAPI tables over openchangedb
917 - Factorize code used to fetch property values from LDB records
919 - Add default properties to folder records while provisioning mailbox
920 - Add few more mapping for PR_* to PidTag
921 - Add a new MAPI property to the list
923 Avoid openchangeclient --mailbox to segfault when run vs openchange server
926 Remove some ldb_filters, and just use varargs into ldb_search
928 warning fix for 64-bit arch.
930 Revert previous commit.
932 Experimental commit to fix build problems resulting
933 from property changes.
938 - Add PidTagDisplayName property to Mailbox object
939 - Add PidTagParentFolderId to all system/special folders
941 - handles array depends if a valid mapi_repl exists. This commit
942 fixes the destructor semantics.
943 - Fix a mapitest segfault encountered while run vs openchange server
944 - Return 1 in SRowSet_propcpy if an error was encountered.
946 Fix libmapi stack segfault when MAPI calls returns
947 with error_code different from MAPI_E_SUCCESS.
949 Do not process NSPI request if we can't find the handle
951 Remove unnecessary ldb_filter parameter and replace it
952 with ldb_search format string.
957 - GetPropertyIdsFromNames skeleton added
959 - Fix how Release replies are handled in mapi_repl[] array
960 - Remove Release size calculation
961 - Fix QueryRows size in libmapiserver
962 - Add a dummy/skeleton GetPropertiesSpecific function for mapistore objects.
963 - GetHierarchyTable skeleton added
964 - SetProperties skeleton added
965 - CreateMessage skeleton added
966 - SaveChangesMessage skeleton added
972 Set mapi_response to NULL upon init ... just to get sure
974 Fix MAPIUninitialize segfault
982 - Add skeleton for GetContentsTable Rop
983 - Add skeleton for some [MS-OXCTABL] Rops: SetColumns, SortTable, QueryRows, SeekRows
984 - Add libmapiserver size calculation functions for all the above
985 - Ensure we only set objects parameter if it exists
986 - Return when dcesrv handle is not available
988 Merge s4-alpha7 branch back into trunk
993 - Add several PidTag to openchange.ldb folders
994 - Add provisioning convenient function which adds attribute/value pair
995 to a given folder record
996 - Replace existing special folders reference within Inbox with PidTagIpm* tags
997 - Add new PidTag values to mapi-properties
998 - Add a function to libmapiproxy to build a folder EntryID as described in MS-OXODATA
999 - Add a function which builds special properties for openchangedb folders
1000 - Add PT_BOOLEAN case to openchangedb folder get property function
1001 - Keep a reference to the mailbox username within emsmdb provider context
1002 - Create and return a handle in RegisterNotification
1007 Wrong MessageClass size calculation fixed
1010 Remove duplicate _GNU_SOURCE definition (already specified by Makefile)
1012 Ignore new binary and trial output.
1017 - Fix systemfolder value for System/Special folders
1018 - Add GetProps support to System/Special folders
1020 Add auto-generated parser to the ignore list
1022 - Add auto-generated parser for MAPI property to PidTag mapping
1023 - Add some PidTag values
1024 - Add a lookup and get property functions on system folders
1026 - tuple SystemIdx in the dictionnary to workaround the ordering problem
1027 - Add ParentFolderId attribute to System Folders
1029 - Add creation of "Special folders" to mailbox provisioning
1030 - Rename fid attribute to PidTagFolderId
1031 - Rename name attribute to PidTagDisplayName
1032 - Rename ExplicitContainerClass to PidTagContainerClass
1034 Fix GlobalCount increment
1036 Fix mailbox provisioning
1039 Add test for FILETIME structure.
1041 Update docs for mapiproxy entry.
1044 Fix handling of fids.
1048 - Fix openchangedb mailbox hierarchy and introduces subfolders
1049 as described in [MS-OXOFOLDS] specifications.
1050 - Update openchangedb API to reflect this change.
1052 Rename private mailbox folder "non_ipm_subtree" to "mailbox_root"
1053 to fit with MS-OXOFOLDS specifications.
1055 - Add provisioning code for GetReceiveFolder defaults
1056 - Check if mapistore content repository already exists for the user
1057 - Make mailbox creation verbose
1060 Fix parentfolder reference.
1064 Use recursive call to create folders.
1066 Simplify list iteration, PEP8, avoid using string exceptions.
1071 Fix 'dereferencing type-punned pointer' warnings
1073 - Add strict-aliasing compiler flags
1074 - Fix format string warnings on ubuntu buildbot
1076 - Add _FORTIFY_SOURCE=2 to the compiler CFLAGS
1077 - Fix warnings introduced by -D_FORTIFY_SOURCE
1080 I might have been a bit hasty with that last commit...
1084 Try harder to find sqlite3.
1086 Seems to be in sqlite.pc on Ubuntu.
1088 Fix warning on 64-bit arch.
1092 - Add RopGetReceiveFolder (0x27) implementation
1093 The function respects should respect the semantics and behavior
1094 as described in MS-OXCSTOR specifications. However the python's
1095 code modification required: add ExplicitMessageClass attributes
1096 to folder records is not yet effective.
1098 - Add GetReceiveFolder size calculation function to libmapiserver
1099 - Add a function to openchangedb API to retrieve the FID/ExplicitMessageClass
1100 couple for a given SystemFolder within user's mailbox.
1102 - Provision scripts: create a mapistore default storage space within ${private}/mapistore/${username}
1103 - Provision scripts: add default sqlite:// mapistore URI for system folders
1104 - Add mapistore context initialization when calling OpenFolder on SystemFolder
1105 - Add mapistore context release for folders in emsmdbp object destructor
1107 Factorize emsmdbp objects
1108 Add emsmdbp_object generic talloc destructor
1111 Add test for PT_MV_LONG.
1113 Add tests for PT_I8 and PT_BINARY
1115 Fix warning about no newline at end of file.
1117 Remove most recently added tests from "to be done" list.
1119 Add a couple more mapi_SPropValue tests.
1124 - Initialize mapistore within emsmdb provider context
1125 - Add destructors for MAPI handles and mapistore contexts
1126 - Remove emsmdbp_ctx memory context structure member and
1127 allocate directly with emsmdbp_ctx
1129 I don't see any good reason why we would pad MAPI replies with some bytes.
1130 I guess it comes from some prehistoric openchange code.
1132 Fix systemfolder assignment depending on IsSystemFolder value
1134 - Initialize OpenFolder server reply
1136 - Wrap TDB connections to mapistore (code from samba4) so
1137 multiple instances can open read/write to the same TDB database
1138 - Remove static id_mapping_context (replaced with tdb_wrap calls)
1139 - Update mapistore linkage rules so mapistore can be used with exchange_emsmdb server
1140 - Link mapistore with exchange_emsmdb
1142 Fix aclocal warning for AC_DEFINE comparison_fn_t
1144 Remove useless GetProfilePtr from IProfAdmin interface
1145 Closes trac ticket #131
1147 Add missing script - prevent configure from generating warning vs missing file.
1149 Remove stamp-h1 file during distclean and add it
1152 - Add server-side GetReceiveFolder (0x27) skeleton
1154 Work around the comparison_fn_t redefinition problem
1155 between libocpf and ndr.h
1157 FreeBSD doesn't have time.h daylight global variable
1160 start testing mapi_SPropValue_array.
1161 This also tests some underlying functions.
1166 Add comparison_fn_t support to ndr.h
1167 This was the latest change require to make openchange compiles under FreeBSD
1169 = samba4/openchange FreeBSD support completed =
1174 Remove duplicated post_install call
1176 Add a post_install operation on FreeBSD
1177 Make sure pidl is installed properly.
1179 Patch samba4 tarball so it compiles properly on FreeBSD 7.0
1180 Note: this is a dirty hack which needs to be removed in the future
1182 Install Samba4 correctly although user's PKG_CONFIG_PATH env variable
1183 may not be adjusted properly.
1185 Avoid download samba4 release tarball if already available
1186 in current directory.
1188 - Add test for comparison_fn_t in configure.ac
1189 - libocpf auto-generated files include stdlib.h and prevent from
1190 having the proper comparison_fn_t typedef. This commit works around this
1191 problem and define comparison_fn_t within a private header.
1193 getline is a stdio GNU_SOURCE extension not available under FreeBSD.
1194 Use fgetln instead when it is compiled on this OS.
1196 FreeBSD doesn't define sighandler_t but sig_t
1198 Replace open() call with O_DIRECTORY flag (Linux specific) with opendir
1200 - Add non-default search path /usr/local/{include,lib} to
1201 CFLAGS and LDFLAGS when compiling OpenChange under FreeBSD
1202 - Make use of LDFLAGS while compiling openchange tools
1205 A few improvements for property handling.
1207 Also add unit tests to verify behaviour is correct.
1209 The implementation for the FlatUID (GUID) structure appears broken. Perhaps I'm not using it correctly.
1211 Microsoft confirmed the LCID is wrong in the spec, and will be updated in the next rev.
1216 Check for Flex version < 2.5.35
1217 Make sure users can define the FLEX environment variable
1219 Add automake scripts for AC_CANONICAL_HOST support
1220 Needed for FreeBSD OS detection in configure.ac
1225 Fix warnings from lexer output.
1227 Fixes for warnings on 64-bit architectures.
1229 Fix warning on 64-bit architecture.
1232 Add some more tests for openchange.mailbox.
1234 Fix creation of new mailbox after provision.
1236 Always use the same URL when connecting to openchangedb.
1238 Fix arguments to openchangedb_provision.
1243 Fix libmapi 64-bit machine cast warnings mentioned in Brad's devel email
1246 Warning fix for 64-bit arch.
1251 Add doxygen definition for RopRelease
1253 - Add server-side skeleton implementation for RopOpenFolder and RopRegisterNotification
1254 - Add preliminary size calculation functions in libmapiserver for the 2 calls above
1255 - Fix size bug for serialized requests
1256 - Add skeleton case for RopGetPropertiesSpecific on SystemFolders
1257 - Make sure the GetProps reply blob is initialized whatever happen
1258 - Add a skeleton emsmdbp folder object init function
1263 Remove debug strings for GetPropertiesSpecific Rop
1265 Enable verbose output in server mode - useful during development
1267 Implement preliminary server-side RopGetPropertiesSpecific call for mailbox object.
1269 - Fix GetProps blob for PT_BINARY: use SBinary_short instead of Binary_r
1270 - Fix GetProps size: subcontext is not added to the fixed size calculation
1272 - GetPropsSpecific size calculation function added to libmapiserver
1273 - Function to create a GetProps reply property blob added to libmapiserver
1276 Add tests for provisioning.
1278 Several cleanups in python code, add tests for schema use.
1280 Don't clear PYTHONPATH override.
1282 Remove unused imports, add extra tests.
1284 Use member variable for Ldb, rather than subclassing.
1286 Remove print statements to avoid cluttering test output.
1288 Add simple and incomplete testcase for OpenChangeDB.
1290 Move wipe of data to mailbox.py, simplify arguments to add_root_mailbox.
1292 Move adding a server to mailbox.py.
1294 Move ldif from oc_provision_openchange.ldif into Python.
1296 Stop providing setup_path to OpenChangeDB, as it's no longer used.
1298 Avoid using separate LDIF file when creating folder mailboxes.
1300 Avoid using separate LDIF file when creating mailboxes.
1302 Avoid passing full names object.
1304 Add check-python target.
1309 fix openchange_newuser.
1311 Use SamDB for actual SAM databases, Ldb otherwise.
1313 Remove unused parameters, don't make parameters optional if they are mandatory.
1315 remove unused parameters.
1317 make mailbox object-oriented, remove creds/lp parameters.
1319 Fix OpenChangeDB syntax.
1324 - Add a systemfolder member to the MAPI handle structure to make a difference
1325 between objects managed by mapistore and those stored within openchange.ldb
1326 (root mailbox folders).
1328 - Add opaque functions to set/get private_data and systemfolder to the MAPI
1331 Minor doxygen fix/improvement
1333 Add libmapistore object files to the ignore list
1335 - Add a very preliminary and light libmapistore implementation.
1336 mapistore only supplies init/release and add/del backend contexts.
1337 This commit also includes a sqlite3 backend skeleton (open/close sqlite db)
1338 - A temporary mapistore testing tool has been added locally for implementation checks.
1341 Use convenience function for connecting to openchange.ldb.
1343 Use standard LDB functions - openchange.ldb is not a SAM database.
1348 Implement support the SUMMARY language tag.
1350 Initial checking of libical based exchange2ical code.
1352 This has a long way to go, so think of this as more of a checkpoint
1355 See http://sourceforge.net/projects/freeassociation/ for the library, or
1356 see if your distro has a package.
1360 Add missing parameter to API documentation.
1362 Resolves ticket #130.
1364 API documentation fixes for OpenEmbeddedMessage()
1366 Implement OpenEmbeddedMessage ROP (0x46).
1370 Factor out message creation and message fill actions.
1372 Also remove GetLastError() where appropriate.
1374 Add some API documentation.
1379 Update openchangepfadmin description
1380 Fix tool relying on libmapiadmin
1387 Add more explanation for README
1389 Reimplement RTF decompression.
1391 Add unit tests from MS-OXRTFCP.
1393 Fix warnings in example code
1395 Add description for libmapiadmin
1397 Add description for libmapi / libmapi++
1399 Start on the directory descriptions.
1405 Add overview. Extracted from API docs.
1409 Outline of README file.
1411 (also using this to test buildbot without changing real code)
1415 Add Version field - avoid breaking pkg-config --list-all
1417 Fix warnings (gcc 4.2.4)
1420 Use variable for package version rather than hardcoding it.
1430 - Add an implementation of the MAPI handles management API. The API
1431 internally uses an in-memory TDB database to keep object hierarchy
1432 and a doubled chained list to associate private data to handles.
1434 The API currently provides add, search and delete facilities. Note
1435 that while untested, the delete operation is designed to recursively
1436 delete children of the 'meant to be deleted' handle.
1438 Finally the API doesn't remove TDB records but mark them as free so
1439 they can be reused across MAPI session and prevent from handle counter
1440 growing indefinitely.
1442 - Add a preliminary implementation of the Release call
1443 - Add Release size calculation to libmapiserver
1444 - Update EMSMDB provider to use MAPI handles API
1447 Minor api documentation fix.
1453 Minor API docs tweak.
1455 Token commit of tiny API docs fix.
1458 Look for GNU make harder (gmake on BSDs).
1463 - Add preliminary EMSMDB provider implementation for RopLogon (0xFE)
1464 - Add common routines for OpenChange LDB context init and search
1466 - Add libmapiserver skeleton with size calculation routine for RopLogon
1467 - Change DSO linking dependencies for mapiproxy shared libraries
1468 - Propagate _GNU_SOURCE change from libmapi.h to mapiproxy
1472 Remove .po and .o objects within libmapiproxy subdirectory
1474 Move libmapiproxy into its own directory and rebase mapiproxy headers accordingly
1475 Fix make uninstall for AD and profiles directories
1479 Add python code and ldif files needed to create and populate the experimental
1480 openchange dispatcher database.
1482 Add 5-Minute configuration documentation for OpenChange server mode
1484 - Rebase ldif files into sub directories:
1485 * AD for OpenChange AD modifications
1486 * profiles for OpenChange IProfAdmin interface
1487 - Makes it easier figuring out LDIF files scope
1488 - Prepare setup folder for LDIF openchangedb files integration
1489 - Update install/uninstall Makefile rules for ldif files and
1490 make sure everything got removed
1495 Add support for short language names (e.g. en-AU) for lcid.
1500 Delete deprecated libmapi setup Perl script
1503 Add summary report for tests.
1505 Make mapitest return the number of failed tests.
1510 - Add pkg-config pc file for libmapiproxy
1511 - Improve mapiproxy rules so libmapiproxy gets installed and cleaned properly
1513 Free memory allocated by the fake subcontext in
1514 ndr_pull_mapi_response.
1516 This fix saves 300kb of memory and removes 700 loss records while
1517 valgrinding mapitest.
1519 Fix segfault - Add sanity check - when SPropTagArray is NULL in
1520 NspiQueryRows request
1522 Fix openchange_newuser name typo
1524 Fix server provisioning command line examples
1526 Fix several libmapi leaks.
1528 mapi_response was allocated using emsmdb_ctx->mem_ctx memory context
1529 and was not free'd when libmapi function released their
1530 context. Furthermore we need to release mapi_response->mapi_repl and
1531 mapi_response->handles which are now automatically free'd when
1532 mapi_response destructor is called.
1534 However note that this fix is not perfect: mapi_response memory is not
1535 free'd properly when calls exit with an error.
1537 This commit also make use of talloc_steal where necessary to keep
1538 returned fields allocated.
1542 Use named context rather than autofree
1544 Fix memory leak in emsmdb.c: Use a temporary memory context for
1545 request and length allocation in emsmdb_transaction.
1547 - This removes 827 loss records and approximatively saves 41kb of
1548 memory while valgrinding mapitest
1550 - Fix memory leak in GetDefaultProfile and GetProfileTable.
1551 - Save from 10 loss records while valgrinding mapitest
1552 - Developers are now responsible from freeing the GetDefaultProfile
1553 string the function allocates.
1554 - Apply changes to all openchange tools.
1556 Add blackbox subunit tests for mapiprofile tool
1559 One more trivial fix.
1563 (Yep, more trivial changes)
1565 Fix incorrect LCID for en-CA.
1567 (OK, its token, I admit).
1570 Don't define _GNU_SOURCE unconditionally.
1574 Prevent mapiproxy from multiple init and modules/server register
1575 when an smb client connect to the server (e.g. windows browser or smbclient)
1579 According to [MS-OXOCAL] Section 2.2.1.44.1
1580 "RecurrencePattern Structure", a monthly recurrence
1581 also has a Day specific parameter.
1586 Simply run autogen.sh rather than replicating it inside the Makefile.
1588 need to run aclocal before autoconf for the pkg-config macros.
1592 Use a autofree context rather than a named one - makes sure memory is free'd when we exit the test.
1593 Saves from 4 loss records while valgrind'ing mapitest.
1595 Use temporary memory context for EcDoConnect.
1596 Saves from 20 loss records when valgrind'ing mapitest.
1598 Free PropertyProblem structures returned by CopyTo.
1600 Replace deprecated talloc_init calls with talloc_named
1601 This commit removes some valgrind loss records talloc_init was responsible for
1604 Free everything when running mapitest --list-all.
1605 Valgrind however shows a loss record related to talloc_init ...
1608 Minor Intel C compiler warning fixes.
1610 Minor apidocs cleanups.
1614 Use double pointer for lp_ctx in GetLoadparmContext assessor
1616 Fix memory leak in utf8 lexer.
1618 - Remove custom iconv_convenience from pull_emsmdb_property and use
1619 lp_iconv_convenience on loadparm_context argument instead.
1621 - Change OpenChange libmapi API to reflect this change
1623 - Introduce a lp_ctx assessor in libmapi/cdo_mapi.c
1624 (mostly for mapitest modules). libmapi/mapiproxy developers
1625 should never have to make use of it.
1627 - Remove pointless duplicated call to lp_load_default in MAPIInitialize.
1629 Free lpProps returned by GetProps, Fix context error in valgrind
1631 - Fix memory leak bug: release ndr context in pull_emsmdb_property before returning
1632 - Terminate SPropValue and SPropTagArray using an element with ulPropTag = 0. This
1633 prevent from "invalid read size of 4" messages from valgrind and remove context errors.
1636 Don't install mapiproxy if python wasn't found, since
1637 we wouldn't know where to install the provisioning scripts or be able
1642 Merge libmapi-0.8 branch r1015 to 1017 into trunk
1644 ** Start libmapi-0.9 COCHRANE development **
1646 Merge libmapi-0.8 branch changes into trunk
1650 Add python install/uninstall rules to provision rather than mapiproxy-servers
1652 - Remove server Makefile rules
1655 Note: server and providers have been merged within mapiproxy,
1656 so there is no reason keeping this deprecated code.
1660 Undoing change committed in r1004.
1662 Use .po files instead of .o files for openchange tools
1664 Add --version to openchange tools
1666 Add COPYING file with GPLv3 license
1670 - Add RenameProfile function to IProfAdmin API
1671 - Remove pointless CopyProfile from IProfAdmin API
1672 - Add --rename option to mapiprofile tool
1673 - Update man page to reflect this addition
1675 (close trac ticket #124)
1677 Fix libmapi from crashing when mapi_repl is NULL.
1679 Update Samba4 git rev to fix the charcnv segfault met in openchange
1683 Try to find the Samba python modules if they're not installed in the system
1688 - Fix Subscribe semantic bug and add WholeStore boolean parameter
1689 - propagate API change to tools/torture callers
1691 - Add assessor functions to set dumpdata and debug level in libmapi
1692 (SetMAPIDumpData and SetMAPIDebugLevel)
1693 - OpenChange tools modified to use these function rather than set these
1694 parameters on their own
1696 - Fix --debuglevel segfault in openchange tools
1697 - Enable logging to stdout in MAPIInitialize
1701 * OpenChange libmapi function now returns MAPI error instead of -1
1702 - use OPENCHANGE_RETVAL_IF instead of MAPI_RETVAL_IF
1703 - add doxygen documentation for some missing functions/files
1705 - Missed this event->tevent change in previous commit
1707 - Update openchange to use latest Samba4 master git rev (990491d)
1708 - Fix references to tevent_context structures
1709 - Fix iconv_convenience init in MAPIInitialize
1710 - Remove errorchecks mapitest module warning
1713 Use tevent_context_init.
1719 Some Exchange server (stand-alone) return MAPI_E_LOGON_FAILED when setting EssDN with username rather than
1720 using profile's mailbox string directly. This commit fixes the bug.
1722 - Add EcDoConnect and EcDoDisconnect preliminary support to
1723 dcesrv_exchange_emsmdb.c
1724 - Add internal session management mechanism to EMSMDB server
1725 - Add init and unbind modules function to EMSMDB server
1726 - Add emsmdbp_context and session to dcesrv_exchange_emsmdb.h
1729 Fix valgrind errors caused by using free'd memory.
1733 Implement 'mapiproxy downgrade' behavior in EMSMDB server and force
1734 Outlook to use EcDoConnect (0x0) and EcDoRpc (0x2) rather than 0xA and
1735 0xB (opnums using LZ based compression).
1737 - Add Preliminary implementation for RfrGetFQDNFromLegacyDN DS RFR server
1741 - Preliminary implementation of NspiGetProps NSPI server function
1742 - Makes sure emsabp_tdb_traverse_MId uses the correct dbuf size
1743 - Use correct ldb context (users or conf) depending on where MId is
1744 located (on-memory or on-disk)
1745 - Add PR_EMS_AB_NETWORK_ADDRESS mapping to emsabp_property
1747 *** Outlook is now able to create MAPI profile using OpenChange Server ONLY! ***
1749 - Preliminary implementation of NspiDNToMId NSPI server function
1750 - Add emsabp_search_legacyExchangeDN to search for a record given its
1751 legacyExchangeDN attribute.
1753 - Preliminary implementation of NspiQueryRows NSPI server function added
1754 - fix a bug in the MID TDB traversal routine: cut dptr to dsize length
1755 rather assuming it is NULL terminated
1756 - Add support for "referenced" property tags
1757 - Add support for PR_MV_STRING8
1758 - Add emsabp_search_dn which search for a DN within AD and return the
1759 associated LDB message
1760 - Add PR_EMS_AB_HOME_MDB and PR_EMS_AB_PROXY_ADDRESSES to
1761 emsabp_property array
1763 Prevent from trying to add a NULL element to profile database and segfault on strlen
1765 Prevent x500_get_dn_element from segfaulting when an incorrect DN string parameter is supplied
1767 - Preliminary implementation of NspiGetMatches NSPI server function
1768 - Make use of a on-memory TDB database for Ephemeral Entry IDs
1769 - Add TDB traversal routines to retrieve DN associated to MId
1770 - Move lp_ctx within emsabp_ctx for convenience
1771 - Add EphemeralEntryID to Binary_r routine
1772 - add emsabp_query (Find attribute matching given property tag and
1773 return associated data)
1774 - add emsabp_fetch_attrs which builds a SRow array given a MId and
1775 requested property tags.
1776 - add emsabp_search which searches AD given input search criteria
1777 - add a preliminary Property Tag to AD attribute mapping + associated
1778 functions in emsabp_property.c
1780 Note: This NspiGetMatches is limited to MAILUSER which means we only
1781 look for users (located within users.ldb). This limitation will be
1782 removed when we have a preliminary working emsmdb server, so we can do
1783 more extensive NSPI server tests.
1785 Add sanity check to get_SPropValue_SRowSet, prevents the function
1786 from segfault when RowSet is NULL (e.g. crafted NspiQueryRows replies)
1788 Prevent IProfAdmin based code from crashing when a crafted NspiGetMatches reply
1789 with NULL ppOutMIds is returned.
1794 - Preliminary NspiGetSpecialTable implementation added to NSPI
1795 server/EMSABP provider: Hierarchy Table supported (required during
1797 - add PT_BINARY support for mapidump_SPropValue
1798 - fix a bug when PT_STRING8 or PT_UNICODE pointer is set to
1804 Add new Display Type values (used by EMSABP provider)
1806 Change DEBUGLEVEL for RfrGetNewDSA
1808 - preliminary implementation of RFR server (RfrGetNewDSA): makes Outlook happy
1809 - mapiproxy-servers-install now installs openchange python scripts and ldif file
1813 Move auth_serversupplied_info structure from dcesrv_exchange_nsp.h to libmapiproxy.h
1814 This structure is required for NTLM_AUTH_IS_OK macro
1816 - Add doxygen comments for all OpenChange server modules
1817 - Fix doxygen return value for exchange_nsp
1819 - Add mapiproxy server unbind function and hook in dcesrv_mapiproxy.c
1820 - Add exchange handle enum to dcesrv_mapiproxy.h
1821 - Add authentication verifier macro to libmapiproxy.h
1822 - Add preliminary EMSABP Address Book Provider implementation:
1823 * supports initialization, destructor (talloc)
1824 * implements user and codepage check routines
1825 * retrieve NSPI server GUID
1826 - Add NspiBind and NspiUnbind support to dcesrv_exchange_nsp.c
1827 - Add internal session mechanism management to NSPI server
1828 - Add init and unbind modules function to NSPI server
1829 - Add doxygen comments to all dcesrv_exchange_nsp.c functions
1830 - Add emsabp_context, session and non-exported Samba structure to dcesrv_exchange_nsp.h
1832 OpenChange configuration schema updated with Addressing schema
1833 (Address-Templates, Address-Types and Display-Templates - Exchange 2003 based)
1835 Execute server modules init function when loaded
1838 A few API documentation fixes.
1843 Add documentation for MAPIProxy 'server mode'
1848 - Implement mapiproxy server mode architecture
1849 - Add server modules management API
1850 - Add skeletons for default OpenChange servers (nspi, emsmdb, ds_rfr)
1851 - Add temporary provision Makefile rule
1856 Initial text was correct - rollback
1861 Ensure that GetLastError() also returns the correct value.
1863 Start changing the MAPI_RETVAL_IF() usage to two new macros:
1864 OPENCHANGE_RETVAL_IF() and OPENCHANGE_RETVAL_ERR().
1866 simple_mapi.c is the only one converted at this stage.
1868 Also added a set of unit tests that verify at least some initial
1871 Remove unreachable code.
1873 Partly resolves ticket #124
1878 Remove references to ldap.h header file - not installed anymore with samba4 git rev openchange uses
1880 mapiproxy documentation update: 3 questions added to FAQ section
1882 Patch from Corentin Chary:
1883 - Add PR_CONTENT_FILTER_SCL property to libmapi
1885 - Update openchange to work with samba4 master git rev f308c2f
1886 - Replace reference to events.h with tevent.h
1887 - Update installsamba4.sh script to reflect latest samba4 compilation changes/requirements
1892 Fix mapidump date/month when freebusy period covers end of one year - beginning of next year
1893 Update openchangeclient to reflect these changes.
1898 Export PKG_CONFIG_PATH if it wasn't exported yet. Patch by Metze
1900 Fix PIC object flags for SWIG build. Patch by metze.
1905 User %u format specifier for unsigned integer.
1907 Make return value match signature.
1909 Miscellaneous minor cleanups. Mainly making return types
1910 match signatues, format conversion (%u for unsigned values) and
1911 matching up result variable types (bool instead of enum MAPISTATUS).
1913 Return an enum MAPISTATUS, instead of a bool, to match function signature.
1915 Use %u instead of %d for unsigned values.
1920 Another minor APIdox edit.
1922 API documentation tweak.
1930 More apidox triviality.
1932 Trivial APIdox edits.
1934 Supplement the user's PKG_CONFIG_PATH rather than
1938 Add bindings for GetBestBody(), GetDefaultFolder(), GetDefaultPublicFolder(), AddUserPermission(), ModifyUserPermission().
1940 Add bindings for create_message, delete_messages, get_message_status, set_read_flags.
1942 Add Python bindings for Unsubscribe(), get_task_status(), get_importance(), get_proptag_name(), get_proptag_value(), DeleteFolder(), CreateFolder(), EmptyFolder(), RemoveUserPermissions(), IsMailboxFolder().
1947 Actually use pymapi variables in Makefile.
1949 Add configure flags for building and installing Python MAPI bindings (disabled by default).
1954 Add namespace prefix to scanner.
1959 - spnego / gssapi_krb5 authentication now available for mapiprofile
1960 - add the --realm | -R option
1961 - update mapiprofile man page
1966 Remove entries for --properties and --priority, which have been removed from the openchangeclient utility.
1970 Don't generate / install man3 pages for libmapi++ or mapitest.
1972 Resolves ticket #121.
1974 Also don't install man3 pages that are just copies of the C implementation files, or just document bugs / todo items.
1977 Allow retrieving id and session of MAPI objects.
1979 Add MessageStore and Object Python classes, add bindings for OpenMsgStore, OpenUserMailbox, OpenPublicFolder.
1981 Add stubs for Session class.
1983 Add infrastructure for MAPI python module.
1985 Look for python and python-config binaries.
1987 Remove empty directory.
1991 Remove obsolete --properties option and related code
1996 Fix RecipientRow member's order
2001 - Update to latest samba4 git master revision (3508a66)
2002 - Fix references to samr info24 struct
2003 - Add support for assoc_group_id proxy
2004 - Add support in mapiproxy for bind/alter connections using assoc_group_id
2005 - Update mapiproxy documentation
2010 Improve building. Partially addresses #94.
2012 More work required on this as we work on the
2013 portability in the future.
2015 Expose the underlying session.
2020 Remove unused --priority option.
2022 These offsets / values can be negative, so we shouldn't
2023 use unsigned int type to represent them.
2028 Fix Logon problem for users running Exchange 2k7 in a clustered Exchange environment.
2030 This patch first tries to forge EssDN Logon string from "o" and "ou"
2031 attributes stored in the profile. If Logon fails with ecUnknownUser,
2032 then try to open the mailbox using the mailbox attribute stored in
2038 Document the --label option.
2043 Make openchange compile and work against latest samba4 master git rev (58db2be)
2046 Remove check for unused type 'uint_t'.
2051 More tweaks on the openchangeclient man1 page.
2053 More updates for man1 page for openchangeclient.
2054 Still doesn't fully address #113.
2056 Update the openchangeclient man1 page.
2058 Partly addresses ticket #113.
2060 There is still some work to do on this.
2062 Fix a typo, and try to make the descriptions more
2068 Initial version of man1 page for mapitest
2070 Initial man1 page for exchange2ical utility.
2075 Update man1 page for openchangepfadmin
2077 Minor updates for the man pages.
2082 Fix build errors: wrong number of arguments for ocpf_propvalue
2084 Fix warnings when compiling with -Wextra
2086 Fix warnings when compiling with -Wextra
2088 Fix warnings when compiling with -Wextra
2091 Complete initializers here.
2096 Update to reflect latest state of mapiprofile.
2101 Prevent segfault when running mapitest. Looks like the we can
2102 return MAPI_E_SUCCESS even if one of the property values is
2103 MAPI_E_NOTFOUND. That error then get turned into a char*, and
2106 Also fix a possible bug relating to operator precedence, and
2107 a couple of warnings (one for signed / unsigned comparison, and
2108 the other for an unsigned value never being less than zero).
2113 Enable output to stdout.
2115 Resolves ticket #106.
2117 Thanks to raboof for the report and fix.
2122 Fix missing initialisers (issue #110).
2124 Also fix some signed/unsigned warnings.
2126 Fix problems with incorrect initialisers (#110) and
2127 operator precedence.
2129 Also fix a couple of places with signed/unsigned confusion.
2131 Partial fix for issue #110, and a couple of very minor cleanups.
2138 We probably want to return here, not do nothing.
2143 Fix empty patch function problem: add a retval
2148 Explain the boost-thread trick.
2150 Minor documentation tweaks.
2155 - remove usage of global_loadparm in libmapiadmin
2156 - make use of session context rather than global_mapi_ctx in libmapiadmin
2157 - use local context rather than mapiadmin context in libmapiadmin
2158 - libmapiadmin now uses ldb helper rather than raw implementation (ldb async code)
2159 - libmapiadmin and openchangepfadmin now works again (user creation/deletion) !! ;-)
2160 - remove global_loadparm in torture test and replace it with torture context
2161 - fix dcerpc_init to match latest samba4 API
2162 - update samba4 version required to build openchange
2165 More API documentation tweaks.
2167 More API documentation tweaks.
2169 Some API dox fixes for libmapi++.
2172 Remove unnecessary patching of lib/events/events.h.
2177 Update to a more recent Samba4.
2180 Remove some usages of deprecated global_loadparm.
2182 Cope with new argument to dcerpc_log_packet().
2187 Fix includes for DEBUG(), fix some more warnings.
2189 Use same_net_v4 rather than deprecated same_net().
2191 Fix Samba 4 git revision.
2193 Fix includes - debug.h can only be included once.
2195 Include debug header.
2197 Cope with API changes in Samba functions.
2199 Use new function is_zero_ip_v4 rather than removed is_zero_ip.
2204 Fix OpenMsgStore binding in swig perl and fetchmail script
2209 Fix pointless const definition for GetFreeBusyYear return type
2213 - Add the IsFreeBusyConflict convenient function which checks if a
2214 given date conflicts with existing FreeBusy Busy/OOF events
2216 - Modify openchangeclient --sendappointment behavior to check whether
2217 start or end date conflicts with FreeBusy published data for the
2220 - Add the --force option to openchangeclient to override this behavior
2222 - Fix a counter bug in mapidump_freebusy_events
2224 Fix doxygen typo error
2226 - Add GetUserFreeBusyData convenient function which retrieves FreeBusy
2227 data in public folders for a given user. Note: Ambiguous name is not
2228 supported at the moment.
2230 - Add convenient FreeBusy mapidump routines
2232 - Add FreeBusy read support to openchangelient
2234 - Add PT_MV_LONG and PT_MV_BINARY support to pull_emsmdb_property and
2235 property.c functions
2237 - Add OpenUserMailbox which let developers open other mailboxes
2238 instead of the default profile one.
2240 - Add GetABRecipientInfo: convenient function which retrieves Address
2241 Book information for a given recipient
2246 - Add libmapi implementation for DeletePropertiesNoReplicate
2247 - Add mapitest test units for DeleteProps and DeletePropertiesNoReplicate
2249 Fix doxygen documentation
2254 - Implement multisession into libmapi
2255 - Update openchange tools and suite to reflect these changes
2256 - Fix SRow_addprop behavior
2258 NOTE: OpenMsgStore, ResolveNames, GetGALTable and RFR functions
2259 now take a mapi_session parameter.
2262 Use my openchange.org email address.
2267 - Add a session management API for mapiproxy modules. Similar code
2268 already existed for mpm_cache module. Common functions are now
2269 available to all mapiproxy modules through libmapiproxy
2271 - replace smbd with samba in mapiproxy documentation
2273 - Cache calendar, contact, journal, note, task and drafts folders IDs
2274 when GetDefaultFolder call is performed on one of these folders and
2275 keep them until obj_store is released.
2277 - Add a reverse lookup routine which says whether a given FID belongs
2278 to a default folder and which olFolderType it is.
2280 - Remove pointless memory context in GetDefaultFolder
2281 - Move entryID to FID code into a separated routine (GetFIDFromEntryID)
2283 Restore install rule for mapi profiles ldif files in
2284 libmapi-installscript. Fix the MAPI_E_NO_ACCESS bug when mapiprofile
2285 tries to create a new mapi profile store.
2289 - Ticket #103 resolved. openchangeclient can now perform custom folder lookup, fetch, mkdir and rmdir.
2290 - mapi_object_copy routine added to mapi_object.c
2295 Fix missing Month field in LogonTime structure
2299 propagate IDL warning fix to property.idl
2302 Add target for building python API documentation.
2306 Fix samba4 release and git revision
2308 Fix installsamba4.sh script paths
2313 Install OpenChange python modules.
2315 Check for python dir during configure.
2317 ignore generated files.
2319 Stop installing js files.
2321 Use autoconf cache prefix.
2323 Use newer version of Samba 4.
2327 Remove dcesrv_exchange.so from server Makefile rule and
2328 move mapiproxy from TOOLS to SERVER.
2330 dcesrv_exchange and providers Makefile rules are orphan, planned
2331 to be removed (with their associated code) when emsabp merge process
2332 into mapiproxy is over.
2336 Export the Binary_r structure.
2340 Use more descriptive variable names in messages example code.
2342 Add a description of messages to libmapi++ API documentation.
2344 Add messages binary to the ignore list.
2346 Add new example showing libmapi++ message handling, and
2347 associated API documentation and build system changes.
2351 Update the API documentation main page for libmapi++
2355 Add foldertree binary to the ignore list
2357 - Add missing Input parameter
2358 - Add sanity check on ppNames
2361 - Fix a bug in NspiUpdateStat: make plDelta mandatory and use it for in,out
2362 - Add a NspiGetSpecialTable test for Address Creation Template
2365 Fix valgrind-reported error, per ticket #101.
2367 Make sure we clean up after mapitest runs.
2373 - Add msExchUserAccountControl attribute to extended user record
2374 - openchange_newuser can now create/enable/disable an OpenChange account
2376 Exit the test if the WriteStream operation fails
2378 Fix ncacn_ip_tcp binding string for OpenChange server object
2380 With new NSPI IDL, using cValues - 1 is incorrect and lead to errors. Use cValues directly instead
2382 Fix pipe function check and use ndr autogenerated defines rather than static strings
2383 Fix calls to NspiDNToMId
2386 Make sure we set the body and body format properties, to
2387 ensure that the message is shown correctly with
2388 openchangeclient -F.
2393 - Rename oc_* python scripts to openchange_*
2394 - Add Full Exchange 2003 schema (classes and attributes)
2395 - Full Exchange 2003 modified classes and attributes support
2396 - Add prefixmap OID for some Exchange classes and attributes
2397 - Add missing ADSC classes and attributes
2398 - Improve configuration LDIF file with new objects
2400 NOTE: provision.py should find a way to handle firstorg properly
2401 NOTE: oc_provision_configuration.ldif is still incomplete
2404 API documentation improvements.
2408 Add an example to the libmapi++ documentation, and
2409 the right build magic and doxygen linkage.
2411 Minor API documentation fix
2415 Add forgotten part of API documentation fixes for mapitest.
2417 Improve mapitest API documentation.
2421 Use new DeleteFolder flags to clean up folders on deletion.
2423 This doesn't completely resolve ticket #84, but it does help.
2425 Ignore API documentation.
2427 Add Doxyfile to ignore list.
2429 Add initial support for Doxygen API documentation
2434 Implement the remainder of the standard public folders.
2438 Only do header line removal at the start of the file
2439 (lines 20 through 40 seems like a good compromise).
2441 libmapi++ is C++, not C, so we should not optimise
2442 Doxygen output for C.
2446 - Update the Logon_repl IDL (0xFE) and implementation
2447 - Add new folders to the mapi_obj_store for PF folders
2448 - rename pf_finder to pf_search
2451 Suppress some more unwanted headers.
2455 - Add GetStoreState (0x7b) IDL, implementation and mapitest unit
2459 - Update the EmptyFolder IDL
2461 - Update the SearchFlags enum, GetSearchCriteria and SetSearchCriteria IDL
2462 - Add mapitest units for GetSearchCriteria and SetSearchCriteria
2464 Link libmapi++ documentation to main apidocs page
2466 Update GetAttachmentTable IDL and remove the unknown field
2468 - Update DeleteFolder IDL and implementation
2469 - It now supports DeleteFolderFlags as input parameter and can return the ParticalCompletion state
2470 - Sanity checks added at the beginning of the function
2472 - Rename GetRowCount to QueryPosition
2473 - IDL, implementation, documentation and openchange code updated
2474 - ActionType enum fields prefixed with 'ActionType_'. Original
2475 values were causing conflicts while building Perl bindings with
2476 'i386-linux-thread-multi/CORE/opnames.h where OP_DELETE was already defined'
2478 Change enum SaveFlags to uint8_t for doxygen documentation to be generated properly
2480 - Update SaveChangesMessage IDL and implementation
2481 - Add a SaveFlags parameter to SaveChangesMessage function
2482 - update openchange code to reflect this change
2485 Build fix / fix for ticket #99.
2487 Filter out some new #include lines.
2489 This needs to be applied to other modules too.
2493 Update SRow and SRowSet IDL
2495 Delete obsolete input_locale and instance_key structures
2497 Fix WStringArray_r IDL
2499 - Move from MV_UNICODE_STRUCT and LPWSTR to WStringArray
2500 - LPWSTR structure removed
2502 Rename SDateTimeArray to DateTimeArray_r
2504 Rename SGuidArray to FlatUIDArray_r and fix the IDL
2506 Rename MV_LONG_STRUCT to LongArray_r
2508 Rename SBinary to Binary_r
2510 - Add removal of libmapi++ Doxyfile in make distclean rule
2511 - Add Doxyfile to svn:ignore
2513 Rename SShortArray to ShortArray_r
2515 - Move from SLPSTRArray to StringArray_r
2516 - LPSTR structure removed
2518 Rename MAPIUID to FlatUID_r
2520 Fix lexer warnings during compilation (ticket #100)
2522 - Update the EcDoConnect IDL (ref. ticket #99)
2523 - Add new fields to the emsmdb info structure
2524 - Add doxygen comments to libmapi/emsmdb.c
2527 Reduce warnings when compiling with 64-bit arch.
2529 Initial checkin of infrastructure for libmapi++ API documentation.
2533 - MAJOR NSPI protocol and libmapi stack update
2534 - All NSPI protocol functions implemented
2535 - NSPI stack fully documented
2536 - NspiGetHierarchyInfo renamed to NspiGetSpecialTable
2537 - NspiDNToEph renamed to NspiDNToMId
2538 - instance_key removed from nspi_context and set as a parameter to NSPI functions
2539 - SPropertyRestriction renamed to PropertyRestriction_r
2540 - FlagList structure removed and replaced by a SPropTagArray
2541 - MAPI_SETTINGS removed and replaced by a STAT structure
2542 - new MAPI property tags added to libmapi/conf/mapi-properties
2543 - NSPI module added to mapitest
2546 Clean up on failure.
2548 Clean up on failure.
2550 Minor improvements to ensure cleanup on failure.
2552 API documentation fix
2554 API documentation fix.
2556 API documentation fix.
2558 API documentation fix.
2560 API documentation fixes.
2564 API documentation fixes.
2568 Fix EMSMDB 0xb function name
2570 - update EcRRegisterPushNotification IDL
2572 - implement complete MAPI notifications
2573 - update libmapi to reflect these changes
2574 - make openchangeclient prints a brief summary for each notification found
2575 - update ulEventMask used in openchangeclient
2579 - Rename Advise MAPI call to RegisterNotification
2580 - Update RegisterNotification IDL and implementation
2584 - Fix Restrict IDL and implementation
2585 - Add a new parameter to the Restrict function
2588 Add mapi_nameid.h to the ignore list
2590 - Replace libmapi/mapi_nameid.h with a generated mparse file
2591 - Add a mapi_nameid.h parser to mparse.pl
2592 - Add canonical names for named properties
2593 - GetProps and SetProps resolves named properties if they exist
2594 - named properties can now be set directly and make mapi_nameid API be
2596 - replace named property tags hex value with their canonimal names
2597 - replace several use of the mapi_nameid API with smaller code
2599 - Add new IDL file (property.idl) to push/pull structures from binary
2600 blobs and not directly related to any MAPI calls. Include the
2601 generated property.h file into libmapi.h
2603 - Add PT_MV_STRING8 support in pull_emsmdb_property (GetProps reply
2604 parsing) and mapidump_SPropValue
2606 - Add functions to property.c to retrieve RecurrencePattern,
2607 TimeZoneStruct and GlobalObjectId structures (see property.idl).
2609 - add a preliminary version of exchange2ical tool. This version only
2610 dumps calendar folder appointments into ICS file on standard output.
2614 - Update mapi-nameid-properties with a more complete set of properties
2615 - Add a header to mapi-nameid-properties for sanity purposes
2616 - Move named properties with PT_STRING8 type to PT_UNICODE
2617 - update openchange code to reflect these changes
2618 - Add PSETID_Attachment to mapidefs.h
2622 Add missing check on password for the create command
2624 Fix incorrect usage of realm in mapiproxy
2628 Check for provider_rpc_connection retval for RFR functions.
2630 Update Doxyfile to parse mapiproxy/modules files and
2631 include documentation on static functions.
2633 - Add NSPI hook on NspiQueryRows and NspiDNToEph and replace the
2634 Exchange server name with mapiproxy one.
2635 - documentation updated to reflect these changes
2636 - new FAQ question added
2637 - developer documentation improved
2639 Add the RFR mapiproxy file.
2641 - Implement RfrGetNewDSA DN replacement in mapiproxy
2642 - use lp_realm rather than sockaddr in NspiGetProps (FQDN rather than IP address)
2643 - update mapiproxy documentation to reflect these changes
2647 - Add implementation of the NSPI Referral protocol (exchangeRFR)
2648 - update dcesrv_exchange and mapiproxy prototypes for RFR
2649 - add references to the RFR pipe in mapiproxy
2650 - prefix NSPI client connections with a RfrGetNewDSA call
2651 - add RFR functions implementation in libmapi/IMSProvider.c
2652 - add a --getfqdn option to mapiprofile
2653 - fix a minor mapiprofile option parsing bug
2657 Fix mapiproxy dummy module unbind prototype
2659 - Remove flags in EcDoRpc top function, fix compilation vs latest samba4-git version
2660 - EcDoRpc indent updated
2664 Get rid of initialization order warning
2668 - add unbind hook for mapiproxy
2669 - add ahead mapiproxy mode
2670 - add read ahead in cache module
2671 - add synchronization mechanism in cache module
2672 - update mapiproxy documentation to reflect these changes
2676 Temporarily comment out installation of files removed
2681 Fix arguments, paths in provision scripts.
2683 Merge python provision/newuser scripts.
2685 Simplify installation of manpages a bit.
2689 Add configure check for libboost-thread. Add libmapi++ to the build
2690 only if it is available.
2694 - session constructor doesn't login to the server anymore, it calls MAPIInitialize().
2695 - Created session::login() members.
2696 - test applications use default profile.
2700 - Import Alan Alvarez work from libmapi++ into trunk
2701 - Add a g++ check in configure.ac: don't call libmapi++ rules if g++
2703 - Add libmapi++ to the build system
2704 - Add a patch function to installsamba4.sh: rename private to
2705 private_data in samba4 events.h header file
2706 - Change #include directives so it uses <libmapi++ ... rather than
2711 - Add a statitic function monitoring streams over OpenStream and Last
2712 ReadStream operations. Monitoring stream Release is not relevant
2713 since Outlook does not close the handle directly after last
2714 ReadStream operation. Should put in evidence difference between
2715 non-cached(1st retrieval) and cached (further retrieval).
2717 - Fix a few memory leaks
2721 - Commit initial revision for the mapiproxy cache module
2722 - Update mapiproxy hook API for the dispatch routine
2723 - Introduce the mapiproxy structure for modules to control top-level
2725 - Update mapiproxy documentation to reflect these changes
2729 * Fix remaining ByteRead parameter size for ReadStream operations.
2733 * Improve/Update Open/Read/WriteStream IDLs
2734 * Fix ByteRead parameter size for ReadStream operation.
2738 Improve OpenAttach, CreateAttach and DeleteAttach IDL - remove unknown
2741 Propagate r666 changes to OpenMsgStore and fix build
2744 Minor rename of bitmap value to avoid conflict with
2745 Private as a class name.
2749 Minor change: remove old debugging string from mapitest
2751 Fix incorrect header
2753 Remove deprecated mapi_handles API
2756 Initial checkin of some uno (static checker) support
2759 There will be a script to run uno with the right options,
2760 but that requires more work.
2764 Fix OXOMSG-ABORT-SUBMIT return value and return success when expected
2765 error values (MAPI_E_UNABLE_TO_ABORT, ecNoDelSubmitMsg) are encountered.
2767 - Call mapi_object_release in GetDefaultFolder
2768 - Remove pointless references to mapi_object_t
2771 Fix little memory leak.
2775 Fix invalid OpenFolder calls in mapitest modules
2777 Remove references to SaveChanges in doxygen see also statement
2779 - Rename SaveChanges to SaveChangesAttachment (0x25)
2780 - Update SaveChangesAttachment IDL
2781 - Update references to SaveChanges
2783 - Fix the huge memory leak described in Ticket #91
2784 - Rewrite the mapitest NameID test to use the mapi_nameid convenient
2789 - Add mapi_get_errstr auto-generated routine which returns the MAPI
2791 - Add print routine for MAPI retval in mapitest
2792 - Add a color mode (--color) which prints either green or red MAPISTATUS
2793 - Update mapitest modules to use these new routines
2796 Minor API documentation fix.
2802 - Add GetOwningServers (0x42) implementation (IDL + libmapi + mapitest)
2804 - Report and make consistent usage of PropertyProblem in the IDL:
2805 SetProps, DeleteProps and CopyProperties
2807 - Remove unknown field in GetProps and GetPropsAll and replace them
2808 with the correct IDL mapping.
2810 - Add IDL for SetPropertiesNoReplicate (0x79) MAPI call
2812 - Minor typo fix in IMAPIProp.c
2814 Improve CreateMessage request IDL
2816 Improve OpenMessage response IDL
2818 - Add PublicFolderIsGhosted (0x45) MAPI call (IDL + libmapi + mapitest)
2820 - Improve OpenFolder, CreateFolder and OpenPublicFolderByName response
2821 IDL: make these call able to check whether the folder is ghosted or
2824 Revert emsmdb pipe version to the hacked one. Makes mapiproxy work with samba4-alpha5 release.
2826 SeekRow and SeekRowBookmark IDL improved
2828 Improve the SetColumns IDL: remove unknown fields
2832 Minor code convention fix
2834 Check NTSTATUS return value from dcerpc_ndr_request. Prevent mapiproxy
2835 from segfault when invalid dcerpc response is received.
2837 Expose MAPISTATUS error in OXCTABLE-CATEGORY::FreeBookmark.
2838 Requires investigation
2841 Implement GetIdFromLongTermId and GetLongTermIdFromId
2842 functions (ROP:0x43 and 0x44), and associated mapitest.
2844 Documentation typo fix.
2846 Change the QueryNamesFromIDs() call to match
2847 MSDN, including changing the name to QueryNamedProperties().
2849 Also implement mapitest for QueryNamedProperties(),
2850 GetNamesFromIDs() and GetIDsFromNames().
2852 Update torture test to match.
2856 - Build system update: use samba4-alpha5 release with wget method
2857 - introduce 'make samba' and 'make samba-git'
2861 Make sure we have names[] array large enough.
2863 Problem identified using default uno run.
2869 Fix a small errno bug in GetBestBody
2870 Add dump-data and debug options to exchange2mbox
2874 - Move emsmdb interface version back to 0.81 (patch applied in samba4 trunk)
2875 - remove sed hack, modifications applied in samba4 trunk
2876 - update required samba4 git rev required
2883 Minor documentation update: remove deprecated reference to ./bin/smbpython
2885 Fix torture suite entry point name
2886 Fix torture module installation path
2888 - Add implementation for the BestBody algorithm
2889 - Add MAPI_E_NOT_ENOUGH_MEMORY error code
2890 - Remove trailing }}\0 from lzfu code
2891 - Update openchange tools to use GetBestBody rather than
2892 the initial check on PR_MSG_EDITOR_FORMAT
2894 Add a very basic stat module for mapitest: gives a quick overview
2895 of tests which failed at the end of the report.
2897 - Defines a global stream size in mapitest.h
2898 - Decrease stream size from 0x4000 to 0x3000
2899 Sounds like Exchange 2003 SP2 doesn't support 0x4000, return MAPI_E_CALL_FAILED
2904 Fix OC_CHECK_SAMBA_VERSION string
2906 - Move samba4_ver.sh from top dir to script
2907 - update parts of openchange relying on samba4_ver.sh
2909 Add configure check for lib Z
2912 - Temporary fix ldb.pc problem and patch ldb.pc.in
2913 - Update samba4 version to the latest revision
2914 - Add libmapiproxy to svn:ignore proplist
2917 Try a different git revision, just for now.
2921 - Update Samba4 version needed
2922 - Change entry point function from init_module to samba_init_module
2923 - update documentation
2927 Fix calls of ldb_init() as required by newer versions of Samba.
2931 Support newer versions of Samba4.
2935 Add some other standard GUIDs
2943 Use version and soversion in mapiproxy library.
2945 Make modules directory overridable.
2949 Change API as identified on devel mailing list.
2952 After some investigation into an error reported by valgrind, I'm proposing an
2953 API change for the MoveCopyMessages() function.
2955 The signature is currently
2956 enum MAPISTATUS MoveCopyMessages(mapi_object_t *obj_src, mapi_object_t
2957 *obj_dst, mapi_id_t *message_id, bool WantCopy)
2959 The problem is the message_id array. The subtle part is that it needs to be
2960 terminated with a null mapi_id_t*, because of this:
2961 for (request.count = 0; message_id[request.count]; request.count++);
2963 That is a bit error prone - enough so to be wrong in the mapitest.
2965 Now we could just fix the mapitest and document the requirements, or we could
2966 change the signature.
2968 Two ideas for a different signature:
2969 1. We could add a uint16_t count to the signature, that says how long the
2971 2. We could use a better data structure than mapi_id_t*. I'm suggesting
2973 enum MAPISTATUS MoveCopyMessages(mapi_object_t *obj_src,
2974 mapi_object_t *obj_dst,
2975 mapi_id_array_t *message_id,
2980 Add mapitest coverage for CopyTo operations on
2981 folders and attachments, and update API docs.
2983 Also fix one place where we inadvertently used
2984 CopyProps instead of CopyTo...
2988 Typo fixes in comments.
2990 Minor documentation updates.
2992 Clean up created message for SpoolerLockMessage() test.
2996 Update samba4 version test.
3000 Make sure properties are copies into the last valid
3001 location in the extended array (i.e. count-1) not the
3004 Also, make sure we cast the data to a uint8_t for
3005 conversion to boolean.
3007 Also fix compile warning about returning integer instead
3010 We may read up to 0x1000 bytes, so ensure there is
3011 enough room to add the terminating null.
3013 Minor cleanup of the talloc context for FreeBookmark().
3015 Also change around some code to protect things a bit
3016 better against null pointer inputs.
3020 Implement a bit more mapitest for CopyTo (0x39), in
3023 Also make it clean up and report failures properly.
3027 Implement the CopyTo operation (0x39), including initial mapitest.
3028 JK previously committed the IDL for this.
3030 Also make CopyProps (0x67) use an appropriate data structure for
3031 its IDL and update implementation to match.
3035 Minor documentation updates/corrections.
3039 Introduce a default case for MAPI Restriction. In some circumstances -
3040 while Outlook creates an OOF Rules - it sets a PT_SRESTRICT mapi
3041 property tag which value is set to 0xFF. However 0xFF doesn't match
3042 any restriction case.
3046 - Add IDL for OpenEmbeddedMessage (0x46) MAPI call
3048 - Add IDL for ReloadCachedInformation (0x10) MAPI call
3050 - Add IDL for CopyTo (0x39) MAPI call
3052 - Update the Samba4 GIT revision needed to run openchange properly
3054 - import mapiproxy project from mapiproxy branch
3055 - add custom proxypack MAPI call
3056 - remove deprecated dcesrv_exchange_remote
3059 Add missing part of mapitest for SetReadFlags
3061 This should have been part of r578.
3063 mapitest for SetReadFlags
3065 Implement SetReadFlags (operation 0x66).
3067 Also minor API docs fix.
3069 Move some test infrastructure from the oxctable.c module
3070 into the common area.
3072 Fix IDL error for SetReadFlags, and use existing flags
3073 define (MSGFLAGS_READ) instead of creating a new set.
3075 Build fix for relocation of mapiproxy/ to be under the
3076 top level directory (instead of under the utils/
3081 merge from mapiproxy branch:
3082 * ndr_push Logon_req manually
3084 merge from mapiproxy branch:
3085 * Add IDL and server boiler template for EcDoConnectEx (0xA)
3088 * Fix ndr_push_mapi_response code in ndr_mapi.c
3090 * Add the ndr_push_EcDoRpc_MAPI_REPL function in
3091 ndr_mapi.c. Handles special Notify and Pending cases
3093 * Handle op_MAPI_Pending case properly in
3094 ndr_pull_EcDoRpc_MAPI_REPL
3096 * Add code to ndr_push QueryRows in ndr_mapi.c: Do not push any
3097 DATA_BLOB if there is no RowCount
3099 merge from mapiproxy branch:
3100 * Fix GetReceiveFolder [out] IDL
3101 * Fix some naming convention typo
3103 merge from mapiproxy branch:
3104 * Fix SetMessagReadFlag [out] IDL
3106 - Add [flag(NDR_REMAINING)] to SetMessageReadFlag. This is not
3107 perfect, but it will prevent mapiproxy from ndr_pull error while
3108 setting message read flag on public folders messages.
3110 merge from mapiproxy branch:
3111 * Fix CreateMessage [out] IDL
3113 merge from mapiproxy branch:
3114 * rename OpenModeFlags to OpenFolder_OpenModeFlags in OpenFolder
3115 * rewrite OpenMessage [in] IDL and report changes in
3116 libmapi/IStoreFolder.c
3118 merge from mapiproxy branch:
3119 * Add IDL for Pending (0x6e) MAPI call
3120 * Reorder some MAPI calls in EcDoRpc_MAPI_REPL_UNION
3122 - Add SetReadFlags to EcDoRpc_MAPI_{REQ,REPL}_UNION
3124 merge from mapiproxy branch:
3125 * Add IDL for SetSyncNotificationGuid (0x88) MAPI call
3127 merge from mapiproxy branch:
3128 * Add IDL for SyncGetTransferState (0x82) MAPI call
3130 merge from mapiproxy branch:
3131 * Add IDL for SyncImportReadStateChanges (0x80) MAPI call
3133 Note: This IDL is temporary and should be improved after completion of
3134 the merging process.
3136 merge from mapiproxy branch:
3137 * Add IDL for SyncOpenCollector (0x7e) MAPI call
3139 merge from mapiproxy branch:
3140 * Add IDL for DeletePropertiesNoReplicate (0x7a) MAPI call
3142 merge from mapiproxy branch:
3143 * Add IDL for SyncImportMessageMove (0x78) MAPI call
3145 merge from mapiproxy branch:
3146 * Add IDL for SyncUploadStateStreamBegin (0x75) MAPI call
3147 * Add IDL for SyncUploadStateStreamContinue (0x76) MAPI call
3148 * Add IDL for SyncUploadStateStreamEnd (0x77) MAPI call
3150 merge from mapiproxy branch:
3151 * Add IDL for SyncImportDeletes (0x74) MAPI call
3153 merge from mapiproxy branch:
3154 * Add IDL for SyncImportHierarchyChange (0x73) MAPI call
3156 merge from mapiproxy branch:
3157 * Add IDL for SyncImportMessageChange (0x72) MAPI call
3159 merge from mapiproxy branch:
3160 * Add IDL for SyncConfigure (0x70) MAPI call
3162 merge from mapiproxy branch:
3163 * Add IDL for RegisterOptions (0x6f) MAPI call
3165 Note: This call is undocumented in Microsoft documentation, but MSDN
3166 RegisterOptions function generates this call on the wire.
3168 merge from mapiproxy branch:
3169 * Add IDL for Progress (0x50) MAPI call
3171 merge from mapiproxy branch:
3172 * Add IDL for FastTransferSourceGetBuffer (0x4a) MAPI call
3174 merge from mapiproxy branch:
3175 * Add IDL for GetPerUserLongTermIds (0x60) MAPI call
3176 * Add IDL for GetPerUserGuid (0x61) MAPI call
3177 * Add IDL for ReadPerUserInformation (0x63) MAPI call
3179 merge from mapiproxy branch:
3180 * Add IDL for LongTermIdFromId (0x43) MAPI call
3181 * Add IDL for IdFromLongTermId (0x44) MAPI call
3183 merge from mapiproxy branch:
3184 * Add IDL for ModifyRules (0x41) MAPI call
3186 merge from mapiproxy branch:
3187 * Add PT_SRESTRICT support in mapi_SPropValue_CTR
3189 * Add PT_ACTIONS and RuleAction support in mapi_SPropValue_CTR
3191 * Fix mapi_SNotRestriction NDR push routine - add a wrapper to
3192 work around the no-pointer deep recursion pb and remove
3193 existing nopull,nopush,noprint code from ndr_mapi.c
3195 * Fix mapi_SComment_Restriction IDL
3198 - Introduce PT_MV_UNICODE support in mapi_SPropValue_CTR (IDL only)
3199 - use mapi_LPWSTR for PT_MV_UNICODE
3200 - rename mapi_LPWSTR structure to mapi_name in Kind structure and
3201 change its field names.
3203 - Fix emsmdb version
3204 - Change MAPI opnum enum identation -- Helps to fine down merging from
3210 Minor API documentation fixes.
3212 Update label to reflect SetReadFlags -> SetMessageReadFlag
3215 This should have been part of r529 - missed it.
3219 merging from mapiproxy branch:
3220 - Fix MV_UNICODE_STRUCT and unicode strings
3221 - Keep LPWSTR for exchange_nsp and move from LPWSTR to
3222 mapi_LPWSTR for exchange_emsmdb
3223 - Add the NspiGetTemplateInfo IDL
3224 - Fix the NspiUpdateStat IDL
3226 Fix build: SetMessageReadFlag function name was not propagated in the
3230 Initial merge of changes for rename of SetReadFlags to
3231 SetMessageReadFlags (op 0x11) and IDL for SetReadFlags
3234 Use private_data instead of private, for C++ happiness.
3236 Minor cleanup. Using "try" confuses my c++ compiler...
3238 This is really part of r525. It moved to IMAPITable.c
3240 Update the table operations:
3241 - implement ExpandRow and CollapseRow
3242 - implement GetCollapseState and SetCollapseState
3243 - add mapitest coverage for the above, plus the Restrict call
3244 - implement ResetTable
3245 - implement FreeBookmark
3246 - add mapitest coverage for SRowSet parsing code
3248 - various API documentation bits
3251 Use right directory for samba4_ver.sh script.
3253 Use common location for Samba 4 git revision.
3257 Use PT_ERROR where appropriate.
3259 Update the SRowSet parser, fixing breakage I introduced.
3263 Update examples to reflect recent API changes.
3266 Don't rely on absolute file paths since the distribution may be installing
3269 make scripts executable.
3273 Avoid segfaulting if you ask for a specific test or tests and
3274 forgot to start the server.
3277 [bradh@conferta trunk]$ ./bin/mapitest --mapi-calls=OXCTABLE-CATEGORY --mapi-calls=OXCTABLE-RESTRICT --mapi-calls=NOSERVER-LZFU
3278 Failed to connect host 192.168.11.77 on port 135 - NT_STATUS_HOST_UNREACHABLE
3279 Failed to connect host 192.168.11.77 (192.168.11.77) on port 135 - NT_STATUS_HOST_UNREACHABLE.
3280 MapiLogonEx : MAPI_E_RESERVED (0xFFFFFFFF)
3281 #############################[mapitest report]#################################
3282 [*] Date : Sun May 25 11:45:29 2008
3283 [*] Confidential mode : [no]
3284 [*] Samba Information : 4.0.0alpha4-GIT-44d8b70
3285 [*] OpenChange Information : 0.8-SVN-build-510 (Romulus)
3287 [*] System Information :
3289 Kernel release : 2.6.23.17-88.fc7
3291 ###############################################################################
3295 [TEST] NOSERVER-LZFU
3296 ------------------------------------------------------------------------
3297 * uncompress_rtf2 : 0x00000000
3298 * uncompress_rtf2 : PASSED
3299 ------------------------------------------------------------------------
3300 [RESULT] NOSERVER-LZFU: [SUCCESS]
3301 ========================================================================
3303 [*] OXCTABLE-RESTRICT
3304 Server is offline, skipping test: "OXCTABLE-RESTRICT"
3305 [*] OXCTABLE-CATEGORY
3306 Server is offline, skipping test: "OXCTABLE-CATEGORY"
3310 ignores objects that contain invalid handlers in mapi_object_release().
3312 Patch by Alan Alvarez. Compile tested, passes mapitest on SBS2003.
3316 Fix API documentation to match signature.
3320 Update QueryRows IDL and implementation to match
3323 The main work here is reworking the SRowSet parsing
3328 Typo fix - allow cleanup to work properly.
3332 Make sure it has a return value.
3336 Rename GetColumns remote operation to GetColumnsAll, and
3337 fix up IDL and implementation to match.
3339 Add some more unit test coverage, and pretty-up the
3342 Fix up breakage introduced in r493.
3345 Make sure nagios directory gets created if it didn't exist yet.
3349 Refactor the unit tests.
3351 Extract out the setup and some of the cleanup code.
3355 - Update openchange code to work with Samba4 4.0.0alpha4-GIT-44d8b70
3356 - Use event_context structure
3357 - update installsamba4.sh script to revert to this revision.
3358 - update torture modulesdir reference
3361 Look a little bit harder for the Samba installation.
3365 - Add GetLocalReplicaIds MAPI call (IDL + implementation + mapitest)
3366 - Add OXCFXICS mapitest module
3370 - Fix "the very secret" openchange coding style
3371 - Add Copyright for our humble new libmapi developer ;-)
3374 Implement the CopyProperties operation, including
3375 a mapitest for this.
3379 - Add TransportSend MAPI call (IDL + implementation + mapitest). This
3380 code maybe needs some review regarding memory.
3382 - Add the GetTransportFolder MAPI call (IDL + implementation +
3385 - Add SpoolerLockMessage MAPI call (IDL + implementation + mapitest)
3387 - Add SetSpooler MAPI call (IDL + implementation + mapitest)
3389 - Add GetRulesTable (IDL + implementation + mapitest)
3390 - Add the OXORULE mapitest suite
3396 Make sure config.mk is the last file removed during distclean.
3400 - Add the Abort MAPI call (IDL + implementation)
3402 OpenChange doesn't support yet asynchronous operation which explains
3403 why no associated mapitest test has been implemented. This should be
3406 - Add the MoveFolder MAPI call (IDL + implementation + mapitest)
3407 - Fix some typo in mapitest doxygen
3409 - Add MoveFolder MAPI call (IDL + implementation + mapitest)
3410 - Fix some doxygen stuff
3411 - add a common function within mapitest which looks for a folder name
3412 within a container and return the opened folder object on success.
3414 Add auto-generated Doxyfile to the svn ignore list
3416 - Add AbortSubmit MAPI call (IDL + implementation + mapitest)
3418 - Uninitialize MAPI and general memory context at the end of mapitest
3421 Clean up / flush the stream after use.
3423 Saves a bit more "still reachable" in valgrind too.
3427 - Rename CopyMessages to MoveCopyMessages
3428 - Improve IDL + implementation and mapitest added
3431 Make sure the version shown for mapitest documentation
3432 is automatically set to match the package version.
3434 complete the rest of the API documentation autonumbering.
3437 Remove duplicate use of $(SHLIBEXT).
3439 Avoid parallel builds for now.
3443 Fix GetContentsTable binding in perl swig
3445 - Improve the GetHierarchyTable and GetContentsTable IDL and public
3446 IDL implementation (new parameters in,out)
3449 Initial part of automatic list numbering for doxygen comments.
3451 This doesn't work correctly with the current apidocs.css, which
3452 turns the list numbers into bullet points for reasons I don't
3457 - Improve the DeleteMessages IDL request
3459 - Update libmapi version from 0.7 to 0.8
3461 - Public API change for the GetReceiveFolder function; now takes a
3462 message class as 3rd parameter.
3464 - Improve GetSearchCriteria request IDL (unknown removed)
3465 - update libmapi copyright headers 2007 -> 2007-2008.
3467 - Improve the SubmitMessage IDL
3468 - minor indentation fixed in IMessage.c
3470 - Add CopyToStream MAPI call (IDL + implementation + mapitest)
3472 - Add SeekStream MAPI call (IDL + implementation + mapitest)
3473 - Add SetStreamSize MAPI call (IDL + implementation + mapitest)
3475 - Add CommitStream MAPI call (IDL + implementation + mapitest)
3476 - Add GetStreamSize MAPI call (IDL + implementation + mapitest)
3477 - refactor the stream test to include all stream related operations
3478 - add a common function which generates a random ASCII blob of data
3481 Add doxygen support for the mapitest examples.
3484 Allow cleaning individual parts.
3488 - Add GetStatus call (IDL + implementation + mapitest)
3490 - Fix format string problem in mapitest headers
3492 Run offline suites by default.
3494 - Introduce the online/offline mode for suite
3495 - Fix Exchange headers print bug when server is offline
3496 - reset errno to 0 before running new test
3499 Install the libmapiadmin.h header.
3501 Fix a compile-time warning on amd64, for the second
3502 argument to the getline() call - incompatible pointer
3505 I'm assuming that size_t is equivalent to uint32_t
3506 on a 32-bit architecture, but not on a 64-bit arch.
3508 A quick test showed no difference in actual output.
3511 Remove bashisms in installsamba4.sh
3515 - Add ReadRecipients MAPI call (IDL + implementation + mapitest)
3516 - Improve some ModifyRecipients and Recipients structure naming
3520 - Add RemoveAllRecipients call (IDL + implementation + mapitest)
3522 - Add OpenPublicFolderByName call added (IDL and implementation).
3524 - Note: the reply IDL doesn't handle Server and ServerCount yet.
3526 - Note: this call only refers to NNTP folders (e.g: folders located
3527 within "Internet Newsgroups". If developers use this call within "All
3528 Public Folders", then the call with return MAPI_E_NOT_FOUND.
3530 - Call not added to mapitest cause it require RightsAuthor permissions
3531 on Internet Newsgroups which is not the case by default.
3533 - dump-data and debug options added to mapitest
3534 - FOLDER suite renamed to OXCFOLD (naming convention)
3536 Rename module folder to oxcfold
3538 Replace the existing mapitest tool with a new implementation. It is
3539 less complete but more modular.
3542 Add proto headers to ignore file.
3546 OpenFolder request: replace unknown field with OpenModeFlags
3548 - Rename 0xFE opnum from OpenMsgStore to Logon
3549 - Update the Logon request IDL
3552 Add BEGIN_DECLS for private_proto.h.
3554 Add forgotten part of rev435.
3556 Add unit test framework for compressed RTF decoding.
3558 Refactor lzfu.c to improve testability.
3562 Fix openchangeclient --mailbox --pf with wasn't launched anymore due
3563 to some incorrect sanity check tests.
3565 - Remove deprecated fuzzer_msgstore torture test
3566 - replace mapi_flags with logon_id in EcDoRpc_MAPI_REQ
3570 A couple of minor fixes to make it read better.
3573 properly clean up sofiles
3575 Import exchange nagios check script by Bill Edmunds.
3577 Add support for creating libocpf soname symlink.
3579 Use standard include for uint64_t definition.
3581 Cleanup talloc and tdb before building samba4.
3585 Check for ocpf_set_Recipients retval (MAPI_E_NOT_FOUND)
3587 - Reset ocpf to NULL after release so the ocpf_init/release couple can be called more than once.
3588 - Sanity check on recipient, avoid parsing if no recipient is set. Return MAPI_E_NOT_FOUND instead.
3590 Add reference to the ocpf lib within the pc file.
3594 Remove duplicate SWIG instructions (already covered by stdint.i).
3596 Ignore files created by swig.
3598 Use config.mk in swig/perl/Makefile.
3600 Allow sambaprefix and prefix to be different. Allow building with unknown
3601 Samba git revisions (will still warn though).
3603 Add --with-samba argument to configure so samba and openchange can be installed in different directories.
3607 Add domain to the mapiprofile dump output.
3609 Fix OpenMessage IDL and GetRecipientTable fetched data
3611 -This line, and those below, will be ignored--
3614 M trunk/exchange.idl
3615 M trunk/libmapi/IStoreFolder.c
3616 M trunk/libmapi/emsmdb.c
3617 M trunk/libmapi/IMessage.c
3621 Fix typo, change samba-config -> samba-hostconfig.
3625 - Add openchangepfadmin to make install
3626 - Add openchangemapidump and locale_codepage to make clean
3630 Merge the samba4-latest branch.
3634 Revert so version number to 0.7
3636 Fix Perl bindings: update mapidump_message
3638 ** Start libmapi-0.8 ROMULUS development **
3640 Add ChangeLog and apidocs to the releases
3642 - Delete unmaintained regression suite
3643 - Fix typo error in torture-clean rule
3645 Add modified release script originally from abartlett/samba4
3647 - Check for specific Samba4 git revision in configure.ac
3648 - Prefix locale functions with lcid and make them _PUBLIC_
3651 API documentation update.
3658 Add installation script for samba4
3660 - Apply the nspi pointer patch - make openchange works with
3661 samba4-alpha3 git 41309dc
3666 Move the top level API documentation to an "overview"
3667 section and add a redirect to that overview.
3669 This keeps the doxygen output more nicely separated for
3672 Also, generate the man pages where the install expects
3677 - Fix strsep bug in openchangeclient
3678 - Add RECIPIENT support to libocpf
3680 - escape/unescape strings support added
3681 - PT_MV_STRING8 type added to OCPF write API
3685 - return MAPI_E_NOT_FOUND if NspiGetMatches doesn't return any results
3686 (based upon patch from lofi@mountproc.org)
3687 - makes the workstation parameter of mapiprofile optional (use
3688 gethostname if not defined by the user on command line)
3690 - Fix an allocation memory problem in cast_SPropValue
3691 - update svn:ignore proplist
3695 Update the documentation build so it keeps generating an embedded
3696 website in with apidocs/html as root directory.
3698 - Add support for PT_UNICODE and PT_SHORT to libocpf
3699 - Initial implementation of the libocpf write API
3700 - Update libocpf documentation
3701 - add --ocpf-dump option in openchangeclient
3702 - Fix realdistclean rules for server
3703 - add cast_SPropValue function to libmapi/property.c which cast
3704 mapi_SPropValue to SPropValue
3707 Split API documentation into two separate sections - one
3708 for libmapi and one for libocpf.
3710 Also add in a top level intro page.
3714 New build system which gathers a list of things that can be built with
3715 the libraries/utilities the user has installed and build that when
3720 Add missing allocation for OLEGUID
3722 --ocpf-syntax doesn't require MAPI to be initialized. Furthermore
3723 makes ocpf-syntax "exclusive" (quit after performing the operation).
3726 r371 was bad. What was I thinking with that nonsense!
3728 Revert to something sane.
3730 Make the ./bin/ directory if it doesn't exist.
3732 This should resolve ticket #33.
3736 Improve language handling when creating profiles.
3738 You can now get a list of valid languages and use either
3739 the language code ID or the language name to specify what
3740 language later versions of Exchange should reply with.
3742 Typo fix - duplicate ; at the end of the structure.
3744 Match format to unsigned int argument.
3746 Make the format specifier match the unsigned argument.
3750 propset svn:ignore update
3752 Update propset svn:ignore on doc/examples and libocpf targets
3754 - Fix ticket #29: http://trac.openchange.org/ticket/29
3756 - use access(2) to see if the database already exists
3757 - test if the profile already exists prior trying to add it
3758 - add descriptive error messages
3759 - catch CTRL-C signal and run a profile deletion routine
3762 Update API documentation for ocpf_nproperty_add().
3768 Fix mapidump_message call parameters
3772 Add fid/mid parameters to mapidump_message and changed
3773 openchangeclient_fetchitems to reflect these changes.
3775 Patch from Brad Hards <bradh@frogmouth.net>:
3776 updates the OCPF doxygen file.
3778 Patch from Brad Hards <bradh@frogmouth.net>:
3779 adds the doc/examples into the build system and enables make examples.
3781 Patch From Brad Hards, <bradh@frogmouth.net>:
3782 API documentation update and minor fix for the error value change.
3790 - Add PT_BINARY property support to OCP
3791 - Add stream support to OCPF for large PT_BINARY blobs.
3792 - Fix a bug which prevented from having no/empty PROPERTY or NPROPERTY
3797 - Prevent from assigning a value which type doesn't match with
3799 - Add missing substitution variable support for some named properties
3801 - Improve sample_appointment.ocpf example
3802 - Add PT_MV_STRING8 keyword to the list of supported property type
3807 Improve OCPF PT_MV_STRING8 support.
3809 - Initial revision for libocpf and its documentation
3810 - YACC support added to the build system
3811 - custom lid and string support in mapi_nameid
3812 - lookup functions added for OOM, lid and string
3813 - OCPF commands added to openchangeclient (ocpf-file, ocpf-syntax,
3815 - PR_FID displayed in openchangeclient --mailbox
3816 - PT_MV_STRING8 support added to cast_mapi_SPropValue
3820 Patch from Brad Hards <bradh@frogmouth.net>:
3821 updates code to build with current API
3823 Patch from Brad Hards <bradh@frogmouth.net>:
3824 little update for some API dox
3828 - Add --update option to openchangeclient and allow users to modify
3829 existing messages (calendar, task, contact, note)
3830 - Add --delete option to openchangeclient and allow users to delete
3831 existing messages (calendar, task, contact, note)
3832 - Add some folder/message unique ID to mapidump outputs and send*
3833 openchangeclient functions.
3834 - Fix a bug in set_SPropValue: add sanity check on unicode
3835 string. Thanks to Suman Manjunath for this patch.
3836 - Fix mapidump_task function and identifiers of named properties used.
3840 Fix missing sanity check on priority
3842 Fix a bug in openchangeclient when tasks are created without body
3844 private flag added to openchangeclient appointments
3846 Fix folder IDs problem for Exchange 2007 SP1
3850 Fix names IDL against Samba4 4.0.0alpha3-GIT-41309dc
3854 - Fix a bug in IStoreFolder.c:OpenMessage which was also affecting
3855 GetRecipientTable. We were extending SPropTagArray prior calling
3856 emsmdb_get_SRow. This was causing ndr_pull_error in OpenMessage_repl
3857 and erroneous data to be inserted in the SRow.
3859 - Fix libmapi/socket/interface.c:
3860 - Use the latest version from Samba4 which removes reference to
3862 - Moves struct interface declaration to netif.h
3863 - Report changes to emsmdb.c notification functions.
3865 - Change GetGALTable prototype to match general libmapi policy. Remove
3866 the usage of bool and replace it with uint8_t. Possible values added
3871 - Improve NspiQueryRows IDL and implementation
3872 - Add GetGALTable implementation: fetch all the Global Address List
3874 - Add --userlist option to openchangeclient
3875 - Add a convenient and basic dumping function for Global Address List
3878 - Improve OpenMessage reply IDL
3879 - Fetch mapi recipients from OpenMessage reply
3880 - Add GetRecipientTable convenient function
3881 - Add OPENCHANGE-MAPI-RECIPIENT torture test to test
3882 GetRecipientTable implementation.
3883 - Add convenient SPropTagArray_add function
3884 - Add internal emsmdb_get_SRow routine
3888 Patch from Suman Manjunath <msuman@novell.com>:
3890 - Adds named-properties which define recurrence patterns for
3891 appointment and task.
3892 - Adds named properties for appointment timezone
3894 - Fix the SNotRestriction IDL and write custom push,pull,print
3896 - Add 2 new MAPI calls to the IDL:
3897 * GetSearchCriteria,
3899 - add sample {Get,Set}SearchCriteria torture test
3900 - add convenient mapi_id_array implementation
3901 - add GetDefaultFolder support for CommonView and Finder folders
3905 Make sure directory exists.
3909 - Fix tiny 'nail down samba4 version' bug
3910 - update the minimal Samba4 required version
3912 - Add FindRow call to the IDL
3913 - Improve mapi_Restriction support
3914 - Remove deprecated ndr_print_QueryRows function
3915 - Add a print function for fuzzyLevel
3916 - Add preliminary FindRow implementation test to MAPI-RESTRICTIONS
3918 - Add couple of new MAPI tags to mapi-properties
3919 - change initial bookmark index to 3
3923 - Add 2 new MAPI calls to the IDL and mapitest:
3925 * GetReceiveFolderTable
3927 - Fix a bug in the SortTable test when no messages are returned by
3930 - Add SeekRowApprox to the IDL and mapitest
3931 - Fix some doxygen typo
3933 - New calls added to the IDL, torture suite and mapitest:
3936 - Internal mapi_object_bookmark_t implementation added to
3938 - SBinary_short default ndr_print function changed to custom
3942 Temporary fixes unexpected segfault in SortTable test. Emails sent
3943 during the Submit test have sometimes not yet been dispatched when the
3944 SortTable test begins. This fix adds a sleep(1) and an arbitrary
3945 number of attempts (5).
3947 Add 2 new MAPI calls to the IDL and libmapi:
3951 Tests for SortTable added to mapitest and the torture suite
3952 Test for AddressTypes added to mapitest.
3956 Fix perl bindings and fetchmail test
3958 2 new MAPI call added to the IDL and mapitest:
3964 - Add DeleteAttach MAPI call
3965 - Add new mapi unit tests:
3969 * GetAttachmentTable
3971 - Update mapitest README
3972 - Add some convenient functions to mapitest_common.c
3976 Add a preliminary draft of the mapitest standalone MAPI test suite.
3982 - Fix the build with the latest Samba4 version.
3984 - Add a basic libmapi/version.h auto-generated
3985 file (based on Samba4 one)
3986 - Remove some warnings when compiling the utf8
3988 - Add a emsmdb_info structure to fetch some
3989 information from the Exchange server
3991 WARNING: Please note that EMSABP is definitely broken and
3992 requires a review and update.
3995 DESTDIR should never get into any source files, that would defeat its purpose.
3999 Fix the torture suite.
4003 provide extra required argument.
4005 Store a loadparm context in the global mapi context.
4007 Deal with samba version.h's that don't contain the Subversion revision.
4011 Use SWIG-provided typemaps for stdint.
4015 Fix Content-Type field in exchange2mbox
4016 Reported by Yuriy Filatov <yuriy.filatov@gmail.com>
4020 - Improve the CreateMessage IDL
4021 - Add new parameters to IMAPIFolder CreateMessage libmapi function
4022 - Add --mkdir --rmdir options to openchangeclient
4023 - Update the CreateFolder API and openchangeclient documentation
4024 - Fix CreateFolder calls in openchange tools and torture suite
4025 - Fix gendb_search warning
4029 Add new PSETID_Address named properties
4031 Fix a few code convention typos
4033 Patch from Suman Manjunath <msuman@novell.com> applied:
4034 converts a 'struct timeval' to 'NTTIME'.
4035 minor extension of 'set_SPropValue_proptag', used while setting PT_SYSTIME properties.
4039 update Samba4 first revision to 26100
4042 Cope with ndr updates.
4046 Patch from Brad Hards: Fix possible Heap overflow in lzfu code
4050 Fix profile creation in a clustered Exchange 2007 environment.
4054 Fix QueryColumns req size.
4058 ** Start libmapi-0.7 PHASER development **
4060 add --dump-data option to mapiprofile for debugging purpose
4064 openchangepfadmin (1) man page added
4066 Store messageID in the object when SaveChangesMessage is called
4068 Nail down Samba4 version for libmapi-0.6
4072 - Add PR_MSG_EDITOR_FORMAT property to the sendmail operation
4073 - Fix body dump bug when PR_MSG_EDITOR_FORMAT property is missing (default set to PLAINTEXT)
4074 - Continue to process the mailbox when a problem is encountered with mesage contents (not attachment)
4075 - Fix a typo bug in openchangeclient body help string
4077 Update doxygen section
4081 - Add doxygen man (3) pages to installman and uninstallman rules
4082 - do not run doxygen if apidocs already exists
4086 Move documentation to doxygen
4090 Add convenient date related functions for implementors:
4091 returns a timeval struct matching a PT_SYSTIME property
4092 for improved date manipulation in 3rd party softwares
4096 Fix build to work with latest Samba4 revision (4.0.0alpha2-SVN-build-25722)
4098 Fix make realdistclean when swig perl is enabled
4100 Fix swig perl bindins compilation: move *.o to *.po
4102 use talloc_memdup to copy const data in the body DATA_BLOB
4103 Should only provide valid pointer to talloc_free
4107 Fix the DeleteMessages [out] IDL.
4109 The remaining bytes were not part of DeleteMessages but
4110 MAPI notification (0x2a)
4114 - Add RTF support in exchange2mbox
4115 - Use openchange-tools public functions
4116 - Replace GetPropsAll calls with GetProps
4119 * Use GetProps rather than GetPropsAll for message dump
4120 * Rely on PR_MSG_EDITOR_FORMAT to select the type of body
4121 * Open a stream for PR_BODY and PR_HTML if the size exceeds max property size
4123 -This line, and those below, will be ignored--
4126 A trunk/utils/openchange-tools.c
4127 M trunk/utils/openchangeclient.c
4128 M trunk/utils/openchange-tools.h
4129 M trunk/utils/openchangeclient.h
4130 M trunk/libmapi/mapidefs.h
4138 Remove useless svn:ignore
4141 Add WrapCompressedRTFStream function for PR_RTF_COMPRESSED content.
4143 Original lzfu decompress routine fetched from libpst-0.5.2
4145 make enum MAPISTATUS variables naming uniform in libmapi
4149 Add PT_CLSID case to get_SPropValue_data
4151 Add/Fix pull property support for PT_UNICODE and PT_CLSID (used by GetProps)
4153 Patch from Brad Hards <bradh@frogmouth.net>:
4154 Fix compilation for x86_64 platforms.
4158 More svn:ignore updates
4160 Update of svn:ignore
4164 added the IDL license
4166 Convert OpenChange to GPLv3
4168 - Add .po files to make clean
4169 - Fix a couple of warnings in the utf8 conversion lexer
4170 - Prefer long filenames to truncated one for attachments in openchangeclient
4174 Prevent exchange2mbox from segfault when PR_MESSAGE_DELIVERY_DATE is unset
4176 Add PT_CLSID and PT_MV_CLSID support to the IDL
4178 - Add new named properties
4179 - Convenient function for MNID_STRING props lookup added
4182 Make .po a recognized suffix.
4186 Use -fPIC for library objects.
4190 - Rename GetAllNamesFromIDs to QueryNamesFromIDs (better naming)
4191 - fix SPropValue_CTR boolean to uint8_t in the IDL and emsmdb.c
4193 - add mapi_nameid convenient interface and headers
4194 - mapi-named-properties populated, parser added to mparse.pl, file
4195 added to the build system
4197 - remove any incorrect reference to named properties in openchange
4200 - remove deprecated libmapi/mapi.h file
4201 - remove unused ulFlag parameter from IProfAdmin functions
4202 - remove unused memory context from libmapi/x500.c
4204 - support sendnote operation in openchangeclient
4205 - optimize check/list oc_element functions in openchangeclient
4207 - update swig interface
4211 - New MAPI calls: Named properties support
4214 * GetAllNamesFromIDs
4216 - Modified MAPI calls:
4219 These calls now have more granularity in libmapi with flags support
4221 - sample mapi-named-properties file introduced in libmapi/conf
4223 - Torture test suite:
4224 * suite temporary fixed (import torture_rpc_* functions from
4226 * torture_namedprops test added
4228 - SWIG Perl bindings fixed according to changes described above
4229 - minor improvements in libmapi/mapidump.c
4233 - Decrease MAX_READ_SIZE to 0x1000
4234 - Clean-up Read/WritreStream related code
4235 - add dump-data option to openchangepfadmin (debugging purpose)
4240 - remove reference to core/nterr.h
4241 - add global_loadparm reference where missing
4242 - add reference to core/error.h where needed
4245 Improve output during build.
4249 Pass loadparm contexts, should fix the build with newer Samba revisions.
4253 - WriteStream API changed: now returns the number of bytes written
4254 - WriteStream man page updated
4255 - 16 bytes extra-data bug fixed when sending attachments in openchangeclient
4256 - Set open mode to 0600 when attachments are stored on the filesystem
4261 Fix preliminary Perl bindings so it works with Samba4 alpha2
4262 and latest libmapi revision.
4264 Patch from Andrew Gaylard <ag@computer.org>:
4266 - When calling openchangeclient with the --dump-data switch, it will
4267 dump core, since the global_mapi_ctx pointer isn't initialised yet.
4268 The fix is to wait until it's set before accessing it.
4270 Patch from Andrew Gaylard <ag@computer.org>:
4271 - Leaving any blank lines before .TH directives appears to cause a blank page
4272 to be output when converting man pages to DVI files (which is a step to converting
4273 them to PDF). The following patch remove the blank line above the .TH in each man page file.
4275 - mapiprofile doesn't understand the -A switch, as mentioned in it's man page.
4280 - Add objectClass to the object: container, message or attachment
4281 - Rename content to message in openchangebackup functions
4282 - add objectClass parameter to ocb_record_init
4286 - Move debug options to their correct location (after MAPIInitialize)
4287 - Improve code related to LDB transactions
4288 - Add convenient error checking macros
4292 - Add preliminary openchangemapidump draft
4293 - Fix lp_parm_* 1st parameter in the torture suite
4294 - New functions in property.c for MAPI data retrieval
4298 Use configure definition for mandir.
4302 Activate debugs this time
4304 Replaced remaining gotos with MAPI_RETVAL_IF so errno is set correctly
4306 MAPI_RETVAL_IF missing ";" could cause surprises ;-)
4308 Add error check for samr call.
4309 set errno with MAPI_RETVAL_IF.
4313 Make required packaged more clear (LinuxMagazin input)
4317 Remove invalid comment.
4321 - Clean-up function prototypes
4322 - Dump email when NEWMAIL notification is received
4326 Proper dependencies.
4328 Don't regenerate proto headers unless necessary.
4332 Use install for installing files/directories.
4334 Actually use replacement variable for libmagic.
4338 Remove forgotten BOOL
4340 Remove mapi_session pointer in mapi_objects
4341 Add public function to IProfAdmin: retrieve default ldif path location outside the OC tree
4345 Prevent users from creation of *undeletable* folders in Outlook and
4346 perform sanity check on dirclass + display possible values.
4348 Provides a way to modify Default and Anonymous permissions for a given folder.
4350 Fix errno in getdir function + add sanity check on opt_rmdir
4352 - Fix a memory related bug in mapiadmin_add_user
4353 - Add latest howto.txt modifications from Dan
4355 - Fix bug in *UserPermission function: return when user is not found
4356 - Add sanity checks to mapi_object API functions
4357 - mapi_object_release reset errno to 0: need to release object
4358 after displaying the potential error message.
4360 Fix a mapidump_appointment bug
4361 Add PF folder support to fetch-items operation
4365 openchangeclient now support send/read/delete operation on custom PF directories.
4367 - Add libmapiadmin library draft: Add/Remove Exchange user
4368 - openchangepfadmin tool added: Public Folders management
4369 - Add Sanity check to CreateFolder
4374 Fix last references to BOOL, True and False.
4376 Fix more references to BOOL, False and True.
4378 Use standard type and values for booleans since Samba no longer exports
4379 BOOL, True and False.
4383 - Add OpenPublicFolder function to libmapi, Open Public Folder store
4384 - change torture suite API to match latest Samba4 pidl changes
4385 - utf8_convert regexp improved
4386 - minor changes: printf to DEBUG
4387 - howto.txt patch from Dan included
4388 - Samba4 torture code related to user account creation included in the
4393 Fix segmentation fault when running update prior populating the database.
4397 Remove obsolete file from the torture suite
4399 - Add Exchange Administration test to the torture suite: Create Exchange user
4401 Dan update on howto.txt
4405 - Add Exchange ACLs support to MAPI library
4406 - Add 2 new MAPI opnum: GetTable and ModifyTable
4407 - Improve mapidump functions
4411 - Improve aclocal check in autogen.sh
4412 - Fix flex binary detection in configure.ac
4420 Create libmapi.so symlink
4424 Fix mandir installation path
4425 Add ldconfig intructions to openchange installation documentation
4431 RES_AND and RES_OR preliminary implementation.
4435 - doc patch from Brad Hards
4436 - rename PROFILE_NOPASSWORD to OC_PROFILE_NOPASSWORD
4437 - fix a warning in property.c
4441 Add some 'const' (fixes compile warnings).
4443 Use sonames (required for the Debian packages).
4445 Add .bzrignore file.
4447 Update version number and use globally defined version number in libmapi.pc.
4451 - Add IDL implementation for restrictions Content, Property,
4452 CompareProps, Bitmask, Size, Exist.
4453 - Add Restrict MAPI call handling the restrictions above
4454 - OPENCHANGE-MAPI-RESTRICTIONS torture test added to the suite.
4455 - convenient sendmail function added to mapi_common.c
4456 - get property size function for mapi_SPropValue added to property.c
4458 test --This line, and those below, will be ignored--
4462 M torture/openchange.c
4463 A torture/mapi_restrictions.c
4464 M torture/mapi_common.c
4465 M libmapi/property.c
4466 M libmapi/IMAPITable.c
4470 Documentation update: Perl bindings installation
4474 - Add mapitags and mapicode support to Perl SWIG bindings
4475 - SPropTagArray support
4476 - SRowSet preliminary support
4477 - new constructor/destructor for mapi objects
4481 - IProfAdmin patch applied: having password outside of the profile
4483 - Perl bindings draft added to the trunk and to the build system:
4484 --enable-swig-perl=yes
4486 - datarootdir fixed in libmapi.pc.in
4490 - Add CopyMessages IDL and COPYMAIL torture implementation
4491 - Fix man page install dir according to latest Samba4 changes
4492 - Add datarootdir var to libmapi.pc.in and fix configure warning
4496 convenient function which retrieve a value from a SPropValue array
4497 given its property tag name, otherwise NULL
4501 Patch from Brad Hards <bradh@frogmouth.net>:
4502 openchangeclient man page updated
4504 - Add Windows UTF8 to classic UTF8 conversion through a lexer
4505 - openchangeclient --mailbox option changed to use it
4506 - flex and bison support added to configure.ac
4507 - windows_to_utf8 function added: wrapper over yyparse_utf8 routine
4511 - features added to openchangeclient:
4512 * --send-appointment
4516 - openchangeclient man page updated
4517 - new properties added to mapi-properties
4519 - Add man pages for simple_mapi.c functions:
4521 * GetFolderItemsCount
4523 - Remove deprecated functions from IMsgStore.c
4524 - Update man pages documentation
4526 Fix install rule in Makefile: add missing headers
4527 Move callback retval from uint32_t to int
4529 Fix notification callback retval
4531 - Advise opnum added to the IDL
4532 - Parts of the Notify response IDL implementation
4533 - Add Notification support to libmapi
4534 - Add --notifications option to openchangeclient
4538 Patch from Brad Hards <bradh@frogmouth.net>:
4539 - PR_BUSINESS_FAX_NUMBER
4540 - improves the information provided on a contact by
4545 - Fix the release call in,out
4546 - Call Release from mapi_release_object
4547 - Add sanity check to OpenMsgStore
4548 - clean up parts of the mapi_newmail test
4550 EcDoDisconnect code now sounds to work properly
4551 Tested against Exchange 2000 / Exchange 2003
4553 - Fix SpropValue property pull problem when GetProps layout is set
4554 - Add a dumpdata boolean to mapi_ctx_t so tools can dump hex data
4555 - Add PR_CONTAINER_CLASS fetch to openchangeclient --mailbox
4556 - Add debuglevel and dumpdata options support to openchangeclient
4560 - Remove useless memory allocation in mapidump.c
4561 - Improve mapidump_appointment
4562 - Add sample mapidump_note
4563 - Add --fetchitems option to openchangeclient:
4564 This command offers an easy way to fetch calendar, contacts,
4565 tasks, notes and mails from the Exchange server.
4566 - Add IPF container class defines to mapidefs.h
4567 - Add and Fix property tags
4571 - Commit the EcDoRpc max_data patch proposed on the devel list
4572 - Clean up folders related functions from the torture suite
4573 (GetDefaultFolder makes this code obsolete)
4577 Add the --mailbox option to openchangeclient which recursively
4578 lists the full mailbox folder hierarchy
4580 - Add PT_SYSTTIME support to get_SPropValue_data
4581 - Add mapidump_SPropValue_date dumping function
4582 - Add PT_SYSTIME support to mapidump_SPropValue
4584 - Add multi-valued SBinary_short support to mapi_SPropValue_CTR in the
4587 - Add GetDefaultFolder implementation to simple_mapi.c. This function
4588 provides a convenient way to retrieve default folders ID. const
4589 olFolder values are stored in libmapi/mapidefs.h
4591 - Modify the torture test suite to reflect these changes.
4593 - OpenMsgStore now decodes all the fid returned in the response
4595 - fix a bug size in libmapi/property.c
4599 - Fix SMTP recipient in libmapi
4600 - Add SMTP recipient support to openchangeclient
4601 and the torture test suite
4602 - Fix a bug in SRow_addprop
4606 - OpenMessage IDL changed: we have a permission field.
4607 It is now set by default to 0x3 (read/write) until we
4608 change OpenMessage prototype.
4610 - Add a sanity check to MAPIInitialize when no profdb
4615 Remove remaining MAPISTATUS and replace them with enum MAPISTATUS
4617 - SetReadFlags IDL and implementation added to libmapi
4618 - Warning fixed in emsabp.h
4620 Fix a bug in openchangeclient when attachments are using
4621 PR_ATTACH_LONG_FILENAME rather than PR_ATTACH_FILENAME to store
4622 attachment filename.
4624 Patch supplied by Brad Hards <bradh@frogmouth.net> which renames
4625 private structure member to private_data for C++ compatibility.
4627 Add libmapi/simple_mapi.c designed to hold convenient
4628 functions for application development.
4630 - GetFolderItemsCount added which returns the number of
4631 total and unread messages for a given folder.
4635 - Fix a body openchangeclient bug which now prevent openchangeclient
4636 from segfault when no body is specified.
4637 - Add GetDefaultProfile call to exchange2mbox for the default
4639 - Improve fuzzer_msgtore output
4643 Add a fuzzer torture test on OpenMsgStore which
4644 test all the possible max_data value.
4646 Should help to understand if libmapi fails because
4651 exchange2mbox improved:
4652 - tdb dependency removed
4653 - message-id are now stored in the profile database
4654 - it now mirrors deletion operation from the mbox file back to the
4656 - man page updated to reflect these changes
4658 - GetProfileAttr function prototype modified. It now returns the
4659 results count for the given attribute and store values in a string
4661 - GetProfileAttr man page updated to reflect these changes
4662 - Fix mapiprofile attribute search command
4663 - migrate from open/write calls to stream ones in exchange2mbox
4666 newmail torture + notifications implementation
4672 Fix the SambaXP live demo segfault: When an ambiguous recipient is
4673 specified, it now skips the name properly and maintain a correct
4676 - Fix a bug when storing attachments into mbox
4677 - Add default path support to exchange2mbox
4681 - Update libmapi version according to the roadmap
4682 - Fix nspi_resolvenames to use default profile database and profile
4686 - Add default profile database and profile support in the torture suite.
4687 - Fix a bug in mapidump_task
4691 - Change MAPILogonEx to MAPILogonProvider and avoid potential
4692 emsmdb endpoint related problem
4693 - add sanity check on global session pointer
4697 Merged MAILOOK-branch changes r64:163 into the trunk.
4701 Remove ChangeLog, use svn log instead ;p
4705 - libmapi includes moved from libmapi/include to libmapi
4706 - Remove arguments from prototype definitions generation in mkproto.pl
4707 - __BEGIN_DECLS __END_DECLS support in header files
4708 - united libmapi/libmapi.h header file
4709 - openchange.h header removed
4710 - PIDL generated files moved to gen_ndr
4711 - compilation rule for libmapi header installation added
4712 - useless torture tests removed
4718 Replace OpenProperty and ReadAttach calls with OpenStream and ReadStream call
4719 Add GetAttachmentTable call
4725 Remove -Werror CFLAGS until I figure out how to fix
4726 our problem definitively.
4728 Remove static from dcesrv_exchange.c functions definition
4733 . reimplement GetProps
4734 . retrieve attachment size
4735 . modify fetchmail and fetchattach torture
4740 . add GetPropList to exchange.idl
4741 . add GetPropList implementation to IMAPIProp.c
4744 - Add fetchattach torture; Attachment size is not yet
4745 defined and 42 is used.
4746 - add 3 new EcDoRpc opnums:
4755 Forgot to add IMAPISession.c
4761 Remove spurious warnings at compile time and
4762 add -Werror -Wstrict-prototypes to CC.
4766 Dispatch libmapi functions into filenames matching
4767 the MAPI interface they belong to.
4771 Fix the attach issue by value and add torture test to
4772 the openchange torture suite.
4777 attachment torture test implementation
4783 Add a null element at the end of MAPI_REQ array
4784 so we can exit from the loop in ndr_print_mapi_request
4788 - Add the DeleteMessages IDL
4789 - New torture tests added:
4790 * OPENCHANGE-MAPI-SENDMAIL
4791 * OPENCHANGE-MAPI-DELETEMAIL
4793 These are experimental implementation
4798 subject option for delete message torture test
4802 added (recipients == null) check
4804 added default subject
4809 Add NspiResolveNames and the associated torture test.
4815 Fix nspi decoding problem due to the usage of
4816 a hyper instead of a dlong.
4820 - Add a preliminary NspiUpdateStat IDL
4821 - Fix the new server code convention naming
4822 (function prefixed with dcesrv_)
4823 - Fix a security bug in emsabp provider code
4827 Fix the allocation memory for the EcDoRpc_{MAPI_REQ,MAPI_REPL} pointer.
4831 Add SetProps [out] support.
4833 Temporary allocation pb fixed in ndr_pull_mapi_response.
4834 Final fix in next commit.
4840 Fix the SetProps [in] IDL
4842 New mapi call support added:
4843 - ModifyRecipients [in,out]
4844 - SubmitMessage [in,out]
4848 Add IDL support for the following mapi calls:
4853 The SetProps IDL is still experimental and the
4854 content blob should be decoded more than the current
4861 Fix the align problem in QueryRows reply blob
4862 Add some printing output and clean useless DEBUG.
4868 Fix the OpenMessage IDL and add ndr_print support
4869 to the MAPI-FETCHMAIL torture test so we can
4874 Commit of the first experimental but working implementation
4875 of the MAPI-FETCHMAIL torture test able to retrieve mails
4876 from an Exchange Server.
4880 - Add a preview implementation of cached data system for multi MAPI calls requests
4881 - Add SetColumns and QueryRows calls to mapi.c + mapi_fetchmail torture test
4882 - Enhance some MAPI calls IDL
4883 - Fix some pull/print functions according to error_code and row_count values
4889 Manual handling of EcDoRpc_MAPI_REPL pull and print function.
4890 When a mapi call returns an error_code different from MAPI_E_SUCCESS,
4891 we have to stop processing the function IDL since no parameters follow.
4895 add MAPISTATUS to EcDoRpc_MAPI_REPL
4896 add mapi library code for:
4902 add mapi calls described above to MAPI-FETCHMAIL torture test
4906 add mapi_response to emsmdb_transaction so we can get the results
4907 check the mapi call error core in OpenMsgStore
4911 Add MAPISTATUS field in each mapi calls
4912 Add new MAPICODE (MAPI_E_CALL_FAILED)
4916 Fix the mapi_request push function
4917 Add a first approach to the MAPI client side library
4918 Add a first approach of the MAPI-FETCHMAIL torture test
4919 Fix the smb.conf.example with new fields and remove Samba4 unused ones
4925 Initial mapidump commit
4926 OpenMessage IDL fixed
4932 Unused and dummy code removed
4936 - Remove the MAPI decoding TDR layer and associated functions
4937 - Add MAPI decoding in exchange.idl at NDR layer
4938 - mapi_request / mapi_response pull/print ok
4939 - implement subcontext for async response decoding in
4941 - new MAPITAGS added related to Message envelope properties
4942 - clean up the code and remove unused files
4944 - Add new MAPI opnums and associated IDL:
4945 * [in] Release (opnum=0x1)
4946 * [in,out] OpenFolder (opnum=0x2)
4947 * [in,out] OpenMessage (opnum=0x3)
4948 * [in,out] GetContentsTable (opnum=0x5)
4949 * [in,out] GetProps (opnum=0x7)
4950 * [in,out] Secolumns (opnum=0x12)
4951 * [in,out] QueryRows (opnum=0x15)
4952 * [in,out] GetReceiveFolder (opnum=0x27)
4953 * [in,out] OpenMsgStore (opnum=0xFE)
4959 For IDL with unknown fields followed the IDL may
4960 change and the mapping of these unknown bytes incorrect.
4961 It's just based on assumptions and results of the different
4966 - The mapi_request / mapi_response pull function
4967 - emsmdb torture tests and libmapi/emsmdb.c
4969 All this code is currently broken and will be fixed
4970 when we start writing the new emsmdb torture suite
4978 Fix ndr_pull_MAPI_DATA function
4982 - Add new mapi opnums
4983 - Add a first IDL implementation for OpenMsgStore out
4987 - Enhance the handles id support in MAPI_DATA
4988 - Remove unused code
4990 EMSMDB encoding/decoding is currently broken.
4991 It will be fixed when we start the client side
4992 mapi library implementation.
4998 - Change IMAPISession.idl to mapi.idl
4999 - enhance mapi content payload decoding (multiple calls supported)
5000 - add sub EcDoRpc opnums and IDL for setcolumns (in)
5007 - new function on emsabp provider for entry id generation
5013 Old mapitables code deleted and merge of the samdb
5014 code used in openchange (emsabp_result_guid function).
5016 The following revision compiles and work fine with
5017 Samba4 revision 20341
5024 Instance keys management changed (we now use struct instance_key and uint32_t instead of an array of 4 uint8_t)
5030 - Fix compilation warnings based on patches provided
5031 by Stefan Huehner <stefan@huehner.org>
5032 - Fix the DSO issue for x64 platforms
5033 - Add the evolution plugin in the compilation process
5034 - remove the mapidump code (obsolete and replaced with ndrdump usage)
5040 evolution plugin moved into client/evolution for
5041 a correct and extensible naming convention.
5043 EcDoRpc IDL modified:
5044 - opnum are now 8 bits
5046 - EcDoRpc ndrdump output enhanced
5048 IMAPISession IDL modified:
5049 - Change OpenMsgStore function name to MAPI_RPC_LOGON
5050 for the 0xFE opnum operation.
5052 Fix warnings in the code.
5058 Openchange-Evolution plugin commit
5059 I reorganized openchange evolution plugin source tree.
5060 Now we have one directory for the camel-openchange provider, and one for the openchange eplugin.
5061 Everything can be found in the oc-evolution directory.
5062 This is code a minimalist implementation of the camel provider for evolution.
5063 It will make appears an openchange server type in the server list handled by evolution.
5064 Still have to fix the ./configure to create a Makefile though.
5068 Fix the memory allocation problems in the emsmdb torture test
5072 Removed ascstr and directly add it to the IDL
5074 Fix the NspiQueryRows response where strings
5075 containing the user email address have to be
5078 The EMSABP provider is working ;-)
5082 The emsabp provider is now able to return multiple users
5083 when searching for part of a username.
5089 Fix the networkAddress binding strings for the
5090 Exchange object in the configuration db. The
5091 SERVER variable based on exchange:server had
5092 been added while we needed the NETBIOSNAME one
5094 Fix a segmentation fault in emsabp.c due to an
5095 unchecked pointer res->msgs. This was causing
5096 smbd to segfault when the supplied legacyExchangeDN
5097 sent by the user wasn't present in the database.
5103 Remove unused files and directory.
5104 Update Makefile.in and remove storedb compilation
5113 - provisioning (for the legacyExchangeDN of the server entry)
5117 Fix the build and remove dynconfig samba lib
5123 Unused ldif files removed + Schemas definitions updated
5127 Provisionning fixed (old ldif files cleaned)
5133 add tags rules to the Makefile
5137 add the \\pipe\\protected_storage named pipe
5138 to exchange_nsp bindings
5144 Add a dcerpc_server module in charge of the
5145 exchange interfaces registration. When this module
5146 is loaded prior the remote endpoint, it let us proxify
5147 the exchange_nsp and exchange_emsmdb ones.
5149 Change the exchange_nsp ncacn_np binding string to
5150 reflect how Exchange server is currently using it.
5152 Conform the IDL with latest pidl requirements and
5153 move the MAPI_DATA structure from exchange_nsp to
5160 Create the $prefix/modules/{dcerpc_server,torture}
5163 This fix openchange make install rule.
5167 This commit conforms openchange with the Samba4
5168 trunk and fix the autotools checks.
5170 I've modified the openchange torture file to
5171 match the current smbtorture API and the
5172 OPENCHANGE-NSPI-PROFILE test was successful.
5174 The NSPI ndrdump suite has fully been tested and
5181 This commit fix the build system:
5182 - add the -ldynconfig dependency to LDFLAGS
5183 - add header checks in configure.ac. We need them
5184 for the moment cause Samba4 doesn't install some headers
5185 required by openchange core
5186 - fix the make install
5188 - remove autotools generated files and definitively
5189 ignore them with the .svnignore file
5191 - keepref keyword removed from exchange_nsp interface
5196 + aclocal.m4 removed from repository
5197 + provisionning fixed