2010-08-29
    jkerihuel
	[r2144]
		Add CopyProfile and DuplicateProfile to IProfAdmin interface

2010-08-27
    jkerihuel
	[r2142]
		Add the localaddress patch prior Samba4 integration. Pending new
		Samba4 localaddress patch fixing memory leaks in the pipe.
	[r2141]
		Include a mapitest test suite / challenge for lzxpress
		
		The idea of this test is to check if lzxpress compressed blobs
		provided by OpenChange are the same than Outlook ones. The test takes
		a Outlook->Exchange capture file with compressed blob, pull the
		content, decompressed the content, recompress the content and check
		the output for differing bytes.
		
		This challenge code should give us good information when lzxpress
		compress code is fixed. Additionally you can uncomment the compression
		code in libmapi/emsmdb.c to do further testing.
	[r2140]
		- Add implementation for EcDoRpcExt2 (0xB) RPC opnum. Current code
		  doesn't provide compression for request and use obfuscation
		  instead. However mapi_response makes use of xpress and are
		  decompressed properly.
		
		- EcDoRpcExt2 implemented without subcontexts but uint8_t array
		
		- add a wrapper for emsmdb transaction to switch between
		  EcDoConnect/EcDoRpc and EcDoConnectEx/EcDoRpcExt2 depending on MAPI
		  profile 'exchange version' attribute.
		
		NOTE: emsmdb.c implements the logic for using compressed blob and
		checks whether compressed or obfuscation should be used depending on
		blob length. However this behavior has been commented out because
		comrpessed blobs are rejected by Exchange (ecRpcFormat 0x4B6 error).
2010-08-26
    jkerihuel
	[r2139]
		Reference profile structure in mapitest structure.
		
		Use profile->mailbox instead of szDisplayName for sending mapitest
		emails. This also fix ResolveNames mapitest issues when conflicts
		between usernames exist (e.g. user1, user11, user100).
    bradh
	[r2137]
		Prevent segfault if we don't have any appointments.
		
		Resolves issue #284.
		
		Also prevent leaking talloc context in a couple of error cases.
	[r2136]
		Merge Rev 2133 from branches/current-samba4 to trunk.
		
		I inadvertently committed this to the wrong branch.
		
		This pushes the fix for #229 into trunk.

2010-08-23
    jelmer
	[r2134]
		Update bzr ignores.

2010-08-18
    jkerihuel
	[r2131]
		Add a git update case in installsamba.sh script and make it available
		within OpenChange Makefile.

2010-08-17
    jkerihuel
	[r2127]
		Manually commit remaining changes from current-samba4 into trunk
	[r2126]
		Merge current-samba4 branch back into trunk

2010-08-11
    bradh
	[r2117]
		Microsoft confirmed that RopGetValidAttachments isn't supported in Exchange 2010.
	[r2114]
		fix missing part of r2113.
	[r2113]
		Fixes to better work with Exchange 2010.
		
		Still some open issues to resolving bug 227.
	[r2112]
		Fix handling of "not applicable" tests when using --mapi-calls
		
		Prior to this, if you asked for a test that was after a test that was
		flagged as suppressed, the test you asked for didn't get run, and the
		flagged test was reported instead.
2010-08-10
    bradh
	[r2111]
		Correctly handle cases where the start date of the range is after the first calendar appointment.
		
		Resolves bug:272.
		
		Thanks to Eric Reischer for reporting the problem and testing the fix.

2010-08-03
    bradh
	[r2107]
		trivial comment cleanup.

2010-08-01
    jkerihuel
	[r2105]
		Move from auto-generated mapicode.h to static code.
	[r2104]
		Add configure.ac support for gthread implementation but give preferences to pthread
		Add THREAD_CFLAGS to config.mk.in
		ifdef between pthread and gthread in libmapi_private.h
	[r2103]
		Check for libpthread in configure.ac and make this lib optional
		Add references to config.h in libmapi_private.h
		Replace references to config.h with libmapi_private.h

2010-07-31
    jkerihuel
	[r2101]
		- Add an exchange-version parameter to mapiprofile structure and tool
		  which let user choose between 0x0/0x2 or 0xA/0xB
		- Tweak libmapi implementation to allow EcDoConnectEx usage
		- Improve mapiprofile --dump to show more useful parameters
	[r2100]
		- Add custom NDR implementation for EcDoConnectEx to bypass pointers/array problems
		- make use of mapi2k7_AuxInfo structure for rgbAuxOut
		
		- Create a subcontext for AUX_HEADER structures to jump over unknown cases properly.
	[r2099]
		Handle the no obfuscation nor compression RPC_HEADER_EXT flags case 
    bradh
	[r2098]
		Trivial api documentation change.

2010-07-29
    bradh
	[r2095]
		Another trivial API documentation fix.
	[r2094]
		More trivial API documentation fixes.
	[r2093]
		Minor API documentation fix.
	[r2092]
		Implement some null pointer checks.
		
		Also rewords some API documentation.
		
		Original issue and patch by Erik Hovland - thanks again. I implemented it
		with some slight changes.

2010-07-28
    bradh
	[r2090]
		Fix RecipientRow IDL to match MS-OXCDATA 2.9.3
		
		This allows handling of addresses that contain X400 format content.
		
		Patch by Samuel Sieb and I, resolves ticket #250.

2010-07-26
    jkerihuel
	[r2087]
		Fix a crash in openchangeclient vs Exchange 2010:
		When Queryrows is called on Exchange 2010 and no rows are available, QueryRows returns MAPI_E_NOT_IMPLEMENTED error (0x8004FFFF).
		Ensure we have at least one message to fetch in openchangeclient --fetchmail prior calling QueryRows.

2010-07-24
    jkerihuel
	[r2079]
		Very basic use of OpenUserMailbox in openchangeclient.
		Doesn't handle clustered Exchange servers.
    bradh
	[r2077]
		Rename a few function arguments to avoid doxygen warnings.
		
		This is a workaround, but will allow easier checking for the future.
	[r2076]
		Update doxygen configuration to match latest version
	[r2075]
		Add missing doxygen parameter information.
	[r2074]
		Fix a couple of doxygen issues.

2010-07-23
    jkerihuel
	[r2072]
		Use sed in Makefile to replace local headers reference in installed headers
	[r2071]
		Use local headers rather than installed ones
		Propagate this behavior to torture test suites and bindings
	[r2070]
		Remove libmapi/defs_private.h
		Remove references to libmapi/defs_private.h in OpenChange tree
	[r2069]
		Remove auto-generated headers for libmapi:
		- Add libmapi_private.h for private definitions
		- Use libmapi.h for public definitions
		
		- Merge libmapi_private.h and defs_private.h
		
		Use local headers rather than installed ones
		
		Change libmapi compilation list to have ndr_exchange_c.h 
		available for other libmapi C files.
		
		Remove references to libmapi/proto_private.h in OpenChange tree
		Remove references to libmapi/defs_private.h in OpenChange tree

2010-07-20
    bradh
	[r2065]
		Modify the samba build script to make it more flexible.
		
		Heavily based on changes provided by Andrew Tridgell. Thanks!

2010-07-15
    jkerihuel
	[r2063]
		Use local includes rather than installed ones for openchange tools/utils
	[r2062]
		Use local includes rather than installed ones for mparse.pl
	[r2061]
		Use local includes rather than installed ones for mapiproxy and server components
	[r2060]
		Use local includes rather than installed ones
	[r2059]
		Use local includes rather than installed ones for libexchange2ical
		Sanitize function declarations
	[r2058]
		Remove proto and proto_private.h from ignore list
	[r2057]
		Remove auto-generated headers for libmapiadmin
		Use local includes rather than installed ones for libmapiadmin
	[r2056]
		Remove proto and proto_private.h from ignore list
	[r2055]
		Remove auto-generated headers for libocpf
		Use local includes rather than installed ones for libocpf
	[r2054]
		Fix bug #248 misnamed PR_RECIPIENTS_FLAGS
	[r2053]
		Add IDL implementation for WritePerUserInformation.
		
		Note: This IDL suffers from the same problems than SetMessageReadFlags. It depends on logon_id and Logon flags.

2010-07-14
    jkerihuel
	[r2051]
		Add server-side preliminary ReloadCachedInformation implementation.
		The Rop only support a specific case and it is expected to work better after
		integration of the OCPF contexts for message transaction.
	[r2050]
		Missing header for stat()

2010-07-06
    bradh
	[r2048]
		Implement RopSetReceiveFolder
		
		There is a part of this missing (relating to modification times) that will be implemented
		as part of the RopGetReceiveFolderTable implementation.
		
		This updates the mapitest code, including a change to the function signature for the
		mapitest_print_retval_step() function to take an explicit MAPISTATUS value instead of
		relying on GetLastError().

2010-07-04
    bradh
	[r2046]
		Enhance the GetReceiveFolder ROP.
		
		This now tries all available MessageClass entries.
	[r2045]
		Enhance GetReceiveFolder mapitest.

2010-07-03
    bradh
	[r2043]
		Make sure objects are correctly init()'d and release()'d even in fault condition.
	[r2042]
		Make sure objects are correctly init()'d and release()'d even in failure case.
	[r2041]
		Make sure all objects are initialised, even in failure cases.
	[r2040]
		Trivial comment change.
	[r2039]
		Add a few more null pointer protections into fsocpf backend.
		
		Trying to get mapitest running...

2010-07-02
    bradh
	[r2037]
		Add mapitest unit test for DeleteMessages with multiple messages.
	[r2036]
		Implement DeleteMessages ROP.
		
		Adds message deletion support to mapistore core and fsocpf backend.
		
		I've been testing this with OXCMSG-SAVE-CHANGES-MESSAGE from mapitest. 
	[r2035]
		Make it a bit easier to use alternative GIT tree.
	[r2034]
		Ensure we return the correct MID from SaveChangesMessage

