4 Ensure we always initialise before trying to cleanup (e.g. in a failure scenario).
6 Issue identified and patch provided by Erik Hovland, minor changes by me.
10 prop is declared within the switch statement.
12 Fix by Erik Hovland - thanks very much.
16 Use strncpy instead of strcpy.
18 Patch by Erik Hovland, plus a minor change by me to ensure the string is null terminated.
22 Add missing break statements
24 Patch by Erik Hovland <erik@hovland.org>
28 Mark appropriate constructors as explicit.
30 Patch by Erik Hovland - thanks very much.
36 Patch from Erik Hovland - thanks again.
42 Patch by Erik Hovland - thanks very much.
46 Make sure we actually can compile when using --enable-openchange-qt4
48 This patch ensures that $(MOC) gets set in the Makefile.
53 Add canonical names for codepage related properties (involved in
54 PT_STRING8 encoding/decoding)
59 - Add parser for codepage-lcid
61 - Add entire set of conversion functions for lcid, codepage, language
64 - mapiprofile now uses codepage/lcid matching LC_CTYPE environment
65 variable for language detection, otherwise codepage/lcid matching
66 language list. Language list is now dumped from codepage-lcid
69 - Remove deprecated util and tests directory from libmapi and from
70 build system. We now only rely on codepage_lcid.c
72 - Update openchange code (utils, mapiprofile, mapitest and
73 exchange2ical libs) to use this new API.
75 - I have not looked into icalparameter_get_language, but assuming it
76 is relying on previous API, I may have introduced a bug here. Looks
77 like the function outputs for example "en-US" while we now checks
78 for "en_US" to match setlocale output.
81 Minor API documentation adds.
83 Add unit test coverage for the GetGALTable() function.
85 This is mostly lifted from utils/openchangeclient.c
87 Switch to only building Qt4 bindings if specifically asked for.
89 This is a bit experimental for now, so lets go safer...
94 In this particular case (error returned, mapi_response shouldn't
97 Fix bug 605827 - SRowSet was free'd while still needed
102 Template file which associates Language, LCID, Locale and Codepage.
103 Furthermore commits will implement the mparse parser which will
104 auto-generate the associated C files. This should give us a reliable
105 way to use it in mapiprofile, MAPI profiles database and for
106 PT_STRING8 proper conversion purposes.
108 If anything is missing or is incorrect, updating the file will
114 Fix bug where you couldn't select another messages in the default folder without
115 changing folder first.
117 Looks like this is just a bit I forgot to update when changing from an initial
118 cut to the "more working" implementation.
123 - Fix trac ticket #183: PT_UNICODE properties are now turned to UTF-8
126 - Remove deprecated utf8_convert lexer and windows_to_utf8 routine
128 - Change openchange tools to use _UNICODE tag version instead
130 - octool_get_propval now prefer UNICODE properties over PT_STRING8
131 ones (default behavior).
133 - Change mapidump_message API to take an optional mapi_object_t
134 message parameter. If the message object is specified, we can have
135 access to the subject, and recipients (to, cc, bcc) without having
136 to query them within a GetProps call.
139 Fix an ugly cut-n-paste error.
141 Add pkg-config support for libmapi++.
146 Fix ticket #123 (known as 562948 on gnome bugzilla):
147 "Unable to send mails containing UTF8 strings"
149 OpenChange was using strlen(str) * 2 + 2 to calculate the
150 expected size for utf16 string. This patch fixes this and
151 replaces it with a function that make proper utf8 to utf16
154 This commit also replaces PT_STRING8 properties in openchangeclient.c
155 with PT_UNICODE ones to ensure utf8 strings get converted properly.
160 - Add NormalizedSubject and SubjectPrefix strings to object_message_t
162 - Add a function to retrieve TypedString value
163 - Add a mapidump function for obj_message (only retrieve subject and
165 - Add --fetchsummary option to openchangeclient: Dumps properties from
166 OpenMessage response only (subject and recipients) rather than going
167 through GetProps and dumping a more complete version.
170 Move make distclean to the end again.
175 Remove a copy of the dlinklist.h header, and just use the samba
181 Install missing file.
186 Allow us to find samba python code on 64-bit machines.
191 Update EcDoConnectEx IDL to match latest specifications
194 Minor additions to "make clean" / "make distclean" to remove
195 generated python bits, and also the config.h file.
200 Implement IsMailboxFolder for public folder types.
202 Involves some refactoring of the way we handled the mapi_object_store_t,
203 such that we now talloc_zero the structure.
205 Adds mapitest coverage for these.
207 Resolves Ticket #134.
212 Add unit tests for IsMailboxFolder
214 Also use 0xFFFFFFFFF instead of -1 for no-such-mailbox, consistent with the unsigned data type.
219 Change location of .cpp.o and .ccp.po to the correct location
220 and inhibit compilation line output for moc and cpp compilation.
223 Try harder to clean up libmapi++ bits.
228 Ignore moc files and generated binary
230 Update OpenChange version to 0.10 NOMAD
232 Nomad is a mechanical explorer sent from Earth in 2002.
233 It was melded with an alien device named Tan Ru and the resulting robotic
234 hybrid began destroying anything that was imperfect including, in 2267,
238 Add documentation for qt/ subdirectory.
240 Try harder to find moc.
242 Initial commit of some Qt-style bindings.
244 This is mostly for testing, although hopefully the library will
245 emerge with a set of mostly-useful widgets for implementing
251 Quiet the build here.
253 Inadvertent removal in a previous patch.
255 Some support for ReviewBoard.
260 Update OpenMessage flags to match specification values.
262 Cleanup libmapi++ code when we "make clean".
264 Add svn ignore entries.
266 Remove inline from shared library class.
268 Fixes build on Intel C++ compiler.
273 libmapi++ is no longer a header-only library
278 Add first part of Restrictions support.
280 A little more documentation fixes.
284 Fix MAPIUninitialize() crash when leaving after an unsuccessful call.
285 In such situation, mapi_response is not allocated but has a destructor
286 associated. This fix removes the destructor whenever the error code is
287 different from MAPI_E_SUCCESS.
289 Also add a minor (probably useless) check on mapi_response pointer validity
290 before attempting any other child's free.
293 A couple of minor API documentation fixes.
298 Rename libmapi into openchange in our release script.
299 Makes more sense given the scope of our releases.
301 Fix format string warnings.
303 New ModifyRecipients IDL and implementation.
305 This patch improves the logic within the RecipientFlags bitmask
306 calculation function and make use of different MAPI properties for
309 Fix trac ticket #125 and https://bugzilla.gnome.org/show_bug.cgi?id=568763
312 Minor API documentation fix.
316 Fix some exchange2ical memory leaks / "still reachable" memory.
318 Fix property tag array count, so we get the language in Summary
319 lines in the ical output.
321 Add protection against null CN values.
323 Resolves ticket #232.
325 Thanks to Arnout Engelen for the bug report and the patch to fix the problem.
327 Handle all day events for UTC+ timezones.
329 This resolves ticket #217. Thanks to Arnout Engelen for both reporting
330 the problem, and providing a patch. In the end I heavily modified the
331 patch, and implemented a much simpler version while we sort out the
332 timezone identifier problems.
337 Minor documentation update to reflect GSoC exchange2ical merge.
339 temporary fix for building on FreeBSD 7.2.
341 Remove this file - converted it to trac tasks.
345 Patch from Johnny Jacob <johnnyjacob@gmail.com>:
347 Changed MonitorNotification to be non-blocking.
348 Also checks whether to process notifications using a callback.
350 Open Profile Store using global_mapi_ctx for the memory context. This
351 fix removes 20 context errors when running valgrind on mapitest.
353 - Fix important memory leaks in OpenChange NSPI stack. The memory
354 context modifications applied to the EMSMDB stack have been
355 propagated to the NSPI one. NSPI dcerpc_* functions now rely on a
356 temporary context passed in parameter to the nspi_* functions from
359 - Changes propagated to torture, mapitest, IProfAdmin interface and
360 ResolveNames function to match the internal API.
362 - Add missing MAPIFreeBuffer call in mapitest modules
364 Minor cosmetic change
366 Minor changes to match our coding convention more closely
368 Return (const void *) instead of (void *) where missing
370 - Fix important memory leaks within the OpenChange stack. Most of the
371 leaks came from the pipe memory context used in emsmdb_transaction
372 which was only released on MAPIUninitialize and sometimes leaded in
373 lost blocks. This fix makes extensive usage of the temporary memory
374 context used in top MAPI calls implementation. This context is
375 passed in argument to emsmdb_transaction and used for dcerpc_*
378 When we return from any libmapi call implementation, this context is
379 destroyed. This guarantee no extra memory within NDR layer is kept.
381 The only requirement for this patch to work is to make sure the data
382 we return from MAPI calls is either reparent to another memory
383 context or copied properly.
386 Add support for skipping tests that don't apply to some
389 Change the format of the server version, so it matches the Microsoft
390 way of doing versions.
395 Fix store version info assignment - Exchange version now works again
398 Clarify the developer's task when using GetPropList.
400 We were allocating the SPropTag proptag array with the session context
401 pointer, which was not released with a MAPIFreeBuffer(SPropTagArray).
403 We are now using SPropTagArray pointer as parent context and clarify
404 that the developer must pass an allocated SPropTagArray pointer to the
407 Missing mapi_object_release leading in small leaks.
409 Sanitize RfrGetNewDSA function and memory usage.
411 The function was returning either a const char * passed in parameter
412 or the string returned by RfrGetNewDSA call. Furthermore we were using
413 the session pointer for the memory context. Finally the function description
414 was not matching its behavior.
416 What this patch does:
417 - use a named memory context for RfrGetNewDSA call
418 - return an allocated string on success otherwise NULL
419 - release RFR memory context properly
421 valgrind before patch (mapitest):
422 ==28876== LEAK SUMMARY:
423 ==28876== definitely lost: 0 bytes in 0 blocks
424 ==28876== indirectly lost: 0 bytes in 0 blocks
425 ==28876== possibly lost: 3,193,529 bytes in 23,296 blocks
426 ==28876== still reachable: 345 bytes in 2 blocks
427 ==28876== suppressed: 0 bytes in 0 blocks
429 ==28876== For counts of detected and suppressed errors, rerun with: -v
430 ==28876== ERROR SUMMARY: 2351 errors from 2351 contexts (suppressed: 45 from 10)
432 valgrind after patch (mapitest):
433 ==29083== LEAK SUMMARY:
434 ==29083== definitely lost: 0 bytes in 0 blocks
435 ==29083== indirectly lost: 0 bytes in 0 blocks
436 ==29083== possibly lost: 3,190,285 bytes in 23,256 blocks
437 ==29083== still reachable: 345 bytes in 2 blocks
438 ==29083== suppressed: 0 bytes in 0 blocks
440 ==29083== For counts of detected and suppressed errors, rerun with: -v
441 ==29083== ERROR SUMMARY: 2338 errors from 2338 contexts (suppressed: 45 from 10)
443 This patch fixes most of the leaks coming from pull_emsmdb_property() function.
444 pull_emsmdb_property is using pointers and allocate memory to prevent from
445 returning a local variable address. Such pointers include PT_I2, PT_I8, PT_LONG,
446 PT_ERROR or PT_BOOLEAN. Pointer's values are assigned in set_SPropValue but were
447 never released/free'd. This patch implements free_emsmdb_property to fix this problem.
449 valgrind before patch (mapitest):
450 ==26674== LEAK SUMMARY:
451 ==26674== definitely lost: 0 bytes in 0 blocks
452 ==26674== indirectly lost: 0 bytes in 0 blocks
453 ==26674== possibly lost: 3,264,485 bytes in 23,387 blocks
454 ==26674== still reachable: 345 bytes in 2 blocks
455 ==26674== suppressed: 0 bytes in 0 blocks
457 ==26674== For counts of detected and suppressed errors, rerun with: -v
458 ==26674== ERROR SUMMARY: 2370 errors from 2370 contexts (suppressed: 45 from 10)
460 valgrind after patch (mapitest):
461 ==27270== LEAK SUMMARY:
462 ==27270== definitely lost: 0 bytes in 0 blocks
463 ==27270== indirectly lost: 0 bytes in 0 blocks
464 ==27270== possibly lost: 3,127,733 bytes in 23,293 blocks
465 ==27270== still reachable: 345 bytes in 2 blocks
466 ==27270== suppressed: 0 bytes in 0 blocks
468 ==27270== For counts of detected and suppressed errors, rerun with: -v
469 ==27270== ERROR SUMMARY: 2348 errors from 2348 contexts (suppressed: 45 from 10)
472 Minor API documentation fixes.
477 - Add a macro to mparse.pl to free both mapi_response
478 and mem_ctx within OpenChange calls implementation.
479 For the moment it is only implemented in OpenUserMailbox call.
481 - Fix a memory leak in OpenUserMailbox: When the call failed
482 (ecUnknownUser or ecUseEnryption) mapi_response was not free'd
485 Minor indentation fix
488 Add some missing newlines to reduce compilation noise.
490 Merge in Ryan Lepinski's Google Summer of Code work on exchange2ical.
492 See the gsoc_exchange2ical branch history for commits.
494 I also made a change to address ticket #216, and
495 fixed a couple of typos.
500 Minor updates to provisioning instructions.
502 Thanks to Girish Venkatachalam for some suggestions.
507 Fix 'unused variable' warning on FreeBSD for exchange2mbox
510 Add documentation for the --freebusy option.
517 Fix segfaults in mapitest launched with exchange2010
519 Fix compilation warnings
522 Add missing -L directory specifier.
524 Looks like this was tolerated by gnu ld, but not by opensolaris ld.
526 Patch by Brian Lu (Sun). Thanks again.
528 Add documentation for new mapiprofile --encrypt option, introduced in r1602.
530 Fix a couple of typos that trash CFLAGS during build.
535 Automatically switch from connect to seal on the emsmdb pipe if
536 ecNotEncrypted is returned by EcDoConnect.
538 - Make OpenChange natively working with Exchange 2010
539 - Factorize binding string construction code within a single function
540 - the seal flag is mandatory to connect to Exchange 2010
541 - add seal boolean value to MAPI profile creation and mapi_profile
543 - add --encrypt option to mapiprofile to set the seal value
548 Add documentation for set_SPropTagArray().
550 Thanks to Brian Lu (Sun) for reporting.
555 This doesn't really fix ticket #149, but this should
556 at least prevent from triggering segmentation fault when
557 PR_EMAIL_ADDRESS_UNICODE doesn't have any cn=Recipients,cn= substring
560 Trivial fix (newline) for warning on FreeBSD compiler.
562 Add support for manually creating the library symlinks for FreeBSD
564 This is a somewhat speculative commit.
566 Also fixes a couple of cosmetic whitespace issues.
571 Patch from Bryan Lu <brian.lu@sun.com>:
573 Create symbol link only on Solaris
575 This closes ticket #221 and makes it possible to compile openchange
578 Temporary bug fix in emsabp.c - If restrictions are NULL in
579 emsabp_search, return MAPI_E_INVALID_OBJECT. This prevents from using
580 invalid res pointer leading in segmentation fault.
582 Initial fix proposed by Erik Hovland <erik@hovland.org>
584 Patch from Erik Hovland <erik@hovland.org>:
586 fid might be null. Check it before dereferencing in the
587 ocpf_folder_lookup() call. Similar behavior fixed in openchangeclient
588 folder_lookup() function.
590 Patch from Erik Hovland <erik@hovland.org>:
592 NotificationData 'could' be null. Check it before handing it to
593 notification-callback(). This is important because eventually
594 NotificationData will be dereferenced in the code path.
596 Patch from Kamen Mazdrashki <kamen.mazdrashki@postpath.com>:
598 Fix MAPI Warning error codes
600 Patch from Kamen Mazdrashki <kamen.mazdrashki@postpath.com>:
602 bugfix: Bugs in abp_tdb layer fixed.
604 emsabp_tdb_traverse_MId() returns 'false' (i.e. not found) in most of
607 Patch from Kamen Mazdrashki <kamen.mazdrashki@postpath.com>:
609 Implement NspiQueryRows() address list enumeration
611 We can now run openchangeclient --userlist on OpenChange NSPI server
612 and Outlook 2003 is able to query GAL.
614 Note: the initial patch was proposing:
615 "(&%s(showInAddressBook=*))", purportedSearch
617 I replaced it with "%s", purportedSearch only since we don't have yet
618 any showInAddressBook attribute in AD.
620 Patch from Kamen Mazdrashki <kamen.mazdrashki@postpath.com>:
622 - Add server side implementation for NspiResolveNamesW
623 - Refactor and split emsabp_verify_user in two functions
625 A new function emsabp_get_account_info() implemented to fetch info
626 about given user name. emsabp_verify_user() uses the above function
627 check if authenticated account_name is valid mail account and if so,
628 account_name is cached in emsabp context for future use
630 Patch from Kamen Mazdrashki <kamen.mazdrashki@postpath.com>:
632 NspiGetProps() reimplemented to match [MS-NSPI] specification more
635 As a side-effect, emsabp_fetch_attrs() was altered to return
636 MAPI_E_INVALID_BOOKMARK in case requested MId is not found. This way
637 the function returns more meaningful error codes - if requested MId is
638 not found this surely means InvalidBookmark rather than CorruptStore
643 Path from Kamen Mazdrashki <kamen.mazdrashki@postpath.com>:
645 Propagate dwFlags for incoming call to get EntryIDs correctly.
647 Actually we need to propagate dwFlags so that emsabp_query()
648 function to be able to determine whether EphemeralEntryID
649 or PermanentEntryID is requested to be built.
651 Patch from Kamen Mazdrashki <kamen.mazdrashki@postpath.com>:
653 Implement PR_SEARCH_KEY attribute getter
655 Patch from Kamen Mazdrashki <kamen.mazdrashki@postpath.com>
657 Add PR_ADDRTYPE_UNICODE and PR_EMS_AB_PROXY_ADDRESSES_UNICODE getters.
659 Patch from Kamen Mazdrashki <kamen.mazdrashki@postpath.com>:
661 - Extend NspiDNToMId() to search in Configuration and Domain
664 - NspiDNToMId() has been extended to cache returned data properly,
665 i.e. DNs from Configuration partition are cached in ttb_ctx db, DNs
666 from Domain partition are cached in in-memory db ttdb_ctx.
668 Patch from Kamen Mazdrashki <kamen.mazdrashki@postpath.com>:
670 emsabp_set_PermanentEntryID() implements MS specification more
671 closely. For reference: [MS-NSPI] and [MS-OXOABK]
673 - Replace emsabp_get_server_GUID with samdb_ntds_objectGUID Samba4
675 - Change the way we initially fetched server GUID
677 Credits to Kamen Mazdrashki <kamen.mazdrashki@postpath.com> for
678 initial patch and associated research:
680 It turns out MS implementation for NSPI reads the guid from: "CN=NTDS
681 Settings,CN=<NETBIOS_NAME>,CN=Servers,CN=Default-First-Site-Name,CN=Sites,<CONFIG_DN>" entry.
683 Fix samdb_connect warning.
684 Add function prototype to nsp,emsmdb header files.
685 Change samdb_ctx from void * to ldb_context *
688 Update docs to match those in mapiproxy doxygen docs.
690 Roll to the latest Samba4 version.
692 This should have no noticeable difference over the
693 Samba4 alpha9 release, but its nice to use the latest
694 version, and it might make a difference on the server
699 Fix OpenChange server code and access to Samba4 databases.
700 Starting with samba4-alpha9, there is no more configuration.ldb or users.ldb.
701 All information can be accessed through a single access to SamDB and configuration records
702 accessed through ldb_get_config_basedn.
704 The following implementation has been tested and is working with:
705 - mapiprofile profile creation
706 - openchangeclient --mailbox
707 - Outlook 2003 account creation
708 - Outlook 2003 mailbox opening
713 Fix openchange user provisioning scripts
715 Forgot to commit this LDIF modifications for openchange provisioning
720 - Fix OpenChange server provisioning (exchange classes and attribute only)
721 - Remove deprecated provisioning steps
722 - OpenChange user provisioning is still broken at this point, but will be
723 fixed in further revisions.
728 Fix a cast warning at compilation time for libmapi++
730 - Update openchange libraries to 0.9: close trac ticket #165
731 - Propagate pkgconfig solution in trac ticket #94 to other libs
733 - Update openchange code to work with samba4-alpha9 release
734 - Apply minor fix to ldb_wrap_connect (number of parameters)
735 - Update mapiproxy code to handle new Samba4 assoc_group implementation properly
736 - Update samba4 version script to match alpha9 and related git commit
741 Ensure we get output if sqlite3 isn't found at configure time.
743 Now outputs "no" instead of a blank.
748 Fix attribution, per IRC discussion.
753 Ensure API documentation gets generated for utilities functions.
755 Some undocumented stuff in here to look at later.
757 Add additional mapidump functions for notifications
759 This is a patch from Johnny Jacob (Novell), with unit tests and some extra checks by me.
761 Maintains good test coverage for this file.
766 Avoid use-after-free for the number of rows in the SRowSet.
768 Resolves issue #212, which has the valgrind error.
773 Add test for get_proptag_value().
775 Minor cleanups for mapidump functions.
777 - Add support for dumping property tags using PT_SHORT.
778 - Modify the tag for PR_whatever_ERROR results to include the _ERROR bit
779 - Minor format change for PT_BINARY (training colon)
780 - Ensure PT_SYSTIME respects the seperator value (API change)
781 - Add a conditional assert() using infrastructure introduced in r1553.
783 Implement mapitest support for all of libmapi/mapidump.c
785 Update openchangeclient for the API change.
787 Introduce a compile time definition that is set for SVN snapshot releases.
789 The intent is to use this to protect assert() calls that indicate incomplete code.
794 Improved Sun Studio compiler support.
796 Patch by Brian Lu (Sun) - thanks again.
798 Revert inadvertent part from previous commit (r1549)
800 Add coverage testing support.
802 ./configure now supports --enable-coverage, which builds with the right options
803 to support gcov. Also adds a new makefile target ("coverage") that runs the
804 required post-processing steps.
806 Also added a test script that does a range of openchange related (client side)
807 operations. This is useful for generating the test load for coverage checks.
809 So the basic recipe here is
810 1. Add the --enable-coverage option at configure time.
812 3. Install it, or otherwise ensure that coverage-enabled libs are used
813 4. generate the test load (e.g. run ./script/smoketest.sh)
815 6. Inspect the results in ./covresults
820 Add support for the SunStudio compiler.
822 I previously special-cased the Intel C compiler, and relied on some ugly ordering requirements to
823 ensure it all worked.
825 This approach is cleaner, allowing options to be build up separately for each compiler, and for
826 the C and C++ versions.
828 Tested on Linux with all three compilers.
833 Adding missing include.
837 Patch from Brian Lu (Sun). Thanks very much.
842 Additional portability fixes for SunOS.
844 Based on a patch (ticket #220) by Brian Lu (Sun). Thanks very much.
846 I modified the patch to try to use autoconf where possible.
848 Resolves ticket #220.
850 Remove MAP_FILE flag from mmap(). Looks like this is only required on really
851 old unix systems (e.g. NetBSD prior to 1.0), which we probably won't ever support.
853 Patch by Brian Lu (Sun) - thanks very much.
855 Partly resolves ticket #220 - still need to handle the first patch.
860 Fix build problem using Sun Studio compiler.
862 Reported by Brian Lu (Sun), including a patch (Ticket #219)
864 I slightly modified the patch, but nothing substantial.
869 Patches provided by raboof:
870 - Ticket #213 deprecated include directive removal
871 - Ticket #214 missing sanity check
872 - Ticket #215 fix some DEBUG macro level for sain ouput
882 Use mapi_profile_get_ldif_path to find ldif path when one is not given
887 Added libmapi++ wrapper function for CreateProfileStore
892 Update buildsystem to avoid using bash-specific (well, not sh-supported) +=
895 Should allow FreeBSD to be supported.
900 Alternative solution to ticket #179, provided by Alan Alvarez.
902 This alternative avoids the need for the user to clean up the string returned by what().
904 Also includes a test case, which I've used to validate that the original (prior to r1524) code
905 is faulty, and that both fixes (From Erik Hovland and from Alan Alvarez) deal with it.
907 Resolves Ticket #179 (again).
912 Make sure that the string given by what() can be used.
914 Patch by Erik Hovland - thanks very much.
916 Resolves ticket #179.
918 Ensure that the libmapi++ messages example works even if there is no
919 PR_CONVERSATION_TOPIC (subject).
927 Modify mapi_object_set_logon_id() to be able to report errors.
929 Original patch by Erik Hovland, I made some changes.
934 Implement RopReloadCachedInformation (0x10).
936 Minor change to IDL (previously implemented), and adds
937 implementaiton and mapitest code.
939 Also editorial comment fix in some related mapitest stuff.
943 Implement GetValidAttachments ROP (0x52).
945 Includes IDL, implementation and mapitest.
947 mapitest also checks DeleteAttach behaviour, which I don't think we previously
950 Also includes a comment fix in the mapitest code.
957 Patch by Erik Hovland <erik at hovland.org>
962 Update the properties list.
964 Patch from Girish Venkatachalam <girish at gayatri-hitech.com>
969 Update API to use MAPITAGS enum.
971 Update to match API change.
973 Use appropriate enum here.
975 Use enum for OpenEmbeddedMessage call.
977 Use enums where appropriate.
979 Update users of FindRow to use enums.
981 We are supposed to be returning a MAPISTATUS, so switch to using
982 the OPENCHANGE_RETVAL_ERR macro here.
984 Use appropriate enums instead of int types.
986 Use enums instead of ints / hardcoded values.
988 Use enum types where appropriate.
990 Fixes warnings from Intel C compiler.
992 Return a suitable MAPISTATUS if we can't talloc sufficient memory here.
994 Fixes warning from Intel compiler.
999 Only pass "-Wmissing-prototypes -Wstrict-prototypes" to CFLAGS,
1000 not to CXXFLAGS as well.
1002 Avoids g++ warnings.
1004 Use enumerated type instead of integer.
1006 Remove unreachable code.
1008 Add "static" to avoid the need for additional declarations.
1010 Avoids noise from the intel c compiler.
1012 Namespace variable in macro, so we don't get noise about shadowing a
1015 Help icc find comparison_fn_t.
1017 Match up data types in argument and format string.
1019 Remove unused variable, and change a name to avoid a "shadowed declaration"
1025 Portability fixes for Intel C Compiler.
1027 Set CFLAGS early, otherwise AC_PROG_CC will set
1028 CFLAGS to "-O2 -g", which later has -O3 appended, which
1029 icc complains about.
1031 Check if we're really icc, and if so, turn off some warnings.
1032 Also turn off the "FORTIFY_SOURCE" define which causes problems
1033 with missing builtins.
1035 The warnings can (and should) be turned back on later, after we
1036 fix the current issues.
1041 Correct diagnostics messages.
1046 Remove explicit -Wstrict-aliasing=3 from command line.
1048 This is implied by gcc -Wall option, and icc produces nuisance warnings
1049 with it enabled (related to the -W option, not the code being compiled).
1051 Fix some memory leaks and a bug in mapiprofile.
1053 I introduced the bug in r1467, there could be others that are similar.
1058 Minor rewording of description
1065 Move initialisation up, to make sure everything is valid in the failure paths
1067 Patch by Erik Hovland. Thanks once again.
1069 This closes out ticket #178.
1071 Remove unreachable code.
1073 Patch by Erik Hovland. Thanks again.
1075 This is the second part of ticket #177. This completes the checkin of that ticket.
1077 Remove unreachable code.
1079 Patch by Erik Hovland. Thanks very much.
1081 This is the first part of ticket #177.
1086 Ensure that we check the result of the operation we just performed.
1088 Patch by Erik Hovland. Thanks very much for continuing to provide these.
1090 This is the third part of the patch in ticket #177. The first two parts are yet to be addressed.
1092 Make sure that return values are checked and report that given status if there is an error.
1094 Patch from Erik Hovland, with minor additional changes. Thanks again for the patch.
1098 More cleanups of memory leaks for setting up database and an associated failure case.
1100 fix leak in openchangeclient
1102 (as seen with valgrind of "openchangeclient -m")
1104 Fix memory leak in mapiprofile utility
1109 Ensure that when we pass --profile to mapitest, that profile
1110 gets used instead of the default.
1112 Also fix a small memory leak when using --profile, and add some
1115 Fix error handling case.
1117 Patch from Erik Hovland - thanks very much.
1119 Resolves ticket #175.
1124 Remove unused enum values.
1126 Remove unused code - no simple tests.
1131 Update the script version of samba4 to alpha8.
1136 Add tevent to dependencies.
1141 Remove unused headers.
1143 Patch by Erik Hovland - thanks very much,
1145 Resolves ticket #164.
1147 Apply patch from Erik Hovland, from ticket #162.
1149 From the original patch:
1150 "The problem is that when you do stat first w/ a file string anyone can
1151 exploit the time in between to do whatever they want with the file that
1152 the string is a name for. Instead, try to open straight away. Then fstat
1153 w/ the file descriptor."
1155 I think the patch is fine, although I didn't run the torture test.
1160 Avoid duplicate call to mapi_object_get_logon_id
1162 Based on a patch proposed by Erik Hovland, but adapted to follow the
1163 pattern used in OpenStream().
1165 Resolves issue #163.
1167 Applied modified version of patch from Erik Hovland to address unused variables.
1169 See http://trac.openchange.org/attachment/ticket/160/unused-values for
1174 My version removes variables (rather than commenting them out) since we don't need
1175 them now. I also updated the documentation for options that are no longer available
1177 The origin of the unused PR_FOLDER_CHILD_COUNT is a bit strange. It was introduced
1178 in r808 (to resolve #103), and looks like it might have been used for debugging - no
1179 impact on the code. I pulled out the whole lot.
1181 Tested with openchangeclient --fetchmail --folder="Sent Mail" and mapitest.
1183 Use array form of delete (error identified with libmapixx-attach test, using valgrind).
1185 Fix potentially unused variable.
1187 Tested with mapitest (even though nothing should have been affected) and
1188 with libmapixx-test and libmapixx-attach under valgrind.
1190 Patch is remaining part of http://trac.openchange.org/ticket/153
1192 Thanks to Erik Hovland for the patch.
1197 Remove dead / unused code.
1199 See http://trac.openchange.org/ticket/152#comment:1 for rationale.
1201 Original patch by Erik Hovland - thanks again.
1203 Update test case to reflect new behaviour
1208 Link libmapistore against tdb.
1210 Update copies of config.guess and config.sub.
1212 Link libmapiproxy against tdb.
1214 Declare a SOVERSION for libmapistore.
1216 Use LDFLAGS when linking exchange2ical.
1218 Create symlink for libmapistore.
1220 Link libmapi against tevent since it uses tevent_context_init, link ndr_exchange.po into libmapiserver since it uses some ndr_push_* symbols.
1222 Fix typo in variable name.
1227 Fix typo in Python variable name.
1229 Keep separate flags for libraries around in config.mk.
1231 Link libmapiserver against all libraries.
1236 Add some PidTag* mapping involved with Recipients and RecipientRow
1241 Patch from Erik Hovland <erik@hovland.org>:
1243 Initializes variables to make sure they aren't used uninitialized.
1247 - Add sanity check on mapitest_common creation routines within
1250 - Apply patch from Erik Hovland <erik@hovland.org>: check return
1253 Patch From Erik Hovland <erik@hovland.org>
1255 In torture_rpc_mapi_sendattach a call is made to the system function
1256 read at line 199. The return value of read is assigned to read_size,
1257 which happens to be of unsigned type. So if read returns -1 (which it
1258 can) it will not be noticed. The patch changes the type to ssize_t
1259 (signed) and checks for -1 as well as zero to break out of the loop.
1263 Patch from Erik Hovland <erik@hovland.org>
1265 1. In mapiproxy, the directory handle dir will be leaked after it is
1267 2. exchange2mbox main() should use exit at line 785 just like all of
1268 the other error paths so that we don't leak anything
1272 Patch from Erik Hovland <erik@hovland.org>
1274 Adds a #include config.h to suppress compiler warnings for vasprintf
1276 Patch from Erik Hovland <erik@hovland.org>:
1278 Make sure pointers are valid before dereferencing
1279 1. lpProps 'might' be null
1280 2. Add folder to variables checked before moving on.
1281 4. Check nprop->guid before giving to strcmp, two times
1282 6. Check definition before handing to strlen (which will dereference
1283 it) Reworked this one to include talloc_free
1284 7. Check MessageClass? before handing to strncasecmp
1285 8. Check backend, return if null.
1286 10. Don't print out anything if lpProp is null
1287 11. Check attach_size before dereferencing
1292 Fix pull structure for QueryRows reply when no RowData is available
1297 - Add preliminary IDL support for Exchange 2003/2007 EMSMDB RPC calls:
1301 - Add LZxpress and XorMagic support to EcDoRpcExt2 request/reply
1302 blob. However it doesn't yet support Chained calls.
1304 - Add AuxInfo/AUX_HEADER structures and IDL
1306 - Refactor mapi_request and mapi_response: move obfuscate_data calls
1307 up to the EcDoRpc layer
1312 Patch from Paolo Abeni <paolo.abeni@gmail.com>:
1314 call ProcessNotification() after each successful
1315 emsmdb_transaction() in all the libmapi calls.
1317 Patch from Paolo Abeni <paolo.abeni@gmail.com>:
1319 Mapi notifications can occurs inside any emsmdb_transaction; currently
1320 only the notification send by the server inside the
1321 emsmdb_transaction_null() in MonitorNotification() are
1322 parsed/processed/delivered to the appropriate callback.
1324 To be able to process all the received notifications, the notification
1325 structure must comprise the private data to be passed to the
1326 notification callback, since in the average mapi call this data is not
1327 available. This patch modifies the Subscribe() call and the
1328 mapi_notification structure, adding the private_data parameter (also the
1329 related Subscribe() calls are update) and add a libmapi call
1330 (DispatchNotifications) to force the notification dispatching in
1331 a [quite] non blocking way
1336 Patch from Paolo Abeni <paolo.abeni@gmail.com>:
1338 ProcessNotification() is ignoring the handle value contained into the
1339 processed notifications. This means that if many Subscribe() calls are
1340 performed on different folders but with the same flags, all the
1341 registered callback are [incorrectly] signaled with each received
1344 The attached patch match the handler contained into the notification
1345 message against the notification object handle to avoid such
1351 Make sure delayed authenication is not called when server mode is enabled
1354 Update property list to reflect current OAB props.
1356 This deletes a few incompatible properties. Cannot determine the history of the PR_MAILBEAT_ props.
1358 Fix display of Folder ID values (one is filled with ., the other is prefixed with .16 instead of being filled.
1360 Also remove duplicate close() of file descriptor.
1372 Implement RopTransportNewMail (0x51).
1374 Includes IDL, libmapi implementation, and basic mapitest coverage.
1376 Also fix a few doxygen / formatting things.
1381 - Add Redirect buffer support for OpenMsgStore and OpenPublicFolder.
1382 This commit fixes the ecWrongServer (0x478) error users encounter
1383 while running openchange based software in a clustered Exchange
1389 Implement RopCloneStream (0x3b) and RopWriteAndCommitStream (0x90).
1391 Includes IDL, implementation and mapitest tests.
1396 Fix Search notifications.
1398 MS concurred that the docs are wrong.
1400 Patch by Paolo Abeni - thanks very much for the
1401 investigation and the patch.
1403 Update GetStoreState documentation.
1405 Implement RopSetPropertiesNoReplicate (0x79).
1407 IDL was already done. mapitest for DeletePropertiesNoReplicate was
1413 Implement (IDL, libmapi, mapitest) RopHardDeleteMessagesAndSubfolders (0x92)
1415 Also fix some bugs in mapitest common code, and an incorrect sanity check in CreateFolder().
1420 Implement RopHardDeleteMessages (0x91).
1422 Includes IDL, implementation and mapitest.
1425 Ignore generated property file.
1430 Add PT_ACTIONS to list of data types.
1432 Not fully/correctly handled yet.
1437 - Add dcerpc_mapiproxy:delegated_auth option
1438 This option delays mapiproxy-remote server authentication when
1439 the client sends the first request on a given pipe. This is
1440 mandatory in order to have delegated credentials to work.
1442 - Factor remote connection into mapiproxy_op_connect
1447 Add session state to the notification.
1448 Patch by Paolo Abeni - thanks for the investigation and fix.
1450 Also remove a stray debug message.
1452 Add a new mapitest suite for OXCNOTIF (Core Notifications).
1454 Add a test to the OXCNOTIF suite based on test case provided by Paolo Abeni.
1459 Update IDL for ModifyRules (0x41) and add IDL for
1460 UpdateDeferredActionMessages (0x57).
1462 This is a checkpoint commit, pending further investigation
1463 into how we handle PtypRestriction and PtypRuleAction.
1468 Mapitest cleanups - remove GetLastError(), and other minor edits.
1470 Implement LockRegionStream and UnlockRegionStream ROPs.
1472 These appear to be a relatively recent addition to the
1473 documentation, possibly only used in Exchange 2007 / Outlook
1476 This is complete except for testing of whether the locking
1482 Use parent folder full replica ID: 2 bytes instead of 1 byte
1484 - Add Implementation for Logon redirect response buffer in OpenChange IDL
1485 - Update libmapiserver size calculation routine for Logon call to handle this case
1490 Add session and logon_id to the list of parameters to copy between objects.
1491 This patch fixes a problem in openchangeclient when using the --folder parameter.
1494 Remove code relating to free'ing the bookmark returned
1495 by SetCollapseState. Initial investigations with MS
1496 lead me to believe that you can't free that resource.
1498 May be more work in this area as investigation continues.
1503 Fix memory leaks for functions relying on pull_emsmdb_property
1508 Fix emsabp valgrind errors
1513 Make it possible to specify a version number for release different
1514 from major/minor from configure.ac
1519 Make it possible to open and control up to 255 mailboxes within a
1520 single MAPI session.
1522 It implements an internal management of a logon_id array at session
1523 level + enable transparent transport/copy of current logon_id value
1524 among MAPI calls + finally transparently free the logon_id value when
1525 the store object (PF or mailbox) is being released.
1527 - Retrieve recipients from OpenEmbeddedMessage reply
1528 - Test the implementation in mapitest
1529 - Avoid potential memory leak: steal context for returned ulPropTags.
1534 Be more tolerant with Logon request flags
1536 Set retval to MAPI_E_INVALID_BOOKMARK rather than returning.
1537 This case still needs to be fixed though.
1539 Delete debug message
1541 Create a default GetProps reply on error
1546 Fix retval problem in libmapi/nspi.c for GetIDsFromNames.
1547 Function returns MAPI_E_SUCCESS, but errno is set to 0x0000000b.
1548 Set errno to retval to work around this problem.
1551 NSPI-GETIDSFROMNAMES
1553 OXCPRPT-NAME-ID mapitest now passes: The QueryNamedProperties ecMemory retval
1554 has been worked-around by setting QueryFlags to NoStrings to limite the results
1555 scope. This means the MNID_STRING case is not fully checked anymore. We should maybe
1556 add additional tests to do full coverage.
1558 Fix GetNamesFromIDs IDL and implementation.
1560 Note: We should probably update the function prototype
1561 so it takes a mapi_SPropTagArray rather than a single property.
1564 Protect against bad results from GetGALTable().
1566 Resolves ticket #142
1571 Patch from Paolo Abeni: Add sanity check to Subscribe
1572 and prevent applications from crashing if notify context
1578 Ensure NSPI server functions have a valid dcesrv_handle
1580 Add quick/additional configuration information on how to setup openchange server
1582 This commit adds a retval check on private data retrieval function and prevents QueryPosition from causing a
1583 segfault when parent object is meant to come from GetContentsTable.
1585 - Fix NspiGetMatches server reply when specified username is invalid and
1587 - Make use of talloc hierarchy for NspiGetProps properties fetch + fix
1588 a talloc_free bug leading to segfault on failure.
1590 Prevent from registering same mapistore backend multiple times
1598 Add skeleton for GetRulesTable
1600 - return MAPI_E_SUCCESS when QueryRows reply count is 0
1601 - Move Reminders from IPM Subtree to Mailbox root
1603 - Add QueryPosition implementation
1604 - Move from offset to numerator/denominator couple for table objects
1606 Outlook now opens properly using openchange server and display the
1607 mailbox folder list with icons ;-)
1609 - Add skeletons for Restrict, SortTable, FindRow calls
1610 - Introduce emsmdb provider table object
1611 - Add preliminary table implementation for system/special folders
1612 - Add preliminary implementation of GetHierarchyTable, SetColumns and QueryRows
1613 - Improve creation of GetProps reply blob for Mailbox folder
1614 - Fix bug in EcRRegisterPushNotification when associated handle is invalid
1615 - Remove some usage of ldb_filter and use format string instead
1616 - Update libmapiserver sanity checks and look for error_code != MAPI_E_SUCCESS
1617 so openchange server is able to return failed replies to MAPI clients
1618 - Introduce flaggedPropertyRows in libmapiserver_push_property (needed by QueryRows)
1620 This commit makes openchange server work with "openchangeclient --mailbox" ;-)
1622 Still preliminary but anyway worthwhile enough to be mentioned ...
1624 - Add a function to count subfolders of a container
1625 - Add a function to wrap MAPI tables over openchangedb
1626 - Factorize code used to fetch property values from LDB records
1628 - Add default properties to folder records while provisioning mailbox
1629 - Add few more mapping for PR_* to PidTag
1630 - Add a new MAPI property to the list
1632 Avoid openchangeclient --mailbox to segfault when run vs openchange server
1635 Remove some ldb_filters, and just use varargs into ldb_search
1637 warning fix for 64-bit arch.
1639 Revert previous commit.
1641 Experimental commit to fix build problems resulting
1642 from property changes.
1647 - Add PidTagDisplayName property to Mailbox object
1648 - Add PidTagParentFolderId to all system/special folders
1650 - handles array depends if a valid mapi_repl exists. This commit
1651 fixes the destructor semantics.
1652 - Fix a mapitest segfault encountered while run vs openchange server
1653 - Return 1 in SRowSet_propcpy if an error was encountered.
1655 Fix libmapi stack segfault when MAPI calls returns
1656 with error_code different from MAPI_E_SUCCESS.
1658 Do not process NSPI request if we can't find the handle
1660 Remove unnecessary ldb_filter parameter and replace it
1661 with ldb_search format string.
1666 - GetPropertyIdsFromNames skeleton added
1668 - Fix how Release replies are handled in mapi_repl[] array
1669 - Remove Release size calculation
1670 - Fix QueryRows size in libmapiserver
1671 - Add a dummy/skeleton GetPropertiesSpecific function for mapistore objects.
1672 - GetHierarchyTable skeleton added
1673 - SetProperties skeleton added
1674 - CreateMessage skeleton added
1675 - SaveChangesMessage skeleton added
1681 Set mapi_response to NULL upon init ... just to get sure
1683 Fix MAPIUninitialize segfault
1691 - Add skeleton for GetContentsTable Rop
1692 - Add skeleton for some [MS-OXCTABL] Rops: SetColumns, SortTable, QueryRows, SeekRows
1693 - Add libmapiserver size calculation functions for all the above
1694 - Ensure we only set objects parameter if it exists
1695 - Return when dcesrv handle is not available
1697 Merge s4-alpha7 branch back into trunk
1702 - Add several PidTag to openchange.ldb folders
1703 - Add provisioning convenient function which adds attribute/value pair
1704 to a given folder record
1705 - Replace existing special folders reference within Inbox with PidTagIpm* tags
1706 - Add new PidTag values to mapi-properties
1707 - Add a function to libmapiproxy to build a folder EntryID as described in MS-OXODATA
1708 - Add a function which builds special properties for openchangedb folders
1709 - Add PT_BOOLEAN case to openchangedb folder get property function
1710 - Keep a reference to the mailbox username within emsmdb provider context
1711 - Create and return a handle in RegisterNotification
1716 Wrong MessageClass size calculation fixed
1719 Remove duplicate _GNU_SOURCE definition (already specified by Makefile)
1721 Ignore new binary and trial output.
1726 - Fix systemfolder value for System/Special folders
1727 - Add GetProps support to System/Special folders
1729 Add auto-generated parser to the ignore list
1731 - Add auto-generated parser for MAPI property to PidTag mapping
1732 - Add some PidTag values
1733 - Add a lookup and get property functions on system folders
1735 - tuple SystemIdx in the dictionnary to workaround the ordering problem
1736 - Add ParentFolderId attribute to System Folders
1738 - Add creation of "Special folders" to mailbox provisioning
1739 - Rename fid attribute to PidTagFolderId
1740 - Rename name attribute to PidTagDisplayName
1741 - Rename ExplicitContainerClass to PidTagContainerClass
1743 Fix GlobalCount increment
1745 Fix mailbox provisioning
1748 Add test for FILETIME structure.
1750 Update docs for mapiproxy entry.
1753 Fix handling of fids.
1757 - Fix openchangedb mailbox hierarchy and introduces subfolders
1758 as described in [MS-OXOFOLDS] specifications.
1759 - Update openchangedb API to reflect this change.
1761 Rename private mailbox folder "non_ipm_subtree" to "mailbox_root"
1762 to fit with MS-OXOFOLDS specifications.
1764 - Add provisioning code for GetReceiveFolder defaults
1765 - Check if mapistore content repository already exists for the user
1766 - Make mailbox creation verbose
1769 Fix parentfolder reference.
1773 Use recursive call to create folders.
1775 Simplify list iteration, PEP8, avoid using string exceptions.
1780 Fix 'dereferencing type-punned pointer' warnings
1782 - Add strict-aliasing compiler flags
1783 - Fix format string warnings on ubuntu buildbot
1785 - Add _FORTIFY_SOURCE=2 to the compiler CFLAGS
1786 - Fix warnings introduced by -D_FORTIFY_SOURCE
1789 I might have been a bit hasty with that last commit...
1793 Try harder to find sqlite3.
1795 Seems to be in sqlite.pc on Ubuntu.
1797 Fix warning on 64-bit arch.
1801 - Add RopGetReceiveFolder (0x27) implementation
1802 The function respects should respect the semantics and behavior
1803 as described in MS-OXCSTOR specifications. However the python's
1804 code modification required: add ExplicitMessageClass attributes
1805 to folder records is not yet effective.
1807 - Add GetReceiveFolder size calculation function to libmapiserver
1808 - Add a function to openchangedb API to retrieve the FID/ExplicitMessageClass
1809 couple for a given SystemFolder within user's mailbox.
1811 - Provision scripts: create a mapistore default storage space within ${private}/mapistore/${username}
1812 - Provision scripts: add default sqlite:// mapistore URI for system folders
1813 - Add mapistore context initialization when calling OpenFolder on SystemFolder
1814 - Add mapistore context release for folders in emsmdbp object destructor
1816 Factorize emsmdbp objects
1817 Add emsmdbp_object generic talloc destructor
1820 Add test for PT_MV_LONG.
1822 Add tests for PT_I8 and PT_BINARY
1824 Fix warning about no newline at end of file.
1826 Remove most recently added tests from "to be done" list.
1828 Add a couple more mapi_SPropValue tests.
1833 - Initialize mapistore within emsmdb provider context
1834 - Add destructors for MAPI handles and mapistore contexts
1835 - Remove emsmdbp_ctx memory context structure member and
1836 allocate directly with emsmdbp_ctx
1838 I don't see any good reason why we would pad MAPI replies with some bytes.
1839 I guess it comes from some prehistoric openchange code.
1841 Fix systemfolder assignment depending on IsSystemFolder value
1843 - Initialize OpenFolder server reply
1845 - Wrap TDB connections to mapistore (code from samba4) so
1846 multiple instances can open read/write to the same TDB database
1847 - Remove static id_mapping_context (replaced with tdb_wrap calls)
1848 - Update mapistore linkage rules so mapistore can be used with exchange_emsmdb server
1849 - Link mapistore with exchange_emsmdb
1851 Fix aclocal warning for AC_DEFINE comparison_fn_t
1853 Remove useless GetProfilePtr from IProfAdmin interface
1854 Closes trac ticket #131
1856 Add missing script - prevent configure from generating warning vs missing file.
1858 Remove stamp-h1 file during distclean and add it
1861 - Add server-side GetReceiveFolder (0x27) skeleton
1863 Work around the comparison_fn_t redefinition problem
1864 between libocpf and ndr.h
1866 FreeBSD doesn't have time.h daylight global variable
1869 start testing mapi_SPropValue_array.
1870 This also tests some underlying functions.
1875 Add comparison_fn_t support to ndr.h
1876 This was the latest change require to make openchange compiles under FreeBSD
1878 = samba4/openchange FreeBSD support completed =
1883 Remove duplicated post_install call
1885 Add a post_install operation on FreeBSD
1886 Make sure pidl is installed properly.
1888 Patch samba4 tarball so it compiles properly on FreeBSD 7.0
1889 Note: this is a dirty hack which needs to be removed in the future
1891 Install Samba4 correctly although user's PKG_CONFIG_PATH env variable
1892 may not be adjusted properly.
1894 Avoid download samba4 release tarball if already available
1895 in current directory.
1897 - Add test for comparison_fn_t in configure.ac
1898 - libocpf auto-generated files include stdlib.h and prevent from
1899 having the proper comparison_fn_t typedef. This commit works around this
1900 problem and define comparison_fn_t within a private header.
1902 getline is a stdio GNU_SOURCE extension not available under FreeBSD.
1903 Use fgetln instead when it is compiled on this OS.
1905 FreeBSD doesn't define sighandler_t but sig_t
1907 Replace open() call with O_DIRECTORY flag (Linux specific) with opendir
1909 - Add non-default search path /usr/local/{include,lib} to
1910 CFLAGS and LDFLAGS when compiling OpenChange under FreeBSD
1911 - Make use of LDFLAGS while compiling openchange tools
1914 A few improvements for property handling.
1916 Also add unit tests to verify behaviour is correct.
1918 The implementation for the FlatUID (GUID) structure appears broken. Perhaps I'm not using it correctly.
1920 Microsoft confirmed the LCID is wrong in the spec, and will be updated in the next rev.
1925 Check for Flex version < 2.5.35
1926 Make sure users can define the FLEX environment variable
1928 Add automake scripts for AC_CANONICAL_HOST support
1929 Needed for FreeBSD OS detection in configure.ac
1934 Fix warnings from lexer output.
1936 Fixes for warnings on 64-bit architectures.
1938 Fix warning on 64-bit architecture.
1941 Add some more tests for openchange.mailbox.
1943 Fix creation of new mailbox after provision.
1945 Always use the same URL when connecting to openchangedb.
1947 Fix arguments to openchangedb_provision.
1952 Fix libmapi 64-bit machine cast warnings mentioned in Brad's devel email
1955 Warning fix for 64-bit arch.
1960 Add doxygen definition for RopRelease
1962 - Add server-side skeleton implementation for RopOpenFolder and RopRegisterNotification
1963 - Add preliminary size calculation functions in libmapiserver for the 2 calls above
1964 - Fix size bug for serialized requests
1965 - Add skeleton case for RopGetPropertiesSpecific on SystemFolders
1966 - Make sure the GetProps reply blob is initialized whatever happen
1967 - Add a skeleton emsmdbp folder object init function
1972 Remove debug strings for GetPropertiesSpecific Rop
1974 Enable verbose output in server mode - useful during development
1976 Implement preliminary server-side RopGetPropertiesSpecific call for mailbox object.
1978 - Fix GetProps blob for PT_BINARY: use SBinary_short instead of Binary_r
1979 - Fix GetProps size: subcontext is not added to the fixed size calculation
1981 - GetPropsSpecific size calculation function added to libmapiserver
1982 - Function to create a GetProps reply property blob added to libmapiserver
1985 Add tests for provisioning.
1987 Several cleanups in python code, add tests for schema use.
1989 Don't clear PYTHONPATH override.
1991 Remove unused imports, add extra tests.
1993 Use member variable for Ldb, rather than subclassing.
1995 Remove print statements to avoid cluttering test output.
1997 Add simple and incomplete testcase for OpenChangeDB.
1999 Move wipe of data to mailbox.py, simplify arguments to add_root_mailbox.
2001 Move adding a server to mailbox.py.
2003 Move ldif from oc_provision_openchange.ldif into Python.
2005 Stop providing setup_path to OpenChangeDB, as it's no longer used.
2007 Avoid using separate LDIF file when creating folder mailboxes.
2009 Avoid using separate LDIF file when creating mailboxes.
2011 Avoid passing full names object.
2013 Add check-python target.
2018 fix openchange_newuser.
2020 Use SamDB for actual SAM databases, Ldb otherwise.
2022 Remove unused parameters, don't make parameters optional if they are mandatory.
2024 remove unused parameters.
2026 make mailbox object-oriented, remove creds/lp parameters.
2028 Fix OpenChangeDB syntax.
2033 - Add a systemfolder member to the MAPI handle structure to make a difference
2034 between objects managed by mapistore and those stored within openchange.ldb
2035 (root mailbox folders).
2037 - Add opaque functions to set/get private_data and systemfolder to the MAPI
2040 Minor doxygen fix/improvement
2042 Add libmapistore object files to the ignore list
2044 - Add a very preliminary and light libmapistore implementation.
2045 mapistore only supplies init/release and add/del backend contexts.
2046 This commit also includes a sqlite3 backend skeleton (open/close sqlite db)
2047 - A temporary mapistore testing tool has been added locally for implementation checks.
2050 Use convenience function for connecting to openchange.ldb.
2052 Use standard LDB functions - openchange.ldb is not a SAM database.
2057 Implement support the SUMMARY language tag.
2059 Initial checking of libical based exchange2ical code.
2061 This has a long way to go, so think of this as more of a checkpoint
2064 See http://sourceforge.net/projects/freeassociation/ for the library, or
2065 see if your distro has a package.
2069 Add missing parameter to API documentation.
2071 Resolves ticket #130.
2073 API documentation fixes for OpenEmbeddedMessage()
2075 Implement OpenEmbeddedMessage ROP (0x46).
2079 Factor out message creation and message fill actions.
2081 Also remove GetLastError() where appropriate.
2083 Add some API documentation.
2088 Update openchangepfadmin description
2089 Fix tool relying on libmapiadmin
2096 Add more explanation for README
2098 Reimplement RTF decompression.
2100 Add unit tests from MS-OXRTFCP.
2102 Fix warnings in example code
2104 Add description for libmapiadmin
2106 Add description for libmapi / libmapi++
2108 Start on the directory descriptions.
2114 Add overview. Extracted from API docs.
2118 Outline of README file.
2120 (also using this to test buildbot without changing real code)
2124 Add Version field - avoid breaking pkg-config --list-all
2126 Fix warnings (gcc 4.2.4)
2129 Use variable for package version rather than hardcoding it.
2139 - Add an implementation of the MAPI handles management API. The API
2140 internally uses an in-memory TDB database to keep object hierarchy
2141 and a doubled chained list to associate private data to handles.
2143 The API currently provides add, search and delete facilities. Note
2144 that while untested, the delete operation is designed to recursively
2145 delete children of the 'meant to be deleted' handle.
2147 Finally the API doesn't remove TDB records but mark them as free so
2148 they can be reused across MAPI session and prevent from handle counter
2149 growing indefinitely.
2151 - Add a preliminary implementation of the Release call
2152 - Add Release size calculation to libmapiserver
2153 - Update EMSMDB provider to use MAPI handles API
2156 Minor api documentation fix.
2162 Minor API docs tweak.
2164 Token commit of tiny API docs fix.
2167 Look for GNU make harder (gmake on BSDs).
2172 - Add preliminary EMSMDB provider implementation for RopLogon (0xFE)
2173 - Add common routines for OpenChange LDB context init and search
2175 - Add libmapiserver skeleton with size calculation routine for RopLogon
2176 - Change DSO linking dependencies for mapiproxy shared libraries
2177 - Propagate _GNU_SOURCE change from libmapi.h to mapiproxy
2181 Remove .po and .o objects within libmapiproxy subdirectory
2183 Move libmapiproxy into its own directory and rebase mapiproxy headers accordingly
2184 Fix make uninstall for AD and profiles directories
2188 Add python code and ldif files needed to create and populate the experimental
2189 openchange dispatcher database.
2191 Add 5-Minute configuration documentation for OpenChange server mode
2193 - Rebase ldif files into sub directories:
2194 * AD for OpenChange AD modifications
2195 * profiles for OpenChange IProfAdmin interface
2196 - Makes it easier figuring out LDIF files scope
2197 - Prepare setup folder for LDIF openchangedb files integration
2198 - Update install/uninstall Makefile rules for ldif files and
2199 make sure everything got removed
2204 Add support for short language names (e.g. en-AU) for lcid.
2209 Delete deprecated libmapi setup Perl script
2212 Add summary report for tests.
2214 Make mapitest return the number of failed tests.
2219 - Add pkg-config pc file for libmapiproxy
2220 - Improve mapiproxy rules so libmapiproxy gets installed and cleaned properly
2222 Free memory allocated by the fake subcontext in
2223 ndr_pull_mapi_response.
2225 This fix saves 300kb of memory and removes 700 loss records while
2226 valgrinding mapitest.
2228 Fix segfault - Add sanity check - when SPropTagArray is NULL in
2229 NspiQueryRows request
2231 Fix openchange_newuser name typo
2233 Fix server provisioning command line examples
2235 Fix several libmapi leaks.
2237 mapi_response was allocated using emsmdb_ctx->mem_ctx memory context
2238 and was not free'd when libmapi function released their
2239 context. Furthermore we need to release mapi_response->mapi_repl and
2240 mapi_response->handles which are now automatically free'd when
2241 mapi_response destructor is called.
2243 However note that this fix is not perfect: mapi_response memory is not
2244 free'd properly when calls exit with an error.
2246 This commit also make use of talloc_steal where necessary to keep
2247 returned fields allocated.
2251 Use named context rather than autofree
2253 Fix memory leak in emsmdb.c: Use a temporary memory context for
2254 request and length allocation in emsmdb_transaction.
2256 - This removes 827 loss records and approximatively saves 41kb of
2257 memory while valgrinding mapitest
2259 - Fix memory leak in GetDefaultProfile and GetProfileTable.
2260 - Save from 10 loss records while valgrinding mapitest
2261 - Developers are now responsible from freeing the GetDefaultProfile
2262 string the function allocates.
2263 - Apply changes to all openchange tools.
2265 Add blackbox subunit tests for mapiprofile tool
2268 One more trivial fix.
2272 (Yep, more trivial changes)
2274 Fix incorrect LCID for en-CA.
2276 (OK, its token, I admit).
2279 Don't define _GNU_SOURCE unconditionally.
2283 Prevent mapiproxy from multiple init and modules/server register
2284 when an smb client connect to the server (e.g. windows browser or smbclient)
2288 According to [MS-OXOCAL] Section 2.2.1.44.1
2289 "RecurrencePattern Structure", a monthly recurrence
2290 also has a Day specific parameter.
2295 Simply run autogen.sh rather than replicating it inside the Makefile.
2297 need to run aclocal before autoconf for the pkg-config macros.
2301 Use a autofree context rather than a named one - makes sure memory is free'd when we exit the test.
2302 Saves from 4 loss records while valgrind'ing mapitest.
2304 Use temporary memory context for EcDoConnect.
2305 Saves from 20 loss records when valgrind'ing mapitest.
2307 Free PropertyProblem structures returned by CopyTo.
2309 Replace deprecated talloc_init calls with talloc_named
2310 This commit removes some valgrind loss records talloc_init was responsible for
2313 Free everything when running mapitest --list-all.
2314 Valgrind however shows a loss record related to talloc_init ...
2317 Minor Intel C compiler warning fixes.
2319 Minor apidocs cleanups.
2323 Use double pointer for lp_ctx in GetLoadparmContext assessor
2325 Fix memory leak in utf8 lexer.
2327 - Remove custom iconv_convenience from pull_emsmdb_property and use
2328 lp_iconv_convenience on loadparm_context argument instead.
2330 - Change OpenChange libmapi API to reflect this change
2332 - Introduce a lp_ctx assessor in libmapi/cdo_mapi.c
2333 (mostly for mapitest modules). libmapi/mapiproxy developers
2334 should never have to make use of it.
2336 - Remove pointless duplicated call to lp_load_default in MAPIInitialize.
2338 Free lpProps returned by GetProps, Fix context error in valgrind
2340 - Fix memory leak bug: release ndr context in pull_emsmdb_property before returning
2341 - Terminate SPropValue and SPropTagArray using an element with ulPropTag = 0. This
2342 prevent from "invalid read size of 4" messages from valgrind and remove context errors.
2345 Don't install mapiproxy if python wasn't found, since
2346 we wouldn't know where to install the provisioning scripts or be able
2351 Merge libmapi-0.8 branch r1015 to 1017 into trunk
2353 ** Start libmapi-0.9 COCHRANE development **
2355 Merge libmapi-0.8 branch changes into trunk
2359 Add python install/uninstall rules to provision rather than mapiproxy-servers
2361 - Remove server Makefile rules
2364 Note: server and providers have been merged within mapiproxy,
2365 so there is no reason keeping this deprecated code.
2369 Undoing change committed in r1004.
2371 Use .po files instead of .o files for openchange tools
2373 Add --version to openchange tools
2375 Add COPYING file with GPLv3 license
2379 - Add RenameProfile function to IProfAdmin API
2380 - Remove pointless CopyProfile from IProfAdmin API
2381 - Add --rename option to mapiprofile tool
2382 - Update man page to reflect this addition
2384 (close trac ticket #124)
2386 Fix libmapi from crashing when mapi_repl is NULL.
2388 Update Samba4 git rev to fix the charcnv segfault met in openchange
2392 Try to find the Samba python modules if they're not installed in the system
2397 - Fix Subscribe semantic bug and add WholeStore boolean parameter
2398 - propagate API change to tools/torture callers
2400 - Add assessor functions to set dumpdata and debug level in libmapi
2401 (SetMAPIDumpData and SetMAPIDebugLevel)
2402 - OpenChange tools modified to use these function rather than set these
2403 parameters on their own
2405 - Fix --debuglevel segfault in openchange tools
2406 - Enable logging to stdout in MAPIInitialize
2410 * OpenChange libmapi function now returns MAPI error instead of -1
2411 - use OPENCHANGE_RETVAL_IF instead of MAPI_RETVAL_IF
2412 - add doxygen documentation for some missing functions/files
2414 - Missed this event->tevent change in previous commit
2416 - Update openchange to use latest Samba4 master git rev (990491d)
2417 - Fix references to tevent_context structures
2418 - Fix iconv_convenience init in MAPIInitialize
2419 - Remove errorchecks mapitest module warning
2422 Use tevent_context_init.
2428 Some Exchange server (stand-alone) return MAPI_E_LOGON_FAILED when setting EssDN with username rather than
2429 using profile's mailbox string directly. This commit fixes the bug.
2431 - Add EcDoConnect and EcDoDisconnect preliminary support to
2432 dcesrv_exchange_emsmdb.c
2433 - Add internal session management mechanism to EMSMDB server
2434 - Add init and unbind modules function to EMSMDB server
2435 - Add emsmdbp_context and session to dcesrv_exchange_emsmdb.h
2438 Fix valgrind errors caused by using free'd memory.
2442 Implement 'mapiproxy downgrade' behavior in EMSMDB server and force
2443 Outlook to use EcDoConnect (0x0) and EcDoRpc (0x2) rather than 0xA and
2444 0xB (opnums using LZ based compression).
2446 - Add Preliminary implementation for RfrGetFQDNFromLegacyDN DS RFR server
2450 - Preliminary implementation of NspiGetProps NSPI server function
2451 - Makes sure emsabp_tdb_traverse_MId uses the correct dbuf size
2452 - Use correct ldb context (users or conf) depending on where MId is
2453 located (on-memory or on-disk)
2454 - Add PR_EMS_AB_NETWORK_ADDRESS mapping to emsabp_property
2456 *** Outlook is now able to create MAPI profile using OpenChange Server ONLY! ***
2458 - Preliminary implementation of NspiDNToMId NSPI server function
2459 - Add emsabp_search_legacyExchangeDN to search for a record given its
2460 legacyExchangeDN attribute.
2462 - Preliminary implementation of NspiQueryRows NSPI server function added
2463 - fix a bug in the MID TDB traversal routine: cut dptr to dsize length
2464 rather assuming it is NULL terminated
2465 - Add support for "referenced" property tags
2466 - Add support for PR_MV_STRING8
2467 - Add emsabp_search_dn which search for a DN within AD and return the
2468 associated LDB message
2469 - Add PR_EMS_AB_HOME_MDB and PR_EMS_AB_PROXY_ADDRESSES to
2470 emsabp_property array
2472 Prevent from trying to add a NULL element to profile database and segfault on strlen
2474 Prevent x500_get_dn_element from segfaulting when an incorrect DN string parameter is supplied
2476 - Preliminary implementation of NspiGetMatches NSPI server function
2477 - Make use of a on-memory TDB database for Ephemeral Entry IDs
2478 - Add TDB traversal routines to retrieve DN associated to MId
2479 - Move lp_ctx within emsabp_ctx for convenience
2480 - Add EphemeralEntryID to Binary_r routine
2481 - add emsabp_query (Find attribute matching given property tag and
2482 return associated data)
2483 - add emsabp_fetch_attrs which builds a SRow array given a MId and
2484 requested property tags.
2485 - add emsabp_search which searches AD given input search criteria
2486 - add a preliminary Property Tag to AD attribute mapping + associated
2487 functions in emsabp_property.c
2489 Note: This NspiGetMatches is limited to MAILUSER which means we only
2490 look for users (located within users.ldb). This limitation will be
2491 removed when we have a preliminary working emsmdb server, so we can do
2492 more extensive NSPI server tests.
2494 Add sanity check to get_SPropValue_SRowSet, prevents the function
2495 from segfault when RowSet is NULL (e.g. crafted NspiQueryRows replies)
2497 Prevent IProfAdmin based code from crashing when a crafted NspiGetMatches reply
2498 with NULL ppOutMIds is returned.
2503 - Preliminary NspiGetSpecialTable implementation added to NSPI
2504 server/EMSABP provider: Hierarchy Table supported (required during
2506 - add PT_BINARY support for mapidump_SPropValue
2507 - fix a bug when PT_STRING8 or PT_UNICODE pointer is set to
2513 Add new Display Type values (used by EMSABP provider)
2515 Change DEBUGLEVEL for RfrGetNewDSA
2517 - preliminary implementation of RFR server (RfrGetNewDSA): makes Outlook happy
2518 - mapiproxy-servers-install now installs openchange python scripts and ldif file
2522 Move auth_serversupplied_info structure from dcesrv_exchange_nsp.h to libmapiproxy.h
2523 This structure is required for NTLM_AUTH_IS_OK macro
2525 - Add doxygen comments for all OpenChange server modules
2526 - Fix doxygen return value for exchange_nsp
2528 - Add mapiproxy server unbind function and hook in dcesrv_mapiproxy.c
2529 - Add exchange handle enum to dcesrv_mapiproxy.h
2530 - Add authentication verifier macro to libmapiproxy.h
2531 - Add preliminary EMSABP Address Book Provider implementation:
2532 * supports initialization, destructor (talloc)
2533 * implements user and codepage check routines
2534 * retrieve NSPI server GUID
2535 - Add NspiBind and NspiUnbind support to dcesrv_exchange_nsp.c
2536 - Add internal session mechanism management to NSPI server
2537 - Add init and unbind modules function to NSPI server
2538 - Add doxygen comments to all dcesrv_exchange_nsp.c functions
2539 - Add emsabp_context, session and non-exported Samba structure to dcesrv_exchange_nsp.h
2541 OpenChange configuration schema updated with Addressing schema
2542 (Address-Templates, Address-Types and Display-Templates - Exchange 2003 based)
2544 Execute server modules init function when loaded
2547 A few API documentation fixes.
2552 Add documentation for MAPIProxy 'server mode'
2557 - Implement mapiproxy server mode architecture
2558 - Add server modules management API
2559 - Add skeletons for default OpenChange servers (nspi, emsmdb, ds_rfr)
2560 - Add temporary provision Makefile rule
2565 Initial text was correct - rollback
2570 Ensure that GetLastError() also returns the correct value.
2572 Start changing the MAPI_RETVAL_IF() usage to two new macros:
2573 OPENCHANGE_RETVAL_IF() and OPENCHANGE_RETVAL_ERR().
2575 simple_mapi.c is the only one converted at this stage.
2577 Also added a set of unit tests that verify at least some initial
2580 Remove unreachable code.
2582 Partly resolves ticket #124
2587 Remove references to ldap.h header file - not installed anymore with samba4 git rev openchange uses
2589 mapiproxy documentation update: 3 questions added to FAQ section
2591 Patch from Corentin Chary:
2592 - Add PR_CONTENT_FILTER_SCL property to libmapi
2594 - Update openchange to work with samba4 master git rev f308c2f
2595 - Replace reference to events.h with tevent.h
2596 - Update installsamba4.sh script to reflect latest samba4 compilation changes/requirements
2601 Fix mapidump date/month when freebusy period covers end of one year - beginning of next year
2602 Update openchangeclient to reflect these changes.
2607 Export PKG_CONFIG_PATH if it wasn't exported yet. Patch by Metze
2609 Fix PIC object flags for SWIG build. Patch by metze.
2614 User %u format specifier for unsigned integer.
2616 Make return value match signature.
2618 Miscellaneous minor cleanups. Mainly making return types
2619 match signatues, format conversion (%u for unsigned values) and
2620 matching up result variable types (bool instead of enum MAPISTATUS).
2622 Return an enum MAPISTATUS, instead of a bool, to match function signature.
2624 Use %u instead of %d for unsigned values.
2629 Another minor APIdox edit.
2631 API documentation tweak.
2639 More apidox triviality.
2641 Trivial APIdox edits.
2643 Supplement the user's PKG_CONFIG_PATH rather than
2647 Add bindings for GetBestBody(), GetDefaultFolder(), GetDefaultPublicFolder(), AddUserPermission(), ModifyUserPermission().
2649 Add bindings for create_message, delete_messages, get_message_status, set_read_flags.
2651 Add Python bindings for Unsubscribe(), get_task_status(), get_importance(), get_proptag_name(), get_proptag_value(), DeleteFolder(), CreateFolder(), EmptyFolder(), RemoveUserPermissions(), IsMailboxFolder().
2656 Actually use pymapi variables in Makefile.
2658 Add configure flags for building and installing Python MAPI bindings (disabled by default).
2663 Add namespace prefix to scanner.
2668 - spnego / gssapi_krb5 authentication now available for mapiprofile
2669 - add the --realm | -R option
2670 - update mapiprofile man page
2675 Remove entries for --properties and --priority, which have been removed from the openchangeclient utility.
2679 Don't generate / install man3 pages for libmapi++ or mapitest.
2681 Resolves ticket #121.
2683 Also don't install man3 pages that are just copies of the C implementation files, or just document bugs / todo items.
2686 Allow retrieving id and session of MAPI objects.
2688 Add MessageStore and Object Python classes, add bindings for OpenMsgStore, OpenUserMailbox, OpenPublicFolder.
2690 Add stubs for Session class.
2692 Add infrastructure for MAPI python module.
2694 Look for python and python-config binaries.
2696 Remove empty directory.
2700 Remove obsolete --properties option and related code
2705 Fix RecipientRow member's order
2710 - Update to latest samba4 git master revision (3508a66)
2711 - Fix references to samr info24 struct
2712 - Add support for assoc_group_id proxy
2713 - Add support in mapiproxy for bind/alter connections using assoc_group_id
2714 - Update mapiproxy documentation
2719 Improve building. Partially addresses #94.
2721 More work required on this as we work on the
2722 portability in the future.
2724 Expose the underlying session.
2729 Remove unused --priority option.
2731 These offsets / values can be negative, so we shouldn't
2732 use unsigned int type to represent them.
2737 Fix Logon problem for users running Exchange 2k7 in a clustered Exchange environment.
2739 This patch first tries to forge EssDN Logon string from "o" and "ou"
2740 attributes stored in the profile. If Logon fails with ecUnknownUser,
2741 then try to open the mailbox using the mailbox attribute stored in
2747 Document the --label option.
2752 Make openchange compile and work against latest samba4 master git rev (58db2be)
2755 Remove check for unused type 'uint_t'.
2760 More tweaks on the openchangeclient man1 page.
2762 More updates for man1 page for openchangeclient.
2763 Still doesn't fully address #113.
2765 Update the openchangeclient man1 page.
2767 Partly addresses ticket #113.
2769 There is still some work to do on this.
2771 Fix a typo, and try to make the descriptions more
2777 Initial version of man1 page for mapitest
2779 Initial man1 page for exchange2ical utility.
2784 Update man1 page for openchangepfadmin
2786 Minor updates for the man pages.
2791 Fix build errors: wrong number of arguments for ocpf_propvalue
2793 Fix warnings when compiling with -Wextra
2795 Fix warnings when compiling with -Wextra
2797 Fix warnings when compiling with -Wextra
2800 Complete initializers here.
2805 Update to reflect latest state of mapiprofile.
2810 Prevent segfault when running mapitest. Looks like the we can
2811 return MAPI_E_SUCCESS even if one of the property values is
2812 MAPI_E_NOTFOUND. That error then get turned into a char*, and
2815 Also fix a possible bug relating to operator precedence, and
2816 a couple of warnings (one for signed / unsigned comparison, and
2817 the other for an unsigned value never being less than zero).
2822 Enable output to stdout.
2824 Resolves ticket #106.
2826 Thanks to raboof for the report and fix.
2831 Fix missing initialisers (issue #110).
2833 Also fix some signed/unsigned warnings.
2835 Fix problems with incorrect initialisers (#110) and
2836 operator precedence.
2838 Also fix a couple of places with signed/unsigned confusion.
2840 Partial fix for issue #110, and a couple of very minor cleanups.
2847 We probably want to return here, not do nothing.
2852 Fix empty patch function problem: add a retval
2857 Explain the boost-thread trick.
2859 Minor documentation tweaks.
2864 - remove usage of global_loadparm in libmapiadmin
2865 - make use of session context rather than global_mapi_ctx in libmapiadmin
2866 - use local context rather than mapiadmin context in libmapiadmin
2867 - libmapiadmin now uses ldb helper rather than raw implementation (ldb async code)
2868 - libmapiadmin and openchangepfadmin now works again (user creation/deletion) !! ;-)
2869 - remove global_loadparm in torture test and replace it with torture context
2870 - fix dcerpc_init to match latest samba4 API
2871 - update samba4 version required to build openchange
2874 More API documentation tweaks.
2876 More API documentation tweaks.
2878 Some API dox fixes for libmapi++.
2881 Remove unnecessary patching of lib/events/events.h.
2886 Update to a more recent Samba4.
2889 Remove some usages of deprecated global_loadparm.
2891 Cope with new argument to dcerpc_log_packet().
2896 Fix includes for DEBUG(), fix some more warnings.
2898 Use same_net_v4 rather than deprecated same_net().
2900 Fix Samba 4 git revision.
2902 Fix includes - debug.h can only be included once.
2904 Include debug header.
2906 Cope with API changes in Samba functions.
2908 Use new function is_zero_ip_v4 rather than removed is_zero_ip.
2913 Fix OpenMsgStore binding in swig perl and fetchmail script
2918 Fix pointless const definition for GetFreeBusyYear return type
2922 - Add the IsFreeBusyConflict convenient function which checks if a
2923 given date conflicts with existing FreeBusy Busy/OOF events
2925 - Modify openchangeclient --sendappointment behavior to check whether
2926 start or end date conflicts with FreeBusy published data for the
2929 - Add the --force option to openchangeclient to override this behavior
2931 - Fix a counter bug in mapidump_freebusy_events
2933 Fix doxygen typo error
2935 - Add GetUserFreeBusyData convenient function which retrieves FreeBusy
2936 data in public folders for a given user. Note: Ambiguous name is not
2937 supported at the moment.
2939 - Add convenient FreeBusy mapidump routines
2941 - Add FreeBusy read support to openchangelient
2943 - Add PT_MV_LONG and PT_MV_BINARY support to pull_emsmdb_property and
2944 property.c functions
2946 - Add OpenUserMailbox which let developers open other mailboxes
2947 instead of the default profile one.
2949 - Add GetABRecipientInfo: convenient function which retrieves Address
2950 Book information for a given recipient
2955 - Add libmapi implementation for DeletePropertiesNoReplicate
2956 - Add mapitest test units for DeleteProps and DeletePropertiesNoReplicate
2958 Fix doxygen documentation
2963 - Implement multisession into libmapi
2964 - Update openchange tools and suite to reflect these changes
2965 - Fix SRow_addprop behavior
2967 NOTE: OpenMsgStore, ResolveNames, GetGALTable and RFR functions
2968 now take a mapi_session parameter.
2971 Use my openchange.org email address.
2976 - Add a session management API for mapiproxy modules. Similar code
2977 already existed for mpm_cache module. Common functions are now
2978 available to all mapiproxy modules through libmapiproxy
2980 - replace smbd with samba in mapiproxy documentation
2982 - Cache calendar, contact, journal, note, task and drafts folders IDs
2983 when GetDefaultFolder call is performed on one of these folders and
2984 keep them until obj_store is released.
2986 - Add a reverse lookup routine which says whether a given FID belongs
2987 to a default folder and which olFolderType it is.
2989 - Remove pointless memory context in GetDefaultFolder
2990 - Move entryID to FID code into a separated routine (GetFIDFromEntryID)
2992 Restore install rule for mapi profiles ldif files in
2993 libmapi-installscript. Fix the MAPI_E_NO_ACCESS bug when mapiprofile
2994 tries to create a new mapi profile store.
2998 - Ticket #103 resolved. openchangeclient can now perform custom folder lookup, fetch, mkdir and rmdir.
2999 - mapi_object_copy routine added to mapi_object.c
3004 Fix missing Month field in LogonTime structure
3008 propagate IDL warning fix to property.idl
3011 Add target for building python API documentation.
3015 Fix samba4 release and git revision
3017 Fix installsamba4.sh script paths
3022 Install OpenChange python modules.
3024 Check for python dir during configure.
3026 ignore generated files.
3028 Stop installing js files.
3030 Use autoconf cache prefix.
3032 Use newer version of Samba 4.
3036 Remove dcesrv_exchange.so from server Makefile rule and
3037 move mapiproxy from TOOLS to SERVER.
3039 dcesrv_exchange and providers Makefile rules are orphan, planned
3040 to be removed (with their associated code) when emsabp merge process
3041 into mapiproxy is over.
3045 Export the Binary_r structure.
3049 Use more descriptive variable names in messages example code.
3051 Add a description of messages to libmapi++ API documentation.
3053 Add messages binary to the ignore list.
3055 Add new example showing libmapi++ message handling, and
3056 associated API documentation and build system changes.
3060 Update the API documentation main page for libmapi++
3064 Add foldertree binary to the ignore list
3066 - Add missing Input parameter
3067 - Add sanity check on ppNames
3070 - Fix a bug in NspiUpdateStat: make plDelta mandatory and use it for in,out
3071 - Add a NspiGetSpecialTable test for Address Creation Template
3074 Fix valgrind-reported error, per ticket #101.
3076 Make sure we clean up after mapitest runs.
3082 - Add msExchUserAccountControl attribute to extended user record
3083 - openchange_newuser can now create/enable/disable an OpenChange account
3085 Exit the test if the WriteStream operation fails
3087 Fix ncacn_ip_tcp binding string for OpenChange server object
3089 With new NSPI IDL, using cValues - 1 is incorrect and lead to errors. Use cValues directly instead
3091 Fix pipe function check and use ndr autogenerated defines rather than static strings
3092 Fix calls to NspiDNToMId
3095 Make sure we set the body and body format properties, to
3096 ensure that the message is shown correctly with
3097 openchangeclient -F.
3102 - Rename oc_* python scripts to openchange_*
3103 - Add Full Exchange 2003 schema (classes and attributes)
3104 - Full Exchange 2003 modified classes and attributes support
3105 - Add prefixmap OID for some Exchange classes and attributes
3106 - Add missing ADSC classes and attributes
3107 - Improve configuration LDIF file with new objects
3109 NOTE: provision.py should find a way to handle firstorg properly
3110 NOTE: oc_provision_configuration.ldif is still incomplete
3113 API documentation improvements.
3117 Add an example to the libmapi++ documentation, and
3118 the right build magic and doxygen linkage.
3120 Minor API documentation fix
3124 Add forgotten part of API documentation fixes for mapitest.
3126 Improve mapitest API documentation.
3130 Use new DeleteFolder flags to clean up folders on deletion.
3132 This doesn't completely resolve ticket #84, but it does help.
3134 Ignore API documentation.
3136 Add Doxyfile to ignore list.
3138 Add initial support for Doxygen API documentation
3143 Implement the remainder of the standard public folders.
3147 Only do header line removal at the start of the file
3148 (lines 20 through 40 seems like a good compromise).
3150 libmapi++ is C++, not C, so we should not optimise
3151 Doxygen output for C.
3155 - Update the Logon_repl IDL (0xFE) and implementation
3156 - Add new folders to the mapi_obj_store for PF folders
3157 - rename pf_finder to pf_search
3160 Suppress some more unwanted headers.
3164 - Add GetStoreState (0x7b) IDL, implementation and mapitest unit
3168 - Update the EmptyFolder IDL
3170 - Update the SearchFlags enum, GetSearchCriteria and SetSearchCriteria IDL
3171 - Add mapitest units for GetSearchCriteria and SetSearchCriteria
3173 Link libmapi++ documentation to main apidocs page
3175 Update GetAttachmentTable IDL and remove the unknown field
3177 - Update DeleteFolder IDL and implementation
3178 - It now supports DeleteFolderFlags as input parameter and can return the ParticalCompletion state
3179 - Sanity checks added at the beginning of the function
3181 - Rename GetRowCount to QueryPosition
3182 - IDL, implementation, documentation and openchange code updated
3183 - ActionType enum fields prefixed with 'ActionType_'. Original
3184 values were causing conflicts while building Perl bindings with
3185 'i386-linux-thread-multi/CORE/opnames.h where OP_DELETE was already defined'
3187 Change enum SaveFlags to uint8_t for doxygen documentation to be generated properly
3189 - Update SaveChangesMessage IDL and implementation
3190 - Add a SaveFlags parameter to SaveChangesMessage function
3191 - update openchange code to reflect this change
3194 Build fix / fix for ticket #99.
3196 Filter out some new #include lines.
3198 This needs to be applied to other modules too.
3202 Update SRow and SRowSet IDL
3204 Delete obsolete input_locale and instance_key structures
3206 Fix WStringArray_r IDL
3208 - Move from MV_UNICODE_STRUCT and LPWSTR to WStringArray
3209 - LPWSTR structure removed
3211 Rename SDateTimeArray to DateTimeArray_r
3213 Rename SGuidArray to FlatUIDArray_r and fix the IDL
3215 Rename MV_LONG_STRUCT to LongArray_r
3217 Rename SBinary to Binary_r
3219 - Add removal of libmapi++ Doxyfile in make distclean rule
3220 - Add Doxyfile to svn:ignore
3222 Rename SShortArray to ShortArray_r
3224 - Move from SLPSTRArray to StringArray_r
3225 - LPSTR structure removed
3227 Rename MAPIUID to FlatUID_r
3229 Fix lexer warnings during compilation (ticket #100)
3231 - Update the EcDoConnect IDL (ref. ticket #99)
3232 - Add new fields to the emsmdb info structure
3233 - Add doxygen comments to libmapi/emsmdb.c
3236 Reduce warnings when compiling with 64-bit arch.
3238 Initial checkin of infrastructure for libmapi++ API documentation.
3242 - MAJOR NSPI protocol and libmapi stack update
3243 - All NSPI protocol functions implemented
3244 - NSPI stack fully documented
3245 - NspiGetHierarchyInfo renamed to NspiGetSpecialTable
3246 - NspiDNToEph renamed to NspiDNToMId
3247 - instance_key removed from nspi_context and set as a parameter to NSPI functions
3248 - SPropertyRestriction renamed to PropertyRestriction_r
3249 - FlagList structure removed and replaced by a SPropTagArray
3250 - MAPI_SETTINGS removed and replaced by a STAT structure
3251 - new MAPI property tags added to libmapi/conf/mapi-properties
3252 - NSPI module added to mapitest
3255 Clean up on failure.
3257 Clean up on failure.
3259 Minor improvements to ensure cleanup on failure.
3261 API documentation fix
3263 API documentation fix.
3265 API documentation fix.
3267 API documentation fix.
3269 API documentation fixes.
3273 API documentation fixes.
3277 Fix EMSMDB 0xb function name
3279 - update EcRRegisterPushNotification IDL
3281 - implement complete MAPI notifications
3282 - update libmapi to reflect these changes
3283 - make openchangeclient prints a brief summary for each notification found
3284 - update ulEventMask used in openchangeclient
3288 - Rename Advise MAPI call to RegisterNotification
3289 - Update RegisterNotification IDL and implementation
3293 - Fix Restrict IDL and implementation
3294 - Add a new parameter to the Restrict function
3297 Add mapi_nameid.h to the ignore list
3299 - Replace libmapi/mapi_nameid.h with a generated mparse file
3300 - Add a mapi_nameid.h parser to mparse.pl
3301 - Add canonical names for named properties
3302 - GetProps and SetProps resolves named properties if they exist
3303 - named properties can now be set directly and make mapi_nameid API be
3305 - replace named property tags hex value with their canonimal names
3306 - replace several use of the mapi_nameid API with smaller code
3308 - Add new IDL file (property.idl) to push/pull structures from binary
3309 blobs and not directly related to any MAPI calls. Include the
3310 generated property.h file into libmapi.h
3312 - Add PT_MV_STRING8 support in pull_emsmdb_property (GetProps reply
3313 parsing) and mapidump_SPropValue
3315 - Add functions to property.c to retrieve RecurrencePattern,
3316 TimeZoneStruct and GlobalObjectId structures (see property.idl).
3318 - add a preliminary version of exchange2ical tool. This version only
3319 dumps calendar folder appointments into ICS file on standard output.
3323 - Update mapi-nameid-properties with a more complete set of properties
3324 - Add a header to mapi-nameid-properties for sanity purposes
3325 - Move named properties with PT_STRING8 type to PT_UNICODE
3326 - update openchange code to reflect these changes
3327 - Add PSETID_Attachment to mapidefs.h
3331 Add missing check on password for the create command
3333 Fix incorrect usage of realm in mapiproxy
3337 Check for provider_rpc_connection retval for RFR functions.
3339 Update Doxyfile to parse mapiproxy/modules files and
3340 include documentation on static functions.
3342 - Add NSPI hook on NspiQueryRows and NspiDNToEph and replace the
3343 Exchange server name with mapiproxy one.
3344 - documentation updated to reflect these changes
3345 - new FAQ question added
3346 - developer documentation improved
3348 Add the RFR mapiproxy file.
3350 - Implement RfrGetNewDSA DN replacement in mapiproxy
3351 - use lp_realm rather than sockaddr in NspiGetProps (FQDN rather than IP address)
3352 - update mapiproxy documentation to reflect these changes
3356 - Add implementation of the NSPI Referral protocol (exchangeRFR)
3357 - update dcesrv_exchange and mapiproxy prototypes for RFR
3358 - add references to the RFR pipe in mapiproxy
3359 - prefix NSPI client connections with a RfrGetNewDSA call
3360 - add RFR functions implementation in libmapi/IMSProvider.c
3361 - add a --getfqdn option to mapiprofile
3362 - fix a minor mapiprofile option parsing bug
3366 Fix mapiproxy dummy module unbind prototype
3368 - Remove flags in EcDoRpc top function, fix compilation vs latest samba4-git version
3369 - EcDoRpc indent updated
3373 Get rid of initialization order warning
3377 - add unbind hook for mapiproxy
3378 - add ahead mapiproxy mode
3379 - add read ahead in cache module
3380 - add synchronization mechanism in cache module
3381 - update mapiproxy documentation to reflect these changes
3385 Temporarily comment out installation of files removed
3390 Fix arguments, paths in provision scripts.
3392 Merge python provision/newuser scripts.
3394 Simplify installation of manpages a bit.
3398 Add configure check for libboost-thread. Add libmapi++ to the build
3399 only if it is available.
3403 - session constructor doesn't login to the server anymore, it calls MAPIInitialize().
3404 - Created session::login() members.
3405 - test applications use default profile.
3409 - Import Alan Alvarez work from libmapi++ into trunk
3410 - Add a g++ check in configure.ac: don't call libmapi++ rules if g++
3412 - Add libmapi++ to the build system
3413 - Add a patch function to installsamba4.sh: rename private to
3414 private_data in samba4 events.h header file
3415 - Change #include directives so it uses <libmapi++ ... rather than
3420 - Add a statitic function monitoring streams over OpenStream and Last
3421 ReadStream operations. Monitoring stream Release is not relevant
3422 since Outlook does not close the handle directly after last
3423 ReadStream operation. Should put in evidence difference between
3424 non-cached(1st retrieval) and cached (further retrieval).
3426 - Fix a few memory leaks
3430 - Commit initial revision for the mapiproxy cache module
3431 - Update mapiproxy hook API for the dispatch routine
3432 - Introduce the mapiproxy structure for modules to control top-level
3434 - Update mapiproxy documentation to reflect these changes
3438 * Fix remaining ByteRead parameter size for ReadStream operations.
3442 * Improve/Update Open/Read/WriteStream IDLs
3443 * Fix ByteRead parameter size for ReadStream operation.
3447 Improve OpenAttach, CreateAttach and DeleteAttach IDL - remove unknown
3450 Propagate r666 changes to OpenMsgStore and fix build
3453 Minor rename of bitmap value to avoid conflict with
3454 Private as a class name.
3458 Minor change: remove old debugging string from mapitest
3460 Fix incorrect header
3462 Remove deprecated mapi_handles API
3465 Initial checkin of some uno (static checker) support
3468 There will be a script to run uno with the right options,
3469 but that requires more work.
3473 Fix OXOMSG-ABORT-SUBMIT return value and return success when expected
3474 error values (MAPI_E_UNABLE_TO_ABORT, ecNoDelSubmitMsg) are encountered.
3476 - Call mapi_object_release in GetDefaultFolder
3477 - Remove pointless references to mapi_object_t
3480 Fix little memory leak.
3484 Fix invalid OpenFolder calls in mapitest modules
3486 Remove references to SaveChanges in doxygen see also statement
3488 - Rename SaveChanges to SaveChangesAttachment (0x25)
3489 - Update SaveChangesAttachment IDL
3490 - Update references to SaveChanges
3492 - Fix the huge memory leak described in Ticket #91
3493 - Rewrite the mapitest NameID test to use the mapi_nameid convenient
3498 - Add mapi_get_errstr auto-generated routine which returns the MAPI
3500 - Add print routine for MAPI retval in mapitest
3501 - Add a color mode (--color) which prints either green or red MAPISTATUS
3502 - Update mapitest modules to use these new routines
3505 Minor API documentation fix.
3511 - Add GetOwningServers (0x42) implementation (IDL + libmapi + mapitest)
3513 - Report and make consistent usage of PropertyProblem in the IDL:
3514 SetProps, DeleteProps and CopyProperties
3516 - Remove unknown field in GetProps and GetPropsAll and replace them
3517 with the correct IDL mapping.
3519 - Add IDL for SetPropertiesNoReplicate (0x79) MAPI call
3521 - Minor typo fix in IMAPIProp.c
3523 Improve CreateMessage request IDL
3525 Improve OpenMessage response IDL
3527 - Add PublicFolderIsGhosted (0x45) MAPI call (IDL + libmapi + mapitest)
3529 - Improve OpenFolder, CreateFolder and OpenPublicFolderByName response
3530 IDL: make these call able to check whether the folder is ghosted or
3533 Revert emsmdb pipe version to the hacked one. Makes mapiproxy work with samba4-alpha5 release.
3535 SeekRow and SeekRowBookmark IDL improved
3537 Improve the SetColumns IDL: remove unknown fields
3541 Minor code convention fix
3543 Check NTSTATUS return value from dcerpc_ndr_request. Prevent mapiproxy
3544 from segfault when invalid dcerpc response is received.
3546 Expose MAPISTATUS error in OXCTABLE-CATEGORY::FreeBookmark.
3547 Requires investigation
3550 Implement GetIdFromLongTermId and GetLongTermIdFromId
3551 functions (ROP:0x43 and 0x44), and associated mapitest.
3553 Documentation typo fix.
3555 Change the QueryNamesFromIDs() call to match
3556 MSDN, including changing the name to QueryNamedProperties().
3558 Also implement mapitest for QueryNamedProperties(),
3559 GetNamesFromIDs() and GetIDsFromNames().
3561 Update torture test to match.
3565 - Build system update: use samba4-alpha5 release with wget method
3566 - introduce 'make samba' and 'make samba-git'
3570 Make sure we have names[] array large enough.
3572 Problem identified using default uno run.
3578 Fix a small errno bug in GetBestBody
3579 Add dump-data and debug options to exchange2mbox
3583 - Move emsmdb interface version back to 0.81 (patch applied in samba4 trunk)
3584 - remove sed hack, modifications applied in samba4 trunk
3585 - update required samba4 git rev required
3592 Minor documentation update: remove deprecated reference to ./bin/smbpython
3594 Fix torture suite entry point name
3595 Fix torture module installation path
3597 - Add implementation for the BestBody algorithm
3598 - Add MAPI_E_NOT_ENOUGH_MEMORY error code
3599 - Remove trailing }}\0 from lzfu code
3600 - Update openchange tools to use GetBestBody rather than
3601 the initial check on PR_MSG_EDITOR_FORMAT
3603 Add a very basic stat module for mapitest: gives a quick overview
3604 of tests which failed at the end of the report.
3606 - Defines a global stream size in mapitest.h
3607 - Decrease stream size from 0x4000 to 0x3000
3608 Sounds like Exchange 2003 SP2 doesn't support 0x4000, return MAPI_E_CALL_FAILED
3613 Fix OC_CHECK_SAMBA_VERSION string
3615 - Move samba4_ver.sh from top dir to script
3616 - update parts of openchange relying on samba4_ver.sh
3618 Add configure check for lib Z
3621 - Temporary fix ldb.pc problem and patch ldb.pc.in
3622 - Update samba4 version to the latest revision
3623 - Add libmapiproxy to svn:ignore proplist
3626 Try a different git revision, just for now.
3630 - Update Samba4 version needed
3631 - Change entry point function from init_module to samba_init_module
3632 - update documentation
3636 Fix calls of ldb_init() as required by newer versions of Samba.
3640 Support newer versions of Samba4.
3644 Add some other standard GUIDs
3652 Use version and soversion in mapiproxy library.
3654 Make modules directory overridable.
3658 Change API as identified on devel mailing list.
3661 After some investigation into an error reported by valgrind, I'm proposing an
3662 API change for the MoveCopyMessages() function.
3664 The signature is currently
3665 enum MAPISTATUS MoveCopyMessages(mapi_object_t *obj_src, mapi_object_t
3666 *obj_dst, mapi_id_t *message_id, bool WantCopy)
3668 The problem is the message_id array. The subtle part is that it needs to be
3669 terminated with a null mapi_id_t*, because of this:
3670 for (request.count = 0; message_id[request.count]; request.count++);
3672 That is a bit error prone - enough so to be wrong in the mapitest.
3674 Now we could just fix the mapitest and document the requirements, or we could
3675 change the signature.
3677 Two ideas for a different signature:
3678 1. We could add a uint16_t count to the signature, that says how long the
3680 2. We could use a better data structure than mapi_id_t*. I'm suggesting
3682 enum MAPISTATUS MoveCopyMessages(mapi_object_t *obj_src,
3683 mapi_object_t *obj_dst,
3684 mapi_id_array_t *message_id,
3689 Add mapitest coverage for CopyTo operations on
3690 folders and attachments, and update API docs.
3692 Also fix one place where we inadvertently used
3693 CopyProps instead of CopyTo...
3697 Typo fixes in comments.
3699 Minor documentation updates.
3701 Clean up created message for SpoolerLockMessage() test.
3705 Update samba4 version test.
3709 Make sure properties are copies into the last valid
3710 location in the extended array (i.e. count-1) not the
3713 Also, make sure we cast the data to a uint8_t for
3714 conversion to boolean.
3716 Also fix compile warning about returning integer instead
3719 We may read up to 0x1000 bytes, so ensure there is
3720 enough room to add the terminating null.
3722 Minor cleanup of the talloc context for FreeBookmark().
3724 Also change around some code to protect things a bit
3725 better against null pointer inputs.
3729 Implement a bit more mapitest for CopyTo (0x39), in
3732 Also make it clean up and report failures properly.
3736 Implement the CopyTo operation (0x39), including initial mapitest.
3737 JK previously committed the IDL for this.
3739 Also make CopyProps (0x67) use an appropriate data structure for
3740 its IDL and update implementation to match.
3744 Minor documentation updates/corrections.
3748 Introduce a default case for MAPI Restriction. In some circumstances -
3749 while Outlook creates an OOF Rules - it sets a PT_SRESTRICT mapi
3750 property tag which value is set to 0xFF. However 0xFF doesn't match
3751 any restriction case.
3755 - Add IDL for OpenEmbeddedMessage (0x46) MAPI call
3757 - Add IDL for ReloadCachedInformation (0x10) MAPI call
3759 - Add IDL for CopyTo (0x39) MAPI call
3761 - Update the Samba4 GIT revision needed to run openchange properly
3763 - import mapiproxy project from mapiproxy branch
3764 - add custom proxypack MAPI call
3765 - remove deprecated dcesrv_exchange_remote
3768 Add missing part of mapitest for SetReadFlags
3770 This should have been part of r578.
3772 mapitest for SetReadFlags
3774 Implement SetReadFlags (operation 0x66).
3776 Also minor API docs fix.
3778 Move some test infrastructure from the oxctable.c module
3779 into the common area.
3781 Fix IDL error for SetReadFlags, and use existing flags
3782 define (MSGFLAGS_READ) instead of creating a new set.
3784 Build fix for relocation of mapiproxy/ to be under the
3785 top level directory (instead of under the utils/
3790 merge from mapiproxy branch:
3791 * ndr_push Logon_req manually
3793 merge from mapiproxy branch:
3794 * Add IDL and server boiler template for EcDoConnectEx (0xA)
3797 * Fix ndr_push_mapi_response code in ndr_mapi.c
3799 * Add the ndr_push_EcDoRpc_MAPI_REPL function in
3800 ndr_mapi.c. Handles special Notify and Pending cases
3802 * Handle op_MAPI_Pending case properly in
3803 ndr_pull_EcDoRpc_MAPI_REPL
3805 * Add code to ndr_push QueryRows in ndr_mapi.c: Do not push any
3806 DATA_BLOB if there is no RowCount
3808 merge from mapiproxy branch:
3809 * Fix GetReceiveFolder [out] IDL
3810 * Fix some naming convention typo
3812 merge from mapiproxy branch:
3813 * Fix SetMessagReadFlag [out] IDL
3815 - Add [flag(NDR_REMAINING)] to SetMessageReadFlag. This is not
3816 perfect, but it will prevent mapiproxy from ndr_pull error while
3817 setting message read flag on public folders messages.
3819 merge from mapiproxy branch:
3820 * Fix CreateMessage [out] IDL
3822 merge from mapiproxy branch:
3823 * rename OpenModeFlags to OpenFolder_OpenModeFlags in OpenFolder
3824 * rewrite OpenMessage [in] IDL and report changes in
3825 libmapi/IStoreFolder.c
3827 merge from mapiproxy branch:
3828 * Add IDL for Pending (0x6e) MAPI call
3829 * Reorder some MAPI calls in EcDoRpc_MAPI_REPL_UNION
3831 - Add SetReadFlags to EcDoRpc_MAPI_{REQ,REPL}_UNION
3833 merge from mapiproxy branch:
3834 * Add IDL for SetSyncNotificationGuid (0x88) MAPI call
3836 merge from mapiproxy branch:
3837 * Add IDL for SyncGetTransferState (0x82) MAPI call
3839 merge from mapiproxy branch:
3840 * Add IDL for SyncImportReadStateChanges (0x80) MAPI call
3842 Note: This IDL is temporary and should be improved after completion of
3843 the merging process.
3845 merge from mapiproxy branch:
3846 * Add IDL for SyncOpenCollector (0x7e) MAPI call
3848 merge from mapiproxy branch:
3849 * Add IDL for DeletePropertiesNoReplicate (0x7a) MAPI call
3851 merge from mapiproxy branch:
3852 * Add IDL for SyncImportMessageMove (0x78) MAPI call
3854 merge from mapiproxy branch:
3855 * Add IDL for SyncUploadStateStreamBegin (0x75) MAPI call
3856 * Add IDL for SyncUploadStateStreamContinue (0x76) MAPI call
3857 * Add IDL for SyncUploadStateStreamEnd (0x77) MAPI call
3859 merge from mapiproxy branch:
3860 * Add IDL for SyncImportDeletes (0x74) MAPI call
3862 merge from mapiproxy branch:
3863 * Add IDL for SyncImportHierarchyChange (0x73) MAPI call
3865 merge from mapiproxy branch:
3866 * Add IDL for SyncImportMessageChange (0x72) MAPI call
3868 merge from mapiproxy branch:
3869 * Add IDL for SyncConfigure (0x70) MAPI call
3871 merge from mapiproxy branch:
3872 * Add IDL for RegisterOptions (0x6f) MAPI call
3874 Note: This call is undocumented in Microsoft documentation, but MSDN
3875 RegisterOptions function generates this call on the wire.
3877 merge from mapiproxy branch:
3878 * Add IDL for Progress (0x50) MAPI call
3880 merge from mapiproxy branch:
3881 * Add IDL for FastTransferSourceGetBuffer (0x4a) MAPI call
3883 merge from mapiproxy branch:
3884 * Add IDL for GetPerUserLongTermIds (0x60) MAPI call
3885 * Add IDL for GetPerUserGuid (0x61) MAPI call
3886 * Add IDL for ReadPerUserInformation (0x63) MAPI call
3888 merge from mapiproxy branch:
3889 * Add IDL for LongTermIdFromId (0x43) MAPI call
3890 * Add IDL for IdFromLongTermId (0x44) MAPI call
3892 merge from mapiproxy branch:
3893 * Add IDL for ModifyRules (0x41) MAPI call
3895 merge from mapiproxy branch:
3896 * Add PT_SRESTRICT support in mapi_SPropValue_CTR
3898 * Add PT_ACTIONS and RuleAction support in mapi_SPropValue_CTR
3900 * Fix mapi_SNotRestriction NDR push routine - add a wrapper to
3901 work around the no-pointer deep recursion pb and remove
3902 existing nopull,nopush,noprint code from ndr_mapi.c
3904 * Fix mapi_SComment_Restriction IDL
3907 - Introduce PT_MV_UNICODE support in mapi_SPropValue_CTR (IDL only)
3908 - use mapi_LPWSTR for PT_MV_UNICODE
3909 - rename mapi_LPWSTR structure to mapi_name in Kind structure and
3910 change its field names.
3912 - Fix emsmdb version
3913 - Change MAPI opnum enum identation -- Helps to fine down merging from
3919 Minor API documentation fixes.
3921 Update label to reflect SetReadFlags -> SetMessageReadFlag
3924 This should have been part of r529 - missed it.
3928 merging from mapiproxy branch:
3929 - Fix MV_UNICODE_STRUCT and unicode strings
3930 - Keep LPWSTR for exchange_nsp and move from LPWSTR to
3931 mapi_LPWSTR for exchange_emsmdb
3932 - Add the NspiGetTemplateInfo IDL
3933 - Fix the NspiUpdateStat IDL
3935 Fix build: SetMessageReadFlag function name was not propagated in the
3939 Initial merge of changes for rename of SetReadFlags to
3940 SetMessageReadFlags (op 0x11) and IDL for SetReadFlags
3943 Use private_data instead of private, for C++ happiness.
3945 Minor cleanup. Using "try" confuses my c++ compiler...
3947 This is really part of r525. It moved to IMAPITable.c
3949 Update the table operations:
3950 - implement ExpandRow and CollapseRow
3951 - implement GetCollapseState and SetCollapseState
3952 - add mapitest coverage for the above, plus the Restrict call
3953 - implement ResetTable
3954 - implement FreeBookmark
3955 - add mapitest coverage for SRowSet parsing code
3957 - various API documentation bits
3960 Use right directory for samba4_ver.sh script.
3962 Use common location for Samba 4 git revision.
3966 Use PT_ERROR where appropriate.
3968 Update the SRowSet parser, fixing breakage I introduced.
3972 Update examples to reflect recent API changes.
3975 Don't rely on absolute file paths since the distribution may be installing
3978 make scripts executable.
3982 Avoid segfaulting if you ask for a specific test or tests and
3983 forgot to start the server.
3986 [bradh@conferta trunk]$ ./bin/mapitest --mapi-calls=OXCTABLE-CATEGORY --mapi-calls=OXCTABLE-RESTRICT --mapi-calls=NOSERVER-LZFU
3987 Failed to connect host 192.168.11.77 on port 135 - NT_STATUS_HOST_UNREACHABLE
3988 Failed to connect host 192.168.11.77 (192.168.11.77) on port 135 - NT_STATUS_HOST_UNREACHABLE.
3989 MapiLogonEx : MAPI_E_RESERVED (0xFFFFFFFF)
3990 #############################[mapitest report]#################################
3991 [*] Date : Sun May 25 11:45:29 2008
3992 [*] Confidential mode : [no]
3993 [*] Samba Information : 4.0.0alpha4-GIT-44d8b70
3994 [*] OpenChange Information : 0.8-SVN-build-510 (Romulus)
3996 [*] System Information :
3998 Kernel release : 2.6.23.17-88.fc7
4000 ###############################################################################
4004 [TEST] NOSERVER-LZFU
4005 ------------------------------------------------------------------------
4006 * uncompress_rtf2 : 0x00000000
4007 * uncompress_rtf2 : PASSED
4008 ------------------------------------------------------------------------
4009 [RESULT] NOSERVER-LZFU: [SUCCESS]
4010 ========================================================================
4012 [*] OXCTABLE-RESTRICT
4013 Server is offline, skipping test: "OXCTABLE-RESTRICT"
4014 [*] OXCTABLE-CATEGORY
4015 Server is offline, skipping test: "OXCTABLE-CATEGORY"
4019 ignores objects that contain invalid handlers in mapi_object_release().
4021 Patch by Alan Alvarez. Compile tested, passes mapitest on SBS2003.
4025 Fix API documentation to match signature.
4029 Update QueryRows IDL and implementation to match
4032 The main work here is reworking the SRowSet parsing
4037 Typo fix - allow cleanup to work properly.
4041 Make sure it has a return value.
4045 Rename GetColumns remote operation to GetColumnsAll, and
4046 fix up IDL and implementation to match.
4048 Add some more unit test coverage, and pretty-up the
4051 Fix up breakage introduced in r493.
4054 Make sure nagios directory gets created if it didn't exist yet.
4058 Refactor the unit tests.
4060 Extract out the setup and some of the cleanup code.
4064 - Update openchange code to work with Samba4 4.0.0alpha4-GIT-44d8b70
4065 - Use event_context structure
4066 - update installsamba4.sh script to revert to this revision.
4067 - update torture modulesdir reference
4070 Look a little bit harder for the Samba installation.
4074 - Add GetLocalReplicaIds MAPI call (IDL + implementation + mapitest)
4075 - Add OXCFXICS mapitest module
4079 - Fix "the very secret" openchange coding style
4080 - Add Copyright for our humble new libmapi developer ;-)
4083 Implement the CopyProperties operation, including
4084 a mapitest for this.
4088 - Add TransportSend MAPI call (IDL + implementation + mapitest). This
4089 code maybe needs some review regarding memory.
4091 - Add the GetTransportFolder MAPI call (IDL + implementation +
4094 - Add SpoolerLockMessage MAPI call (IDL + implementation + mapitest)
4096 - Add SetSpooler MAPI call (IDL + implementation + mapitest)
4098 - Add GetRulesTable (IDL + implementation + mapitest)
4099 - Add the OXORULE mapitest suite
4105 Make sure config.mk is the last file removed during distclean.
4109 - Add the Abort MAPI call (IDL + implementation)
4111 OpenChange doesn't support yet asynchronous operation which explains
4112 why no associated mapitest test has been implemented. This should be
4115 - Add the MoveFolder MAPI call (IDL + implementation + mapitest)
4116 - Fix some typo in mapitest doxygen
4118 - Add MoveFolder MAPI call (IDL + implementation + mapitest)
4119 - Fix some doxygen stuff
4120 - add a common function within mapitest which looks for a folder name
4121 within a container and return the opened folder object on success.
4123 Add auto-generated Doxyfile to the svn ignore list
4125 - Add AbortSubmit MAPI call (IDL + implementation + mapitest)
4127 - Uninitialize MAPI and general memory context at the end of mapitest
4130 Clean up / flush the stream after use.
4132 Saves a bit more "still reachable" in valgrind too.
4136 - Rename CopyMessages to MoveCopyMessages
4137 - Improve IDL + implementation and mapitest added
4140 Make sure the version shown for mapitest documentation
4141 is automatically set to match the package version.
4143 complete the rest of the API documentation autonumbering.
4146 Remove duplicate use of $(SHLIBEXT).
4148 Avoid parallel builds for now.
4152 Fix GetContentsTable binding in perl swig
4154 - Improve the GetHierarchyTable and GetContentsTable IDL and public
4155 IDL implementation (new parameters in,out)
4158 Initial part of automatic list numbering for doxygen comments.
4160 This doesn't work correctly with the current apidocs.css, which
4161 turns the list numbers into bullet points for reasons I don't
4166 - Improve the DeleteMessages IDL request
4168 - Update libmapi version from 0.7 to 0.8
4170 - Public API change for the GetReceiveFolder function; now takes a
4171 message class as 3rd parameter.
4173 - Improve GetSearchCriteria request IDL (unknown removed)
4174 - update libmapi copyright headers 2007 -> 2007-2008.
4176 - Improve the SubmitMessage IDL
4177 - minor indentation fixed in IMessage.c
4179 - Add CopyToStream MAPI call (IDL + implementation + mapitest)
4181 - Add SeekStream MAPI call (IDL + implementation + mapitest)
4182 - Add SetStreamSize MAPI call (IDL + implementation + mapitest)
4184 - Add CommitStream MAPI call (IDL + implementation + mapitest)
4185 - Add GetStreamSize MAPI call (IDL + implementation + mapitest)
4186 - refactor the stream test to include all stream related operations
4187 - add a common function which generates a random ASCII blob of data
4190 Add doxygen support for the mapitest examples.
4193 Allow cleaning individual parts.
4197 - Add GetStatus call (IDL + implementation + mapitest)
4199 - Fix format string problem in mapitest headers
4201 Run offline suites by default.
4203 - Introduce the online/offline mode for suite
4204 - Fix Exchange headers print bug when server is offline
4205 - reset errno to 0 before running new test
4208 Install the libmapiadmin.h header.
4210 Fix a compile-time warning on amd64, for the second
4211 argument to the getline() call - incompatible pointer
4214 I'm assuming that size_t is equivalent to uint32_t
4215 on a 32-bit architecture, but not on a 64-bit arch.
4217 A quick test showed no difference in actual output.
4220 Remove bashisms in installsamba4.sh
4224 - Add ReadRecipients MAPI call (IDL + implementation + mapitest)
4225 - Improve some ModifyRecipients and Recipients structure naming
4229 - Add RemoveAllRecipients call (IDL + implementation + mapitest)
4231 - Add OpenPublicFolderByName call added (IDL and implementation).
4233 - Note: the reply IDL doesn't handle Server and ServerCount yet.
4235 - Note: this call only refers to NNTP folders (e.g: folders located
4236 within "Internet Newsgroups". If developers use this call within "All
4237 Public Folders", then the call with return MAPI_E_NOT_FOUND.
4239 - Call not added to mapitest cause it require RightsAuthor permissions
4240 on Internet Newsgroups which is not the case by default.
4242 - dump-data and debug options added to mapitest
4243 - FOLDER suite renamed to OXCFOLD (naming convention)
4245 Rename module folder to oxcfold
4247 Replace the existing mapitest tool with a new implementation. It is
4248 less complete but more modular.
4251 Add proto headers to ignore file.
4255 OpenFolder request: replace unknown field with OpenModeFlags
4257 - Rename 0xFE opnum from OpenMsgStore to Logon
4258 - Update the Logon request IDL
4261 Add BEGIN_DECLS for private_proto.h.
4263 Add forgotten part of rev435.
4265 Add unit test framework for compressed RTF decoding.
4267 Refactor lzfu.c to improve testability.
4271 Fix openchangeclient --mailbox --pf with wasn't launched anymore due
4272 to some incorrect sanity check tests.
4274 - Remove deprecated fuzzer_msgstore torture test
4275 - replace mapi_flags with logon_id in EcDoRpc_MAPI_REQ
4279 A couple of minor fixes to make it read better.
4282 properly clean up sofiles
4284 Import exchange nagios check script by Bill Edmunds.
4286 Add support for creating libocpf soname symlink.
4288 Use standard include for uint64_t definition.
4290 Cleanup talloc and tdb before building samba4.
4294 Check for ocpf_set_Recipients retval (MAPI_E_NOT_FOUND)
4296 - Reset ocpf to NULL after release so the ocpf_init/release couple can be called more than once.
4297 - Sanity check on recipient, avoid parsing if no recipient is set. Return MAPI_E_NOT_FOUND instead.
4299 Add reference to the ocpf lib within the pc file.
4303 Remove duplicate SWIG instructions (already covered by stdint.i).
4305 Ignore files created by swig.
4307 Use config.mk in swig/perl/Makefile.
4309 Allow sambaprefix and prefix to be different. Allow building with unknown
4310 Samba git revisions (will still warn though).
4312 Add --with-samba argument to configure so samba and openchange can be installed in different directories.
4316 Add domain to the mapiprofile dump output.
4318 Fix OpenMessage IDL and GetRecipientTable fetched data
4320 -This line, and those below, will be ignored--
4323 M trunk/exchange.idl
4324 M trunk/libmapi/IStoreFolder.c
4325 M trunk/libmapi/emsmdb.c
4326 M trunk/libmapi/IMessage.c
4330 Fix typo, change samba-config -> samba-hostconfig.
4334 - Add openchangepfadmin to make install
4335 - Add openchangemapidump and locale_codepage to make clean
4339 Merge the samba4-latest branch.
4343 Revert so version number to 0.7
4345 Fix Perl bindings: update mapidump_message
4347 ** Start libmapi-0.8 ROMULUS development **
4349 Add ChangeLog and apidocs to the releases
4351 - Delete unmaintained regression suite
4352 - Fix typo error in torture-clean rule
4354 Add modified release script originally from abartlett/samba4
4356 - Check for specific Samba4 git revision in configure.ac
4357 - Prefix locale functions with lcid and make them _PUBLIC_
4360 API documentation update.
4367 Add installation script for samba4
4369 - Apply the nspi pointer patch - make openchange works with
4370 samba4-alpha3 git 41309dc
4375 Move the top level API documentation to an "overview"
4376 section and add a redirect to that overview.
4378 This keeps the doxygen output more nicely separated for
4381 Also, generate the man pages where the install expects
4386 - Fix strsep bug in openchangeclient
4387 - Add RECIPIENT support to libocpf
4389 - escape/unescape strings support added
4390 - PT_MV_STRING8 type added to OCPF write API
4394 - return MAPI_E_NOT_FOUND if NspiGetMatches doesn't return any results
4395 (based upon patch from lofi@mountproc.org)
4396 - makes the workstation parameter of mapiprofile optional (use
4397 gethostname if not defined by the user on command line)
4399 - Fix an allocation memory problem in cast_SPropValue
4400 - update svn:ignore proplist
4404 Update the documentation build so it keeps generating an embedded
4405 website in with apidocs/html as root directory.
4407 - Add support for PT_UNICODE and PT_SHORT to libocpf
4408 - Initial implementation of the libocpf write API
4409 - Update libocpf documentation
4410 - add --ocpf-dump option in openchangeclient
4411 - Fix realdistclean rules for server
4412 - add cast_SPropValue function to libmapi/property.c which cast
4413 mapi_SPropValue to SPropValue
4416 Split API documentation into two separate sections - one
4417 for libmapi and one for libocpf.
4419 Also add in a top level intro page.
4423 New build system which gathers a list of things that can be built with
4424 the libraries/utilities the user has installed and build that when
4429 Add missing allocation for OLEGUID
4431 --ocpf-syntax doesn't require MAPI to be initialized. Furthermore
4432 makes ocpf-syntax "exclusive" (quit after performing the operation).
4435 r371 was bad. What was I thinking with that nonsense!
4437 Revert to something sane.
4439 Make the ./bin/ directory if it doesn't exist.
4441 This should resolve ticket #33.
4445 Improve language handling when creating profiles.
4447 You can now get a list of valid languages and use either
4448 the language code ID or the language name to specify what
4449 language later versions of Exchange should reply with.
4451 Typo fix - duplicate ; at the end of the structure.
4453 Match format to unsigned int argument.
4455 Make the format specifier match the unsigned argument.
4459 propset svn:ignore update
4461 Update propset svn:ignore on doc/examples and libocpf targets
4463 - Fix ticket #29: http://trac.openchange.org/ticket/29
4465 - use access(2) to see if the database already exists
4466 - test if the profile already exists prior trying to add it
4467 - add descriptive error messages
4468 - catch CTRL-C signal and run a profile deletion routine
4471 Update API documentation for ocpf_nproperty_add().
4477 Fix mapidump_message call parameters
4481 Add fid/mid parameters to mapidump_message and changed
4482 openchangeclient_fetchitems to reflect these changes.
4484 Patch from Brad Hards <bradh@frogmouth.net>:
4485 updates the OCPF doxygen file.
4487 Patch from Brad Hards <bradh@frogmouth.net>:
4488 adds the doc/examples into the build system and enables make examples.
4490 Patch From Brad Hards, <bradh@frogmouth.net>:
4491 API documentation update and minor fix for the error value change.
4499 - Add PT_BINARY property support to OCP
4500 - Add stream support to OCPF for large PT_BINARY blobs.
4501 - Fix a bug which prevented from having no/empty PROPERTY or NPROPERTY
4506 - Prevent from assigning a value which type doesn't match with
4508 - Add missing substitution variable support for some named properties
4510 - Improve sample_appointment.ocpf example
4511 - Add PT_MV_STRING8 keyword to the list of supported property type
4516 Improve OCPF PT_MV_STRING8 support.
4518 - Initial revision for libocpf and its documentation
4519 - YACC support added to the build system
4520 - custom lid and string support in mapi_nameid
4521 - lookup functions added for OOM, lid and string
4522 - OCPF commands added to openchangeclient (ocpf-file, ocpf-syntax,
4524 - PR_FID displayed in openchangeclient --mailbox
4525 - PT_MV_STRING8 support added to cast_mapi_SPropValue
4529 Patch from Brad Hards <bradh@frogmouth.net>:
4530 updates code to build with current API
4532 Patch from Brad Hards <bradh@frogmouth.net>:
4533 little update for some API dox
4537 - Add --update option to openchangeclient and allow users to modify
4538 existing messages (calendar, task, contact, note)
4539 - Add --delete option to openchangeclient and allow users to delete
4540 existing messages (calendar, task, contact, note)
4541 - Add some folder/message unique ID to mapidump outputs and send*
4542 openchangeclient functions.
4543 - Fix a bug in set_SPropValue: add sanity check on unicode
4544 string. Thanks to Suman Manjunath for this patch.
4545 - Fix mapidump_task function and identifiers of named properties used.
4549 Fix missing sanity check on priority
4551 Fix a bug in openchangeclient when tasks are created without body
4553 private flag added to openchangeclient appointments
4555 Fix folder IDs problem for Exchange 2007 SP1
4559 Fix names IDL against Samba4 4.0.0alpha3-GIT-41309dc
4563 - Fix a bug in IStoreFolder.c:OpenMessage which was also affecting
4564 GetRecipientTable. We were extending SPropTagArray prior calling
4565 emsmdb_get_SRow. This was causing ndr_pull_error in OpenMessage_repl
4566 and erroneous data to be inserted in the SRow.
4568 - Fix libmapi/socket/interface.c:
4569 - Use the latest version from Samba4 which removes reference to
4571 - Moves struct interface declaration to netif.h
4572 - Report changes to emsmdb.c notification functions.
4574 - Change GetGALTable prototype to match general libmapi policy. Remove
4575 the usage of bool and replace it with uint8_t. Possible values added
4580 - Improve NspiQueryRows IDL and implementation
4581 - Add GetGALTable implementation: fetch all the Global Address List
4583 - Add --userlist option to openchangeclient
4584 - Add a convenient and basic dumping function for Global Address List
4587 - Improve OpenMessage reply IDL
4588 - Fetch mapi recipients from OpenMessage reply
4589 - Add GetRecipientTable convenient function
4590 - Add OPENCHANGE-MAPI-RECIPIENT torture test to test
4591 GetRecipientTable implementation.
4592 - Add convenient SPropTagArray_add function
4593 - Add internal emsmdb_get_SRow routine
4597 Patch from Suman Manjunath <msuman@novell.com>:
4599 - Adds named-properties which define recurrence patterns for
4600 appointment and task.
4601 - Adds named properties for appointment timezone
4603 - Fix the SNotRestriction IDL and write custom push,pull,print
4605 - Add 2 new MAPI calls to the IDL:
4606 * GetSearchCriteria,
4608 - add sample {Get,Set}SearchCriteria torture test
4609 - add convenient mapi_id_array implementation
4610 - add GetDefaultFolder support for CommonView and Finder folders
4614 Make sure directory exists.
4618 - Fix tiny 'nail down samba4 version' bug
4619 - update the minimal Samba4 required version
4621 - Add FindRow call to the IDL
4622 - Improve mapi_Restriction support
4623 - Remove deprecated ndr_print_QueryRows function
4624 - Add a print function for fuzzyLevel
4625 - Add preliminary FindRow implementation test to MAPI-RESTRICTIONS
4627 - Add couple of new MAPI tags to mapi-properties
4628 - change initial bookmark index to 3
4632 - Add 2 new MAPI calls to the IDL and mapitest:
4634 * GetReceiveFolderTable
4636 - Fix a bug in the SortTable test when no messages are returned by
4639 - Add SeekRowApprox to the IDL and mapitest
4640 - Fix some doxygen typo
4642 - New calls added to the IDL, torture suite and mapitest:
4645 - Internal mapi_object_bookmark_t implementation added to
4647 - SBinary_short default ndr_print function changed to custom
4651 Temporary fixes unexpected segfault in SortTable test. Emails sent
4652 during the Submit test have sometimes not yet been dispatched when the
4653 SortTable test begins. This fix adds a sleep(1) and an arbitrary
4654 number of attempts (5).
4656 Add 2 new MAPI calls to the IDL and libmapi:
4660 Tests for SortTable added to mapitest and the torture suite
4661 Test for AddressTypes added to mapitest.
4665 Fix perl bindings and fetchmail test
4667 2 new MAPI call added to the IDL and mapitest:
4673 - Add DeleteAttach MAPI call
4674 - Add new mapi unit tests:
4678 * GetAttachmentTable
4680 - Update mapitest README
4681 - Add some convenient functions to mapitest_common.c
4685 Add a preliminary draft of the mapitest standalone MAPI test suite.
4691 - Fix the build with the latest Samba4 version.
4693 - Add a basic libmapi/version.h auto-generated
4694 file (based on Samba4 one)
4695 - Remove some warnings when compiling the utf8
4697 - Add a emsmdb_info structure to fetch some
4698 information from the Exchange server
4700 WARNING: Please note that EMSABP is definitely broken and
4701 requires a review and update.
4704 DESTDIR should never get into any source files, that would defeat its purpose.
4708 Fix the torture suite.
4712 provide extra required argument.
4714 Store a loadparm context in the global mapi context.
4716 Deal with samba version.h's that don't contain the Subversion revision.
4720 Use SWIG-provided typemaps for stdint.
4724 Fix Content-Type field in exchange2mbox
4725 Reported by Yuriy Filatov <yuriy.filatov@gmail.com>
4729 - Improve the CreateMessage IDL
4730 - Add new parameters to IMAPIFolder CreateMessage libmapi function
4731 - Add --mkdir --rmdir options to openchangeclient
4732 - Update the CreateFolder API and openchangeclient documentation
4733 - Fix CreateFolder calls in openchange tools and torture suite
4734 - Fix gendb_search warning
4738 Add new PSETID_Address named properties
4740 Fix a few code convention typos
4742 Patch from Suman Manjunath <msuman@novell.com> applied:
4743 converts a 'struct timeval' to 'NTTIME'.
4744 minor extension of 'set_SPropValue_proptag', used while setting PT_SYSTIME properties.
4748 update Samba4 first revision to 26100
4751 Cope with ndr updates.
4755 Patch from Brad Hards: Fix possible Heap overflow in lzfu code
4759 Fix profile creation in a clustered Exchange 2007 environment.
4763 Fix QueryColumns req size.
4767 ** Start libmapi-0.7 PHASER development **
4769 add --dump-data option to mapiprofile for debugging purpose
4773 openchangepfadmin (1) man page added
4775 Store messageID in the object when SaveChangesMessage is called
4777 Nail down Samba4 version for libmapi-0.6
4781 - Add PR_MSG_EDITOR_FORMAT property to the sendmail operation
4782 - Fix body dump bug when PR_MSG_EDITOR_FORMAT property is missing (default set to PLAINTEXT)
4783 - Continue to process the mailbox when a problem is encountered with mesage contents (not attachment)
4784 - Fix a typo bug in openchangeclient body help string
4786 Update doxygen section
4790 - Add doxygen man (3) pages to installman and uninstallman rules
4791 - do not run doxygen if apidocs already exists
4795 Move documentation to doxygen
4799 Add convenient date related functions for implementors:
4800 returns a timeval struct matching a PT_SYSTIME property
4801 for improved date manipulation in 3rd party softwares
4805 Fix build to work with latest Samba4 revision (4.0.0alpha2-SVN-build-25722)
4807 Fix make realdistclean when swig perl is enabled
4809 Fix swig perl bindins compilation: move *.o to *.po
4811 use talloc_memdup to copy const data in the body DATA_BLOB
4812 Should only provide valid pointer to talloc_free
4816 Fix the DeleteMessages [out] IDL.
4818 The remaining bytes were not part of DeleteMessages but
4819 MAPI notification (0x2a)
4823 - Add RTF support in exchange2mbox
4824 - Use openchange-tools public functions
4825 - Replace GetPropsAll calls with GetProps
4828 * Use GetProps rather than GetPropsAll for message dump
4829 * Rely on PR_MSG_EDITOR_FORMAT to select the type of body
4830 * Open a stream for PR_BODY and PR_HTML if the size exceeds max property size
4832 -This line, and those below, will be ignored--
4835 A trunk/utils/openchange-tools.c
4836 M trunk/utils/openchangeclient.c
4837 M trunk/utils/openchange-tools.h
4838 M trunk/utils/openchangeclient.h
4839 M trunk/libmapi/mapidefs.h
4847 Remove useless svn:ignore
4850 Add WrapCompressedRTFStream function for PR_RTF_COMPRESSED content.
4852 Original lzfu decompress routine fetched from libpst-0.5.2
4854 make enum MAPISTATUS variables naming uniform in libmapi
4858 Add PT_CLSID case to get_SPropValue_data
4860 Add/Fix pull property support for PT_UNICODE and PT_CLSID (used by GetProps)
4862 Patch from Brad Hards <bradh@frogmouth.net>:
4863 Fix compilation for x86_64 platforms.
4867 More svn:ignore updates
4869 Update of svn:ignore
4873 added the IDL license
4875 Convert OpenChange to GPLv3
4877 - Add .po files to make clean
4878 - Fix a couple of warnings in the utf8 conversion lexer
4879 - Prefer long filenames to truncated one for attachments in openchangeclient
4883 Prevent exchange2mbox from segfault when PR_MESSAGE_DELIVERY_DATE is unset
4885 Add PT_CLSID and PT_MV_CLSID support to the IDL
4887 - Add new named properties
4888 - Convenient function for MNID_STRING props lookup added
4891 Make .po a recognized suffix.
4895 Use -fPIC for library objects.
4899 - Rename GetAllNamesFromIDs to QueryNamesFromIDs (better naming)
4900 - fix SPropValue_CTR boolean to uint8_t in the IDL and emsmdb.c
4902 - add mapi_nameid convenient interface and headers
4903 - mapi-named-properties populated, parser added to mparse.pl, file
4904 added to the build system
4906 - remove any incorrect reference to named properties in openchange
4909 - remove deprecated libmapi/mapi.h file
4910 - remove unused ulFlag parameter from IProfAdmin functions
4911 - remove unused memory context from libmapi/x500.c
4913 - support sendnote operation in openchangeclient
4914 - optimize check/list oc_element functions in openchangeclient
4916 - update swig interface
4920 - New MAPI calls: Named properties support
4923 * GetAllNamesFromIDs
4925 - Modified MAPI calls:
4928 These calls now have more granularity in libmapi with flags support
4930 - sample mapi-named-properties file introduced in libmapi/conf
4932 - Torture test suite:
4933 * suite temporary fixed (import torture_rpc_* functions from
4935 * torture_namedprops test added
4937 - SWIG Perl bindings fixed according to changes described above
4938 - minor improvements in libmapi/mapidump.c
4942 - Decrease MAX_READ_SIZE to 0x1000
4943 - Clean-up Read/WritreStream related code
4944 - add dump-data option to openchangepfadmin (debugging purpose)
4949 - remove reference to core/nterr.h
4950 - add global_loadparm reference where missing
4951 - add reference to core/error.h where needed
4954 Improve output during build.
4958 Pass loadparm contexts, should fix the build with newer Samba revisions.
4962 - WriteStream API changed: now returns the number of bytes written
4963 - WriteStream man page updated
4964 - 16 bytes extra-data bug fixed when sending attachments in openchangeclient
4965 - Set open mode to 0600 when attachments are stored on the filesystem
4970 Fix preliminary Perl bindings so it works with Samba4 alpha2
4971 and latest libmapi revision.
4973 Patch from Andrew Gaylard <ag@computer.org>:
4975 - When calling openchangeclient with the --dump-data switch, it will
4976 dump core, since the global_mapi_ctx pointer isn't initialised yet.
4977 The fix is to wait until it's set before accessing it.
4979 Patch from Andrew Gaylard <ag@computer.org>:
4980 - Leaving any blank lines before .TH directives appears to cause a blank page
4981 to be output when converting man pages to DVI files (which is a step to converting
4982 them to PDF). The following patch remove the blank line above the .TH in each man page file.
4984 - mapiprofile doesn't understand the -A switch, as mentioned in it's man page.
4989 - Add objectClass to the object: container, message or attachment
4990 - Rename content to message in openchangebackup functions
4991 - add objectClass parameter to ocb_record_init
4995 - Move debug options to their correct location (after MAPIInitialize)
4996 - Improve code related to LDB transactions
4997 - Add convenient error checking macros
5001 - Add preliminary openchangemapidump draft
5002 - Fix lp_parm_* 1st parameter in the torture suite
5003 - New functions in property.c for MAPI data retrieval
5007 Use configure definition for mandir.
5011 Activate debugs this time
5013 Replaced remaining gotos with MAPI_RETVAL_IF so errno is set correctly
5015 MAPI_RETVAL_IF missing ";" could cause surprises ;-)
5017 Add error check for samr call.
5018 set errno with MAPI_RETVAL_IF.
5022 Make required packaged more clear (LinuxMagazin input)
5026 Remove invalid comment.
5030 - Clean-up function prototypes
5031 - Dump email when NEWMAIL notification is received
5035 Proper dependencies.
5037 Don't regenerate proto headers unless necessary.
5041 Use install for installing files/directories.
5043 Actually use replacement variable for libmagic.
5047 Remove forgotten BOOL
5049 Remove mapi_session pointer in mapi_objects
5050 Add public function to IProfAdmin: retrieve default ldif path location outside the OC tree
5054 Prevent users from creation of *undeletable* folders in Outlook and
5055 perform sanity check on dirclass + display possible values.
5057 Provides a way to modify Default and Anonymous permissions for a given folder.
5059 Fix errno in getdir function + add sanity check on opt_rmdir
5061 - Fix a memory related bug in mapiadmin_add_user
5062 - Add latest howto.txt modifications from Dan
5064 - Fix bug in *UserPermission function: return when user is not found
5065 - Add sanity checks to mapi_object API functions
5066 - mapi_object_release reset errno to 0: need to release object
5067 after displaying the potential error message.
5069 Fix a mapidump_appointment bug
5070 Add PF folder support to fetch-items operation
5074 openchangeclient now support send/read/delete operation on custom PF directories.
5076 - Add libmapiadmin library draft: Add/Remove Exchange user
5077 - openchangepfadmin tool added: Public Folders management
5078 - Add Sanity check to CreateFolder
5083 Fix last references to BOOL, True and False.
5085 Fix more references to BOOL, False and True.
5087 Use standard type and values for booleans since Samba no longer exports
5088 BOOL, True and False.
5092 - Add OpenPublicFolder function to libmapi, Open Public Folder store
5093 - change torture suite API to match latest Samba4 pidl changes
5094 - utf8_convert regexp improved
5095 - minor changes: printf to DEBUG
5096 - howto.txt patch from Dan included
5097 - Samba4 torture code related to user account creation included in the
5102 Fix segmentation fault when running update prior populating the database.
5106 Remove obsolete file from the torture suite
5108 - Add Exchange Administration test to the torture suite: Create Exchange user
5110 Dan update on howto.txt
5114 - Add Exchange ACLs support to MAPI library
5115 - Add 2 new MAPI opnum: GetTable and ModifyTable
5116 - Improve mapidump functions
5120 - Improve aclocal check in autogen.sh
5121 - Fix flex binary detection in configure.ac
5129 Create libmapi.so symlink
5133 Fix mandir installation path
5134 Add ldconfig intructions to openchange installation documentation
5140 RES_AND and RES_OR preliminary implementation.
5144 - doc patch from Brad Hards
5145 - rename PROFILE_NOPASSWORD to OC_PROFILE_NOPASSWORD
5146 - fix a warning in property.c
5150 Add some 'const' (fixes compile warnings).
5152 Use sonames (required for the Debian packages).
5154 Add .bzrignore file.
5156 Update version number and use globally defined version number in libmapi.pc.
5160 - Add IDL implementation for restrictions Content, Property,
5161 CompareProps, Bitmask, Size, Exist.
5162 - Add Restrict MAPI call handling the restrictions above
5163 - OPENCHANGE-MAPI-RESTRICTIONS torture test added to the suite.
5164 - convenient sendmail function added to mapi_common.c
5165 - get property size function for mapi_SPropValue added to property.c
5167 test --This line, and those below, will be ignored--
5171 M torture/openchange.c
5172 A torture/mapi_restrictions.c
5173 M torture/mapi_common.c
5174 M libmapi/property.c
5175 M libmapi/IMAPITable.c
5179 Documentation update: Perl bindings installation
5183 - Add mapitags and mapicode support to Perl SWIG bindings
5184 - SPropTagArray support
5185 - SRowSet preliminary support
5186 - new constructor/destructor for mapi objects
5190 - IProfAdmin patch applied: having password outside of the profile
5192 - Perl bindings draft added to the trunk and to the build system:
5193 --enable-swig-perl=yes
5195 - datarootdir fixed in libmapi.pc.in
5199 - Add CopyMessages IDL and COPYMAIL torture implementation
5200 - Fix man page install dir according to latest Samba4 changes
5201 - Add datarootdir var to libmapi.pc.in and fix configure warning
5205 convenient function which retrieve a value from a SPropValue array
5206 given its property tag name, otherwise NULL
5210 Patch from Brad Hards <bradh@frogmouth.net>:
5211 openchangeclient man page updated
5213 - Add Windows UTF8 to classic UTF8 conversion through a lexer
5214 - openchangeclient --mailbox option changed to use it
5215 - flex and bison support added to configure.ac
5216 - windows_to_utf8 function added: wrapper over yyparse_utf8 routine
5220 - features added to openchangeclient:
5221 * --send-appointment
5225 - openchangeclient man page updated
5226 - new properties added to mapi-properties
5228 - Add man pages for simple_mapi.c functions:
5230 * GetFolderItemsCount
5232 - Remove deprecated functions from IMsgStore.c
5233 - Update man pages documentation
5235 Fix install rule in Makefile: add missing headers
5236 Move callback retval from uint32_t to int
5238 Fix notification callback retval
5240 - Advise opnum added to the IDL
5241 - Parts of the Notify response IDL implementation
5242 - Add Notification support to libmapi
5243 - Add --notifications option to openchangeclient
5247 Patch from Brad Hards <bradh@frogmouth.net>:
5248 - PR_BUSINESS_FAX_NUMBER
5249 - improves the information provided on a contact by
5254 - Fix the release call in,out
5255 - Call Release from mapi_release_object
5256 - Add sanity check to OpenMsgStore
5257 - clean up parts of the mapi_newmail test
5259 EcDoDisconnect code now sounds to work properly
5260 Tested against Exchange 2000 / Exchange 2003
5262 - Fix SpropValue property pull problem when GetProps layout is set
5263 - Add a dumpdata boolean to mapi_ctx_t so tools can dump hex data
5264 - Add PR_CONTAINER_CLASS fetch to openchangeclient --mailbox
5265 - Add debuglevel and dumpdata options support to openchangeclient
5269 - Remove useless memory allocation in mapidump.c
5270 - Improve mapidump_appointment
5271 - Add sample mapidump_note
5272 - Add --fetchitems option to openchangeclient:
5273 This command offers an easy way to fetch calendar, contacts,
5274 tasks, notes and mails from the Exchange server.
5275 - Add IPF container class defines to mapidefs.h
5276 - Add and Fix property tags
5280 - Commit the EcDoRpc max_data patch proposed on the devel list
5281 - Clean up folders related functions from the torture suite
5282 (GetDefaultFolder makes this code obsolete)
5286 Add the --mailbox option to openchangeclient which recursively
5287 lists the full mailbox folder hierarchy
5289 - Add PT_SYSTTIME support to get_SPropValue_data
5290 - Add mapidump_SPropValue_date dumping function
5291 - Add PT_SYSTIME support to mapidump_SPropValue
5293 - Add multi-valued SBinary_short support to mapi_SPropValue_CTR in the
5296 - Add GetDefaultFolder implementation to simple_mapi.c. This function
5297 provides a convenient way to retrieve default folders ID. const
5298 olFolder values are stored in libmapi/mapidefs.h
5300 - Modify the torture test suite to reflect these changes.
5302 - OpenMsgStore now decodes all the fid returned in the response
5304 - fix a bug size in libmapi/property.c
5308 - Fix SMTP recipient in libmapi
5309 - Add SMTP recipient support to openchangeclient
5310 and the torture test suite
5311 - Fix a bug in SRow_addprop
5315 - OpenMessage IDL changed: we have a permission field.
5316 It is now set by default to 0x3 (read/write) until we
5317 change OpenMessage prototype.
5319 - Add a sanity check to MAPIInitialize when no profdb
5324 Remove remaining MAPISTATUS and replace them with enum MAPISTATUS
5326 - SetReadFlags IDL and implementation added to libmapi
5327 - Warning fixed in emsabp.h
5329 Fix a bug in openchangeclient when attachments are using
5330 PR_ATTACH_LONG_FILENAME rather than PR_ATTACH_FILENAME to store
5331 attachment filename.
5333 Patch supplied by Brad Hards <bradh@frogmouth.net> which renames
5334 private structure member to private_data for C++ compatibility.
5336 Add libmapi/simple_mapi.c designed to hold convenient
5337 functions for application development.
5339 - GetFolderItemsCount added which returns the number of
5340 total and unread messages for a given folder.
5344 - Fix a body openchangeclient bug which now prevent openchangeclient
5345 from segfault when no body is specified.
5346 - Add GetDefaultProfile call to exchange2mbox for the default
5348 - Improve fuzzer_msgtore output
5352 Add a fuzzer torture test on OpenMsgStore which
5353 test all the possible max_data value.
5355 Should help to understand if libmapi fails because
5360 exchange2mbox improved:
5361 - tdb dependency removed
5362 - message-id are now stored in the profile database
5363 - it now mirrors deletion operation from the mbox file back to the
5365 - man page updated to reflect these changes
5367 - GetProfileAttr function prototype modified. It now returns the
5368 results count for the given attribute and store values in a string
5370 - GetProfileAttr man page updated to reflect these changes
5371 - Fix mapiprofile attribute search command
5372 - migrate from open/write calls to stream ones in exchange2mbox
5375 newmail torture + notifications implementation
5381 Fix the SambaXP live demo segfault: When an ambiguous recipient is
5382 specified, it now skips the name properly and maintain a correct
5385 - Fix a bug when storing attachments into mbox
5386 - Add default path support to exchange2mbox
5390 - Update libmapi version according to the roadmap
5391 - Fix nspi_resolvenames to use default profile database and profile
5395 - Add default profile database and profile support in the torture suite.
5396 - Fix a bug in mapidump_task
5400 - Change MAPILogonEx to MAPILogonProvider and avoid potential
5401 emsmdb endpoint related problem
5402 - add sanity check on global session pointer
5406 Merged MAILOOK-branch changes r64:163 into the trunk.
5410 Remove ChangeLog, use svn log instead ;p
5414 - libmapi includes moved from libmapi/include to libmapi
5415 - Remove arguments from prototype definitions generation in mkproto.pl
5416 - __BEGIN_DECLS __END_DECLS support in header files
5417 - united libmapi/libmapi.h header file
5418 - openchange.h header removed
5419 - PIDL generated files moved to gen_ndr
5420 - compilation rule for libmapi header installation added
5421 - useless torture tests removed
5427 Replace OpenProperty and ReadAttach calls with OpenStream and ReadStream call
5428 Add GetAttachmentTable call
5434 Remove -Werror CFLAGS until I figure out how to fix
5435 our problem definitively.
5437 Remove static from dcesrv_exchange.c functions definition
5442 . reimplement GetProps
5443 . retrieve attachment size
5444 . modify fetchmail and fetchattach torture
5449 . add GetPropList to exchange.idl
5450 . add GetPropList implementation to IMAPIProp.c
5453 - Add fetchattach torture; Attachment size is not yet
5454 defined and 42 is used.
5455 - add 3 new EcDoRpc opnums:
5464 Forgot to add IMAPISession.c
5470 Remove spurious warnings at compile time and
5471 add -Werror -Wstrict-prototypes to CC.
5475 Dispatch libmapi functions into filenames matching
5476 the MAPI interface they belong to.
5480 Fix the attach issue by value and add torture test to
5481 the openchange torture suite.
5486 attachment torture test implementation
5492 Add a null element at the end of MAPI_REQ array
5493 so we can exit from the loop in ndr_print_mapi_request
5497 - Add the DeleteMessages IDL
5498 - New torture tests added:
5499 * OPENCHANGE-MAPI-SENDMAIL
5500 * OPENCHANGE-MAPI-DELETEMAIL
5502 These are experimental implementation
5507 subject option for delete message torture test
5511 added (recipients == null) check
5513 added default subject
5518 Add NspiResolveNames and the associated torture test.
5524 Fix nspi decoding problem due to the usage of
5525 a hyper instead of a dlong.
5529 - Add a preliminary NspiUpdateStat IDL
5530 - Fix the new server code convention naming
5531 (function prefixed with dcesrv_)
5532 - Fix a security bug in emsabp provider code
5536 Fix the allocation memory for the EcDoRpc_{MAPI_REQ,MAPI_REPL} pointer.
5540 Add SetProps [out] support.
5542 Temporary allocation pb fixed in ndr_pull_mapi_response.
5543 Final fix in next commit.
5549 Fix the SetProps [in] IDL
5551 New mapi call support added:
5552 - ModifyRecipients [in,out]
5553 - SubmitMessage [in,out]
5557 Add IDL support for the following mapi calls:
5562 The SetProps IDL is still experimental and the
5563 content blob should be decoded more than the current
5570 Fix the align problem in QueryRows reply blob
5571 Add some printing output and clean useless DEBUG.
5577 Fix the OpenMessage IDL and add ndr_print support
5578 to the MAPI-FETCHMAIL torture test so we can
5583 Commit of the first experimental but working implementation
5584 of the MAPI-FETCHMAIL torture test able to retrieve mails
5585 from an Exchange Server.
5589 - Add a preview implementation of cached data system for multi MAPI calls requests
5590 - Add SetColumns and QueryRows calls to mapi.c + mapi_fetchmail torture test
5591 - Enhance some MAPI calls IDL
5592 - Fix some pull/print functions according to error_code and row_count values
5598 Manual handling of EcDoRpc_MAPI_REPL pull and print function.
5599 When a mapi call returns an error_code different from MAPI_E_SUCCESS,
5600 we have to stop processing the function IDL since no parameters follow.
5604 add MAPISTATUS to EcDoRpc_MAPI_REPL
5605 add mapi library code for:
5611 add mapi calls described above to MAPI-FETCHMAIL torture test
5615 add mapi_response to emsmdb_transaction so we can get the results
5616 check the mapi call error core in OpenMsgStore
5620 Add MAPISTATUS field in each mapi calls
5621 Add new MAPICODE (MAPI_E_CALL_FAILED)
5625 Fix the mapi_request push function
5626 Add a first approach to the MAPI client side library
5627 Add a first approach of the MAPI-FETCHMAIL torture test
5628 Fix the smb.conf.example with new fields and remove Samba4 unused ones
5634 Initial mapidump commit
5635 OpenMessage IDL fixed
5641 Unused and dummy code removed
5645 - Remove the MAPI decoding TDR layer and associated functions
5646 - Add MAPI decoding in exchange.idl at NDR layer
5647 - mapi_request / mapi_response pull/print ok
5648 - implement subcontext for async response decoding in
5650 - new MAPITAGS added related to Message envelope properties
5651 - clean up the code and remove unused files
5653 - Add new MAPI opnums and associated IDL:
5654 * [in] Release (opnum=0x1)
5655 * [in,out] OpenFolder (opnum=0x2)
5656 * [in,out] OpenMessage (opnum=0x3)
5657 * [in,out] GetContentsTable (opnum=0x5)
5658 * [in,out] GetProps (opnum=0x7)
5659 * [in,out] Secolumns (opnum=0x12)
5660 * [in,out] QueryRows (opnum=0x15)
5661 * [in,out] GetReceiveFolder (opnum=0x27)
5662 * [in,out] OpenMsgStore (opnum=0xFE)
5668 For IDL with unknown fields followed the IDL may
5669 change and the mapping of these unknown bytes incorrect.
5670 It's just based on assumptions and results of the different
5675 - The mapi_request / mapi_response pull function
5676 - emsmdb torture tests and libmapi/emsmdb.c
5678 All this code is currently broken and will be fixed
5679 when we start writing the new emsmdb torture suite
5687 Fix ndr_pull_MAPI_DATA function
5691 - Add new mapi opnums
5692 - Add a first IDL implementation for OpenMsgStore out
5696 - Enhance the handles id support in MAPI_DATA
5697 - Remove unused code
5699 EMSMDB encoding/decoding is currently broken.
5700 It will be fixed when we start the client side
5701 mapi library implementation.
5707 - Change IMAPISession.idl to mapi.idl
5708 - enhance mapi content payload decoding (multiple calls supported)
5709 - add sub EcDoRpc opnums and IDL for setcolumns (in)
5716 - new function on emsabp provider for entry id generation
5722 Old mapitables code deleted and merge of the samdb
5723 code used in openchange (emsabp_result_guid function).
5725 The following revision compiles and work fine with
5726 Samba4 revision 20341
5733 Instance keys management changed (we now use struct instance_key and uint32_t instead of an array of 4 uint8_t)
5739 - Fix compilation warnings based on patches provided
5740 by Stefan Huehner <stefan@huehner.org>
5741 - Fix the DSO issue for x64 platforms
5742 - Add the evolution plugin in the compilation process
5743 - remove the mapidump code (obsolete and replaced with ndrdump usage)
5749 evolution plugin moved into client/evolution for
5750 a correct and extensible naming convention.
5752 EcDoRpc IDL modified:
5753 - opnum are now 8 bits
5755 - EcDoRpc ndrdump output enhanced
5757 IMAPISession IDL modified:
5758 - Change OpenMsgStore function name to MAPI_RPC_LOGON
5759 for the 0xFE opnum operation.
5761 Fix warnings in the code.
5767 Openchange-Evolution plugin commit
5768 I reorganized openchange evolution plugin source tree.
5769 Now we have one directory for the camel-openchange provider, and one for the openchange eplugin.
5770 Everything can be found in the oc-evolution directory.
5771 This is code a minimalist implementation of the camel provider for evolution.
5772 It will make appears an openchange server type in the server list handled by evolution.
5773 Still have to fix the ./configure to create a Makefile though.
5777 Fix the memory allocation problems in the emsmdb torture test
5781 Removed ascstr and directly add it to the IDL
5783 Fix the NspiQueryRows response where strings
5784 containing the user email address have to be
5787 The EMSABP provider is working ;-)
5791 The emsabp provider is now able to return multiple users
5792 when searching for part of a username.
5798 Fix the networkAddress binding strings for the
5799 Exchange object in the configuration db. The
5800 SERVER variable based on exchange:server had
5801 been added while we needed the NETBIOSNAME one
5803 Fix a segmentation fault in emsabp.c due to an
5804 unchecked pointer res->msgs. This was causing
5805 smbd to segfault when the supplied legacyExchangeDN
5806 sent by the user wasn't present in the database.
5812 Remove unused files and directory.
5813 Update Makefile.in and remove storedb compilation
5822 - provisioning (for the legacyExchangeDN of the server entry)
5826 Fix the build and remove dynconfig samba lib
5832 Unused ldif files removed + Schemas definitions updated
5836 Provisionning fixed (old ldif files cleaned)
5842 add tags rules to the Makefile
5846 add the \\pipe\\protected_storage named pipe
5847 to exchange_nsp bindings
5853 Add a dcerpc_server module in charge of the
5854 exchange interfaces registration. When this module
5855 is loaded prior the remote endpoint, it let us proxify
5856 the exchange_nsp and exchange_emsmdb ones.
5858 Change the exchange_nsp ncacn_np binding string to
5859 reflect how Exchange server is currently using it.
5861 Conform the IDL with latest pidl requirements and
5862 move the MAPI_DATA structure from exchange_nsp to
5869 Create the $prefix/modules/{dcerpc_server,torture}
5872 This fix openchange make install rule.
5876 This commit conforms openchange with the Samba4
5877 trunk and fix the autotools checks.
5879 I've modified the openchange torture file to
5880 match the current smbtorture API and the
5881 OPENCHANGE-NSPI-PROFILE test was successful.
5883 The NSPI ndrdump suite has fully been tested and
5890 This commit fix the build system:
5891 - add the -ldynconfig dependency to LDFLAGS
5892 - add header checks in configure.ac. We need them
5893 for the moment cause Samba4 doesn't install some headers
5894 required by openchange core
5895 - fix the make install
5897 - remove autotools generated files and definitively
5898 ignore them with the .svnignore file
5900 - keepref keyword removed from exchange_nsp interface
5905 + aclocal.m4 removed from repository
5906 + provisionning fixed