4 Add support for PT_ERROR in mapi_SPropValue casting function.
6 Add support for a couple more types in the casting code.
8 Also adds a development-version "OPENCHANGE_ASSERT()" that flags incomplete code.
13 Add a convenient function to retrieve the total
14 number of records in the Global Address List.
16 Modify openchangeclient to expose this change in
17 the --userlist option.
22 Fix OpenChange notification subsystem to handle multiple session properly
23 Patch OpenChange trunk to reflect this API change
25 Add quick and dirty doc/examples/multiple_notif.c to show how to setup
26 multiple sessions + notifications with threads.
28 Add PidTag for transport message headers
33 One more server API documentation fix.
35 More server side api documentation work.
40 Mix of api documentation fixes for server side.
42 Add MAPI_E_NOT_IMPLEMENTED.
44 This is based on information at
45 http://social.msdn.microsoft.com/Forums/en-US/os_exchangeprotocols/thread/d3c860a8-f131-4c7a-aa11-b9ec328d06c4
50 Implement RopOptionsData (0x6F).
52 Updates IDL, adds implementation and mapitest coverage.
54 This has no practical use, but might be useful for testing the server.
59 Add talloc leak checking options to mapitest.
64 Update man page for mapiprofile to reflect new --language option format.
69 Add special handling for PS_MAPI property name mapping.
71 This fixes a long-standing mapitest failure.
73 The logic is based on MS-OXCPRPT, section 2.2.12.2.2 PropertyIds.
75 Minor API documentation fix.
80 Build fix for example code
85 Fix format string problem #184 ticket
88 Add status reporter classes to allow redirecting the progress
91 Update man page to reflect mapitest --subunit option.
93 Implement basic subunit output protocol format for mapitest.
95 There are a couple of documentation bits to follow.
100 Trivial API dox addition.
105 Update the IDL and implementation for RopGetPermissionsTable (0x3e)
106 and RopModifyPermissions (0x40) to match MS-OXCPERM.
108 The function signature for GetTable() and ModifyTable() has changed.
109 They are now called GetPermissionsTable() and ModifyPermissions()
110 respectively, and there is an additional "flags" argument, which you
111 almost certainly want to pass as 0x00 if you are porting from some
112 older implementation.
114 Updates all users, and adds mapitest unit tests.
119 Add country codes to codepage-lcid description file
122 Remove copied code from samba (ldb) and just use the ldb
127 Allow building if popt isn't available.
130 - remove unnecessary include in libmapiadmin
131 - only build mapistore test tool if popt is available
132 - only build torture tests if popt is available.
134 The last change could be finer (e.g. only leaving out the
135 part of the torture test that actually requires popt) but
136 that seemed more fragile and generally unnecessary.
138 Resolves ticket #233.
146 Ensure we always initialise before trying to cleanup (e.g. in a failure scenario).
148 Issue identified and patch provided by Erik Hovland, minor changes by me.
150 Resolves ticket #236.
152 prop is declared within the switch statement.
154 Fix by Erik Hovland - thanks very much.
156 Resolves ticket #239.
158 Use strncpy instead of strcpy.
160 Patch by Erik Hovland, plus a minor change by me to ensure the string is null terminated.
162 Resolves ticket #237.
164 Add missing break statements
166 Patch by Erik Hovland <erik@hovland.org>
168 Resolves ticket #238.
170 Mark appropriate constructors as explicit.
172 Patch by Erik Hovland - thanks very much.
174 Resolves ticket #240.
178 Patch from Erik Hovland - thanks again.
180 Resolves ticket #242.
184 Patch by Erik Hovland - thanks very much.
186 Resolves ticket #241.
188 Make sure we actually can compile when using --enable-openchange-qt4
190 This patch ensures that $(MOC) gets set in the Makefile.
195 Add canonical names for codepage related properties (involved in
196 PT_STRING8 encoding/decoding)
201 - Add parser for codepage-lcid
203 - Add entire set of conversion functions for lcid, codepage, language
206 - mapiprofile now uses codepage/lcid matching LC_CTYPE environment
207 variable for language detection, otherwise codepage/lcid matching
208 language list. Language list is now dumped from codepage-lcid
211 - Remove deprecated util and tests directory from libmapi and from
212 build system. We now only rely on codepage_lcid.c
214 - Update openchange code (utils, mapiprofile, mapitest and
215 exchange2ical libs) to use this new API.
217 - I have not looked into icalparameter_get_language, but assuming it
218 is relying on previous API, I may have introduced a bug here. Looks
219 like the function outputs for example "en-US" while we now checks
220 for "en_US" to match setlocale output.
223 Minor API documentation adds.
225 Add unit test coverage for the GetGALTable() function.
227 This is mostly lifted from utils/openchangeclient.c
229 Switch to only building Qt4 bindings if specifically asked for.
231 This is a bit experimental for now, so lets go safer...
236 In this particular case (error returned, mapi_response shouldn't
239 Fix bug 605827 - SRowSet was free'd while still needed
244 Template file which associates Language, LCID, Locale and Codepage.
245 Furthermore commits will implement the mparse parser which will
246 auto-generate the associated C files. This should give us a reliable
247 way to use it in mapiprofile, MAPI profiles database and for
248 PT_STRING8 proper conversion purposes.
250 If anything is missing or is incorrect, updating the file will
256 Fix bug where you couldn't select another messages in the default folder without
257 changing folder first.
259 Looks like this is just a bit I forgot to update when changing from an initial
260 cut to the "more working" implementation.
265 - Fix trac ticket #183: PT_UNICODE properties are now turned to UTF-8
268 - Remove deprecated utf8_convert lexer and windows_to_utf8 routine
270 - Change openchange tools to use _UNICODE tag version instead
272 - octool_get_propval now prefer UNICODE properties over PT_STRING8
273 ones (default behavior).
275 - Change mapidump_message API to take an optional mapi_object_t
276 message parameter. If the message object is specified, we can have
277 access to the subject, and recipients (to, cc, bcc) without having
278 to query them within a GetProps call.
281 Fix an ugly cut-n-paste error.
283 Add pkg-config support for libmapi++.
288 Fix ticket #123 (known as 562948 on gnome bugzilla):
289 "Unable to send mails containing UTF8 strings"
291 OpenChange was using strlen(str) * 2 + 2 to calculate the
292 expected size for utf16 string. This patch fixes this and
293 replaces it with a function that make proper utf8 to utf16
296 This commit also replaces PT_STRING8 properties in openchangeclient.c
297 with PT_UNICODE ones to ensure utf8 strings get converted properly.
302 - Add NormalizedSubject and SubjectPrefix strings to object_message_t
304 - Add a function to retrieve TypedString value
305 - Add a mapidump function for obj_message (only retrieve subject and
307 - Add --fetchsummary option to openchangeclient: Dumps properties from
308 OpenMessage response only (subject and recipients) rather than going
309 through GetProps and dumping a more complete version.
312 Move make distclean to the end again.
317 Remove a copy of the dlinklist.h header, and just use the samba
323 Install missing file.
328 Allow us to find samba python code on 64-bit machines.
333 Update EcDoConnectEx IDL to match latest specifications
336 Minor additions to "make clean" / "make distclean" to remove
337 generated python bits, and also the config.h file.
342 Implement IsMailboxFolder for public folder types.
344 Involves some refactoring of the way we handled the mapi_object_store_t,
345 such that we now talloc_zero the structure.
347 Adds mapitest coverage for these.
349 Resolves Ticket #134.
354 Add unit tests for IsMailboxFolder
356 Also use 0xFFFFFFFFF instead of -1 for no-such-mailbox, consistent with the unsigned data type.
361 Change location of .cpp.o and .ccp.po to the correct location
362 and inhibit compilation line output for moc and cpp compilation.
365 Try harder to clean up libmapi++ bits.
370 Ignore moc files and generated binary
372 Update OpenChange version to 0.10 NOMAD
374 Nomad is a mechanical explorer sent from Earth in 2002.
375 It was melded with an alien device named Tan Ru and the resulting robotic
376 hybrid began destroying anything that was imperfect including, in 2267,
380 Add documentation for qt/ subdirectory.
382 Try harder to find moc.
384 Initial commit of some Qt-style bindings.
386 This is mostly for testing, although hopefully the library will
387 emerge with a set of mostly-useful widgets for implementing
393 Quiet the build here.
395 Inadvertent removal in a previous patch.
397 Some support for ReviewBoard.
402 Update OpenMessage flags to match specification values.
404 Cleanup libmapi++ code when we "make clean".
406 Add svn ignore entries.
408 Remove inline from shared library class.
410 Fixes build on Intel C++ compiler.
415 libmapi++ is no longer a header-only library
420 Add first part of Restrictions support.
422 A little more documentation fixes.
426 Fix MAPIUninitialize() crash when leaving after an unsuccessful call.
427 In such situation, mapi_response is not allocated but has a destructor
428 associated. This fix removes the destructor whenever the error code is
429 different from MAPI_E_SUCCESS.
431 Also add a minor (probably useless) check on mapi_response pointer validity
432 before attempting any other child's free.
435 A couple of minor API documentation fixes.
440 Rename libmapi into openchange in our release script.
441 Makes more sense given the scope of our releases.
443 Fix format string warnings.
445 New ModifyRecipients IDL and implementation.
447 This patch improves the logic within the RecipientFlags bitmask
448 calculation function and make use of different MAPI properties for
451 Fix trac ticket #125 and https://bugzilla.gnome.org/show_bug.cgi?id=568763
454 Minor API documentation fix.
458 Fix some exchange2ical memory leaks / "still reachable" memory.
460 Fix property tag array count, so we get the language in Summary
461 lines in the ical output.
463 Add protection against null CN values.
465 Resolves ticket #232.
467 Thanks to Arnout Engelen for the bug report and the patch to fix the problem.
469 Handle all day events for UTC+ timezones.
471 This resolves ticket #217. Thanks to Arnout Engelen for both reporting
472 the problem, and providing a patch. In the end I heavily modified the
473 patch, and implemented a much simpler version while we sort out the
474 timezone identifier problems.
479 Minor documentation update to reflect GSoC exchange2ical merge.
481 temporary fix for building on FreeBSD 7.2.
483 Remove this file - converted it to trac tasks.
487 Patch from Johnny Jacob <johnnyjacob@gmail.com>:
489 Changed MonitorNotification to be non-blocking.
490 Also checks whether to process notifications using a callback.
492 Open Profile Store using global_mapi_ctx for the memory context. This
493 fix removes 20 context errors when running valgrind on mapitest.
495 - Fix important memory leaks in OpenChange NSPI stack. The memory
496 context modifications applied to the EMSMDB stack have been
497 propagated to the NSPI one. NSPI dcerpc_* functions now rely on a
498 temporary context passed in parameter to the nspi_* functions from
501 - Changes propagated to torture, mapitest, IProfAdmin interface and
502 ResolveNames function to match the internal API.
504 - Add missing MAPIFreeBuffer call in mapitest modules
506 Minor cosmetic change
508 Minor changes to match our coding convention more closely
510 Return (const void *) instead of (void *) where missing
512 - Fix important memory leaks within the OpenChange stack. Most of the
513 leaks came from the pipe memory context used in emsmdb_transaction
514 which was only released on MAPIUninitialize and sometimes leaded in
515 lost blocks. This fix makes extensive usage of the temporary memory
516 context used in top MAPI calls implementation. This context is
517 passed in argument to emsmdb_transaction and used for dcerpc_*
520 When we return from any libmapi call implementation, this context is
521 destroyed. This guarantee no extra memory within NDR layer is kept.
523 The only requirement for this patch to work is to make sure the data
524 we return from MAPI calls is either reparent to another memory
525 context or copied properly.
528 Add support for skipping tests that don't apply to some
531 Change the format of the server version, so it matches the Microsoft
532 way of doing versions.
537 Fix store version info assignment - Exchange version now works again
540 Clarify the developer's task when using GetPropList.
542 We were allocating the SPropTag proptag array with the session context
543 pointer, which was not released with a MAPIFreeBuffer(SPropTagArray).
545 We are now using SPropTagArray pointer as parent context and clarify
546 that the developer must pass an allocated SPropTagArray pointer to the
549 Missing mapi_object_release leading in small leaks.
551 Sanitize RfrGetNewDSA function and memory usage.
553 The function was returning either a const char * passed in parameter
554 or the string returned by RfrGetNewDSA call. Furthermore we were using
555 the session pointer for the memory context. Finally the function description
556 was not matching its behavior.
558 What this patch does:
559 - use a named memory context for RfrGetNewDSA call
560 - return an allocated string on success otherwise NULL
561 - release RFR memory context properly
563 valgrind before patch (mapitest):
564 ==28876== LEAK SUMMARY:
565 ==28876== definitely lost: 0 bytes in 0 blocks
566 ==28876== indirectly lost: 0 bytes in 0 blocks
567 ==28876== possibly lost: 3,193,529 bytes in 23,296 blocks
568 ==28876== still reachable: 345 bytes in 2 blocks
569 ==28876== suppressed: 0 bytes in 0 blocks
571 ==28876== For counts of detected and suppressed errors, rerun with: -v
572 ==28876== ERROR SUMMARY: 2351 errors from 2351 contexts (suppressed: 45 from 10)
574 valgrind after patch (mapitest):
575 ==29083== LEAK SUMMARY:
576 ==29083== definitely lost: 0 bytes in 0 blocks
577 ==29083== indirectly lost: 0 bytes in 0 blocks
578 ==29083== possibly lost: 3,190,285 bytes in 23,256 blocks
579 ==29083== still reachable: 345 bytes in 2 blocks
580 ==29083== suppressed: 0 bytes in 0 blocks
582 ==29083== For counts of detected and suppressed errors, rerun with: -v
583 ==29083== ERROR SUMMARY: 2338 errors from 2338 contexts (suppressed: 45 from 10)
585 This patch fixes most of the leaks coming from pull_emsmdb_property() function.
586 pull_emsmdb_property is using pointers and allocate memory to prevent from
587 returning a local variable address. Such pointers include PT_I2, PT_I8, PT_LONG,
588 PT_ERROR or PT_BOOLEAN. Pointer's values are assigned in set_SPropValue but were
589 never released/free'd. This patch implements free_emsmdb_property to fix this problem.
591 valgrind before patch (mapitest):
592 ==26674== LEAK SUMMARY:
593 ==26674== definitely lost: 0 bytes in 0 blocks
594 ==26674== indirectly lost: 0 bytes in 0 blocks
595 ==26674== possibly lost: 3,264,485 bytes in 23,387 blocks
596 ==26674== still reachable: 345 bytes in 2 blocks
597 ==26674== suppressed: 0 bytes in 0 blocks
599 ==26674== For counts of detected and suppressed errors, rerun with: -v
600 ==26674== ERROR SUMMARY: 2370 errors from 2370 contexts (suppressed: 45 from 10)
602 valgrind after patch (mapitest):
603 ==27270== LEAK SUMMARY:
604 ==27270== definitely lost: 0 bytes in 0 blocks
605 ==27270== indirectly lost: 0 bytes in 0 blocks
606 ==27270== possibly lost: 3,127,733 bytes in 23,293 blocks
607 ==27270== still reachable: 345 bytes in 2 blocks
608 ==27270== suppressed: 0 bytes in 0 blocks
610 ==27270== For counts of detected and suppressed errors, rerun with: -v
611 ==27270== ERROR SUMMARY: 2348 errors from 2348 contexts (suppressed: 45 from 10)
614 Minor API documentation fixes.
619 - Add a macro to mparse.pl to free both mapi_response
620 and mem_ctx within OpenChange calls implementation.
621 For the moment it is only implemented in OpenUserMailbox call.
623 - Fix a memory leak in OpenUserMailbox: When the call failed
624 (ecUnknownUser or ecUseEnryption) mapi_response was not free'd
627 Minor indentation fix
630 Add some missing newlines to reduce compilation noise.
632 Merge in Ryan Lepinski's Google Summer of Code work on exchange2ical.
634 See the gsoc_exchange2ical branch history for commits.
636 I also made a change to address ticket #216, and
637 fixed a couple of typos.
642 Minor updates to provisioning instructions.
644 Thanks to Girish Venkatachalam for some suggestions.
649 Fix 'unused variable' warning on FreeBSD for exchange2mbox
652 Add documentation for the --freebusy option.
659 Fix segfaults in mapitest launched with exchange2010
661 Fix compilation warnings
664 Add missing -L directory specifier.
666 Looks like this was tolerated by gnu ld, but not by opensolaris ld.
668 Patch by Brian Lu (Sun). Thanks again.
670 Add documentation for new mapiprofile --encrypt option, introduced in r1602.
672 Fix a couple of typos that trash CFLAGS during build.
677 Automatically switch from connect to seal on the emsmdb pipe if
678 ecNotEncrypted is returned by EcDoConnect.
680 - Make OpenChange natively working with Exchange 2010
681 - Factorize binding string construction code within a single function
682 - the seal flag is mandatory to connect to Exchange 2010
683 - add seal boolean value to MAPI profile creation and mapi_profile
685 - add --encrypt option to mapiprofile to set the seal value
690 Add documentation for set_SPropTagArray().
692 Thanks to Brian Lu (Sun) for reporting.
697 This doesn't really fix ticket #149, but this should
698 at least prevent from triggering segmentation fault when
699 PR_EMAIL_ADDRESS_UNICODE doesn't have any cn=Recipients,cn= substring
702 Trivial fix (newline) for warning on FreeBSD compiler.
704 Add support for manually creating the library symlinks for FreeBSD
706 This is a somewhat speculative commit.
708 Also fixes a couple of cosmetic whitespace issues.
713 Patch from Bryan Lu <brian.lu@sun.com>:
715 Create symbol link only on Solaris
717 This closes ticket #221 and makes it possible to compile openchange
720 Temporary bug fix in emsabp.c - If restrictions are NULL in
721 emsabp_search, return MAPI_E_INVALID_OBJECT. This prevents from using
722 invalid res pointer leading in segmentation fault.
724 Initial fix proposed by Erik Hovland <erik@hovland.org>
726 Patch from Erik Hovland <erik@hovland.org>:
728 fid might be null. Check it before dereferencing in the
729 ocpf_folder_lookup() call. Similar behavior fixed in openchangeclient
730 folder_lookup() function.
732 Patch from Erik Hovland <erik@hovland.org>:
734 NotificationData 'could' be null. Check it before handing it to
735 notification-callback(). This is important because eventually
736 NotificationData will be dereferenced in the code path.
738 Patch from Kamen Mazdrashki <kamen.mazdrashki@postpath.com>:
740 Fix MAPI Warning error codes
742 Patch from Kamen Mazdrashki <kamen.mazdrashki@postpath.com>:
744 bugfix: Bugs in abp_tdb layer fixed.
746 emsabp_tdb_traverse_MId() returns 'false' (i.e. not found) in most of
749 Patch from Kamen Mazdrashki <kamen.mazdrashki@postpath.com>:
751 Implement NspiQueryRows() address list enumeration
753 We can now run openchangeclient --userlist on OpenChange NSPI server
754 and Outlook 2003 is able to query GAL.
756 Note: the initial patch was proposing:
757 "(&%s(showInAddressBook=*))", purportedSearch
759 I replaced it with "%s", purportedSearch only since we don't have yet
760 any showInAddressBook attribute in AD.
762 Patch from Kamen Mazdrashki <kamen.mazdrashki@postpath.com>:
764 - Add server side implementation for NspiResolveNamesW
765 - Refactor and split emsabp_verify_user in two functions
767 A new function emsabp_get_account_info() implemented to fetch info
768 about given user name. emsabp_verify_user() uses the above function
769 check if authenticated account_name is valid mail account and if so,
770 account_name is cached in emsabp context for future use
772 Patch from Kamen Mazdrashki <kamen.mazdrashki@postpath.com>:
774 NspiGetProps() reimplemented to match [MS-NSPI] specification more
777 As a side-effect, emsabp_fetch_attrs() was altered to return
778 MAPI_E_INVALID_BOOKMARK in case requested MId is not found. This way
779 the function returns more meaningful error codes - if requested MId is
780 not found this surely means InvalidBookmark rather than CorruptStore
785 Path from Kamen Mazdrashki <kamen.mazdrashki@postpath.com>:
787 Propagate dwFlags for incoming call to get EntryIDs correctly.
789 Actually we need to propagate dwFlags so that emsabp_query()
790 function to be able to determine whether EphemeralEntryID
791 or PermanentEntryID is requested to be built.
793 Patch from Kamen Mazdrashki <kamen.mazdrashki@postpath.com>:
795 Implement PR_SEARCH_KEY attribute getter
797 Patch from Kamen Mazdrashki <kamen.mazdrashki@postpath.com>
799 Add PR_ADDRTYPE_UNICODE and PR_EMS_AB_PROXY_ADDRESSES_UNICODE getters.
801 Patch from Kamen Mazdrashki <kamen.mazdrashki@postpath.com>:
803 - Extend NspiDNToMId() to search in Configuration and Domain
806 - NspiDNToMId() has been extended to cache returned data properly,
807 i.e. DNs from Configuration partition are cached in ttb_ctx db, DNs
808 from Domain partition are cached in in-memory db ttdb_ctx.
810 Patch from Kamen Mazdrashki <kamen.mazdrashki@postpath.com>:
812 emsabp_set_PermanentEntryID() implements MS specification more
813 closely. For reference: [MS-NSPI] and [MS-OXOABK]
815 - Replace emsabp_get_server_GUID with samdb_ntds_objectGUID Samba4
817 - Change the way we initially fetched server GUID
819 Credits to Kamen Mazdrashki <kamen.mazdrashki@postpath.com> for
820 initial patch and associated research:
822 It turns out MS implementation for NSPI reads the guid from: "CN=NTDS
823 Settings,CN=<NETBIOS_NAME>,CN=Servers,CN=Default-First-Site-Name,CN=Sites,<CONFIG_DN>" entry.
825 Fix samdb_connect warning.
826 Add function prototype to nsp,emsmdb header files.
827 Change samdb_ctx from void * to ldb_context *
830 Update docs to match those in mapiproxy doxygen docs.
832 Roll to the latest Samba4 version.
834 This should have no noticeable difference over the
835 Samba4 alpha9 release, but its nice to use the latest
836 version, and it might make a difference on the server
841 Fix OpenChange server code and access to Samba4 databases.
842 Starting with samba4-alpha9, there is no more configuration.ldb or users.ldb.
843 All information can be accessed through a single access to SamDB and configuration records
844 accessed through ldb_get_config_basedn.
846 The following implementation has been tested and is working with:
847 - mapiprofile profile creation
848 - openchangeclient --mailbox
849 - Outlook 2003 account creation
850 - Outlook 2003 mailbox opening
855 Fix openchange user provisioning scripts
857 Forgot to commit this LDIF modifications for openchange provisioning
862 - Fix OpenChange server provisioning (exchange classes and attribute only)
863 - Remove deprecated provisioning steps
864 - OpenChange user provisioning is still broken at this point, but will be
865 fixed in further revisions.
870 Fix a cast warning at compilation time for libmapi++
872 - Update openchange libraries to 0.9: close trac ticket #165
873 - Propagate pkgconfig solution in trac ticket #94 to other libs
875 - Update openchange code to work with samba4-alpha9 release
876 - Apply minor fix to ldb_wrap_connect (number of parameters)
877 - Update mapiproxy code to handle new Samba4 assoc_group implementation properly
878 - Update samba4 version script to match alpha9 and related git commit
883 Ensure we get output if sqlite3 isn't found at configure time.
885 Now outputs "no" instead of a blank.
890 Fix attribution, per IRC discussion.
895 Ensure API documentation gets generated for utilities functions.
897 Some undocumented stuff in here to look at later.
899 Add additional mapidump functions for notifications
901 This is a patch from Johnny Jacob (Novell), with unit tests and some extra checks by me.
903 Maintains good test coverage for this file.
908 Avoid use-after-free for the number of rows in the SRowSet.
910 Resolves issue #212, which has the valgrind error.
915 Add test for get_proptag_value().
917 Minor cleanups for mapidump functions.
919 - Add support for dumping property tags using PT_SHORT.
920 - Modify the tag for PR_whatever_ERROR results to include the _ERROR bit
921 - Minor format change for PT_BINARY (training colon)
922 - Ensure PT_SYSTIME respects the seperator value (API change)
923 - Add a conditional assert() using infrastructure introduced in r1553.
925 Implement mapitest support for all of libmapi/mapidump.c
927 Update openchangeclient for the API change.
929 Introduce a compile time definition that is set for SVN snapshot releases.
931 The intent is to use this to protect assert() calls that indicate incomplete code.
936 Improved Sun Studio compiler support.
938 Patch by Brian Lu (Sun) - thanks again.
940 Revert inadvertent part from previous commit (r1549)
942 Add coverage testing support.
944 ./configure now supports --enable-coverage, which builds with the right options
945 to support gcov. Also adds a new makefile target ("coverage") that runs the
946 required post-processing steps.
948 Also added a test script that does a range of openchange related (client side)
949 operations. This is useful for generating the test load for coverage checks.
951 So the basic recipe here is
952 1. Add the --enable-coverage option at configure time.
954 3. Install it, or otherwise ensure that coverage-enabled libs are used
955 4. generate the test load (e.g. run ./script/smoketest.sh)
957 6. Inspect the results in ./covresults
962 Add support for the SunStudio compiler.
964 I previously special-cased the Intel C compiler, and relied on some ugly ordering requirements to
965 ensure it all worked.
967 This approach is cleaner, allowing options to be build up separately for each compiler, and for
968 the C and C++ versions.
970 Tested on Linux with all three compilers.
975 Adding missing include.
979 Patch from Brian Lu (Sun). Thanks very much.
984 Additional portability fixes for SunOS.
986 Based on a patch (ticket #220) by Brian Lu (Sun). Thanks very much.
988 I modified the patch to try to use autoconf where possible.
990 Resolves ticket #220.
992 Remove MAP_FILE flag from mmap(). Looks like this is only required on really
993 old unix systems (e.g. NetBSD prior to 1.0), which we probably won't ever support.
995 Patch by Brian Lu (Sun) - thanks very much.
997 Partly resolves ticket #220 - still need to handle the first patch.
1002 Fix build problem using Sun Studio compiler.
1004 Reported by Brian Lu (Sun), including a patch (Ticket #219)
1006 I slightly modified the patch, but nothing substantial.
1011 Patches provided by raboof:
1012 - Ticket #213 deprecated include directive removal
1013 - Ticket #214 missing sanity check
1014 - Ticket #215 fix some DEBUG macro level for sain ouput
1024 Use mapi_profile_get_ldif_path to find ldif path when one is not given
1029 Added libmapi++ wrapper function for CreateProfileStore
1034 Update buildsystem to avoid using bash-specific (well, not sh-supported) +=
1037 Should allow FreeBSD to be supported.
1042 Alternative solution to ticket #179, provided by Alan Alvarez.
1044 This alternative avoids the need for the user to clean up the string returned by what().
1046 Also includes a test case, which I've used to validate that the original (prior to r1524) code
1047 is faulty, and that both fixes (From Erik Hovland and from Alan Alvarez) deal with it.
1049 Resolves Ticket #179 (again).
1054 Make sure that the string given by what() can be used.
1056 Patch by Erik Hovland - thanks very much.
1058 Resolves ticket #179.
1060 Ensure that the libmapi++ messages example works even if there is no
1061 PR_CONVERSATION_TOPIC (subject).
1069 Modify mapi_object_set_logon_id() to be able to report errors.
1071 Original patch by Erik Hovland, I made some changes.
1076 Implement RopReloadCachedInformation (0x10).
1078 Minor change to IDL (previously implemented), and adds
1079 implementaiton and mapitest code.
1081 Also editorial comment fix in some related mapitest stuff.
1083 Resolves ticket #186
1085 Implement GetValidAttachments ROP (0x52).
1087 Includes IDL, implementation and mapitest.
1089 mapitest also checks DeleteAttach behaviour, which I don't think we previously
1092 Also includes a comment fix in the mapitest code.
1099 Patch by Erik Hovland <erik at hovland.org>
1104 Update the properties list.
1106 Patch from Girish Venkatachalam <girish at gayatri-hitech.com>
1111 Update API to use MAPITAGS enum.
1113 Update to match API change.
1115 Use appropriate enum here.
1117 Use enum for OpenEmbeddedMessage call.
1119 Use enums where appropriate.
1121 Update users of FindRow to use enums.
1123 We are supposed to be returning a MAPISTATUS, so switch to using
1124 the OPENCHANGE_RETVAL_ERR macro here.
1126 Use appropriate enums instead of int types.
1128 Use enums instead of ints / hardcoded values.
1130 Use enum types where appropriate.
1132 Fixes warnings from Intel C compiler.
1134 Return a suitable MAPISTATUS if we can't talloc sufficient memory here.
1136 Fixes warning from Intel compiler.
1141 Only pass "-Wmissing-prototypes -Wstrict-prototypes" to CFLAGS,
1142 not to CXXFLAGS as well.
1144 Avoids g++ warnings.
1146 Use enumerated type instead of integer.
1148 Remove unreachable code.
1150 Add "static" to avoid the need for additional declarations.
1152 Avoids noise from the intel c compiler.
1154 Namespace variable in macro, so we don't get noise about shadowing a
1157 Help icc find comparison_fn_t.
1159 Match up data types in argument and format string.
1161 Remove unused variable, and change a name to avoid a "shadowed declaration"
1167 Portability fixes for Intel C Compiler.
1169 Set CFLAGS early, otherwise AC_PROG_CC will set
1170 CFLAGS to "-O2 -g", which later has -O3 appended, which
1171 icc complains about.
1173 Check if we're really icc, and if so, turn off some warnings.
1174 Also turn off the "FORTIFY_SOURCE" define which causes problems
1175 with missing builtins.
1177 The warnings can (and should) be turned back on later, after we
1178 fix the current issues.
1183 Correct diagnostics messages.
1188 Remove explicit -Wstrict-aliasing=3 from command line.
1190 This is implied by gcc -Wall option, and icc produces nuisance warnings
1191 with it enabled (related to the -W option, not the code being compiled).
1193 Fix some memory leaks and a bug in mapiprofile.
1195 I introduced the bug in r1467, there could be others that are similar.
1200 Minor rewording of description
1207 Move initialisation up, to make sure everything is valid in the failure paths
1209 Patch by Erik Hovland. Thanks once again.
1211 This closes out ticket #178.
1213 Remove unreachable code.
1215 Patch by Erik Hovland. Thanks again.
1217 This is the second part of ticket #177. This completes the checkin of that ticket.
1219 Remove unreachable code.
1221 Patch by Erik Hovland. Thanks very much.
1223 This is the first part of ticket #177.
1228 Ensure that we check the result of the operation we just performed.
1230 Patch by Erik Hovland. Thanks very much for continuing to provide these.
1232 This is the third part of the patch in ticket #177. The first two parts are yet to be addressed.
1234 Make sure that return values are checked and report that given status if there is an error.
1236 Patch from Erik Hovland, with minor additional changes. Thanks again for the patch.
1240 More cleanups of memory leaks for setting up database and an associated failure case.
1242 fix leak in openchangeclient
1244 (as seen with valgrind of "openchangeclient -m")
1246 Fix memory leak in mapiprofile utility
1251 Ensure that when we pass --profile to mapitest, that profile
1252 gets used instead of the default.
1254 Also fix a small memory leak when using --profile, and add some
1257 Fix error handling case.
1259 Patch from Erik Hovland - thanks very much.
1261 Resolves ticket #175.
1266 Remove unused enum values.
1268 Remove unused code - no simple tests.
1273 Update the script version of samba4 to alpha8.
1278 Add tevent to dependencies.
1283 Remove unused headers.
1285 Patch by Erik Hovland - thanks very much,
1287 Resolves ticket #164.
1289 Apply patch from Erik Hovland, from ticket #162.
1291 From the original patch:
1292 "The problem is that when you do stat first w/ a file string anyone can
1293 exploit the time in between to do whatever they want with the file that
1294 the string is a name for. Instead, try to open straight away. Then fstat
1295 w/ the file descriptor."
1297 I think the patch is fine, although I didn't run the torture test.
1302 Avoid duplicate call to mapi_object_get_logon_id
1304 Based on a patch proposed by Erik Hovland, but adapted to follow the
1305 pattern used in OpenStream().
1307 Resolves issue #163.
1309 Applied modified version of patch from Erik Hovland to address unused variables.
1311 See http://trac.openchange.org/attachment/ticket/160/unused-values for
1316 My version removes variables (rather than commenting them out) since we don't need
1317 them now. I also updated the documentation for options that are no longer available
1319 The origin of the unused PR_FOLDER_CHILD_COUNT is a bit strange. It was introduced
1320 in r808 (to resolve #103), and looks like it might have been used for debugging - no
1321 impact on the code. I pulled out the whole lot.
1323 Tested with openchangeclient --fetchmail --folder="Sent Mail" and mapitest.
1325 Use array form of delete (error identified with libmapixx-attach test, using valgrind).
1327 Fix potentially unused variable.
1329 Tested with mapitest (even though nothing should have been affected) and
1330 with libmapixx-test and libmapixx-attach under valgrind.
1332 Patch is remaining part of http://trac.openchange.org/ticket/153
1334 Thanks to Erik Hovland for the patch.
1339 Remove dead / unused code.
1341 See http://trac.openchange.org/ticket/152#comment:1 for rationale.
1343 Original patch by Erik Hovland - thanks again.
1345 Update test case to reflect new behaviour
1350 Link libmapistore against tdb.
1352 Update copies of config.guess and config.sub.
1354 Link libmapiproxy against tdb.
1356 Declare a SOVERSION for libmapistore.
1358 Use LDFLAGS when linking exchange2ical.
1360 Create symlink for libmapistore.
1362 Link libmapi against tevent since it uses tevent_context_init, link ndr_exchange.po into libmapiserver since it uses some ndr_push_* symbols.
1364 Fix typo in variable name.
1369 Fix typo in Python variable name.
1371 Keep separate flags for libraries around in config.mk.
1373 Link libmapiserver against all libraries.
1378 Add some PidTag* mapping involved with Recipients and RecipientRow
1383 Patch from Erik Hovland <erik@hovland.org>:
1385 Initializes variables to make sure they aren't used uninitialized.
1389 - Add sanity check on mapitest_common creation routines within
1392 - Apply patch from Erik Hovland <erik@hovland.org>: check return
1395 Patch From Erik Hovland <erik@hovland.org>
1397 In torture_rpc_mapi_sendattach a call is made to the system function
1398 read at line 199. The return value of read is assigned to read_size,
1399 which happens to be of unsigned type. So if read returns -1 (which it
1400 can) it will not be noticed. The patch changes the type to ssize_t
1401 (signed) and checks for -1 as well as zero to break out of the loop.
1405 Patch from Erik Hovland <erik@hovland.org>
1407 1. In mapiproxy, the directory handle dir will be leaked after it is
1409 2. exchange2mbox main() should use exit at line 785 just like all of
1410 the other error paths so that we don't leak anything
1414 Patch from Erik Hovland <erik@hovland.org>
1416 Adds a #include config.h to suppress compiler warnings for vasprintf
1418 Patch from Erik Hovland <erik@hovland.org>:
1420 Make sure pointers are valid before dereferencing
1421 1. lpProps 'might' be null
1422 2. Add folder to variables checked before moving on.
1423 4. Check nprop->guid before giving to strcmp, two times
1424 6. Check definition before handing to strlen (which will dereference
1425 it) Reworked this one to include talloc_free
1426 7. Check MessageClass? before handing to strncasecmp
1427 8. Check backend, return if null.
1428 10. Don't print out anything if lpProp is null
1429 11. Check attach_size before dereferencing
1434 Fix pull structure for QueryRows reply when no RowData is available
1439 - Add preliminary IDL support for Exchange 2003/2007 EMSMDB RPC calls:
1443 - Add LZxpress and XorMagic support to EcDoRpcExt2 request/reply
1444 blob. However it doesn't yet support Chained calls.
1446 - Add AuxInfo/AUX_HEADER structures and IDL
1448 - Refactor mapi_request and mapi_response: move obfuscate_data calls
1449 up to the EcDoRpc layer
1454 Patch from Paolo Abeni <paolo.abeni@gmail.com>:
1456 call ProcessNotification() after each successful
1457 emsmdb_transaction() in all the libmapi calls.
1459 Patch from Paolo Abeni <paolo.abeni@gmail.com>:
1461 Mapi notifications can occurs inside any emsmdb_transaction; currently
1462 only the notification send by the server inside the
1463 emsmdb_transaction_null() in MonitorNotification() are
1464 parsed/processed/delivered to the appropriate callback.
1466 To be able to process all the received notifications, the notification
1467 structure must comprise the private data to be passed to the
1468 notification callback, since in the average mapi call this data is not
1469 available. This patch modifies the Subscribe() call and the
1470 mapi_notification structure, adding the private_data parameter (also the
1471 related Subscribe() calls are update) and add a libmapi call
1472 (DispatchNotifications) to force the notification dispatching in
1473 a [quite] non blocking way
1478 Patch from Paolo Abeni <paolo.abeni@gmail.com>:
1480 ProcessNotification() is ignoring the handle value contained into the
1481 processed notifications. This means that if many Subscribe() calls are
1482 performed on different folders but with the same flags, all the
1483 registered callback are [incorrectly] signaled with each received
1486 The attached patch match the handler contained into the notification
1487 message against the notification object handle to avoid such
1493 Make sure delayed authenication is not called when server mode is enabled
1496 Update property list to reflect current OAB props.
1498 This deletes a few incompatible properties. Cannot determine the history of the PR_MAILBEAT_ props.
1500 Fix display of Folder ID values (one is filled with ., the other is prefixed with .16 instead of being filled.
1502 Also remove duplicate close() of file descriptor.
1514 Implement RopTransportNewMail (0x51).
1516 Includes IDL, libmapi implementation, and basic mapitest coverage.
1518 Also fix a few doxygen / formatting things.
1523 - Add Redirect buffer support for OpenMsgStore and OpenPublicFolder.
1524 This commit fixes the ecWrongServer (0x478) error users encounter
1525 while running openchange based software in a clustered Exchange
1531 Implement RopCloneStream (0x3b) and RopWriteAndCommitStream (0x90).
1533 Includes IDL, implementation and mapitest tests.
1538 Fix Search notifications.
1540 MS concurred that the docs are wrong.
1542 Patch by Paolo Abeni - thanks very much for the
1543 investigation and the patch.
1545 Update GetStoreState documentation.
1547 Implement RopSetPropertiesNoReplicate (0x79).
1549 IDL was already done. mapitest for DeletePropertiesNoReplicate was
1555 Implement (IDL, libmapi, mapitest) RopHardDeleteMessagesAndSubfolders (0x92)
1557 Also fix some bugs in mapitest common code, and an incorrect sanity check in CreateFolder().
1562 Implement RopHardDeleteMessages (0x91).
1564 Includes IDL, implementation and mapitest.
1567 Ignore generated property file.
1572 Add PT_ACTIONS to list of data types.
1574 Not fully/correctly handled yet.
1579 - Add dcerpc_mapiproxy:delegated_auth option
1580 This option delays mapiproxy-remote server authentication when
1581 the client sends the first request on a given pipe. This is
1582 mandatory in order to have delegated credentials to work.
1584 - Factor remote connection into mapiproxy_op_connect
1589 Add session state to the notification.
1590 Patch by Paolo Abeni - thanks for the investigation and fix.
1592 Also remove a stray debug message.
1594 Add a new mapitest suite for OXCNOTIF (Core Notifications).
1596 Add a test to the OXCNOTIF suite based on test case provided by Paolo Abeni.
1601 Update IDL for ModifyRules (0x41) and add IDL for
1602 UpdateDeferredActionMessages (0x57).
1604 This is a checkpoint commit, pending further investigation
1605 into how we handle PtypRestriction and PtypRuleAction.
1610 Mapitest cleanups - remove GetLastError(), and other minor edits.
1612 Implement LockRegionStream and UnlockRegionStream ROPs.
1614 These appear to be a relatively recent addition to the
1615 documentation, possibly only used in Exchange 2007 / Outlook
1618 This is complete except for testing of whether the locking
1624 Use parent folder full replica ID: 2 bytes instead of 1 byte
1626 - Add Implementation for Logon redirect response buffer in OpenChange IDL
1627 - Update libmapiserver size calculation routine for Logon call to handle this case
1632 Add session and logon_id to the list of parameters to copy between objects.
1633 This patch fixes a problem in openchangeclient when using the --folder parameter.
1636 Remove code relating to free'ing the bookmark returned
1637 by SetCollapseState. Initial investigations with MS
1638 lead me to believe that you can't free that resource.
1640 May be more work in this area as investigation continues.
1645 Fix memory leaks for functions relying on pull_emsmdb_property
1650 Fix emsabp valgrind errors
1655 Make it possible to specify a version number for release different
1656 from major/minor from configure.ac
1661 Make it possible to open and control up to 255 mailboxes within a
1662 single MAPI session.
1664 It implements an internal management of a logon_id array at session
1665 level + enable transparent transport/copy of current logon_id value
1666 among MAPI calls + finally transparently free the logon_id value when
1667 the store object (PF or mailbox) is being released.
1669 - Retrieve recipients from OpenEmbeddedMessage reply
1670 - Test the implementation in mapitest
1671 - Avoid potential memory leak: steal context for returned ulPropTags.
1676 Be more tolerant with Logon request flags
1678 Set retval to MAPI_E_INVALID_BOOKMARK rather than returning.
1679 This case still needs to be fixed though.
1681 Delete debug message
1683 Create a default GetProps reply on error
1688 Fix retval problem in libmapi/nspi.c for GetIDsFromNames.
1689 Function returns MAPI_E_SUCCESS, but errno is set to 0x0000000b.
1690 Set errno to retval to work around this problem.
1693 NSPI-GETIDSFROMNAMES
1695 OXCPRPT-NAME-ID mapitest now passes: The QueryNamedProperties ecMemory retval
1696 has been worked-around by setting QueryFlags to NoStrings to limite the results
1697 scope. This means the MNID_STRING case is not fully checked anymore. We should maybe
1698 add additional tests to do full coverage.
1700 Fix GetNamesFromIDs IDL and implementation.
1702 Note: We should probably update the function prototype
1703 so it takes a mapi_SPropTagArray rather than a single property.
1706 Protect against bad results from GetGALTable().
1708 Resolves ticket #142
1713 Patch from Paolo Abeni: Add sanity check to Subscribe
1714 and prevent applications from crashing if notify context
1720 Ensure NSPI server functions have a valid dcesrv_handle
1722 Add quick/additional configuration information on how to setup openchange server
1724 This commit adds a retval check on private data retrieval function and prevents QueryPosition from causing a
1725 segfault when parent object is meant to come from GetContentsTable.
1727 - Fix NspiGetMatches server reply when specified username is invalid and
1729 - Make use of talloc hierarchy for NspiGetProps properties fetch + fix
1730 a talloc_free bug leading to segfault on failure.
1732 Prevent from registering same mapistore backend multiple times
1740 Add skeleton for GetRulesTable
1742 - return MAPI_E_SUCCESS when QueryRows reply count is 0
1743 - Move Reminders from IPM Subtree to Mailbox root
1745 - Add QueryPosition implementation
1746 - Move from offset to numerator/denominator couple for table objects
1748 Outlook now opens properly using openchange server and display the
1749 mailbox folder list with icons ;-)
1751 - Add skeletons for Restrict, SortTable, FindRow calls
1752 - Introduce emsmdb provider table object
1753 - Add preliminary table implementation for system/special folders
1754 - Add preliminary implementation of GetHierarchyTable, SetColumns and QueryRows
1755 - Improve creation of GetProps reply blob for Mailbox folder
1756 - Fix bug in EcRRegisterPushNotification when associated handle is invalid
1757 - Remove some usage of ldb_filter and use format string instead
1758 - Update libmapiserver sanity checks and look for error_code != MAPI_E_SUCCESS
1759 so openchange server is able to return failed replies to MAPI clients
1760 - Introduce flaggedPropertyRows in libmapiserver_push_property (needed by QueryRows)
1762 This commit makes openchange server work with "openchangeclient --mailbox" ;-)
1764 Still preliminary but anyway worthwhile enough to be mentioned ...
1766 - Add a function to count subfolders of a container
1767 - Add a function to wrap MAPI tables over openchangedb
1768 - Factorize code used to fetch property values from LDB records
1770 - Add default properties to folder records while provisioning mailbox
1771 - Add few more mapping for PR_* to PidTag
1772 - Add a new MAPI property to the list
1774 Avoid openchangeclient --mailbox to segfault when run vs openchange server
1777 Remove some ldb_filters, and just use varargs into ldb_search
1779 warning fix for 64-bit arch.
1781 Revert previous commit.
1783 Experimental commit to fix build problems resulting
1784 from property changes.
1789 - Add PidTagDisplayName property to Mailbox object
1790 - Add PidTagParentFolderId to all system/special folders
1792 - handles array depends if a valid mapi_repl exists. This commit
1793 fixes the destructor semantics.
1794 - Fix a mapitest segfault encountered while run vs openchange server
1795 - Return 1 in SRowSet_propcpy if an error was encountered.
1797 Fix libmapi stack segfault when MAPI calls returns
1798 with error_code different from MAPI_E_SUCCESS.
1800 Do not process NSPI request if we can't find the handle
1802 Remove unnecessary ldb_filter parameter and replace it
1803 with ldb_search format string.
1808 - GetPropertyIdsFromNames skeleton added
1810 - Fix how Release replies are handled in mapi_repl[] array
1811 - Remove Release size calculation
1812 - Fix QueryRows size in libmapiserver
1813 - Add a dummy/skeleton GetPropertiesSpecific function for mapistore objects.
1814 - GetHierarchyTable skeleton added
1815 - SetProperties skeleton added
1816 - CreateMessage skeleton added
1817 - SaveChangesMessage skeleton added
1823 Set mapi_response to NULL upon init ... just to get sure
1825 Fix MAPIUninitialize segfault
1833 - Add skeleton for GetContentsTable Rop
1834 - Add skeleton for some [MS-OXCTABL] Rops: SetColumns, SortTable, QueryRows, SeekRows
1835 - Add libmapiserver size calculation functions for all the above
1836 - Ensure we only set objects parameter if it exists
1837 - Return when dcesrv handle is not available
1839 Merge s4-alpha7 branch back into trunk
1844 - Add several PidTag to openchange.ldb folders
1845 - Add provisioning convenient function which adds attribute/value pair
1846 to a given folder record
1847 - Replace existing special folders reference within Inbox with PidTagIpm* tags
1848 - Add new PidTag values to mapi-properties
1849 - Add a function to libmapiproxy to build a folder EntryID as described in MS-OXODATA
1850 - Add a function which builds special properties for openchangedb folders
1851 - Add PT_BOOLEAN case to openchangedb folder get property function
1852 - Keep a reference to the mailbox username within emsmdb provider context
1853 - Create and return a handle in RegisterNotification
1858 Wrong MessageClass size calculation fixed
1861 Remove duplicate _GNU_SOURCE definition (already specified by Makefile)
1863 Ignore new binary and trial output.
1868 - Fix systemfolder value for System/Special folders
1869 - Add GetProps support to System/Special folders
1871 Add auto-generated parser to the ignore list
1873 - Add auto-generated parser for MAPI property to PidTag mapping
1874 - Add some PidTag values
1875 - Add a lookup and get property functions on system folders
1877 - tuple SystemIdx in the dictionnary to workaround the ordering problem
1878 - Add ParentFolderId attribute to System Folders
1880 - Add creation of "Special folders" to mailbox provisioning
1881 - Rename fid attribute to PidTagFolderId
1882 - Rename name attribute to PidTagDisplayName
1883 - Rename ExplicitContainerClass to PidTagContainerClass
1885 Fix GlobalCount increment
1887 Fix mailbox provisioning
1890 Add test for FILETIME structure.
1892 Update docs for mapiproxy entry.
1895 Fix handling of fids.
1899 - Fix openchangedb mailbox hierarchy and introduces subfolders
1900 as described in [MS-OXOFOLDS] specifications.
1901 - Update openchangedb API to reflect this change.
1903 Rename private mailbox folder "non_ipm_subtree" to "mailbox_root"
1904 to fit with MS-OXOFOLDS specifications.
1906 - Add provisioning code for GetReceiveFolder defaults
1907 - Check if mapistore content repository already exists for the user
1908 - Make mailbox creation verbose
1911 Fix parentfolder reference.
1915 Use recursive call to create folders.
1917 Simplify list iteration, PEP8, avoid using string exceptions.
1922 Fix 'dereferencing type-punned pointer' warnings
1924 - Add strict-aliasing compiler flags
1925 - Fix format string warnings on ubuntu buildbot
1927 - Add _FORTIFY_SOURCE=2 to the compiler CFLAGS
1928 - Fix warnings introduced by -D_FORTIFY_SOURCE
1931 I might have been a bit hasty with that last commit...
1935 Try harder to find sqlite3.
1937 Seems to be in sqlite.pc on Ubuntu.
1939 Fix warning on 64-bit arch.
1943 - Add RopGetReceiveFolder (0x27) implementation
1944 The function respects should respect the semantics and behavior
1945 as described in MS-OXCSTOR specifications. However the python's
1946 code modification required: add ExplicitMessageClass attributes
1947 to folder records is not yet effective.
1949 - Add GetReceiveFolder size calculation function to libmapiserver
1950 - Add a function to openchangedb API to retrieve the FID/ExplicitMessageClass
1951 couple for a given SystemFolder within user's mailbox.
1953 - Provision scripts: create a mapistore default storage space within ${private}/mapistore/${username}
1954 - Provision scripts: add default sqlite:// mapistore URI for system folders
1955 - Add mapistore context initialization when calling OpenFolder on SystemFolder
1956 - Add mapistore context release for folders in emsmdbp object destructor
1958 Factorize emsmdbp objects
1959 Add emsmdbp_object generic talloc destructor
1962 Add test for PT_MV_LONG.
1964 Add tests for PT_I8 and PT_BINARY
1966 Fix warning about no newline at end of file.
1968 Remove most recently added tests from "to be done" list.
1970 Add a couple more mapi_SPropValue tests.
1975 - Initialize mapistore within emsmdb provider context
1976 - Add destructors for MAPI handles and mapistore contexts
1977 - Remove emsmdbp_ctx memory context structure member and
1978 allocate directly with emsmdbp_ctx
1980 I don't see any good reason why we would pad MAPI replies with some bytes.
1981 I guess it comes from some prehistoric openchange code.
1983 Fix systemfolder assignment depending on IsSystemFolder value
1985 - Initialize OpenFolder server reply
1987 - Wrap TDB connections to mapistore (code from samba4) so
1988 multiple instances can open read/write to the same TDB database
1989 - Remove static id_mapping_context (replaced with tdb_wrap calls)
1990 - Update mapistore linkage rules so mapistore can be used with exchange_emsmdb server
1991 - Link mapistore with exchange_emsmdb
1993 Fix aclocal warning for AC_DEFINE comparison_fn_t
1995 Remove useless GetProfilePtr from IProfAdmin interface
1996 Closes trac ticket #131
1998 Add missing script - prevent configure from generating warning vs missing file.
2000 Remove stamp-h1 file during distclean and add it
2003 - Add server-side GetReceiveFolder (0x27) skeleton
2005 Work around the comparison_fn_t redefinition problem
2006 between libocpf and ndr.h
2008 FreeBSD doesn't have time.h daylight global variable
2011 start testing mapi_SPropValue_array.
2012 This also tests some underlying functions.
2017 Add comparison_fn_t support to ndr.h
2018 This was the latest change require to make openchange compiles under FreeBSD
2020 = samba4/openchange FreeBSD support completed =
2025 Remove duplicated post_install call
2027 Add a post_install operation on FreeBSD
2028 Make sure pidl is installed properly.
2030 Patch samba4 tarball so it compiles properly on FreeBSD 7.0
2031 Note: this is a dirty hack which needs to be removed in the future
2033 Install Samba4 correctly although user's PKG_CONFIG_PATH env variable
2034 may not be adjusted properly.
2036 Avoid download samba4 release tarball if already available
2037 in current directory.
2039 - Add test for comparison_fn_t in configure.ac
2040 - libocpf auto-generated files include stdlib.h and prevent from
2041 having the proper comparison_fn_t typedef. This commit works around this
2042 problem and define comparison_fn_t within a private header.
2044 getline is a stdio GNU_SOURCE extension not available under FreeBSD.
2045 Use fgetln instead when it is compiled on this OS.
2047 FreeBSD doesn't define sighandler_t but sig_t
2049 Replace open() call with O_DIRECTORY flag (Linux specific) with opendir
2051 - Add non-default search path /usr/local/{include,lib} to
2052 CFLAGS and LDFLAGS when compiling OpenChange under FreeBSD
2053 - Make use of LDFLAGS while compiling openchange tools
2056 A few improvements for property handling.
2058 Also add unit tests to verify behaviour is correct.
2060 The implementation for the FlatUID (GUID) structure appears broken. Perhaps I'm not using it correctly.
2062 Microsoft confirmed the LCID is wrong in the spec, and will be updated in the next rev.
2067 Check for Flex version < 2.5.35
2068 Make sure users can define the FLEX environment variable
2070 Add automake scripts for AC_CANONICAL_HOST support
2071 Needed for FreeBSD OS detection in configure.ac
2076 Fix warnings from lexer output.
2078 Fixes for warnings on 64-bit architectures.
2080 Fix warning on 64-bit architecture.
2083 Add some more tests for openchange.mailbox.
2085 Fix creation of new mailbox after provision.
2087 Always use the same URL when connecting to openchangedb.
2089 Fix arguments to openchangedb_provision.
2094 Fix libmapi 64-bit machine cast warnings mentioned in Brad's devel email
2097 Warning fix for 64-bit arch.
2102 Add doxygen definition for RopRelease
2104 - Add server-side skeleton implementation for RopOpenFolder and RopRegisterNotification
2105 - Add preliminary size calculation functions in libmapiserver for the 2 calls above
2106 - Fix size bug for serialized requests
2107 - Add skeleton case for RopGetPropertiesSpecific on SystemFolders
2108 - Make sure the GetProps reply blob is initialized whatever happen
2109 - Add a skeleton emsmdbp folder object init function
2114 Remove debug strings for GetPropertiesSpecific Rop
2116 Enable verbose output in server mode - useful during development
2118 Implement preliminary server-side RopGetPropertiesSpecific call for mailbox object.
2120 - Fix GetProps blob for PT_BINARY: use SBinary_short instead of Binary_r
2121 - Fix GetProps size: subcontext is not added to the fixed size calculation
2123 - GetPropsSpecific size calculation function added to libmapiserver
2124 - Function to create a GetProps reply property blob added to libmapiserver
2127 Add tests for provisioning.
2129 Several cleanups in python code, add tests for schema use.
2131 Don't clear PYTHONPATH override.
2133 Remove unused imports, add extra tests.
2135 Use member variable for Ldb, rather than subclassing.
2137 Remove print statements to avoid cluttering test output.
2139 Add simple and incomplete testcase for OpenChangeDB.
2141 Move wipe of data to mailbox.py, simplify arguments to add_root_mailbox.
2143 Move adding a server to mailbox.py.
2145 Move ldif from oc_provision_openchange.ldif into Python.
2147 Stop providing setup_path to OpenChangeDB, as it's no longer used.
2149 Avoid using separate LDIF file when creating folder mailboxes.
2151 Avoid using separate LDIF file when creating mailboxes.
2153 Avoid passing full names object.
2155 Add check-python target.
2160 fix openchange_newuser.
2162 Use SamDB for actual SAM databases, Ldb otherwise.
2164 Remove unused parameters, don't make parameters optional if they are mandatory.
2166 remove unused parameters.
2168 make mailbox object-oriented, remove creds/lp parameters.
2170 Fix OpenChangeDB syntax.
2175 - Add a systemfolder member to the MAPI handle structure to make a difference
2176 between objects managed by mapistore and those stored within openchange.ldb
2177 (root mailbox folders).
2179 - Add opaque functions to set/get private_data and systemfolder to the MAPI
2182 Minor doxygen fix/improvement
2184 Add libmapistore object files to the ignore list
2186 - Add a very preliminary and light libmapistore implementation.
2187 mapistore only supplies init/release and add/del backend contexts.
2188 This commit also includes a sqlite3 backend skeleton (open/close sqlite db)
2189 - A temporary mapistore testing tool has been added locally for implementation checks.
2192 Use convenience function for connecting to openchange.ldb.
2194 Use standard LDB functions - openchange.ldb is not a SAM database.
2199 Implement support the SUMMARY language tag.
2201 Initial checking of libical based exchange2ical code.
2203 This has a long way to go, so think of this as more of a checkpoint
2206 See http://sourceforge.net/projects/freeassociation/ for the library, or
2207 see if your distro has a package.
2211 Add missing parameter to API documentation.
2213 Resolves ticket #130.
2215 API documentation fixes for OpenEmbeddedMessage()
2217 Implement OpenEmbeddedMessage ROP (0x46).
2221 Factor out message creation and message fill actions.
2223 Also remove GetLastError() where appropriate.
2225 Add some API documentation.
2230 Update openchangepfadmin description
2231 Fix tool relying on libmapiadmin
2238 Add more explanation for README
2240 Reimplement RTF decompression.
2242 Add unit tests from MS-OXRTFCP.
2244 Fix warnings in example code
2246 Add description for libmapiadmin
2248 Add description for libmapi / libmapi++
2250 Start on the directory descriptions.
2256 Add overview. Extracted from API docs.
2260 Outline of README file.
2262 (also using this to test buildbot without changing real code)
2266 Add Version field - avoid breaking pkg-config --list-all
2268 Fix warnings (gcc 4.2.4)
2271 Use variable for package version rather than hardcoding it.
2281 - Add an implementation of the MAPI handles management API. The API
2282 internally uses an in-memory TDB database to keep object hierarchy
2283 and a doubled chained list to associate private data to handles.
2285 The API currently provides add, search and delete facilities. Note
2286 that while untested, the delete operation is designed to recursively
2287 delete children of the 'meant to be deleted' handle.
2289 Finally the API doesn't remove TDB records but mark them as free so
2290 they can be reused across MAPI session and prevent from handle counter
2291 growing indefinitely.
2293 - Add a preliminary implementation of the Release call
2294 - Add Release size calculation to libmapiserver
2295 - Update EMSMDB provider to use MAPI handles API
2298 Minor api documentation fix.
2304 Minor API docs tweak.
2306 Token commit of tiny API docs fix.
2309 Look for GNU make harder (gmake on BSDs).
2314 - Add preliminary EMSMDB provider implementation for RopLogon (0xFE)
2315 - Add common routines for OpenChange LDB context init and search
2317 - Add libmapiserver skeleton with size calculation routine for RopLogon
2318 - Change DSO linking dependencies for mapiproxy shared libraries
2319 - Propagate _GNU_SOURCE change from libmapi.h to mapiproxy
2323 Remove .po and .o objects within libmapiproxy subdirectory
2325 Move libmapiproxy into its own directory and rebase mapiproxy headers accordingly
2326 Fix make uninstall for AD and profiles directories
2330 Add python code and ldif files needed to create and populate the experimental
2331 openchange dispatcher database.
2333 Add 5-Minute configuration documentation for OpenChange server mode
2335 - Rebase ldif files into sub directories:
2336 * AD for OpenChange AD modifications
2337 * profiles for OpenChange IProfAdmin interface
2338 - Makes it easier figuring out LDIF files scope
2339 - Prepare setup folder for LDIF openchangedb files integration
2340 - Update install/uninstall Makefile rules for ldif files and
2341 make sure everything got removed
2346 Add support for short language names (e.g. en-AU) for lcid.
2351 Delete deprecated libmapi setup Perl script
2354 Add summary report for tests.
2356 Make mapitest return the number of failed tests.
2361 - Add pkg-config pc file for libmapiproxy
2362 - Improve mapiproxy rules so libmapiproxy gets installed and cleaned properly
2364 Free memory allocated by the fake subcontext in
2365 ndr_pull_mapi_response.
2367 This fix saves 300kb of memory and removes 700 loss records while
2368 valgrinding mapitest.
2370 Fix segfault - Add sanity check - when SPropTagArray is NULL in
2371 NspiQueryRows request
2373 Fix openchange_newuser name typo
2375 Fix server provisioning command line examples
2377 Fix several libmapi leaks.
2379 mapi_response was allocated using emsmdb_ctx->mem_ctx memory context
2380 and was not free'd when libmapi function released their
2381 context. Furthermore we need to release mapi_response->mapi_repl and
2382 mapi_response->handles which are now automatically free'd when
2383 mapi_response destructor is called.
2385 However note that this fix is not perfect: mapi_response memory is not
2386 free'd properly when calls exit with an error.
2388 This commit also make use of talloc_steal where necessary to keep
2389 returned fields allocated.
2393 Use named context rather than autofree
2395 Fix memory leak in emsmdb.c: Use a temporary memory context for
2396 request and length allocation in emsmdb_transaction.
2398 - This removes 827 loss records and approximatively saves 41kb of
2399 memory while valgrinding mapitest
2401 - Fix memory leak in GetDefaultProfile and GetProfileTable.
2402 - Save from 10 loss records while valgrinding mapitest
2403 - Developers are now responsible from freeing the GetDefaultProfile
2404 string the function allocates.
2405 - Apply changes to all openchange tools.
2407 Add blackbox subunit tests for mapiprofile tool
2410 One more trivial fix.
2414 (Yep, more trivial changes)
2416 Fix incorrect LCID for en-CA.
2418 (OK, its token, I admit).
2421 Don't define _GNU_SOURCE unconditionally.
2425 Prevent mapiproxy from multiple init and modules/server register
2426 when an smb client connect to the server (e.g. windows browser or smbclient)
2430 According to [MS-OXOCAL] Section 2.2.1.44.1
2431 "RecurrencePattern Structure", a monthly recurrence
2432 also has a Day specific parameter.
2437 Simply run autogen.sh rather than replicating it inside the Makefile.
2439 need to run aclocal before autoconf for the pkg-config macros.
2443 Use a autofree context rather than a named one - makes sure memory is free'd when we exit the test.
2444 Saves from 4 loss records while valgrind'ing mapitest.
2446 Use temporary memory context for EcDoConnect.
2447 Saves from 20 loss records when valgrind'ing mapitest.
2449 Free PropertyProblem structures returned by CopyTo.
2451 Replace deprecated talloc_init calls with talloc_named
2452 This commit removes some valgrind loss records talloc_init was responsible for
2455 Free everything when running mapitest --list-all.
2456 Valgrind however shows a loss record related to talloc_init ...
2459 Minor Intel C compiler warning fixes.
2461 Minor apidocs cleanups.
2465 Use double pointer for lp_ctx in GetLoadparmContext assessor
2467 Fix memory leak in utf8 lexer.
2469 - Remove custom iconv_convenience from pull_emsmdb_property and use
2470 lp_iconv_convenience on loadparm_context argument instead.
2472 - Change OpenChange libmapi API to reflect this change
2474 - Introduce a lp_ctx assessor in libmapi/cdo_mapi.c
2475 (mostly for mapitest modules). libmapi/mapiproxy developers
2476 should never have to make use of it.
2478 - Remove pointless duplicated call to lp_load_default in MAPIInitialize.
2480 Free lpProps returned by GetProps, Fix context error in valgrind
2482 - Fix memory leak bug: release ndr context in pull_emsmdb_property before returning
2483 - Terminate SPropValue and SPropTagArray using an element with ulPropTag = 0. This
2484 prevent from "invalid read size of 4" messages from valgrind and remove context errors.
2487 Don't install mapiproxy if python wasn't found, since
2488 we wouldn't know where to install the provisioning scripts or be able
2493 Merge libmapi-0.8 branch r1015 to 1017 into trunk
2495 ** Start libmapi-0.9 COCHRANE development **
2497 Merge libmapi-0.8 branch changes into trunk
2501 Add python install/uninstall rules to provision rather than mapiproxy-servers
2503 - Remove server Makefile rules
2506 Note: server and providers have been merged within mapiproxy,
2507 so there is no reason keeping this deprecated code.
2511 Undoing change committed in r1004.
2513 Use .po files instead of .o files for openchange tools
2515 Add --version to openchange tools
2517 Add COPYING file with GPLv3 license
2521 - Add RenameProfile function to IProfAdmin API
2522 - Remove pointless CopyProfile from IProfAdmin API
2523 - Add --rename option to mapiprofile tool
2524 - Update man page to reflect this addition
2526 (close trac ticket #124)
2528 Fix libmapi from crashing when mapi_repl is NULL.
2530 Update Samba4 git rev to fix the charcnv segfault met in openchange
2534 Try to find the Samba python modules if they're not installed in the system
2539 - Fix Subscribe semantic bug and add WholeStore boolean parameter
2540 - propagate API change to tools/torture callers
2542 - Add assessor functions to set dumpdata and debug level in libmapi
2543 (SetMAPIDumpData and SetMAPIDebugLevel)
2544 - OpenChange tools modified to use these function rather than set these
2545 parameters on their own
2547 - Fix --debuglevel segfault in openchange tools
2548 - Enable logging to stdout in MAPIInitialize
2552 * OpenChange libmapi function now returns MAPI error instead of -1
2553 - use OPENCHANGE_RETVAL_IF instead of MAPI_RETVAL_IF
2554 - add doxygen documentation for some missing functions/files
2556 - Missed this event->tevent change in previous commit
2558 - Update openchange to use latest Samba4 master git rev (990491d)
2559 - Fix references to tevent_context structures
2560 - Fix iconv_convenience init in MAPIInitialize
2561 - Remove errorchecks mapitest module warning
2564 Use tevent_context_init.
2570 Some Exchange server (stand-alone) return MAPI_E_LOGON_FAILED when setting EssDN with username rather than
2571 using profile's mailbox string directly. This commit fixes the bug.
2573 - Add EcDoConnect and EcDoDisconnect preliminary support to
2574 dcesrv_exchange_emsmdb.c
2575 - Add internal session management mechanism to EMSMDB server
2576 - Add init and unbind modules function to EMSMDB server
2577 - Add emsmdbp_context and session to dcesrv_exchange_emsmdb.h
2580 Fix valgrind errors caused by using free'd memory.
2584 Implement 'mapiproxy downgrade' behavior in EMSMDB server and force
2585 Outlook to use EcDoConnect (0x0) and EcDoRpc (0x2) rather than 0xA and
2586 0xB (opnums using LZ based compression).
2588 - Add Preliminary implementation for RfrGetFQDNFromLegacyDN DS RFR server
2592 - Preliminary implementation of NspiGetProps NSPI server function
2593 - Makes sure emsabp_tdb_traverse_MId uses the correct dbuf size
2594 - Use correct ldb context (users or conf) depending on where MId is
2595 located (on-memory or on-disk)
2596 - Add PR_EMS_AB_NETWORK_ADDRESS mapping to emsabp_property
2598 *** Outlook is now able to create MAPI profile using OpenChange Server ONLY! ***
2600 - Preliminary implementation of NspiDNToMId NSPI server function
2601 - Add emsabp_search_legacyExchangeDN to search for a record given its
2602 legacyExchangeDN attribute.
2604 - Preliminary implementation of NspiQueryRows NSPI server function added
2605 - fix a bug in the MID TDB traversal routine: cut dptr to dsize length
2606 rather assuming it is NULL terminated
2607 - Add support for "referenced" property tags
2608 - Add support for PR_MV_STRING8
2609 - Add emsabp_search_dn which search for a DN within AD and return the
2610 associated LDB message
2611 - Add PR_EMS_AB_HOME_MDB and PR_EMS_AB_PROXY_ADDRESSES to
2612 emsabp_property array
2614 Prevent from trying to add a NULL element to profile database and segfault on strlen
2616 Prevent x500_get_dn_element from segfaulting when an incorrect DN string parameter is supplied
2618 - Preliminary implementation of NspiGetMatches NSPI server function
2619 - Make use of a on-memory TDB database for Ephemeral Entry IDs
2620 - Add TDB traversal routines to retrieve DN associated to MId
2621 - Move lp_ctx within emsabp_ctx for convenience
2622 - Add EphemeralEntryID to Binary_r routine
2623 - add emsabp_query (Find attribute matching given property tag and
2624 return associated data)
2625 - add emsabp_fetch_attrs which builds a SRow array given a MId and
2626 requested property tags.
2627 - add emsabp_search which searches AD given input search criteria
2628 - add a preliminary Property Tag to AD attribute mapping + associated
2629 functions in emsabp_property.c
2631 Note: This NspiGetMatches is limited to MAILUSER which means we only
2632 look for users (located within users.ldb). This limitation will be
2633 removed when we have a preliminary working emsmdb server, so we can do
2634 more extensive NSPI server tests.
2636 Add sanity check to get_SPropValue_SRowSet, prevents the function
2637 from segfault when RowSet is NULL (e.g. crafted NspiQueryRows replies)
2639 Prevent IProfAdmin based code from crashing when a crafted NspiGetMatches reply
2640 with NULL ppOutMIds is returned.
2645 - Preliminary NspiGetSpecialTable implementation added to NSPI
2646 server/EMSABP provider: Hierarchy Table supported (required during
2648 - add PT_BINARY support for mapidump_SPropValue
2649 - fix a bug when PT_STRING8 or PT_UNICODE pointer is set to
2655 Add new Display Type values (used by EMSABP provider)
2657 Change DEBUGLEVEL for RfrGetNewDSA
2659 - preliminary implementation of RFR server (RfrGetNewDSA): makes Outlook happy
2660 - mapiproxy-servers-install now installs openchange python scripts and ldif file
2664 Move auth_serversupplied_info structure from dcesrv_exchange_nsp.h to libmapiproxy.h
2665 This structure is required for NTLM_AUTH_IS_OK macro
2667 - Add doxygen comments for all OpenChange server modules
2668 - Fix doxygen return value for exchange_nsp
2670 - Add mapiproxy server unbind function and hook in dcesrv_mapiproxy.c
2671 - Add exchange handle enum to dcesrv_mapiproxy.h
2672 - Add authentication verifier macro to libmapiproxy.h
2673 - Add preliminary EMSABP Address Book Provider implementation:
2674 * supports initialization, destructor (talloc)
2675 * implements user and codepage check routines
2676 * retrieve NSPI server GUID
2677 - Add NspiBind and NspiUnbind support to dcesrv_exchange_nsp.c
2678 - Add internal session mechanism management to NSPI server
2679 - Add init and unbind modules function to NSPI server
2680 - Add doxygen comments to all dcesrv_exchange_nsp.c functions
2681 - Add emsabp_context, session and non-exported Samba structure to dcesrv_exchange_nsp.h
2683 OpenChange configuration schema updated with Addressing schema
2684 (Address-Templates, Address-Types and Display-Templates - Exchange 2003 based)
2686 Execute server modules init function when loaded
2689 A few API documentation fixes.
2694 Add documentation for MAPIProxy 'server mode'
2699 - Implement mapiproxy server mode architecture
2700 - Add server modules management API
2701 - Add skeletons for default OpenChange servers (nspi, emsmdb, ds_rfr)
2702 - Add temporary provision Makefile rule
2707 Initial text was correct - rollback
2712 Ensure that GetLastError() also returns the correct value.
2714 Start changing the MAPI_RETVAL_IF() usage to two new macros:
2715 OPENCHANGE_RETVAL_IF() and OPENCHANGE_RETVAL_ERR().
2717 simple_mapi.c is the only one converted at this stage.
2719 Also added a set of unit tests that verify at least some initial
2722 Remove unreachable code.
2724 Partly resolves ticket #124
2729 Remove references to ldap.h header file - not installed anymore with samba4 git rev openchange uses
2731 mapiproxy documentation update: 3 questions added to FAQ section
2733 Patch from Corentin Chary:
2734 - Add PR_CONTENT_FILTER_SCL property to libmapi
2736 - Update openchange to work with samba4 master git rev f308c2f
2737 - Replace reference to events.h with tevent.h
2738 - Update installsamba4.sh script to reflect latest samba4 compilation changes/requirements
2743 Fix mapidump date/month when freebusy period covers end of one year - beginning of next year
2744 Update openchangeclient to reflect these changes.
2749 Export PKG_CONFIG_PATH if it wasn't exported yet. Patch by Metze
2751 Fix PIC object flags for SWIG build. Patch by metze.
2756 User %u format specifier for unsigned integer.
2758 Make return value match signature.
2760 Miscellaneous minor cleanups. Mainly making return types
2761 match signatues, format conversion (%u for unsigned values) and
2762 matching up result variable types (bool instead of enum MAPISTATUS).
2764 Return an enum MAPISTATUS, instead of a bool, to match function signature.
2766 Use %u instead of %d for unsigned values.
2771 Another minor APIdox edit.
2773 API documentation tweak.
2781 More apidox triviality.
2783 Trivial APIdox edits.
2785 Supplement the user's PKG_CONFIG_PATH rather than
2789 Add bindings for GetBestBody(), GetDefaultFolder(), GetDefaultPublicFolder(), AddUserPermission(), ModifyUserPermission().
2791 Add bindings for create_message, delete_messages, get_message_status, set_read_flags.
2793 Add Python bindings for Unsubscribe(), get_task_status(), get_importance(), get_proptag_name(), get_proptag_value(), DeleteFolder(), CreateFolder(), EmptyFolder(), RemoveUserPermissions(), IsMailboxFolder().
2798 Actually use pymapi variables in Makefile.
2800 Add configure flags for building and installing Python MAPI bindings (disabled by default).
2805 Add namespace prefix to scanner.
2810 - spnego / gssapi_krb5 authentication now available for mapiprofile
2811 - add the --realm | -R option
2812 - update mapiprofile man page
2817 Remove entries for --properties and --priority, which have been removed from the openchangeclient utility.
2821 Don't generate / install man3 pages for libmapi++ or mapitest.
2823 Resolves ticket #121.
2825 Also don't install man3 pages that are just copies of the C implementation files, or just document bugs / todo items.
2828 Allow retrieving id and session of MAPI objects.
2830 Add MessageStore and Object Python classes, add bindings for OpenMsgStore, OpenUserMailbox, OpenPublicFolder.
2832 Add stubs for Session class.
2834 Add infrastructure for MAPI python module.
2836 Look for python and python-config binaries.
2838 Remove empty directory.
2842 Remove obsolete --properties option and related code
2847 Fix RecipientRow member's order
2852 - Update to latest samba4 git master revision (3508a66)
2853 - Fix references to samr info24 struct
2854 - Add support for assoc_group_id proxy
2855 - Add support in mapiproxy for bind/alter connections using assoc_group_id
2856 - Update mapiproxy documentation
2861 Improve building. Partially addresses #94.
2863 More work required on this as we work on the
2864 portability in the future.
2866 Expose the underlying session.
2871 Remove unused --priority option.
2873 These offsets / values can be negative, so we shouldn't
2874 use unsigned int type to represent them.
2879 Fix Logon problem for users running Exchange 2k7 in a clustered Exchange environment.
2881 This patch first tries to forge EssDN Logon string from "o" and "ou"
2882 attributes stored in the profile. If Logon fails with ecUnknownUser,
2883 then try to open the mailbox using the mailbox attribute stored in
2889 Document the --label option.
2894 Make openchange compile and work against latest samba4 master git rev (58db2be)
2897 Remove check for unused type 'uint_t'.
2902 More tweaks on the openchangeclient man1 page.
2904 More updates for man1 page for openchangeclient.
2905 Still doesn't fully address #113.
2907 Update the openchangeclient man1 page.
2909 Partly addresses ticket #113.
2911 There is still some work to do on this.
2913 Fix a typo, and try to make the descriptions more
2919 Initial version of man1 page for mapitest
2921 Initial man1 page for exchange2ical utility.
2926 Update man1 page for openchangepfadmin
2928 Minor updates for the man pages.
2933 Fix build errors: wrong number of arguments for ocpf_propvalue
2935 Fix warnings when compiling with -Wextra
2937 Fix warnings when compiling with -Wextra
2939 Fix warnings when compiling with -Wextra
2942 Complete initializers here.
2947 Update to reflect latest state of mapiprofile.
2952 Prevent segfault when running mapitest. Looks like the we can
2953 return MAPI_E_SUCCESS even if one of the property values is
2954 MAPI_E_NOTFOUND. That error then get turned into a char*, and
2957 Also fix a possible bug relating to operator precedence, and
2958 a couple of warnings (one for signed / unsigned comparison, and
2959 the other for an unsigned value never being less than zero).
2964 Enable output to stdout.
2966 Resolves ticket #106.
2968 Thanks to raboof for the report and fix.
2973 Fix missing initialisers (issue #110).
2975 Also fix some signed/unsigned warnings.
2977 Fix problems with incorrect initialisers (#110) and
2978 operator precedence.
2980 Also fix a couple of places with signed/unsigned confusion.
2982 Partial fix for issue #110, and a couple of very minor cleanups.
2989 We probably want to return here, not do nothing.
2994 Fix empty patch function problem: add a retval
2999 Explain the boost-thread trick.
3001 Minor documentation tweaks.
3006 - remove usage of global_loadparm in libmapiadmin
3007 - make use of session context rather than global_mapi_ctx in libmapiadmin
3008 - use local context rather than mapiadmin context in libmapiadmin
3009 - libmapiadmin now uses ldb helper rather than raw implementation (ldb async code)
3010 - libmapiadmin and openchangepfadmin now works again (user creation/deletion) !! ;-)
3011 - remove global_loadparm in torture test and replace it with torture context
3012 - fix dcerpc_init to match latest samba4 API
3013 - update samba4 version required to build openchange
3016 More API documentation tweaks.
3018 More API documentation tweaks.
3020 Some API dox fixes for libmapi++.
3023 Remove unnecessary patching of lib/events/events.h.
3028 Update to a more recent Samba4.
3031 Remove some usages of deprecated global_loadparm.
3033 Cope with new argument to dcerpc_log_packet().
3038 Fix includes for DEBUG(), fix some more warnings.
3040 Use same_net_v4 rather than deprecated same_net().
3042 Fix Samba 4 git revision.
3044 Fix includes - debug.h can only be included once.
3046 Include debug header.
3048 Cope with API changes in Samba functions.
3050 Use new function is_zero_ip_v4 rather than removed is_zero_ip.
3055 Fix OpenMsgStore binding in swig perl and fetchmail script
3060 Fix pointless const definition for GetFreeBusyYear return type
3064 - Add the IsFreeBusyConflict convenient function which checks if a
3065 given date conflicts with existing FreeBusy Busy/OOF events
3067 - Modify openchangeclient --sendappointment behavior to check whether
3068 start or end date conflicts with FreeBusy published data for the
3071 - Add the --force option to openchangeclient to override this behavior
3073 - Fix a counter bug in mapidump_freebusy_events
3075 Fix doxygen typo error
3077 - Add GetUserFreeBusyData convenient function which retrieves FreeBusy
3078 data in public folders for a given user. Note: Ambiguous name is not
3079 supported at the moment.
3081 - Add convenient FreeBusy mapidump routines
3083 - Add FreeBusy read support to openchangelient
3085 - Add PT_MV_LONG and PT_MV_BINARY support to pull_emsmdb_property and
3086 property.c functions
3088 - Add OpenUserMailbox which let developers open other mailboxes
3089 instead of the default profile one.
3091 - Add GetABRecipientInfo: convenient function which retrieves Address
3092 Book information for a given recipient
3097 - Add libmapi implementation for DeletePropertiesNoReplicate
3098 - Add mapitest test units for DeleteProps and DeletePropertiesNoReplicate
3100 Fix doxygen documentation
3105 - Implement multisession into libmapi
3106 - Update openchange tools and suite to reflect these changes
3107 - Fix SRow_addprop behavior
3109 NOTE: OpenMsgStore, ResolveNames, GetGALTable and RFR functions
3110 now take a mapi_session parameter.
3113 Use my openchange.org email address.
3118 - Add a session management API for mapiproxy modules. Similar code
3119 already existed for mpm_cache module. Common functions are now
3120 available to all mapiproxy modules through libmapiproxy
3122 - replace smbd with samba in mapiproxy documentation
3124 - Cache calendar, contact, journal, note, task and drafts folders IDs
3125 when GetDefaultFolder call is performed on one of these folders and
3126 keep them until obj_store is released.
3128 - Add a reverse lookup routine which says whether a given FID belongs
3129 to a default folder and which olFolderType it is.
3131 - Remove pointless memory context in GetDefaultFolder
3132 - Move entryID to FID code into a separated routine (GetFIDFromEntryID)
3134 Restore install rule for mapi profiles ldif files in
3135 libmapi-installscript. Fix the MAPI_E_NO_ACCESS bug when mapiprofile
3136 tries to create a new mapi profile store.
3140 - Ticket #103 resolved. openchangeclient can now perform custom folder lookup, fetch, mkdir and rmdir.
3141 - mapi_object_copy routine added to mapi_object.c
3146 Fix missing Month field in LogonTime structure
3150 propagate IDL warning fix to property.idl
3153 Add target for building python API documentation.
3157 Fix samba4 release and git revision
3159 Fix installsamba4.sh script paths
3164 Install OpenChange python modules.
3166 Check for python dir during configure.
3168 ignore generated files.
3170 Stop installing js files.
3172 Use autoconf cache prefix.
3174 Use newer version of Samba 4.
3178 Remove dcesrv_exchange.so from server Makefile rule and
3179 move mapiproxy from TOOLS to SERVER.
3181 dcesrv_exchange and providers Makefile rules are orphan, planned
3182 to be removed (with their associated code) when emsabp merge process
3183 into mapiproxy is over.
3187 Export the Binary_r structure.
3191 Use more descriptive variable names in messages example code.
3193 Add a description of messages to libmapi++ API documentation.
3195 Add messages binary to the ignore list.
3197 Add new example showing libmapi++ message handling, and
3198 associated API documentation and build system changes.
3202 Update the API documentation main page for libmapi++
3206 Add foldertree binary to the ignore list
3208 - Add missing Input parameter
3209 - Add sanity check on ppNames
3212 - Fix a bug in NspiUpdateStat: make plDelta mandatory and use it for in,out
3213 - Add a NspiGetSpecialTable test for Address Creation Template
3216 Fix valgrind-reported error, per ticket #101.
3218 Make sure we clean up after mapitest runs.
3224 - Add msExchUserAccountControl attribute to extended user record
3225 - openchange_newuser can now create/enable/disable an OpenChange account
3227 Exit the test if the WriteStream operation fails
3229 Fix ncacn_ip_tcp binding string for OpenChange server object
3231 With new NSPI IDL, using cValues - 1 is incorrect and lead to errors. Use cValues directly instead
3233 Fix pipe function check and use ndr autogenerated defines rather than static strings
3234 Fix calls to NspiDNToMId
3237 Make sure we set the body and body format properties, to
3238 ensure that the message is shown correctly with
3239 openchangeclient -F.
3244 - Rename oc_* python scripts to openchange_*
3245 - Add Full Exchange 2003 schema (classes and attributes)
3246 - Full Exchange 2003 modified classes and attributes support
3247 - Add prefixmap OID for some Exchange classes and attributes
3248 - Add missing ADSC classes and attributes
3249 - Improve configuration LDIF file with new objects
3251 NOTE: provision.py should find a way to handle firstorg properly
3252 NOTE: oc_provision_configuration.ldif is still incomplete
3255 API documentation improvements.
3259 Add an example to the libmapi++ documentation, and
3260 the right build magic and doxygen linkage.
3262 Minor API documentation fix
3266 Add forgotten part of API documentation fixes for mapitest.
3268 Improve mapitest API documentation.
3272 Use new DeleteFolder flags to clean up folders on deletion.
3274 This doesn't completely resolve ticket #84, but it does help.
3276 Ignore API documentation.
3278 Add Doxyfile to ignore list.
3280 Add initial support for Doxygen API documentation
3285 Implement the remainder of the standard public folders.
3289 Only do header line removal at the start of the file
3290 (lines 20 through 40 seems like a good compromise).
3292 libmapi++ is C++, not C, so we should not optimise
3293 Doxygen output for C.
3297 - Update the Logon_repl IDL (0xFE) and implementation
3298 - Add new folders to the mapi_obj_store for PF folders
3299 - rename pf_finder to pf_search
3302 Suppress some more unwanted headers.
3306 - Add GetStoreState (0x7b) IDL, implementation and mapitest unit
3310 - Update the EmptyFolder IDL
3312 - Update the SearchFlags enum, GetSearchCriteria and SetSearchCriteria IDL
3313 - Add mapitest units for GetSearchCriteria and SetSearchCriteria
3315 Link libmapi++ documentation to main apidocs page
3317 Update GetAttachmentTable IDL and remove the unknown field
3319 - Update DeleteFolder IDL and implementation
3320 - It now supports DeleteFolderFlags as input parameter and can return the ParticalCompletion state
3321 - Sanity checks added at the beginning of the function
3323 - Rename GetRowCount to QueryPosition
3324 - IDL, implementation, documentation and openchange code updated
3325 - ActionType enum fields prefixed with 'ActionType_'. Original
3326 values were causing conflicts while building Perl bindings with
3327 'i386-linux-thread-multi/CORE/opnames.h where OP_DELETE was already defined'
3329 Change enum SaveFlags to uint8_t for doxygen documentation to be generated properly
3331 - Update SaveChangesMessage IDL and implementation
3332 - Add a SaveFlags parameter to SaveChangesMessage function
3333 - update openchange code to reflect this change
3336 Build fix / fix for ticket #99.
3338 Filter out some new #include lines.
3340 This needs to be applied to other modules too.
3344 Update SRow and SRowSet IDL
3346 Delete obsolete input_locale and instance_key structures
3348 Fix WStringArray_r IDL
3350 - Move from MV_UNICODE_STRUCT and LPWSTR to WStringArray
3351 - LPWSTR structure removed
3353 Rename SDateTimeArray to DateTimeArray_r
3355 Rename SGuidArray to FlatUIDArray_r and fix the IDL
3357 Rename MV_LONG_STRUCT to LongArray_r
3359 Rename SBinary to Binary_r
3361 - Add removal of libmapi++ Doxyfile in make distclean rule
3362 - Add Doxyfile to svn:ignore
3364 Rename SShortArray to ShortArray_r
3366 - Move from SLPSTRArray to StringArray_r
3367 - LPSTR structure removed
3369 Rename MAPIUID to FlatUID_r
3371 Fix lexer warnings during compilation (ticket #100)
3373 - Update the EcDoConnect IDL (ref. ticket #99)
3374 - Add new fields to the emsmdb info structure
3375 - Add doxygen comments to libmapi/emsmdb.c
3378 Reduce warnings when compiling with 64-bit arch.
3380 Initial checkin of infrastructure for libmapi++ API documentation.
3384 - MAJOR NSPI protocol and libmapi stack update
3385 - All NSPI protocol functions implemented
3386 - NSPI stack fully documented
3387 - NspiGetHierarchyInfo renamed to NspiGetSpecialTable
3388 - NspiDNToEph renamed to NspiDNToMId
3389 - instance_key removed from nspi_context and set as a parameter to NSPI functions
3390 - SPropertyRestriction renamed to PropertyRestriction_r
3391 - FlagList structure removed and replaced by a SPropTagArray
3392 - MAPI_SETTINGS removed and replaced by a STAT structure
3393 - new MAPI property tags added to libmapi/conf/mapi-properties
3394 - NSPI module added to mapitest
3397 Clean up on failure.
3399 Clean up on failure.
3401 Minor improvements to ensure cleanup on failure.
3403 API documentation fix
3405 API documentation fix.
3407 API documentation fix.
3409 API documentation fix.
3411 API documentation fixes.
3415 API documentation fixes.
3419 Fix EMSMDB 0xb function name
3421 - update EcRRegisterPushNotification IDL
3423 - implement complete MAPI notifications
3424 - update libmapi to reflect these changes
3425 - make openchangeclient prints a brief summary for each notification found
3426 - update ulEventMask used in openchangeclient
3430 - Rename Advise MAPI call to RegisterNotification
3431 - Update RegisterNotification IDL and implementation
3435 - Fix Restrict IDL and implementation
3436 - Add a new parameter to the Restrict function
3439 Add mapi_nameid.h to the ignore list
3441 - Replace libmapi/mapi_nameid.h with a generated mparse file
3442 - Add a mapi_nameid.h parser to mparse.pl
3443 - Add canonical names for named properties
3444 - GetProps and SetProps resolves named properties if they exist
3445 - named properties can now be set directly and make mapi_nameid API be
3447 - replace named property tags hex value with their canonimal names
3448 - replace several use of the mapi_nameid API with smaller code
3450 - Add new IDL file (property.idl) to push/pull structures from binary
3451 blobs and not directly related to any MAPI calls. Include the
3452 generated property.h file into libmapi.h
3454 - Add PT_MV_STRING8 support in pull_emsmdb_property (GetProps reply
3455 parsing) and mapidump_SPropValue
3457 - Add functions to property.c to retrieve RecurrencePattern,
3458 TimeZoneStruct and GlobalObjectId structures (see property.idl).
3460 - add a preliminary version of exchange2ical tool. This version only
3461 dumps calendar folder appointments into ICS file on standard output.
3465 - Update mapi-nameid-properties with a more complete set of properties
3466 - Add a header to mapi-nameid-properties for sanity purposes
3467 - Move named properties with PT_STRING8 type to PT_UNICODE
3468 - update openchange code to reflect these changes
3469 - Add PSETID_Attachment to mapidefs.h
3473 Add missing check on password for the create command
3475 Fix incorrect usage of realm in mapiproxy
3479 Check for provider_rpc_connection retval for RFR functions.
3481 Update Doxyfile to parse mapiproxy/modules files and
3482 include documentation on static functions.
3484 - Add NSPI hook on NspiQueryRows and NspiDNToEph and replace the
3485 Exchange server name with mapiproxy one.
3486 - documentation updated to reflect these changes
3487 - new FAQ question added
3488 - developer documentation improved
3490 Add the RFR mapiproxy file.
3492 - Implement RfrGetNewDSA DN replacement in mapiproxy
3493 - use lp_realm rather than sockaddr in NspiGetProps (FQDN rather than IP address)
3494 - update mapiproxy documentation to reflect these changes
3498 - Add implementation of the NSPI Referral protocol (exchangeRFR)
3499 - update dcesrv_exchange and mapiproxy prototypes for RFR
3500 - add references to the RFR pipe in mapiproxy
3501 - prefix NSPI client connections with a RfrGetNewDSA call
3502 - add RFR functions implementation in libmapi/IMSProvider.c
3503 - add a --getfqdn option to mapiprofile
3504 - fix a minor mapiprofile option parsing bug
3508 Fix mapiproxy dummy module unbind prototype
3510 - Remove flags in EcDoRpc top function, fix compilation vs latest samba4-git version
3511 - EcDoRpc indent updated
3515 Get rid of initialization order warning
3519 - add unbind hook for mapiproxy
3520 - add ahead mapiproxy mode
3521 - add read ahead in cache module
3522 - add synchronization mechanism in cache module
3523 - update mapiproxy documentation to reflect these changes
3527 Temporarily comment out installation of files removed
3532 Fix arguments, paths in provision scripts.
3534 Merge python provision/newuser scripts.
3536 Simplify installation of manpages a bit.
3540 Add configure check for libboost-thread. Add libmapi++ to the build
3541 only if it is available.
3545 - session constructor doesn't login to the server anymore, it calls MAPIInitialize().
3546 - Created session::login() members.
3547 - test applications use default profile.
3551 - Import Alan Alvarez work from libmapi++ into trunk
3552 - Add a g++ check in configure.ac: don't call libmapi++ rules if g++
3554 - Add libmapi++ to the build system
3555 - Add a patch function to installsamba4.sh: rename private to
3556 private_data in samba4 events.h header file
3557 - Change #include directives so it uses <libmapi++ ... rather than
3562 - Add a statitic function monitoring streams over OpenStream and Last
3563 ReadStream operations. Monitoring stream Release is not relevant
3564 since Outlook does not close the handle directly after last
3565 ReadStream operation. Should put in evidence difference between
3566 non-cached(1st retrieval) and cached (further retrieval).
3568 - Fix a few memory leaks
3572 - Commit initial revision for the mapiproxy cache module
3573 - Update mapiproxy hook API for the dispatch routine
3574 - Introduce the mapiproxy structure for modules to control top-level
3576 - Update mapiproxy documentation to reflect these changes
3580 * Fix remaining ByteRead parameter size for ReadStream operations.
3584 * Improve/Update Open/Read/WriteStream IDLs
3585 * Fix ByteRead parameter size for ReadStream operation.
3589 Improve OpenAttach, CreateAttach and DeleteAttach IDL - remove unknown
3592 Propagate r666 changes to OpenMsgStore and fix build
3595 Minor rename of bitmap value to avoid conflict with
3596 Private as a class name.
3600 Minor change: remove old debugging string from mapitest
3602 Fix incorrect header
3604 Remove deprecated mapi_handles API
3607 Initial checkin of some uno (static checker) support
3610 There will be a script to run uno with the right options,
3611 but that requires more work.
3615 Fix OXOMSG-ABORT-SUBMIT return value and return success when expected
3616 error values (MAPI_E_UNABLE_TO_ABORT, ecNoDelSubmitMsg) are encountered.
3618 - Call mapi_object_release in GetDefaultFolder
3619 - Remove pointless references to mapi_object_t
3622 Fix little memory leak.
3626 Fix invalid OpenFolder calls in mapitest modules
3628 Remove references to SaveChanges in doxygen see also statement
3630 - Rename SaveChanges to SaveChangesAttachment (0x25)
3631 - Update SaveChangesAttachment IDL
3632 - Update references to SaveChanges
3634 - Fix the huge memory leak described in Ticket #91
3635 - Rewrite the mapitest NameID test to use the mapi_nameid convenient
3640 - Add mapi_get_errstr auto-generated routine which returns the MAPI
3642 - Add print routine for MAPI retval in mapitest
3643 - Add a color mode (--color) which prints either green or red MAPISTATUS
3644 - Update mapitest modules to use these new routines
3647 Minor API documentation fix.
3653 - Add GetOwningServers (0x42) implementation (IDL + libmapi + mapitest)
3655 - Report and make consistent usage of PropertyProblem in the IDL:
3656 SetProps, DeleteProps and CopyProperties
3658 - Remove unknown field in GetProps and GetPropsAll and replace them
3659 with the correct IDL mapping.
3661 - Add IDL for SetPropertiesNoReplicate (0x79) MAPI call
3663 - Minor typo fix in IMAPIProp.c
3665 Improve CreateMessage request IDL
3667 Improve OpenMessage response IDL
3669 - Add PublicFolderIsGhosted (0x45) MAPI call (IDL + libmapi + mapitest)
3671 - Improve OpenFolder, CreateFolder and OpenPublicFolderByName response
3672 IDL: make these call able to check whether the folder is ghosted or
3675 Revert emsmdb pipe version to the hacked one. Makes mapiproxy work with samba4-alpha5 release.
3677 SeekRow and SeekRowBookmark IDL improved
3679 Improve the SetColumns IDL: remove unknown fields
3683 Minor code convention fix
3685 Check NTSTATUS return value from dcerpc_ndr_request. Prevent mapiproxy
3686 from segfault when invalid dcerpc response is received.
3688 Expose MAPISTATUS error in OXCTABLE-CATEGORY::FreeBookmark.
3689 Requires investigation
3692 Implement GetIdFromLongTermId and GetLongTermIdFromId
3693 functions (ROP:0x43 and 0x44), and associated mapitest.
3695 Documentation typo fix.
3697 Change the QueryNamesFromIDs() call to match
3698 MSDN, including changing the name to QueryNamedProperties().
3700 Also implement mapitest for QueryNamedProperties(),
3701 GetNamesFromIDs() and GetIDsFromNames().
3703 Update torture test to match.
3707 - Build system update: use samba4-alpha5 release with wget method
3708 - introduce 'make samba' and 'make samba-git'
3712 Make sure we have names[] array large enough.
3714 Problem identified using default uno run.
3720 Fix a small errno bug in GetBestBody
3721 Add dump-data and debug options to exchange2mbox
3725 - Move emsmdb interface version back to 0.81 (patch applied in samba4 trunk)
3726 - remove sed hack, modifications applied in samba4 trunk
3727 - update required samba4 git rev required
3734 Minor documentation update: remove deprecated reference to ./bin/smbpython
3736 Fix torture suite entry point name
3737 Fix torture module installation path
3739 - Add implementation for the BestBody algorithm
3740 - Add MAPI_E_NOT_ENOUGH_MEMORY error code
3741 - Remove trailing }}\0 from lzfu code
3742 - Update openchange tools to use GetBestBody rather than
3743 the initial check on PR_MSG_EDITOR_FORMAT
3745 Add a very basic stat module for mapitest: gives a quick overview
3746 of tests which failed at the end of the report.
3748 - Defines a global stream size in mapitest.h
3749 - Decrease stream size from 0x4000 to 0x3000
3750 Sounds like Exchange 2003 SP2 doesn't support 0x4000, return MAPI_E_CALL_FAILED
3755 Fix OC_CHECK_SAMBA_VERSION string
3757 - Move samba4_ver.sh from top dir to script
3758 - update parts of openchange relying on samba4_ver.sh
3760 Add configure check for lib Z
3763 - Temporary fix ldb.pc problem and patch ldb.pc.in
3764 - Update samba4 version to the latest revision
3765 - Add libmapiproxy to svn:ignore proplist
3768 Try a different git revision, just for now.
3772 - Update Samba4 version needed
3773 - Change entry point function from init_module to samba_init_module
3774 - update documentation
3778 Fix calls of ldb_init() as required by newer versions of Samba.
3782 Support newer versions of Samba4.
3786 Add some other standard GUIDs
3794 Use version and soversion in mapiproxy library.
3796 Make modules directory overridable.
3800 Change API as identified on devel mailing list.
3803 After some investigation into an error reported by valgrind, I'm proposing an
3804 API change for the MoveCopyMessages() function.
3806 The signature is currently
3807 enum MAPISTATUS MoveCopyMessages(mapi_object_t *obj_src, mapi_object_t
3808 *obj_dst, mapi_id_t *message_id, bool WantCopy)
3810 The problem is the message_id array. The subtle part is that it needs to be
3811 terminated with a null mapi_id_t*, because of this:
3812 for (request.count = 0; message_id[request.count]; request.count++);
3814 That is a bit error prone - enough so to be wrong in the mapitest.
3816 Now we could just fix the mapitest and document the requirements, or we could
3817 change the signature.
3819 Two ideas for a different signature:
3820 1. We could add a uint16_t count to the signature, that says how long the
3822 2. We could use a better data structure than mapi_id_t*. I'm suggesting
3824 enum MAPISTATUS MoveCopyMessages(mapi_object_t *obj_src,
3825 mapi_object_t *obj_dst,
3826 mapi_id_array_t *message_id,
3831 Add mapitest coverage for CopyTo operations on
3832 folders and attachments, and update API docs.
3834 Also fix one place where we inadvertently used
3835 CopyProps instead of CopyTo...
3839 Typo fixes in comments.
3841 Minor documentation updates.
3843 Clean up created message for SpoolerLockMessage() test.
3847 Update samba4 version test.
3851 Make sure properties are copies into the last valid
3852 location in the extended array (i.e. count-1) not the
3855 Also, make sure we cast the data to a uint8_t for
3856 conversion to boolean.
3858 Also fix compile warning about returning integer instead
3861 We may read up to 0x1000 bytes, so ensure there is
3862 enough room to add the terminating null.
3864 Minor cleanup of the talloc context for FreeBookmark().
3866 Also change around some code to protect things a bit
3867 better against null pointer inputs.
3871 Implement a bit more mapitest for CopyTo (0x39), in
3874 Also make it clean up and report failures properly.
3878 Implement the CopyTo operation (0x39), including initial mapitest.
3879 JK previously committed the IDL for this.
3881 Also make CopyProps (0x67) use an appropriate data structure for
3882 its IDL and update implementation to match.
3886 Minor documentation updates/corrections.
3890 Introduce a default case for MAPI Restriction. In some circumstances -
3891 while Outlook creates an OOF Rules - it sets a PT_SRESTRICT mapi
3892 property tag which value is set to 0xFF. However 0xFF doesn't match
3893 any restriction case.
3897 - Add IDL for OpenEmbeddedMessage (0x46) MAPI call
3899 - Add IDL for ReloadCachedInformation (0x10) MAPI call
3901 - Add IDL for CopyTo (0x39) MAPI call
3903 - Update the Samba4 GIT revision needed to run openchange properly
3905 - import mapiproxy project from mapiproxy branch
3906 - add custom proxypack MAPI call
3907 - remove deprecated dcesrv_exchange_remote
3910 Add missing part of mapitest for SetReadFlags
3912 This should have been part of r578.
3914 mapitest for SetReadFlags
3916 Implement SetReadFlags (operation 0x66).
3918 Also minor API docs fix.
3920 Move some test infrastructure from the oxctable.c module
3921 into the common area.
3923 Fix IDL error for SetReadFlags, and use existing flags
3924 define (MSGFLAGS_READ) instead of creating a new set.
3926 Build fix for relocation of mapiproxy/ to be under the
3927 top level directory (instead of under the utils/
3932 merge from mapiproxy branch:
3933 * ndr_push Logon_req manually
3935 merge from mapiproxy branch:
3936 * Add IDL and server boiler template for EcDoConnectEx (0xA)
3939 * Fix ndr_push_mapi_response code in ndr_mapi.c
3941 * Add the ndr_push_EcDoRpc_MAPI_REPL function in
3942 ndr_mapi.c. Handles special Notify and Pending cases
3944 * Handle op_MAPI_Pending case properly in
3945 ndr_pull_EcDoRpc_MAPI_REPL
3947 * Add code to ndr_push QueryRows in ndr_mapi.c: Do not push any
3948 DATA_BLOB if there is no RowCount
3950 merge from mapiproxy branch:
3951 * Fix GetReceiveFolder [out] IDL
3952 * Fix some naming convention typo
3954 merge from mapiproxy branch:
3955 * Fix SetMessagReadFlag [out] IDL
3957 - Add [flag(NDR_REMAINING)] to SetMessageReadFlag. This is not
3958 perfect, but it will prevent mapiproxy from ndr_pull error while
3959 setting message read flag on public folders messages.
3961 merge from mapiproxy branch:
3962 * Fix CreateMessage [out] IDL
3964 merge from mapiproxy branch:
3965 * rename OpenModeFlags to OpenFolder_OpenModeFlags in OpenFolder
3966 * rewrite OpenMessage [in] IDL and report changes in
3967 libmapi/IStoreFolder.c
3969 merge from mapiproxy branch:
3970 * Add IDL for Pending (0x6e) MAPI call
3971 * Reorder some MAPI calls in EcDoRpc_MAPI_REPL_UNION
3973 - Add SetReadFlags to EcDoRpc_MAPI_{REQ,REPL}_UNION
3975 merge from mapiproxy branch:
3976 * Add IDL for SetSyncNotificationGuid (0x88) MAPI call
3978 merge from mapiproxy branch:
3979 * Add IDL for SyncGetTransferState (0x82) MAPI call
3981 merge from mapiproxy branch:
3982 * Add IDL for SyncImportReadStateChanges (0x80) MAPI call
3984 Note: This IDL is temporary and should be improved after completion of
3985 the merging process.
3987 merge from mapiproxy branch:
3988 * Add IDL for SyncOpenCollector (0x7e) MAPI call
3990 merge from mapiproxy branch:
3991 * Add IDL for DeletePropertiesNoReplicate (0x7a) MAPI call
3993 merge from mapiproxy branch:
3994 * Add IDL for SyncImportMessageMove (0x78) MAPI call
3996 merge from mapiproxy branch:
3997 * Add IDL for SyncUploadStateStreamBegin (0x75) MAPI call
3998 * Add IDL for SyncUploadStateStreamContinue (0x76) MAPI call
3999 * Add IDL for SyncUploadStateStreamEnd (0x77) MAPI call
4001 merge from mapiproxy branch:
4002 * Add IDL for SyncImportDeletes (0x74) MAPI call
4004 merge from mapiproxy branch:
4005 * Add IDL for SyncImportHierarchyChange (0x73) MAPI call
4007 merge from mapiproxy branch:
4008 * Add IDL for SyncImportMessageChange (0x72) MAPI call
4010 merge from mapiproxy branch:
4011 * Add IDL for SyncConfigure (0x70) MAPI call
4013 merge from mapiproxy branch:
4014 * Add IDL for RegisterOptions (0x6f) MAPI call
4016 Note: This call is undocumented in Microsoft documentation, but MSDN
4017 RegisterOptions function generates this call on the wire.
4019 merge from mapiproxy branch:
4020 * Add IDL for Progress (0x50) MAPI call
4022 merge from mapiproxy branch:
4023 * Add IDL for FastTransferSourceGetBuffer (0x4a) MAPI call
4025 merge from mapiproxy branch:
4026 * Add IDL for GetPerUserLongTermIds (0x60) MAPI call
4027 * Add IDL for GetPerUserGuid (0x61) MAPI call
4028 * Add IDL for ReadPerUserInformation (0x63) MAPI call
4030 merge from mapiproxy branch:
4031 * Add IDL for LongTermIdFromId (0x43) MAPI call
4032 * Add IDL for IdFromLongTermId (0x44) MAPI call
4034 merge from mapiproxy branch:
4035 * Add IDL for ModifyRules (0x41) MAPI call
4037 merge from mapiproxy branch:
4038 * Add PT_SRESTRICT support in mapi_SPropValue_CTR
4040 * Add PT_ACTIONS and RuleAction support in mapi_SPropValue_CTR
4042 * Fix mapi_SNotRestriction NDR push routine - add a wrapper to
4043 work around the no-pointer deep recursion pb and remove
4044 existing nopull,nopush,noprint code from ndr_mapi.c
4046 * Fix mapi_SComment_Restriction IDL
4049 - Introduce PT_MV_UNICODE support in mapi_SPropValue_CTR (IDL only)
4050 - use mapi_LPWSTR for PT_MV_UNICODE
4051 - rename mapi_LPWSTR structure to mapi_name in Kind structure and
4052 change its field names.
4054 - Fix emsmdb version
4055 - Change MAPI opnum enum identation -- Helps to fine down merging from
4061 Minor API documentation fixes.
4063 Update label to reflect SetReadFlags -> SetMessageReadFlag
4066 This should have been part of r529 - missed it.
4070 merging from mapiproxy branch:
4071 - Fix MV_UNICODE_STRUCT and unicode strings
4072 - Keep LPWSTR for exchange_nsp and move from LPWSTR to
4073 mapi_LPWSTR for exchange_emsmdb
4074 - Add the NspiGetTemplateInfo IDL
4075 - Fix the NspiUpdateStat IDL
4077 Fix build: SetMessageReadFlag function name was not propagated in the
4081 Initial merge of changes for rename of SetReadFlags to
4082 SetMessageReadFlags (op 0x11) and IDL for SetReadFlags
4085 Use private_data instead of private, for C++ happiness.
4087 Minor cleanup. Using "try" confuses my c++ compiler...
4089 This is really part of r525. It moved to IMAPITable.c
4091 Update the table operations:
4092 - implement ExpandRow and CollapseRow
4093 - implement GetCollapseState and SetCollapseState
4094 - add mapitest coverage for the above, plus the Restrict call
4095 - implement ResetTable
4096 - implement FreeBookmark
4097 - add mapitest coverage for SRowSet parsing code
4099 - various API documentation bits
4102 Use right directory for samba4_ver.sh script.
4104 Use common location for Samba 4 git revision.
4108 Use PT_ERROR where appropriate.
4110 Update the SRowSet parser, fixing breakage I introduced.
4114 Update examples to reflect recent API changes.
4117 Don't rely on absolute file paths since the distribution may be installing
4120 make scripts executable.
4124 Avoid segfaulting if you ask for a specific test or tests and
4125 forgot to start the server.
4128 [bradh@conferta trunk]$ ./bin/mapitest --mapi-calls=OXCTABLE-CATEGORY --mapi-calls=OXCTABLE-RESTRICT --mapi-calls=NOSERVER-LZFU
4129 Failed to connect host 192.168.11.77 on port 135 - NT_STATUS_HOST_UNREACHABLE
4130 Failed to connect host 192.168.11.77 (192.168.11.77) on port 135 - NT_STATUS_HOST_UNREACHABLE.
4131 MapiLogonEx : MAPI_E_RESERVED (0xFFFFFFFF)
4132 #############################[mapitest report]#################################
4133 [*] Date : Sun May 25 11:45:29 2008
4134 [*] Confidential mode : [no]
4135 [*] Samba Information : 4.0.0alpha4-GIT-44d8b70
4136 [*] OpenChange Information : 0.8-SVN-build-510 (Romulus)
4138 [*] System Information :
4140 Kernel release : 2.6.23.17-88.fc7
4142 ###############################################################################
4146 [TEST] NOSERVER-LZFU
4147 ------------------------------------------------------------------------
4148 * uncompress_rtf2 : 0x00000000
4149 * uncompress_rtf2 : PASSED
4150 ------------------------------------------------------------------------
4151 [RESULT] NOSERVER-LZFU: [SUCCESS]
4152 ========================================================================
4154 [*] OXCTABLE-RESTRICT
4155 Server is offline, skipping test: "OXCTABLE-RESTRICT"
4156 [*] OXCTABLE-CATEGORY
4157 Server is offline, skipping test: "OXCTABLE-CATEGORY"
4161 ignores objects that contain invalid handlers in mapi_object_release().
4163 Patch by Alan Alvarez. Compile tested, passes mapitest on SBS2003.
4167 Fix API documentation to match signature.
4171 Update QueryRows IDL and implementation to match
4174 The main work here is reworking the SRowSet parsing
4179 Typo fix - allow cleanup to work properly.
4183 Make sure it has a return value.
4187 Rename GetColumns remote operation to GetColumnsAll, and
4188 fix up IDL and implementation to match.
4190 Add some more unit test coverage, and pretty-up the
4193 Fix up breakage introduced in r493.
4196 Make sure nagios directory gets created if it didn't exist yet.
4200 Refactor the unit tests.
4202 Extract out the setup and some of the cleanup code.
4206 - Update openchange code to work with Samba4 4.0.0alpha4-GIT-44d8b70
4207 - Use event_context structure
4208 - update installsamba4.sh script to revert to this revision.
4209 - update torture modulesdir reference
4212 Look a little bit harder for the Samba installation.
4216 - Add GetLocalReplicaIds MAPI call (IDL + implementation + mapitest)
4217 - Add OXCFXICS mapitest module
4221 - Fix "the very secret" openchange coding style
4222 - Add Copyright for our humble new libmapi developer ;-)
4225 Implement the CopyProperties operation, including
4226 a mapitest for this.
4230 - Add TransportSend MAPI call (IDL + implementation + mapitest). This
4231 code maybe needs some review regarding memory.
4233 - Add the GetTransportFolder MAPI call (IDL + implementation +
4236 - Add SpoolerLockMessage MAPI call (IDL + implementation + mapitest)
4238 - Add SetSpooler MAPI call (IDL + implementation + mapitest)
4240 - Add GetRulesTable (IDL + implementation + mapitest)
4241 - Add the OXORULE mapitest suite
4247 Make sure config.mk is the last file removed during distclean.
4251 - Add the Abort MAPI call (IDL + implementation)
4253 OpenChange doesn't support yet asynchronous operation which explains
4254 why no associated mapitest test has been implemented. This should be
4257 - Add the MoveFolder MAPI call (IDL + implementation + mapitest)
4258 - Fix some typo in mapitest doxygen
4260 - Add MoveFolder MAPI call (IDL + implementation + mapitest)
4261 - Fix some doxygen stuff
4262 - add a common function within mapitest which looks for a folder name
4263 within a container and return the opened folder object on success.
4265 Add auto-generated Doxyfile to the svn ignore list
4267 - Add AbortSubmit MAPI call (IDL + implementation + mapitest)
4269 - Uninitialize MAPI and general memory context at the end of mapitest
4272 Clean up / flush the stream after use.
4274 Saves a bit more "still reachable" in valgrind too.
4278 - Rename CopyMessages to MoveCopyMessages
4279 - Improve IDL + implementation and mapitest added
4282 Make sure the version shown for mapitest documentation
4283 is automatically set to match the package version.
4285 complete the rest of the API documentation autonumbering.
4288 Remove duplicate use of $(SHLIBEXT).
4290 Avoid parallel builds for now.
4294 Fix GetContentsTable binding in perl swig
4296 - Improve the GetHierarchyTable and GetContentsTable IDL and public
4297 IDL implementation (new parameters in,out)
4300 Initial part of automatic list numbering for doxygen comments.
4302 This doesn't work correctly with the current apidocs.css, which
4303 turns the list numbers into bullet points for reasons I don't
4308 - Improve the DeleteMessages IDL request
4310 - Update libmapi version from 0.7 to 0.8
4312 - Public API change for the GetReceiveFolder function; now takes a
4313 message class as 3rd parameter.
4315 - Improve GetSearchCriteria request IDL (unknown removed)
4316 - update libmapi copyright headers 2007 -> 2007-2008.
4318 - Improve the SubmitMessage IDL
4319 - minor indentation fixed in IMessage.c
4321 - Add CopyToStream MAPI call (IDL + implementation + mapitest)
4323 - Add SeekStream MAPI call (IDL + implementation + mapitest)
4324 - Add SetStreamSize MAPI call (IDL + implementation + mapitest)
4326 - Add CommitStream MAPI call (IDL + implementation + mapitest)
4327 - Add GetStreamSize MAPI call (IDL + implementation + mapitest)
4328 - refactor the stream test to include all stream related operations
4329 - add a common function which generates a random ASCII blob of data
4332 Add doxygen support for the mapitest examples.
4335 Allow cleaning individual parts.
4339 - Add GetStatus call (IDL + implementation + mapitest)
4341 - Fix format string problem in mapitest headers
4343 Run offline suites by default.
4345 - Introduce the online/offline mode for suite
4346 - Fix Exchange headers print bug when server is offline
4347 - reset errno to 0 before running new test
4350 Install the libmapiadmin.h header.
4352 Fix a compile-time warning on amd64, for the second
4353 argument to the getline() call - incompatible pointer
4356 I'm assuming that size_t is equivalent to uint32_t
4357 on a 32-bit architecture, but not on a 64-bit arch.
4359 A quick test showed no difference in actual output.
4362 Remove bashisms in installsamba4.sh
4366 - Add ReadRecipients MAPI call (IDL + implementation + mapitest)
4367 - Improve some ModifyRecipients and Recipients structure naming
4371 - Add RemoveAllRecipients call (IDL + implementation + mapitest)
4373 - Add OpenPublicFolderByName call added (IDL and implementation).
4375 - Note: the reply IDL doesn't handle Server and ServerCount yet.
4377 - Note: this call only refers to NNTP folders (e.g: folders located
4378 within "Internet Newsgroups". If developers use this call within "All
4379 Public Folders", then the call with return MAPI_E_NOT_FOUND.
4381 - Call not added to mapitest cause it require RightsAuthor permissions
4382 on Internet Newsgroups which is not the case by default.
4384 - dump-data and debug options added to mapitest
4385 - FOLDER suite renamed to OXCFOLD (naming convention)
4387 Rename module folder to oxcfold
4389 Replace the existing mapitest tool with a new implementation. It is
4390 less complete but more modular.
4393 Add proto headers to ignore file.
4397 OpenFolder request: replace unknown field with OpenModeFlags
4399 - Rename 0xFE opnum from OpenMsgStore to Logon
4400 - Update the Logon request IDL
4403 Add BEGIN_DECLS for private_proto.h.
4405 Add forgotten part of rev435.
4407 Add unit test framework for compressed RTF decoding.
4409 Refactor lzfu.c to improve testability.
4413 Fix openchangeclient --mailbox --pf with wasn't launched anymore due
4414 to some incorrect sanity check tests.
4416 - Remove deprecated fuzzer_msgstore torture test
4417 - replace mapi_flags with logon_id in EcDoRpc_MAPI_REQ
4421 A couple of minor fixes to make it read better.
4424 properly clean up sofiles
4426 Import exchange nagios check script by Bill Edmunds.
4428 Add support for creating libocpf soname symlink.
4430 Use standard include for uint64_t definition.
4432 Cleanup talloc and tdb before building samba4.
4436 Check for ocpf_set_Recipients retval (MAPI_E_NOT_FOUND)
4438 - Reset ocpf to NULL after release so the ocpf_init/release couple can be called more than once.
4439 - Sanity check on recipient, avoid parsing if no recipient is set. Return MAPI_E_NOT_FOUND instead.
4441 Add reference to the ocpf lib within the pc file.
4445 Remove duplicate SWIG instructions (already covered by stdint.i).
4447 Ignore files created by swig.
4449 Use config.mk in swig/perl/Makefile.
4451 Allow sambaprefix and prefix to be different. Allow building with unknown
4452 Samba git revisions (will still warn though).
4454 Add --with-samba argument to configure so samba and openchange can be installed in different directories.
4458 Add domain to the mapiprofile dump output.
4460 Fix OpenMessage IDL and GetRecipientTable fetched data
4462 -This line, and those below, will be ignored--
4465 M trunk/exchange.idl
4466 M trunk/libmapi/IStoreFolder.c
4467 M trunk/libmapi/emsmdb.c
4468 M trunk/libmapi/IMessage.c
4472 Fix typo, change samba-config -> samba-hostconfig.
4476 - Add openchangepfadmin to make install
4477 - Add openchangemapidump and locale_codepage to make clean
4481 Merge the samba4-latest branch.
4485 Revert so version number to 0.7
4487 Fix Perl bindings: update mapidump_message
4489 ** Start libmapi-0.8 ROMULUS development **
4491 Add ChangeLog and apidocs to the releases
4493 - Delete unmaintained regression suite
4494 - Fix typo error in torture-clean rule
4496 Add modified release script originally from abartlett/samba4
4498 - Check for specific Samba4 git revision in configure.ac
4499 - Prefix locale functions with lcid and make them _PUBLIC_
4502 API documentation update.
4509 Add installation script for samba4
4511 - Apply the nspi pointer patch - make openchange works with
4512 samba4-alpha3 git 41309dc
4517 Move the top level API documentation to an "overview"
4518 section and add a redirect to that overview.
4520 This keeps the doxygen output more nicely separated for
4523 Also, generate the man pages where the install expects
4528 - Fix strsep bug in openchangeclient
4529 - Add RECIPIENT support to libocpf
4531 - escape/unescape strings support added
4532 - PT_MV_STRING8 type added to OCPF write API
4536 - return MAPI_E_NOT_FOUND if NspiGetMatches doesn't return any results
4537 (based upon patch from lofi@mountproc.org)
4538 - makes the workstation parameter of mapiprofile optional (use
4539 gethostname if not defined by the user on command line)
4541 - Fix an allocation memory problem in cast_SPropValue
4542 - update svn:ignore proplist
4546 Update the documentation build so it keeps generating an embedded
4547 website in with apidocs/html as root directory.
4549 - Add support for PT_UNICODE and PT_SHORT to libocpf
4550 - Initial implementation of the libocpf write API
4551 - Update libocpf documentation
4552 - add --ocpf-dump option in openchangeclient
4553 - Fix realdistclean rules for server
4554 - add cast_SPropValue function to libmapi/property.c which cast
4555 mapi_SPropValue to SPropValue
4558 Split API documentation into two separate sections - one
4559 for libmapi and one for libocpf.
4561 Also add in a top level intro page.
4565 New build system which gathers a list of things that can be built with
4566 the libraries/utilities the user has installed and build that when
4571 Add missing allocation for OLEGUID
4573 --ocpf-syntax doesn't require MAPI to be initialized. Furthermore
4574 makes ocpf-syntax "exclusive" (quit after performing the operation).
4577 r371 was bad. What was I thinking with that nonsense!
4579 Revert to something sane.
4581 Make the ./bin/ directory if it doesn't exist.
4583 This should resolve ticket #33.
4587 Improve language handling when creating profiles.
4589 You can now get a list of valid languages and use either
4590 the language code ID or the language name to specify what
4591 language later versions of Exchange should reply with.
4593 Typo fix - duplicate ; at the end of the structure.
4595 Match format to unsigned int argument.
4597 Make the format specifier match the unsigned argument.
4601 propset svn:ignore update
4603 Update propset svn:ignore on doc/examples and libocpf targets
4605 - Fix ticket #29: http://trac.openchange.org/ticket/29
4607 - use access(2) to see if the database already exists
4608 - test if the profile already exists prior trying to add it
4609 - add descriptive error messages
4610 - catch CTRL-C signal and run a profile deletion routine
4613 Update API documentation for ocpf_nproperty_add().
4619 Fix mapidump_message call parameters
4623 Add fid/mid parameters to mapidump_message and changed
4624 openchangeclient_fetchitems to reflect these changes.
4626 Patch from Brad Hards <bradh@frogmouth.net>:
4627 updates the OCPF doxygen file.
4629 Patch from Brad Hards <bradh@frogmouth.net>:
4630 adds the doc/examples into the build system and enables make examples.
4632 Patch From Brad Hards, <bradh@frogmouth.net>:
4633 API documentation update and minor fix for the error value change.
4641 - Add PT_BINARY property support to OCP
4642 - Add stream support to OCPF for large PT_BINARY blobs.
4643 - Fix a bug which prevented from having no/empty PROPERTY or NPROPERTY
4648 - Prevent from assigning a value which type doesn't match with
4650 - Add missing substitution variable support for some named properties
4652 - Improve sample_appointment.ocpf example
4653 - Add PT_MV_STRING8 keyword to the list of supported property type
4658 Improve OCPF PT_MV_STRING8 support.
4660 - Initial revision for libocpf and its documentation
4661 - YACC support added to the build system
4662 - custom lid and string support in mapi_nameid
4663 - lookup functions added for OOM, lid and string
4664 - OCPF commands added to openchangeclient (ocpf-file, ocpf-syntax,
4666 - PR_FID displayed in openchangeclient --mailbox
4667 - PT_MV_STRING8 support added to cast_mapi_SPropValue
4671 Patch from Brad Hards <bradh@frogmouth.net>:
4672 updates code to build with current API
4674 Patch from Brad Hards <bradh@frogmouth.net>:
4675 little update for some API dox
4679 - Add --update option to openchangeclient and allow users to modify
4680 existing messages (calendar, task, contact, note)
4681 - Add --delete option to openchangeclient and allow users to delete
4682 existing messages (calendar, task, contact, note)
4683 - Add some folder/message unique ID to mapidump outputs and send*
4684 openchangeclient functions.
4685 - Fix a bug in set_SPropValue: add sanity check on unicode
4686 string. Thanks to Suman Manjunath for this patch.
4687 - Fix mapidump_task function and identifiers of named properties used.
4691 Fix missing sanity check on priority
4693 Fix a bug in openchangeclient when tasks are created without body
4695 private flag added to openchangeclient appointments
4697 Fix folder IDs problem for Exchange 2007 SP1
4701 Fix names IDL against Samba4 4.0.0alpha3-GIT-41309dc
4705 - Fix a bug in IStoreFolder.c:OpenMessage which was also affecting
4706 GetRecipientTable. We were extending SPropTagArray prior calling
4707 emsmdb_get_SRow. This was causing ndr_pull_error in OpenMessage_repl
4708 and erroneous data to be inserted in the SRow.
4710 - Fix libmapi/socket/interface.c:
4711 - Use the latest version from Samba4 which removes reference to
4713 - Moves struct interface declaration to netif.h
4714 - Report changes to emsmdb.c notification functions.
4716 - Change GetGALTable prototype to match general libmapi policy. Remove
4717 the usage of bool and replace it with uint8_t. Possible values added
4722 - Improve NspiQueryRows IDL and implementation
4723 - Add GetGALTable implementation: fetch all the Global Address List
4725 - Add --userlist option to openchangeclient
4726 - Add a convenient and basic dumping function for Global Address List
4729 - Improve OpenMessage reply IDL
4730 - Fetch mapi recipients from OpenMessage reply
4731 - Add GetRecipientTable convenient function
4732 - Add OPENCHANGE-MAPI-RECIPIENT torture test to test
4733 GetRecipientTable implementation.
4734 - Add convenient SPropTagArray_add function
4735 - Add internal emsmdb_get_SRow routine
4739 Patch from Suman Manjunath <msuman@novell.com>:
4741 - Adds named-properties which define recurrence patterns for
4742 appointment and task.
4743 - Adds named properties for appointment timezone
4745 - Fix the SNotRestriction IDL and write custom push,pull,print
4747 - Add 2 new MAPI calls to the IDL:
4748 * GetSearchCriteria,
4750 - add sample {Get,Set}SearchCriteria torture test
4751 - add convenient mapi_id_array implementation
4752 - add GetDefaultFolder support for CommonView and Finder folders
4756 Make sure directory exists.
4760 - Fix tiny 'nail down samba4 version' bug
4761 - update the minimal Samba4 required version
4763 - Add FindRow call to the IDL
4764 - Improve mapi_Restriction support
4765 - Remove deprecated ndr_print_QueryRows function
4766 - Add a print function for fuzzyLevel
4767 - Add preliminary FindRow implementation test to MAPI-RESTRICTIONS
4769 - Add couple of new MAPI tags to mapi-properties
4770 - change initial bookmark index to 3
4774 - Add 2 new MAPI calls to the IDL and mapitest:
4776 * GetReceiveFolderTable
4778 - Fix a bug in the SortTable test when no messages are returned by
4781 - Add SeekRowApprox to the IDL and mapitest
4782 - Fix some doxygen typo
4784 - New calls added to the IDL, torture suite and mapitest:
4787 - Internal mapi_object_bookmark_t implementation added to
4789 - SBinary_short default ndr_print function changed to custom
4793 Temporary fixes unexpected segfault in SortTable test. Emails sent
4794 during the Submit test have sometimes not yet been dispatched when the
4795 SortTable test begins. This fix adds a sleep(1) and an arbitrary
4796 number of attempts (5).
4798 Add 2 new MAPI calls to the IDL and libmapi:
4802 Tests for SortTable added to mapitest and the torture suite
4803 Test for AddressTypes added to mapitest.
4807 Fix perl bindings and fetchmail test
4809 2 new MAPI call added to the IDL and mapitest:
4815 - Add DeleteAttach MAPI call
4816 - Add new mapi unit tests:
4820 * GetAttachmentTable
4822 - Update mapitest README
4823 - Add some convenient functions to mapitest_common.c
4827 Add a preliminary draft of the mapitest standalone MAPI test suite.
4833 - Fix the build with the latest Samba4 version.
4835 - Add a basic libmapi/version.h auto-generated
4836 file (based on Samba4 one)
4837 - Remove some warnings when compiling the utf8
4839 - Add a emsmdb_info structure to fetch some
4840 information from the Exchange server
4842 WARNING: Please note that EMSABP is definitely broken and
4843 requires a review and update.
4846 DESTDIR should never get into any source files, that would defeat its purpose.
4850 Fix the torture suite.
4854 provide extra required argument.
4856 Store a loadparm context in the global mapi context.
4858 Deal with samba version.h's that don't contain the Subversion revision.
4862 Use SWIG-provided typemaps for stdint.
4866 Fix Content-Type field in exchange2mbox
4867 Reported by Yuriy Filatov <yuriy.filatov@gmail.com>
4871 - Improve the CreateMessage IDL
4872 - Add new parameters to IMAPIFolder CreateMessage libmapi function
4873 - Add --mkdir --rmdir options to openchangeclient
4874 - Update the CreateFolder API and openchangeclient documentation
4875 - Fix CreateFolder calls in openchange tools and torture suite
4876 - Fix gendb_search warning
4880 Add new PSETID_Address named properties
4882 Fix a few code convention typos
4884 Patch from Suman Manjunath <msuman@novell.com> applied:
4885 converts a 'struct timeval' to 'NTTIME'.
4886 minor extension of 'set_SPropValue_proptag', used while setting PT_SYSTIME properties.
4890 update Samba4 first revision to 26100
4893 Cope with ndr updates.
4897 Patch from Brad Hards: Fix possible Heap overflow in lzfu code
4901 Fix profile creation in a clustered Exchange 2007 environment.
4905 Fix QueryColumns req size.
4909 ** Start libmapi-0.7 PHASER development **
4911 add --dump-data option to mapiprofile for debugging purpose
4915 openchangepfadmin (1) man page added
4917 Store messageID in the object when SaveChangesMessage is called
4919 Nail down Samba4 version for libmapi-0.6
4923 - Add PR_MSG_EDITOR_FORMAT property to the sendmail operation
4924 - Fix body dump bug when PR_MSG_EDITOR_FORMAT property is missing (default set to PLAINTEXT)
4925 - Continue to process the mailbox when a problem is encountered with mesage contents (not attachment)
4926 - Fix a typo bug in openchangeclient body help string
4928 Update doxygen section
4932 - Add doxygen man (3) pages to installman and uninstallman rules
4933 - do not run doxygen if apidocs already exists
4937 Move documentation to doxygen
4941 Add convenient date related functions for implementors:
4942 returns a timeval struct matching a PT_SYSTIME property
4943 for improved date manipulation in 3rd party softwares
4947 Fix build to work with latest Samba4 revision (4.0.0alpha2-SVN-build-25722)
4949 Fix make realdistclean when swig perl is enabled
4951 Fix swig perl bindins compilation: move *.o to *.po
4953 use talloc_memdup to copy const data in the body DATA_BLOB
4954 Should only provide valid pointer to talloc_free
4958 Fix the DeleteMessages [out] IDL.
4960 The remaining bytes were not part of DeleteMessages but
4961 MAPI notification (0x2a)
4965 - Add RTF support in exchange2mbox
4966 - Use openchange-tools public functions
4967 - Replace GetPropsAll calls with GetProps
4970 * Use GetProps rather than GetPropsAll for message dump
4971 * Rely on PR_MSG_EDITOR_FORMAT to select the type of body
4972 * Open a stream for PR_BODY and PR_HTML if the size exceeds max property size
4974 -This line, and those below, will be ignored--
4977 A trunk/utils/openchange-tools.c
4978 M trunk/utils/openchangeclient.c
4979 M trunk/utils/openchange-tools.h
4980 M trunk/utils/openchangeclient.h
4981 M trunk/libmapi/mapidefs.h
4989 Remove useless svn:ignore
4992 Add WrapCompressedRTFStream function for PR_RTF_COMPRESSED content.
4994 Original lzfu decompress routine fetched from libpst-0.5.2
4996 make enum MAPISTATUS variables naming uniform in libmapi
5000 Add PT_CLSID case to get_SPropValue_data
5002 Add/Fix pull property support for PT_UNICODE and PT_CLSID (used by GetProps)
5004 Patch from Brad Hards <bradh@frogmouth.net>:
5005 Fix compilation for x86_64 platforms.
5009 More svn:ignore updates
5011 Update of svn:ignore
5015 added the IDL license
5017 Convert OpenChange to GPLv3
5019 - Add .po files to make clean
5020 - Fix a couple of warnings in the utf8 conversion lexer
5021 - Prefer long filenames to truncated one for attachments in openchangeclient
5025 Prevent exchange2mbox from segfault when PR_MESSAGE_DELIVERY_DATE is unset
5027 Add PT_CLSID and PT_MV_CLSID support to the IDL
5029 - Add new named properties
5030 - Convenient function for MNID_STRING props lookup added
5033 Make .po a recognized suffix.
5037 Use -fPIC for library objects.
5041 - Rename GetAllNamesFromIDs to QueryNamesFromIDs (better naming)
5042 - fix SPropValue_CTR boolean to uint8_t in the IDL and emsmdb.c
5044 - add mapi_nameid convenient interface and headers
5045 - mapi-named-properties populated, parser added to mparse.pl, file
5046 added to the build system
5048 - remove any incorrect reference to named properties in openchange
5051 - remove deprecated libmapi/mapi.h file
5052 - remove unused ulFlag parameter from IProfAdmin functions
5053 - remove unused memory context from libmapi/x500.c
5055 - support sendnote operation in openchangeclient
5056 - optimize check/list oc_element functions in openchangeclient
5058 - update swig interface
5062 - New MAPI calls: Named properties support
5065 * GetAllNamesFromIDs
5067 - Modified MAPI calls:
5070 These calls now have more granularity in libmapi with flags support
5072 - sample mapi-named-properties file introduced in libmapi/conf
5074 - Torture test suite:
5075 * suite temporary fixed (import torture_rpc_* functions from
5077 * torture_namedprops test added
5079 - SWIG Perl bindings fixed according to changes described above
5080 - minor improvements in libmapi/mapidump.c
5084 - Decrease MAX_READ_SIZE to 0x1000
5085 - Clean-up Read/WritreStream related code
5086 - add dump-data option to openchangepfadmin (debugging purpose)
5091 - remove reference to core/nterr.h
5092 - add global_loadparm reference where missing
5093 - add reference to core/error.h where needed
5096 Improve output during build.
5100 Pass loadparm contexts, should fix the build with newer Samba revisions.
5104 - WriteStream API changed: now returns the number of bytes written
5105 - WriteStream man page updated
5106 - 16 bytes extra-data bug fixed when sending attachments in openchangeclient
5107 - Set open mode to 0600 when attachments are stored on the filesystem
5112 Fix preliminary Perl bindings so it works with Samba4 alpha2
5113 and latest libmapi revision.
5115 Patch from Andrew Gaylard <ag@computer.org>:
5117 - When calling openchangeclient with the --dump-data switch, it will
5118 dump core, since the global_mapi_ctx pointer isn't initialised yet.
5119 The fix is to wait until it's set before accessing it.
5121 Patch from Andrew Gaylard <ag@computer.org>:
5122 - Leaving any blank lines before .TH directives appears to cause a blank page
5123 to be output when converting man pages to DVI files (which is a step to converting
5124 them to PDF). The following patch remove the blank line above the .TH in each man page file.
5126 - mapiprofile doesn't understand the -A switch, as mentioned in it's man page.
5131 - Add objectClass to the object: container, message or attachment
5132 - Rename content to message in openchangebackup functions
5133 - add objectClass parameter to ocb_record_init
5137 - Move debug options to their correct location (after MAPIInitialize)
5138 - Improve code related to LDB transactions
5139 - Add convenient error checking macros
5143 - Add preliminary openchangemapidump draft
5144 - Fix lp_parm_* 1st parameter in the torture suite
5145 - New functions in property.c for MAPI data retrieval
5149 Use configure definition for mandir.
5153 Activate debugs this time
5155 Replaced remaining gotos with MAPI_RETVAL_IF so errno is set correctly
5157 MAPI_RETVAL_IF missing ";" could cause surprises ;-)
5159 Add error check for samr call.
5160 set errno with MAPI_RETVAL_IF.
5164 Make required packaged more clear (LinuxMagazin input)
5168 Remove invalid comment.
5172 - Clean-up function prototypes
5173 - Dump email when NEWMAIL notification is received
5177 Proper dependencies.
5179 Don't regenerate proto headers unless necessary.
5183 Use install for installing files/directories.
5185 Actually use replacement variable for libmagic.
5189 Remove forgotten BOOL
5191 Remove mapi_session pointer in mapi_objects
5192 Add public function to IProfAdmin: retrieve default ldif path location outside the OC tree
5196 Prevent users from creation of *undeletable* folders in Outlook and
5197 perform sanity check on dirclass + display possible values.
5199 Provides a way to modify Default and Anonymous permissions for a given folder.
5201 Fix errno in getdir function + add sanity check on opt_rmdir
5203 - Fix a memory related bug in mapiadmin_add_user
5204 - Add latest howto.txt modifications from Dan
5206 - Fix bug in *UserPermission function: return when user is not found
5207 - Add sanity checks to mapi_object API functions
5208 - mapi_object_release reset errno to 0: need to release object
5209 after displaying the potential error message.
5211 Fix a mapidump_appointment bug
5212 Add PF folder support to fetch-items operation
5216 openchangeclient now support send/read/delete operation on custom PF directories.
5218 - Add libmapiadmin library draft: Add/Remove Exchange user
5219 - openchangepfadmin tool added: Public Folders management
5220 - Add Sanity check to CreateFolder
5225 Fix last references to BOOL, True and False.
5227 Fix more references to BOOL, False and True.
5229 Use standard type and values for booleans since Samba no longer exports
5230 BOOL, True and False.
5234 - Add OpenPublicFolder function to libmapi, Open Public Folder store
5235 - change torture suite API to match latest Samba4 pidl changes
5236 - utf8_convert regexp improved
5237 - minor changes: printf to DEBUG
5238 - howto.txt patch from Dan included
5239 - Samba4 torture code related to user account creation included in the
5244 Fix segmentation fault when running update prior populating the database.
5248 Remove obsolete file from the torture suite
5250 - Add Exchange Administration test to the torture suite: Create Exchange user
5252 Dan update on howto.txt
5256 - Add Exchange ACLs support to MAPI library
5257 - Add 2 new MAPI opnum: GetTable and ModifyTable
5258 - Improve mapidump functions
5262 - Improve aclocal check in autogen.sh
5263 - Fix flex binary detection in configure.ac
5271 Create libmapi.so symlink
5275 Fix mandir installation path
5276 Add ldconfig intructions to openchange installation documentation
5282 RES_AND and RES_OR preliminary implementation.
5286 - doc patch from Brad Hards
5287 - rename PROFILE_NOPASSWORD to OC_PROFILE_NOPASSWORD
5288 - fix a warning in property.c
5292 Add some 'const' (fixes compile warnings).
5294 Use sonames (required for the Debian packages).
5296 Add .bzrignore file.
5298 Update version number and use globally defined version number in libmapi.pc.
5302 - Add IDL implementation for restrictions Content, Property,
5303 CompareProps, Bitmask, Size, Exist.
5304 - Add Restrict MAPI call handling the restrictions above
5305 - OPENCHANGE-MAPI-RESTRICTIONS torture test added to the suite.
5306 - convenient sendmail function added to mapi_common.c
5307 - get property size function for mapi_SPropValue added to property.c
5309 test --This line, and those below, will be ignored--
5313 M torture/openchange.c
5314 A torture/mapi_restrictions.c
5315 M torture/mapi_common.c
5316 M libmapi/property.c
5317 M libmapi/IMAPITable.c
5321 Documentation update: Perl bindings installation
5325 - Add mapitags and mapicode support to Perl SWIG bindings
5326 - SPropTagArray support
5327 - SRowSet preliminary support
5328 - new constructor/destructor for mapi objects
5332 - IProfAdmin patch applied: having password outside of the profile
5334 - Perl bindings draft added to the trunk and to the build system:
5335 --enable-swig-perl=yes
5337 - datarootdir fixed in libmapi.pc.in
5341 - Add CopyMessages IDL and COPYMAIL torture implementation
5342 - Fix man page install dir according to latest Samba4 changes
5343 - Add datarootdir var to libmapi.pc.in and fix configure warning
5347 convenient function which retrieve a value from a SPropValue array
5348 given its property tag name, otherwise NULL
5352 Patch from Brad Hards <bradh@frogmouth.net>:
5353 openchangeclient man page updated
5355 - Add Windows UTF8 to classic UTF8 conversion through a lexer
5356 - openchangeclient --mailbox option changed to use it
5357 - flex and bison support added to configure.ac
5358 - windows_to_utf8 function added: wrapper over yyparse_utf8 routine
5362 - features added to openchangeclient:
5363 * --send-appointment
5367 - openchangeclient man page updated
5368 - new properties added to mapi-properties
5370 - Add man pages for simple_mapi.c functions:
5372 * GetFolderItemsCount
5374 - Remove deprecated functions from IMsgStore.c
5375 - Update man pages documentation
5377 Fix install rule in Makefile: add missing headers
5378 Move callback retval from uint32_t to int
5380 Fix notification callback retval
5382 - Advise opnum added to the IDL
5383 - Parts of the Notify response IDL implementation
5384 - Add Notification support to libmapi
5385 - Add --notifications option to openchangeclient
5389 Patch from Brad Hards <bradh@frogmouth.net>:
5390 - PR_BUSINESS_FAX_NUMBER
5391 - improves the information provided on a contact by
5396 - Fix the release call in,out
5397 - Call Release from mapi_release_object
5398 - Add sanity check to OpenMsgStore
5399 - clean up parts of the mapi_newmail test
5401 EcDoDisconnect code now sounds to work properly
5402 Tested against Exchange 2000 / Exchange 2003
5404 - Fix SpropValue property pull problem when GetProps layout is set
5405 - Add a dumpdata boolean to mapi_ctx_t so tools can dump hex data
5406 - Add PR_CONTAINER_CLASS fetch to openchangeclient --mailbox
5407 - Add debuglevel and dumpdata options support to openchangeclient
5411 - Remove useless memory allocation in mapidump.c
5412 - Improve mapidump_appointment
5413 - Add sample mapidump_note
5414 - Add --fetchitems option to openchangeclient:
5415 This command offers an easy way to fetch calendar, contacts,
5416 tasks, notes and mails from the Exchange server.
5417 - Add IPF container class defines to mapidefs.h
5418 - Add and Fix property tags
5422 - Commit the EcDoRpc max_data patch proposed on the devel list
5423 - Clean up folders related functions from the torture suite
5424 (GetDefaultFolder makes this code obsolete)
5428 Add the --mailbox option to openchangeclient which recursively
5429 lists the full mailbox folder hierarchy
5431 - Add PT_SYSTTIME support to get_SPropValue_data
5432 - Add mapidump_SPropValue_date dumping function
5433 - Add PT_SYSTIME support to mapidump_SPropValue
5435 - Add multi-valued SBinary_short support to mapi_SPropValue_CTR in the
5438 - Add GetDefaultFolder implementation to simple_mapi.c. This function
5439 provides a convenient way to retrieve default folders ID. const
5440 olFolder values are stored in libmapi/mapidefs.h
5442 - Modify the torture test suite to reflect these changes.
5444 - OpenMsgStore now decodes all the fid returned in the response
5446 - fix a bug size in libmapi/property.c
5450 - Fix SMTP recipient in libmapi
5451 - Add SMTP recipient support to openchangeclient
5452 and the torture test suite
5453 - Fix a bug in SRow_addprop
5457 - OpenMessage IDL changed: we have a permission field.
5458 It is now set by default to 0x3 (read/write) until we
5459 change OpenMessage prototype.
5461 - Add a sanity check to MAPIInitialize when no profdb
5466 Remove remaining MAPISTATUS and replace them with enum MAPISTATUS
5468 - SetReadFlags IDL and implementation added to libmapi
5469 - Warning fixed in emsabp.h
5471 Fix a bug in openchangeclient when attachments are using
5472 PR_ATTACH_LONG_FILENAME rather than PR_ATTACH_FILENAME to store
5473 attachment filename.
5475 Patch supplied by Brad Hards <bradh@frogmouth.net> which renames
5476 private structure member to private_data for C++ compatibility.
5478 Add libmapi/simple_mapi.c designed to hold convenient
5479 functions for application development.
5481 - GetFolderItemsCount added which returns the number of
5482 total and unread messages for a given folder.
5486 - Fix a body openchangeclient bug which now prevent openchangeclient
5487 from segfault when no body is specified.
5488 - Add GetDefaultProfile call to exchange2mbox for the default
5490 - Improve fuzzer_msgtore output
5494 Add a fuzzer torture test on OpenMsgStore which
5495 test all the possible max_data value.
5497 Should help to understand if libmapi fails because
5502 exchange2mbox improved:
5503 - tdb dependency removed
5504 - message-id are now stored in the profile database
5505 - it now mirrors deletion operation from the mbox file back to the
5507 - man page updated to reflect these changes
5509 - GetProfileAttr function prototype modified. It now returns the
5510 results count for the given attribute and store values in a string
5512 - GetProfileAttr man page updated to reflect these changes
5513 - Fix mapiprofile attribute search command
5514 - migrate from open/write calls to stream ones in exchange2mbox
5517 newmail torture + notifications implementation
5523 Fix the SambaXP live demo segfault: When an ambiguous recipient is
5524 specified, it now skips the name properly and maintain a correct
5527 - Fix a bug when storing attachments into mbox
5528 - Add default path support to exchange2mbox
5532 - Update libmapi version according to the roadmap
5533 - Fix nspi_resolvenames to use default profile database and profile
5537 - Add default profile database and profile support in the torture suite.
5538 - Fix a bug in mapidump_task
5542 - Change MAPILogonEx to MAPILogonProvider and avoid potential
5543 emsmdb endpoint related problem
5544 - add sanity check on global session pointer
5548 Merged MAILOOK-branch changes r64:163 into the trunk.
5552 Remove ChangeLog, use svn log instead ;p
5556 - libmapi includes moved from libmapi/include to libmapi
5557 - Remove arguments from prototype definitions generation in mkproto.pl
5558 - __BEGIN_DECLS __END_DECLS support in header files
5559 - united libmapi/libmapi.h header file
5560 - openchange.h header removed
5561 - PIDL generated files moved to gen_ndr
5562 - compilation rule for libmapi header installation added
5563 - useless torture tests removed
5569 Replace OpenProperty and ReadAttach calls with OpenStream and ReadStream call
5570 Add GetAttachmentTable call
5576 Remove -Werror CFLAGS until I figure out how to fix
5577 our problem definitively.
5579 Remove static from dcesrv_exchange.c functions definition
5584 . reimplement GetProps
5585 . retrieve attachment size
5586 . modify fetchmail and fetchattach torture
5591 . add GetPropList to exchange.idl
5592 . add GetPropList implementation to IMAPIProp.c
5595 - Add fetchattach torture; Attachment size is not yet
5596 defined and 42 is used.
5597 - add 3 new EcDoRpc opnums:
5606 Forgot to add IMAPISession.c
5612 Remove spurious warnings at compile time and
5613 add -Werror -Wstrict-prototypes to CC.
5617 Dispatch libmapi functions into filenames matching
5618 the MAPI interface they belong to.
5622 Fix the attach issue by value and add torture test to
5623 the openchange torture suite.
5628 attachment torture test implementation
5634 Add a null element at the end of MAPI_REQ array
5635 so we can exit from the loop in ndr_print_mapi_request
5639 - Add the DeleteMessages IDL
5640 - New torture tests added:
5641 * OPENCHANGE-MAPI-SENDMAIL
5642 * OPENCHANGE-MAPI-DELETEMAIL
5644 These are experimental implementation
5649 subject option for delete message torture test
5653 added (recipients == null) check
5655 added default subject
5660 Add NspiResolveNames and the associated torture test.
5666 Fix nspi decoding problem due to the usage of
5667 a hyper instead of a dlong.
5671 - Add a preliminary NspiUpdateStat IDL
5672 - Fix the new server code convention naming
5673 (function prefixed with dcesrv_)
5674 - Fix a security bug in emsabp provider code
5678 Fix the allocation memory for the EcDoRpc_{MAPI_REQ,MAPI_REPL} pointer.
5682 Add SetProps [out] support.
5684 Temporary allocation pb fixed in ndr_pull_mapi_response.
5685 Final fix in next commit.
5691 Fix the SetProps [in] IDL
5693 New mapi call support added:
5694 - ModifyRecipients [in,out]
5695 - SubmitMessage [in,out]
5699 Add IDL support for the following mapi calls:
5704 The SetProps IDL is still experimental and the
5705 content blob should be decoded more than the current
5712 Fix the align problem in QueryRows reply blob
5713 Add some printing output and clean useless DEBUG.
5719 Fix the OpenMessage IDL and add ndr_print support
5720 to the MAPI-FETCHMAIL torture test so we can
5725 Commit of the first experimental but working implementation
5726 of the MAPI-FETCHMAIL torture test able to retrieve mails
5727 from an Exchange Server.
5731 - Add a preview implementation of cached data system for multi MAPI calls requests
5732 - Add SetColumns and QueryRows calls to mapi.c + mapi_fetchmail torture test
5733 - Enhance some MAPI calls IDL
5734 - Fix some pull/print functions according to error_code and row_count values
5740 Manual handling of EcDoRpc_MAPI_REPL pull and print function.
5741 When a mapi call returns an error_code different from MAPI_E_SUCCESS,
5742 we have to stop processing the function IDL since no parameters follow.
5746 add MAPISTATUS to EcDoRpc_MAPI_REPL
5747 add mapi library code for:
5753 add mapi calls described above to MAPI-FETCHMAIL torture test
5757 add mapi_response to emsmdb_transaction so we can get the results
5758 check the mapi call error core in OpenMsgStore
5762 Add MAPISTATUS field in each mapi calls
5763 Add new MAPICODE (MAPI_E_CALL_FAILED)
5767 Fix the mapi_request push function
5768 Add a first approach to the MAPI client side library
5769 Add a first approach of the MAPI-FETCHMAIL torture test
5770 Fix the smb.conf.example with new fields and remove Samba4 unused ones
5776 Initial mapidump commit
5777 OpenMessage IDL fixed
5783 Unused and dummy code removed
5787 - Remove the MAPI decoding TDR layer and associated functions
5788 - Add MAPI decoding in exchange.idl at NDR layer
5789 - mapi_request / mapi_response pull/print ok
5790 - implement subcontext for async response decoding in
5792 - new MAPITAGS added related to Message envelope properties
5793 - clean up the code and remove unused files
5795 - Add new MAPI opnums and associated IDL:
5796 * [in] Release (opnum=0x1)
5797 * [in,out] OpenFolder (opnum=0x2)
5798 * [in,out] OpenMessage (opnum=0x3)
5799 * [in,out] GetContentsTable (opnum=0x5)
5800 * [in,out] GetProps (opnum=0x7)
5801 * [in,out] Secolumns (opnum=0x12)
5802 * [in,out] QueryRows (opnum=0x15)
5803 * [in,out] GetReceiveFolder (opnum=0x27)
5804 * [in,out] OpenMsgStore (opnum=0xFE)
5810 For IDL with unknown fields followed the IDL may
5811 change and the mapping of these unknown bytes incorrect.
5812 It's just based on assumptions and results of the different
5817 - The mapi_request / mapi_response pull function
5818 - emsmdb torture tests and libmapi/emsmdb.c
5820 All this code is currently broken and will be fixed
5821 when we start writing the new emsmdb torture suite
5829 Fix ndr_pull_MAPI_DATA function
5833 - Add new mapi opnums
5834 - Add a first IDL implementation for OpenMsgStore out
5838 - Enhance the handles id support in MAPI_DATA
5839 - Remove unused code
5841 EMSMDB encoding/decoding is currently broken.
5842 It will be fixed when we start the client side
5843 mapi library implementation.
5849 - Change IMAPISession.idl to mapi.idl
5850 - enhance mapi content payload decoding (multiple calls supported)
5851 - add sub EcDoRpc opnums and IDL for setcolumns (in)
5858 - new function on emsabp provider for entry id generation
5864 Old mapitables code deleted and merge of the samdb
5865 code used in openchange (emsabp_result_guid function).
5867 The following revision compiles and work fine with
5868 Samba4 revision 20341
5875 Instance keys management changed (we now use struct instance_key and uint32_t instead of an array of 4 uint8_t)
5881 - Fix compilation warnings based on patches provided
5882 by Stefan Huehner <stefan@huehner.org>
5883 - Fix the DSO issue for x64 platforms
5884 - Add the evolution plugin in the compilation process
5885 - remove the mapidump code (obsolete and replaced with ndrdump usage)
5891 evolution plugin moved into client/evolution for
5892 a correct and extensible naming convention.
5894 EcDoRpc IDL modified:
5895 - opnum are now 8 bits
5897 - EcDoRpc ndrdump output enhanced
5899 IMAPISession IDL modified:
5900 - Change OpenMsgStore function name to MAPI_RPC_LOGON
5901 for the 0xFE opnum operation.
5903 Fix warnings in the code.
5909 Openchange-Evolution plugin commit
5910 I reorganized openchange evolution plugin source tree.
5911 Now we have one directory for the camel-openchange provider, and one for the openchange eplugin.
5912 Everything can be found in the oc-evolution directory.
5913 This is code a minimalist implementation of the camel provider for evolution.
5914 It will make appears an openchange server type in the server list handled by evolution.
5915 Still have to fix the ./configure to create a Makefile though.
5919 Fix the memory allocation problems in the emsmdb torture test
5923 Removed ascstr and directly add it to the IDL
5925 Fix the NspiQueryRows response where strings
5926 containing the user email address have to be
5929 The EMSABP provider is working ;-)
5933 The emsabp provider is now able to return multiple users
5934 when searching for part of a username.
5940 Fix the networkAddress binding strings for the
5941 Exchange object in the configuration db. The
5942 SERVER variable based on exchange:server had
5943 been added while we needed the NETBIOSNAME one
5945 Fix a segmentation fault in emsabp.c due to an
5946 unchecked pointer res->msgs. This was causing
5947 smbd to segfault when the supplied legacyExchangeDN
5948 sent by the user wasn't present in the database.
5954 Remove unused files and directory.
5955 Update Makefile.in and remove storedb compilation
5964 - provisioning (for the legacyExchangeDN of the server entry)
5968 Fix the build and remove dynconfig samba lib
5974 Unused ldif files removed + Schemas definitions updated
5978 Provisionning fixed (old ldif files cleaned)
5984 add tags rules to the Makefile
5988 add the \\pipe\\protected_storage named pipe
5989 to exchange_nsp bindings
5995 Add a dcerpc_server module in charge of the
5996 exchange interfaces registration. When this module
5997 is loaded prior the remote endpoint, it let us proxify
5998 the exchange_nsp and exchange_emsmdb ones.
6000 Change the exchange_nsp ncacn_np binding string to
6001 reflect how Exchange server is currently using it.
6003 Conform the IDL with latest pidl requirements and
6004 move the MAPI_DATA structure from exchange_nsp to
6011 Create the $prefix/modules/{dcerpc_server,torture}
6014 This fix openchange make install rule.
6018 This commit conforms openchange with the Samba4
6019 trunk and fix the autotools checks.
6021 I've modified the openchange torture file to
6022 match the current smbtorture API and the
6023 OPENCHANGE-NSPI-PROFILE test was successful.
6025 The NSPI ndrdump suite has fully been tested and
6032 This commit fix the build system:
6033 - add the -ldynconfig dependency to LDFLAGS
6034 - add header checks in configure.ac. We need them
6035 for the moment cause Samba4 doesn't install some headers
6036 required by openchange core
6037 - fix the make install
6039 - remove autotools generated files and definitively
6040 ignore them with the .svnignore file
6042 - keepref keyword removed from exchange_nsp interface
6047 + aclocal.m4 removed from repository
6048 + provisionning fixed