2010-06-28
    jkerihuel
	[r2031]
		Fix a segfault when releasing handles. We kept 
		processing the handles list after releasing the element.
    bradh
	[r2030]
		Add some simple tests for openchangeclient.
	[r2029]
		Unbreak compilation problems from previous commit.
	[r2028]
		Ensure we don't duplicate folder names.
		
		This adds appropriate checks for both system (openchangedb) and normal (mapistore)
		folders. The mapitest code also checks that the OPEN_IF_EXISTS flag works. 
		
		I had to add an additional mapitest_print_retval() variation, since successful operations
		don't reset errno.

2010-06-26
    jkerihuel
	[r2026]
		add support for PT_CLSID and PT_SVREID in cast_mapi_SPropValue
	[r2024]
		Add a memory context argument to cast_mapi_SPropValue to be less
		dependent to libmapi and allow better memory allocation handling.
		
		Propagate API change among OpenChange source tree
		
		Add doxygen documentation for cast_mapi_SPropValue
    bradh
	[r2025]
		Make sure we always set the opnum and handle, even for error cases.
	[r2023]
		Suppress compilation noise in a few places for consistency with the rest of the Makefile
2010-06-25
    jkerihuel
	[r2022]
		Add ocpf_write support for PT_MV_STRING8, PT_MV_UNICODE, PR_MV_BINARY
		and PT_MV_LONG
	[r2021]
		- Add documentation for PT_MV_LONG
		- Update PT_BINARY section
	[r2020]
		- Fix PT_BINARY to now parse uint8_t 0x00 - 0xFF instead of previous
		  (and incorrect) long items
		
		- Add implementation for PT_MV_LONG
		- Clean up useless code
	[r2018]
		Add  mapidump_SPropValue for PT_MV_LONG
	[r2017]
		Add support for PT_MV_UNICODE type
	[r2016]
		Add  mapidump_SPropValue for PT_MV_UNICODE
	[r2015]
		Add support for PT_MV_BINARY type
		
		This implementation required to add a Binary_r within ocpf_context to
		union SPropValue_CTR content consistent among recursive parsing.
	[r2014]
		Add PT_MV_BINARY support in cast_SPropValue
	[r2013]
		Add mapidump_SPropValue entry for PT_MV_BINARY
	[r2012]
		Do not search context if context_id is NULL
	[r2011]
		- Add a function to synchronize data on filesystem after a write
		  commit (close/fopen) and change open and context flags depending on
		  their previous value.
		
		- If PR_MESSAGE_CLASS or PR_MESSAGE_CLASS_UNICODE is used for
		  set_SPropValue, update context type.

2010-06-23
    jkerihuel
	[r2009]
		Fix warnings generating by the incorrect .tp_new first argument type
	[r2007]
		- Implement server-side skeleton for ReadPerUserInformation (0x63)
	[r2006]
		- Use external TALLOC context for cast_SPropValue rather than
		global_mapi_ctx->mem_ctx. This was preventing from using this function
		properly in a context different from libmapi based application
		(server).
		
		- Add cast_SPropValue support for PT_CLSID and PT_MV_LONG
		
		- add message path + id in the indexing database for mapistore case in
		  SaveChangesMessage
	[r2005]
		Add default owner/full rights to new root folders created. Works with
		Outlook 2003 (shift + delete for hard delete)
	[r2004]
		Add PT_SRVEID support in SPropValue (0xFB proptype)
	[r2003]
		Add owner / full-access rights for mailbox folders. It introduces less
		stabilitity but offers wider range of available features.
	[r2002]
		Generate PidTagRights for PR_RIGHTS (used in openchangedb)
2010-06-22
    jkerihuel
	[r2001]
		- Complete fsocpf_get_path implementation
		- Register message into indexing.tdb after SubmitMessage
	[r2000]
		Add ocpf_server_set_type python bindings.
		
		Ohhh looks like we have reached r2000 ;-)
		
		 .-.                ,                                                     
		`._ ,                           
		   \ \                 o         
		    \ `-,.                        
		   .'o .  `.[]           o        
		<~- - , ,[].'.[] ~>     ___                                               
		 :               :     (-~.)    
		  `             '       `|'     
		   `           '         |      
		    `-.     .-'          |      
		-----{. _ _ .}-------------------                                         
	[r1998]
		- Add SetProps server side implementation for mapistore messages
		
		- Add a preliminary set of properties within CreateMessage (not
		  complete yet) as stated in MS-OXCMSG 3.2.5.2
		
		- Add SaveChangeMessages preliminary server side implementation
		- Add SubmitMessage preliminary server side implementation
		
		- add mapistore and fsocpf backend implementation for
		  SaveChangeMessages and SubmitMessage. Note: SubmitMesage is just a
		  hack for now.
	[r1997]
		- Add a wrapper to set OCPF file TYPE
		- Free/Allocate type on purpose
	[r1996]
		storing a mapistore_message within the message object is useless for
		the moment. Clean-up this bit introduced with last commit.
	[r1995]
		- Add preliminary OCPF API for server purposes (used by
		  mapistore_fsocpf)
		
		- ocpf_server API now allows caller to dynamically update
		  properties. If the properties was already existing, updates its
		  value.
		
		- Update ocpf_test.py to reflect this behavior
		
		- Add preliminary server side implementation for CreateMessage (server
		  + mapistore + fsocpf backedn)
		
		- Add preliminary mapistore + fsocpf backend skeleton for SetProps
		  operation
    bradh
	[r1994]
		Typo fix in constant name.
2010-06-21
    jkerihuel
	[r1993]
		- Only prevent file opened in read-only to use write_commit
		- Position the stream at the beginning of the file before writing
	[r1992]
		Defer ocpf file creation (fopen with w+) to ocpf_write_commit
	[r1990]
		Add rmdir support to mapistore python bindings
	[r1989]
		- Add mapistore python C/API support for:
		  - add_context_indexing
		  - add_context_ref_count
		  - opendir
		  - closedir
		  - mkdir
		  - errstr MAPISTORE error to string conversion
		
		- Update mapistore python test script to demonstrate
		how to create a new folder using mapistore 
	[r1988]
		I may be wrong here, but that was the only way I could pass
		a folderID from python's layer to mapistore C/API
	[r1987]
		If context is manually deleted using public API, we need to remove the destructor
		we set during context init, otherwise talloc_free segfault occurs
	[r1986]
		talloc_strdup SPropValue strings
	[r1985]
		Add preliminary python bindings for mapistore
2010-06-20
    jkerihuel
	[r1984]
		Add FILETIME support for SPropValue
	[r1982]
		Add TypeCheck on SPropValue rather than blind cast
	[r1981]
		Add python binding for ocpf_write
		Add quick test code to ensure it works as expected
	[r1980]
		- Use SPropValue python object in ocpf module
		- Add a function binding to retrieve SPropValue array from OCPF file
		- Modify sample to test this behavior
	[r1979]
		- Move OCPF python bindings to pyopenchange directory
		- Install ocpf module within openchange/
	[r1978]
		- Check property type for SPropValue
		- Add auto-generated pyopenchange/pymapi_properties.c to the ignore list
	[r1977]
		- Add preliminary OCPF python bindings
		- Add a new pyopenchange python bindings directory:
		  - Preliminary handling of SPropValue data structure
		- Add some python bindings test files
		- Add a mparse parser to generate python bindings declaration for mapi
		  properties
		- Build automatically python bindings ** We need to add Python as a
		  required dependency **
    bradh
	[r1976]
		Implement EmptyFolder and enhance DeleteFolder.
		
		This still has quite a way to go, but it does mostly work for folders, including recursion.
	[r1975]
		Add extended test code for folder creation / deletion.
	[r1974]
		Add libmapiserver support for EmptyFolder size calculations.

2010-06-19
    bradh
	[r1972]
		Trivial typo fix.
	[r1971]
		Fix comment.

2010-06-17
    jkerihuel
	[r1969]
		New test.
	[r1968]
		Second test commit.
	[r1967]
		Test commit

2010-06-16
    jkerihuel
	[r1964]
		Fix OOM used in sample_appointment.ocpf
	[r1963]
		Consolidate PSETID array and rely on libmapi definitions.

2010-06-14
    jkerihuel
	[r1958]
		Add server-side skeleton for WriteStream Rop.
	[r1957]
		Add server-side skeleton for SetSearchCriteria and GetSearchCritera
		Rop.
		
		Improve GetSearchCriteria IDL and work around the null restriction
		response size in GetSearchCriteria reply by tweaking generated code
		into nopull,nopush,noprint
		
		Add generated mapistore ldif file to the ignore list
	[r1955]
		- Add preliminary implementation for named properties support in
		  mapistore. The API is yet very preliminary (init + get mapped
		  property ID), but is enough to return consistent data to Outlook and
		  make its behavior more reliable.
		
		- mparse.pl now generates a LDIF file for the mapistore namedprops LDB
		  database which maps named properties within namespaces and store
		  default values for common/standard named properties Outlook is
		  using.
		
		- add a custom ldb_connect wrapper in mapistore to allow mapistore to
		  open multiple instances of the same mapi named properties ldb
		  database.
		
		- Complete preliminary implementation of GetIDsFromNames in oxcprpt.c.
