4 Implement RopHardDeleteMessages (0x91).
6 Includes IDL, implementation and mapitest.
9 Ignore generated property file.
14 Add PT_ACTIONS to list of data types.
16 Not fully/correctly handled yet.
21 - Add dcerpc_mapiproxy:delegated_auth option
22 This option delays mapiproxy-remote server authentication when
23 the client sends the first request on a given pipe. This is
24 mandatory in order to have delegated credentials to work.
26 - Factor remote connection into mapiproxy_op_connect
31 Add session state to the notification.
32 Patch by Paolo Abeni - thanks for the investigation and fix.
34 Also remove a stray debug message.
36 Add a new mapitest suite for OXCNOTIF (Core Notifications).
38 Add a test to the OXCNOTIF suite based on test case provided by Paolo Abeni.
43 Update IDL for ModifyRules (0x41) and add IDL for
44 UpdateDeferredActionMessages (0x57).
46 This is a checkpoint commit, pending further investigation
47 into how we handle PtypRestriction and PtypRuleAction.
52 Mapitest cleanups - remove GetLastError(), and other minor edits.
54 Implement LockRegionStream and UnlockRegionStream ROPs.
56 These appear to be a relatively recent addition to the
57 documentation, possibly only used in Exchange 2007 / Outlook
60 This is complete except for testing of whether the locking
66 Use parent folder full replica ID: 2 bytes instead of 1 byte
68 - Add Implementation for Logon redirect response buffer in OpenChange IDL
69 - Update libmapiserver size calculation routine for Logon call to handle this case
74 Add session and logon_id to the list of parameters to copy between objects.
75 This patch fixes a problem in openchangeclient when using the --folder parameter.
78 Remove code relating to free'ing the bookmark returned
79 by SetCollapseState. Initial investigations with MS
80 lead me to believe that you can't free that resource.
82 May be more work in this area as investigation continues.
87 Fix memory leaks for functions relying on pull_emsmdb_property
92 Fix emsabp valgrind errors
97 Make it possible to specify a version number for release different
98 from major/minor from configure.ac
103 Make it possible to open and control up to 255 mailboxes within a
106 It implements an internal management of a logon_id array at session
107 level + enable transparent transport/copy of current logon_id value
108 among MAPI calls + finally transparently free the logon_id value when
109 the store object (PF or mailbox) is being released.
111 - Retrieve recipients from OpenEmbeddedMessage reply
112 - Test the implementation in mapitest
113 - Avoid potential memory leak: steal context for returned ulPropTags.
118 Be more tolerant with Logon request flags
120 Set retval to MAPI_E_INVALID_BOOKMARK rather than returning.
121 This case still needs to be fixed though.
125 Create a default GetProps reply on error
130 Fix retval problem in libmapi/nspi.c for GetIDsFromNames.
131 Function returns MAPI_E_SUCCESS, but errno is set to 0x0000000b.
132 Set errno to retval to work around this problem.
137 OXCPRPT-NAME-ID mapitest now passes: The QueryNamedProperties ecMemory retval
138 has been worked-around by setting QueryFlags to NoStrings to limite the results
139 scope. This means the MNID_STRING case is not fully checked anymore. We should maybe
140 add additional tests to do full coverage.
142 Fix GetNamesFromIDs IDL and implementation.
144 Note: We should probably update the function prototype
145 so it takes a mapi_SPropTagArray rather than a single property.
148 Protect against bad results from GetGALTable().
155 Patch from Paolo Abeni: Add sanity check to Subscribe
156 and prevent applications from crashing if notify context
162 Ensure NSPI server functions have a valid dcesrv_handle
164 Add quick/additional configuration information on how to setup openchange server
166 This commit adds a retval check on private data retrieval function and prevents QueryPosition from causing a
167 segfault when parent object is meant to come from GetContentsTable.
169 - Fix NspiGetMatches server reply when specified username is invalid and
171 - Make use of talloc hierarchy for NspiGetProps properties fetch + fix
172 a talloc_free bug leading to segfault on failure.
174 Prevent from registering same mapistore backend multiple times
182 Add skeleton for GetRulesTable
184 - return MAPI_E_SUCCESS when QueryRows reply count is 0
185 - Move Reminders from IPM Subtree to Mailbox root
187 - Add QueryPosition implementation
188 - Move from offset to numerator/denominator couple for table objects
190 Outlook now opens properly using openchange server and display the
191 mailbox folder list with icons ;-)
193 - Add skeletons for Restrict, SortTable, FindRow calls
194 - Introduce emsmdb provider table object
195 - Add preliminary table implementation for system/special folders
196 - Add preliminary implementation of GetHierarchyTable, SetColumns and QueryRows
197 - Improve creation of GetProps reply blob for Mailbox folder
198 - Fix bug in EcRRegisterPushNotification when associated handle is invalid
199 - Remove some usage of ldb_filter and use format string instead
200 - Update libmapiserver sanity checks and look for error_code != MAPI_E_SUCCESS
201 so openchange server is able to return failed replies to MAPI clients
202 - Introduce flaggedPropertyRows in libmapiserver_push_property (needed by QueryRows)
204 This commit makes openchange server work with "openchangeclient --mailbox" ;-)
206 Still preliminary but anyway worthwhile enough to be mentioned ...
208 - Add a function to count subfolders of a container
209 - Add a function to wrap MAPI tables over openchangedb
210 - Factorize code used to fetch property values from LDB records
212 - Add default properties to folder records while provisioning mailbox
213 - Add few more mapping for PR_* to PidTag
214 - Add a new MAPI property to the list
216 Avoid openchangeclient --mailbox to segfault when run vs openchange server
219 Remove some ldb_filters, and just use varargs into ldb_search
221 warning fix for 64-bit arch.
223 Revert previous commit.
225 Experimental commit to fix build problems resulting
226 from property changes.
231 - Add PidTagDisplayName property to Mailbox object
232 - Add PidTagParentFolderId to all system/special folders
234 - handles array depends if a valid mapi_repl exists. This commit
235 fixes the destructor semantics.
236 - Fix a mapitest segfault encountered while run vs openchange server
237 - Return 1 in SRowSet_propcpy if an error was encountered.
239 Fix libmapi stack segfault when MAPI calls returns
240 with error_code different from MAPI_E_SUCCESS.
242 Do not process NSPI request if we can't find the handle
244 Remove unnecessary ldb_filter parameter and replace it
245 with ldb_search format string.
250 - GetPropertyIdsFromNames skeleton added
252 - Fix how Release replies are handled in mapi_repl[] array
253 - Remove Release size calculation
254 - Fix QueryRows size in libmapiserver
255 - Add a dummy/skeleton GetPropertiesSpecific function for mapistore objects.
256 - GetHierarchyTable skeleton added
257 - SetProperties skeleton added
258 - CreateMessage skeleton added
259 - SaveChangesMessage skeleton added
265 Set mapi_response to NULL upon init ... just to get sure
267 Fix MAPIUninitialize segfault
275 - Add skeleton for GetContentsTable Rop
276 - Add skeleton for some [MS-OXCTABL] Rops: SetColumns, SortTable, QueryRows, SeekRows
277 - Add libmapiserver size calculation functions for all the above
278 - Ensure we only set objects parameter if it exists
279 - Return when dcesrv handle is not available
281 Merge s4-alpha7 branch back into trunk
286 - Add several PidTag to openchange.ldb folders
287 - Add provisioning convenient function which adds attribute/value pair
288 to a given folder record
289 - Replace existing special folders reference within Inbox with PidTagIpm* tags
290 - Add new PidTag values to mapi-properties
291 - Add a function to libmapiproxy to build a folder EntryID as described in MS-OXODATA
292 - Add a function which builds special properties for openchangedb folders
293 - Add PT_BOOLEAN case to openchangedb folder get property function
294 - Keep a reference to the mailbox username within emsmdb provider context
295 - Create and return a handle in RegisterNotification
300 Wrong MessageClass size calculation fixed
303 Remove duplicate _GNU_SOURCE definition (already specified by Makefile)
305 Ignore new binary and trial output.
310 - Fix systemfolder value for System/Special folders
311 - Add GetProps support to System/Special folders
313 Add auto-generated parser to the ignore list
315 - Add auto-generated parser for MAPI property to PidTag mapping
316 - Add some PidTag values
317 - Add a lookup and get property functions on system folders
319 - tuple SystemIdx in the dictionnary to workaround the ordering problem
320 - Add ParentFolderId attribute to System Folders
322 - Add creation of "Special folders" to mailbox provisioning
323 - Rename fid attribute to PidTagFolderId
324 - Rename name attribute to PidTagDisplayName
325 - Rename ExplicitContainerClass to PidTagContainerClass
327 Fix GlobalCount increment
329 Fix mailbox provisioning
332 Add test for FILETIME structure.
334 Update docs for mapiproxy entry.
337 Fix handling of fids.
341 - Fix openchangedb mailbox hierarchy and introduces subfolders
342 as described in [MS-OXOFOLDS] specifications.
343 - Update openchangedb API to reflect this change.
345 Rename private mailbox folder "non_ipm_subtree" to "mailbox_root"
346 to fit with MS-OXOFOLDS specifications.
348 - Add provisioning code for GetReceiveFolder defaults
349 - Check if mapistore content repository already exists for the user
350 - Make mailbox creation verbose
353 Fix parentfolder reference.
357 Use recursive call to create folders.
359 Simplify list iteration, PEP8, avoid using string exceptions.
364 Fix 'dereferencing type-punned pointer' warnings
366 - Add strict-aliasing compiler flags
367 - Fix format string warnings on ubuntu buildbot
369 - Add _FORTIFY_SOURCE=2 to the compiler CFLAGS
370 - Fix warnings introduced by -D_FORTIFY_SOURCE
373 I might have been a bit hasty with that last commit...
377 Try harder to find sqlite3.
379 Seems to be in sqlite.pc on Ubuntu.
381 Fix warning on 64-bit arch.
385 - Add RopGetReceiveFolder (0x27) implementation
386 The function respects should respect the semantics and behavior
387 as described in MS-OXCSTOR specifications. However the python's
388 code modification required: add ExplicitMessageClass attributes
389 to folder records is not yet effective.
391 - Add GetReceiveFolder size calculation function to libmapiserver
392 - Add a function to openchangedb API to retrieve the FID/ExplicitMessageClass
393 couple for a given SystemFolder within user's mailbox.
395 - Provision scripts: create a mapistore default storage space within ${private}/mapistore/${username}
396 - Provision scripts: add default sqlite:// mapistore URI for system folders
397 - Add mapistore context initialization when calling OpenFolder on SystemFolder
398 - Add mapistore context release for folders in emsmdbp object destructor
400 Factorize emsmdbp objects
401 Add emsmdbp_object generic talloc destructor
404 Add test for PT_MV_LONG.
406 Add tests for PT_I8 and PT_BINARY
408 Fix warning about no newline at end of file.
410 Remove most recently added tests from "to be done" list.
412 Add a couple more mapi_SPropValue tests.
417 - Initialize mapistore within emsmdb provider context
418 - Add destructors for MAPI handles and mapistore contexts
419 - Remove emsmdbp_ctx memory context structure member and
420 allocate directly with emsmdbp_ctx
422 I don't see any good reason why we would pad MAPI replies with some bytes.
423 I guess it comes from some prehistoric openchange code.
425 Fix systemfolder assignment depending on IsSystemFolder value
427 - Initialize OpenFolder server reply
429 - Wrap TDB connections to mapistore (code from samba4) so
430 multiple instances can open read/write to the same TDB database
431 - Remove static id_mapping_context (replaced with tdb_wrap calls)
432 - Update mapistore linkage rules so mapistore can be used with exchange_emsmdb server
433 - Link mapistore with exchange_emsmdb
435 Fix aclocal warning for AC_DEFINE comparison_fn_t
437 Remove useless GetProfilePtr from IProfAdmin interface
438 Closes trac ticket #131
440 Add missing script - prevent configure from generating warning vs missing file.
442 Remove stamp-h1 file during distclean and add it
445 - Add server-side GetReceiveFolder (0x27) skeleton
447 Work around the comparison_fn_t redefinition problem
448 between libocpf and ndr.h
450 FreeBSD doesn't have time.h daylight global variable
453 start testing mapi_SPropValue_array.
454 This also tests some underlying functions.
459 Add comparison_fn_t support to ndr.h
460 This was the latest change require to make openchange compiles under FreeBSD
462 = samba4/openchange FreeBSD support completed =
467 Remove duplicated post_install call
469 Add a post_install operation on FreeBSD
470 Make sure pidl is installed properly.
472 Patch samba4 tarball so it compiles properly on FreeBSD 7.0
473 Note: this is a dirty hack which needs to be removed in the future
475 Install Samba4 correctly although user's PKG_CONFIG_PATH env variable
476 may not be adjusted properly.
478 Avoid download samba4 release tarball if already available
479 in current directory.
481 - Add test for comparison_fn_t in configure.ac
482 - libocpf auto-generated files include stdlib.h and prevent from
483 having the proper comparison_fn_t typedef. This commit works around this
484 problem and define comparison_fn_t within a private header.
486 getline is a stdio GNU_SOURCE extension not available under FreeBSD.
487 Use fgetln instead when it is compiled on this OS.
489 FreeBSD doesn't define sighandler_t but sig_t
491 Replace open() call with O_DIRECTORY flag (Linux specific) with opendir
493 - Add non-default search path /usr/local/{include,lib} to
494 CFLAGS and LDFLAGS when compiling OpenChange under FreeBSD
495 - Make use of LDFLAGS while compiling openchange tools
498 A few improvements for property handling.
500 Also add unit tests to verify behaviour is correct.
502 The implementation for the FlatUID (GUID) structure appears broken. Perhaps I'm not using it correctly.
504 Microsoft confirmed the LCID is wrong in the spec, and will be updated in the next rev.
509 Check for Flex version < 2.5.35
510 Make sure users can define the FLEX environment variable
512 Add automake scripts for AC_CANONICAL_HOST support
513 Needed for FreeBSD OS detection in configure.ac
518 Fix warnings from lexer output.
520 Fixes for warnings on 64-bit architectures.
522 Fix warning on 64-bit architecture.
525 Add some more tests for openchange.mailbox.
527 Fix creation of new mailbox after provision.
529 Always use the same URL when connecting to openchangedb.
531 Fix arguments to openchangedb_provision.
536 Fix libmapi 64-bit machine cast warnings mentioned in Brad's devel email
539 Warning fix for 64-bit arch.
544 Add doxygen definition for RopRelease
546 - Add server-side skeleton implementation for RopOpenFolder and RopRegisterNotification
547 - Add preliminary size calculation functions in libmapiserver for the 2 calls above
548 - Fix size bug for serialized requests
549 - Add skeleton case for RopGetPropertiesSpecific on SystemFolders
550 - Make sure the GetProps reply blob is initialized whatever happen
551 - Add a skeleton emsmdbp folder object init function
556 Remove debug strings for GetPropertiesSpecific Rop
558 Enable verbose output in server mode - useful during development
560 Implement preliminary server-side RopGetPropertiesSpecific call for mailbox object.
562 - Fix GetProps blob for PT_BINARY: use SBinary_short instead of Binary_r
563 - Fix GetProps size: subcontext is not added to the fixed size calculation
565 - GetPropsSpecific size calculation function added to libmapiserver
566 - Function to create a GetProps reply property blob added to libmapiserver
569 Add tests for provisioning.
571 Several cleanups in python code, add tests for schema use.
573 Don't clear PYTHONPATH override.
575 Remove unused imports, add extra tests.
577 Use member variable for Ldb, rather than subclassing.
579 Remove print statements to avoid cluttering test output.
581 Add simple and incomplete testcase for OpenChangeDB.
583 Move wipe of data to mailbox.py, simplify arguments to add_root_mailbox.
585 Move adding a server to mailbox.py.
587 Move ldif from oc_provision_openchange.ldif into Python.
589 Stop providing setup_path to OpenChangeDB, as it's no longer used.
591 Avoid using separate LDIF file when creating folder mailboxes.
593 Avoid using separate LDIF file when creating mailboxes.
595 Avoid passing full names object.
597 Add check-python target.
602 fix openchange_newuser.
604 Use SamDB for actual SAM databases, Ldb otherwise.
606 Remove unused parameters, don't make parameters optional if they are mandatory.
608 remove unused parameters.
610 make mailbox object-oriented, remove creds/lp parameters.
612 Fix OpenChangeDB syntax.
617 - Add a systemfolder member to the MAPI handle structure to make a difference
618 between objects managed by mapistore and those stored within openchange.ldb
619 (root mailbox folders).
621 - Add opaque functions to set/get private_data and systemfolder to the MAPI
624 Minor doxygen fix/improvement
626 Add libmapistore object files to the ignore list
628 - Add a very preliminary and light libmapistore implementation.
629 mapistore only supplies init/release and add/del backend contexts.
630 This commit also includes a sqlite3 backend skeleton (open/close sqlite db)
631 - A temporary mapistore testing tool has been added locally for implementation checks.
634 Use convenience function for connecting to openchange.ldb.
636 Use standard LDB functions - openchange.ldb is not a SAM database.
641 Implement support the SUMMARY language tag.
643 Initial checking of libical based exchange2ical code.
645 This has a long way to go, so think of this as more of a checkpoint
648 See http://sourceforge.net/projects/freeassociation/ for the library, or
649 see if your distro has a package.
653 Add missing parameter to API documentation.
655 Resolves ticket #130.
657 API documentation fixes for OpenEmbeddedMessage()
659 Implement OpenEmbeddedMessage ROP (0x46).
663 Factor out message creation and message fill actions.
665 Also remove GetLastError() where appropriate.
667 Add some API documentation.
672 Update openchangepfadmin description
673 Fix tool relying on libmapiadmin
680 Add more explanation for README
682 Reimplement RTF decompression.
684 Add unit tests from MS-OXRTFCP.
686 Fix warnings in example code
688 Add description for libmapiadmin
690 Add description for libmapi / libmapi++
692 Start on the directory descriptions.
698 Add overview. Extracted from API docs.
702 Outline of README file.
704 (also using this to test buildbot without changing real code)
708 Add Version field - avoid breaking pkg-config --list-all
710 Fix warnings (gcc 4.2.4)
713 Use variable for package version rather than hardcoding it.
723 - Add an implementation of the MAPI handles management API. The API
724 internally uses an in-memory TDB database to keep object hierarchy
725 and a doubled chained list to associate private data to handles.
727 The API currently provides add, search and delete facilities. Note
728 that while untested, the delete operation is designed to recursively
729 delete children of the 'meant to be deleted' handle.
731 Finally the API doesn't remove TDB records but mark them as free so
732 they can be reused across MAPI session and prevent from handle counter
733 growing indefinitely.
735 - Add a preliminary implementation of the Release call
736 - Add Release size calculation to libmapiserver
737 - Update EMSMDB provider to use MAPI handles API
740 Minor api documentation fix.
746 Minor API docs tweak.
748 Token commit of tiny API docs fix.
751 Look for GNU make harder (gmake on BSDs).
756 - Add preliminary EMSMDB provider implementation for RopLogon (0xFE)
757 - Add common routines for OpenChange LDB context init and search
759 - Add libmapiserver skeleton with size calculation routine for RopLogon
760 - Change DSO linking dependencies for mapiproxy shared libraries
761 - Propagate _GNU_SOURCE change from libmapi.h to mapiproxy
765 Remove .po and .o objects within libmapiproxy subdirectory
767 Move libmapiproxy into its own directory and rebase mapiproxy headers accordingly
768 Fix make uninstall for AD and profiles directories
772 Add python code and ldif files needed to create and populate the experimental
773 openchange dispatcher database.
775 Add 5-Minute configuration documentation for OpenChange server mode
777 - Rebase ldif files into sub directories:
778 * AD for OpenChange AD modifications
779 * profiles for OpenChange IProfAdmin interface
780 - Makes it easier figuring out LDIF files scope
781 - Prepare setup folder for LDIF openchangedb files integration
782 - Update install/uninstall Makefile rules for ldif files and
783 make sure everything got removed
788 Add support for short language names (e.g. en-AU) for lcid.
793 Delete deprecated libmapi setup Perl script
796 Add summary report for tests.
798 Make mapitest return the number of failed tests.
803 - Add pkg-config pc file for libmapiproxy
804 - Improve mapiproxy rules so libmapiproxy gets installed and cleaned properly
806 Free memory allocated by the fake subcontext in
807 ndr_pull_mapi_response.
809 This fix saves 300kb of memory and removes 700 loss records while
810 valgrinding mapitest.
812 Fix segfault - Add sanity check - when SPropTagArray is NULL in
813 NspiQueryRows request
815 Fix openchange_newuser name typo
817 Fix server provisioning command line examples
819 Fix several libmapi leaks.
821 mapi_response was allocated using emsmdb_ctx->mem_ctx memory context
822 and was not free'd when libmapi function released their
823 context. Furthermore we need to release mapi_response->mapi_repl and
824 mapi_response->handles which are now automatically free'd when
825 mapi_response destructor is called.
827 However note that this fix is not perfect: mapi_response memory is not
828 free'd properly when calls exit with an error.
830 This commit also make use of talloc_steal where necessary to keep
831 returned fields allocated.
835 Use named context rather than autofree
837 Fix memory leak in emsmdb.c: Use a temporary memory context for
838 request and length allocation in emsmdb_transaction.
840 - This removes 827 loss records and approximatively saves 41kb of
841 memory while valgrinding mapitest
843 - Fix memory leak in GetDefaultProfile and GetProfileTable.
844 - Save from 10 loss records while valgrinding mapitest
845 - Developers are now responsible from freeing the GetDefaultProfile
846 string the function allocates.
847 - Apply changes to all openchange tools.
849 Add blackbox subunit tests for mapiprofile tool
852 One more trivial fix.
856 (Yep, more trivial changes)
858 Fix incorrect LCID for en-CA.
860 (OK, its token, I admit).
863 Don't define _GNU_SOURCE unconditionally.
867 Prevent mapiproxy from multiple init and modules/server register
868 when an smb client connect to the server (e.g. windows browser or smbclient)
872 According to [MS-OXOCAL] Section 2.2.1.44.1
873 "RecurrencePattern Structure", a monthly recurrence
874 also has a Day specific parameter.
879 Simply run autogen.sh rather than replicating it inside the Makefile.
881 need to run aclocal before autoconf for the pkg-config macros.
885 Use a autofree context rather than a named one - makes sure memory is free'd when we exit the test.
886 Saves from 4 loss records while valgrind'ing mapitest.
888 Use temporary memory context for EcDoConnect.
889 Saves from 20 loss records when valgrind'ing mapitest.
891 Free PropertyProblem structures returned by CopyTo.
893 Replace deprecated talloc_init calls with talloc_named
894 This commit removes some valgrind loss records talloc_init was responsible for
897 Free everything when running mapitest --list-all.
898 Valgrind however shows a loss record related to talloc_init ...
901 Minor Intel C compiler warning fixes.
903 Minor apidocs cleanups.
907 Use double pointer for lp_ctx in GetLoadparmContext assessor
909 Fix memory leak in utf8 lexer.
911 - Remove custom iconv_convenience from pull_emsmdb_property and use
912 lp_iconv_convenience on loadparm_context argument instead.
914 - Change OpenChange libmapi API to reflect this change
916 - Introduce a lp_ctx assessor in libmapi/cdo_mapi.c
917 (mostly for mapitest modules). libmapi/mapiproxy developers
918 should never have to make use of it.
920 - Remove pointless duplicated call to lp_load_default in MAPIInitialize.
922 Free lpProps returned by GetProps, Fix context error in valgrind
924 - Fix memory leak bug: release ndr context in pull_emsmdb_property before returning
925 - Terminate SPropValue and SPropTagArray using an element with ulPropTag = 0. This
926 prevent from "invalid read size of 4" messages from valgrind and remove context errors.
929 Don't install mapiproxy if python wasn't found, since
930 we wouldn't know where to install the provisioning scripts or be able
935 Merge libmapi-0.8 branch r1015 to 1017 into trunk
937 ** Start libmapi-0.9 COCHRANE development **
939 Merge libmapi-0.8 branch changes into trunk
943 Add python install/uninstall rules to provision rather than mapiproxy-servers
945 - Remove server Makefile rules
948 Note: server and providers have been merged within mapiproxy,
949 so there is no reason keeping this deprecated code.
953 Undoing change committed in r1004.
955 Use .po files instead of .o files for openchange tools
957 Add --version to openchange tools
959 Add COPYING file with GPLv3 license
963 - Add RenameProfile function to IProfAdmin API
964 - Remove pointless CopyProfile from IProfAdmin API
965 - Add --rename option to mapiprofile tool
966 - Update man page to reflect this addition
968 (close trac ticket #124)
970 Fix libmapi from crashing when mapi_repl is NULL.
972 Update Samba4 git rev to fix the charcnv segfault met in openchange
976 Try to find the Samba python modules if they're not installed in the system
981 - Fix Subscribe semantic bug and add WholeStore boolean parameter
982 - propagate API change to tools/torture callers
984 - Add assessor functions to set dumpdata and debug level in libmapi
985 (SetMAPIDumpData and SetMAPIDebugLevel)
986 - OpenChange tools modified to use these function rather than set these
987 parameters on their own
989 - Fix --debuglevel segfault in openchange tools
990 - Enable logging to stdout in MAPIInitialize
994 * OpenChange libmapi function now returns MAPI error instead of -1
995 - use OPENCHANGE_RETVAL_IF instead of MAPI_RETVAL_IF
996 - add doxygen documentation for some missing functions/files
998 - Missed this event->tevent change in previous commit
1000 - Update openchange to use latest Samba4 master git rev (990491d)
1001 - Fix references to tevent_context structures
1002 - Fix iconv_convenience init in MAPIInitialize
1003 - Remove errorchecks mapitest module warning
1006 Use tevent_context_init.
1012 Some Exchange server (stand-alone) return MAPI_E_LOGON_FAILED when setting EssDN with username rather than
1013 using profile's mailbox string directly. This commit fixes the bug.
1015 - Add EcDoConnect and EcDoDisconnect preliminary support to
1016 dcesrv_exchange_emsmdb.c
1017 - Add internal session management mechanism to EMSMDB server
1018 - Add init and unbind modules function to EMSMDB server
1019 - Add emsmdbp_context and session to dcesrv_exchange_emsmdb.h
1022 Fix valgrind errors caused by using free'd memory.
1026 Implement 'mapiproxy downgrade' behavior in EMSMDB server and force
1027 Outlook to use EcDoConnect (0x0) and EcDoRpc (0x2) rather than 0xA and
1028 0xB (opnums using LZ based compression).
1030 - Add Preliminary implementation for RfrGetFQDNFromLegacyDN DS RFR server
1034 - Preliminary implementation of NspiGetProps NSPI server function
1035 - Makes sure emsabp_tdb_traverse_MId uses the correct dbuf size
1036 - Use correct ldb context (users or conf) depending on where MId is
1037 located (on-memory or on-disk)
1038 - Add PR_EMS_AB_NETWORK_ADDRESS mapping to emsabp_property
1040 *** Outlook is now able to create MAPI profile using OpenChange Server ONLY! ***
1042 - Preliminary implementation of NspiDNToMId NSPI server function
1043 - Add emsabp_search_legacyExchangeDN to search for a record given its
1044 legacyExchangeDN attribute.
1046 - Preliminary implementation of NspiQueryRows NSPI server function added
1047 - fix a bug in the MID TDB traversal routine: cut dptr to dsize length
1048 rather assuming it is NULL terminated
1049 - Add support for "referenced" property tags
1050 - Add support for PR_MV_STRING8
1051 - Add emsabp_search_dn which search for a DN within AD and return the
1052 associated LDB message
1053 - Add PR_EMS_AB_HOME_MDB and PR_EMS_AB_PROXY_ADDRESSES to
1054 emsabp_property array
1056 Prevent from trying to add a NULL element to profile database and segfault on strlen
1058 Prevent x500_get_dn_element from segfaulting when an incorrect DN string parameter is supplied
1060 - Preliminary implementation of NspiGetMatches NSPI server function
1061 - Make use of a on-memory TDB database for Ephemeral Entry IDs
1062 - Add TDB traversal routines to retrieve DN associated to MId
1063 - Move lp_ctx within emsabp_ctx for convenience
1064 - Add EphemeralEntryID to Binary_r routine
1065 - add emsabp_query (Find attribute matching given property tag and
1066 return associated data)
1067 - add emsabp_fetch_attrs which builds a SRow array given a MId and
1068 requested property tags.
1069 - add emsabp_search which searches AD given input search criteria
1070 - add a preliminary Property Tag to AD attribute mapping + associated
1071 functions in emsabp_property.c
1073 Note: This NspiGetMatches is limited to MAILUSER which means we only
1074 look for users (located within users.ldb). This limitation will be
1075 removed when we have a preliminary working emsmdb server, so we can do
1076 more extensive NSPI server tests.
1078 Add sanity check to get_SPropValue_SRowSet, prevents the function
1079 from segfault when RowSet is NULL (e.g. crafted NspiQueryRows replies)
1081 Prevent IProfAdmin based code from crashing when a crafted NspiGetMatches reply
1082 with NULL ppOutMIds is returned.
1087 - Preliminary NspiGetSpecialTable implementation added to NSPI
1088 server/EMSABP provider: Hierarchy Table supported (required during
1090 - add PT_BINARY support for mapidump_SPropValue
1091 - fix a bug when PT_STRING8 or PT_UNICODE pointer is set to
1097 Add new Display Type values (used by EMSABP provider)
1099 Change DEBUGLEVEL for RfrGetNewDSA
1101 - preliminary implementation of RFR server (RfrGetNewDSA): makes Outlook happy
1102 - mapiproxy-servers-install now installs openchange python scripts and ldif file
1106 Move auth_serversupplied_info structure from dcesrv_exchange_nsp.h to libmapiproxy.h
1107 This structure is required for NTLM_AUTH_IS_OK macro
1109 - Add doxygen comments for all OpenChange server modules
1110 - Fix doxygen return value for exchange_nsp
1112 - Add mapiproxy server unbind function and hook in dcesrv_mapiproxy.c
1113 - Add exchange handle enum to dcesrv_mapiproxy.h
1114 - Add authentication verifier macro to libmapiproxy.h
1115 - Add preliminary EMSABP Address Book Provider implementation:
1116 * supports initialization, destructor (talloc)
1117 * implements user and codepage check routines
1118 * retrieve NSPI server GUID
1119 - Add NspiBind and NspiUnbind support to dcesrv_exchange_nsp.c
1120 - Add internal session mechanism management to NSPI server
1121 - Add init and unbind modules function to NSPI server
1122 - Add doxygen comments to all dcesrv_exchange_nsp.c functions
1123 - Add emsabp_context, session and non-exported Samba structure to dcesrv_exchange_nsp.h
1125 OpenChange configuration schema updated with Addressing schema
1126 (Address-Templates, Address-Types and Display-Templates - Exchange 2003 based)
1128 Execute server modules init function when loaded
1131 A few API documentation fixes.
1136 Add documentation for MAPIProxy 'server mode'
1141 - Implement mapiproxy server mode architecture
1142 - Add server modules management API
1143 - Add skeletons for default OpenChange servers (nspi, emsmdb, ds_rfr)
1144 - Add temporary provision Makefile rule
1149 Initial text was correct - rollback
1154 Ensure that GetLastError() also returns the correct value.
1156 Start changing the MAPI_RETVAL_IF() usage to two new macros:
1157 OPENCHANGE_RETVAL_IF() and OPENCHANGE_RETVAL_ERR().
1159 simple_mapi.c is the only one converted at this stage.
1161 Also added a set of unit tests that verify at least some initial
1164 Remove unreachable code.
1166 Partly resolves ticket #124
1171 Remove references to ldap.h header file - not installed anymore with samba4 git rev openchange uses
1173 mapiproxy documentation update: 3 questions added to FAQ section
1175 Patch from Corentin Chary:
1176 - Add PR_CONTENT_FILTER_SCL property to libmapi
1178 - Update openchange to work with samba4 master git rev f308c2f
1179 - Replace reference to events.h with tevent.h
1180 - Update installsamba4.sh script to reflect latest samba4 compilation changes/requirements
1185 Fix mapidump date/month when freebusy period covers end of one year - beginning of next year
1186 Update openchangeclient to reflect these changes.
1191 Export PKG_CONFIG_PATH if it wasn't exported yet. Patch by Metze
1193 Fix PIC object flags for SWIG build. Patch by metze.
1198 User %u format specifier for unsigned integer.
1200 Make return value match signature.
1202 Miscellaneous minor cleanups. Mainly making return types
1203 match signatues, format conversion (%u for unsigned values) and
1204 matching up result variable types (bool instead of enum MAPISTATUS).
1206 Return an enum MAPISTATUS, instead of a bool, to match function signature.
1208 Use %u instead of %d for unsigned values.
1213 Another minor APIdox edit.
1215 API documentation tweak.
1223 More apidox triviality.
1225 Trivial APIdox edits.
1227 Supplement the user's PKG_CONFIG_PATH rather than
1231 Add bindings for GetBestBody(), GetDefaultFolder(), GetDefaultPublicFolder(), AddUserPermission(), ModifyUserPermission().
1233 Add bindings for create_message, delete_messages, get_message_status, set_read_flags.
1235 Add Python bindings for Unsubscribe(), get_task_status(), get_importance(), get_proptag_name(), get_proptag_value(), DeleteFolder(), CreateFolder(), EmptyFolder(), RemoveUserPermissions(), IsMailboxFolder().
1240 Actually use pymapi variables in Makefile.
1242 Add configure flags for building and installing Python MAPI bindings (disabled by default).
1247 Add namespace prefix to scanner.
1252 - spnego / gssapi_krb5 authentication now available for mapiprofile
1253 - add the --realm | -R option
1254 - update mapiprofile man page
1259 Remove entries for --properties and --priority, which have been removed from the openchangeclient utility.
1263 Don't generate / install man3 pages for libmapi++ or mapitest.
1265 Resolves ticket #121.
1267 Also don't install man3 pages that are just copies of the C implementation files, or just document bugs / todo items.
1270 Allow retrieving id and session of MAPI objects.
1272 Add MessageStore and Object Python classes, add bindings for OpenMsgStore, OpenUserMailbox, OpenPublicFolder.
1274 Add stubs for Session class.
1276 Add infrastructure for MAPI python module.
1278 Look for python and python-config binaries.
1280 Remove empty directory.
1284 Remove obsolete --properties option and related code
1289 Fix RecipientRow member's order
1294 - Update to latest samba4 git master revision (3508a66)
1295 - Fix references to samr info24 struct
1296 - Add support for assoc_group_id proxy
1297 - Add support in mapiproxy for bind/alter connections using assoc_group_id
1298 - Update mapiproxy documentation
1303 Improve building. Partially addresses #94.
1305 More work required on this as we work on the
1306 portability in the future.
1308 Expose the underlying session.
1313 Remove unused --priority option.
1315 These offsets / values can be negative, so we shouldn't
1316 use unsigned int type to represent them.
1321 Fix Logon problem for users running Exchange 2k7 in a clustered Exchange environment.
1323 This patch first tries to forge EssDN Logon string from "o" and "ou"
1324 attributes stored in the profile. If Logon fails with ecUnknownUser,
1325 then try to open the mailbox using the mailbox attribute stored in
1331 Document the --label option.
1336 Make openchange compile and work against latest samba4 master git rev (58db2be)
1339 Remove check for unused type 'uint_t'.
1344 More tweaks on the openchangeclient man1 page.
1346 More updates for man1 page for openchangeclient.
1347 Still doesn't fully address #113.
1349 Update the openchangeclient man1 page.
1351 Partly addresses ticket #113.
1353 There is still some work to do on this.
1355 Fix a typo, and try to make the descriptions more
1361 Initial version of man1 page for mapitest
1363 Initial man1 page for exchange2ical utility.
1368 Update man1 page for openchangepfadmin
1370 Minor updates for the man pages.
1375 Fix build errors: wrong number of arguments for ocpf_propvalue
1377 Fix warnings when compiling with -Wextra
1379 Fix warnings when compiling with -Wextra
1381 Fix warnings when compiling with -Wextra
1384 Complete initializers here.
1389 Update to reflect latest state of mapiprofile.
1394 Prevent segfault when running mapitest. Looks like the we can
1395 return MAPI_E_SUCCESS even if one of the property values is
1396 MAPI_E_NOTFOUND. That error then get turned into a char*, and
1399 Also fix a possible bug relating to operator precedence, and
1400 a couple of warnings (one for signed / unsigned comparison, and
1401 the other for an unsigned value never being less than zero).
1406 Enable output to stdout.
1408 Resolves ticket #106.
1410 Thanks to raboof for the report and fix.
1415 Fix missing initialisers (issue #110).
1417 Also fix some signed/unsigned warnings.
1419 Fix problems with incorrect initialisers (#110) and
1420 operator precedence.
1422 Also fix a couple of places with signed/unsigned confusion.
1424 Partial fix for issue #110, and a couple of very minor cleanups.
1431 We probably want to return here, not do nothing.
1436 Fix empty patch function problem: add a retval
1441 Explain the boost-thread trick.
1443 Minor documentation tweaks.
1448 - remove usage of global_loadparm in libmapiadmin
1449 - make use of session context rather than global_mapi_ctx in libmapiadmin
1450 - use local context rather than mapiadmin context in libmapiadmin
1451 - libmapiadmin now uses ldb helper rather than raw implementation (ldb async code)
1452 - libmapiadmin and openchangepfadmin now works again (user creation/deletion) !! ;-)
1453 - remove global_loadparm in torture test and replace it with torture context
1454 - fix dcerpc_init to match latest samba4 API
1455 - update samba4 version required to build openchange
1458 More API documentation tweaks.
1460 More API documentation tweaks.
1462 Some API dox fixes for libmapi++.
1465 Remove unnecessary patching of lib/events/events.h.
1470 Update to a more recent Samba4.
1473 Remove some usages of deprecated global_loadparm.
1475 Cope with new argument to dcerpc_log_packet().
1480 Fix includes for DEBUG(), fix some more warnings.
1482 Use same_net_v4 rather than deprecated same_net().
1484 Fix Samba 4 git revision.
1486 Fix includes - debug.h can only be included once.
1488 Include debug header.
1490 Cope with API changes in Samba functions.
1492 Use new function is_zero_ip_v4 rather than removed is_zero_ip.
1497 Fix OpenMsgStore binding in swig perl and fetchmail script
1502 Fix pointless const definition for GetFreeBusyYear return type
1506 - Add the IsFreeBusyConflict convenient function which checks if a
1507 given date conflicts with existing FreeBusy Busy/OOF events
1509 - Modify openchangeclient --sendappointment behavior to check whether
1510 start or end date conflicts with FreeBusy published data for the
1513 - Add the --force option to openchangeclient to override this behavior
1515 - Fix a counter bug in mapidump_freebusy_events
1517 Fix doxygen typo error
1519 - Add GetUserFreeBusyData convenient function which retrieves FreeBusy
1520 data in public folders for a given user. Note: Ambiguous name is not
1521 supported at the moment.
1523 - Add convenient FreeBusy mapidump routines
1525 - Add FreeBusy read support to openchangelient
1527 - Add PT_MV_LONG and PT_MV_BINARY support to pull_emsmdb_property and
1528 property.c functions
1530 - Add OpenUserMailbox which let developers open other mailboxes
1531 instead of the default profile one.
1533 - Add GetABRecipientInfo: convenient function which retrieves Address
1534 Book information for a given recipient
1539 - Add libmapi implementation for DeletePropertiesNoReplicate
1540 - Add mapitest test units for DeleteProps and DeletePropertiesNoReplicate
1542 Fix doxygen documentation
1547 - Implement multisession into libmapi
1548 - Update openchange tools and suite to reflect these changes
1549 - Fix SRow_addprop behavior
1551 NOTE: OpenMsgStore, ResolveNames, GetGALTable and RFR functions
1552 now take a mapi_session parameter.
1555 Use my openchange.org email address.
1560 - Add a session management API for mapiproxy modules. Similar code
1561 already existed for mpm_cache module. Common functions are now
1562 available to all mapiproxy modules through libmapiproxy
1564 - replace smbd with samba in mapiproxy documentation
1566 - Cache calendar, contact, journal, note, task and drafts folders IDs
1567 when GetDefaultFolder call is performed on one of these folders and
1568 keep them until obj_store is released.
1570 - Add a reverse lookup routine which says whether a given FID belongs
1571 to a default folder and which olFolderType it is.
1573 - Remove pointless memory context in GetDefaultFolder
1574 - Move entryID to FID code into a separated routine (GetFIDFromEntryID)
1576 Restore install rule for mapi profiles ldif files in
1577 libmapi-installscript. Fix the MAPI_E_NO_ACCESS bug when mapiprofile
1578 tries to create a new mapi profile store.
1582 - Ticket #103 resolved. openchangeclient can now perform custom folder lookup, fetch, mkdir and rmdir.
1583 - mapi_object_copy routine added to mapi_object.c
1588 Fix missing Month field in LogonTime structure
1592 propagate IDL warning fix to property.idl
1595 Add target for building python API documentation.
1599 Fix samba4 release and git revision
1601 Fix installsamba4.sh script paths
1606 Install OpenChange python modules.
1608 Check for python dir during configure.
1610 ignore generated files.
1612 Stop installing js files.
1614 Use autoconf cache prefix.
1616 Use newer version of Samba 4.
1620 Remove dcesrv_exchange.so from server Makefile rule and
1621 move mapiproxy from TOOLS to SERVER.
1623 dcesrv_exchange and providers Makefile rules are orphan, planned
1624 to be removed (with their associated code) when emsabp merge process
1625 into mapiproxy is over.
1629 Export the Binary_r structure.
1633 Use more descriptive variable names in messages example code.
1635 Add a description of messages to libmapi++ API documentation.
1637 Add messages binary to the ignore list.
1639 Add new example showing libmapi++ message handling, and
1640 associated API documentation and build system changes.
1644 Update the API documentation main page for libmapi++
1648 Add foldertree binary to the ignore list
1650 - Add missing Input parameter
1651 - Add sanity check on ppNames
1654 - Fix a bug in NspiUpdateStat: make plDelta mandatory and use it for in,out
1655 - Add a NspiGetSpecialTable test for Address Creation Template
1658 Fix valgrind-reported error, per ticket #101.
1660 Make sure we clean up after mapitest runs.
1666 - Add msExchUserAccountControl attribute to extended user record
1667 - openchange_newuser can now create/enable/disable an OpenChange account
1669 Exit the test if the WriteStream operation fails
1671 Fix ncacn_ip_tcp binding string for OpenChange server object
1673 With new NSPI IDL, using cValues - 1 is incorrect and lead to errors. Use cValues directly instead
1675 Fix pipe function check and use ndr autogenerated defines rather than static strings
1676 Fix calls to NspiDNToMId
1679 Make sure we set the body and body format properties, to
1680 ensure that the message is shown correctly with
1681 openchangeclient -F.
1686 - Rename oc_* python scripts to openchange_*
1687 - Add Full Exchange 2003 schema (classes and attributes)
1688 - Full Exchange 2003 modified classes and attributes support
1689 - Add prefixmap OID for some Exchange classes and attributes
1690 - Add missing ADSC classes and attributes
1691 - Improve configuration LDIF file with new objects
1693 NOTE: provision.py should find a way to handle firstorg properly
1694 NOTE: oc_provision_configuration.ldif is still incomplete
1697 API documentation improvements.
1701 Add an example to the libmapi++ documentation, and
1702 the right build magic and doxygen linkage.
1704 Minor API documentation fix
1708 Add forgotten part of API documentation fixes for mapitest.
1710 Improve mapitest API documentation.
1714 Use new DeleteFolder flags to clean up folders on deletion.
1716 This doesn't completely resolve ticket #84, but it does help.
1718 Ignore API documentation.
1720 Add Doxyfile to ignore list.
1722 Add initial support for Doxygen API documentation
1727 Implement the remainder of the standard public folders.
1731 Only do header line removal at the start of the file
1732 (lines 20 through 40 seems like a good compromise).
1734 libmapi++ is C++, not C, so we should not optimise
1735 Doxygen output for C.
1739 - Update the Logon_repl IDL (0xFE) and implementation
1740 - Add new folders to the mapi_obj_store for PF folders
1741 - rename pf_finder to pf_search
1744 Suppress some more unwanted headers.
1748 - Add GetStoreState (0x7b) IDL, implementation and mapitest unit
1752 - Update the EmptyFolder IDL
1754 - Update the SearchFlags enum, GetSearchCriteria and SetSearchCriteria IDL
1755 - Add mapitest units for GetSearchCriteria and SetSearchCriteria
1757 Link libmapi++ documentation to main apidocs page
1759 Update GetAttachmentTable IDL and remove the unknown field
1761 - Update DeleteFolder IDL and implementation
1762 - It now supports DeleteFolderFlags as input parameter and can return the ParticalCompletion state
1763 - Sanity checks added at the beginning of the function
1765 - Rename GetRowCount to QueryPosition
1766 - IDL, implementation, documentation and openchange code updated
1767 - ActionType enum fields prefixed with 'ActionType_'. Original
1768 values were causing conflicts while building Perl bindings with
1769 'i386-linux-thread-multi/CORE/opnames.h where OP_DELETE was already defined'
1771 Change enum SaveFlags to uint8_t for doxygen documentation to be generated properly
1773 - Update SaveChangesMessage IDL and implementation
1774 - Add a SaveFlags parameter to SaveChangesMessage function
1775 - update openchange code to reflect this change
1778 Build fix / fix for ticket #99.
1780 Filter out some new #include lines.
1782 This needs to be applied to other modules too.
1786 Update SRow and SRowSet IDL
1788 Delete obsolete input_locale and instance_key structures
1790 Fix WStringArray_r IDL
1792 - Move from MV_UNICODE_STRUCT and LPWSTR to WStringArray
1793 - LPWSTR structure removed
1795 Rename SDateTimeArray to DateTimeArray_r
1797 Rename SGuidArray to FlatUIDArray_r and fix the IDL
1799 Rename MV_LONG_STRUCT to LongArray_r
1801 Rename SBinary to Binary_r
1803 - Add removal of libmapi++ Doxyfile in make distclean rule
1804 - Add Doxyfile to svn:ignore
1806 Rename SShortArray to ShortArray_r
1808 - Move from SLPSTRArray to StringArray_r
1809 - LPSTR structure removed
1811 Rename MAPIUID to FlatUID_r
1813 Fix lexer warnings during compilation (ticket #100)
1815 - Update the EcDoConnect IDL (ref. ticket #99)
1816 - Add new fields to the emsmdb info structure
1817 - Add doxygen comments to libmapi/emsmdb.c
1820 Reduce warnings when compiling with 64-bit arch.
1822 Initial checkin of infrastructure for libmapi++ API documentation.
1826 - MAJOR NSPI protocol and libmapi stack update
1827 - All NSPI protocol functions implemented
1828 - NSPI stack fully documented
1829 - NspiGetHierarchyInfo renamed to NspiGetSpecialTable
1830 - NspiDNToEph renamed to NspiDNToMId
1831 - instance_key removed from nspi_context and set as a parameter to NSPI functions
1832 - SPropertyRestriction renamed to PropertyRestriction_r
1833 - FlagList structure removed and replaced by a SPropTagArray
1834 - MAPI_SETTINGS removed and replaced by a STAT structure
1835 - new MAPI property tags added to libmapi/conf/mapi-properties
1836 - NSPI module added to mapitest
1839 Clean up on failure.
1841 Clean up on failure.
1843 Minor improvements to ensure cleanup on failure.
1845 API documentation fix
1847 API documentation fix.
1849 API documentation fix.
1851 API documentation fix.
1853 API documentation fixes.
1857 API documentation fixes.
1861 Fix EMSMDB 0xb function name
1863 - update EcRRegisterPushNotification IDL
1865 - implement complete MAPI notifications
1866 - update libmapi to reflect these changes
1867 - make openchangeclient prints a brief summary for each notification found
1868 - update ulEventMask used in openchangeclient
1872 - Rename Advise MAPI call to RegisterNotification
1873 - Update RegisterNotification IDL and implementation
1877 - Fix Restrict IDL and implementation
1878 - Add a new parameter to the Restrict function
1881 Add mapi_nameid.h to the ignore list
1883 - Replace libmapi/mapi_nameid.h with a generated mparse file
1884 - Add a mapi_nameid.h parser to mparse.pl
1885 - Add canonical names for named properties
1886 - GetProps and SetProps resolves named properties if they exist
1887 - named properties can now be set directly and make mapi_nameid API be
1889 - replace named property tags hex value with their canonimal names
1890 - replace several use of the mapi_nameid API with smaller code
1892 - Add new IDL file (property.idl) to push/pull structures from binary
1893 blobs and not directly related to any MAPI calls. Include the
1894 generated property.h file into libmapi.h
1896 - Add PT_MV_STRING8 support in pull_emsmdb_property (GetProps reply
1897 parsing) and mapidump_SPropValue
1899 - Add functions to property.c to retrieve RecurrencePattern,
1900 TimeZoneStruct and GlobalObjectId structures (see property.idl).
1902 - add a preliminary version of exchange2ical tool. This version only
1903 dumps calendar folder appointments into ICS file on standard output.
1907 - Update mapi-nameid-properties with a more complete set of properties
1908 - Add a header to mapi-nameid-properties for sanity purposes
1909 - Move named properties with PT_STRING8 type to PT_UNICODE
1910 - update openchange code to reflect these changes
1911 - Add PSETID_Attachment to mapidefs.h
1915 Add missing check on password for the create command
1917 Fix incorrect usage of realm in mapiproxy
1921 Check for provider_rpc_connection retval for RFR functions.
1923 Update Doxyfile to parse mapiproxy/modules files and
1924 include documentation on static functions.
1926 - Add NSPI hook on NspiQueryRows and NspiDNToEph and replace the
1927 Exchange server name with mapiproxy one.
1928 - documentation updated to reflect these changes
1929 - new FAQ question added
1930 - developer documentation improved
1932 Add the RFR mapiproxy file.
1934 - Implement RfrGetNewDSA DN replacement in mapiproxy
1935 - use lp_realm rather than sockaddr in NspiGetProps (FQDN rather than IP address)
1936 - update mapiproxy documentation to reflect these changes
1940 - Add implementation of the NSPI Referral protocol (exchangeRFR)
1941 - update dcesrv_exchange and mapiproxy prototypes for RFR
1942 - add references to the RFR pipe in mapiproxy
1943 - prefix NSPI client connections with a RfrGetNewDSA call
1944 - add RFR functions implementation in libmapi/IMSProvider.c
1945 - add a --getfqdn option to mapiprofile
1946 - fix a minor mapiprofile option parsing bug
1950 Fix mapiproxy dummy module unbind prototype
1952 - Remove flags in EcDoRpc top function, fix compilation vs latest samba4-git version
1953 - EcDoRpc indent updated
1957 Get rid of initialization order warning
1961 - add unbind hook for mapiproxy
1962 - add ahead mapiproxy mode
1963 - add read ahead in cache module
1964 - add synchronization mechanism in cache module
1965 - update mapiproxy documentation to reflect these changes
1969 Temporarily comment out installation of files removed
1974 Fix arguments, paths in provision scripts.
1976 Merge python provision/newuser scripts.
1978 Simplify installation of manpages a bit.
1982 Add configure check for libboost-thread. Add libmapi++ to the build
1983 only if it is available.
1987 - session constructor doesn't login to the server anymore, it calls MAPIInitialize().
1988 - Created session::login() members.
1989 - test applications use default profile.
1993 - Import Alan Alvarez work from libmapi++ into trunk
1994 - Add a g++ check in configure.ac: don't call libmapi++ rules if g++
1996 - Add libmapi++ to the build system
1997 - Add a patch function to installsamba4.sh: rename private to
1998 private_data in samba4 events.h header file
1999 - Change #include directives so it uses <libmapi++ ... rather than
2004 - Add a statitic function monitoring streams over OpenStream and Last
2005 ReadStream operations. Monitoring stream Release is not relevant
2006 since Outlook does not close the handle directly after last
2007 ReadStream operation. Should put in evidence difference between
2008 non-cached(1st retrieval) and cached (further retrieval).
2010 - Fix a few memory leaks
2014 - Commit initial revision for the mapiproxy cache module
2015 - Update mapiproxy hook API for the dispatch routine
2016 - Introduce the mapiproxy structure for modules to control top-level
2018 - Update mapiproxy documentation to reflect these changes
2022 * Fix remaining ByteRead parameter size for ReadStream operations.
2026 * Improve/Update Open/Read/WriteStream IDLs
2027 * Fix ByteRead parameter size for ReadStream operation.
2031 Improve OpenAttach, CreateAttach and DeleteAttach IDL - remove unknown
2034 Propagate r666 changes to OpenMsgStore and fix build
2037 Minor rename of bitmap value to avoid conflict with
2038 Private as a class name.
2042 Minor change: remove old debugging string from mapitest
2044 Fix incorrect header
2046 Remove deprecated mapi_handles API
2049 Initial checkin of some uno (static checker) support
2052 There will be a script to run uno with the right options,
2053 but that requires more work.
2057 Fix OXOMSG-ABORT-SUBMIT return value and return success when expected
2058 error values (MAPI_E_UNABLE_TO_ABORT, ecNoDelSubmitMsg) are encountered.
2060 - Call mapi_object_release in GetDefaultFolder
2061 - Remove pointless references to mapi_object_t
2064 Fix little memory leak.
2068 Fix invalid OpenFolder calls in mapitest modules
2070 Remove references to SaveChanges in doxygen see also statement
2072 - Rename SaveChanges to SaveChangesAttachment (0x25)
2073 - Update SaveChangesAttachment IDL
2074 - Update references to SaveChanges
2076 - Fix the huge memory leak described in Ticket #91
2077 - Rewrite the mapitest NameID test to use the mapi_nameid convenient
2082 - Add mapi_get_errstr auto-generated routine which returns the MAPI
2084 - Add print routine for MAPI retval in mapitest
2085 - Add a color mode (--color) which prints either green or red MAPISTATUS
2086 - Update mapitest modules to use these new routines
2089 Minor API documentation fix.
2095 - Add GetOwningServers (0x42) implementation (IDL + libmapi + mapitest)
2097 - Report and make consistent usage of PropertyProblem in the IDL:
2098 SetProps, DeleteProps and CopyProperties
2100 - Remove unknown field in GetProps and GetPropsAll and replace them
2101 with the correct IDL mapping.
2103 - Add IDL for SetPropertiesNoReplicate (0x79) MAPI call
2105 - Minor typo fix in IMAPIProp.c
2107 Improve CreateMessage request IDL
2109 Improve OpenMessage response IDL
2111 - Add PublicFolderIsGhosted (0x45) MAPI call (IDL + libmapi + mapitest)
2113 - Improve OpenFolder, CreateFolder and OpenPublicFolderByName response
2114 IDL: make these call able to check whether the folder is ghosted or
2117 Revert emsmdb pipe version to the hacked one. Makes mapiproxy work with samba4-alpha5 release.
2119 SeekRow and SeekRowBookmark IDL improved
2121 Improve the SetColumns IDL: remove unknown fields
2125 Minor code convention fix
2127 Check NTSTATUS return value from dcerpc_ndr_request. Prevent mapiproxy
2128 from segfault when invalid dcerpc response is received.
2130 Expose MAPISTATUS error in OXCTABLE-CATEGORY::FreeBookmark.
2131 Requires investigation
2134 Implement GetIdFromLongTermId and GetLongTermIdFromId
2135 functions (ROP:0x43 and 0x44), and associated mapitest.
2137 Documentation typo fix.
2139 Change the QueryNamesFromIDs() call to match
2140 MSDN, including changing the name to QueryNamedProperties().
2142 Also implement mapitest for QueryNamedProperties(),
2143 GetNamesFromIDs() and GetIDsFromNames().
2145 Update torture test to match.
2149 - Build system update: use samba4-alpha5 release with wget method
2150 - introduce 'make samba' and 'make samba-git'
2154 Make sure we have names[] array large enough.
2156 Problem identified using default uno run.
2162 Fix a small errno bug in GetBestBody
2163 Add dump-data and debug options to exchange2mbox
2167 - Move emsmdb interface version back to 0.81 (patch applied in samba4 trunk)
2168 - remove sed hack, modifications applied in samba4 trunk
2169 - update required samba4 git rev required
2176 Minor documentation update: remove deprecated reference to ./bin/smbpython
2178 Fix torture suite entry point name
2179 Fix torture module installation path
2181 - Add implementation for the BestBody algorithm
2182 - Add MAPI_E_NOT_ENOUGH_MEMORY error code
2183 - Remove trailing }}\0 from lzfu code
2184 - Update openchange tools to use GetBestBody rather than
2185 the initial check on PR_MSG_EDITOR_FORMAT
2187 Add a very basic stat module for mapitest: gives a quick overview
2188 of tests which failed at the end of the report.
2190 - Defines a global stream size in mapitest.h
2191 - Decrease stream size from 0x4000 to 0x3000
2192 Sounds like Exchange 2003 SP2 doesn't support 0x4000, return MAPI_E_CALL_FAILED
2197 Fix OC_CHECK_SAMBA_VERSION string
2199 - Move samba4_ver.sh from top dir to script
2200 - update parts of openchange relying on samba4_ver.sh
2202 Add configure check for lib Z
2205 - Temporary fix ldb.pc problem and patch ldb.pc.in
2206 - Update samba4 version to the latest revision
2207 - Add libmapiproxy to svn:ignore proplist
2210 Try a different git revision, just for now.
2214 - Update Samba4 version needed
2215 - Change entry point function from init_module to samba_init_module
2216 - update documentation
2220 Fix calls of ldb_init() as required by newer versions of Samba.
2224 Support newer versions of Samba4.
2228 Add some other standard GUIDs
2236 Use version and soversion in mapiproxy library.
2238 Make modules directory overridable.
2242 Change API as identified on devel mailing list.
2245 After some investigation into an error reported by valgrind, I'm proposing an
2246 API change for the MoveCopyMessages() function.
2248 The signature is currently
2249 enum MAPISTATUS MoveCopyMessages(mapi_object_t *obj_src, mapi_object_t
2250 *obj_dst, mapi_id_t *message_id, bool WantCopy)
2252 The problem is the message_id array. The subtle part is that it needs to be
2253 terminated with a null mapi_id_t*, because of this:
2254 for (request.count = 0; message_id[request.count]; request.count++);
2256 That is a bit error prone - enough so to be wrong in the mapitest.
2258 Now we could just fix the mapitest and document the requirements, or we could
2259 change the signature.
2261 Two ideas for a different signature:
2262 1. We could add a uint16_t count to the signature, that says how long the
2264 2. We could use a better data structure than mapi_id_t*. I'm suggesting
2266 enum MAPISTATUS MoveCopyMessages(mapi_object_t *obj_src,
2267 mapi_object_t *obj_dst,
2268 mapi_id_array_t *message_id,
2273 Add mapitest coverage for CopyTo operations on
2274 folders and attachments, and update API docs.
2276 Also fix one place where we inadvertently used
2277 CopyProps instead of CopyTo...
2281 Typo fixes in comments.
2283 Minor documentation updates.
2285 Clean up created message for SpoolerLockMessage() test.
2289 Update samba4 version test.
2293 Make sure properties are copies into the last valid
2294 location in the extended array (i.e. count-1) not the
2297 Also, make sure we cast the data to a uint8_t for
2298 conversion to boolean.
2300 Also fix compile warning about returning integer instead
2303 We may read up to 0x1000 bytes, so ensure there is
2304 enough room to add the terminating null.
2306 Minor cleanup of the talloc context for FreeBookmark().
2308 Also change around some code to protect things a bit
2309 better against null pointer inputs.
2313 Implement a bit more mapitest for CopyTo (0x39), in
2316 Also make it clean up and report failures properly.
2320 Implement the CopyTo operation (0x39), including initial mapitest.
2321 JK previously committed the IDL for this.
2323 Also make CopyProps (0x67) use an appropriate data structure for
2324 its IDL and update implementation to match.
2328 Minor documentation updates/corrections.
2332 Introduce a default case for MAPI Restriction. In some circumstances -
2333 while Outlook creates an OOF Rules - it sets a PT_SRESTRICT mapi
2334 property tag which value is set to 0xFF. However 0xFF doesn't match
2335 any restriction case.
2339 - Add IDL for OpenEmbeddedMessage (0x46) MAPI call
2341 - Add IDL for ReloadCachedInformation (0x10) MAPI call
2343 - Add IDL for CopyTo (0x39) MAPI call
2345 - Update the Samba4 GIT revision needed to run openchange properly
2347 - import mapiproxy project from mapiproxy branch
2348 - add custom proxypack MAPI call
2349 - remove deprecated dcesrv_exchange_remote
2352 Add missing part of mapitest for SetReadFlags
2354 This should have been part of r578.
2356 mapitest for SetReadFlags
2358 Implement SetReadFlags (operation 0x66).
2360 Also minor API docs fix.
2362 Move some test infrastructure from the oxctable.c module
2363 into the common area.
2365 Fix IDL error for SetReadFlags, and use existing flags
2366 define (MSGFLAGS_READ) instead of creating a new set.
2368 Build fix for relocation of mapiproxy/ to be under the
2369 top level directory (instead of under the utils/
2374 merge from mapiproxy branch:
2375 * ndr_push Logon_req manually
2377 merge from mapiproxy branch:
2378 * Add IDL and server boiler template for EcDoConnectEx (0xA)
2381 * Fix ndr_push_mapi_response code in ndr_mapi.c
2383 * Add the ndr_push_EcDoRpc_MAPI_REPL function in
2384 ndr_mapi.c. Handles special Notify and Pending cases
2386 * Handle op_MAPI_Pending case properly in
2387 ndr_pull_EcDoRpc_MAPI_REPL
2389 * Add code to ndr_push QueryRows in ndr_mapi.c: Do not push any
2390 DATA_BLOB if there is no RowCount
2392 merge from mapiproxy branch:
2393 * Fix GetReceiveFolder [out] IDL
2394 * Fix some naming convention typo
2396 merge from mapiproxy branch:
2397 * Fix SetMessagReadFlag [out] IDL
2399 - Add [flag(NDR_REMAINING)] to SetMessageReadFlag. This is not
2400 perfect, but it will prevent mapiproxy from ndr_pull error while
2401 setting message read flag on public folders messages.
2403 merge from mapiproxy branch:
2404 * Fix CreateMessage [out] IDL
2406 merge from mapiproxy branch:
2407 * rename OpenModeFlags to OpenFolder_OpenModeFlags in OpenFolder
2408 * rewrite OpenMessage [in] IDL and report changes in
2409 libmapi/IStoreFolder.c
2411 merge from mapiproxy branch:
2412 * Add IDL for Pending (0x6e) MAPI call
2413 * Reorder some MAPI calls in EcDoRpc_MAPI_REPL_UNION
2415 - Add SetReadFlags to EcDoRpc_MAPI_{REQ,REPL}_UNION
2417 merge from mapiproxy branch:
2418 * Add IDL for SetSyncNotificationGuid (0x88) MAPI call
2420 merge from mapiproxy branch:
2421 * Add IDL for SyncGetTransferState (0x82) MAPI call
2423 merge from mapiproxy branch:
2424 * Add IDL for SyncImportReadStateChanges (0x80) MAPI call
2426 Note: This IDL is temporary and should be improved after completion of
2427 the merging process.
2429 merge from mapiproxy branch:
2430 * Add IDL for SyncOpenCollector (0x7e) MAPI call
2432 merge from mapiproxy branch:
2433 * Add IDL for DeletePropertiesNoReplicate (0x7a) MAPI call
2435 merge from mapiproxy branch:
2436 * Add IDL for SyncImportMessageMove (0x78) MAPI call
2438 merge from mapiproxy branch:
2439 * Add IDL for SyncUploadStateStreamBegin (0x75) MAPI call
2440 * Add IDL for SyncUploadStateStreamContinue (0x76) MAPI call
2441 * Add IDL for SyncUploadStateStreamEnd (0x77) MAPI call
2443 merge from mapiproxy branch:
2444 * Add IDL for SyncImportDeletes (0x74) MAPI call
2446 merge from mapiproxy branch:
2447 * Add IDL for SyncImportHierarchyChange (0x73) MAPI call
2449 merge from mapiproxy branch:
2450 * Add IDL for SyncImportMessageChange (0x72) MAPI call
2452 merge from mapiproxy branch:
2453 * Add IDL for SyncConfigure (0x70) MAPI call
2455 merge from mapiproxy branch:
2456 * Add IDL for RegisterOptions (0x6f) MAPI call
2458 Note: This call is undocumented in Microsoft documentation, but MSDN
2459 RegisterOptions function generates this call on the wire.
2461 merge from mapiproxy branch:
2462 * Add IDL for Progress (0x50) MAPI call
2464 merge from mapiproxy branch:
2465 * Add IDL for FastTransferSourceGetBuffer (0x4a) MAPI call
2467 merge from mapiproxy branch:
2468 * Add IDL for GetPerUserLongTermIds (0x60) MAPI call
2469 * Add IDL for GetPerUserGuid (0x61) MAPI call
2470 * Add IDL for ReadPerUserInformation (0x63) MAPI call
2472 merge from mapiproxy branch:
2473 * Add IDL for LongTermIdFromId (0x43) MAPI call
2474 * Add IDL for IdFromLongTermId (0x44) MAPI call
2476 merge from mapiproxy branch:
2477 * Add IDL for ModifyRules (0x41) MAPI call
2479 merge from mapiproxy branch:
2480 * Add PT_SRESTRICT support in mapi_SPropValue_CTR
2482 * Add PT_ACTIONS and RuleAction support in mapi_SPropValue_CTR
2484 * Fix mapi_SNotRestriction NDR push routine - add a wrapper to
2485 work around the no-pointer deep recursion pb and remove
2486 existing nopull,nopush,noprint code from ndr_mapi.c
2488 * Fix mapi_SComment_Restriction IDL
2491 - Introduce PT_MV_UNICODE support in mapi_SPropValue_CTR (IDL only)
2492 - use mapi_LPWSTR for PT_MV_UNICODE
2493 - rename mapi_LPWSTR structure to mapi_name in Kind structure and
2494 change its field names.
2496 - Fix emsmdb version
2497 - Change MAPI opnum enum identation -- Helps to fine down merging from
2503 Minor API documentation fixes.
2505 Update label to reflect SetReadFlags -> SetMessageReadFlag
2508 This should have been part of r529 - missed it.
2512 merging from mapiproxy branch:
2513 - Fix MV_UNICODE_STRUCT and unicode strings
2514 - Keep LPWSTR for exchange_nsp and move from LPWSTR to
2515 mapi_LPWSTR for exchange_emsmdb
2516 - Add the NspiGetTemplateInfo IDL
2517 - Fix the NspiUpdateStat IDL
2519 Fix build: SetMessageReadFlag function name was not propagated in the
2523 Initial merge of changes for rename of SetReadFlags to
2524 SetMessageReadFlags (op 0x11) and IDL for SetReadFlags
2527 Use private_data instead of private, for C++ happiness.
2529 Minor cleanup. Using "try" confuses my c++ compiler...
2531 This is really part of r525. It moved to IMAPITable.c
2533 Update the table operations:
2534 - implement ExpandRow and CollapseRow
2535 - implement GetCollapseState and SetCollapseState
2536 - add mapitest coverage for the above, plus the Restrict call
2537 - implement ResetTable
2538 - implement FreeBookmark
2539 - add mapitest coverage for SRowSet parsing code
2541 - various API documentation bits
2544 Use right directory for samba4_ver.sh script.
2546 Use common location for Samba 4 git revision.
2550 Use PT_ERROR where appropriate.
2552 Update the SRowSet parser, fixing breakage I introduced.
2556 Update examples to reflect recent API changes.
2559 Don't rely on absolute file paths since the distribution may be installing
2562 make scripts executable.
2566 Avoid segfaulting if you ask for a specific test or tests and
2567 forgot to start the server.
2570 [bradh@conferta trunk]$ ./bin/mapitest --mapi-calls=OXCTABLE-CATEGORY --mapi-calls=OXCTABLE-RESTRICT --mapi-calls=NOSERVER-LZFU
2571 Failed to connect host 192.168.11.77 on port 135 - NT_STATUS_HOST_UNREACHABLE
2572 Failed to connect host 192.168.11.77 (192.168.11.77) on port 135 - NT_STATUS_HOST_UNREACHABLE.
2573 MapiLogonEx : MAPI_E_RESERVED (0xFFFFFFFF)
2574 #############################[mapitest report]#################################
2575 [*] Date : Sun May 25 11:45:29 2008
2576 [*] Confidential mode : [no]
2577 [*] Samba Information : 4.0.0alpha4-GIT-44d8b70
2578 [*] OpenChange Information : 0.8-SVN-build-510 (Romulus)
2580 [*] System Information :
2582 Kernel release : 2.6.23.17-88.fc7
2584 ###############################################################################
2588 [TEST] NOSERVER-LZFU
2589 ------------------------------------------------------------------------
2590 * uncompress_rtf2 : 0x00000000
2591 * uncompress_rtf2 : PASSED
2592 ------------------------------------------------------------------------
2593 [RESULT] NOSERVER-LZFU: [SUCCESS]
2594 ========================================================================
2596 [*] OXCTABLE-RESTRICT
2597 Server is offline, skipping test: "OXCTABLE-RESTRICT"
2598 [*] OXCTABLE-CATEGORY
2599 Server is offline, skipping test: "OXCTABLE-CATEGORY"
2603 ignores objects that contain invalid handlers in mapi_object_release().
2605 Patch by Alan Alvarez. Compile tested, passes mapitest on SBS2003.
2609 Fix API documentation to match signature.
2613 Update QueryRows IDL and implementation to match
2616 The main work here is reworking the SRowSet parsing
2621 Typo fix - allow cleanup to work properly.
2625 Make sure it has a return value.
2629 Rename GetColumns remote operation to GetColumnsAll, and
2630 fix up IDL and implementation to match.
2632 Add some more unit test coverage, and pretty-up the
2635 Fix up breakage introduced in r493.
2638 Make sure nagios directory gets created if it didn't exist yet.
2642 Refactor the unit tests.
2644 Extract out the setup and some of the cleanup code.
2648 - Update openchange code to work with Samba4 4.0.0alpha4-GIT-44d8b70
2649 - Use event_context structure
2650 - update installsamba4.sh script to revert to this revision.
2651 - update torture modulesdir reference
2654 Look a little bit harder for the Samba installation.
2658 - Add GetLocalReplicaIds MAPI call (IDL + implementation + mapitest)
2659 - Add OXCFXICS mapitest module
2663 - Fix "the very secret" openchange coding style
2664 - Add Copyright for our humble new libmapi developer ;-)
2667 Implement the CopyProperties operation, including
2668 a mapitest for this.
2672 - Add TransportSend MAPI call (IDL + implementation + mapitest). This
2673 code maybe needs some review regarding memory.
2675 - Add the GetTransportFolder MAPI call (IDL + implementation +
2678 - Add SpoolerLockMessage MAPI call (IDL + implementation + mapitest)
2680 - Add SetSpooler MAPI call (IDL + implementation + mapitest)
2682 - Add GetRulesTable (IDL + implementation + mapitest)
2683 - Add the OXORULE mapitest suite
2689 Make sure config.mk is the last file removed during distclean.
2693 - Add the Abort MAPI call (IDL + implementation)
2695 OpenChange doesn't support yet asynchronous operation which explains
2696 why no associated mapitest test has been implemented. This should be
2699 - Add the MoveFolder MAPI call (IDL + implementation + mapitest)
2700 - Fix some typo in mapitest doxygen
2702 - Add MoveFolder MAPI call (IDL + implementation + mapitest)
2703 - Fix some doxygen stuff
2704 - add a common function within mapitest which looks for a folder name
2705 within a container and return the opened folder object on success.
2707 Add auto-generated Doxyfile to the svn ignore list
2709 - Add AbortSubmit MAPI call (IDL + implementation + mapitest)
2711 - Uninitialize MAPI and general memory context at the end of mapitest
2714 Clean up / flush the stream after use.
2716 Saves a bit more "still reachable" in valgrind too.
2720 - Rename CopyMessages to MoveCopyMessages
2721 - Improve IDL + implementation and mapitest added
2724 Make sure the version shown for mapitest documentation
2725 is automatically set to match the package version.
2727 complete the rest of the API documentation autonumbering.
2730 Remove duplicate use of $(SHLIBEXT).
2732 Avoid parallel builds for now.
2736 Fix GetContentsTable binding in perl swig
2738 - Improve the GetHierarchyTable and GetContentsTable IDL and public
2739 IDL implementation (new parameters in,out)
2742 Initial part of automatic list numbering for doxygen comments.
2744 This doesn't work correctly with the current apidocs.css, which
2745 turns the list numbers into bullet points for reasons I don't
2750 - Improve the DeleteMessages IDL request
2752 - Update libmapi version from 0.7 to 0.8
2754 - Public API change for the GetReceiveFolder function; now takes a
2755 message class as 3rd parameter.
2757 - Improve GetSearchCriteria request IDL (unknown removed)
2758 - update libmapi copyright headers 2007 -> 2007-2008.
2760 - Improve the SubmitMessage IDL
2761 - minor indentation fixed in IMessage.c
2763 - Add CopyToStream MAPI call (IDL + implementation + mapitest)
2765 - Add SeekStream MAPI call (IDL + implementation + mapitest)
2766 - Add SetStreamSize MAPI call (IDL + implementation + mapitest)
2768 - Add CommitStream MAPI call (IDL + implementation + mapitest)
2769 - Add GetStreamSize MAPI call (IDL + implementation + mapitest)
2770 - refactor the stream test to include all stream related operations
2771 - add a common function which generates a random ASCII blob of data
2774 Add doxygen support for the mapitest examples.
2777 Allow cleaning individual parts.
2781 - Add GetStatus call (IDL + implementation + mapitest)
2783 - Fix format string problem in mapitest headers
2785 Run offline suites by default.
2787 - Introduce the online/offline mode for suite
2788 - Fix Exchange headers print bug when server is offline
2789 - reset errno to 0 before running new test
2792 Install the libmapiadmin.h header.
2794 Fix a compile-time warning on amd64, for the second
2795 argument to the getline() call - incompatible pointer
2798 I'm assuming that size_t is equivalent to uint32_t
2799 on a 32-bit architecture, but not on a 64-bit arch.
2801 A quick test showed no difference in actual output.
2804 Remove bashisms in installsamba4.sh
2808 - Add ReadRecipients MAPI call (IDL + implementation + mapitest)
2809 - Improve some ModifyRecipients and Recipients structure naming
2813 - Add RemoveAllRecipients call (IDL + implementation + mapitest)
2815 - Add OpenPublicFolderByName call added (IDL and implementation).
2817 - Note: the reply IDL doesn't handle Server and ServerCount yet.
2819 - Note: this call only refers to NNTP folders (e.g: folders located
2820 within "Internet Newsgroups". If developers use this call within "All
2821 Public Folders", then the call with return MAPI_E_NOT_FOUND.
2823 - Call not added to mapitest cause it require RightsAuthor permissions
2824 on Internet Newsgroups which is not the case by default.
2826 - dump-data and debug options added to mapitest
2827 - FOLDER suite renamed to OXCFOLD (naming convention)
2829 Rename module folder to oxcfold
2831 Replace the existing mapitest tool with a new implementation. It is
2832 less complete but more modular.
2835 Add proto headers to ignore file.
2839 OpenFolder request: replace unknown field with OpenModeFlags
2841 - Rename 0xFE opnum from OpenMsgStore to Logon
2842 - Update the Logon request IDL
2845 Add BEGIN_DECLS for private_proto.h.
2847 Add forgotten part of rev435.
2849 Add unit test framework for compressed RTF decoding.
2851 Refactor lzfu.c to improve testability.
2855 Fix openchangeclient --mailbox --pf with wasn't launched anymore due
2856 to some incorrect sanity check tests.
2858 - Remove deprecated fuzzer_msgstore torture test
2859 - replace mapi_flags with logon_id in EcDoRpc_MAPI_REQ
2863 A couple of minor fixes to make it read better.
2866 properly clean up sofiles
2868 Import exchange nagios check script by Bill Edmunds.
2870 Add support for creating libocpf soname symlink.
2872 Use standard include for uint64_t definition.
2874 Cleanup talloc and tdb before building samba4.
2878 Check for ocpf_set_Recipients retval (MAPI_E_NOT_FOUND)
2880 - Reset ocpf to NULL after release so the ocpf_init/release couple can be called more than once.
2881 - Sanity check on recipient, avoid parsing if no recipient is set. Return MAPI_E_NOT_FOUND instead.
2883 Add reference to the ocpf lib within the pc file.
2887 Remove duplicate SWIG instructions (already covered by stdint.i).
2889 Ignore files created by swig.
2891 Use config.mk in swig/perl/Makefile.
2893 Allow sambaprefix and prefix to be different. Allow building with unknown
2894 Samba git revisions (will still warn though).
2896 Add --with-samba argument to configure so samba and openchange can be installed in different directories.
2900 Add domain to the mapiprofile dump output.
2902 Fix OpenMessage IDL and GetRecipientTable fetched data
2904 -This line, and those below, will be ignored--
2907 M trunk/exchange.idl
2908 M trunk/libmapi/IStoreFolder.c
2909 M trunk/libmapi/emsmdb.c
2910 M trunk/libmapi/IMessage.c
2914 Fix typo, change samba-config -> samba-hostconfig.
2918 - Add openchangepfadmin to make install
2919 - Add openchangemapidump and locale_codepage to make clean
2923 Merge the samba4-latest branch.
2927 Revert so version number to 0.7
2929 Fix Perl bindings: update mapidump_message
2931 ** Start libmapi-0.8 ROMULUS development **
2933 Add ChangeLog and apidocs to the releases
2935 - Delete unmaintained regression suite
2936 - Fix typo error in torture-clean rule
2938 Add modified release script originally from abartlett/samba4
2940 - Check for specific Samba4 git revision in configure.ac
2941 - Prefix locale functions with lcid and make them _PUBLIC_
2944 API documentation update.
2951 Add installation script for samba4
2953 - Apply the nspi pointer patch - make openchange works with
2954 samba4-alpha3 git 41309dc
2959 Move the top level API documentation to an "overview"
2960 section and add a redirect to that overview.
2962 This keeps the doxygen output more nicely separated for
2965 Also, generate the man pages where the install expects
2970 - Fix strsep bug in openchangeclient
2971 - Add RECIPIENT support to libocpf
2973 - escape/unescape strings support added
2974 - PT_MV_STRING8 type added to OCPF write API
2978 - return MAPI_E_NOT_FOUND if NspiGetMatches doesn't return any results
2979 (based upon patch from lofi@mountproc.org)
2980 - makes the workstation parameter of mapiprofile optional (use
2981 gethostname if not defined by the user on command line)
2983 - Fix an allocation memory problem in cast_SPropValue
2984 - update svn:ignore proplist
2988 Update the documentation build so it keeps generating an embedded
2989 website in with apidocs/html as root directory.
2991 - Add support for PT_UNICODE and PT_SHORT to libocpf
2992 - Initial implementation of the libocpf write API
2993 - Update libocpf documentation
2994 - add --ocpf-dump option in openchangeclient
2995 - Fix realdistclean rules for server
2996 - add cast_SPropValue function to libmapi/property.c which cast
2997 mapi_SPropValue to SPropValue
3000 Split API documentation into two separate sections - one
3001 for libmapi and one for libocpf.
3003 Also add in a top level intro page.
3007 New build system which gathers a list of things that can be built with
3008 the libraries/utilities the user has installed and build that when
3013 Add missing allocation for OLEGUID
3015 --ocpf-syntax doesn't require MAPI to be initialized. Furthermore
3016 makes ocpf-syntax "exclusive" (quit after performing the operation).
3019 r371 was bad. What was I thinking with that nonsense!
3021 Revert to something sane.
3023 Make the ./bin/ directory if it doesn't exist.
3025 This should resolve ticket #33.
3029 Improve language handling when creating profiles.
3031 You can now get a list of valid languages and use either
3032 the language code ID or the language name to specify what
3033 language later versions of Exchange should reply with.
3035 Typo fix - duplicate ; at the end of the structure.
3037 Match format to unsigned int argument.
3039 Make the format specifier match the unsigned argument.
3043 propset svn:ignore update
3045 Update propset svn:ignore on doc/examples and libocpf targets
3047 - Fix ticket #29: http://trac.openchange.org/ticket/29
3049 - use access(2) to see if the database already exists
3050 - test if the profile already exists prior trying to add it
3051 - add descriptive error messages
3052 - catch CTRL-C signal and run a profile deletion routine
3055 Update API documentation for ocpf_nproperty_add().
3061 Fix mapidump_message call parameters
3065 Add fid/mid parameters to mapidump_message and changed
3066 openchangeclient_fetchitems to reflect these changes.
3068 Patch from Brad Hards <bradh@frogmouth.net>:
3069 updates the OCPF doxygen file.
3071 Patch from Brad Hards <bradh@frogmouth.net>:
3072 adds the doc/examples into the build system and enables make examples.
3074 Patch From Brad Hards, <bradh@frogmouth.net>:
3075 API documentation update and minor fix for the error value change.
3083 - Add PT_BINARY property support to OCP
3084 - Add stream support to OCPF for large PT_BINARY blobs.
3085 - Fix a bug which prevented from having no/empty PROPERTY or NPROPERTY
3090 - Prevent from assigning a value which type doesn't match with
3092 - Add missing substitution variable support for some named properties
3094 - Improve sample_appointment.ocpf example
3095 - Add PT_MV_STRING8 keyword to the list of supported property type
3100 Improve OCPF PT_MV_STRING8 support.
3102 - Initial revision for libocpf and its documentation
3103 - YACC support added to the build system
3104 - custom lid and string support in mapi_nameid
3105 - lookup functions added for OOM, lid and string
3106 - OCPF commands added to openchangeclient (ocpf-file, ocpf-syntax,
3108 - PR_FID displayed in openchangeclient --mailbox
3109 - PT_MV_STRING8 support added to cast_mapi_SPropValue
3113 Patch from Brad Hards <bradh@frogmouth.net>:
3114 updates code to build with current API
3116 Patch from Brad Hards <bradh@frogmouth.net>:
3117 little update for some API dox
3121 - Add --update option to openchangeclient and allow users to modify
3122 existing messages (calendar, task, contact, note)
3123 - Add --delete option to openchangeclient and allow users to delete
3124 existing messages (calendar, task, contact, note)
3125 - Add some folder/message unique ID to mapidump outputs and send*
3126 openchangeclient functions.
3127 - Fix a bug in set_SPropValue: add sanity check on unicode
3128 string. Thanks to Suman Manjunath for this patch.
3129 - Fix mapidump_task function and identifiers of named properties used.
3133 Fix missing sanity check on priority
3135 Fix a bug in openchangeclient when tasks are created without body
3137 private flag added to openchangeclient appointments
3139 Fix folder IDs problem for Exchange 2007 SP1
3143 Fix names IDL against Samba4 4.0.0alpha3-GIT-41309dc
3147 - Fix a bug in IStoreFolder.c:OpenMessage which was also affecting
3148 GetRecipientTable. We were extending SPropTagArray prior calling
3149 emsmdb_get_SRow. This was causing ndr_pull_error in OpenMessage_repl
3150 and erroneous data to be inserted in the SRow.
3152 - Fix libmapi/socket/interface.c:
3153 - Use the latest version from Samba4 which removes reference to
3155 - Moves struct interface declaration to netif.h
3156 - Report changes to emsmdb.c notification functions.
3158 - Change GetGALTable prototype to match general libmapi policy. Remove
3159 the usage of bool and replace it with uint8_t. Possible values added
3164 - Improve NspiQueryRows IDL and implementation
3165 - Add GetGALTable implementation: fetch all the Global Address List
3167 - Add --userlist option to openchangeclient
3168 - Add a convenient and basic dumping function for Global Address List
3171 - Improve OpenMessage reply IDL
3172 - Fetch mapi recipients from OpenMessage reply
3173 - Add GetRecipientTable convenient function
3174 - Add OPENCHANGE-MAPI-RECIPIENT torture test to test
3175 GetRecipientTable implementation.
3176 - Add convenient SPropTagArray_add function
3177 - Add internal emsmdb_get_SRow routine
3181 Patch from Suman Manjunath <msuman@novell.com>:
3183 - Adds named-properties which define recurrence patterns for
3184 appointment and task.
3185 - Adds named properties for appointment timezone
3187 - Fix the SNotRestriction IDL and write custom push,pull,print
3189 - Add 2 new MAPI calls to the IDL:
3190 * GetSearchCriteria,
3192 - add sample {Get,Set}SearchCriteria torture test
3193 - add convenient mapi_id_array implementation
3194 - add GetDefaultFolder support for CommonView and Finder folders
3198 Make sure directory exists.
3202 - Fix tiny 'nail down samba4 version' bug
3203 - update the minimal Samba4 required version
3205 - Add FindRow call to the IDL
3206 - Improve mapi_Restriction support
3207 - Remove deprecated ndr_print_QueryRows function
3208 - Add a print function for fuzzyLevel
3209 - Add preliminary FindRow implementation test to MAPI-RESTRICTIONS
3211 - Add couple of new MAPI tags to mapi-properties
3212 - change initial bookmark index to 3
3216 - Add 2 new MAPI calls to the IDL and mapitest:
3218 * GetReceiveFolderTable
3220 - Fix a bug in the SortTable test when no messages are returned by
3223 - Add SeekRowApprox to the IDL and mapitest
3224 - Fix some doxygen typo
3226 - New calls added to the IDL, torture suite and mapitest:
3229 - Internal mapi_object_bookmark_t implementation added to
3231 - SBinary_short default ndr_print function changed to custom
3235 Temporary fixes unexpected segfault in SortTable test. Emails sent
3236 during the Submit test have sometimes not yet been dispatched when the
3237 SortTable test begins. This fix adds a sleep(1) and an arbitrary
3238 number of attempts (5).
3240 Add 2 new MAPI calls to the IDL and libmapi:
3244 Tests for SortTable added to mapitest and the torture suite
3245 Test for AddressTypes added to mapitest.
3249 Fix perl bindings and fetchmail test
3251 2 new MAPI call added to the IDL and mapitest:
3257 - Add DeleteAttach MAPI call
3258 - Add new mapi unit tests:
3262 * GetAttachmentTable
3264 - Update mapitest README
3265 - Add some convenient functions to mapitest_common.c
3269 Add a preliminary draft of the mapitest standalone MAPI test suite.
3275 - Fix the build with the latest Samba4 version.
3277 - Add a basic libmapi/version.h auto-generated
3278 file (based on Samba4 one)
3279 - Remove some warnings when compiling the utf8
3281 - Add a emsmdb_info structure to fetch some
3282 information from the Exchange server
3284 WARNING: Please note that EMSABP is definitely broken and
3285 requires a review and update.
3288 DESTDIR should never get into any source files, that would defeat its purpose.
3292 Fix the torture suite.
3296 provide extra required argument.
3298 Store a loadparm context in the global mapi context.
3300 Deal with samba version.h's that don't contain the Subversion revision.
3304 Use SWIG-provided typemaps for stdint.
3308 Fix Content-Type field in exchange2mbox
3309 Reported by Yuriy Filatov <yuriy.filatov@gmail.com>
3313 - Improve the CreateMessage IDL
3314 - Add new parameters to IMAPIFolder CreateMessage libmapi function
3315 - Add --mkdir --rmdir options to openchangeclient
3316 - Update the CreateFolder API and openchangeclient documentation
3317 - Fix CreateFolder calls in openchange tools and torture suite
3318 - Fix gendb_search warning
3322 Add new PSETID_Address named properties
3324 Fix a few code convention typos
3326 Patch from Suman Manjunath <msuman@novell.com> applied:
3327 converts a 'struct timeval' to 'NTTIME'.
3328 minor extension of 'set_SPropValue_proptag', used while setting PT_SYSTIME properties.
3332 update Samba4 first revision to 26100
3335 Cope with ndr updates.
3339 Patch from Brad Hards: Fix possible Heap overflow in lzfu code
3343 Fix profile creation in a clustered Exchange 2007 environment.
3347 Fix QueryColumns req size.
3351 ** Start libmapi-0.7 PHASER development **
3353 add --dump-data option to mapiprofile for debugging purpose
3357 openchangepfadmin (1) man page added
3359 Store messageID in the object when SaveChangesMessage is called
3361 Nail down Samba4 version for libmapi-0.6
3365 - Add PR_MSG_EDITOR_FORMAT property to the sendmail operation
3366 - Fix body dump bug when PR_MSG_EDITOR_FORMAT property is missing (default set to PLAINTEXT)
3367 - Continue to process the mailbox when a problem is encountered with mesage contents (not attachment)
3368 - Fix a typo bug in openchangeclient body help string
3370 Update doxygen section
3374 - Add doxygen man (3) pages to installman and uninstallman rules
3375 - do not run doxygen if apidocs already exists
3379 Move documentation to doxygen
3383 Add convenient date related functions for implementors:
3384 returns a timeval struct matching a PT_SYSTIME property
3385 for improved date manipulation in 3rd party softwares
3389 Fix build to work with latest Samba4 revision (4.0.0alpha2-SVN-build-25722)
3391 Fix make realdistclean when swig perl is enabled
3393 Fix swig perl bindins compilation: move *.o to *.po
3395 use talloc_memdup to copy const data in the body DATA_BLOB
3396 Should only provide valid pointer to talloc_free
3400 Fix the DeleteMessages [out] IDL.
3402 The remaining bytes were not part of DeleteMessages but
3403 MAPI notification (0x2a)
3407 - Add RTF support in exchange2mbox
3408 - Use openchange-tools public functions
3409 - Replace GetPropsAll calls with GetProps
3412 * Use GetProps rather than GetPropsAll for message dump
3413 * Rely on PR_MSG_EDITOR_FORMAT to select the type of body
3414 * Open a stream for PR_BODY and PR_HTML if the size exceeds max property size
3416 -This line, and those below, will be ignored--
3419 A trunk/utils/openchange-tools.c
3420 M trunk/utils/openchangeclient.c
3421 M trunk/utils/openchange-tools.h
3422 M trunk/utils/openchangeclient.h
3423 M trunk/libmapi/mapidefs.h
3431 Remove useless svn:ignore
3434 Add WrapCompressedRTFStream function for PR_RTF_COMPRESSED content.
3436 Original lzfu decompress routine fetched from libpst-0.5.2
3438 make enum MAPISTATUS variables naming uniform in libmapi
3442 Add PT_CLSID case to get_SPropValue_data
3444 Add/Fix pull property support for PT_UNICODE and PT_CLSID (used by GetProps)
3446 Patch from Brad Hards <bradh@frogmouth.net>:
3447 Fix compilation for x86_64 platforms.
3451 More svn:ignore updates
3453 Update of svn:ignore
3457 added the IDL license
3459 Convert OpenChange to GPLv3
3461 - Add .po files to make clean
3462 - Fix a couple of warnings in the utf8 conversion lexer
3463 - Prefer long filenames to truncated one for attachments in openchangeclient
3467 Prevent exchange2mbox from segfault when PR_MESSAGE_DELIVERY_DATE is unset
3469 Add PT_CLSID and PT_MV_CLSID support to the IDL
3471 - Add new named properties
3472 - Convenient function for MNID_STRING props lookup added
3475 Make .po a recognized suffix.
3479 Use -fPIC for library objects.
3483 - Rename GetAllNamesFromIDs to QueryNamesFromIDs (better naming)
3484 - fix SPropValue_CTR boolean to uint8_t in the IDL and emsmdb.c
3486 - add mapi_nameid convenient interface and headers
3487 - mapi-named-properties populated, parser added to mparse.pl, file
3488 added to the build system
3490 - remove any incorrect reference to named properties in openchange
3493 - remove deprecated libmapi/mapi.h file
3494 - remove unused ulFlag parameter from IProfAdmin functions
3495 - remove unused memory context from libmapi/x500.c
3497 - support sendnote operation in openchangeclient
3498 - optimize check/list oc_element functions in openchangeclient
3500 - update swig interface
3504 - New MAPI calls: Named properties support
3507 * GetAllNamesFromIDs
3509 - Modified MAPI calls:
3512 These calls now have more granularity in libmapi with flags support
3514 - sample mapi-named-properties file introduced in libmapi/conf
3516 - Torture test suite:
3517 * suite temporary fixed (import torture_rpc_* functions from
3519 * torture_namedprops test added
3521 - SWIG Perl bindings fixed according to changes described above
3522 - minor improvements in libmapi/mapidump.c
3526 - Decrease MAX_READ_SIZE to 0x1000
3527 - Clean-up Read/WritreStream related code
3528 - add dump-data option to openchangepfadmin (debugging purpose)
3533 - remove reference to core/nterr.h
3534 - add global_loadparm reference where missing
3535 - add reference to core/error.h where needed
3538 Improve output during build.
3542 Pass loadparm contexts, should fix the build with newer Samba revisions.
3546 - WriteStream API changed: now returns the number of bytes written
3547 - WriteStream man page updated
3548 - 16 bytes extra-data bug fixed when sending attachments in openchangeclient
3549 - Set open mode to 0600 when attachments are stored on the filesystem
3554 Fix preliminary Perl bindings so it works with Samba4 alpha2
3555 and latest libmapi revision.
3557 Patch from Andrew Gaylard <ag@computer.org>:
3559 - When calling openchangeclient with the --dump-data switch, it will
3560 dump core, since the global_mapi_ctx pointer isn't initialised yet.
3561 The fix is to wait until it's set before accessing it.
3563 Patch from Andrew Gaylard <ag@computer.org>:
3564 - Leaving any blank lines before .TH directives appears to cause a blank page
3565 to be output when converting man pages to DVI files (which is a step to converting
3566 them to PDF). The following patch remove the blank line above the .TH in each man page file.
3568 - mapiprofile doesn't understand the -A switch, as mentioned in it's man page.
3573 - Add objectClass to the object: container, message or attachment
3574 - Rename content to message in openchangebackup functions
3575 - add objectClass parameter to ocb_record_init
3579 - Move debug options to their correct location (after MAPIInitialize)
3580 - Improve code related to LDB transactions
3581 - Add convenient error checking macros
3585 - Add preliminary openchangemapidump draft
3586 - Fix lp_parm_* 1st parameter in the torture suite
3587 - New functions in property.c for MAPI data retrieval
3591 Use configure definition for mandir.
3595 Activate debugs this time
3597 Replaced remaining gotos with MAPI_RETVAL_IF so errno is set correctly
3599 MAPI_RETVAL_IF missing ";" could cause surprises ;-)
3601 Add error check for samr call.
3602 set errno with MAPI_RETVAL_IF.
3606 Make required packaged more clear (LinuxMagazin input)
3610 Remove invalid comment.
3614 - Clean-up function prototypes
3615 - Dump email when NEWMAIL notification is received
3619 Proper dependencies.
3621 Don't regenerate proto headers unless necessary.
3625 Use install for installing files/directories.
3627 Actually use replacement variable for libmagic.
3631 Remove forgotten BOOL
3633 Remove mapi_session pointer in mapi_objects
3634 Add public function to IProfAdmin: retrieve default ldif path location outside the OC tree
3638 Prevent users from creation of *undeletable* folders in Outlook and
3639 perform sanity check on dirclass + display possible values.
3641 Provides a way to modify Default and Anonymous permissions for a given folder.
3643 Fix errno in getdir function + add sanity check on opt_rmdir
3645 - Fix a memory related bug in mapiadmin_add_user
3646 - Add latest howto.txt modifications from Dan
3648 - Fix bug in *UserPermission function: return when user is not found
3649 - Add sanity checks to mapi_object API functions
3650 - mapi_object_release reset errno to 0: need to release object
3651 after displaying the potential error message.
3653 Fix a mapidump_appointment bug
3654 Add PF folder support to fetch-items operation
3658 openchangeclient now support send/read/delete operation on custom PF directories.
3660 - Add libmapiadmin library draft: Add/Remove Exchange user
3661 - openchangepfadmin tool added: Public Folders management
3662 - Add Sanity check to CreateFolder
3667 Fix last references to BOOL, True and False.
3669 Fix more references to BOOL, False and True.
3671 Use standard type and values for booleans since Samba no longer exports
3672 BOOL, True and False.
3676 - Add OpenPublicFolder function to libmapi, Open Public Folder store
3677 - change torture suite API to match latest Samba4 pidl changes
3678 - utf8_convert regexp improved
3679 - minor changes: printf to DEBUG
3680 - howto.txt patch from Dan included
3681 - Samba4 torture code related to user account creation included in the
3686 Fix segmentation fault when running update prior populating the database.
3690 Remove obsolete file from the torture suite
3692 - Add Exchange Administration test to the torture suite: Create Exchange user
3694 Dan update on howto.txt
3698 - Add Exchange ACLs support to MAPI library
3699 - Add 2 new MAPI opnum: GetTable and ModifyTable
3700 - Improve mapidump functions
3704 - Improve aclocal check in autogen.sh
3705 - Fix flex binary detection in configure.ac
3713 Create libmapi.so symlink
3717 Fix mandir installation path
3718 Add ldconfig intructions to openchange installation documentation
3724 RES_AND and RES_OR preliminary implementation.
3728 - doc patch from Brad Hards
3729 - rename PROFILE_NOPASSWORD to OC_PROFILE_NOPASSWORD
3730 - fix a warning in property.c
3734 Add some 'const' (fixes compile warnings).
3736 Use sonames (required for the Debian packages).
3738 Add .bzrignore file.
3740 Update version number and use globally defined version number in libmapi.pc.
3744 - Add IDL implementation for restrictions Content, Property,
3745 CompareProps, Bitmask, Size, Exist.
3746 - Add Restrict MAPI call handling the restrictions above
3747 - OPENCHANGE-MAPI-RESTRICTIONS torture test added to the suite.
3748 - convenient sendmail function added to mapi_common.c
3749 - get property size function for mapi_SPropValue added to property.c
3751 test --This line, and those below, will be ignored--
3755 M torture/openchange.c
3756 A torture/mapi_restrictions.c
3757 M torture/mapi_common.c
3758 M libmapi/property.c
3759 M libmapi/IMAPITable.c
3763 Documentation update: Perl bindings installation
3767 - Add mapitags and mapicode support to Perl SWIG bindings
3768 - SPropTagArray support
3769 - SRowSet preliminary support
3770 - new constructor/destructor for mapi objects
3774 - IProfAdmin patch applied: having password outside of the profile
3776 - Perl bindings draft added to the trunk and to the build system:
3777 --enable-swig-perl=yes
3779 - datarootdir fixed in libmapi.pc.in
3783 - Add CopyMessages IDL and COPYMAIL torture implementation
3784 - Fix man page install dir according to latest Samba4 changes
3785 - Add datarootdir var to libmapi.pc.in and fix configure warning
3789 convenient function which retrieve a value from a SPropValue array
3790 given its property tag name, otherwise NULL
3794 Patch from Brad Hards <bradh@frogmouth.net>:
3795 openchangeclient man page updated
3797 - Add Windows UTF8 to classic UTF8 conversion through a lexer
3798 - openchangeclient --mailbox option changed to use it
3799 - flex and bison support added to configure.ac
3800 - windows_to_utf8 function added: wrapper over yyparse_utf8 routine
3804 - features added to openchangeclient:
3805 * --send-appointment
3809 - openchangeclient man page updated
3810 - new properties added to mapi-properties
3812 - Add man pages for simple_mapi.c functions:
3814 * GetFolderItemsCount
3816 - Remove deprecated functions from IMsgStore.c
3817 - Update man pages documentation
3819 Fix install rule in Makefile: add missing headers
3820 Move callback retval from uint32_t to int
3822 Fix notification callback retval
3824 - Advise opnum added to the IDL
3825 - Parts of the Notify response IDL implementation
3826 - Add Notification support to libmapi
3827 - Add --notifications option to openchangeclient
3831 Patch from Brad Hards <bradh@frogmouth.net>:
3832 - PR_BUSINESS_FAX_NUMBER
3833 - improves the information provided on a contact by
3838 - Fix the release call in,out
3839 - Call Release from mapi_release_object
3840 - Add sanity check to OpenMsgStore
3841 - clean up parts of the mapi_newmail test
3843 EcDoDisconnect code now sounds to work properly
3844 Tested against Exchange 2000 / Exchange 2003
3846 - Fix SpropValue property pull problem when GetProps layout is set
3847 - Add a dumpdata boolean to mapi_ctx_t so tools can dump hex data
3848 - Add PR_CONTAINER_CLASS fetch to openchangeclient --mailbox
3849 - Add debuglevel and dumpdata options support to openchangeclient
3853 - Remove useless memory allocation in mapidump.c
3854 - Improve mapidump_appointment
3855 - Add sample mapidump_note
3856 - Add --fetchitems option to openchangeclient:
3857 This command offers an easy way to fetch calendar, contacts,
3858 tasks, notes and mails from the Exchange server.
3859 - Add IPF container class defines to mapidefs.h
3860 - Add and Fix property tags
3864 - Commit the EcDoRpc max_data patch proposed on the devel list
3865 - Clean up folders related functions from the torture suite
3866 (GetDefaultFolder makes this code obsolete)
3870 Add the --mailbox option to openchangeclient which recursively
3871 lists the full mailbox folder hierarchy
3873 - Add PT_SYSTTIME support to get_SPropValue_data
3874 - Add mapidump_SPropValue_date dumping function
3875 - Add PT_SYSTIME support to mapidump_SPropValue
3877 - Add multi-valued SBinary_short support to mapi_SPropValue_CTR in the
3880 - Add GetDefaultFolder implementation to simple_mapi.c. This function
3881 provides a convenient way to retrieve default folders ID. const
3882 olFolder values are stored in libmapi/mapidefs.h
3884 - Modify the torture test suite to reflect these changes.
3886 - OpenMsgStore now decodes all the fid returned in the response
3888 - fix a bug size in libmapi/property.c
3892 - Fix SMTP recipient in libmapi
3893 - Add SMTP recipient support to openchangeclient
3894 and the torture test suite
3895 - Fix a bug in SRow_addprop
3899 - OpenMessage IDL changed: we have a permission field.
3900 It is now set by default to 0x3 (read/write) until we
3901 change OpenMessage prototype.
3903 - Add a sanity check to MAPIInitialize when no profdb
3908 Remove remaining MAPISTATUS and replace them with enum MAPISTATUS
3910 - SetReadFlags IDL and implementation added to libmapi
3911 - Warning fixed in emsabp.h
3913 Fix a bug in openchangeclient when attachments are using
3914 PR_ATTACH_LONG_FILENAME rather than PR_ATTACH_FILENAME to store
3915 attachment filename.
3917 Patch supplied by Brad Hards <bradh@frogmouth.net> which renames
3918 private structure member to private_data for C++ compatibility.
3920 Add libmapi/simple_mapi.c designed to hold convenient
3921 functions for application development.
3923 - GetFolderItemsCount added which returns the number of
3924 total and unread messages for a given folder.
3928 - Fix a body openchangeclient bug which now prevent openchangeclient
3929 from segfault when no body is specified.
3930 - Add GetDefaultProfile call to exchange2mbox for the default
3932 - Improve fuzzer_msgtore output
3936 Add a fuzzer torture test on OpenMsgStore which
3937 test all the possible max_data value.
3939 Should help to understand if libmapi fails because
3944 exchange2mbox improved:
3945 - tdb dependency removed
3946 - message-id are now stored in the profile database
3947 - it now mirrors deletion operation from the mbox file back to the
3949 - man page updated to reflect these changes
3951 - GetProfileAttr function prototype modified. It now returns the
3952 results count for the given attribute and store values in a string
3954 - GetProfileAttr man page updated to reflect these changes
3955 - Fix mapiprofile attribute search command
3956 - migrate from open/write calls to stream ones in exchange2mbox
3959 newmail torture + notifications implementation
3965 Fix the SambaXP live demo segfault: When an ambiguous recipient is
3966 specified, it now skips the name properly and maintain a correct
3969 - Fix a bug when storing attachments into mbox
3970 - Add default path support to exchange2mbox
3974 - Update libmapi version according to the roadmap
3975 - Fix nspi_resolvenames to use default profile database and profile
3979 - Add default profile database and profile support in the torture suite.
3980 - Fix a bug in mapidump_task
3984 - Change MAPILogonEx to MAPILogonProvider and avoid potential
3985 emsmdb endpoint related problem
3986 - add sanity check on global session pointer
3990 Merged MAILOOK-branch changes r64:163 into the trunk.
3994 Remove ChangeLog, use svn log instead ;p
3998 - libmapi includes moved from libmapi/include to libmapi
3999 - Remove arguments from prototype definitions generation in mkproto.pl
4000 - __BEGIN_DECLS __END_DECLS support in header files
4001 - united libmapi/libmapi.h header file
4002 - openchange.h header removed
4003 - PIDL generated files moved to gen_ndr
4004 - compilation rule for libmapi header installation added
4005 - useless torture tests removed
4011 Replace OpenProperty and ReadAttach calls with OpenStream and ReadStream call
4012 Add GetAttachmentTable call
4018 Remove -Werror CFLAGS until I figure out how to fix
4019 our problem definitively.
4021 Remove static from dcesrv_exchange.c functions definition
4026 . reimplement GetProps
4027 . retrieve attachment size
4028 . modify fetchmail and fetchattach torture
4033 . add GetPropList to exchange.idl
4034 . add GetPropList implementation to IMAPIProp.c
4037 - Add fetchattach torture; Attachment size is not yet
4038 defined and 42 is used.
4039 - add 3 new EcDoRpc opnums:
4048 Forgot to add IMAPISession.c
4054 Remove spurious warnings at compile time and
4055 add -Werror -Wstrict-prototypes to CC.
4059 Dispatch libmapi functions into filenames matching
4060 the MAPI interface they belong to.
4064 Fix the attach issue by value and add torture test to
4065 the openchange torture suite.
4070 attachment torture test implementation
4076 Add a null element at the end of MAPI_REQ array
4077 so we can exit from the loop in ndr_print_mapi_request
4081 - Add the DeleteMessages IDL
4082 - New torture tests added:
4083 * OPENCHANGE-MAPI-SENDMAIL
4084 * OPENCHANGE-MAPI-DELETEMAIL
4086 These are experimental implementation
4091 subject option for delete message torture test
4095 added (recipients == null) check
4097 added default subject
4102 Add NspiResolveNames and the associated torture test.
4108 Fix nspi decoding problem due to the usage of
4109 a hyper instead of a dlong.
4113 - Add a preliminary NspiUpdateStat IDL
4114 - Fix the new server code convention naming
4115 (function prefixed with dcesrv_)
4116 - Fix a security bug in emsabp provider code
4120 Fix the allocation memory for the EcDoRpc_{MAPI_REQ,MAPI_REPL} pointer.
4124 Add SetProps [out] support.
4126 Temporary allocation pb fixed in ndr_pull_mapi_response.
4127 Final fix in next commit.
4133 Fix the SetProps [in] IDL
4135 New mapi call support added:
4136 - ModifyRecipients [in,out]
4137 - SubmitMessage [in,out]
4141 Add IDL support for the following mapi calls:
4146 The SetProps IDL is still experimental and the
4147 content blob should be decoded more than the current
4154 Fix the align problem in QueryRows reply blob
4155 Add some printing output and clean useless DEBUG.
4161 Fix the OpenMessage IDL and add ndr_print support
4162 to the MAPI-FETCHMAIL torture test so we can
4167 Commit of the first experimental but working implementation
4168 of the MAPI-FETCHMAIL torture test able to retrieve mails
4169 from an Exchange Server.
4173 - Add a preview implementation of cached data system for multi MAPI calls requests
4174 - Add SetColumns and QueryRows calls to mapi.c + mapi_fetchmail torture test
4175 - Enhance some MAPI calls IDL
4176 - Fix some pull/print functions according to error_code and row_count values
4182 Manual handling of EcDoRpc_MAPI_REPL pull and print function.
4183 When a mapi call returns an error_code different from MAPI_E_SUCCESS,
4184 we have to stop processing the function IDL since no parameters follow.
4188 add MAPISTATUS to EcDoRpc_MAPI_REPL
4189 add mapi library code for:
4195 add mapi calls described above to MAPI-FETCHMAIL torture test
4199 add mapi_response to emsmdb_transaction so we can get the results
4200 check the mapi call error core in OpenMsgStore
4204 Add MAPISTATUS field in each mapi calls
4205 Add new MAPICODE (MAPI_E_CALL_FAILED)
4209 Fix the mapi_request push function
4210 Add a first approach to the MAPI client side library
4211 Add a first approach of the MAPI-FETCHMAIL torture test
4212 Fix the smb.conf.example with new fields and remove Samba4 unused ones
4218 Initial mapidump commit
4219 OpenMessage IDL fixed
4225 Unused and dummy code removed
4229 - Remove the MAPI decoding TDR layer and associated functions
4230 - Add MAPI decoding in exchange.idl at NDR layer
4231 - mapi_request / mapi_response pull/print ok
4232 - implement subcontext for async response decoding in
4234 - new MAPITAGS added related to Message envelope properties
4235 - clean up the code and remove unused files
4237 - Add new MAPI opnums and associated IDL:
4238 * [in] Release (opnum=0x1)
4239 * [in,out] OpenFolder (opnum=0x2)
4240 * [in,out] OpenMessage (opnum=0x3)
4241 * [in,out] GetContentsTable (opnum=0x5)
4242 * [in,out] GetProps (opnum=0x7)
4243 * [in,out] Secolumns (opnum=0x12)
4244 * [in,out] QueryRows (opnum=0x15)
4245 * [in,out] GetReceiveFolder (opnum=0x27)
4246 * [in,out] OpenMsgStore (opnum=0xFE)
4252 For IDL with unknown fields followed the IDL may
4253 change and the mapping of these unknown bytes incorrect.
4254 It's just based on assumptions and results of the different
4259 - The mapi_request / mapi_response pull function
4260 - emsmdb torture tests and libmapi/emsmdb.c
4262 All this code is currently broken and will be fixed
4263 when we start writing the new emsmdb torture suite
4271 Fix ndr_pull_MAPI_DATA function
4275 - Add new mapi opnums
4276 - Add a first IDL implementation for OpenMsgStore out
4280 - Enhance the handles id support in MAPI_DATA
4281 - Remove unused code
4283 EMSMDB encoding/decoding is currently broken.
4284 It will be fixed when we start the client side
4285 mapi library implementation.
4291 - Change IMAPISession.idl to mapi.idl
4292 - enhance mapi content payload decoding (multiple calls supported)
4293 - add sub EcDoRpc opnums and IDL for setcolumns (in)
4300 - new function on emsabp provider for entry id generation
4306 Old mapitables code deleted and merge of the samdb
4307 code used in openchange (emsabp_result_guid function).
4309 The following revision compiles and work fine with
4310 Samba4 revision 20341
4317 Instance keys management changed (we now use struct instance_key and uint32_t instead of an array of 4 uint8_t)
4323 - Fix compilation warnings based on patches provided
4324 by Stefan Huehner <stefan@huehner.org>
4325 - Fix the DSO issue for x64 platforms
4326 - Add the evolution plugin in the compilation process
4327 - remove the mapidump code (obsolete and replaced with ndrdump usage)
4333 evolution plugin moved into client/evolution for
4334 a correct and extensible naming convention.
4336 EcDoRpc IDL modified:
4337 - opnum are now 8 bits
4339 - EcDoRpc ndrdump output enhanced
4341 IMAPISession IDL modified:
4342 - Change OpenMsgStore function name to MAPI_RPC_LOGON
4343 for the 0xFE opnum operation.
4345 Fix warnings in the code.
4351 Openchange-Evolution plugin commit
4352 I reorganized openchange evolution plugin source tree.
4353 Now we have one directory for the camel-openchange provider, and one for the openchange eplugin.
4354 Everything can be found in the oc-evolution directory.
4355 This is code a minimalist implementation of the camel provider for evolution.
4356 It will make appears an openchange server type in the server list handled by evolution.
4357 Still have to fix the ./configure to create a Makefile though.
4361 Fix the memory allocation problems in the emsmdb torture test
4365 Removed ascstr and directly add it to the IDL
4367 Fix the NspiQueryRows response where strings
4368 containing the user email address have to be
4371 The EMSABP provider is working ;-)
4375 The emsabp provider is now able to return multiple users
4376 when searching for part of a username.
4382 Fix the networkAddress binding strings for the
4383 Exchange object in the configuration db. The
4384 SERVER variable based on exchange:server had
4385 been added while we needed the NETBIOSNAME one
4387 Fix a segmentation fault in emsabp.c due to an
4388 unchecked pointer res->msgs. This was causing
4389 smbd to segfault when the supplied legacyExchangeDN
4390 sent by the user wasn't present in the database.
4396 Remove unused files and directory.
4397 Update Makefile.in and remove storedb compilation
4406 - provisioning (for the legacyExchangeDN of the server entry)
4410 Fix the build and remove dynconfig samba lib
4416 Unused ldif files removed + Schemas definitions updated
4420 Provisionning fixed (old ldif files cleaned)
4426 add tags rules to the Makefile
4430 add the \\pipe\\protected_storage named pipe
4431 to exchange_nsp bindings
4437 Add a dcerpc_server module in charge of the
4438 exchange interfaces registration. When this module
4439 is loaded prior the remote endpoint, it let us proxify
4440 the exchange_nsp and exchange_emsmdb ones.
4442 Change the exchange_nsp ncacn_np binding string to
4443 reflect how Exchange server is currently using it.
4445 Conform the IDL with latest pidl requirements and
4446 move the MAPI_DATA structure from exchange_nsp to
4453 Create the $prefix/modules/{dcerpc_server,torture}
4456 This fix openchange make install rule.
4460 This commit conforms openchange with the Samba4
4461 trunk and fix the autotools checks.
4463 I've modified the openchange torture file to
4464 match the current smbtorture API and the
4465 OPENCHANGE-NSPI-PROFILE test was successful.
4467 The NSPI ndrdump suite has fully been tested and
4474 This commit fix the build system:
4475 - add the -ldynconfig dependency to LDFLAGS
4476 - add header checks in configure.ac. We need them
4477 for the moment cause Samba4 doesn't install some headers
4478 required by openchange core
4479 - fix the make install
4481 - remove autotools generated files and definitively
4482 ignore them with the .svnignore file
4484 - keepref keyword removed from exchange_nsp interface
4489 + aclocal.m4 removed from repository
4490 + provisionning fixed