2010-01-23 bradh [r1690] Remove a copy of the dlinklist.h header, and just use the samba version instead. 2010-01-20 bradh [r1688] Install missing file. 2010-01-13 bradh [r1686] Allow us to find samba python code on 64-bit machines. 2010-01-10 jkerihuel [r1684] Update EcDoConnectEx IDL to match latest specifications bradh [r1683] Minor additions to "make clean" / "make distclean" to remove generated python bits, and also the config.h file. 2010-01-08 bradh [r1681] Implement IsMailboxFolder for public folder types. Involves some refactoring of the way we handled the mapi_object_store_t, such that we now talloc_zero the structure. Adds mapitest coverage for these. Resolves Ticket #134. 2010-01-06 bradh [r1679] Add unit tests for IsMailboxFolder Also use 0xFFFFFFFFF instead of -1 for no-such-mailbox, consistent with the unsigned data type. 2010-01-04 jkerihuel [r1677] Change location of .cpp.o and .ccp.po to the correct location and inhibit compilation line output for moc and cpp compilation. bradh [r1676] Try harder to clean up libmapi++ bits. 2010-01-03 jkerihuel [r1673] Ignore moc files and generated binary [r1672] Update OpenChange version to 0.10 NOMAD Nomad is a mechanical explorer sent from Earth in 2002. It was melded with an alien device named Tan Ru and the resulting robotic hybrid began destroying anything that was imperfect including, in 2267, itself. bradh [r1674] Add documentation for qt/ subdirectory. [r1671] Try harder to find moc. [r1670] Initial commit of some Qt-style bindings. This is mostly for testing, although hopefully the library will emerge with a set of mostly-useful widgets for implementing real clients. 2009-12-31 bradh [r1668] Quiet the build here. Inadvertent removal in a previous patch. [r1667] Some support for ReviewBoard. 2009-12-29 bradh [r1665] Update OpenMessage flags to match specification values. [r1664] Cleanup libmapi++ code when we "make clean". [r1663] Add svn ignore entries. [r1662] Remove inline from shared library class. Fixes build on Intel C++ compiler. 2009-12-27 clsk [r1660] libmapi++ is no longer a header-only library 2009-12-26 bradh [r1658] Add first part of Restrictions support. [r1657] A little more documentation fixes. 2009-12-25 jkerihuel [r1654] Fix MAPIUninitialize() crash when leaving after an unsuccessful call. In such situation, mapi_response is not allocated but has a destructor associated. This fix removes the destructor whenever the error code is different from MAPI_E_SUCCESS. Also add a minor (probably useless) check on mapi_response pointer validity before attempting any other child's free. bradh [r1656] A couple of minor API documentation fixes. 2009-12-24 jkerihuel [r1651] Rename libmapi into openchange in our release script. Makes more sense given the scope of our releases. [r1650] Fix format string warnings. [r1649] New ModifyRecipients IDL and implementation. This patch improves the logic within the RecipientFlags bitmask calculation function and make use of different MAPI properties for ModifyRecipients. Fix trac ticket #125 and https://bugzilla.gnome.org/show_bug.cgi?id=568763 bradh [r1648] Minor API documentation fix. 2009-12-23 bradh [r1647] Fix some exchange2ical memory leaks / "still reachable" memory. [r1645] Fix property tag array count, so we get the language in Summary lines in the ical output. [r1644] Add protection against null CN values. Resolves ticket #232. Thanks to Arnout Engelen for the bug report and the patch to fix the problem. [r1643] Handle all day events for UTC+ timezones. This resolves ticket #217. Thanks to Arnout Engelen for both reporting the problem, and providing a patch. In the end I heavily modified the patch, and implemented a much simpler version while we sort out the timezone identifier problems. 2009-12-22 bradh [r1641] Minor documentation update to reflect GSoC exchange2ical merge. [r1640] temporary fix for building on FreeBSD 7.2. [r1639] Remove this file - converted it to trac tasks. 2009-12-21 jkerihuel [r1635] Patch from Johnny Jacob : Changed MonitorNotification to be non-blocking. Also checks whether to process notifications using a callback. [r1634] Open Profile Store using global_mapi_ctx for the memory context. This fix removes 20 context errors when running valgrind on mapitest. [r1633] - Fix important memory leaks in OpenChange NSPI stack. The memory context modifications applied to the EMSMDB stack have been propagated to the NSPI one. NSPI dcerpc_* functions now rely on a temporary context passed in parameter to the nspi_* functions from libmapi/nspi.c. - Changes propagated to torture, mapitest, IProfAdmin interface and ResolveNames function to match the internal API. - Add missing MAPIFreeBuffer call in mapitest modules [r1632] Minor cosmetic change [r1631] Minor changes to match our coding convention more closely [r1630] Return (const void *) instead of (void *) where missing [r1629] - Fix important memory leaks within the OpenChange stack. Most of the leaks came from the pipe memory context used in emsmdb_transaction which was only released on MAPIUninitialize and sometimes leaded in lost blocks. This fix makes extensive usage of the temporary memory context used in top MAPI calls implementation. This context is passed in argument to emsmdb_transaction and used for dcerpc_* operations. When we return from any libmapi call implementation, this context is destroyed. This guarantee no extra memory within NDR layer is kept. The only requirement for this patch to work is to make sure the data we return from MAPI calls is either reparent to another memory context or copied properly. bradh [r1638] Add support for skipping tests that don't apply to some server versions. [r1637] Change the format of the server version, so it matches the Microsoft way of doing versions. 2009-12-20 jkerihuel [r1627] Fix store version info assignment - Exchange version now works again in mapitest. [r1626] Clarify the developer's task when using GetPropList. We were allocating the SPropTag proptag array with the session context pointer, which was not released with a MAPIFreeBuffer(SPropTagArray). We are now using SPropTagArray pointer as parent context and clarify that the developer must pass an allocated SPropTagArray pointer to the function. [r1625] Missing mapi_object_release leading in small leaks. [r1624] Sanitize RfrGetNewDSA function and memory usage. The function was returning either a const char * passed in parameter or the string returned by RfrGetNewDSA call. Furthermore we were using the session pointer for the memory context. Finally the function description was not matching its behavior. What this patch does: - use a named memory context for RfrGetNewDSA call - return an allocated string on success otherwise NULL - release RFR memory context properly valgrind before patch (mapitest): ==28876== LEAK SUMMARY: ==28876== definitely lost: 0 bytes in 0 blocks ==28876== indirectly lost: 0 bytes in 0 blocks ==28876== possibly lost: 3,193,529 bytes in 23,296 blocks ==28876== still reachable: 345 bytes in 2 blocks ==28876== suppressed: 0 bytes in 0 blocks ==28876== ==28876== For counts of detected and suppressed errors, rerun with: -v ==28876== ERROR SUMMARY: 2351 errors from 2351 contexts (suppressed: 45 from 10) valgrind after patch (mapitest): ==29083== LEAK SUMMARY: ==29083== definitely lost: 0 bytes in 0 blocks ==29083== indirectly lost: 0 bytes in 0 blocks ==29083== possibly lost: 3,190,285 bytes in 23,256 blocks ==29083== still reachable: 345 bytes in 2 blocks ==29083== suppressed: 0 bytes in 0 blocks ==29083== ==29083== For counts of detected and suppressed errors, rerun with: -v ==29083== ERROR SUMMARY: 2338 errors from 2338 contexts (suppressed: 45 from 10) [r1623] This patch fixes most of the leaks coming from pull_emsmdb_property() function. pull_emsmdb_property is using pointers and allocate memory to prevent from returning a local variable address. Such pointers include PT_I2, PT_I8, PT_LONG, PT_ERROR or PT_BOOLEAN. Pointer's values are assigned in set_SPropValue but were never released/free'd. This patch implements free_emsmdb_property to fix this problem. valgrind before patch (mapitest): ==26674== LEAK SUMMARY: ==26674== definitely lost: 0 bytes in 0 blocks ==26674== indirectly lost: 0 bytes in 0 blocks ==26674== possibly lost: 3,264,485 bytes in 23,387 blocks ==26674== still reachable: 345 bytes in 2 blocks ==26674== suppressed: 0 bytes in 0 blocks ==26674== ==26674== For counts of detected and suppressed errors, rerun with: -v ==26674== ERROR SUMMARY: 2370 errors from 2370 contexts (suppressed: 45 from 10) valgrind after patch (mapitest): ==27270== LEAK SUMMARY: ==27270== definitely lost: 0 bytes in 0 blocks ==27270== indirectly lost: 0 bytes in 0 blocks ==27270== possibly lost: 3,127,733 bytes in 23,293 blocks ==27270== still reachable: 345 bytes in 2 blocks ==27270== suppressed: 0 bytes in 0 blocks ==27270== ==27270== For counts of detected and suppressed errors, rerun with: -v ==27270== ERROR SUMMARY: 2348 errors from 2348 contexts (suppressed: 45 from 10) bradh [r1622] Minor API documentation fixes. 2009-12-19 jkerihuel [r1620] - Add a macro to mparse.pl to free both mapi_response and mem_ctx within OpenChange calls implementation. For the moment it is only implemented in OpenUserMailbox call. - Fix a memory leak in OpenUserMailbox: When the call failed (ecUnknownUser or ecUseEnryption) mapi_response was not free'd properly. [r1619] Minor indentation fix bradh [r1618] Add some missing newlines to reduce compilation noise. [r1617] Merge in Ryan Lepinski's Google Summer of Code work on exchange2ical. See the gsoc_exchange2ical branch history for commits. I also made a change to address ticket #216, and fixed a couple of typos. 2009-12-18 bradh [r1615] Minor updates to provisioning instructions. Thanks to Girish Venkatachalam for some suggestions. 2009-12-17 jkerihuel [r1611] Fix 'unused variable' warning on FreeBSD for exchange2mbox bradh [r1613] Add documentation for the --freebusy option. [r1612] Warning fix. 2009-12-16 jkerihuel [r1607] Fix segfaults in mapitest launched with exchange2010 [r1606] Fix compilation warnings bradh [r1609] Add missing -L directory specifier. Looks like this was tolerated by gnu ld, but not by opensolaris ld. Patch by Brian Lu (Sun). Thanks again. [r1608] Add documentation for new mapiprofile --encrypt option, introduced in r1602. [r1605] Fix a couple of typos that trash CFLAGS during build. 2009-12-15 jkerihuel [r1603] Automatically switch from connect to seal on the emsmdb pipe if ecNotEncrypted is returned by EcDoConnect. [r1602] - Make OpenChange natively working with Exchange 2010 - Factorize binding string construction code within a single function - the seal flag is mandatory to connect to Exchange 2010 - add seal boolean value to MAPI profile creation and mapi_profile structure - add --encrypt option to mapiprofile to set the seal value 2009-12-14 bradh [r1600] Add documentation for set_SPropTagArray(). Thanks to Brian Lu (Sun) for reporting. 2009-12-13 jkerihuel [r1598] This doesn't really fix ticket #149, but this should at least prevent from triggering segmentation fault when PR_EMAIL_ADDRESS_UNICODE doesn't have any cn=Recipients,cn= substring bradh [r1597] Trivial fix (newline) for warning on FreeBSD compiler. [r1596] Add support for manually creating the library symlinks for FreeBSD This is a somewhat speculative commit. Also fixes a couple of cosmetic whitespace issues. 2009-12-12 jkerihuel [r1594] Patch from Bryan Lu : Create symbol link only on Solaris This closes ticket #221 and makes it possible to compile openchange on Solaris. [r1593] Temporary bug fix in emsabp.c - If restrictions are NULL in emsabp_search, return MAPI_E_INVALID_OBJECT. This prevents from using invalid res pointer leading in segmentation fault. Initial fix proposed by Erik Hovland [r1592] Patch from Erik Hovland : fid might be null. Check it before dereferencing in the ocpf_folder_lookup() call. Similar behavior fixed in openchangeclient folder_lookup() function. [r1591] Patch from Erik Hovland : NotificationData 'could' be null. Check it before handing it to notification-callback(). This is important because eventually NotificationData will be dereferenced in the code path. [r1590] Patch from Kamen Mazdrashki : Fix MAPI Warning error codes [r1589] Patch from Kamen Mazdrashki : bugfix: Bugs in abp_tdb layer fixed. emsabp_tdb_traverse_MId() returns 'false' (i.e. not found) in most of the cases. [r1588] Patch from Kamen Mazdrashki : Implement NspiQueryRows() address list enumeration We can now run openchangeclient --userlist on OpenChange NSPI server and Outlook 2003 is able to query GAL. Note: the initial patch was proposing: "(&%s(showInAddressBook=*))", purportedSearch I replaced it with "%s", purportedSearch only since we don't have yet any showInAddressBook attribute in AD. [r1587] Patch from Kamen Mazdrashki : - Add server side implementation for NspiResolveNamesW - Refactor and split emsabp_verify_user in two functions A new function emsabp_get_account_info() implemented to fetch info about given user name. emsabp_verify_user() uses the above function check if authenticated account_name is valid mail account and if so, account_name is cached in emsabp context for future use [r1586] Patch from Kamen Mazdrashki : NspiGetProps() reimplemented to match [MS-NSPI] specification more closely. As a side-effect, emsabp_fetch_attrs() was altered to return MAPI_E_INVALID_BOOKMARK in case requested MId is not found. This way the function returns more meaningful error codes - if requested MId is not found this surely means InvalidBookmark rather than CorruptStore 2009-12-11 jkerihuel [r1584] Path from Kamen Mazdrashki : Propagate dwFlags for incoming call to get EntryIDs correctly. Actually we need to propagate dwFlags so that emsabp_query() function to be able to determine whether EphemeralEntryID or PermanentEntryID is requested to be built. [r1583] Patch from Kamen Mazdrashki : Implement PR_SEARCH_KEY attribute getter [r1582] Patch from Kamen Mazdrashki Add PR_ADDRTYPE_UNICODE and PR_EMS_AB_PROXY_ADDRESSES_UNICODE getters. [r1581] Patch from Kamen Mazdrashki : - Extend NspiDNToMId() to search in Configuration and Domain partitions. - NspiDNToMId() has been extended to cache returned data properly, i.e. DNs from Configuration partition are cached in ttb_ctx db, DNs from Domain partition are cached in in-memory db ttdb_ctx. [r1580] Patch from Kamen Mazdrashki : emsabp_set_PermanentEntryID() implements MS specification more closely. For reference: [MS-NSPI] and [MS-OXOABK] [r1579] - Replace emsabp_get_server_GUID with samdb_ntds_objectGUID Samba4 function. - Change the way we initially fetched server GUID Credits to Kamen Mazdrashki for initial patch and associated research: It turns out MS implementation for NSPI reads the guid from: "CN=NTDS Settings,CN=,CN=Servers,CN=Default-First-Site-Name,CN=Sites," entry. [r1578] Fix samdb_connect warning. Add function prototype to nsp,emsmdb header files. Change samdb_ctx from void * to ldb_context * bradh [r1577] Update docs to match those in mapiproxy doxygen docs. [r1576] Roll to the latest Samba4 version. This should have no noticeable difference over the Samba4 alpha9 release, but its nice to use the latest version, and it might make a difference on the server side. 2009-12-10 jkerihuel [r1575] Fix OpenChange server code and access to Samba4 databases. Starting with samba4-alpha9, there is no more configuration.ldb or users.ldb. All information can be accessed through a single access to SamDB and configuration records accessed through ldb_get_config_basedn. The following implementation has been tested and is working with: - mapiprofile profile creation - openchangeclient --mailbox - Outlook 2003 account creation - Outlook 2003 mailbox opening 2009-12-09 jkerihuel [r1573] Fix openchange user provisioning scripts [r1572] Forgot to commit this LDIF modifications for openchange provisioning 2009-12-08 jkerihuel [r1570] - Fix OpenChange server provisioning (exchange classes and attribute only) - Remove deprecated provisioning steps - OpenChange user provisioning is still broken at this point, but will be fixed in further revisions. 2009-12-02 jkerihuel [r1568] Fix a cast warning at compilation time for libmapi++ [r1567] - Update openchange libraries to 0.9: close trac ticket #165 - Propagate pkgconfig solution in trac ticket #94 to other libs [r1566] - Update openchange code to work with samba4-alpha9 release - Apply minor fix to ldb_wrap_connect (number of parameters) - Update mapiproxy code to handle new Samba4 assoc_group implementation properly - Update samba4 version script to match alpha9 and related git commit 2009-11-27 bradh [r1564] Ensure we get output if sqlite3 isn't found at configure time. Now outputs "no" instead of a blank. 2009-11-26 bradh [r1562] Fix attribution, per IRC discussion. 2009-11-25 bradh [r1560] Ensure API documentation gets generated for utilities functions. Some undocumented stuff in here to look at later. [r1559] Add additional mapidump functions for notifications This is a patch from Johnny Jacob (Novell), with unit tests and some extra checks by me. Maintains good test coverage for this file. 2009-11-23 bradh [r1557] Avoid use-after-free for the number of rows in the SRowSet. Resolves issue #212, which has the valgrind error. 2009-11-22 bradh [r1555] Add test for get_proptag_value(). [r1554] Minor cleanups for mapidump functions. - Add support for dumping property tags using PT_SHORT. - Modify the tag for PR_whatever_ERROR results to include the _ERROR bit - Minor format change for PT_BINARY (training colon) - Ensure PT_SYSTIME respects the seperator value (API change) - Add a conditional assert() using infrastructure introduced in r1553. Implement mapitest support for all of libmapi/mapidump.c Update openchangeclient for the API change. [r1553] Introduce a compile time definition that is set for SVN snapshot releases. The intent is to use this to protect assert() calls that indicate incomplete code. 2009-11-19 bradh [r1551] Improved Sun Studio compiler support. Patch by Brian Lu (Sun) - thanks again. [r1550] Revert inadvertent part from previous commit (r1549) [r1549] Add coverage testing support. ./configure now supports --enable-coverage, which builds with the right options to support gcov. Also adds a new makefile target ("coverage") that runs the required post-processing steps. Also added a test script that does a range of openchange related (client side) operations. This is useful for generating the test load for coverage checks. So the basic recipe here is 1. Add the --enable-coverage option at configure time. 2. Do a clean build 3. Install it, or otherwise ensure that coverage-enabled libs are used 4. generate the test load (e.g. run ./script/smoketest.sh) 5. "make coverage" 6. Inspect the results in ./covresults 2009-11-13 bradh [r1547] Add support for the SunStudio compiler. I previously special-cased the Intel C compiler, and relied on some ugly ordering requirements to ensure it all worked. This approach is cleaner, allowing options to be build up separately for each compiler, and for the C and C++ versions. Tested on Linux with all three compilers. 2009-11-09 bradh [r1545] Adding missing include. Ticket #220. Patch from Brian Lu (Sun). Thanks very much. 2009-11-07 bradh [r1543] Additional portability fixes for SunOS. Based on a patch (ticket #220) by Brian Lu (Sun). Thanks very much. I modified the patch to try to use autoconf where possible. Resolves ticket #220. [r1542] Remove MAP_FILE flag from mmap(). Looks like this is only required on really old unix systems (e.g. NetBSD prior to 1.0), which we probably won't ever support. Patch by Brian Lu (Sun) - thanks very much. Partly resolves ticket #220 - still need to handle the first patch. 2009-11-02 bradh [r1540] Fix build problem using Sun Studio compiler. Reported by Brian Lu (Sun), including a patch (Ticket #219) I slightly modified the patch, but nothing substantial. 2009-10-21 jkerihuel [r1538] Patches provided by raboof: - Ticket #213 deprecated include directive removal - Ticket #214 missing sanity check - Ticket #215 fix some DEBUG macro level for sain ouput 2009-10-19 bradh [r1536] spello fixes. 2009-10-18 clsk [r1534] Use mapi_profile_get_ldif_path to find ldif path when one is not given 2009-10-09 clsk [r1531] Added libmapi++ wrapper function for CreateProfileStore 2009-10-08 bradh [r1529] Update buildsystem to avoid using bash-specific (well, not sh-supported) += mechanism. Should allow FreeBSD to be supported. 2009-10-06 bradh [r1527] Alternative solution to ticket #179, provided by Alan Alvarez. This alternative avoids the need for the user to clean up the string returned by what(). Also includes a test case, which I've used to validate that the original (prior to r1524) code is faulty, and that both fixes (From Erik Hovland and from Alan Alvarez) deal with it. Resolves Ticket #179 (again). 2009-09-26 bradh [r1524] Make sure that the string given by what() can be used. Patch by Erik Hovland - thanks very much. Resolves ticket #179. [r1523] Ensure that the libmapi++ messages example works even if there is no PR_CONVERSATION_TOPIC (subject). jelmer [r1525] Add 'make dist'. 2009-09-20 bradh [r1521] Modify mapi_object_set_logon_id() to be able to report errors. Original patch by Erik Hovland, I made some changes. 2009-09-19 bradh [r1519] Implement RopReloadCachedInformation (0x10). Minor change to IDL (previously implemented), and adds implementaiton and mapitest code. Also editorial comment fix in some related mapitest stuff. Resolves ticket #186 [r1518] Implement GetValidAttachments ROP (0x52). Includes IDL, implementation and mapitest. mapitest also checks DeleteAttach behaviour, which I don't think we previously covered anywhere. Also includes a comment fix in the mapitest code. 2009-09-16 bradh [r1516] Whitespace cleanup. Patch by Erik Hovland 2009-09-14 bradh [r1514] Update the properties list. Patch from Girish Venkatachalam 2009-09-12 bradh [r1512] Update API to use MAPITAGS enum. [r1511] Update to match API change. [r1510] Use appropriate enum here. [r1509] Use enum for OpenEmbeddedMessage call. [r1508] Use enums where appropriate. [r1507] Update users of FindRow to use enums. [r1506] We are supposed to be returning a MAPISTATUS, so switch to using the OPENCHANGE_RETVAL_ERR macro here. [r1505] Use appropriate enums instead of int types. [r1504] Use enums instead of ints / hardcoded values. [r1503] Use enum types where appropriate. Fixes warnings from Intel C compiler. [r1502] Return a suitable MAPISTATUS if we can't talloc sufficient memory here. Fixes warning from Intel compiler. 2009-09-11 bradh [r1500] Only pass "-Wmissing-prototypes -Wstrict-prototypes" to CFLAGS, not to CXXFLAGS as well. Avoids g++ warnings. [r1499] Use enumerated type instead of integer. [r1498] Remove unreachable code. [r1497] Add "static" to avoid the need for additional declarations. Avoids noise from the intel c compiler. [r1496] Namespace variable in macro, so we don't get noise about shadowing a declaration of "i" [r1495] Help icc find comparison_fn_t. [r1494] Match up data types in argument and format string. [r1493] Remove unused variable, and change a name to avoid a "shadowed declaration" warning. 2009-09-10 bradh [r1491] Portability fixes for Intel C Compiler. Set CFLAGS early, otherwise AC_PROG_CC will set CFLAGS to "-O2 -g", which later has -O3 appended, which icc complains about. Check if we're really icc, and if so, turn off some warnings. Also turn off the "FORTIFY_SOURCE" define which causes problems with missing builtins. The warnings can (and should) be turned back on later, after we fix the current issues. 2009-09-02 bradh [r1489] Correct diagnostics messages. 2009-08-29 bradh [r1487] Remove explicit -Wstrict-aliasing=3 from command line. This is implied by gcc -Wall option, and icc produces nuisance warnings with it enabled (related to the -W option, not the code being compiled). [r1486] Fix some memory leaks and a bug in mapiprofile. I introduced the bug in r1467, there could be others that are similar. 2009-08-24 bradh [r1484] Minor rewording of description [r1483] Minor cleanups. 2009-08-18 bradh [r1477] Move initialisation up, to make sure everything is valid in the failure paths Patch by Erik Hovland. Thanks once again. This closes out ticket #178. [r1476] Remove unreachable code. Patch by Erik Hovland. Thanks again. This is the second part of ticket #177. This completes the checkin of that ticket. [r1475] Remove unreachable code. Patch by Erik Hovland. Thanks very much. This is the first part of ticket #177. 2009-08-17 bradh [r1473] Ensure that we check the result of the operation we just performed. Patch by Erik Hovland. Thanks very much for continuing to provide these. This is the third part of the patch in ticket #177. The first two parts are yet to be addressed. [r1472] Make sure that return values are checked and report that given status if there is an error. Patch from Erik Hovland, with minor additional changes. Thanks again for the patch. Resolves #176. [r1471] More cleanups of memory leaks for setting up database and an associated failure case. [r1468] fix leak in openchangeclient (as seen with valgrind of "openchangeclient -m") [r1467] Fix memory leak in mapiprofile utility 2009-08-14 bradh [r1465] Ensure that when we pass --profile to mapitest, that profile gets used instead of the default. Also fix a small memory leak when using --profile, and add some extra comments. [r1464] Fix error handling case. Patch from Erik Hovland - thanks very much. Resolves ticket #175. 2009-08-13 bradh [r1461] Remove unused enum values. [r1460] Remove unused code - no simple tests. 2009-08-09 bradh [r1454] Update the script version of samba4 to alpha8. 2009-08-05 jelmer [r1450] Add tevent to dependencies. 2009-08-03 bradh [r1448] Remove unused headers. Patch by Erik Hovland - thanks very much, Resolves ticket #164. [r1447] Apply patch from Erik Hovland, from ticket #162. From the original patch: "The problem is that when you do stat first w/ a file string anyone can exploit the time in between to do whatever they want with the file that the string is a name for. Instead, try to open straight away. Then fstat w/ the file descriptor." I think the patch is fine, although I didn't run the torture test. 2009-08-02 bradh [r1444] Avoid duplicate call to mapi_object_get_logon_id Based on a patch proposed by Erik Hovland, but adapted to follow the pattern used in OpenStream(). Resolves issue #163. [r1443] Applied modified version of patch from Erik Hovland to address unused variables. See http://trac.openchange.org/attachment/ticket/160/unused-values for the rationale. This resolves #160. My version removes variables (rather than commenting them out) since we don't need them now. I also updated the documentation for options that are no longer available The origin of the unused PR_FOLDER_CHILD_COUNT is a bit strange. It was introduced in r808 (to resolve #103), and looks like it might have been used for debugging - no impact on the code. I pulled out the whole lot. Tested with openchangeclient --fetchmail --folder="Sent Mail" and mapitest. [r1442] Use array form of delete (error identified with libmapixx-attach test, using valgrind). [r1441] Fix potentially unused variable. Tested with mapitest (even though nothing should have been affected) and with libmapixx-test and libmapixx-attach under valgrind. Patch is remaining part of http://trac.openchange.org/ticket/153 Thanks to Erik Hovland for the patch. 2009-07-29 bradh [r1433] Remove dead / unused code. See http://trac.openchange.org/ticket/152#comment:1 for rationale. Original patch by Erik Hovland - thanks again. [r1432] Update test case to reflect new behaviour 2009-07-18 jelmer [r1423] Link libmapistore against tdb. [r1422] Update copies of config.guess and config.sub. [r1421] Link libmapiproxy against tdb. [r1420] Declare a SOVERSION for libmapistore. [r1419] Use LDFLAGS when linking exchange2ical. [r1418] Create symlink for libmapistore. [r1417] Link libmapi against tevent since it uses tevent_context_init, link ndr_exchange.po into libmapiserver since it uses some ndr_push_* symbols. [r1416] Fix typo in variable name. 2009-06-21 jelmer [r1365] Fix typo in Python variable name. [r1364] Keep separate flags for libraries around in config.mk. [r1362] Link libmapiserver against all libraries. 2009-06-18 jkerihuel [r1357] Add some PidTag* mapping involved with Recipients and RecipientRow 2009-05-28 jkerihuel [r1350] Patch from Erik Hovland : Initializes variables to make sure they aren't used uninitialized. Ref ticket #153 [r1349] - Add sanity check on mapitest_common creation routines within mapitest modules - Apply patch from Erik Hovland : check return types. [r1348] Patch From Erik Hovland In torture_rpc_mapi_sendattach a call is made to the system function read at line 199. The return value of read is assigned to read_size, which happens to be of unsigned type. So if read returns -1 (which it can) it will not be noticed. The patch changes the type to ssize_t (signed) and checks for -1 as well as zero to break out of the loop. Ref ticket #156 [r1347] Patch from Erik Hovland 1. In mapiproxy, the directory handle dir will be leaked after it is done being used. 2. exchange2mbox main() should use exit at line 785 just like all of the other error paths so that we don't leak anything ref. ticket #157 [r1346] Patch from Erik Hovland Adds a #include config.h to suppress compiler warnings for vasprintf [r1345] Patch from Erik Hovland : Make sure pointers are valid before dereferencing 1. lpProps 'might' be null 2. Add folder to variables checked before moving on. 4. Check nprop->guid before giving to strcmp, two times 6. Check definition before handing to strlen (which will dereference it) Reworked this one to include talloc_free 7. Check MessageClass? before handing to strncasecmp 8. Check backend, return if null. 10. Don't print out anything if lpProp is null 11. Check attach_size before dereferencing 2009-05-25 jkerihuel [r1343] Fix pull structure for QueryRows reply when no RowData is available 2009-05-07 jkerihuel [r1341] - Add preliminary IDL support for Exchange 2003/2007 EMSMDB RPC calls: * EcDoConnectEx * EcDoRpcExt2 - Add LZxpress and XorMagic support to EcDoRpcExt2 request/reply blob. However it doesn't yet support Chained calls. - Add AuxInfo/AUX_HEADER structures and IDL - Refactor mapi_request and mapi_response: move obfuscate_data calls up to the EcDoRpc layer 2009-04-27 jkerihuel [r1339] Patch from Paolo Abeni : call ProcessNotification() after each successful emsmdb_transaction() in all the libmapi calls. [r1338] Patch from Paolo Abeni : Mapi notifications can occurs inside any emsmdb_transaction; currently only the notification send by the server inside the emsmdb_transaction_null() in MonitorNotification() are parsed/processed/delivered to the appropriate callback. To be able to process all the received notifications, the notification structure must comprise the private data to be passed to the notification callback, since in the average mapi call this data is not available. This patch modifies the Subscribe() call and the mapi_notification structure, adding the private_data parameter (also the related Subscribe() calls are update) and add a libmapi call (DispatchNotifications) to force the notification dispatching in a [quite] non blocking way 2009-04-26 jkerihuel [r1336] Patch from Paolo Abeni : ProcessNotification() is ignoring the handle value contained into the processed notifications. This means that if many Subscribe() calls are performed on different folders but with the same flags, all the registered callback are [incorrectly] signaled with each received notification. The attached patch match the handler contained into the notification message against the notification object handle to avoid such replication. 2009-04-23 jkerihuel [r1331] Make sure delayed authenication is not called when server mode is enabled bradh [r1333] Update property list to reflect current OAB props. This deletes a few incompatible properties. Cannot determine the history of the PR_MAILBEAT_ props. [r1332] Fix display of Folder ID values (one is filled with ., the other is prefixed with .16 instead of being filled. Also remove duplicate close() of file descriptor. [r1330] Typo fix. 2009-04-22 bradh [r1328] Warning fix. 2009-04-21 bradh [r1326] Implement RopTransportNewMail (0x51). Includes IDL, libmapi implementation, and basic mapitest coverage. Also fix a few doxygen / formatting things. 2009-04-19 jkerihuel [r1324] - Add Redirect buffer support for OpenMsgStore and OpenPublicFolder. This commit fixes the ecWrongServer (0x478) error users encounter while running openchange based software in a clustered Exchange environment. 2009-04-18 bradh [r1322] Implement RopCloneStream (0x3b) and RopWriteAndCommitStream (0x90). Includes IDL, implementation and mapitest tests. 2009-04-17 bradh [r1320] Fix Search notifications. MS concurred that the docs are wrong. Patch by Paolo Abeni - thanks very much for the investigation and the patch. [r1319] Update GetStoreState documentation. [r1318] Implement RopSetPropertiesNoReplicate (0x79). IDL was already done. mapitest for DeletePropertiesNoReplicate was reused / updated. 2009-04-16 bradh [r1316] Implement (IDL, libmapi, mapitest) RopHardDeleteMessagesAndSubfolders (0x92) Also fix some bugs in mapitest common code, and an incorrect sanity check in CreateFolder(). 2009-04-15 bradh [r1314] Implement RopHardDeleteMessages (0x91). Includes IDL, implementation and mapitest. jelmer [r1313] Ignore generated property file. 2009-04-13 bradh [r1311] Add PT_ACTIONS to list of data types. Not fully/correctly handled yet. 2009-04-12 jkerihuel [r1309] - Add dcerpc_mapiproxy:delegated_auth option This option delays mapiproxy-remote server authentication when the client sends the first request on a given pipe. This is mandatory in order to have delegated credentials to work. - Factor remote connection into mapiproxy_op_connect 2009-04-11 bradh [r1307] Add session state to the notification. Patch by Paolo Abeni - thanks for the investigation and fix. Also remove a stray debug message. [r1306] Add a new mapitest suite for OXCNOTIF (Core Notifications). Add a test to the OXCNOTIF suite based on test case provided by Paolo Abeni. 2009-04-10 bradh [r1304] Update IDL for ModifyRules (0x41) and add IDL for UpdateDeferredActionMessages (0x57). This is a checkpoint commit, pending further investigation into how we handle PtypRestriction and PtypRuleAction. 2009-04-08 bradh [r1302] Mapitest cleanups - remove GetLastError(), and other minor edits. [r1301] Implement LockRegionStream and UnlockRegionStream ROPs. These appear to be a relatively recent addition to the documentation, possibly only used in Exchange 2007 / Outlook 2007. This is complete except for testing of whether the locking actually works. 2009-04-06 jkerihuel [r1299] Use parent folder full replica ID: 2 bytes instead of 1 byte [r1297] - Add Implementation for Logon redirect response buffer in OpenChange IDL - Update libmapiserver size calculation routine for Logon call to handle this case 2009-03-30 jkerihuel [r1293] Add session and logon_id to the list of parameters to copy between objects. This patch fixes a problem in openchangeclient when using the --folder parameter. bradh [r1294] Remove code relating to free'ing the bookmark returned by SetCollapseState. Initial investigations with MS lead me to believe that you can't free that resource. May be more work in this area as investigation continues. 2009-03-25 jkerihuel [r1291] Fix memory leaks for functions relying on pull_emsmdb_property 2009-03-16 jkerihuel [r1289] Fix emsabp valgrind errors 2009-03-12 jkerihuel [r1287] Make it possible to specify a version number for release different from major/minor from configure.ac 2009-03-11 jkerihuel [r1285] Make it possible to open and control up to 255 mailboxes within a single MAPI session. It implements an internal management of a logon_id array at session level + enable transparent transport/copy of current logon_id value among MAPI calls + finally transparently free the logon_id value when the store object (PF or mailbox) is being released. [r1284] - Retrieve recipients from OpenEmbeddedMessage reply - Test the implementation in mapitest - Avoid potential memory leak: steal context for returned ulPropTags. 2009-03-08 jkerihuel [r1282] Be more tolerant with Logon request flags [r1281] Set retval to MAPI_E_INVALID_BOOKMARK rather than returning. This case still needs to be fixed though. [r1280] Delete debug message [r1279] Create a default GetProps reply on error 2009-03-06 jkerihuel [r1277] Fix retval problem in libmapi/nspi.c for GetIDsFromNames. Function returns MAPI_E_SUCCESS, but errno is set to 0x0000000b. Set errno to retval to work around this problem. NSPI-GETIDSFROMNAMES [r1276] OXCPRPT-NAME-ID mapitest now passes: The QueryNamedProperties ecMemory retval has been worked-around by setting QueryFlags to NoStrings to limite the results scope. This means the MNID_STRING case is not fully checked anymore. We should maybe add additional tests to do full coverage. [r1275] Fix GetNamesFromIDs IDL and implementation. Note: We should probably update the function prototype so it takes a mapi_SPropTagArray rather than a single property. bradh [r1274] Protect against bad results from GetGALTable(). Resolves ticket #142 2009-03-04 jkerihuel [r1272] Patch from Paolo Abeni: Add sanity check to Subscribe and prevent applications from crashing if notify context is uninitialized. 2009-03-03 jkerihuel [r1270] Ensure NSPI server functions have a valid dcesrv_handle [r1269] Add quick/additional configuration information on how to setup openchange server [r1268] This commit adds a retval check on private data retrieval function and prevents QueryPosition from causing a segfault when parent object is meant to come from GetContentsTable. [r1267] - Fix NspiGetMatches server reply when specified username is invalid and search fails. - Make use of talloc hierarchy for NspiGetProps properties fetch + fix a talloc_free bug leading to segfault on failure. [r1265] Prevent from registering same mapistore backend multiple times bradh [r1266] Howto updates. 2009-03-02 jkerihuel [r1261] Add skeleton for GetRulesTable [r1258] - return MAPI_E_SUCCESS when QueryRows reply count is 0 - Move Reminders from IPM Subtree to Mailbox root [r1257] - Add QueryPosition implementation - Move from offset to numerator/denominator couple for table objects Outlook now opens properly using openchange server and display the mailbox folder list with icons ;-) [r1256] - Add skeletons for Restrict, SortTable, FindRow calls - Introduce emsmdb provider table object - Add preliminary table implementation for system/special folders - Add preliminary implementation of GetHierarchyTable, SetColumns and QueryRows - Improve creation of GetProps reply blob for Mailbox folder - Fix bug in EcRRegisterPushNotification when associated handle is invalid - Remove some usage of ldb_filter and use format string instead - Update libmapiserver sanity checks and look for error_code != MAPI_E_SUCCESS so openchange server is able to return failed replies to MAPI clients - Introduce flaggedPropertyRows in libmapiserver_push_property (needed by QueryRows) This commit makes openchange server work with "openchangeclient --mailbox" ;-) Still preliminary but anyway worthwhile enough to be mentioned ... [r1255] - Add a function to count subfolders of a container - Add a function to wrap MAPI tables over openchangedb - Factorize code used to fetch property values from LDB records [r1254] - Add default properties to folder records while provisioning mailbox - Add few more mapping for PR_* to PidTag - Add a new MAPI property to the list [r1253] Avoid openchangeclient --mailbox to segfault when run vs openchange server bradh [r1263] Remove some ldb_filters, and just use varargs into ldb_search [r1262] warning fix for 64-bit arch. [r1260] Revert previous commit. [r1259] Experimental commit to fix build problems resulting from property changes. 2009-03-01 jkerihuel [r1251] - Add PidTagDisplayName property to Mailbox object - Add PidTagParentFolderId to all system/special folders [r1250] - handles array depends if a valid mapi_repl exists. This commit fixes the destructor semantics. - Fix a mapitest segfault encountered while run vs openchange server - Return 1 in SRowSet_propcpy if an error was encountered. [r1249] Fix libmapi stack segfault when MAPI calls returns with error_code different from MAPI_E_SUCCESS. [r1248] Do not process NSPI request if we can't find the handle [r1247] Remove unnecessary ldb_filter parameter and replace it with ldb_search format string. 2009-02-28 jkerihuel [r1245] - GetPropertyIdsFromNames skeleton added [r1244] - Fix how Release replies are handled in mapi_repl[] array - Remove Release size calculation - Fix QueryRows size in libmapiserver - Add a dummy/skeleton GetPropertiesSpecific function for mapistore objects. - GetHierarchyTable skeleton added - SetProperties skeleton added - CreateMessage skeleton added - SaveChangesMessage skeleton added 2009-02-27 jkerihuel [r1241] Set mapi_response to NULL upon init ... just to get sure [r1240] Fix MAPIUninitialize segfault bradh [r1242] Warning fix. 2009-02-26 jkerihuel [r1238] - Add skeleton for GetContentsTable Rop - Add skeleton for some [MS-OXCTABL] Rops: SetColumns, SortTable, QueryRows, SeekRows - Add libmapiserver size calculation functions for all the above - Ensure we only set objects parameter if it exists - Return when dcesrv handle is not available [r1236] Merge s4-alpha7 branch back into trunk 2009-02-25 jkerihuel [r1227] - Add several PidTag to openchange.ldb folders - Add provisioning convenient function which adds attribute/value pair to a given folder record - Replace existing special folders reference within Inbox with PidTagIpm* tags - Add new PidTag values to mapi-properties - Add a function to libmapiproxy to build a folder EntryID as described in MS-OXODATA - Add a function which builds special properties for openchangedb folders - Add PT_BOOLEAN case to openchangedb folder get property function - Keep a reference to the mailbox username within emsmdb provider context - Create and return a handle in RegisterNotification [r1226] Improve PT_I8 dump [r1225] Wrong MessageClass size calculation fixed jelmer [r1229] Remove duplicate _GNU_SOURCE definition (already specified by Makefile) [r1228] Ignore new binary and trial output. 2009-02-24 jkerihuel [r1223] - Fix systemfolder value for System/Special folders - Add GetProps support to System/Special folders [r1222] Add auto-generated parser to the ignore list [r1221] - Add auto-generated parser for MAPI property to PidTag mapping - Add some PidTag values - Add a lookup and get property functions on system folders [r1220] - tuple SystemIdx in the dictionnary to workaround the ordering problem - Add ParentFolderId attribute to System Folders [r1217] - Add creation of "Special folders" to mailbox provisioning - Rename fid attribute to PidTagFolderId - Rename name attribute to PidTagDisplayName - Rename ExplicitContainerClass to PidTagContainerClass [r1216] Fix GlobalCount increment [r1215] Fix mailbox provisioning bradh [r1219] Add test for FILETIME structure. [r1218] Update docs for mapiproxy entry. jelmer [r1214] Fix handling of fids. 2009-02-23 jkerihuel [r1208] - Fix openchangedb mailbox hierarchy and introduces subfolders as described in [MS-OXOFOLDS] specifications. - Update openchangedb API to reflect this change. [r1207] Rename private mailbox folder "non_ipm_subtree" to "mailbox_root" to fit with MS-OXOFOLDS specifications. [r1206] - Add provisioning code for GetReceiveFolder defaults - Check if mapistore content repository already exists for the user - Make mailbox creation verbose jelmer [r1213] Fix parentfolder reference. [r1212] Fix syntax error. [r1211] Use recursive call to create folders. [r1210] Simplify list iteration, PEP8, avoid using string exceptions. 2009-02-22 jkerihuel [r1204] Fix 'dereferencing type-punned pointer' warnings [r1203] - Add strict-aliasing compiler flags - Fix format string warnings on ubuntu buildbot [r1202] - Add _FORTIFY_SOURCE=2 to the compiler CFLAGS - Fix warnings introduced by -D_FORTIFY_SOURCE bradh [r1201] I might have been a bit hasty with that last commit... Need sqlite3. [r1200] Try harder to find sqlite3. Seems to be in sqlite.pc on Ubuntu. [r1198] Fix warning on 64-bit arch. 2009-02-21 jkerihuel [r1197] - Add RopGetReceiveFolder (0x27) implementation The function respects should respect the semantics and behavior as described in MS-OXCSTOR specifications. However the python's code modification required: add ExplicitMessageClass attributes to folder records is not yet effective. - Add GetReceiveFolder size calculation function to libmapiserver - Add a function to openchangedb API to retrieve the FID/ExplicitMessageClass couple for a given SystemFolder within user's mailbox. [r1196] - Provision scripts: create a mapistore default storage space within ${private}/mapistore/${username} - Provision scripts: add default sqlite:// mapistore URI for system folders - Add mapistore context initialization when calling OpenFolder on SystemFolder - Add mapistore context release for folders in emsmdbp object destructor [r1195] Factorize emsmdbp objects Add emsmdbp_object generic talloc destructor bradh [r1194] Add test for PT_MV_LONG. [r1193] Add tests for PT_I8 and PT_BINARY [r1192] Fix warning about no newline at end of file. Remove most recently added tests from "to be done" list. [r1191] Add a couple more mapi_SPropValue tests. 2009-02-19 jkerihuel [r1189] - Initialize mapistore within emsmdb provider context - Add destructors for MAPI handles and mapistore contexts - Remove emsmdbp_ctx memory context structure member and allocate directly with emsmdbp_ctx [r1188] I don't see any good reason why we would pad MAPI replies with some bytes. I guess it comes from some prehistoric openchange code. [r1187] Fix systemfolder assignment depending on IsSystemFolder value [r1186] - Initialize OpenFolder server reply [r1185] - Wrap TDB connections to mapistore (code from samba4) so multiple instances can open read/write to the same TDB database - Remove static id_mapping_context (replaced with tdb_wrap calls) - Update mapistore linkage rules so mapistore can be used with exchange_emsmdb server - Link mapistore with exchange_emsmdb [r1183] Fix aclocal warning for AC_DEFINE comparison_fn_t [r1182] Remove useless GetProfilePtr from IProfAdmin interface Closes trac ticket #131 [r1181] Add missing script - prevent configure from generating warning vs missing file. [r1180] Remove stamp-h1 file during distclean and add it to the ignore list. [r1179] - Add server-side GetReceiveFolder (0x27) skeleton [r1178] Work around the comparison_fn_t redefinition problem between libocpf and ndr.h [r1177] FreeBSD doesn't have time.h daylight global variable bradh [r1184] start testing mapi_SPropValue_array. This also tests some underlying functions. 2009-02-18 jkerihuel [r1175] Add comparison_fn_t support to ndr.h This was the latest change require to make openchange compiles under FreeBSD = samba4/openchange FreeBSD support completed = 2009-02-17 jkerihuel [r1173] Remove duplicated post_install call [r1172] Add a post_install operation on FreeBSD Make sure pidl is installed properly. [r1171] Patch samba4 tarball so it compiles properly on FreeBSD 7.0 Note: this is a dirty hack which needs to be removed in the future [r1170] Install Samba4 correctly although user's PKG_CONFIG_PATH env variable may not be adjusted properly. [r1169] Avoid download samba4 release tarball if already available in current directory. [r1168] - Add test for comparison_fn_t in configure.ac - libocpf auto-generated files include stdlib.h and prevent from having the proper comparison_fn_t typedef. This commit works around this problem and define comparison_fn_t within a private header. [r1165] getline is a stdio GNU_SOURCE extension not available under FreeBSD. Use fgetln instead when it is compiled on this OS. [r1164] FreeBSD doesn't define sighandler_t but sig_t [r1163] Replace open() call with O_DIRECTORY flag (Linux specific) with opendir [r1162] - Add non-default search path /usr/local/{include,lib} to CFLAGS and LDFLAGS when compiling OpenChange under FreeBSD - Make use of LDFLAGS while compiling openchange tools bradh [r1167] A few improvements for property handling. Also add unit tests to verify behaviour is correct. The implementation for the FlatUID (GUID) structure appears broken. Perhaps I'm not using it correctly. [r1166] Microsoft confirmed the LCID is wrong in the spec, and will be updated in the next rev. 2009-02-16 jkerihuel [r1160] Check for Flex version < 2.5.35 Make sure users can define the FLEX environment variable [r1159] Add automake scripts for AC_CANONICAL_HOST support Needed for FreeBSD OS detection in configure.ac 2009-02-14 bradh [r1153] Fix warnings from lexer output. [r1152] Fixes for warnings on 64-bit architectures. [r1151] Fix warning on 64-bit architecture. jelmer [r1157] Add some more tests for openchange.mailbox. [r1156] Fix creation of new mailbox after provision. [r1155] Always use the same URL when connecting to openchangedb. [r1154] Fix arguments to openchangedb_provision. 2009-02-13 jkerihuel [r1149] Fix libmapi 64-bit machine cast warnings mentioned in Brad's devel email bradh [r1148] Warning fix for 64-bit arch. 2009-02-12 jkerihuel [r1146] Add doxygen definition for RopRelease [r1145] - Add server-side skeleton implementation for RopOpenFolder and RopRegisterNotification - Add preliminary size calculation functions in libmapiserver for the 2 calls above - Fix size bug for serialized requests - Add skeleton case for RopGetPropertiesSpecific on SystemFolders - Make sure the GetProps reply blob is initialized whatever happen - Add a skeleton emsmdbp folder object init function 2009-02-11 jkerihuel [r1143] Remove debug strings for GetPropertiesSpecific Rop [r1142] Enable verbose output in server mode - useful during development [r1141] Implement preliminary server-side RopGetPropertiesSpecific call for mailbox object. [r1140] - Fix GetProps blob for PT_BINARY: use SBinary_short instead of Binary_r - Fix GetProps size: subcontext is not added to the fixed size calculation [r1133] - GetPropsSpecific size calculation function added to libmapiserver - Function to create a GetProps reply property blob added to libmapiserver jelmer [r1139] Add tests for provisioning. [r1138] Several cleanups in python code, add tests for schema use. [r1137] Don't clear PYTHONPATH override. [r1136] Remove unused imports, add extra tests. [r1135] Use member variable for Ldb, rather than subclassing. [r1134] Remove print statements to avoid cluttering test output. [r1130] Add simple and incomplete testcase for OpenChangeDB. [r1129] Move wipe of data to mailbox.py, simplify arguments to add_root_mailbox. [r1128] Move adding a server to mailbox.py. [r1127] Move ldif from oc_provision_openchange.ldif into Python. [r1126] Stop providing setup_path to OpenChangeDB, as it's no longer used. [r1125] Avoid using separate LDIF file when creating folder mailboxes. [r1124] Avoid using separate LDIF file when creating mailboxes. [r1123] Avoid passing full names object. [r1122] Add check-python target. 2009-02-10 jelmer [r1120] fix openchange_newuser. [r1119] Use SamDB for actual SAM databases, Ldb otherwise. [r1118] Remove unused parameters, don't make parameters optional if they are mandatory. [r1117] remove unused parameters. [r1116] make mailbox object-oriented, remove creds/lp parameters. [r1115] Fix OpenChangeDB syntax. 2009-02-09 jkerihuel [r1113] - Add a systemfolder member to the MAPI handle structure to make a difference between objects managed by mapistore and those stored within openchange.ldb (root mailbox folders). - Add opaque functions to set/get private_data and systemfolder to the MAPI handles API. [r1112] Minor doxygen fix/improvement [r1109] Add libmapistore object files to the ignore list [r1108] - Add a very preliminary and light libmapistore implementation. mapistore only supplies init/release and add/del backend contexts. This commit also includes a sqlite3 backend skeleton (open/close sqlite db) - A temporary mapistore testing tool has been added locally for implementation checks. jelmer [r1111] Use convenience function for connecting to openchange.ldb. [r1110] Use standard LDB functions - openchange.ldb is not a SAM database. 2009-02-08 bradh [r1106] Implement support the SUMMARY language tag. [r1105] Initial checking of libical based exchange2ical code. This has a long way to go, so think of this as more of a checkpoint than a release. See http://sourceforge.net/projects/freeassociation/ for the library, or see if your distro has a package. [r1104] Reduce warnings. [r1103] Add missing parameter to API documentation. Resolves ticket #130. [r1102] API documentation fixes for OpenEmbeddedMessage() [r1101] Implement OpenEmbeddedMessage ROP (0x46). Resolves Ticket #93 [r1100] Factor out message creation and message fill actions. Also remove GetLastError() where appropriate. [r1099] Add some API documentation. 2009-02-07 jkerihuel [r1097] Update openchangepfadmin description Fix tool relying on libmapiadmin bradh [r1096] Minor code tweak. Fix ticket #132. [r1095] Add more explanation for README [r1094] Reimplement RTF decompression. Add unit tests from MS-OXRTFCP. [r1093] Fix warnings in example code [r1092] Add description for libmapiadmin [r1091] Add description for libmapi / libmapi++ [r1090] Start on the directory descriptions. [r1089] doc/ pointers 2009-02-06 bradh [r1088] Add overview. Extracted from API docs. [r1087] Additional docs. [r1084] Outline of README file. (also using this to test buildbot without changing real code) 2009-02-05 jkerihuel [r1081] Add Version field - avoid breaking pkg-config --list-all [r1080] Fix warnings (gcc 4.2.4) jelmer [r1083] Use variable for package version rather than hardcoding it. 2009-02-04 jkerihuel [r1078] Fix pc file libs 2009-02-03 jkerihuel [r1070] - Add an implementation of the MAPI handles management API. The API internally uses an in-memory TDB database to keep object hierarchy and a doubled chained list to associate private data to handles. The API currently provides add, search and delete facilities. Note that while untested, the delete operation is designed to recursively delete children of the 'meant to be deleted' handle. Finally the API doesn't remove TDB records but mark them as free so they can be reused across MAPI session and prevent from handle counter growing indefinitely. - Add a preliminary implementation of the Release call - Add Release size calculation to libmapiserver - Update EMSMDB provider to use MAPI handles API bradh [r1075] Minor api documentation fix. [r1074] Minor API docs fix. [r1073] Minor API docs fix. [r1072] Minor API docs tweak. [r1071] Token commit of tiny API docs fix. jelmer [r1076] Look for GNU make harder (gmake on BSDs). 2009-02-02 jkerihuel [r1068] - Add preliminary EMSMDB provider implementation for RopLogon (0xFE) - Add common routines for OpenChange LDB context init and search within libmapiproxy - Add libmapiserver skeleton with size calculation routine for RopLogon - Change DSO linking dependencies for mapiproxy shared libraries - Propagate _GNU_SOURCE change from libmapi.h to mapiproxy 2009-02-01 jkerihuel [r1067] Remove .po and .o objects within libmapiproxy subdirectory [r1066] Move libmapiproxy into its own directory and rebase mapiproxy headers accordingly Fix make uninstall for AD and profiles directories [r1064] doxygen typo fix [r1063] Add python code and ldif files needed to create and populate the experimental openchange dispatcher database. [r1062] Add 5-Minute configuration documentation for OpenChange server mode [r1061] - Rebase ldif files into sub directories: * AD for OpenChange AD modifications * profiles for OpenChange IProfAdmin interface - Makes it easier figuring out LDIF files scope - Prepare setup folder for LDIF openchangedb files integration - Update install/uninstall Makefile rules for ldif files and make sure everything got removed bradh [r1060] Add forgotten file. [r1059] Add support for short language names (e.g. en-AU) for lcid. 2009-01-31 jkerihuel [r1057] Delete deprecated libmapi setup Perl script bradh [r1056] Add summary report for tests. [r1055] Make mapitest return the number of failed tests. 2009-01-29 jkerihuel [r1052] - Add pkg-config pc file for libmapiproxy - Improve mapiproxy rules so libmapiproxy gets installed and cleaned properly [r1051] Free memory allocated by the fake subcontext in ndr_pull_mapi_response. This fix saves 300kb of memory and removes 700 loss records while valgrinding mapitest. [r1050] Fix segfault - Add sanity check - when SPropTagArray is NULL in NspiQueryRows request [r1048] Fix openchange_newuser name typo [r1047] Fix server provisioning command line examples [r1045] Fix several libmapi leaks. mapi_response was allocated using emsmdb_ctx->mem_ctx memory context and was not free'd when libmapi function released their context. Furthermore we need to release mapi_response->mapi_repl and mapi_response->handles which are now automatically free'd when mapi_response destructor is called. However note that this fix is not perfect: mapi_response memory is not free'd properly when calls exit with an error. This commit also make use of talloc_steal where necessary to keep returned fields allocated. 2009-01-28 jkerihuel [r1040] Use named context rather than autofree [r1039] Fix memory leak in emsmdb.c: Use a temporary memory context for request and length allocation in emsmdb_transaction. - This removes 827 loss records and approximatively saves 41kb of memory while valgrinding mapitest [r1038] - Fix memory leak in GetDefaultProfile and GetProfileTable. - Save from 10 loss records while valgrinding mapitest - Developers are now responsible from freeing the GetDefaultProfile string the function allocates. - Apply changes to all openchange tools. [r1037] Add blackbox subunit tests for mapiprofile tool bradh [r1043] One more trivial fix. [r1042] Typo fixes. (Yep, more trivial changes) [r1041] Fix incorrect LCID for en-CA. (OK, its token, I admit). jelmer [r1044] Don't define _GNU_SOURCE unconditionally. 2009-01-27 jkerihuel [r1036] Prevent mapiproxy from multiple init and modules/server register when an smb client connect to the server (e.g. windows browser or smbclient) 2009-01-26 bradh [r1033] According to [MS-OXOCAL] Section 2.2.1.44.1 "RecurrencePattern Structure", a monthly recurrence also has a Day specific parameter. Add that here. jelmer [r1035] Simply run autogen.sh rather than replicating it inside the Makefile. [r1034] need to run aclocal before autoconf for the pkg-config macros. 2009-01-25 jkerihuel [r1032] Use a autofree context rather than a named one - makes sure memory is free'd when we exit the test. Saves from 4 loss records while valgrind'ing mapitest. [r1031] Use temporary memory context for EcDoConnect. Saves from 20 loss records when valgrind'ing mapitest. [r1030] Free PropertyProblem structures returned by CopyTo. [r1029] Replace deprecated talloc_init calls with talloc_named This commit removes some valgrind loss records talloc_init was responsible for [r1028] Free everything Free everything when running mapitest --list-all. Valgrind however shows a loss record related to talloc_init ... bradh [r1027] Minor Intel C compiler warning fixes. [r1026] Minor apidocs cleanups. 2009-01-24 jkerihuel [r1024] Use double pointer for lp_ctx in GetLoadparmContext assessor [r1023] Fix memory leak in utf8 lexer. [r1022] - Remove custom iconv_convenience from pull_emsmdb_property and use lp_iconv_convenience on loadparm_context argument instead. - Change OpenChange libmapi API to reflect this change - Introduce a lp_ctx assessor in libmapi/cdo_mapi.c (mostly for mapitest modules). libmapi/mapiproxy developers should never have to make use of it. - Remove pointless duplicated call to lp_load_default in MAPIInitialize. [r1021] Free lpProps returned by GetProps, Fix context error in valgrind [r1020] - Fix memory leak bug: release ndr context in pull_emsmdb_property before returning - Terminate SPropValue and SPropTagArray using an element with ulPropTag = 0. This prevent from "invalid read size of 4" messages from valgrind and remove context errors. jelmer [r1025] Don't install mapiproxy if python wasn't found, since we wouldn't know where to install the provisioning scripts or be able to use them. 2009-01-20 jkerihuel [r1018] Merge libmapi-0.8 branch r1015 to 1017 into trunk [r1015] ** Start libmapi-0.9 COCHRANE development ** [r1014] Merge libmapi-0.8 branch changes into trunk 2009-01-18 jkerihuel [r1007] Add python install/uninstall rules to provision rather than mapiproxy-servers [r1006] - Remove server Makefile rules - Remove dead code Note: server and providers have been merged within mapiproxy, so there is no reason keeping this deprecated code. 2009-01-17 jkerihuel [r1005] Undoing change committed in r1004. [r1004] Use .po files instead of .o files for openchange tools [r1003] Add --version to openchange tools [r1002] Add COPYING file with GPLv3 license 2009-01-16 jkerihuel [r1001] - Add RenameProfile function to IProfAdmin API - Remove pointless CopyProfile from IProfAdmin API - Add --rename option to mapiprofile tool - Update man page to reflect this addition (close trac ticket #124) [r1000] Fix libmapi from crashing when mapi_repl is NULL. [r999] Update Samba4 git rev to fix the charcnv segfault met in openchange tools jelmer [r998] Try to find the Samba python modules if they're not installed in the system python directory. 2009-01-15 jkerihuel [r997] - Fix Subscribe semantic bug and add WholeStore boolean parameter - propagate API change to tools/torture callers [r996] - Add assessor functions to set dumpdata and debug level in libmapi (SetMAPIDumpData and SetMAPIDebugLevel) - OpenChange tools modified to use these function rather than set these parameters on their own [r995] - Fix --debuglevel segfault in openchange tools - Enable logging to stdout in MAPIInitialize 2009-01-14 jkerihuel [r994] * OpenChange libmapi function now returns MAPI error instead of -1 - use OPENCHANGE_RETVAL_IF instead of MAPI_RETVAL_IF - add doxygen documentation for some missing functions/files [r993] - Missed this event->tevent change in previous commit [r992] - Update openchange to use latest Samba4 master git rev (990491d) - Fix references to tevent_context structures - Fix iconv_convenience init in MAPIInitialize - Remove errorchecks mapitest module warning jelmer [r991] Use tevent_context_init. [r990] Ignore binaries. 2009-01-13 jkerihuel [r989] Some Exchange server (stand-alone) return MAPI_E_LOGON_FAILED when setting EssDN with username rather than using profile's mailbox string directly. This commit fixes the bug. [r988] - Add EcDoConnect and EcDoDisconnect preliminary support to dcesrv_exchange_emsmdb.c - Add internal session management mechanism to EMSMDB server - Add init and unbind modules function to EMSMDB server - Add emsmdbp_context and session to dcesrv_exchange_emsmdb.h bradh [r987] Fix valgrind errors caused by using free'd memory. 2009-01-12 jkerihuel [r986] Implement 'mapiproxy downgrade' behavior in EMSMDB server and force Outlook to use EcDoConnect (0x0) and EcDoRpc (0x2) rather than 0xA and 0xB (opnums using LZ based compression). [r985] - Add Preliminary implementation for RfrGetFQDNFromLegacyDN DS RFR server 2009-01-11 jkerihuel [r984] - Preliminary implementation of NspiGetProps NSPI server function - Makes sure emsabp_tdb_traverse_MId uses the correct dbuf size - Use correct ldb context (users or conf) depending on where MId is located (on-memory or on-disk) - Add PR_EMS_AB_NETWORK_ADDRESS mapping to emsabp_property *** Outlook is now able to create MAPI profile using OpenChange Server ONLY! *** [r983] - Preliminary implementation of NspiDNToMId NSPI server function - Add emsabp_search_legacyExchangeDN to search for a record given its legacyExchangeDN attribute. [r982] - Preliminary implementation of NspiQueryRows NSPI server function added - fix a bug in the MID TDB traversal routine: cut dptr to dsize length rather assuming it is NULL terminated - Add support for "referenced" property tags - Add support for PR_MV_STRING8 - Add emsabp_search_dn which search for a DN within AD and return the associated LDB message - Add PR_EMS_AB_HOME_MDB and PR_EMS_AB_PROXY_ADDRESSES to emsabp_property array [r981] Prevent from trying to add a NULL element to profile database and segfault on strlen [r980] Prevent x500_get_dn_element from segfaulting when an incorrect DN string parameter is supplied [r979] - Preliminary implementation of NspiGetMatches NSPI server function - Make use of a on-memory TDB database for Ephemeral Entry IDs - Add TDB traversal routines to retrieve DN associated to MId - Move lp_ctx within emsabp_ctx for convenience - Add EphemeralEntryID to Binary_r routine - add emsabp_query (Find attribute matching given property tag and return associated data) - add emsabp_fetch_attrs which builds a SRow array given a MId and requested property tags. - add emsabp_search which searches AD given input search criteria - add a preliminary Property Tag to AD attribute mapping + associated functions in emsabp_property.c Note: This NspiGetMatches is limited to MAILUSER which means we only look for users (located within users.ldb). This limitation will be removed when we have a preliminary working emsmdb server, so we can do more extensive NSPI server tests. [r978] Add sanity check to get_SPropValue_SRowSet, prevents the function from segfault when RowSet is NULL (e.g. crafted NspiQueryRows replies) [r977] Prevent IProfAdmin based code from crashing when a crafted NspiGetMatches reply with NULL ppOutMIds is returned. 2009-01-10 jkerihuel [r976] - Preliminary NspiGetSpecialTable implementation added to NSPI server/EMSABP provider: Hierarchy Table supported (required during profile creation) - add PT_BINARY support for mapidump_SPropValue - fix a bug when PT_STRING8 or PT_UNICODE pointer is set to MAPI_E_NOT_FOUND 2009-01-06 jkerihuel [r974] Add new Display Type values (used by EMSABP provider) [r973] Change DEBUGLEVEL for RfrGetNewDSA [r972] - preliminary implementation of RFR server (RfrGetNewDSA): makes Outlook happy - mapiproxy-servers-install now installs openchange python scripts and ldif file 2009-01-05 jkerihuel [r971] Move auth_serversupplied_info structure from dcesrv_exchange_nsp.h to libmapiproxy.h This structure is required for NTLM_AUTH_IS_OK macro [r969] - Add doxygen comments for all OpenChange server modules - Fix doxygen return value for exchange_nsp [r968] - Add mapiproxy server unbind function and hook in dcesrv_mapiproxy.c - Add exchange handle enum to dcesrv_mapiproxy.h - Add authentication verifier macro to libmapiproxy.h - Add preliminary EMSABP Address Book Provider implementation: * supports initialization, destructor (talloc) * implements user and codepage check routines * retrieve NSPI server GUID - Add NspiBind and NspiUnbind support to dcesrv_exchange_nsp.c - Add internal session mechanism management to NSPI server - Add init and unbind modules function to NSPI server - Add doxygen comments to all dcesrv_exchange_nsp.c functions - Add emsabp_context, session and non-exported Samba structure to dcesrv_exchange_nsp.h [r967] OpenChange configuration schema updated with Addressing schema (Address-Templates, Address-Types and Display-Templates - Exchange 2003 based) [r966] Execute server modules init function when loaded bradh [r965] A few API documentation fixes. 2009-01-04 jkerihuel [r963] Add documentation for MAPIProxy 'server mode' 2009-01-02 jkerihuel [r961] - Implement mapiproxy server mode architecture - Add server modules management API - Add skeletons for default OpenChange servers (nspi, emsmdb, ds_rfr) - Add temporary provision Makefile rule 2008-12-30 jkerihuel [r959] Initial text was correct - rollback [r958] Fix path typo bradh [r957] Ensure that GetLastError() also returns the correct value. [r956] Start changing the MAPI_RETVAL_IF() usage to two new macros: OPENCHANGE_RETVAL_IF() and OPENCHANGE_RETVAL_ERR(). simple_mapi.c is the only one converted at this stage. Also added a set of unit tests that verify at least some initial sanity checks. [r955] Remove unreachable code. Partly resolves ticket #124 2008-12-29 jkerihuel [r953] Remove references to ldap.h header file - not installed anymore with samba4 git rev openchange uses [r952] mapiproxy documentation update: 3 questions added to FAQ section [r951] Patch from Corentin Chary: - Add PR_CONTENT_FILTER_SCL property to libmapi [r950] - Update openchange to work with samba4 master git rev f308c2f - Replace reference to events.h with tevent.h - Update installsamba4.sh script to reflect latest samba4 compilation changes/requirements 2008-12-27 jkerihuel [r948] Fix mapidump date/month when freebusy period covers end of one year - beginning of next year Update openchangeclient to reflect these changes. 2008-12-24 jelmer [r946] Export PKG_CONFIG_PATH if it wasn't exported yet. Patch by Metze [r945] Fix PIC object flags for SWIG build. Patch by metze. 2008-12-21 bradh [r943] User %u format specifier for unsigned integer. [r942] Make return value match signature. [r941] Miscellaneous minor cleanups. Mainly making return types match signatues, format conversion (%u for unsigned values) and matching up result variable types (bool instead of enum MAPISTATUS). [r940] Return an enum MAPISTATUS, instead of a bool, to match function signature. [r939] Use %u instead of %d for unsigned values. 2008-12-20 bradh [r937] Another minor APIdox edit. [r936] API documentation tweak. [r935] API dox fix. [r934] API dox fix. [r933] Minor apidox fixes. [r932] More apidox triviality. [r931] Trivial APIdox edits. [r930] Supplement the user's PKG_CONFIG_PATH rather than overriding it. jelmer [r929] Add bindings for GetBestBody(), GetDefaultFolder(), GetDefaultPublicFolder(), AddUserPermission(), ModifyUserPermission(). [r928] Add bindings for create_message, delete_messages, get_message_status, set_read_flags. [r927] Add Python bindings for Unsubscribe(), get_task_status(), get_importance(), get_proptag_name(), get_proptag_value(), DeleteFolder(), CreateFolder(), EmptyFolder(), RemoveUserPermissions(), IsMailboxFolder(). 2008-12-19 jelmer [r925] Actually use pymapi variables in Makefile. [r924] Add configure flags for building and installing Python MAPI bindings (disabled by default). 2008-12-18 bradh [r922] Add namespace prefix to scanner. 2008-12-16 jkerihuel [r920] - spnego / gssapi_krb5 authentication now available for mapiprofile - add the --realm | -R option - update mapiprofile man page 2008-12-14 bradh [r912] Remove entries for --properties and --priority, which have been removed from the openchangeclient utility. Partly fixes #113. [r911] Don't generate / install man3 pages for libmapi++ or mapitest. Resolves ticket #121. Also don't install man3 pages that are just copies of the C implementation files, or just document bugs / todo items. jelmer [r918] Allow retrieving id and session of MAPI objects. [r917] Add MessageStore and Object Python classes, add bindings for OpenMsgStore, OpenUserMailbox, OpenPublicFolder. [r916] Add stubs for Session class. [r915] Add infrastructure for MAPI python module. [r914] Look for python and python-config binaries. [r913] Remove empty directory. 2008-12-13 jkerihuel [r910] Remove obsolete --properties option and related code 2008-12-10 jkerihuel [r908] Fix RecipientRow member's order 2008-12-09 jkerihuel [r906] - Update to latest samba4 git master revision (3508a66) - Fix references to samr info24 struct - Add support for assoc_group_id proxy - Add support in mapiproxy for bind/alter connections using assoc_group_id - Update mapiproxy documentation 2008-12-07 bradh [r904] Improve building. Partially addresses #94. More work required on this as we work on the portability in the future. [r903] Expose the underlying session. 2008-11-30 bradh [r901] Remove unused --priority option. [r900] These offsets / values can be negative, so we shouldn't use unsigned int type to represent them. 2008-11-29 jkerihuel [r898] Fix Logon problem for users running Exchange 2k7 in a clustered Exchange environment. This patch first tries to forge EssDN Logon string from "o" and "ou" attributes stored in the profile. If Logon fails with ecUnknownUser, then try to open the mailbox using the mailbox attribute stored in the profile. 2008-11-28 bradh [r896] Document the --label option. 2008-11-26 jkerihuel [r893] Make openchange compile and work against latest samba4 master git rev (58db2be) jelmer [r894] Remove check for unused type 'uint_t'. 2008-11-22 bradh [r888] More tweaks on the openchangeclient man1 page. [r887] More updates for man1 page for openchangeclient. Still doesn't fully address #113. [r886] Update the openchangeclient man1 page. Partly addresses ticket #113. There is still some work to do on this. [r885] Fix a typo, and try to make the descriptions more consistent. 2008-11-21 bradh [r883] Initial version of man1 page for mapitest [r882] Initial man1 page for exchange2ical utility. 2008-11-14 bradh [r879] Update man1 page for openchangepfadmin [r878] Minor updates for the man pages. 2008-11-13 jkerihuel [r875] Fix build errors: wrong number of arguments for ocpf_propvalue [r874] Fix warnings when compiling with -Wextra [r873] Fix warnings when compiling with -Wextra [r872] Fix warnings when compiling with -Wextra bradh [r876] Complete initializers here. 2008-11-10 bradh [r870] Update to reflect latest state of mapiprofile. 2008-11-09 bradh [r868] Prevent segfault when running mapitest. Looks like the we can return MAPI_E_SUCCESS even if one of the property values is MAPI_E_NOTFOUND. That error then get turned into a char*, and strncmp faults. Also fix a possible bug relating to operator precedence, and a couple of warnings (one for signed / unsigned comparison, and the other for an unsigned value never being less than zero). 2008-11-08 bradh [r866] Enable output to stdout. Resolves ticket #106. Thanks to raboof for the report and fix. 2008-11-07 bradh [r864] Fix missing initialisers (issue #110). Also fix some signed/unsigned warnings. [r863] Fix problems with incorrect initialisers (#110) and operator precedence. Also fix a couple of places with signed/unsigned confusion. [r862] Partial fix for issue #110, and a couple of very minor cleanups. 2008-11-06 bradh [r860] Minor cleanups. [r859] We probably want to return here, not do nothing. 2008-11-05 jkerihuel [r855] Fix empty patch function problem: add a retval bradh [r857] Typo fix. [r856] Explain the boost-thread trick. [r854] Minor documentation tweaks. 2008-11-04 jkerihuel [r852] - remove usage of global_loadparm in libmapiadmin - make use of session context rather than global_mapi_ctx in libmapiadmin - use local context rather than mapiadmin context in libmapiadmin - libmapiadmin now uses ldb helper rather than raw implementation (ldb async code) - libmapiadmin and openchangepfadmin now works again (user creation/deletion) !! ;-) - remove global_loadparm in torture test and replace it with torture context - fix dcerpc_init to match latest samba4 API - update samba4 version required to build openchange bradh [r850] More API documentation tweaks. [r849] More API documentation tweaks. [r848] Some API dox fixes for libmapi++. jelmer [r851] Remove unnecessary patching of lib/events/events.h. 2008-11-03 bradh [r846] Update to a more recent Samba4. jelmer [r845] Remove some usages of deprecated global_loadparm. [r844] Cope with new argument to dcerpc_log_packet(). 2008-11-01 jelmer [r842] Fix includes for DEBUG(), fix some more warnings. [r841] Use same_net_v4 rather than deprecated same_net(). [r840] Fix Samba 4 git revision. [r839] Fix includes - debug.h can only be included once. [r838] Include debug header. [r837] Cope with API changes in Samba functions. [r836] Use new function is_zero_ip_v4 rather than removed is_zero_ip. 2008-10-31 jkerihuel [r833] Fix OpenMsgStore binding in swig perl and fetchmail script 2008-10-21 jkerihuel [r824] Fix pointless const definition for GetFreeBusyYear return type 2008-10-20 jkerihuel [r823] - Add the IsFreeBusyConflict convenient function which checks if a given date conflicts with existing FreeBusy Busy/OOF events - Modify openchangeclient --sendappointment behavior to check whether start or end date conflicts with FreeBusy published data for the user. - Add the --force option to openchangeclient to override this behavior - Fix a counter bug in mapidump_freebusy_events [r821] Fix doxygen typo error [r820] - Add GetUserFreeBusyData convenient function which retrieves FreeBusy data in public folders for a given user. Note: Ambiguous name is not supported at the moment. - Add convenient FreeBusy mapidump routines - Add FreeBusy read support to openchangelient - Add PT_MV_LONG and PT_MV_BINARY support to pull_emsmdb_property and property.c functions - Add OpenUserMailbox which let developers open other mailboxes instead of the default profile one. - Add GetABRecipientInfo: convenient function which retrieves Address Book information for a given recipient 2008-10-17 jkerihuel [r818] - Add libmapi implementation for DeletePropertiesNoReplicate - Add mapitest test units for DeleteProps and DeletePropertiesNoReplicate [r817] Fix doxygen documentation 2008-10-16 jkerihuel [r815] - Implement multisession into libmapi - Update openchange tools and suite to reflect these changes - Fix SRow_addprop behavior NOTE: OpenMsgStore, ResolveNames, GetGALTable and RFR functions now take a mapi_session parameter. jelmer [r814] Use my openchange.org email address. 2008-10-09 jkerihuel [r812] - Add a session management API for mapiproxy modules. Similar code already existed for mpm_cache module. Common functions are now available to all mapiproxy modules through libmapiproxy - replace smbd with samba in mapiproxy documentation [r811] - Cache calendar, contact, journal, note, task and drafts folders IDs when GetDefaultFolder call is performed on one of these folders and keep them until obj_store is released. - Add a reverse lookup routine which says whether a given FID belongs to a default folder and which olFolderType it is. [r810] - Remove pointless memory context in GetDefaultFolder - Move entryID to FID code into a separated routine (GetFIDFromEntryID) [r809] Restore install rule for mapi profiles ldif files in libmapi-installscript. Fix the MAPI_E_NO_ACCESS bug when mapiprofile tries to create a new mapi profile store. 2008-10-08 jkerihuel [r808] - Ticket #103 resolved. openchangeclient can now perform custom folder lookup, fetch, mkdir and rmdir. - mapi_object_copy routine added to mapi_object.c 2008-10-06 jkerihuel [r806] Fix missing Month field in LogonTime structure 2008-10-05 jkerihuel [r805] propagate IDL warning fix to property.idl jelmer [r804] Add target for building python API documentation. 2008-10-01 jkerihuel [r802] Fix samba4 release and git revision [r801] Fix installsamba4.sh script paths jelmer [r803] Avoid warning. [r800] Install OpenChange python modules. [r799] Check for python dir during configure. [r798] ignore generated files. [r797] Stop installing js files. [r796] Use autoconf cache prefix. [r795] Use newer version of Samba 4. 2008-09-30 jkerihuel [r791] Remove dcesrv_exchange.so from server Makefile rule and move mapiproxy from TOOLS to SERVER. dcesrv_exchange and providers Makefile rules are orphan, planned to be removed (with their associated code) when emsabp merge process into mapiproxy is over. 2008-09-23 bradh [r790] Export the Binary_r structure. 2008-09-22 bradh [r789] Use more descriptive variable names in messages example code. [r788] Add a description of messages to libmapi++ API documentation. [r787] Add messages binary to the ignore list. [r786] Add new example showing libmapi++ message handling, and associated API documentation and build system changes. 2008-09-21 bradh [r785] Update the API documentation main page for libmapi++ 2008-09-19 jkerihuel [r784] Add foldertree binary to the ignore list [r783] - Add missing Input parameter - Add sanity check on ppNames - Fix ticket #102 [r781] - Fix a bug in NspiUpdateStat: make plDelta mandatory and use it for in,out - Add a NspiGetSpecialTable test for Address Creation Template bradh [r780] Fix valgrind-reported error, per ticket #101. [r779] Make sure we clean up after mapitest runs. Resolves ticket #84 2008-09-17 jkerihuel [r778] - Add msExchUserAccountControl attribute to extended user record - openchange_newuser can now create/enable/disable an OpenChange account [r776] Exit the test if the WriteStream operation fails [r773] Fix ncacn_ip_tcp binding string for OpenChange server object [r772] With new NSPI IDL, using cValues - 1 is incorrect and lead to errors. Use cValues directly instead [r771] Fix pipe function check and use ndr autogenerated defines rather than static strings Fix calls to NspiDNToMId bradh [r774] Make sure we set the body and body format properties, to ensure that the message is shown correctly with openchangeclient -F. 2008-09-16 jkerihuel [r770] - Fix provisioning - Rename oc_* python scripts to openchange_* - Add Full Exchange 2003 schema (classes and attributes) - Full Exchange 2003 modified classes and attributes support - Add prefixmap OID for some Exchange classes and attributes - Add missing ADSC classes and attributes - Improve configuration LDIF file with new objects NOTE: provision.py should find a way to handle firstorg properly NOTE: oc_provision_configuration.ldif is still incomplete bradh [r768] API documentation improvements. 2008-09-15 bradh [r767] Add an example to the libmapi++ documentation, and the right build magic and doxygen linkage. [r766] Minor API documentation fix 2008-09-14 bradh [r765] Add forgotten part of API documentation fixes for mapitest. [r764] Improve mapitest API documentation. 2008-09-13 bradh [r763] Use new DeleteFolder flags to clean up folders on deletion. This doesn't completely resolve ticket #84, but it does help. [r762] Ignore API documentation. [r761] Add Doxyfile to ignore list. [r760] Add initial support for Doxygen API documentation for libmapiadmin. 2008-09-12 bradh [r759] Implement the remainder of the standard public folders. 2008-09-10 bradh [r758] Only do header line removal at the start of the file (lines 20 through 40 seems like a good compromise). [r757] libmapi++ is C++, not C, so we should not optimise Doxygen output for C. 2008-09-09 jkerihuel [r755] - Update the Logon_repl IDL (0xFE) and implementation - Add new folders to the mapi_obj_store for PF folders - rename pf_finder to pf_search bradh [r756] Suppress some more unwanted headers. 2008-09-08 jkerihuel [r754] - Add GetStoreState (0x7b) IDL, implementation and mapitest unit [r753] Fix typo error [r752] - Update the EmptyFolder IDL [r751] - Update the SearchFlags enum, GetSearchCriteria and SetSearchCriteria IDL - Add mapitest units for GetSearchCriteria and SetSearchCriteria [r750] Link libmapi++ documentation to main apidocs page [r749] Update GetAttachmentTable IDL and remove the unknown field [r748] - Update DeleteFolder IDL and implementation - It now supports DeleteFolderFlags as input parameter and can return the ParticalCompletion state - Sanity checks added at the beginning of the function [r747] - Rename GetRowCount to QueryPosition - IDL, implementation, documentation and openchange code updated - ActionType enum fields prefixed with 'ActionType_'. Original values were causing conflicts while building Perl bindings with 'i386-linux-thread-multi/CORE/opnames.h where OP_DELETE was already defined' [r746] Change enum SaveFlags to uint8_t for doxygen documentation to be generated properly [r743] - Update SaveChangesMessage IDL and implementation - Add a SaveFlags parameter to SaveChangesMessage function - update openchange code to reflect this change bradh [r745] Build fix / fix for ticket #99. [r744] Filter out some new #include lines. This needs to be applied to other modules too. 2008-09-07 jkerihuel [r742] Update SRow and SRowSet IDL [r741] Delete obsolete input_locale and instance_key structures [r740] Fix WStringArray_r IDL [r739] - Move from MV_UNICODE_STRUCT and LPWSTR to WStringArray - LPWSTR structure removed [r738] Rename SDateTimeArray to DateTimeArray_r [r737] Rename SGuidArray to FlatUIDArray_r and fix the IDL [r736] Rename MV_LONG_STRUCT to LongArray_r [r735] Rename SBinary to Binary_r [r734] - Add removal of libmapi++ Doxyfile in make distclean rule - Add Doxyfile to svn:ignore [r733] Rename SShortArray to ShortArray_r [r732] - Move from SLPSTRArray to StringArray_r - LPSTR structure removed [r731] Rename MAPIUID to FlatUID_r [r730] Fix lexer warnings during compilation (ticket #100) [r729] - Update the EcDoConnect IDL (ref. ticket #99) - Add new fields to the emsmdb info structure - Add doxygen comments to libmapi/emsmdb.c bradh [r728] Reduce warnings when compiling with 64-bit arch. [r727] Initial checkin of infrastructure for libmapi++ API documentation. 2008-09-06 jkerihuel [r726] - MAJOR NSPI protocol and libmapi stack update - All NSPI protocol functions implemented - NSPI stack fully documented - NspiGetHierarchyInfo renamed to NspiGetSpecialTable - NspiDNToEph renamed to NspiDNToMId - instance_key removed from nspi_context and set as a parameter to NSPI functions - SPropertyRestriction renamed to PropertyRestriction_r - FlagList structure removed and replaced by a SPropTagArray - MAPI_SETTINGS removed and replaced by a STAT structure - new MAPI property tags added to libmapi/conf/mapi-properties - NSPI module added to mapitest bradh [r725] Clean up on failure. [r724] Clean up on failure. [r723] Minor improvements to ensure cleanup on failure. [r722] API documentation fix [r721] API documentation fix. [r720] API documentation fix. [r719] API documentation fix. [r718] API documentation fixes. 2008-09-05 bradh [r717] API documentation fixes. 2008-09-04 jkerihuel [r716] Fix EMSMDB 0xb function name [r715] - update EcRRegisterPushNotification IDL - update Notify IDL - implement complete MAPI notifications - update libmapi to reflect these changes - make openchangeclient prints a brief summary for each notification found - update ulEventMask used in openchangeclient 2008-09-03 jkerihuel [r714] - Rename Advise MAPI call to RegisterNotification - Update RegisterNotification IDL and implementation 2008-09-02 jkerihuel [r713] - Fix Restrict IDL and implementation - Add a new parameter to the Restrict function - close ticket #32 [r712] Add mapi_nameid.h to the ignore list [r711] - Replace libmapi/mapi_nameid.h with a generated mparse file - Add a mapi_nameid.h parser to mparse.pl - Add canonical names for named properties - GetProps and SetProps resolves named properties if they exist - named properties can now be set directly and make mapi_nameid API be optional. - replace named property tags hex value with their canonimal names - replace several use of the mapi_nameid API with smaller code [r710] - Add new IDL file (property.idl) to push/pull structures from binary blobs and not directly related to any MAPI calls. Include the generated property.h file into libmapi.h - Add PT_MV_STRING8 support in pull_emsmdb_property (GetProps reply parsing) and mapidump_SPropValue - Add functions to property.c to retrieve RecurrencePattern, TimeZoneStruct and GlobalObjectId structures (see property.idl). - add a preliminary version of exchange2ical tool. This version only dumps calendar folder appointments into ICS file on standard output. 2008-08-30 jkerihuel [r709] - Update mapi-nameid-properties with a more complete set of properties - Add a header to mapi-nameid-properties for sanity purposes - Move named properties with PT_STRING8 type to PT_UNICODE - update openchange code to reflect these changes - Add PSETID_Attachment to mapidefs.h 2008-08-28 jkerihuel [r707] Add missing check on password for the create command [r706] Fix incorrect usage of realm in mapiproxy 2008-08-27 jkerihuel [r705] Check for provider_rpc_connection retval for RFR functions. [r704] Update Doxyfile to parse mapiproxy/modules files and include documentation on static functions. [r703] - Add NSPI hook on NspiQueryRows and NspiDNToEph and replace the Exchange server name with mapiproxy one. - documentation updated to reflect these changes - new FAQ question added - developer documentation improved [r702] Add the RFR mapiproxy file. [r701] - Implement RfrGetNewDSA DN replacement in mapiproxy - use lp_realm rather than sockaddr in NspiGetProps (FQDN rather than IP address) - update mapiproxy documentation to reflect these changes 2008-08-26 jkerihuel [r698] - Add implementation of the NSPI Referral protocol (exchangeRFR) - update dcesrv_exchange and mapiproxy prototypes for RFR - add references to the RFR pipe in mapiproxy - prefix NSPI client connections with a RfrGetNewDSA call - add RFR functions implementation in libmapi/IMSProvider.c - add a --getfqdn option to mapiprofile - fix a minor mapiprofile option parsing bug 2008-08-25 jkerihuel [r697] Fix mapiproxy dummy module unbind prototype [r696] - Remove flags in EcDoRpc top function, fix compilation vs latest samba4-git version - EcDoRpc indent updated 2008-08-15 clsk [r694] Get rid of initialization order warning 2008-08-11 jkerihuel [r691] - add unbind hook for mapiproxy - add ahead mapiproxy mode - add read ahead in cache module - add synchronization mechanism in cache module - update mapiproxy documentation to reflect these changes 2008-08-08 bradh [r690] Temporarily comment out installation of files removed in r683. 2008-08-01 jelmer [r685] Fix arguments, paths in provision scripts. [r683] Merge python provision/newuser scripts. [r681] Simplify installation of manpages a bit. 2008-07-29 jkerihuel [r679] Add configure check for libboost-thread. Add libmapi++ to the build only if it is available. 2008-07-27 clsk [r678] - session constructor doesn't login to the server anymore, it calls MAPIInitialize(). - Created session::login() members. - test applications use default profile. 2008-07-26 jkerihuel [r676] - Import Alan Alvarez work from libmapi++ into trunk - Add a g++ check in configure.ac: don't call libmapi++ rules if g++ is missing - Add libmapi++ to the build system - Add a patch function to installsamba4.sh: rename private to private_data in samba4 events.h header file - Change #include directives so it uses SetMessageReadFlag renaming. This should have been part of r529 - missed it. 2008-05-30 jkerihuel [r535] merging from mapiproxy branch: - Fix MV_UNICODE_STRUCT and unicode strings - Keep LPWSTR for exchange_nsp and move from LPWSTR to mapi_LPWSTR for exchange_emsmdb - Add the NspiGetTemplateInfo IDL - Fix the NspiUpdateStat IDL [r534] Fix build: SetMessageReadFlag function name was not propagated in the module_oxcmsg.c bradh [r529] Initial merge of changes for rename of SetReadFlags to SetMessageReadFlags (op 0x11) and IDL for SetReadFlags (op 0x66). [r528] Use private_data instead of private, for C++ happiness. [r527] Minor cleanup. Using "try" confuses my c++ compiler... [r526] This is really part of r525. It moved to IMAPITable.c [r525] Update the table operations: - implement ExpandRow and CollapseRow - implement GetCollapseState and SetCollapseState - add mapitest coverage for the above, plus the Restrict call - implement ResetTable - implement FreeBookmark - add mapitest coverage for SRowSet parsing code - minor IDL fixes - various API documentation bits jelmer [r533] Use right directory for samba4_ver.sh script. [r532] Use common location for Samba 4 git revision. 2008-05-27 bradh [r522] Use PT_ERROR where appropriate. [r521] Update the SRowSet parser, fixing breakage I introduced. 2008-05-26 bradh [r518] Update examples to reflect recent API changes. jelmer [r520] Don't rely on absolute file paths since the distribution may be installing in other locations. [r519] make scripts executable. 2008-05-25 bradh [r515] Avoid segfaulting if you ask for a specific test or tests and forgot to start the server. Here is an example: [bradh@conferta trunk]$ ./bin/mapitest --mapi-calls=OXCTABLE-CATEGORY --mapi-calls=OXCTABLE-RESTRICT --mapi-calls=NOSERVER-LZFU Failed to connect host 192.168.11.77 on port 135 - NT_STATUS_HOST_UNREACHABLE Failed to connect host 192.168.11.77 (192.168.11.77) on port 135 - NT_STATUS_HOST_UNREACHABLE. MapiLogonEx : MAPI_E_RESERVED (0xFFFFFFFF) #############################[mapitest report]################################# [*] Date : Sun May 25 11:45:29 2008 [*] Confidential mode : [no] [*] Samba Information : 4.0.0alpha4-GIT-44d8b70 [*] OpenChange Information : 0.8-SVN-build-510 (Romulus) [*] System Information : Kernel name : Linux Kernel release : 2.6.23.17-88.fc7 Processor : x86_64 ############################################################################### [*] NOSERVER-LZFU [TEST] NOSERVER-LZFU ------------------------------------------------------------------------ * uncompress_rtf2 : 0x00000000 * uncompress_rtf2 : PASSED ------------------------------------------------------------------------ [RESULT] NOSERVER-LZFU: [SUCCESS] ======================================================================== [*] OXCTABLE-RESTRICT Server is offline, skipping test: "OXCTABLE-RESTRICT" [*] OXCTABLE-CATEGORY Server is offline, skipping test: "OXCTABLE-CATEGORY" 2008-05-24 bradh [r510] ignores objects that contain invalid handlers in mapi_object_release(). Patch by Alan Alvarez. Compile tested, passes mapitest on SBS2003. 2008-05-23 bradh [r507] Fix API documentation to match signature. 2008-05-20 bradh [r504] Update QueryRows IDL and implementation to match msdn documentation. The main work here is reworking the SRowSet parsing routine. 2008-05-18 bradh [r501] Typo fix - allow cleanup to work properly. 2008-05-17 bradh [r497] Make sure it has a return value. 2008-05-11 bradh [r495] Rename GetColumns remote operation to GetColumnsAll, and fix up IDL and implementation to match. Add some more unit test coverage, and pretty-up the output a little. [r494] Fix up breakage introduced in r493. jelmer [r496] Make sure nagios directory gets created if it didn't exist yet. 2008-05-10 bradh [r493] Refactor the unit tests. Extract out the setup and some of the cleanup code. 2008-05-08 jkerihuel [r490] - Update openchange code to work with Samba4 4.0.0alpha4-GIT-44d8b70 - Use event_context structure - update installsamba4.sh script to revert to this revision. - update torture modulesdir reference jelmer [r492] Look a little bit harder for the Samba installation. 2008-05-05 jkerihuel [r489] - Add GetLocalReplicaIds MAPI call (IDL + implementation + mapitest) - Add OXCFXICS mapitest module 2008-05-03 jkerihuel [r488] - Fix "the very secret" openchange coding style - Add Copyright for our humble new libmapi developer ;-) bradh [r487] Implement the CopyProperties operation, including a mapitest for this. 2008-05-02 jkerihuel [r485] - Add TransportSend MAPI call (IDL + implementation + mapitest). This code maybe needs some review regarding memory. [r484] - Add the GetTransportFolder MAPI call (IDL + implementation + mapitest) [r483] - Add SpoolerLockMessage MAPI call (IDL + implementation + mapitest) [r482] - Add SetSpooler MAPI call (IDL + implementation + mapitest) [r481] - Add GetRulesTable (IDL + implementation + mapitest) - Add the OXORULE mapitest suite bradh [r480] Typo fix. jelmer [r486] Make sure config.mk is the last file removed during distclean. 2008-05-01 jkerihuel [r479] - Add the Abort MAPI call (IDL + implementation) OpenChange doesn't support yet asynchronous operation which explains why no associated mapitest test has been implemented. This should be done in the future. [r478] - Add the MoveFolder MAPI call (IDL + implementation + mapitest) - Fix some typo in mapitest doxygen [r477] - Add MoveFolder MAPI call (IDL + implementation + mapitest) - Fix some doxygen stuff - add a common function within mapitest which looks for a folder name within a container and return the opened folder object on success. [r476] Add auto-generated Doxyfile to the svn ignore list [r475] - Add AbortSubmit MAPI call (IDL + implementation + mapitest) [r473] - Uninitialize MAPI and general memory context at the end of mapitest bradh [r474] Clean up / flush the stream after use. Saves a bit more "still reachable" in valgrind too. 2008-04-30 jkerihuel [r470] - Rename CopyMessages to MoveCopyMessages - Improve IDL + implementation and mapitest added bradh [r471] Make sure the version shown for mapitest documentation is automatically set to match the package version. [r468] complete the rest of the API documentation autonumbering. jelmer [r472] Remove duplicate use of $(SHLIBEXT). [r469] Avoid parallel builds for now. 2008-04-29 jkerihuel [r467] Fix GetContentsTable binding in perl swig [r466] - Improve the GetHierarchyTable and GetContentsTable IDL and public IDL implementation (new parameters in,out) bradh [r465] Initial part of automatic list numbering for doxygen comments. This doesn't work correctly with the current apidocs.css, which turns the list numbers into bullet points for reasons I don't understand. 2008-04-28 jkerihuel [r464] - Improve the DeleteMessages IDL request [r463] - Update libmapi version from 0.7 to 0.8 - Public API change for the GetReceiveFolder function; now takes a message class as 3rd parameter. [r458] - Improve GetSearchCriteria request IDL (unknown removed) - update libmapi copyright headers 2007 -> 2007-2008. [r457] - Improve the SubmitMessage IDL - minor indentation fixed in IMessage.c [r456] - Add CopyToStream MAPI call (IDL + implementation + mapitest) [r455] - Add SeekStream MAPI call (IDL + implementation + mapitest) - Add SetStreamSize MAPI call (IDL + implementation + mapitest) [r454] - Add CommitStream MAPI call (IDL + implementation + mapitest) - Add GetStreamSize MAPI call (IDL + implementation + mapitest) - refactor the stream test to include all stream related operations - add a common function which generates a random ASCII blob of data bradh [r453] Add doxygen support for the mapitest examples. jelmer [r459] Allow cleaning individual parts. 2008-04-27 jkerihuel [r452] - Add GetStatus call (IDL + implementation + mapitest) [r451] - Fix format string problem in mapitest headers [r450] Run offline suites by default. [r449] - Introduce the online/offline mode for suite - Fix Exchange headers print bug when server is offline - reset errno to 0 before running new test bradh [r447] Install the libmapiadmin.h header. [r446] Fix a compile-time warning on amd64, for the second argument to the getline() call - incompatible pointer type. I'm assuming that size_t is equivalent to uint32_t on a 32-bit architecture, but not on a 64-bit arch. A quick test showed no difference in actual output. jelmer [r448] Remove bashisms in installsamba4.sh 2008-04-26 jkerihuel [r445] - Add ReadRecipients MAPI call (IDL + implementation + mapitest) - Improve some ModifyRecipients and Recipients structure naming 2008-04-25 jkerihuel [r444] - Add RemoveAllRecipients call (IDL + implementation + mapitest) [r443] - Add OpenPublicFolderByName call added (IDL and implementation). - Note: the reply IDL doesn't handle Server and ServerCount yet. - Note: this call only refers to NNTP folders (e.g: folders located within "Internet Newsgroups". If developers use this call within "All Public Folders", then the call with return MAPI_E_NOT_FOUND. - Call not added to mapitest cause it require RightsAuthor permissions on Internet Newsgroups which is not the case by default. - dump-data and debug options added to mapitest - FOLDER suite renamed to OXCFOLD (naming convention) [r441] Rename module folder to oxcfold [r440] Replace the existing mapitest tool with a new implementation. It is less complete but more modular. jelmer [r442] Add proto headers to ignore file. 2008-04-20 jkerihuel [r438] OpenFolder request: replace unknown field with OpenModeFlags [r437] - Rename 0xFE opnum from OpenMsgStore to Logon - Update the Logon request IDL bradh [r439] Add BEGIN_DECLS for private_proto.h. [r436] Add forgotten part of rev435. [r435] Add unit test framework for compressed RTF decoding. Refactor lzfu.c to improve testability. 2008-04-19 jkerihuel [r434] Fix openchangeclient --mailbox --pf with wasn't launched anymore due to some incorrect sanity check tests. [r433] - Remove deprecated fuzzer_msgstore torture test - replace mapi_flags with logon_id in EcDoRpc_MAPI_REQ 2008-04-16 bradh [r432] A couple of minor fixes to make it read better. jelmer [r431] properly clean up sofiles [r430] Import exchange nagios check script by Bill Edmunds. [r429] Add support for creating libocpf soname symlink. [r428] Use standard include for uint64_t definition. [r427] Cleanup talloc and tdb before building samba4. 2008-04-14 jkerihuel [r426] Check for ocpf_set_Recipients retval (MAPI_E_NOT_FOUND) [r425] - Reset ocpf to NULL after release so the ocpf_init/release couple can be called more than once. - Sanity check on recipient, avoid parsing if no recipient is set. Return MAPI_E_NOT_FOUND instead. [r424] Add reference to the ocpf lib within the pc file. 2008-04-09 jelmer [r423] Remove duplicate SWIG instructions (already covered by stdint.i). [r422] Ignore files created by swig. [r421] Use config.mk in swig/perl/Makefile. [r420] Allow sambaprefix and prefix to be different. Allow building with unknown Samba git revisions (will still warn though). [r419] Add --with-samba argument to configure so samba and openchange can be installed in different directories. 2008-04-08 jkerihuel [r418] Add domain to the mapiprofile dump output. [r417] Fix OpenMessage IDL and GetRecipientTable fetched data -This line, and those below, will be ignored-- _M trunk M trunk/exchange.idl M trunk/libmapi/IStoreFolder.c M trunk/libmapi/emsmdb.c M trunk/libmapi/IMessage.c 2008-04-07 jelmer [r416] Fix typo, change samba-config -> samba-hostconfig. 2008-04-06 jkerihuel [r415] - Add openchangepfadmin to make install - Add openchangemapidump and locale_codepage to make clean 2008-04-05 jelmer [r413] Merge the samba4-latest branch. 2008-04-03 jkerihuel [r408] Revert so version number to 0.7 [r407] Fix Perl bindings: update mapidump_message [r405] ** Start libmapi-0.8 ROMULUS development ** [r402] Add ChangeLog and apidocs to the releases [r400] - Delete unmaintained regression suite - Fix typo error in torture-clean rule [r399] Add modified release script originally from abartlett/samba4 [r398] - Check for specific Samba4 git revision in configure.ac - Prefix locale functions with lcid and make them _PUBLIC_ bradh [r406] API documentation update. jelmer [r403] Fix some typos. 2008-04-02 jkerihuel [r397] Add installation script for samba4 [r396] - Apply the nspi pointer patch - make openchange works with samba4-alpha3 git 41309dc - update howto.txt bradh [r390] Move the top level API documentation to an "overview" section and add a redirect to that overview. This keeps the doxygen output more nicely separated for packaging. Also, generate the man pages where the install expects to find them. 2008-04-01 jkerihuel [r388] - Fix strsep bug in openchangeclient - Add RECIPIENT support to libocpf [r383] - escape/unescape strings support added - PT_MV_STRING8 type added to OCPF write API 2008-03-31 jkerihuel [r382] - return MAPI_E_NOT_FOUND if NspiGetMatches doesn't return any results (based upon patch from lofi@mountproc.org) - makes the workstation parameter of mapiprofile optional (use gethostname if not defined by the user on command line) [r381] - Fix an allocation memory problem in cast_SPropValue - update svn:ignore proplist 2008-03-30 jkerihuel [r380] Update the documentation build so it keeps generating an embedded website in with apidocs/html as root directory. [r378] - Add support for PT_UNICODE and PT_SHORT to libocpf - Initial implementation of the libocpf write API - Update libocpf documentation - add --ocpf-dump option in openchangeclient - Fix realdistclean rules for server - add cast_SPropValue function to libmapi/property.c which cast mapi_SPropValue to SPropValue bradh [r379] Split API documentation into two separate sections - one for libmapi and one for libocpf. Also add in a top level intro page. 2008-03-27 jkerihuel [r376] New build system which gathers a list of things that can be built with the libraries/utilities the user has installed and build that when "make all" is run. 2008-03-26 jkerihuel [r375] Add missing allocation for OLEGUID [r373] --ocpf-syntax doesn't require MAPI to be initialized. Furthermore makes ocpf-syntax "exclusive" (quit after performing the operation). bradh [r372] r371 was bad. What was I thinking with that nonsense! Revert to something sane. [r371] Make the ./bin/ directory if it doesn't exist. This should resolve ticket #33. 2008-03-23 bradh [r370] Improve language handling when creating profiles. You can now get a list of valid languages and use either the language code ID or the language name to specify what language later versions of Exchange should reply with. [r369] Typo fix - duplicate ; at the end of the structure. [r368] Match format to unsigned int argument. [r367] Make the format specifier match the unsigned argument. 2008-03-22 jkerihuel [r366] propset svn:ignore update [r365] Update propset svn:ignore on doc/examples and libocpf targets [r364] - Fix ticket #29: http://trac.openchange.org/ticket/29 - use access(2) to see if the database already exists - test if the profile already exists prior trying to add it - add descriptive error messages - catch CTRL-C signal and run a profile deletion routine bradh [r363] Update API documentation for ocpf_nproperty_add(). [r362] Typo fix. 2008-03-16 jkerihuel [r361] Fix mapidump_message call parameters 2008-03-13 jkerihuel [r360] Add fid/mid parameters to mapidump_message and changed openchangeclient_fetchitems to reflect these changes. [r359] Patch from Brad Hards : updates the OCPF doxygen file. [r358] Patch from Brad Hards : adds the doc/examples into the build system and enables make examples. [r357] Patch From Brad Hards, : API documentation update and minor fix for the error value change. 2008-03-09 jelmer [r355] Update bzr ignores. 2008-03-06 jkerihuel [r354] - Add PT_BINARY property support to OCP - Add stream support to OCPF for large PT_BINARY blobs. - Fix a bug which prevented from having no/empty PROPERTY or NPROPERTY sections. 2008-03-05 jkerihuel [r353] - Prevent from assigning a value which type doesn't match with the property one. - Add missing substitution variable support for some named properties declaration - Improve sample_appointment.ocpf example - Add PT_MV_STRING8 keyword to the list of supported property type identifiers. 2008-03-04 jkerihuel [r352] Improve OCPF PT_MV_STRING8 support. [r351] - Initial revision for libocpf and its documentation - YACC support added to the build system - custom lid and string support in mapi_nameid - lookup functions added for OOM, lid and string - OCPF commands added to openchangeclient (ocpf-file, ocpf-syntax, ocpf-sender) - PR_FID displayed in openchangeclient --mailbox - PT_MV_STRING8 support added to cast_mapi_SPropValue 2008-03-02 jkerihuel [r350] Patch from Brad Hards : updates code to build with current API [r349] Patch from Brad Hards : little update for some API dox 2008-02-21 jkerihuel [r348] - Add --update option to openchangeclient and allow users to modify existing messages (calendar, task, contact, note) - Add --delete option to openchangeclient and allow users to delete existing messages (calendar, task, contact, note) - Add some folder/message unique ID to mapidump outputs and send* openchangeclient functions. - Fix a bug in set_SPropValue: add sanity check on unicode string. Thanks to Suman Manjunath for this patch. - Fix mapidump_task function and identifiers of named properties used. 2008-02-19 jkerihuel [r347] Fix missing sanity check on priority [r346] Fix a bug in openchangeclient when tasks are created without body [r345] private flag added to openchangeclient appointments [r344] Fix folder IDs problem for Exchange 2007 SP1 2008-02-09 jkerihuel [r343] Fix names IDL against Samba4 4.0.0alpha3-GIT-41309dc 2008-01-24 jkerihuel [r342] - Fix a bug in IStoreFolder.c:OpenMessage which was also affecting GetRecipientTable. We were extending SPropTagArray prior calling emsmdb_get_SRow. This was causing ndr_pull_error in OpenMessage_repl and erroneous data to be inserted in the SRow. - Fix libmapi/socket/interface.c: - Use the latest version from Samba4 which removes reference to global_loadparm. - Moves struct interface declaration to netif.h - Report changes to emsmdb.c notification functions. - Change GetGALTable prototype to match general libmapi policy. Remove the usage of bool and replace it with uint8_t. Possible values added to mapidefs.h 2008-01-22 jkerihuel [r341] - Improve NspiQueryRows IDL and implementation - Add GetGALTable implementation: fetch all the Global Address List recipients - Add --userlist option to openchangeclient - Add a convenient and basic dumping function for Global Address List recipients. [r340] - Improve OpenMessage reply IDL - Fetch mapi recipients from OpenMessage reply - Add GetRecipientTable convenient function - Add OPENCHANGE-MAPI-RECIPIENT torture test to test GetRecipientTable implementation. - Add convenient SPropTagArray_add function - Add internal emsmdb_get_SRow routine 2008-01-21 jkerihuel [r339] Patch from Suman Manjunath : - Adds named-properties which define recurrence patterns for appointment and task. - Adds named properties for appointment timezone [r338] - Fix the SNotRestriction IDL and write custom push,pull,print functions - Add 2 new MAPI calls to the IDL: * GetSearchCriteria, * SetSearchCriteria - add sample {Get,Set}SearchCriteria torture test - add convenient mapi_id_array implementation - add GetDefaultFolder support for CommonView and Finder folders 2008-01-20 jelmer [r337] Make sure directory exists. 2008-01-18 jkerihuel [r336] - Fix tiny 'nail down samba4 version' bug - update the minimal Samba4 required version [r335] - Add FindRow call to the IDL - Improve mapi_Restriction support - Remove deprecated ndr_print_QueryRows function - Add a print function for fuzzyLevel - Add preliminary FindRow implementation test to MAPI-RESTRICTIONS torture test - Add couple of new MAPI tags to mapi-properties - change initial bookmark index to 3 2008-01-16 jkerihuel [r334] - Add 2 new MAPI calls to the IDL and mapitest: * SetReceiveFolder * GetReceiveFolderTable - Fix a bug in the SortTable test when no messages are returned by QueryRows [r333] - Add SeekRowApprox to the IDL and mapitest - Fix some doxygen typo [r332] - New calls added to the IDL, torture suite and mapitest: * CreateBookmark * SeekRowBookmark - Internal mapi_object_bookmark_t implementation added to mapi_object_table_t - SBinary_short default ndr_print function changed to custom 2008-01-14 jkerihuel [r331] Temporary fixes unexpected segfault in SortTable test. Emails sent during the Submit test have sometimes not yet been dispatched when the SortTable test begins. This fix adds a sleep(1) and an arbitrary number of attempts (5). [r330] Add 2 new MAPI calls to the IDL and libmapi: * AddressTypes * SortTable Tests for SortTable added to mapitest and the torture suite Test for AddressTypes added to mapitest. 2008-01-13 jkerihuel [r329] Fix perl bindings and fetchmail test [r328] 2 new MAPI call added to the IDL and mapitest: * GetMessageStatus * SetMessageStatus 2008-01-11 jkerihuel [r327] - Add DeleteAttach MAPI call - Add new mapi unit tests: * QueryColumns * CreateAttach * SaveChanges * GetAttachmentTable * DeleteAttach - Update mapitest README - Add some convenient functions to mapitest_common.c 2008-01-10 jkerihuel [r326] Add a preliminary draft of the mapitest standalone MAPI test suite. 2008-01-05 jkerihuel [r324] Add missing files [r323] - Fix the build with the latest Samba4 version. - Add a basic libmapi/version.h auto-generated file (based on Samba4 one) - Remove some warnings when compiling the utf8 lexer - Add a emsmdb_info structure to fetch some information from the Exchange server WARNING: Please note that EMSABP is definitely broken and requires a review and update. jelmer [r325] DESTDIR should never get into any source files, that would defeat its purpose. 2008-01-04 jkerihuel [r322] Fix the torture suite. 2007-12-28 jelmer [r321] provide extra required argument. [r320] Store a loadparm context in the global mapi context. [r319] Deal with samba version.h's that don't contain the Subversion revision. 2007-12-15 jelmer [r318] Use SWIG-provided typemaps for stdint. 2007-11-29 ali [r317] Fix Content-Type field in exchange2mbox Reported by Yuriy Filatov 2007-11-28 jkerihuel [r316] - Improve the CreateMessage IDL - Add new parameters to IMAPIFolder CreateMessage libmapi function - Add --mkdir --rmdir options to openchangeclient - Update the CreateFolder API and openchangeclient documentation - Fix CreateFolder calls in openchange tools and torture suite - Fix gendb_search warning 2007-11-25 jkerihuel [r315] Add new PSETID_Address named properties [r314] Fix a few code convention typos Patch from Suman Manjunath applied: converts a 'struct timeval' to 'NTTIME'. minor extension of 'set_SPropValue_proptag', used while setting PT_SYSTIME properties. 2007-11-21 jkerihuel [r313] update Samba4 first revision to 26100 jelmer [r312] Cope with ndr updates. 2007-11-12 jkerihuel [r311] Patch from Brad Hards: Fix possible Heap overflow in lzfu code 2007-11-07 jkerihuel [r310] Fix profile creation in a clustered Exchange 2007 environment. 2007-11-02 jkerihuel [r309] Fix QueryColumns req size. 2007-11-01 jkerihuel [r308] ** Start libmapi-0.7 PHASER development ** add --dump-data option to mapiprofile for debugging purpose 2007-10-31 jkerihuel [r306] openchangepfadmin (1) man page added [r305] Store messageID in the object when SaveChangesMessage is called [r304] Nail down Samba4 version for libmapi-0.6 2007-10-30 jkerihuel [r303] - Add PR_MSG_EDITOR_FORMAT property to the sendmail operation - Fix body dump bug when PR_MSG_EDITOR_FORMAT property is missing (default set to PLAINTEXT) - Continue to process the mailbox when a problem is encountered with mesage contents (not attachment) - Fix a typo bug in openchangeclient body help string [r302] Update doxygen section 2007-10-29 jkerihuel [r301] - Add doxygen man (3) pages to installman and uninstallman rules - do not run doxygen if apidocs already exists 2007-10-28 jkerihuel [r300] Move documentation to doxygen 2007-10-25 jkerihuel [r299] Add convenient date related functions for implementors: returns a timeval struct matching a PT_SYSTIME property for improved date manipulation in 3rd party softwares 2007-10-24 jkerihuel [r298] Fix build to work with latest Samba4 revision (4.0.0alpha2-SVN-build-25722) [r297] Fix make realdistclean when swig perl is enabled [r296] Fix swig perl bindins compilation: move *.o to *.po [r295] use talloc_memdup to copy const data in the body DATA_BLOB Should only provide valid pointer to talloc_free 2007-10-23 jkerihuel [r294] Fix the DeleteMessages [out] IDL. The remaining bytes were not part of DeleteMessages but MAPI notification (0x2a) 2007-10-22 jkerihuel [r293] - Add RTF support in exchange2mbox - Use openchange-tools public functions - Replace GetPropsAll calls with GetProps [r292] - fetchmail: * Use GetProps rather than GetPropsAll for message dump * Rely on PR_MSG_EDITOR_FORMAT to select the type of body * Open a stream for PR_BODY and PR_HTML if the size exceeds max property size -This line, and those below, will be ignored-- M trunk/Makefile.in A trunk/utils/openchange-tools.c M trunk/utils/openchangeclient.c M trunk/utils/openchange-tools.h M trunk/utils/openchangeclient.h M trunk/libmapi/mapidefs.h 2007-10-20 jelmer [r291] Fix ignores. 2007-10-19 ali [r290] Remove useless svn:ignore jkerihuel [r289] Add WrapCompressedRTFStream function for PR_RTF_COMPRESSED content. Original lzfu decompress routine fetched from libpst-0.5.2 [r288] make enum MAPISTATUS variables naming uniform in libmapi 2007-10-16 jkerihuel [r287] Add PT_CLSID case to get_SPropValue_data [r286] Add/Fix pull property support for PT_UNICODE and PT_CLSID (used by GetProps) [r285] Patch from Brad Hards : Fix compilation for x86_64 platforms. 2007-10-14 ali [r284] More svn:ignore updates [r283] Update of svn:ignore 2007-10-10 jkerihuel [r282] added the IDL license [r281] Convert OpenChange to GPLv3 [r280] - Add .po files to make clean - Fix a couple of warnings in the utf8 conversion lexer - Prefer long filenames to truncated one for attachments in openchangeclient 2007-10-09 jkerihuel [r279] Prevent exchange2mbox from segfault when PR_MESSAGE_DELIVERY_DATE is unset [r278] Add PT_CLSID and PT_MV_CLSID support to the IDL [r274] - Add new named properties - Convenient function for MNID_STRING props lookup added jelmer [r277] Make .po a recognized suffix. [r276] Fix compile error. [r275] Use -fPIC for library objects. 2007-10-08 jkerihuel [r273] - Rename GetAllNamesFromIDs to QueryNamesFromIDs (better naming) - fix SPropValue_CTR boolean to uint8_t in the IDL and emsmdb.c - add mapi_nameid convenient interface and headers - mapi-named-properties populated, parser added to mparse.pl, file added to the build system - remove any incorrect reference to named properties in openchange tree - remove deprecated libmapi/mapi.h file - remove unused ulFlag parameter from IProfAdmin functions - remove unused memory context from libmapi/x500.c - support sendnote operation in openchangeclient - optimize check/list oc_element functions in openchangeclient - update swig interface 2007-10-05 jkerihuel [r272] - New MAPI calls: Named properties support * GetNamesFromIDs * GetIDsFromNames * GetAllNamesFromIDs - Modified MAPI calls: * OpenMessage * SaveChanges These calls now have more granularity in libmapi with flags support - sample mapi-named-properties file introduced in libmapi/conf - Torture test suite: * suite temporary fixed (import torture_rpc_* functions from Samba4) * torture_namedprops test added - SWIG Perl bindings fixed according to changes described above - minor improvements in libmapi/mapidump.c 2007-10-02 jkerihuel [r271] - Decrease MAX_READ_SIZE to 0x1000 - Clean-up Read/WritreStream related code - add dump-data option to openchangepfadmin (debugging purpose) 2007-10-01 jkerihuel [r270] Fix build: - remove reference to core/nterr.h - add global_loadparm reference where missing - add reference to core/error.h where needed jelmer [r269] Improve output during build. [r268] Fix lp_load(). [r267] Pass loadparm contexts, should fix the build with newer Samba revisions. 2007-09-28 jkerihuel [r266] - WriteStream API changed: now returns the number of bytes written - WriteStream man page updated - 16 bytes extra-data bug fixed when sending attachments in openchangeclient - Set open mode to 0600 when attachments are stored on the filesystem 2007-09-19 jkerihuel [r265] Fix preliminary Perl bindings so it works with Samba4 alpha2 and latest libmapi revision. [r264] Patch from Andrew Gaylard : - When calling openchangeclient with the --dump-data switch, it will dump core, since the global_mapi_ctx pointer isn't initialised yet. The fix is to wait until it's set before accessing it. [r263] Patch from Andrew Gaylard : - Leaving any blank lines before .TH directives appears to cause a blank page to be output when converting man pages to DVI files (which is a step to converting them to PDF). The following patch remove the blank line above the .TH in each man page file. - mapiprofile doesn't understand the -A switch, as mentioned in it's man page. It should be -I. 2007-09-13 jkerihuel [r262] - Add objectClass to the object: container, message or attachment - Rename content to message in openchangebackup functions - add objectClass parameter to ocb_record_init 2007-09-12 jkerihuel [r261] - Move debug options to their correct location (after MAPIInitialize) - Improve code related to LDB transactions - Add convenient error checking macros 2007-09-11 jkerihuel [r260] - Add preliminary openchangemapidump draft - Fix lp_parm_* 1st parameter in the torture suite - New functions in property.c for MAPI data retrieval 2007-09-09 jelmer [r259] Use configure definition for mandir. 2007-09-08 dan [r258] Activate debugs this time [r257] Replaced remaining gotos with MAPI_RETVAL_IF so errno is set correctly [r256] MAPI_RETVAL_IF missing ";" could cause surprises ;-) [r255] Add error check for samr call. set errno with MAPI_RETVAL_IF. 2007-09-06 dan [r254] Make required packaged more clear (LinuxMagazin input) 2007-09-05 jelmer [r253] Remove invalid comment. 2007-09-04 jkerihuel [r252] - Clean-up function prototypes - Dump email when NEWMAIL notification is received 2007-08-31 jelmer [r251] Proper dependencies. [r250] Don't regenerate proto headers unless necessary. [r249] Add 'make check'. [r248] Use install for installing files/directories. [r247] Actually use replacement variable for libmagic. 2007-08-30 jkerihuel [r246] Remove forgotten BOOL [r245] Remove mapi_session pointer in mapi_objects Add public function to IProfAdmin: retrieve default ldif path location outside the OC tree 2007-08-28 jkerihuel [r244] Prevent users from creation of *undeletable* folders in Outlook and perform sanity check on dirclass + display possible values. [r243] Provides a way to modify Default and Anonymous permissions for a given folder. [r242] Fix errno in getdir function + add sanity check on opt_rmdir [r241] - Fix a memory related bug in mapiadmin_add_user - Add latest howto.txt modifications from Dan [r240] - Fix bug in *UserPermission function: return when user is not found - Add sanity checks to mapi_object API functions - mapi_object_release reset errno to 0: need to release object after displaying the potential error message. [r239] Fix a mapidump_appointment bug Add PF folder support to fetch-items operation 2007-08-27 jkerihuel [r238] openchangeclient now support send/read/delete operation on custom PF directories. [r233] - Add libmapiadmin library draft: Add/Remove Exchange user - openchangepfadmin tool added: Public Folders management - Add Sanity check to CreateFolder jelmer [r237] Update ignore list. [r236] Fix last references to BOOL, True and False. [r235] Fix more references to BOOL, False and True. [r234] Use standard type and values for booleans since Samba no longer exports BOOL, True and False. 2007-08-21 jkerihuel [r232] - Add OpenPublicFolder function to libmapi, Open Public Folder store - change torture suite API to match latest Samba4 pidl changes - utf8_convert regexp improved - minor changes: printf to DEBUG - howto.txt patch from Dan included - Samba4 torture code related to user account creation included in the torture suite. 2007-08-06 jkerihuel [r231] Fix segmentation fault when running update prior populating the database. 2007-07-31 jkerihuel [r230] Remove obsolete file from the torture suite [r229] - Add Exchange Administration test to the torture suite: Create Exchange user [r228] Dan update on howto.txt 2007-07-10 jkerihuel [r227] - Add Exchange ACLs support to MAPI library - Add 2 new MAPI opnum: GetTable and ModifyTable - Improve mapidump functions 2007-07-04 jkerihuel [r226] - Improve aclocal check in autogen.sh - Fix flex binary detection in configure.ac 2007-06-22 jkerihuel [r225] Same player ... [r224] Fix libmapi symlink [r223] Create libmapi.so symlink 2007-06-21 jkerihuel [r222] Fix mandir installation path Add ldconfig intructions to openchange installation documentation [r221] Fix build. 2007-06-20 jkerihuel [r220] RES_AND and RES_OR preliminary implementation. 2007-06-19 jkerihuel [r218] - doc patch from Brad Hards - rename PROFILE_NOPASSWORD to OC_PROFILE_NOPASSWORD - fix a warning in property.c 2007-06-16 jelmer [r210] Add some 'const' (fixes compile warnings). [r209] Use sonames (required for the Debian packages). [r208] Add .bzrignore file. [r207] Update version number and use globally defined version number in libmapi.pc. 2007-06-15 jkerihuel [r205] - Add IDL implementation for restrictions Content, Property, CompareProps, Bitmask, Size, Exist. - Add Restrict MAPI call handling the restrictions above - OPENCHANGE-MAPI-RESTRICTIONS torture test added to the suite. - convenient sendmail function added to mapi_common.c - get property size function for mapi_SPropValue added to property.c test --This line, and those below, will be ignored-- M Makefile.in M exchange.idl M torture/openchange.c A torture/mapi_restrictions.c M torture/mapi_common.c M libmapi/property.c M libmapi/IMAPITable.c 2007-06-11 jkerihuel [r204] Documentation update: Perl bindings installation 2007-06-10 jkerihuel [r203] - Add mapitags and mapicode support to Perl SWIG bindings - SPropTagArray support - SRowSet preliminary support - new constructor/destructor for mapi objects 2007-06-09 jkerihuel [r202] - IProfAdmin patch applied: having password outside of the profile - Perl bindings draft added to the trunk and to the build system: --enable-swig-perl=yes - datarootdir fixed in libmapi.pc.in 2007-06-06 jkerihuel [r201] - Add CopyMessages IDL and COPYMAIL torture implementation - Fix man page install dir according to latest Samba4 changes - Add datarootdir var to libmapi.pc.in and fix configure warning 2007-06-01 jkerihuel [r199] convenient function which retrieve a value from a SPropValue array given its property tag name, otherwise NULL 2007-05-31 jkerihuel [r198] Patch from Brad Hards : openchangeclient man page updated [r197] - Add Windows UTF8 to classic UTF8 conversion through a lexer - openchangeclient --mailbox option changed to use it - flex and bison support added to configure.ac - windows_to_utf8 function added: wrapper over yyparse_utf8 routine 2007-05-29 jkerihuel [r196] - features added to openchangeclient: * --send-appointment * --send-contact * --send-task * custom parameters - openchangeclient man page updated - new properties added to mapi-properties [r195] - Add man pages for simple_mapi.c functions: * GetDefaultFolder * GetFolderItemsCount [r194] - Remove deprecated functions from IMsgStore.c - Update man pages documentation [r193] Fix install rule in Makefile: add missing headers Move callback retval from uint32_t to int [r192] Fix notification callback retval [r191] - Advise opnum added to the IDL - Parts of the Notify response IDL implementation - Add Notification support to libmapi - Add --notifications option to openchangeclient 2007-05-28 jkerihuel [r190] Patch from Brad Hards : - PR_BUSINESS_FAX_NUMBER - improves the information provided on a contact by mapidump_contact() 2007-05-25 jkerihuel [r189] - Fix the release call in,out - Call Release from mapi_release_object - Add sanity check to OpenMsgStore - clean up parts of the mapi_newmail test [r188] EcDoDisconnect code now sounds to work properly Tested against Exchange 2000 / Exchange 2003 [r187] - Fix SpropValue property pull problem when GetProps layout is set - Add a dumpdata boolean to mapi_ctx_t so tools can dump hex data - Add PR_CONTAINER_CLASS fetch to openchangeclient --mailbox - Add debuglevel and dumpdata options support to openchangeclient 2007-05-24 jkerihuel [r186] - Remove useless memory allocation in mapidump.c - Improve mapidump_appointment - Add sample mapidump_note - Add --fetchitems option to openchangeclient: This command offers an easy way to fetch calendar, contacts, tasks, notes and mails from the Exchange server. - Add IPF container class defines to mapidefs.h - Add and Fix property tags 2007-05-22 jkerihuel [r185] - Commit the EcDoRpc max_data patch proposed on the devel list - Clean up folders related functions from the torture suite (GetDefaultFolder makes this code obsolete) 2007-05-21 jkerihuel [r184] Add the --mailbox option to openchangeclient which recursively lists the full mailbox folder hierarchy [r183] - Add PT_SYSTTIME support to get_SPropValue_data - Add mapidump_SPropValue_date dumping function - Add PT_SYSTIME support to mapidump_SPropValue [r182] - Add multi-valued SBinary_short support to mapi_SPropValue_CTR in the IDL - Add GetDefaultFolder implementation to simple_mapi.c. This function provides a convenient way to retrieve default folders ID. const olFolder values are stored in libmapi/mapidefs.h - Modify the torture test suite to reflect these changes. - OpenMsgStore now decodes all the fid returned in the response - fix a bug size in libmapi/property.c 2007-05-18 jkerihuel [r181] - Fix SMTP recipient in libmapi - Add SMTP recipient support to openchangeclient and the torture test suite - Fix a bug in SRow_addprop 2007-05-17 jkerihuel [r180] - OpenMessage IDL changed: we have a permission field. It is now set by default to 0x3 (read/write) until we change OpenMessage prototype. - Add a sanity check to MAPIInitialize when no profdb is specified 2007-05-15 jkerihuel [r179] Remove remaining MAPISTATUS and replace them with enum MAPISTATUS [r178] - SetReadFlags IDL and implementation added to libmapi - Warning fixed in emsabp.h [r177] Fix a bug in openchangeclient when attachments are using PR_ATTACH_LONG_FILENAME rather than PR_ATTACH_FILENAME to store attachment filename. [r176] Patch supplied by Brad Hards which renames private structure member to private_data for C++ compatibility. [r175] Add libmapi/simple_mapi.c designed to hold convenient functions for application development. - GetFolderItemsCount added which returns the number of total and unread messages for a given folder. 2007-05-14 jkerihuel [r174] - Fix a body openchangeclient bug which now prevent openchangeclient from segfault when no body is specified. - Add GetDefaultProfile call to exchange2mbox for the default operation. - Improve fuzzer_msgtore output 2007-05-13 jkerihuel [r173] Add a fuzzer torture test on OpenMsgStore which test all the possible max_data value. Should help to understand if libmapi fails because of max_data or not. 2007-05-12 jkerihuel [r171] exchange2mbox improved: - tdb dependency removed - message-id are now stored in the profile database - it now mirrors deletion operation from the mbox file back to the Exchange server. - man page updated to reflect these changes [r170] - GetProfileAttr function prototype modified. It now returns the results count for the given attribute and store values in a string array. - GetProfileAttr man page updated to reflect these changes - Fix mapiprofile attribute search command - migrate from open/write calls to stream ones in exchange2mbox texane [r172] newmail torture + notifications implementation -- texane 2007-05-11 jkerihuel [r169] Fix the SambaXP live demo segfault: When an ambiguous recipient is specified, it now skips the name properly and maintain a correct SRowSet. [r168] - Fix a bug when storing attachments into mbox - Add default path support to exchange2mbox 2007-05-10 jkerihuel [r167] - Update libmapi version according to the roadmap - Fix nspi_resolvenames to use default profile database and profile 2007-05-09 jkerihuel [r166] - Add default profile database and profile support in the torture suite. - Fix a bug in mapidump_task 2007-05-08 jkerihuel [r165] - Change MAPILogonEx to MAPILogonProvider and avoid potential emsmdb endpoint related problem - add sanity check on global session pointer 2007-05-06 ali [r164] Merged MAILOOK-branch changes r64:163 into the trunk. 2007-03-04 jkerihuel [r79] Remove ChangeLog, use svn log instead ;p 2007-02-13 jkerihuel [r63] - libmapi includes moved from libmapi/include to libmapi - Remove arguments from prototype definitions generation in mkproto.pl - __BEGIN_DECLS __END_DECLS support in header files - united libmapi/libmapi.h header file - openchange.h header removed - PIDL generated files moved to gen_ndr - compilation rule for libmapi header installation added - useless torture tests removed jkerihuel. 2007-02-12 jkerihuel [r62] Replace OpenProperty and ReadAttach calls with OpenStream and ReadStream call Add GetAttachmentTable call jkerihuel. 2007-02-09 jkerihuel [r58] Remove -Werror CFLAGS until I figure out how to fix our problem definitively. Remove static from dcesrv_exchange.c functions definition jkerihuel. texane [r61] . reimplement GetProps . retrieve attachment size . modify fetchmail and fetchattach torture -- texane [r60] . add GetPropList to exchange.idl . add GetPropList implementation to IMAPIProp.c -- texane [r59] - Add fetchattach torture; Attachment size is not yet defined and 42 is used. - add 3 new EcDoRpc opnums: - OpenAttach - ReadAttach - OpenProperty -- texane 2007-02-08 jkerihuel [r57] Forgot to add IMAPISession.c jkerihuel. 2007-02-07 jkerihuel [r56] Remove spurious warnings at compile time and add -Werror -Wstrict-prototypes to CC. jkerihuel. [r55] Dispatch libmapi functions into filenames matching the MAPI interface they belong to. jkerihuel. [r54] Fix the attach issue by value and add torture test to the openchange torture suite. jkerihuel. texane [r53] attachment torture test implementation -- texane 2007-02-06 jkerihuel [r52] Add a null element at the end of MAPI_REQ array so we can exit from the loop in ndr_print_mapi_request jkerihuel. [r49] - Add the DeleteMessages IDL - New torture tests added: * OPENCHANGE-MAPI-SENDMAIL * OPENCHANGE-MAPI-DELETEMAIL These are experimental implementation jkerihuel. texane [r51] subject option for delete message torture test -- texane [r50] added (recipients == null) check added default body added default subject -- texane 2007-02-03 jkerihuel [r48] Add NspiResolveNames and the associated torture test. jkerihuel. 2007-02-01 jkerihuel [r47] Fix nspi decoding problem due to the usage of a hyper instead of a dlong. jkerihuel. [r46] - Add a preliminary NspiUpdateStat IDL - Fix the new server code convention naming (function prefixed with dcesrv_) - Fix a security bug in emsabp provider code jkerihuel. [r45] Fix the allocation memory for the EcDoRpc_{MAPI_REQ,MAPI_REPL} pointer. jkerihuel. [r44] Add SetProps [out] support. Temporary allocation pb fixed in ndr_pull_mapi_response. Final fix in next commit. jkerihuel. 2007-01-31 jkerihuel [r43] Fix the SetProps [in] IDL New mapi call support added: - ModifyRecipients [in,out] - SubmitMessage [in,out] jkerihuel. [r42] Add IDL support for the following mapi calls: [in] CreateMessage [in] SetProps The SetProps IDL is still experimental and the content blob should be decoded more than the current IDL does. jkerihuel. 2007-01-30 jkerihuel [r41] Fix the align problem in QueryRows reply blob Add some printing output and clean useless DEBUG. jkerihuel. 2007-01-29 jkerihuel [r40] Fix the OpenMessage IDL and add ndr_print support to the MAPI-FETCHMAIL torture test so we can read information. jkerihuel. [r39] Commit of the first experimental but working implementation of the MAPI-FETCHMAIL torture test able to retrieve mails from an Exchange Server. jkerihuel. [r38] - Add a preview implementation of cached data system for multi MAPI calls requests - Add SetColumns and QueryRows calls to mapi.c + mapi_fetchmail torture test - Enhance some MAPI calls IDL - Fix some pull/print functions according to error_code and row_count values jkerihuel. 2007-01-28 jkerihuel [r37] Manual handling of EcDoRpc_MAPI_REPL pull and print function. When a mapi call returns an error_code different from MAPI_E_SUCCESS, we have to stop processing the function IDL since no parameters follow. jkerihuel. [r36] add MAPISTATUS to EcDoRpc_MAPI_REPL add mapi library code for: - OpenFolder - Release - GetContentsTable - GetReceiveFolder add mapi calls described above to MAPI-FETCHMAIL torture test jkerihuel. [r35] add mapi_response to emsmdb_transaction so we can get the results check the mapi call error core in OpenMsgStore jkerihuel. [r34] Add MAPISTATUS field in each mapi calls Add new MAPICODE (MAPI_E_CALL_FAILED) jkerihuel. [r33] Fix the mapi_request push function Add a first approach to the MAPI client side library Add a first approach of the MAPI-FETCHMAIL torture test Fix the smb.conf.example with new fields and remove Samba4 unused ones jkerihuel. 2007-01-27 jkerihuel [r32] Initial mapidump commit OpenMessage IDL fixed jkerihuel. 2007-01-24 jkerihuel [r31] Unused and dummy code removed jkerihuel [r30] - Remove the MAPI decoding TDR layer and associated functions - Add MAPI decoding in exchange.idl at NDR layer - mapi_request / mapi_response pull/print ok - implement subcontext for async response decoding in some EcDoRpc IDLs. - new MAPITAGS added related to Message envelope properties - clean up the code and remove unused files - Add new MAPI opnums and associated IDL: * [in] Release (opnum=0x1) * [in,out] OpenFolder (opnum=0x2) * [in,out] OpenMessage (opnum=0x3) * [in,out] GetContentsTable (opnum=0x5) * [in,out] GetProps (opnum=0x7) * [in,out] Secolumns (opnum=0x12) * [in,out] QueryRows (opnum=0x15) * [in,out] GetReceiveFolder (opnum=0x27) * [in,out] OpenMsgStore (opnum=0xFE) ** WARNING ** 1. Assumption ============== For IDL with unknown fields followed the IDL may change and the mapping of these unknown bytes incorrect. It's just based on assumptions and results of the different wireshark captures. 2. Broken Code ============== - The mapi_request / mapi_response pull function - emsmdb torture tests and libmapi/emsmdb.c All this code is currently broken and will be fixed when we start writing the new emsmdb torture suite using the new API. jkerihuel 2007-01-22 jkerihuel [r29] Fix ndr_pull_MAPI_DATA function jkerihuel. [r28] - Add new mapi opnums - Add a first IDL implementation for OpenMsgStore out jkerihuel. [r27] - Enhance the handles id support in MAPI_DATA - Remove unused code EMSMDB encoding/decoding is currently broken. It will be fixed when we start the client side mapi library implementation. jkerihuel. 2007-01-21 jkerihuel [r26] - Change IMAPISession.idl to mapi.idl - enhance mapi content payload decoding (multiple calls supported) - add sub EcDoRpc opnums and IDL for setcolumns (in) jkerihuel pkhun [r25] - memory leak fixed - new function on emsabp provider for entry id generation pkhun 2006-12-27 jkerihuel [r24] Old mapitables code deleted and merge of the samdb code used in openchange (emsabp_result_guid function). The following revision compiles and work fine with Samba4 revision 20341 jkerihuel. 2006-12-17 pkhun [r23] Instance keys management changed (we now use struct instance_key and uint32_t instead of an array of 4 uint8_t) pkhun 2006-12-15 jkerihuel [r22] - Fix compilation warnings based on patches provided by Stefan Huehner - Fix the DSO issue for x64 platforms - Add the evolution plugin in the compilation process - remove the mapidump code (obsolete and replaced with ndrdump usage) jkerihuel. 2006-12-13 jkerihuel [r21] evolution plugin moved into client/evolution for a correct and extensible naming convention. EcDoRpc IDL modified: - opnum are now 8 bits - action enum added - EcDoRpc ndrdump output enhanced IMAPISession IDL modified: - Change OpenMsgStore function name to MAPI_RPC_LOGON for the 0xFE opnum operation. Fix warnings in the code. jkerihuel. 2006-12-09 loic [r20] Openchange-Evolution plugin commit I reorganized openchange evolution plugin source tree. Now we have one directory for the camel-openchange provider, and one for the openchange eplugin. Everything can be found in the oc-evolution directory. This is code a minimalist implementation of the camel provider for evolution. It will make appears an openchange server type in the server list handled by evolution. Still have to fix the ./configure to create a Makefile though. 2006-12-05 jkerihuel [r19] Fix the memory allocation problems in the emsmdb torture test 2006-12-03 jkerihuel [r17] Removed ascstr and directly add it to the IDL [r16] Fix the NspiQueryRows response where strings containing the user email address have to be NULL terminated. The EMSABP provider is working ;-) pkhun [r18] The emsabp provider is now able to return multiple users when searching for part of a username. pkhun 2006-11-30 jkerihuel [r15] Fix the networkAddress binding strings for the Exchange object in the configuration db. The SERVER variable based on exchange:server had been added while we needed the NETBIOSNAME one Fix a segmentation fault in emsabp.c due to an unchecked pointer res->msgs. This was causing smbd to segfault when the supplied legacyExchangeDN sent by the user wasn't present in the database. jkerihuel 2006-11-27 jkerihuel [r14] Remove unused files and directory. Update Makefile.in and remove storedb compilation rules. pkhun [r13] Fixed : - NspiQueryRows - NspiDNToEph - NspiGetProps - provisioning (for the legacyExchangeDN of the server entry) 2006-11-26 jkerihuel [r11] Fix the build and remove dynconfig samba lib dependency. jkerihuel pkhun [r12] Unused ldif files removed + Schemas definitions updated pkhun [r10] Provisionning fixed (old ldif files cleaned) pkhun 2006-11-22 jkerihuel [r9] add tags rules to the Makefile jkerihuel. [r8] add the \\pipe\\protected_storage named pipe to exchange_nsp bindings jkerihuel. 2006-11-21 jkerihuel [r7] Add a dcerpc_server module in charge of the exchange interfaces registration. When this module is loaded prior the remote endpoint, it let us proxify the exchange_nsp and exchange_emsmdb ones. Change the exchange_nsp ncacn_np binding string to reflect how Exchange server is currently using it. Conform the IDL with latest pidl requirements and move the MAPI_DATA structure from exchange_nsp to exchange_emsmdb. jkerihuel 2006-11-14 jkerihuel [r6] Create the $prefix/modules/{dcerpc_server,torture} directories. This fix openchange make install rule. jkerihuel. [r5] This commit conforms openchange with the Samba4 trunk and fix the autotools checks. I've modified the openchange torture file to match the current smbtorture API and the OPENCHANGE-NSPI-PROFILE test was successful. The NSPI ndrdump suite has fully been tested and works correctly. jkerihuel. 2006-11-05 jkerihuel [r3] This commit fix the build system: - add the -ldynconfig dependency to LDFLAGS - add header checks in configure.ac. We need them for the moment cause Samba4 doesn't install some headers required by openchange core - fix the make install - remove autotools generated files and definitively ignore them with the .svnignore file - keepref keyword removed from exchange_nsp interface jkerihuel. pkhun [r4] + aclocal.m4 removed from repository + provisionning fixed pkhun.