2010-06-13
    jkerihuel
	[r1944]
		- Fix some named properties
		- Add a referenced propID value once it is mapped.
		Will be used by mapistore to populate/generate the initial
		nameid props database
	[r1938]
		Fix a bug with unmapped named properties lookup.
		For convenience purposes GetProps accepts within input SPropTagArray
		unmapped named properties we internally turn into mapped ones using
		GetIDsFroNames. This behavior was incorrect cause we were looking for
		properties within specific ranges. Replace this behavior with a global
		lookup over named properties we know about.
		
		One limitation of this fix is that custom nameid properties (not referenced
		within libmapi/conf/mapi-named-properties) won't be lookup. However it is
		acceptable for the moment.
    bradh
	[r1943]
		Fix signed / unsigned issue in openchangebackup utility.
	[r1942]
		Fix some signed/unsigned issues in libmapi.
	[r1941]
		Fix up signed / unsigned issues with libocpf.
		
		This changes the API to allow easy testing of failure vs results.
	[r1940]
		make sure that the 0 is interpreted as unsigned.
	[r1939]
		Fix a signed / unsigned comparison warning in libmapi.
	[r1937]
		Fix some signed / unsigned warnings in torture suite.
	[r1936]
		Avoid signed / unsigned comparison in libmapiadmin.
	[r1935]
		Avoid signed / unsigned comparison in openchangedb.
	[r1934]
		Avoid signed / unsigned comparisions in mapitest
	[r1933]
		Avoid signed / unsigned comparisons in FSOCPF backend.
	[r1932]
		Fill in initialisers.
		
		Avoids warning with gcc's -Wmissing-field-initializers option.
    jelmer
	[r1947]
		Fix imports, clean up.
	[r1946]
		Raise exception on invalid arguments to openchange_mapistore_url.
2010-06-12
    jkerihuel
	[r1931]
		Fix duplicate
    bradh
	[r1930]
		Use calculated len inside the loop, instead of calling strlen each time.
2010-06-11
    jkerihuel
	[r1929]
		Add new properties and PSETID
2010-06-10
    bradh
	[r1928]
		Change variable name to avoid shadowed variable name warning with ICC.
	[r1927]
		Add newline at end of file to avoid compiler warning with ICC.
2010-06-09
    bradh
	[r1922]
		Ensure server modules work when building with coverage enabled.
    jelmer
	[r1925]
		Consistently use spaces rather than tabs.
	[r1924]
		Remove string exception.
	[r1923]
		Remove duplication of openchange name in namespace.
2010-06-08
    jkerihuel
	[r1921]
		We didn't set a valid error_code for FindRow skeleton.
	[r1920]
		- Add server-side skeleton for ReadStream ROP.
		- Add preliminary sanity checks on server-side FindRow
2010-06-07
    jkerihuel
	[r1919]
		Activate correct handling of retval in CreateFolder, despite Outlook
		2007 bad behavior. Currently working on fixing this.
	[r1918]
		My small Outlook 2007 'Search missing ROP implementation' shouldn't
		have been pushed ;-)
	[r1917]
		Add server-side skeleton for DeleteProperties Rop.
	[r1916]
		Implement server-size skeleton for GetPerUserGuid Rop.
	[r1915]
		Add server-side skeleton for GetPerUserLongTermIds Rop.
	[r1914]
		Add a preliminary stream object implementation
		Add stream to emsmdbp convenient functions
		
		Create a handle in OpenStream
	[r1913]
		Add skeleton server side implementation for OpenStream
	[r1912]
		Forgot to redo changes here.
	[r1911]
		- Undo the SetMessageReadFlag IDL change and add an explanation, so we
		don't make the same error twice and have pointers when we want to fix
		it.
		- Improve OpenMessage IDL and add the Reserved uint16_t bit.  
		- Replace sizeof() with known types to prevent from IDL mismatch types
		getting used.
	[r1910]
		For single process implementation, this code was fine.
		For multi-process/contexts, when we need to cache information
		to limit disk access, we should be using the ocpf element as
		a memory context.
		
		This patch makes it possible.
	[r1909]
		Fix SetMessageReadFlag IDL.
	[r1908]
		Add server side skeleton for SetMessageReadFlag Rop.
	[r1907]
		the previous "or"ed value used in LogonType union was non handled
		properly by pidl. Replace them with static values instead. This
		prevent Outlook rom reconnecting in different situations.
	[r1906]
		This was causing the ndr push error. Outlook now receive OpenMessage
		replies.
2010-06-06
    jkerihuel
	[r1905]
		With current implementation messages loaded and added to the mapistore
		fsocpf private list were never released/unloaded/free'd.
		
		Similar behavior would have occured in the future with folders.  Add a
		mapistore release_record function which will free/delete
		information/data associated to a given folder/message.
	[r1904]
		- Add a preliminary OpenMessage reply implementation
		- Add a function to resolve recipients against AD
		- Add implementation of GetProps for mapistore messages
		- Add mapistore getprops semantic
		- Add fsocpf getprops implementation
		
		Note: current implementation does not free message object and memory
		allocation needs to be revised.
		
		Note 2: openchangeclient --fetchmail works with this version :-)
	[r1903]
		Fix OpenMessage response size calculation. Subcontext size is already
		calculated when we add the RecipientRow.length size to the global size.
	[r1902]
		- Make ocpf_recipClass public
		- Turn path to headers to local in the lexer
    bradh
	[r1901]
		Avoid leaking file descriptors on error.
	[r1900]
		Check return type for vasprintf in libocpf.
2010-06-05
    jkerihuel
	[r1899]
		Change mapistore openmessage semantics to fetch/retrieve recipients
		and properties from mapistore. Modify OpenMessage ROP to dump
		mapistore_message structure contents retrieved from mapistore.
	[r1898]
		Add a function to retrieve recipients from a parsed OCPF message.
	[r1897]
		This is a wip commit, so there is a lot of DEBUG across the code. This
		will go away in further commits when the implementation is complete.
		
		- Add indexing API to mapistore. This API adds an indexing.tdb file
		  within user's mapistore private space and associate MID and FID to
		  their full mapistore path. Current implementation expects folder and
		  mid are repsented under their hexadecimal representation and using
		  the 0.16PRIx64 format string. It is not robust, but should do the
		  trick for the moment. Among features available:
		  	- create/open the indexing database
			- search of existing indexing context
			- ref count assessors
			- add/delete fid/mid records
			- retrieve the list of folders pointing to an element (parsing
		          of the mapistore URI)
		
		- Calls to the API have been added to the emsmdb provider
		  implementation for initialization and automatic attempt to add
		  entries whenever we open a folder.
		
		- Add preliminary code (relying on indexing API) for OpenMessage when
		  parent handle is the store object. The entire set of cases for
		  mailbox have been included.
		
		- Add mapistore code for op_openmessage operation.
		- Add message list to the fsocpf context
		- Add preliminary fsocpf backend code to open a message and store it
		  within ocpf_context.
    bradh
	[r1896]
		Refactored some of the FSOCPF backend.
		
		Basically some Extract Method refactoring to improve code re-use.
	[r1895]
		Use PRIx64 macro to avoid compiler warning.

2010-06-03
    jkerihuel
	[r1893]
		Add a new OCPF error OCPF_E_EXIST returned if a context already exist.
		Prevent ocpf_new_context from adding a context to the list if it
		already existed
	[r1892]
		Clean up debug code introduced while working on new libocpf version
	[r1891]
		- Make libocpf reentrant and use contexts/ref_count: No more globals
		  are used in libocpf, they are all specific to contexts. libOCPF is
		  now multi-process/thread friendly.
		
		- Remove Makefile bison compiling option with a bison %option in
		  ocpf.y
		
		- Propagate libocpf changes to openchange server and utils
		
		- Fix a bug in file/folder listing when we have both folders and
		  files.

2010-06-01
    jkerihuel
	[r1889]
		Untested code:
		- add libmapiserver calculation for OpenMessage + related OXCDATA structures
		- add skeleton implementation for server-side OpenMessage ROP
		- add preliminary emsmdbp_object_message implementation/initialization
	[r1888]
		- Flush ocpf output when an error occurs
		- Fix retrieval of message list in fsocpf backend
	[r1887]
		Add QueryRows implementation for mapistore in fsocpf backend.
	[r1886]
		- Add implementation for mapistore GetContentsTable
		- Fix error reply for GetHierarchyTable
	[r1885]
		Fix how PT_DOUBLE data is passed among libmapi layers.
	[r1884]
		Fix an issue introduced in r1858. PT_DOUBLE patch is valid
		for EMSMDB, not for NSPI. Rollback change for SPropValue
	[r1883]
		Add IPM.Note as a default receive folder for Inbox. This is used by
		Outlook 2003 in the Send/Receive process.
	[r1882]
		Add server-side skeleton for GetAttachmentTable operation.
	[r1881]
		Implement SetSpooler server-side function. The function looks like a
		skeleton ... and is one until we figure out what should be the
		associated server-side mechanism when clients tells OpenChange server
		they want to act as a mail spooler.
	[r1880]
		The LogonType cases were not handled properly
	[r1879]
		Replace existing method to retrieve emsabp_ctx in NSPI server code
		with mpm session management API and comparison to actual dce_call structure.
		
		Replace MAPI_E_LOGON_FAILED rather than MAPI_E_NOT_ENOUGH_RESOURCES in emsmdb server
		code when session is not found.
2010-05-31
    jkerihuel
	[r1878]
		Fix commit typo
	[r1877]
		We were adding context the list but were never removing them while the
		context_id was added to the free list. This was causing
		inconsistencies in mapistore context management + invalid
		record/pointers to remain and cause OpenChange server to crash.
		
		Also add commented code to CreateFolder ROP that will need to be
		enabled when we understand related Outlook behavior.
	[r1875]
		Patch from Bharath Acharya <abharath@gnome.org>:
		
		Print calendar items created at half hours
	[r1874]
		Minor warning fix - unused variable, not initialized
	[r1873]
		Fix a bug with invalid session leading to OpenChange server crash.
		
		We are now retrieving the emsmdbp_context pointer from our session
		management API, after a comparison check vs dcesrv_call_state rather
		than blindling and directly from dce_call.
    bradh
	[r1876]
		Add better error path handling for the OXCFOLD-CREATE mapitest module.
2010-05-30
    jkerihuel
	[r1872]
		Extend mapistore API to have a mapistore URI associated to the backend
		context. We want to limit creation of new contexts to the strict
		minimum.
		
		Propagate this change to emsmdbp_object_folder_init. Only create a new
		context if the uri intended to be opened is not already associated to
		an existing context.
	[r1870]
		Handle additional LogonFlags cases for mailbox store in Logon_repl
	[r1869]
		Fix empty EcDoRpc replies. Outlook 2007 is now happy and stops from
		disconnecting untimely.
	[r1868]
		Add server-side skeleton implementation for GetPermissionsTable
	[r1867]
		Pass parent mapi_handles to emsmdbp_object_folder_init rather than
		specific parameters.
		
		Improve emsmdbp_object_folder_init to handle all the different folder
		creation cases (root folder, mapistore or not, within mapistore or
		openchangedb etc.) OpenChange server now passes mapistest folder
		creation test properly.
		
		Fix a bug with context_id and mapistore. We were passing the parent
		context, then deleting it at some point, causing the parent object to
		be invalid. Now makes use of a reference counter we manage to keep
		consistency.
		
		Add a convenient function to emsmdbp_object API to retrieve the
		contextID associated to an object.
		
		It looks like we still have some issues when running both Outlook 2007
		and Outlook 2003 at the same time with OpenChange server. There may be
		some additional session checks to perform in the future.
	[r1866]
		Fix a bug in session management API:
		
		The mpm_session API uses id, id2, node and context_id from the dcerpc
		session to uniquely identify a session context. 
		
		However when Outlook calls EcDoConnect multiple times, it still uses
		the same dcerpc session. With previous API we were freeing the session
		while it was still in used - which lead in unstable and unpredictable
		crashes.
		
		The following patch adds a ref_count to the mpm_session API and server
		code has been changed for emsmdb and nspi server to increment the
		ref_count when the session already exists or create a new session if
		none is already stored.
		
		Also the mpm_session code checks for the ref_count value and ensures
		it is 0 before calling the destructor.
	[r1865]
		Call emsmdbp_object_folder_init in any case when creating a
		folder. The emsmdbp_object function now do required checks and
		initialize the folder's object properly.
    bradh
	[r1871]
		trivial comment cleanup.
	[r1864]
		Minor cleanups for RopCreateFolder in the server.
		
		Prefix the mapistore_uri folder name in the path with "0x"
		
		Use ulFolderType (the folder) instead of ulType (ansi vs unicode) when
		deciding which folder type to create.
	[r1863]
		Trivial comment fixes.
2010-05-29
    jkerihuel
	[r1862]
		Complete the opendir implementation for mapistore folders. Outlook
		doesn't crash anymore when attempting to open mapistore folders.
	[r1861]
		was using the wrong function emsmdbp_is_mapistore instead of
		mailboxstore.
	[r1860]
		Commit Brad Hards's implementation for Public Folders support.
		Personal changes wrt initial patch:
		
		- remove mapistore_uri from openchangedb PF record at
		  provisioning. Only new created folders should be mapistored.
		- Add a mailboxstore boolean to folder and mailbox emsmdbp so we can
		  select the correct basedn for searches.
		- Fix GetProps to provide an accurate answer to Outlook when fetching
		  public folder's store specific properties.
		- Use get_PublicFolderId rather than SpecialFolderId when we open a
		  public folder store.

2010-05-28
    jkerihuel
	[r1858]
		Patch from Milan Crha <mcrha@readhat.com>:
		
		Fix PT_DOUBLE support in openchange
	[r1857]
		Fix unicode ocpf format in ocpf_write
	[r1856]
		- Fix PT_I8 support in libocpf: PT_I8 support was incorrectly
		processed as PT_DOUBLE and prevented properties with 0x0014 proptag
		(e.g. PR_PARENT_FID) to be added properly to ocpf files.
		
		- Add PR_PARENT_FID to the set of properties when creating folders
	[r1855]
		Fix mkdir prototype in sqlite3 backend

2010-05-27
    jkerihuel
	[r1853]
		Outlook uses GetProps with the PidTagSubFolders property to check if a
		folder has subfolders. Add this property at provisioning (set to
		FALSE), then set it to true on system/specialfolders if folder
		creation in mapistore went OK.
	[r1852]
		- Implement mkdir operation at mapistore level
		
		- Update PidTagFolderChildCount of parent folder when parent is the
		  root folder of a mapistore context (folder attributes stored in
		  openchange.ldb)
		
		- Improve RopCreateFolder implementation
		
		- Clean-up emsmdb_object_folder_init implementation
		
		- Add a convenient function to turn ROPs parameters into MAPI
		  properties. This prevents from having endless number of parameters.
		
		- Commit remaining parts of the provision changes
	[r1851]
		This TODO doesn't belong here
	[r1850]
		Add a convenient function to retrieve the distinguishedName of a
		folder given its folder identifier. This function is useful when
		building dn for openchangedb ldb_add operations.
	[r1849]
		Add PidTagComment so it can be used in openchange.ldb when root
		folders are created with a comment CreateFolder parameter.
	[r1848]
		Make it possible to retrieve MailboxRoot folder using
		olFolderMailboxRoot in GetDefaultFolders.
	[r1847]
		Outlook 2007 tries to create a To-Do search folder under user
		mailbox. Creates the folder at provision time to be kind with it.
		
		Set PidTagParentFolderId to 0 for mailbox root
	[r1846]
		The wrong index in mapi_repl was causing the crash I've investigated
		over the past 10 hours.
		
		Please always use idx for mapi_response->mapi_repl[] index ;-)
2010-05-26
    jkerihuel
	[r1845]
		In current architecture, we need to retrieve root mapistore folder properties
		from openchangedb, then use mapistore for operations such as GetHierarchyTable or
		GetContentsTable. This was not possible with the current design where we only
		switch between mapistore: true or false.
		
		I have introduced a mapistore_root boolean associated to folder object which we
		set to true if the folder initializes a mapistore context (otherwise false).
		
		This boolean is used in GetProps so we retrieve mapistore container properties
		from openchangedb and not mapistore.
    bradh
	[r1844]
		Add size calculations for public folder RopLogon
		response.
2010-05-25
    jkerihuel
	[r1843]
		We'll change CreateFolder to generic code later.
		For the moment change from sqlite to fsopcf backend for system folders
	[r1842]
		Fix handling of flagged property row in GetProps (Mailbox case).
	[r1841]
		Missing break added, now makes Outlook 2003 launhes properly.
	[r1840]
		Ensure PidTagAttr is valid and prevent ldb layer from segfaulting
	[r1839]
		Send a flagged PropertyRow when GetProps is called with mapistore
		Add a nasty hack and call this fake MAPI_E_NOT_FOUND property value for
		GetProps if the object doesn't exist.
		
		In openchangeclient we are calling get_container_class using the parent object
		(Mailbox root folder) and the FID of the 2-level down folder. This causes
		openchange server to crash. The hack exposed above will help temporary workaround
		this problem while we figure out/remember the real problem: Why do we have
		to call the parent to retrieve the container class?
	[r1838]
		Remove last references to systemfolder in libmapiproxy API 
	[r1837]
		release objects properly in the mailbox recursive function
	[r1836]
		After we release ocpf_context, strings are destroyed.
		Prevent from happening by stealing the overall context and
		talloc_strdup strings.
		
		We'll need to find a better/encapsulated way to do this on long term.
	[r1835]
		Add a small hack to handle StandardPropertyRow properly
		StandardPropertyRow have no errors and have a prefixing flag set to 0
	[r1834]
		Get ride of the previous way to detect 
		systemfolder/mailbox/mapistore folders.
		
		This was barely understandable and error prone. 
		
		It is now replaced by a mapistore boolean set for every object
		+ a convenient emsmdbp_object function to check mapistore value
		for given handle quickly.
2010-05-24
    jkerihuel
	[r1833]
		Add mapistore implementation for QueryRows ROPs relying on
		GetHierarchyTable objects (folders properties listing).
		
		Add fsocpf backend implementation to fetch folders properties from a
		.properties OCPF file stored within the folder (identified by its
		PR_FID).
		
		Customized emsmdbp table object to have:
		- a context_id and whether the table is within mapistore or not.
		- to know if the table comes from GetHierarchyTabke or
		  GetContentsTable
		
		Add a path element to the folder_list structure in fsocpf backend to
		quickly use the full path and open the .properties file.
		
		Note: current code is for developers only. It is known to have bugs
		(e.g. memory allocation), furthermore there is some manual
		openchangedb and filesystem operation to perform in order to have the
		commit intended results.
	[r1832]
		Add a convenient function for openchange server that lets build the
		SPropValue array with known properties.
	[r1830]
		Replace the hardcoded fsocpf_ctx->fid with a basic code searching for last elements
		in mapistore_uri path.
	[r1829]
		Fix typo in PidTag name
	[r1828]
		Add PidTagFolderChildCount
	[r1827]
		Add libocpf as a dependency to mapistore_fsocpf backend
	[r1826]
		Add a ulType to emsmdbp table object.
		We need to make the difference between folders table (hierarchy) and messages ones (contents).
	[r1825]
		This is a large work in progress commit:
		
		- Do not add mapistore_uri for Mailbox and IPM Subtree. These are only
		  openchange.ldb containers.
		
		- Fix a memory issue with emsmdbp object destruction: use a different
		  context for folder object. This was preventing from having a valid
		  DIR * when releasing the object at mapistore layer.
		
		- Add preliminary implementation for OpenFolder (GenericFolder) in
		  emsmdbp server code and mapistore. It can't yet be tested properly
		  with openchangeclient --mailbox because we need to extend QueryRows
		  implementation first. This will be achieved in further commits
		
		  We are now using mapistore_uri attribute value (valid or NULL) to
		  detect whether it is a systemfolder (blank container) or if we need
		  to initialize a mapistore backend context.
		
		- Add mapistore implementation of GetHierarchyTable and backend
		  implementation for fsocpf. Since we don't have a working
		  Createfolder/mkdir implementation yet, you need to add
		  PidTagFolderChildCount = 1 to the folder record in openchange.ldb +
		  manually create the directory on the filesytem.
	[r1824]
		Missing mapi_object_release call added
2010-05-23
    jkerihuel
	[r1823]
		- Add libmapi as a dependency to libmapistore. We need libmapi to
		  benefit from operations on MAPI properties.
		
		- Add a MAPISTORE_RETVAL_IF macro and a MAPISTORE_SANITY_CHECKS one
		  for common checks.
		
		- Refactor the search of the backend context given its context id in a
		  function and propagate the change to related functions.
		
		- Add skeletons for opendir, closedir, mkdir and rmdir. Prototypes of
		  these function may change in the future.
	[r1822]
		Implement create_context and delete_context for fsocpf backend. Patch
		initially from Brad Hards.
		
		Add a double linked list with fid/DIR couples for folders operations
		to be developed.
	[r1821]
		Fix a bug in NSPI server which was preventing NspiGetMatches
		from retrieving the correct DN from the in-memory tdb database.
		
		Should fix the profile creation error users were experiencing.
		 
	[r1819]
		Add a reference to the libocpf documentation for ospf backend
    bradh
	[r1820]
		Add forgotten part of r1818.
	[r1818]
		Support provisioning mailboxes with either fsocpf or sqlite backends.
		
		fsocpf is the default at this stage.
		
		OK'd by Julien.
2010-05-22
    jkerihuel
	[r1817]
		Fix paths to related pages
	[r1816]
		Patch from Brad, fix doc typo, grammar - makes it sound more English.
2010-05-21
    jkerihuel
	[r1815]
		Add API documentation for init, backend connection contexts
		Add programming samples
	[r1814]
		Install libmapistore pc file
	[r1813]
		0.2 version of mapistore documentation. 
		Merge some of the initial mapistore wiki page content.
		Add a section on FSOCPF backend
    bradh
	[r1812]
		Various API documentation fixes. All trivial.
	[r1811]
		Fix some hard-coded formatting in mapitest common code.
	[r1810]
		Add a simple create / delete folder test to mapitest.
		
		I've been using this to test the basic operations.
	[r1809]
		Enable DeleteFolder rop, now we have a partial implementation.
	[r1808]
		Implement RopDeleteFolder, and handle the case where a folder already exists in RopCreateFolder
		
		This still only works for a top level folder.
	[r1807]
		Add convenience API to obtain the FID for a given folder (by name).
		
		This is useful to tell if a folder exists, which we need to do before
		we create it.
		
		Also fixes a nuisance warning about printf specifiers. 
	[r1806]
		Extend CreateFolder size calculations to handle some of the optional elements
		
		We still don't properly handle the variable length server element.
2010-05-20
    jkerihuel
	[r1805]
		Add general overview of what mapistore is and 
		how it can be used from a user perspective
	[r1804]
		Fix doxygen warnings
	[r1803]
		Refactor mapiproxy documentation into a global mapiproxy / openchange server doc.
		- Add a mapistore documentation skeleton
		- Add related pictures
2010-05-19
    jkerihuel
	[r1801]
		Add folder atomic operation to mapistore and skeleton to backends:
		mkdir,rmdir,opendir,closedir,readdir
    bradh
	[r1802]
		API documentation typo fix.

2010-05-18
    jkerihuel
	[r1799]
		- Push Brad's CreateFolder implementation after turning hardcoded fields to generic one.
		
		Note: current implementation is incorrect as it states that any folder is referenced
		within openchange.ldb while only system/top folders are. We have a mapistore URI for
		system/top folders, not for subfolders which are stored directly within specified
		mapistore backend.
		
		However the implementation is almost correct when it comes to create folders directly
		under / in the user mailbox.
	[r1798]
		- Add a 'fsocpf' mapistore backend skeleton (FileSystem + OCPF)
		- Fix some doxygen in mapistore sqlite3 backend
		- Add an op_mkdir skeleton to mapistore
		- Add fsocpf:// namespace test to mapistore_test
		- Compile fsocpf only if libocpf gets compiled
		 
	[r1797]
		Add defs_private.h so we can use PRIx64 where appropriate
	[r1796]
		It makes more sense to directly return the next available and formated FID rather
		than the GlobalCount raw value.
	[r1795]
		Add exchange username to emsmdbp_ctx structure for convenient purposes
	[r1794]
		After openchange_ldb is opened, map attributes of the @ROOTDSE record
		with ldb_set_opaque so ldb_get_default_basedn and ldb_get_root_basedn work.
2010-05-17
    jkerihuel
	[r1793]
		Implement a convenient function to retrieve the GlobalCount value from
		the objectClass=server record in openchangedb - which is the next FID
		to be available.
		
		Note: the function currently lacks locking mechanisms. We should
		introduce some to prevent from race conditions.
		
		This code was originally designed by Brad. I've just refactored it.
	[r1792]
		Add a rootDSE entry to openchangedb.
		This change makes possible to call:
		     - ldb_get_root_basedn() to retrieve CN=server,DC=domain,DC=ext
		     - ldb_get_default_basedn() to retrieve CN=firstou,CN=firstorg,CN=server,DC=comain,DC=ext
	[r1790]
		Add server-side skeleton for ROPs:
		    - ModifyRecipients
		    - DeleteMessage
		    - SubmitMessage
		    - GetTransportFolder
		
		NOTE: GetTransportFolder is using hardcoded data that will be removed
		in futher commits.
	[r1789]
		Add libmapiserver size calculation for ROPs:
		    - RopDeleteMessage
		    - RopModifyRecipients
		    - RopSubmitMessage
		    - RopGetTransportFolder
2010-05-16
    jkerihuel
	[r1787]
		Fix provisioning script and push a master-git samba4 version known to compile
		and work properly with openchange.
		
		There is probably a small typo left in installsamba.sh post_install script to fix
    bradh
	[r1788]
		Update docs for new samba version.
		
		Looks like we now have real complexity requirements for passwords...
2010-05-14
    bradh
	[r1786]
		Fix the container class for the Drafts folder.
		
		This is per MS-OXCSFLD
	[r1785]
		Add PT_I8 for cast_SPropValue().
2010-05-13
    jkerihuel
	[r1784]
		  Fix openchange vs latest samba4 git-master branch
		
		- Fix OpenChange schema: Had to split our 1-file schema into multiple
		  files in order to be compliant with Samba4 LDB schema validation
		  policy/rules.
		
		- Fix openchange provision script
		- Fix calls to smb_iconv_convenience_init
		- Fix the copied libmapi/socket code to work with latest samba4 code
		- Fix openchange server SIGSEGV when EcDoConnectEx is called
		
		I have tested the following to ensure nothing is broken:
		- mapitest with Exchange 2003. All tests are OK
		- openchangepfadmin (user creation/deletion OK)
		- openchange server provisioning
		- openchange server vs Outlook 2003:
		  - profile creation OK
		  - Outlook can open the user mailbox and display it properly
2010-05-10
    jkerihuel
	[r1783]
		Skeleton server code for DeleteFolder ROP
	[r1782]
		Just add more skeleton code to select between available folder types
	[r1781]
		Server side skeleton for CreateFolder operation

2010-05-08
    bradh
	[r1779]
		Implement some more properties for cast_mapi_SPropValue().
		
		Patch mostly by Milan Crha, some changes by me.
	[r1778]
		Use retval instead of GetLastError() in a couple of places.
	[r1777]
		Add missing failure path handling.
	[r1776]
		Avoid assigning a boolean result to an enum MAPISTATUS.
		
		Fixes problem noted with mapitest on OXCFOLD-MOVECOPY-MESSAGES.

2010-05-06
    bradh
	[r1774]
		Add comment about the number for each ROP in the server.

2010-05-03
    bradh
	[r1772]
		Make sure we can load a server module when it is built with coverage testing enabled.

2010-05-02
    bradh
	[r1770]
		Fix some mapitest issues reported by valgrind.
		
		These only occur when running against the openchange server - mostly problems with failure paths.
	[r1769]
		Fix up a few segfaults found when running against openchange server.

2010-05-01
    bradh
	[r1767]
		Add support for EcDoRpc GetAddressTypes (0x49) and OptionsData (0x6f) to server.
		
		This is completely driven by the server provisioning - no hard coding.
		
		This makes a binary incompatible change, so if you get crashes, please try a
		clean rebuild.

2010-04-29
    bradh
	[r1765]
		Add PT_DOUBLE support for set_SPropValue().

2010-04-28
    bradh
	[r1763]
		Add support for PT_ERROR in mapi_SPropValue casting function.
	[r1762]
		Add support for a couple more types in the casting code.
		
		Also adds a development-version "OPENCHANGE_ASSERT()" that flags incomplete code.

2010-04-23
    jkerihuel
	[r1760]
		Add a convenient function to retrieve the total 
		number of records in the Global Address List.
		
		Modify openchangeclient to expose this change in
		the --userlist option.

2010-04-20
    jkerihuel
	[r1758]
		Fix OpenChange notification subsystem to handle multiple session properly
		Patch OpenChange trunk to reflect this API change
		
		Add quick and dirty doc/examples/multiple_notif.c to show how to setup
		multiple sessions + notifications with threads. 
	[r1757]
		Add PidTag for transport message headers

2010-03-04
    bradh
	[r1755]
		One more server API documentation fix.
	[r1754]
		More server side api documentation work.

2010-03-03
    bradh
	[r1752]
		Mix of api documentation fixes for server side.
	[r1751]
		Add MAPI_E_NOT_IMPLEMENTED.
		
		This is based on information at 
		http://social.msdn.microsoft.com/Forums/en-US/os_exchangeprotocols/thread/d3c860a8-f131-4c7a-aa11-b9ec328d06c4

2010-03-02
    bradh
	[r1749]
		Implement RopOptionsData (0x6F).
		
		Updates IDL, adds implementation and mapitest coverage.
		
		This has no practical use, but might be useful for testing the server.

2010-02-28
    bradh
	[r1747]
		Add talloc leak checking options to mapitest.

2010-02-27
    bradh
	[r1745]
		Update man page for mapiprofile to reflect new --language option format.

2010-02-26
    bradh
	[r1743]
		Add special handling for PS_MAPI property name mapping.
		
		This fixes a long-standing mapitest failure.
		
		The logic is based on MS-OXCPRPT, section 2.2.12.2.2 PropertyIds.
	[r1742]
		Minor API documentation fix.

2010-02-24
    bradh
	[r1740]
		Build fix for example code

2010-02-23
    jkerihuel
	[r1738]
		Fix format string problem #184 ticket
    bradh
	[r1737]
		Add status reporter classes to allow redirecting the progress
		messages.
	[r1736]
		Update man page to reflect mapitest --subunit option.
	[r1735]
		Implement basic subunit output protocol format for mapitest.
		
		There are a couple of documentation bits to follow.

2010-02-20
    bradh
	[r1733]
		Trivial API dox addition.

2010-02-17
    bradh
	[r1731]
		Update the IDL and implementation for RopGetPermissionsTable (0x3e)
		and RopModifyPermissions (0x40) to match MS-OXCPERM.
		
		The function signature for GetTable() and ModifyTable() has changed.
		They are now called GetPermissionsTable() and ModifyPermissions()
		respectively, and there is an additional "flags" argument, which you
		almost certainly want to pass as 0x00 if you are porting from some
		older implementation.
		
		Updates all users, and adds mapitest unit tests.

2010-02-11
    jkerihuel
	[r1729]
		Add country codes to codepage-lcid description file
    bradh
	[r1727]
		Remove copied code from samba (ldb) and just use the ldb
		version.
		
		Resolves ticket #167
	[r1726]
		Allow building if popt isn't available.
		
		The changes are to:
		- remove unnecessary include in libmapiadmin
		- only build mapistore test tool if popt is available
		- only build torture tests if popt is available.
		
		The last change could be finer (e.g. only leaving out the
		part of the torture test that actually requires popt) but
		that seemed more fragile and generally unnecessary.
		
		Resolves ticket #233.
    jelmer
	[r1728]
		Update bzrignore.

2010-02-10
    bradh
	[r1724]
		Ensure we always initialise before trying to cleanup (e.g. in a failure scenario).
		
		Issue identified and patch provided by Erik Hovland, minor changes by me.
		
		Resolves ticket #236.
	[r1723]
		prop is declared within the switch statement.
		
		Fix by Erik Hovland - thanks very much.
		
		Resolves ticket #239.
	[r1722]
		Use strncpy instead of strcpy.
		
		Patch by Erik Hovland, plus a minor change by me to ensure the string is null terminated.
		
		Resolves ticket #237.
	[r1721]
		Add missing break statements
		
		Patch by Erik Hovland <erik@hovland.org>
		
		Resolves ticket #238.
	[r1720]
		Mark appropriate constructors as explicit.
		
		Patch by Erik Hovland - thanks very much.
		
		Resolves ticket #240.
	[r1719]
		Add newline.
		
		Patch from Erik Hovland - thanks again.
		
		Resolves ticket #242.
	[r1718]
		Fix spelling errors.
		
		Patch by Erik Hovland - thanks very much.
		
		Resolves ticket #241.
	[r1717]
		Make sure we actually can compile when using --enable-openchange-qt4
		
		This patch ensures that $(MOC) gets set in the Makefile.

2010-02-09
    jkerihuel
	[r1715]
		Add canonical names for codepage related properties (involved in
		PT_STRING8 encoding/decoding)

2010-02-08
    jkerihuel
	[r1711]
		- Add parser for codepage-lcid
		
		- Add entire set of conversion functions for lcid, codepage, language
		  and locale
		
		- mapiprofile now uses codepage/lcid matching LC_CTYPE environment
		  variable for language detection, otherwise codepage/lcid matching
		  language list. Language list is now dumped from codepage-lcid
		  auto-generaed code.
		
		- Remove deprecated util and tests directory from libmapi and from
		  build system. We now only rely on codepage_lcid.c
		
		- Update openchange code (utils, mapiprofile, mapitest and
		  exchange2ical libs) to use this new API.
		
		- I have not looked into icalparameter_get_language, but assuming it
		  is relying on previous API, I may have introduced a bug here. Looks
		  like the function outputs for example "en-US" while we now checks
		  for "en_US" to match setlocale output.
    bradh
	[r1710]
		Minor API documentation adds.
	[r1709]
		Add unit test coverage for the GetGALTable() function.
		
		This is mostly lifted from utils/openchangeclient.c
	[r1708]
		Switch to only building Qt4 bindings if specifically asked for.
		
		This is a bit experimental for now, so lets go safer...

2010-02-05
    jkerihuel
	[r1706]
		In this particular case (error returned, mapi_response shouldn't
		be free'd)
	[r1705]
		Fix bug 605827 - SRowSet was free'd while still needed

2010-02-04
    jkerihuel
	[r1703]
		Template file which associates Language, LCID, Locale and Codepage.
		Furthermore commits will implement the mparse parser which will
		auto-generate the associated C files. This should give us a reliable
		way to use it in mapiprofile, MAPI profiles database and for
		PT_STRING8 proper conversion purposes.
		
		If anything is missing or is incorrect, updating the file will
		be trivial.

2010-02-03
    bradh
	[r1701]
		Fix bug where you couldn't select another messages in the default folder without
		changing folder first.
		
		Looks like this is just a bit I forgot to update when changing from an initial
		cut to the "more working" implementation.

2010-02-02
    jkerihuel
	[r1699]
		- Fix trac ticket #183: PT_UNICODE properties are now turned to UTF-8
		  directly.
		
		- Remove deprecated utf8_convert lexer and windows_to_utf8 routine
		
		- Change openchange tools to use _UNICODE tag version instead
		
		- octool_get_propval now prefer UNICODE properties over PT_STRING8
		  ones (default behavior).
		
		- Change mapidump_message API to take an optional mapi_object_t
		  message parameter. If the message object is specified, we can have
		  access to the subject, and recipients (to, cc, bcc) without having
		  to query them within a GetProps call.
    bradh
	[r1698]
		Fix an ugly cut-n-paste error.
	[r1697]
		Add pkg-config support for libmapi++.

2010-02-01
    jkerihuel
	[r1695]
		Fix ticket #123 (known as 562948 on gnome bugzilla):
		"Unable to send mails containing UTF8 strings"
		
		OpenChange was using strlen(str) * 2 + 2 to calculate the 
		expected size for utf16 string. This patch fixes this and
		replaces it with a function that make proper utf8 to utf16 
		conversion.
		
		This commit also replaces PT_STRING8 properties in openchangeclient.c
		with PT_UNICODE ones to ensure utf8 strings get converted properly.

2010-01-26
    jkerihuel
	[r1693]
		- Add NormalizedSubject and SubjectPrefix strings to object_message_t
		  structure.
		- Add a function to retrieve TypedString value
		- Add a mapidump function for obj_message (only retrieve subject and
		  recipients)
		- Add --fetchsummary option to openchangeclient: Dumps properties from
		  OpenMessage response only (subject and recipients) rather than going
		  through GetProps and dumping a more complete version.
    bradh
	[r1692]
		Move make distclean to the end again.

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 <johnnyjacob@gmail.com>:
		
		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 <brian.lu@sun.com>:
		
		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 <erik@hovland.org>
	[r1592]
		Patch from Erik Hovland <erik@hovland.org>:
		
		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 <erik@hovland.org>:
		
		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 <kamen.mazdrashki@postpath.com>:
		
		Fix MAPI Warning error codes
	[r1589]
		Patch from Kamen Mazdrashki <kamen.mazdrashki@postpath.com>:
		
		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 <kamen.mazdrashki@postpath.com>:
		
		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 <kamen.mazdrashki@postpath.com>:
		
		- 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 <kamen.mazdrashki@postpath.com>:
		
		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 <kamen.mazdrashki@postpath.com>:
		
		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 <kamen.mazdrashki@postpath.com>:
		
		Implement PR_SEARCH_KEY attribute getter
	[r1582]
		Patch from Kamen Mazdrashki <kamen.mazdrashki@postpath.com>
		
		Add PR_ADDRTYPE_UNICODE and PR_EMS_AB_PROXY_ADDRESSES_UNICODE getters.
	[r1581]
		Patch from Kamen Mazdrashki <kamen.mazdrashki@postpath.com>:
		
		- 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 <kamen.mazdrashki@postpath.com>:
		
		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 <kamen.mazdrashki@postpath.com> for
		initial patch and associated research:
		
		It turns out MS implementation for NSPI reads the guid from: "CN=NTDS
		Settings,CN=<NETBIOS_NAME>,CN=Servers,CN=Default-First-Site-Name,CN=Sites,<CONFIG_DN>" 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 <erik at hovland.org>

2009-09-14
    bradh
	[r1514]
		Update the properties list.
		
		Patch from Girish Venkatachalam <girish at gayatri-hitech.com>

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 <erik@hovland.org>:
		
		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 <erik@hovland.org>: check return
		  types.
	[r1348]
		Patch From Erik Hovland <erik@hovland.org>
		
		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 <erik@hovland.org>
		
		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 <erik@hovland.org>
		
		Adds a #include config.h to suppress compiler warnings for vasprintf
	[r1345]
		Patch from Erik Hovland <erik@hovland.org>:
		
		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 <paolo.abeni@gmail.com>:
		
		call ProcessNotification() after each successful 
		emsmdb_transaction() in all the libmapi calls.
	[r1338]
		Patch from Paolo Abeni <paolo.abeni@gmail.com>:
		
		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 <paolo.abeni@gmail.com>:
		
		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 <libmapi++ ... rather than
		  relative paths.
2008-07-24
    jkerihuel
	[r674]
		- Add a statitic function monitoring streams over OpenStream and Last
		  ReadStream operations. Monitoring stream Release is not relevant
		  since Outlook does not close the handle directly after last
		  ReadStream operation. Should put in evidence difference between
		  non-cached(1st retrieval) and cached (further retrieval).
		
		- Fix a few memory leaks
2008-07-23
    jkerihuel
	[r672]
		- Commit initial revision for the mapiproxy cache module
		- Update mapiproxy hook API for the dispatch routine
		- Introduce the mapiproxy structure for modules to control top-level
		  mapiproxy behavior.
		- Update mapiproxy documentation to reflect these changes
2008-07-21
    jkerihuel
	[r670]
		* Fix remaining ByteRead parameter size for ReadStream operations.
2008-07-20
    jkerihuel
	[r669]
		* Improve/Update Open/Read/WriteStream IDLs
		* Fix ByteRead parameter size for ReadStream operation.
2008-07-19
    jkerihuel
	[r668]
		Improve OpenAttach, CreateAttach and DeleteAttach IDL - remove unknown
		parameters.
	[r667]
		Propagate r666 changes to OpenMsgStore and fix build
    bradh
	[r666]
		Minor rename of bitmap value to avoid conflict with
		Private as a class name.
2008-07-17
    jkerihuel
	[r663]
		Minor change: remove old debugging string from mapitest
	[r660]
		Fix incorrect header
	[r658]
		Remove deprecated mapi_handles API
    bradh
	[r665]
		Initial checkin of some uno (static checker) support
		files.
		
		There will be a script to run uno with the right options,
		but that requires more work.
2008-07-16
    jkerihuel
	[r655]
		Fix OXOMSG-ABORT-SUBMIT return value and return success when expected
		error values (MAPI_E_UNABLE_TO_ABORT, ecNoDelSubmitMsg) are encountered.
	[r654]
		- Call mapi_object_release in GetDefaultFolder
		- Remove pointless references to mapi_object_t
    bradh
	[r656]
		Fix little memory leak.
2008-07-15
    jkerihuel
	[r653]
		Fix invalid OpenFolder calls in mapitest modules
	[r652]
		Remove references to SaveChanges in doxygen see also statement
	[r651]
		- Rename SaveChanges to SaveChangesAttachment (0x25)
		- Update SaveChangesAttachment IDL
		- Update references to SaveChanges
	[r650]
		- Fix the huge memory leak described in Ticket #91
		- Rewrite the mapitest NameID test to use the mapi_nameid convenient
		  API
2008-07-12
    jkerihuel
	[r648]
		- Add mapi_get_errstr auto-generated routine which returns the MAPI
		  retval as a string
		- Add print routine for MAPI retval in mapitest
		- Add a color mode (--color) which prints either green or red MAPISTATUS
		- Update mapitest modules to use these new routines
    bradh
	[r647]
		Minor API documentation fix.
2008-07-11
    jkerihuel
	[r646]
		Add all MAPI errors
	[r645]
		- Add GetOwningServers (0x42) implementation (IDL + libmapi + mapitest)
	[r644]
		- Report and make consistent usage of PropertyProblem in the IDL:
		  SetProps, DeleteProps and CopyProperties
		
		- Remove unknown field in GetProps and GetPropsAll and replace them
		  with the correct IDL mapping.
		
		- Add IDL for SetPropertiesNoReplicate (0x79) MAPI call
		
		- Minor typo fix in IMAPIProp.c
	[r643]
		Improve CreateMessage request IDL
	[r642]
		Improve OpenMessage response IDL
	[r641]
		- Add PublicFolderIsGhosted (0x45) MAPI call (IDL + libmapi + mapitest)
		
		- Improve OpenFolder, CreateFolder and OpenPublicFolderByName response
		  IDL: make these call able to check whether the folder is ghosted or
		  not.
	[r640]
		Revert emsmdb pipe version to the hacked one. Makes mapiproxy work with samba4-alpha5 release.
	[r639]
		SeekRow and SeekRowBookmark IDL improved
	[r638]
		Improve the SetColumns IDL: remove unknown fields
2008-07-06
    jkerihuel
	[r637]
		Minor code convention fix
	[r636]
		Check NTSTATUS return value from dcerpc_ndr_request. Prevent mapiproxy
		from segfault when invalid dcerpc response is received.
	[r635]
		Expose MAPISTATUS error in OXCTABLE-CATEGORY::FreeBookmark. 
		Requires investigation
    bradh
	[r634]
		Implement GetIdFromLongTermId and GetLongTermIdFromId
		functions (ROP:0x43 and 0x44), and associated mapitest.
	[r633]
		Documentation typo fix.
	[r632]
		Change the QueryNamesFromIDs() call to match
		MSDN, including changing the name to QueryNamedProperties().
		
		Also implement mapitest for QueryNamedProperties(),
		GetNamesFromIDs() and GetIDsFromNames().
		
		Update torture test to match.
2008-07-05
    jkerihuel
	[r631]
		- Build system update: use samba4-alpha5 release with wget method
		- introduce 'make samba' and 'make samba-git'
2008-07-04
    bradh
	[r630]
		Make sure we have names[] array large enough.
		
		Problem identified using default uno run.
		
		Resolves #87.
2008-07-03
    jkerihuel
	[r629]
		Fix a small errno bug in GetBestBody
		Add dump-data and debug options to exchange2mbox
2008-06-30
    jkerihuel
	[r627]
		- Move emsmdb interface version back to 0.81 (patch applied in samba4 trunk)
		- remove sed hack, modifications applied in samba4 trunk
		- update required samba4 git rev required
    bradh
	[r628]
		Typo fix.
2008-06-25
    jkerihuel
	[r626]
		Minor documentation update: remove deprecated reference to ./bin/smbpython
	[r625]
		Fix torture suite entry point name
		Fix torture module installation path
	[r624]
		- Add implementation for the BestBody algorithm
		- Add MAPI_E_NOT_ENOUGH_MEMORY error code
		- Remove trailing }}\0 from lzfu code
		- Update openchange tools to use GetBestBody rather than
		the initial check on PR_MSG_EDITOR_FORMAT
	[r623]
		Add a very basic stat module for mapitest: gives a quick overview
		of tests which failed at the end of the report.
	[r622]
		- Defines a global stream size in mapitest.h
		- Decrease stream size from 0x4000 to 0x3000
		  Sounds like Exchange 2003 SP2 doesn't support 0x4000, return MAPI_E_CALL_FAILED
		 
2008-06-24
    jkerihuel
	[r621]
		Fix OC_CHECK_SAMBA_VERSION string
	[r620]
		- Move samba4_ver.sh from top dir to script
		- update parts of openchange relying on samba4_ver.sh
	[r619]
		Add configure check for lib Z
		 
	[r618]
		- Temporary fix ldb.pc problem and patch ldb.pc.in
		- Update samba4 version to the latest revision
		- Add libmapiproxy to svn:ignore proplist
    bradh
	[r617]
		Try a different git revision, just for now.
2008-06-17
    jkerihuel
	[r614]
		- Update Samba4 version needed
		- Change entry point function from init_module to samba_init_module
		- update documentation
2008-06-16
    jelmer
	[r613]
		Fix calls of ldb_init() as required by newer versions of Samba.
	[r612]
		Avoid bashisms.
	[r611]
		Support newer versions of Samba4.
2008-06-14
    bradh
	[r609]
		Add some other standard GUIDs
2008-06-11
    jelmer
	[r605]
		Fix silly typo.
	[r604]
		Fix linking.
	[r603]
		Use version and soversion in mapiproxy library.
	[r602]
		Make modules directory overridable.
2008-06-10
    bradh
	[r601]
		Change API as identified on devel mailing list.
		
		Here is the email:
		After some investigation into an error reported by valgrind, I'm proposing an
		API change for the MoveCopyMessages() function.
		
		The signature is currently
		enum MAPISTATUS MoveCopyMessages(mapi_object_t *obj_src,  mapi_object_t 
		*obj_dst,  mapi_id_t *message_id,  bool WantCopy)
		
		The problem is the message_id array. The subtle part is that it needs to be 
		terminated with a null mapi_id_t*, because of this:
		for (request.count = 0; message_id[request.count]; request.count++);
		
		That is a bit error prone - enough so to be wrong in the mapitest.
		
		Now we could just fix the mapitest and document the requirements, or we could 
		change the signature.
		
		Two ideas for a different signature:
		1. We could add a uint16_t count to the signature, that says how long the 
		array is.
		2. We could use a better data structure than mapi_id_t*. I'm suggesting
		mapi_id_array_t:
		enum MAPISTATUS MoveCopyMessages(mapi_object_t *obj_src,
		                                          mapi_object_t *obj_dst,
		                                          mapi_id_array_t *message_id,
		                                          bool WantCopy)
2008-06-09
    bradh
	[r600]
		Add mapitest coverage for CopyTo operations on 
		folders and attachments, and update API docs.
		
		Also fix one place where we inadvertently used
		CopyProps instead of CopyTo...
2008-06-08
    bradh
	[r597]
		Typo fixes in comments.
	[r596]
		Minor documentation updates.
	[r595]
		Clean up created message for SpoolerLockMessage() test.
2008-06-07
    bradh
	[r594]
		Update samba4 version test.
	[r593]
		typo fix.
	[r592]
		Make sure properties are copies into the last valid 
		location in the extended array (i.e. count-1) not the
		count location.
		
		Also, make sure we cast the data to a uint8_t for
		conversion to boolean.
		
		Also fix compile warning about returning integer instead
		of pointer.
	[r591]
		We may read up to 0x1000 bytes, so ensure there is
		enough room to add the terminating null.
	[r590]
		Minor cleanup of the talloc context for FreeBookmark().
		
		Also change around some code to protect things a bit
		better against null pointer inputs.
2008-06-06
    bradh
	[r588]
		Implement a bit more mapitest for CopyTo (0x39), in
		support of #83.
		
		Also make it clean up and report failures properly.
2008-06-05
    bradh
	[r587]
		Implement the CopyTo operation (0x39), including initial mapitest.
		JK previously committed the IDL for this.
		
		Also make CopyProps (0x67) use an appropriate data structure for
		its IDL and update implementation to match.
2008-06-04
    bradh
	[r586]
		Minor documentation updates/corrections.
2008-06-02
    jkerihuel
	[r583]
		Introduce a default case for MAPI Restriction. In some circumstances -
		while Outlook creates an OOF Rules - it sets a PT_SRESTRICT mapi
		property tag which value is set to 0xFF. However 0xFF doesn't match
		any restriction case.
2008-06-01
    jkerihuel
	[r582]
		- Add IDL for OpenEmbeddedMessage (0x46) MAPI call
	[r581]
		- Add IDL for ReloadCachedInformation (0x10) MAPI call
	[r580]
		- Add IDL for CopyTo (0x39) MAPI call
	[r573]
		- Update the Samba4 GIT revision needed to run openchange properly
	[r572]
		- import mapiproxy project from mapiproxy branch
		- add custom proxypack MAPI call
		- remove deprecated dcesrv_exchange_remote
    bradh
	[r579]
		Add missing part of mapitest for SetReadFlags
		
		This should have been part of r578.
	[r578]
		mapitest for SetReadFlags
	[r577]
		Implement SetReadFlags (operation 0x66).
		
		Also minor API docs fix.
	[r576]
		Move some test infrastructure from the oxctable.c module
		into the common area.
	[r575]
		Fix IDL error for SetReadFlags, and use existing flags
		define (MSGFLAGS_READ) instead of creating a new set.
	[r574]
		Build fix for relocation of mapiproxy/ to be under the
		top level directory (instead of under the utils/
		directory)
2008-05-31
    jkerihuel
	[r571]
		merge from mapiproxy branch:
		      * ndr_push Logon_req manually
	[r568]
		merge from mapiproxy branch:
		      * Add IDL and server boiler template for EcDoConnectEx (0xA)
		        EMSMDB RPC function
		
		      * Fix ndr_push_mapi_response code in ndr_mapi.c
		
		      * Add the ndr_push_EcDoRpc_MAPI_REPL function in
		        ndr_mapi.c. Handles special Notify and Pending cases
		
		      * Handle op_MAPI_Pending case properly in
		        ndr_pull_EcDoRpc_MAPI_REPL
		
		      * Add code to ndr_push QueryRows in ndr_mapi.c: Do not push any
		        DATA_BLOB if there is no RowCount
	[r565]
		merge from mapiproxy branch:
		      * Fix GetReceiveFolder [out] IDL
		      * Fix some naming convention typo
	[r564]
		merge from mapiproxy branch:
		      * Fix SetMessagReadFlag [out] IDL
	[r563]
		- Add [flag(NDR_REMAINING)] to SetMessageReadFlag. This is not
		  perfect, but it will prevent mapiproxy from ndr_pull error while
		  setting message read flag on public folders messages.
	[r562]
		merge from mapiproxy branch:
		      * Fix CreateMessage [out] IDL
	[r561]
		merge from mapiproxy branch:
		      * rename OpenModeFlags to OpenFolder_OpenModeFlags in OpenFolder
		      * rewrite OpenMessage [in] IDL and report changes in
		        libmapi/IStoreFolder.c
	[r560]
		merge from mapiproxy branch:
		      * Add IDL for Pending (0x6e) MAPI call
		      * Reorder some MAPI calls in EcDoRpc_MAPI_REPL_UNION
	[r559]
		- Add SetReadFlags to EcDoRpc_MAPI_{REQ,REPL}_UNION
	[r558]
		merge from mapiproxy branch:
		      * Add IDL for SetSyncNotificationGuid (0x88) MAPI call
	[r557]
		merge from mapiproxy branch:
		      * Add IDL for SyncGetTransferState (0x82) MAPI call
	[r556]
		merge from mapiproxy branch:
		      * Add IDL for SyncImportReadStateChanges (0x80) MAPI call
		
		Note: This IDL is temporary and should be improved after completion of
		the merging process.
	[r555]
		merge from mapiproxy branch:
		      * Add IDL for SyncOpenCollector (0x7e) MAPI call
	[r554]
		merge from mapiproxy branch:
		      * Add IDL for DeletePropertiesNoReplicate (0x7a) MAPI call
	[r553]
		merge from mapiproxy branch:
		      * Add IDL for SyncImportMessageMove (0x78) MAPI call
	[r552]
		merge from mapiproxy branch:
		      * Add IDL for SyncUploadStateStreamBegin (0x75) MAPI call
		      * Add IDL for SyncUploadStateStreamContinue (0x76) MAPI call
		      * Add IDL for SyncUploadStateStreamEnd (0x77) MAPI call
	[r551]
		merge from mapiproxy branch:
		      * Add IDL for SyncImportDeletes (0x74) MAPI call
	[r550]
		merge from mapiproxy branch:
		      * Add IDL for SyncImportHierarchyChange (0x73) MAPI call
	[r549]
		merge from mapiproxy branch:
		      * Add IDL for SyncImportMessageChange (0x72) MAPI call
	[r548]
		merge from mapiproxy branch:
		      * Add IDL for SyncConfigure (0x70) MAPI call
	[r547]
		merge from mapiproxy branch:
		      * Add IDL for RegisterOptions (0x6f) MAPI call
		
		Note: This call is undocumented in Microsoft documentation, but MSDN
		RegisterOptions function generates this call on the wire.
	[r546]
		merge from mapiproxy branch:
		      * Add IDL for Progress (0x50) MAPI call
	[r545]
		merge from mapiproxy branch:
		      * Add IDL for FastTransferSourceGetBuffer (0x4a) MAPI call
	[r544]
		merge from mapiproxy branch:
		      * Add IDL for GetPerUserLongTermIds (0x60) MAPI call
		      * Add IDL for GetPerUserGuid (0x61) MAPI call
		      * Add IDL for ReadPerUserInformation (0x63) MAPI call
	[r543]
		merge from mapiproxy branch:
		      * Add IDL for LongTermIdFromId (0x43) MAPI call
		      * Add IDL for IdFromLongTermId (0x44) MAPI call
	[r542]
		merge from mapiproxy branch:
		      * Add IDL for ModifyRules (0x41) MAPI call
	[r541]
		merge from mapiproxy branch:
		      * Add PT_SRESTRICT support in mapi_SPropValue_CTR
		
		      * Add PT_ACTIONS and RuleAction support in mapi_SPropValue_CTR
		
		      * Fix mapi_SNotRestriction NDR push routine - add a wrapper to
		        work around the no-pointer deep recursion pb and remove
		        existing nopull,nopush,noprint code from ndr_mapi.c
		
		      * Fix mapi_SComment_Restriction IDL
		      
	[r540]
		- Introduce PT_MV_UNICODE support in mapi_SPropValue_CTR (IDL only)
		- use mapi_LPWSTR for PT_MV_UNICODE
		- rename mapi_LPWSTR structure to mapi_name in Kind structure and
		  change its field names.
	[r536]
		- Fix emsmdb version
		- Change MAPI opnum enum identation -- Helps to fine down merging from
		  mapiproxy branch
    bradh
	[r539]
		API docs typo fix.
	[r538]
		Minor API documentation fixes.
	[r537]
		Update label to reflect SetReadFlags -> 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 <bradh@frogmouth.net>:
		updates the OCPF doxygen file.
	[r358]
		Patch from Brad Hards <bradh@frogmouth.net>:
		adds the doc/examples into the build system and enables make examples.
	[r357]
		Patch From Brad Hards, <bradh@frogmouth.net>:
		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 <bradh@frogmouth.net>:
			updates code to build with current API
	[r349]
		Patch from Brad Hards <bradh@frogmouth.net>:
			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 <msuman@novell.com>:
		
		- 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 <yuriy.filatov@gmail.com>
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 <msuman@novell.com> 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 <bradh@frogmouth.net>:
		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 <ag@computer.org>:
		
		- 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 <ag@computer.org>:
		- 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 <bradh@frogmouth.net>:
		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 <bradh@frogmouth.net>:
			- 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 <bradh@frogmouth.net> 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 <stefan@huehner.org>
		- 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.
