Patch from Shaheed Haque <srhaque@theiet.org>:
[jelmer/openchange.git] / ChangeLog
1 2010-08-29
2     jkerihuel
3         [r2144]
4                 Add CopyProfile and DuplicateProfile to IProfAdmin interface
5
6 2010-08-27
7     jkerihuel
8         [r2142]
9                 Add the localaddress patch prior Samba4 integration. Pending new
10                 Samba4 localaddress patch fixing memory leaks in the pipe.
11         [r2141]
12                 Include a mapitest test suite / challenge for lzxpress
13                 
14                 The idea of this test is to check if lzxpress compressed blobs
15                 provided by OpenChange are the same than Outlook ones. The test takes
16                 a Outlook->Exchange capture file with compressed blob, pull the
17                 content, decompressed the content, recompress the content and check
18                 the output for differing bytes.
19                 
20                 This challenge code should give us good information when lzxpress
21                 compress code is fixed. Additionally you can uncomment the compression
22                 code in libmapi/emsmdb.c to do further testing.
23         [r2140]
24                 - Add implementation for EcDoRpcExt2 (0xB) RPC opnum. Current code
25                   doesn't provide compression for request and use obfuscation
26                   instead. However mapi_response makes use of xpress and are
27                   decompressed properly.
28                 
29                 - EcDoRpcExt2 implemented without subcontexts but uint8_t array
30                 
31                 - add a wrapper for emsmdb transaction to switch between
32                   EcDoConnect/EcDoRpc and EcDoConnectEx/EcDoRpcExt2 depending on MAPI
33                   profile 'exchange version' attribute.
34                 
35                 NOTE: emsmdb.c implements the logic for using compressed blob and
36                 checks whether compressed or obfuscation should be used depending on
37                 blob length. However this behavior has been commented out because
38                 comrpessed blobs are rejected by Exchange (ecRpcFormat 0x4B6 error).
39 2010-08-26
40     jkerihuel
41         [r2139]
42                 Reference profile structure in mapitest structure.
43                 
44                 Use profile->mailbox instead of szDisplayName for sending mapitest
45                 emails. This also fix ResolveNames mapitest issues when conflicts
46                 between usernames exist (e.g. user1, user11, user100).
47     bradh
48         [r2137]
49                 Prevent segfault if we don't have any appointments.
50                 
51                 Resolves issue #284.
52                 
53                 Also prevent leaking talloc context in a couple of error cases.
54         [r2136]
55                 Merge Rev 2133 from branches/current-samba4 to trunk.
56                 
57                 I inadvertently committed this to the wrong branch.
58                 
59                 This pushes the fix for #229 into trunk.
60
61 2010-08-23
62     jelmer
63         [r2134]
64                 Update bzr ignores.
65
66 2010-08-18
67     jkerihuel
68         [r2131]
69                 Add a git update case in installsamba.sh script and make it available
70                 within OpenChange Makefile.
71
72 2010-08-17
73     jkerihuel
74         [r2127]
75                 Manually commit remaining changes from current-samba4 into trunk
76         [r2126]
77                 Merge current-samba4 branch back into trunk
78
79 2010-08-11
80     bradh
81         [r2117]
82                 Microsoft confirmed that RopGetValidAttachments isn't supported in Exchange 2010.
83         [r2114]
84                 fix missing part of r2113.
85         [r2113]
86                 Fixes to better work with Exchange 2010.
87                 
88                 Still some open issues to resolving bug 227.
89         [r2112]
90                 Fix handling of "not applicable" tests when using --mapi-calls
91                 
92                 Prior to this, if you asked for a test that was after a test that was
93                 flagged as suppressed, the test you asked for didn't get run, and the
94                 flagged test was reported instead.
95 2010-08-10
96     bradh
97         [r2111]
98                 Correctly handle cases where the start date of the range is after the first calendar appointment.
99                 
100                 Resolves bug:272.
101                 
102                 Thanks to Eric Reischer for reporting the problem and testing the fix.
103
104 2010-08-03
105     bradh
106         [r2107]
107                 trivial comment cleanup.
108
109 2010-08-01
110     jkerihuel
111         [r2105]
112                 Move from auto-generated mapicode.h to static code.
113         [r2104]
114                 Add configure.ac support for gthread implementation but give preferences to pthread
115                 Add THREAD_CFLAGS to config.mk.in
116                 ifdef between pthread and gthread in libmapi_private.h
117         [r2103]
118                 Check for libpthread in configure.ac and make this lib optional
119                 Add references to config.h in libmapi_private.h
120                 Replace references to config.h with libmapi_private.h
121
122 2010-07-31
123     jkerihuel
124         [r2101]
125                 - Add an exchange-version parameter to mapiprofile structure and tool
126                   which let user choose between 0x0/0x2 or 0xA/0xB
127                 - Tweak libmapi implementation to allow EcDoConnectEx usage
128                 - Improve mapiprofile --dump to show more useful parameters
129         [r2100]
130                 - Add custom NDR implementation for EcDoConnectEx to bypass pointers/array problems
131                 - make use of mapi2k7_AuxInfo structure for rgbAuxOut
132                 
133                 - Create a subcontext for AUX_HEADER structures to jump over unknown cases properly.
134         [r2099]
135                 Handle the no obfuscation nor compression RPC_HEADER_EXT flags case 
136     bradh
137         [r2098]
138                 Trivial api documentation change.
139
140 2010-07-29
141     bradh
142         [r2095]
143                 Another trivial API documentation fix.
144         [r2094]
145                 More trivial API documentation fixes.
146         [r2093]
147                 Minor API documentation fix.
148         [r2092]
149                 Implement some null pointer checks.
150                 
151                 Also rewords some API documentation.
152                 
153                 Original issue and patch by Erik Hovland - thanks again. I implemented it
154                 with some slight changes.
155
156 2010-07-28
157     bradh
158         [r2090]
159                 Fix RecipientRow IDL to match MS-OXCDATA 2.9.3
160                 
161                 This allows handling of addresses that contain X400 format content.
162                 
163                 Patch by Samuel Sieb and I, resolves ticket #250.
164
165 2010-07-26
166     jkerihuel
167         [r2087]
168                 Fix a crash in openchangeclient vs Exchange 2010:
169                 When Queryrows is called on Exchange 2010 and no rows are available, QueryRows returns MAPI_E_NOT_IMPLEMENTED error (0x8004FFFF).
170                 Ensure we have at least one message to fetch in openchangeclient --fetchmail prior calling QueryRows.
171
172 2010-07-24
173     jkerihuel
174         [r2079]
175                 Very basic use of OpenUserMailbox in openchangeclient.
176                 Doesn't handle clustered Exchange servers.
177     bradh
178         [r2077]
179                 Rename a few function arguments to avoid doxygen warnings.
180                 
181                 This is a workaround, but will allow easier checking for the future.
182         [r2076]
183                 Update doxygen configuration to match latest version
184         [r2075]
185                 Add missing doxygen parameter information.
186         [r2074]
187                 Fix a couple of doxygen issues.
188
189 2010-07-23
190     jkerihuel
191         [r2072]
192                 Use sed in Makefile to replace local headers reference in installed headers
193         [r2071]
194                 Use local headers rather than installed ones
195                 Propagate this behavior to torture test suites and bindings
196         [r2070]
197                 Remove libmapi/defs_private.h
198                 Remove references to libmapi/defs_private.h in OpenChange tree
199         [r2069]
200                 Remove auto-generated headers for libmapi:
201                 - Add libmapi_private.h for private definitions
202                 - Use libmapi.h for public definitions
203                 
204                 - Merge libmapi_private.h and defs_private.h
205                 
206                 Use local headers rather than installed ones
207                 
208                 Change libmapi compilation list to have ndr_exchange_c.h 
209                 available for other libmapi C files.
210                 
211                 Remove references to libmapi/proto_private.h in OpenChange tree
212                 Remove references to libmapi/defs_private.h in OpenChange tree
213
214 2010-07-20
215     bradh
216         [r2065]
217                 Modify the samba build script to make it more flexible.
218                 
219                 Heavily based on changes provided by Andrew Tridgell. Thanks!
220
221 2010-07-15
222     jkerihuel
223         [r2063]
224                 Use local includes rather than installed ones for openchange tools/utils
225         [r2062]
226                 Use local includes rather than installed ones for mparse.pl
227         [r2061]
228                 Use local includes rather than installed ones for mapiproxy and server components
229         [r2060]
230                 Use local includes rather than installed ones
231         [r2059]
232                 Use local includes rather than installed ones for libexchange2ical
233                 Sanitize function declarations
234         [r2058]
235                 Remove proto and proto_private.h from ignore list
236         [r2057]
237                 Remove auto-generated headers for libmapiadmin
238                 Use local includes rather than installed ones for libmapiadmin
239         [r2056]
240                 Remove proto and proto_private.h from ignore list
241         [r2055]
242                 Remove auto-generated headers for libocpf
243                 Use local includes rather than installed ones for libocpf
244         [r2054]
245                 Fix bug #248 misnamed PR_RECIPIENTS_FLAGS
246         [r2053]
247                 Add IDL implementation for WritePerUserInformation.
248                 
249                 Note: This IDL suffers from the same problems than SetMessageReadFlags. It depends on logon_id and Logon flags.
250
251 2010-07-14
252     jkerihuel
253         [r2051]
254                 Add server-side preliminary ReloadCachedInformation implementation.
255                 The Rop only support a specific case and it is expected to work better after
256                 integration of the OCPF contexts for message transaction.
257         [r2050]
258                 Missing header for stat()
259
260 2010-07-06
261     bradh
262         [r2048]
263                 Implement RopSetReceiveFolder
264                 
265                 There is a part of this missing (relating to modification times) that will be implemented
266                 as part of the RopGetReceiveFolderTable implementation.
267                 
268                 This updates the mapitest code, including a change to the function signature for the
269                 mapitest_print_retval_step() function to take an explicit MAPISTATUS value instead of
270                 relying on GetLastError().
271
272 2010-07-04
273     bradh
274         [r2046]
275                 Enhance the GetReceiveFolder ROP.
276                 
277                 This now tries all available MessageClass entries.
278         [r2045]
279                 Enhance GetReceiveFolder mapitest.
280
281 2010-07-03
282     bradh
283         [r2043]
284                 Make sure objects are correctly init()'d and release()'d even in fault condition.
285         [r2042]
286                 Make sure objects are correctly init()'d and release()'d even in failure case.
287         [r2041]
288                 Make sure all objects are initialised, even in failure cases.
289         [r2040]
290                 Trivial comment change.
291         [r2039]
292                 Add a few more null pointer protections into fsocpf backend.
293                 
294                 Trying to get mapitest running...
295
296 2010-07-02
297     bradh
298         [r2037]
299                 Add mapitest unit test for DeleteMessages with multiple messages.
300         [r2036]
301                 Implement DeleteMessages ROP.
302                 
303                 Adds message deletion support to mapistore core and fsocpf backend.
304                 
305                 I've been testing this with OXCMSG-SAVE-CHANGES-MESSAGE from mapitest. 
306         [r2035]
307                 Make it a bit easier to use alternative GIT tree.
308         [r2034]
309                 Ensure we return the correct MID from SaveChangesMessage
310
311 2010-06-28
312     jkerihuel
313         [r2031]
314                 Fix a segfault when releasing handles. We kept 
315                 processing the handles list after releasing the element.
316     bradh
317         [r2030]
318                 Add some simple tests for openchangeclient.
319         [r2029]
320                 Unbreak compilation problems from previous commit.
321         [r2028]
322                 Ensure we don't duplicate folder names.
323                 
324                 This adds appropriate checks for both system (openchangedb) and normal (mapistore)
325                 folders. The mapitest code also checks that the OPEN_IF_EXISTS flag works. 
326                 
327                 I had to add an additional mapitest_print_retval() variation, since successful operations
328                 don't reset errno.
329
330 2010-06-26
331     jkerihuel
332         [r2026]
333                 add support for PT_CLSID and PT_SVREID in cast_mapi_SPropValue
334         [r2024]
335                 Add a memory context argument to cast_mapi_SPropValue to be less
336                 dependent to libmapi and allow better memory allocation handling.
337                 
338                 Propagate API change among OpenChange source tree
339                 
340                 Add doxygen documentation for cast_mapi_SPropValue
341     bradh
342         [r2025]
343                 Make sure we always set the opnum and handle, even for error cases.
344         [r2023]
345                 Suppress compilation noise in a few places for consistency with the rest of the Makefile
346 2010-06-25
347     jkerihuel
348         [r2022]
349                 Add ocpf_write support for PT_MV_STRING8, PT_MV_UNICODE, PR_MV_BINARY
350                 and PT_MV_LONG
351         [r2021]
352                 - Add documentation for PT_MV_LONG
353                 - Update PT_BINARY section
354         [r2020]
355                 - Fix PT_BINARY to now parse uint8_t 0x00 - 0xFF instead of previous
356                   (and incorrect) long items
357                 
358                 - Add implementation for PT_MV_LONG
359                 - Clean up useless code
360         [r2018]
361                 Add  mapidump_SPropValue for PT_MV_LONG
362         [r2017]
363                 Add support for PT_MV_UNICODE type
364         [r2016]
365                 Add  mapidump_SPropValue for PT_MV_UNICODE
366         [r2015]
367                 Add support for PT_MV_BINARY type
368                 
369                 This implementation required to add a Binary_r within ocpf_context to
370                 union SPropValue_CTR content consistent among recursive parsing.
371         [r2014]
372                 Add PT_MV_BINARY support in cast_SPropValue
373         [r2013]
374                 Add mapidump_SPropValue entry for PT_MV_BINARY
375         [r2012]
376                 Do not search context if context_id is NULL
377         [r2011]
378                 - Add a function to synchronize data on filesystem after a write
379                   commit (close/fopen) and change open and context flags depending on
380                   their previous value.
381                 
382                 - If PR_MESSAGE_CLASS or PR_MESSAGE_CLASS_UNICODE is used for
383                   set_SPropValue, update context type.
384
385 2010-06-23
386     jkerihuel
387         [r2009]
388                 Fix warnings generating by the incorrect .tp_new first argument type
389         [r2007]
390                 - Implement server-side skeleton for ReadPerUserInformation (0x63)
391         [r2006]
392                 - Use external TALLOC context for cast_SPropValue rather than
393                 global_mapi_ctx->mem_ctx. This was preventing from using this function
394                 properly in a context different from libmapi based application
395                 (server).
396                 
397                 - Add cast_SPropValue support for PT_CLSID and PT_MV_LONG
398                 
399                 - add message path + id in the indexing database for mapistore case in
400                   SaveChangesMessage
401         [r2005]
402                 Add default owner/full rights to new root folders created. Works with
403                 Outlook 2003 (shift + delete for hard delete)
404         [r2004]
405                 Add PT_SRVEID support in SPropValue (0xFB proptype)
406         [r2003]
407                 Add owner / full-access rights for mailbox folders. It introduces less
408                 stabilitity but offers wider range of available features.
409         [r2002]
410                 Generate PidTagRights for PR_RIGHTS (used in openchangedb)
411 2010-06-22
412     jkerihuel
413         [r2001]
414                 - Complete fsocpf_get_path implementation
415                 - Register message into indexing.tdb after SubmitMessage
416         [r2000]
417                 Add ocpf_server_set_type python bindings.
418                 
419                 Ohhh looks like we have reached r2000 ;-)
420                 
421                  .-.                ,                                                     
422                 `._ ,                           
423                    \ \                 o         
424                     \ `-,.                        
425                    .'o .  `.[]           o        
426                 <~- - , ,[].'.[] ~>     ___                                               
427                  :               :     (-~.)    
428                   `             '       `|'     
429                    `           '         |      
430                     `-.     .-'          |      
431                 -----{. _ _ .}-------------------                                         
432         [r1998]
433                 - Add SetProps server side implementation for mapistore messages
434                 
435                 - Add a preliminary set of properties within CreateMessage (not
436                   complete yet) as stated in MS-OXCMSG 3.2.5.2
437                 
438                 - Add SaveChangeMessages preliminary server side implementation
439                 - Add SubmitMessage preliminary server side implementation
440                 
441                 - add mapistore and fsocpf backend implementation for
442                   SaveChangeMessages and SubmitMessage. Note: SubmitMesage is just a
443                   hack for now.
444         [r1997]
445                 - Add a wrapper to set OCPF file TYPE
446                 - Free/Allocate type on purpose
447         [r1996]
448                 storing a mapistore_message within the message object is useless for
449                 the moment. Clean-up this bit introduced with last commit.
450         [r1995]
451                 - Add preliminary OCPF API for server purposes (used by
452                   mapistore_fsocpf)
453                 
454                 - ocpf_server API now allows caller to dynamically update
455                   properties. If the properties was already existing, updates its
456                   value.
457                 
458                 - Update ocpf_test.py to reflect this behavior
459                 
460                 - Add preliminary server side implementation for CreateMessage (server
461                   + mapistore + fsocpf backedn)
462                 
463                 - Add preliminary mapistore + fsocpf backend skeleton for SetProps
464                   operation
465     bradh
466         [r1994]
467                 Typo fix in constant name.
468 2010-06-21
469     jkerihuel
470         [r1993]
471                 - Only prevent file opened in read-only to use write_commit
472                 - Position the stream at the beginning of the file before writing
473         [r1992]
474                 Defer ocpf file creation (fopen with w+) to ocpf_write_commit
475         [r1990]
476                 Add rmdir support to mapistore python bindings
477         [r1989]
478                 - Add mapistore python C/API support for:
479                   - add_context_indexing
480                   - add_context_ref_count
481                   - opendir
482                   - closedir
483                   - mkdir
484                   - errstr MAPISTORE error to string conversion
485                 
486                 - Update mapistore python test script to demonstrate
487                 how to create a new folder using mapistore 
488         [r1988]
489                 I may be wrong here, but that was the only way I could pass
490                 a folderID from python's layer to mapistore C/API
491         [r1987]
492                 If context is manually deleted using public API, we need to remove the destructor
493                 we set during context init, otherwise talloc_free segfault occurs
494         [r1986]
495                 talloc_strdup SPropValue strings
496         [r1985]
497                 Add preliminary python bindings for mapistore
498 2010-06-20
499     jkerihuel
500         [r1984]
501                 Add FILETIME support for SPropValue
502         [r1982]
503                 Add TypeCheck on SPropValue rather than blind cast
504         [r1981]
505                 Add python binding for ocpf_write
506                 Add quick test code to ensure it works as expected
507         [r1980]
508                 - Use SPropValue python object in ocpf module
509                 - Add a function binding to retrieve SPropValue array from OCPF file
510                 - Modify sample to test this behavior
511         [r1979]
512                 - Move OCPF python bindings to pyopenchange directory
513                 - Install ocpf module within openchange/
514         [r1978]
515                 - Check property type for SPropValue
516                 - Add auto-generated pyopenchange/pymapi_properties.c to the ignore list
517         [r1977]
518                 - Add preliminary OCPF python bindings
519                 - Add a new pyopenchange python bindings directory:
520                   - Preliminary handling of SPropValue data structure
521                 - Add some python bindings test files
522                 - Add a mparse parser to generate python bindings declaration for mapi
523                   properties
524                 - Build automatically python bindings ** We need to add Python as a
525                   required dependency **
526     bradh
527         [r1976]
528                 Implement EmptyFolder and enhance DeleteFolder.
529                 
530                 This still has quite a way to go, but it does mostly work for folders, including recursion.
531         [r1975]
532                 Add extended test code for folder creation / deletion.
533         [r1974]
534                 Add libmapiserver support for EmptyFolder size calculations.
535
536 2010-06-19
537     bradh
538         [r1972]
539                 Trivial typo fix.
540         [r1971]
541                 Fix comment.
542
543 2010-06-17
544     jkerihuel
545         [r1969]
546                 New test.
547         [r1968]
548                 Second test commit.
549         [r1967]
550                 Test commit
551
552 2010-06-16
553     jkerihuel
554         [r1964]
555                 Fix OOM used in sample_appointment.ocpf
556         [r1963]
557                 Consolidate PSETID array and rely on libmapi definitions.
558
559 2010-06-14
560     jkerihuel
561         [r1958]
562                 Add server-side skeleton for WriteStream Rop.
563         [r1957]
564                 Add server-side skeleton for SetSearchCriteria and GetSearchCritera
565                 Rop.
566                 
567                 Improve GetSearchCriteria IDL and work around the null restriction
568                 response size in GetSearchCriteria reply by tweaking generated code
569                 into nopull,nopush,noprint
570                 
571                 Add generated mapistore ldif file to the ignore list
572         [r1955]
573                 - Add preliminary implementation for named properties support in
574                   mapistore. The API is yet very preliminary (init + get mapped
575                   property ID), but is enough to return consistent data to Outlook and
576                   make its behavior more reliable.
577                 
578                 - mparse.pl now generates a LDIF file for the mapistore namedprops LDB
579                   database which maps named properties within namespaces and store
580                   default values for common/standard named properties Outlook is
581                   using.
582                 
583                 - add a custom ldb_connect wrapper in mapistore to allow mapistore to
584                   open multiple instances of the same mapi named properties ldb
585                   database.
586                 
587                 - Complete preliminary implementation of GetIDsFromNames in oxcprpt.c.
588 2010-06-13
589     jkerihuel
590         [r1944]
591                 - Fix some named properties
592                 - Add a referenced propID value once it is mapped.
593                 Will be used by mapistore to populate/generate the initial
594                 nameid props database
595         [r1938]
596                 Fix a bug with unmapped named properties lookup.
597                 For convenience purposes GetProps accepts within input SPropTagArray
598                 unmapped named properties we internally turn into mapped ones using
599                 GetIDsFroNames. This behavior was incorrect cause we were looking for
600                 properties within specific ranges. Replace this behavior with a global
601                 lookup over named properties we know about.
602                 
603                 One limitation of this fix is that custom nameid properties (not referenced
604                 within libmapi/conf/mapi-named-properties) won't be lookup. However it is
605                 acceptable for the moment.
606     bradh
607         [r1943]
608                 Fix signed / unsigned issue in openchangebackup utility.
609         [r1942]
610                 Fix some signed/unsigned issues in libmapi.
611         [r1941]
612                 Fix up signed / unsigned issues with libocpf.
613                 
614                 This changes the API to allow easy testing of failure vs results.
615         [r1940]
616                 make sure that the 0 is interpreted as unsigned.
617         [r1939]
618                 Fix a signed / unsigned comparison warning in libmapi.
619         [r1937]
620                 Fix some signed / unsigned warnings in torture suite.
621         [r1936]
622                 Avoid signed / unsigned comparison in libmapiadmin.
623         [r1935]
624                 Avoid signed / unsigned comparison in openchangedb.
625         [r1934]
626                 Avoid signed / unsigned comparisions in mapitest
627         [r1933]
628                 Avoid signed / unsigned comparisons in FSOCPF backend.
629         [r1932]
630                 Fill in initialisers.
631                 
632                 Avoids warning with gcc's -Wmissing-field-initializers option.
633     jelmer
634         [r1947]
635                 Fix imports, clean up.
636         [r1946]
637                 Raise exception on invalid arguments to openchange_mapistore_url.
638 2010-06-12
639     jkerihuel
640         [r1931]
641                 Fix duplicate
642     bradh
643         [r1930]
644                 Use calculated len inside the loop, instead of calling strlen each time.
645 2010-06-11
646     jkerihuel
647         [r1929]
648                 Add new properties and PSETID
649 2010-06-10
650     bradh
651         [r1928]
652                 Change variable name to avoid shadowed variable name warning with ICC.
653         [r1927]
654                 Add newline at end of file to avoid compiler warning with ICC.
655 2010-06-09
656     bradh
657         [r1922]
658                 Ensure server modules work when building with coverage enabled.
659     jelmer
660         [r1925]
661                 Consistently use spaces rather than tabs.
662         [r1924]
663                 Remove string exception.
664         [r1923]
665                 Remove duplication of openchange name in namespace.
666 2010-06-08
667     jkerihuel
668         [r1921]
669                 We didn't set a valid error_code for FindRow skeleton.
670         [r1920]
671                 - Add server-side skeleton for ReadStream ROP.
672                 - Add preliminary sanity checks on server-side FindRow
673 2010-06-07
674     jkerihuel
675         [r1919]
676                 Activate correct handling of retval in CreateFolder, despite Outlook
677                 2007 bad behavior. Currently working on fixing this.
678         [r1918]
679                 My small Outlook 2007 'Search missing ROP implementation' shouldn't
680                 have been pushed ;-)
681         [r1917]
682                 Add server-side skeleton for DeleteProperties Rop.
683         [r1916]
684                 Implement server-size skeleton for GetPerUserGuid Rop.
685         [r1915]
686                 Add server-side skeleton for GetPerUserLongTermIds Rop.
687         [r1914]
688                 Add a preliminary stream object implementation
689                 Add stream to emsmdbp convenient functions
690                 
691                 Create a handle in OpenStream
692         [r1913]
693                 Add skeleton server side implementation for OpenStream
694         [r1912]
695                 Forgot to redo changes here.
696         [r1911]
697                 - Undo the SetMessageReadFlag IDL change and add an explanation, so we
698                 don't make the same error twice and have pointers when we want to fix
699                 it.
700                 - Improve OpenMessage IDL and add the Reserved uint16_t bit.  
701                 - Replace sizeof() with known types to prevent from IDL mismatch types
702                 getting used.
703         [r1910]
704                 For single process implementation, this code was fine.
705                 For multi-process/contexts, when we need to cache information
706                 to limit disk access, we should be using the ocpf element as
707                 a memory context.
708                 
709                 This patch makes it possible.
710         [r1909]
711                 Fix SetMessageReadFlag IDL.
712         [r1908]
713                 Add server side skeleton for SetMessageReadFlag Rop.
714         [r1907]
715                 the previous "or"ed value used in LogonType union was non handled
716                 properly by pidl. Replace them with static values instead. This
717                 prevent Outlook rom reconnecting in different situations.
718         [r1906]
719                 This was causing the ndr push error. Outlook now receive OpenMessage
720                 replies.
721 2010-06-06
722     jkerihuel
723         [r1905]
724                 With current implementation messages loaded and added to the mapistore
725                 fsocpf private list were never released/unloaded/free'd.
726                 
727                 Similar behavior would have occured in the future with folders.  Add a
728                 mapistore release_record function which will free/delete
729                 information/data associated to a given folder/message.
730         [r1904]
731                 - Add a preliminary OpenMessage reply implementation
732                 - Add a function to resolve recipients against AD
733                 - Add implementation of GetProps for mapistore messages
734                 - Add mapistore getprops semantic
735                 - Add fsocpf getprops implementation
736                 
737                 Note: current implementation does not free message object and memory
738                 allocation needs to be revised.
739                 
740                 Note 2: openchangeclient --fetchmail works with this version :-)
741         [r1903]
742                 Fix OpenMessage response size calculation. Subcontext size is already
743                 calculated when we add the RecipientRow.length size to the global size.
744         [r1902]
745                 - Make ocpf_recipClass public
746                 - Turn path to headers to local in the lexer
747     bradh
748         [r1901]
749                 Avoid leaking file descriptors on error.
750         [r1900]
751                 Check return type for vasprintf in libocpf.
752 2010-06-05
753     jkerihuel
754         [r1899]
755                 Change mapistore openmessage semantics to fetch/retrieve recipients
756                 and properties from mapistore. Modify OpenMessage ROP to dump
757                 mapistore_message structure contents retrieved from mapistore.
758         [r1898]
759                 Add a function to retrieve recipients from a parsed OCPF message.
760         [r1897]
761                 This is a wip commit, so there is a lot of DEBUG across the code. This
762                 will go away in further commits when the implementation is complete.
763                 
764                 - Add indexing API to mapistore. This API adds an indexing.tdb file
765                   within user's mapistore private space and associate MID and FID to
766                   their full mapistore path. Current implementation expects folder and
767                   mid are repsented under their hexadecimal representation and using
768                   the 0.16PRIx64 format string. It is not robust, but should do the
769                   trick for the moment. Among features available:
770                         - create/open the indexing database
771                         - search of existing indexing context
772                         - ref count assessors
773                         - add/delete fid/mid records
774                         - retrieve the list of folders pointing to an element (parsing
775                           of the mapistore URI)
776                 
777                 - Calls to the API have been added to the emsmdb provider
778                   implementation for initialization and automatic attempt to add
779                   entries whenever we open a folder.
780                 
781                 - Add preliminary code (relying on indexing API) for OpenMessage when
782                   parent handle is the store object. The entire set of cases for
783                   mailbox have been included.
784                 
785                 - Add mapistore code for op_openmessage operation.
786                 - Add message list to the fsocpf context
787                 - Add preliminary fsocpf backend code to open a message and store it
788                   within ocpf_context.
789     bradh
790         [r1896]
791                 Refactored some of the FSOCPF backend.
792                 
793                 Basically some Extract Method refactoring to improve code re-use.
794         [r1895]
795                 Use PRIx64 macro to avoid compiler warning.
796
797 2010-06-03
798     jkerihuel
799         [r1893]
800                 Add a new OCPF error OCPF_E_EXIST returned if a context already exist.
801                 Prevent ocpf_new_context from adding a context to the list if it
802                 already existed
803         [r1892]
804                 Clean up debug code introduced while working on new libocpf version
805         [r1891]
806                 - Make libocpf reentrant and use contexts/ref_count: No more globals
807                   are used in libocpf, they are all specific to contexts. libOCPF is
808                   now multi-process/thread friendly.
809                 
810                 - Remove Makefile bison compiling option with a bison %option in
811                   ocpf.y
812                 
813                 - Propagate libocpf changes to openchange server and utils
814                 
815                 - Fix a bug in file/folder listing when we have both folders and
816                   files.
817
818 2010-06-01
819     jkerihuel
820         [r1889]
821                 Untested code:
822                 - add libmapiserver calculation for OpenMessage + related OXCDATA structures
823                 - add skeleton implementation for server-side OpenMessage ROP
824                 - add preliminary emsmdbp_object_message implementation/initialization
825         [r1888]
826                 - Flush ocpf output when an error occurs
827                 - Fix retrieval of message list in fsocpf backend
828         [r1887]
829                 Add QueryRows implementation for mapistore in fsocpf backend.
830         [r1886]
831                 - Add implementation for mapistore GetContentsTable
832                 - Fix error reply for GetHierarchyTable
833         [r1885]
834                 Fix how PT_DOUBLE data is passed among libmapi layers.
835         [r1884]
836                 Fix an issue introduced in r1858. PT_DOUBLE patch is valid
837                 for EMSMDB, not for NSPI. Rollback change for SPropValue
838         [r1883]
839                 Add IPM.Note as a default receive folder for Inbox. This is used by
840                 Outlook 2003 in the Send/Receive process.
841         [r1882]
842                 Add server-side skeleton for GetAttachmentTable operation.
843         [r1881]
844                 Implement SetSpooler server-side function. The function looks like a
845                 skeleton ... and is one until we figure out what should be the
846                 associated server-side mechanism when clients tells OpenChange server
847                 they want to act as a mail spooler.
848         [r1880]
849                 The LogonType cases were not handled properly
850         [r1879]
851                 Replace existing method to retrieve emsabp_ctx in NSPI server code
852                 with mpm session management API and comparison to actual dce_call structure.
853                 
854                 Replace MAPI_E_LOGON_FAILED rather than MAPI_E_NOT_ENOUGH_RESOURCES in emsmdb server
855                 code when session is not found.
856 2010-05-31
857     jkerihuel
858         [r1878]
859                 Fix commit typo
860         [r1877]
861                 We were adding context the list but were never removing them while the
862                 context_id was added to the free list. This was causing
863                 inconsistencies in mapistore context management + invalid
864                 record/pointers to remain and cause OpenChange server to crash.
865                 
866                 Also add commented code to CreateFolder ROP that will need to be
867                 enabled when we understand related Outlook behavior.
868         [r1875]
869                 Patch from Bharath Acharya <abharath@gnome.org>:
870                 
871                 Print calendar items created at half hours
872         [r1874]
873                 Minor warning fix - unused variable, not initialized
874         [r1873]
875                 Fix a bug with invalid session leading to OpenChange server crash.
876                 
877                 We are now retrieving the emsmdbp_context pointer from our session
878                 management API, after a comparison check vs dcesrv_call_state rather
879                 than blindling and directly from dce_call.
880     bradh
881         [r1876]
882                 Add better error path handling for the OXCFOLD-CREATE mapitest module.
883 2010-05-30
884     jkerihuel
885         [r1872]
886                 Extend mapistore API to have a mapistore URI associated to the backend
887                 context. We want to limit creation of new contexts to the strict
888                 minimum.
889                 
890                 Propagate this change to emsmdbp_object_folder_init. Only create a new
891                 context if the uri intended to be opened is not already associated to
892                 an existing context.
893         [r1870]
894                 Handle additional LogonFlags cases for mailbox store in Logon_repl
895         [r1869]
896                 Fix empty EcDoRpc replies. Outlook 2007 is now happy and stops from
897                 disconnecting untimely.
898         [r1868]
899                 Add server-side skeleton implementation for GetPermissionsTable
900         [r1867]
901                 Pass parent mapi_handles to emsmdbp_object_folder_init rather than
902                 specific parameters.
903                 
904                 Improve emsmdbp_object_folder_init to handle all the different folder
905                 creation cases (root folder, mapistore or not, within mapistore or
906                 openchangedb etc.) OpenChange server now passes mapistest folder
907                 creation test properly.
908                 
909                 Fix a bug with context_id and mapistore. We were passing the parent
910                 context, then deleting it at some point, causing the parent object to
911                 be invalid. Now makes use of a reference counter we manage to keep
912                 consistency.
913                 
914                 Add a convenient function to emsmdbp_object API to retrieve the
915                 contextID associated to an object.
916                 
917                 It looks like we still have some issues when running both Outlook 2007
918                 and Outlook 2003 at the same time with OpenChange server. There may be
919                 some additional session checks to perform in the future.
920         [r1866]
921                 Fix a bug in session management API:
922                 
923                 The mpm_session API uses id, id2, node and context_id from the dcerpc
924                 session to uniquely identify a session context. 
925                 
926                 However when Outlook calls EcDoConnect multiple times, it still uses
927                 the same dcerpc session. With previous API we were freeing the session
928                 while it was still in used - which lead in unstable and unpredictable
929                 crashes.
930                 
931                 The following patch adds a ref_count to the mpm_session API and server
932                 code has been changed for emsmdb and nspi server to increment the
933                 ref_count when the session already exists or create a new session if
934                 none is already stored.
935                 
936                 Also the mpm_session code checks for the ref_count value and ensures
937                 it is 0 before calling the destructor.
938         [r1865]
939                 Call emsmdbp_object_folder_init in any case when creating a
940                 folder. The emsmdbp_object function now do required checks and
941                 initialize the folder's object properly.
942     bradh
943         [r1871]
944                 trivial comment cleanup.
945         [r1864]
946                 Minor cleanups for RopCreateFolder in the server.
947                 
948                 Prefix the mapistore_uri folder name in the path with "0x"
949                 
950                 Use ulFolderType (the folder) instead of ulType (ansi vs unicode) when
951                 deciding which folder type to create.
952         [r1863]
953                 Trivial comment fixes.
954 2010-05-29
955     jkerihuel
956         [r1862]
957                 Complete the opendir implementation for mapistore folders. Outlook
958                 doesn't crash anymore when attempting to open mapistore folders.
959         [r1861]
960                 was using the wrong function emsmdbp_is_mapistore instead of
961                 mailboxstore.
962         [r1860]
963                 Commit Brad Hards's implementation for Public Folders support.
964                 Personal changes wrt initial patch:
965                 
966                 - remove mapistore_uri from openchangedb PF record at
967                   provisioning. Only new created folders should be mapistored.
968                 - Add a mailboxstore boolean to folder and mailbox emsmdbp so we can
969                   select the correct basedn for searches.
970                 - Fix GetProps to provide an accurate answer to Outlook when fetching
971                   public folder's store specific properties.
972                 - Use get_PublicFolderId rather than SpecialFolderId when we open a
973                   public folder store.
974
975 2010-05-28
976     jkerihuel
977         [r1858]
978                 Patch from Milan Crha <mcrha@readhat.com>:
979                 
980                 Fix PT_DOUBLE support in openchange
981         [r1857]
982                 Fix unicode ocpf format in ocpf_write
983         [r1856]
984                 - Fix PT_I8 support in libocpf: PT_I8 support was incorrectly
985                 processed as PT_DOUBLE and prevented properties with 0x0014 proptag
986                 (e.g. PR_PARENT_FID) to be added properly to ocpf files.
987                 
988                 - Add PR_PARENT_FID to the set of properties when creating folders
989         [r1855]
990                 Fix mkdir prototype in sqlite3 backend
991
992 2010-05-27
993     jkerihuel
994         [r1853]
995                 Outlook uses GetProps with the PidTagSubFolders property to check if a
996                 folder has subfolders. Add this property at provisioning (set to
997                 FALSE), then set it to true on system/specialfolders if folder
998                 creation in mapistore went OK.
999         [r1852]
1000                 - Implement mkdir operation at mapistore level
1001                 
1002                 - Update PidTagFolderChildCount of parent folder when parent is the
1003                   root folder of a mapistore context (folder attributes stored in
1004                   openchange.ldb)
1005                 
1006                 - Improve RopCreateFolder implementation
1007                 
1008                 - Clean-up emsmdb_object_folder_init implementation
1009                 
1010                 - Add a convenient function to turn ROPs parameters into MAPI
1011                   properties. This prevents from having endless number of parameters.
1012                 
1013                 - Commit remaining parts of the provision changes
1014         [r1851]
1015                 This TODO doesn't belong here
1016         [r1850]
1017                 Add a convenient function to retrieve the distinguishedName of a
1018                 folder given its folder identifier. This function is useful when
1019                 building dn for openchangedb ldb_add operations.
1020         [r1849]
1021                 Add PidTagComment so it can be used in openchange.ldb when root
1022                 folders are created with a comment CreateFolder parameter.
1023         [r1848]
1024                 Make it possible to retrieve MailboxRoot folder using
1025                 olFolderMailboxRoot in GetDefaultFolders.
1026         [r1847]
1027                 Outlook 2007 tries to create a To-Do search folder under user
1028                 mailbox. Creates the folder at provision time to be kind with it.
1029                 
1030                 Set PidTagParentFolderId to 0 for mailbox root
1031         [r1846]
1032                 The wrong index in mapi_repl was causing the crash I've investigated
1033                 over the past 10 hours.
1034                 
1035                 Please always use idx for mapi_response->mapi_repl[] index ;-)
1036 2010-05-26
1037     jkerihuel
1038         [r1845]
1039                 In current architecture, we need to retrieve root mapistore folder properties
1040                 from openchangedb, then use mapistore for operations such as GetHierarchyTable or
1041                 GetContentsTable. This was not possible with the current design where we only
1042                 switch between mapistore: true or false.
1043                 
1044                 I have introduced a mapistore_root boolean associated to folder object which we
1045                 set to true if the folder initializes a mapistore context (otherwise false).
1046                 
1047                 This boolean is used in GetProps so we retrieve mapistore container properties
1048                 from openchangedb and not mapistore.
1049     bradh
1050         [r1844]
1051                 Add size calculations for public folder RopLogon
1052                 response.
1053 2010-05-25
1054     jkerihuel
1055         [r1843]
1056                 We'll change CreateFolder to generic code later.
1057                 For the moment change from sqlite to fsopcf backend for system folders
1058         [r1842]
1059                 Fix handling of flagged property row in GetProps (Mailbox case).
1060         [r1841]
1061                 Missing break added, now makes Outlook 2003 launhes properly.
1062         [r1840]
1063                 Ensure PidTagAttr is valid and prevent ldb layer from segfaulting
1064         [r1839]
1065                 Send a flagged PropertyRow when GetProps is called with mapistore
1066                 Add a nasty hack and call this fake MAPI_E_NOT_FOUND property value for
1067                 GetProps if the object doesn't exist.
1068                 
1069                 In openchangeclient we are calling get_container_class using the parent object
1070                 (Mailbox root folder) and the FID of the 2-level down folder. This causes
1071                 openchange server to crash. The hack exposed above will help temporary workaround
1072                 this problem while we figure out/remember the real problem: Why do we have
1073                 to call the parent to retrieve the container class?
1074         [r1838]
1075                 Remove last references to systemfolder in libmapiproxy API 
1076         [r1837]
1077                 release objects properly in the mailbox recursive function
1078         [r1836]
1079                 After we release ocpf_context, strings are destroyed.
1080                 Prevent from happening by stealing the overall context and
1081                 talloc_strdup strings.
1082                 
1083                 We'll need to find a better/encapsulated way to do this on long term.
1084         [r1835]
1085                 Add a small hack to handle StandardPropertyRow properly
1086                 StandardPropertyRow have no errors and have a prefixing flag set to 0
1087         [r1834]
1088                 Get ride of the previous way to detect 
1089                 systemfolder/mailbox/mapistore folders.
1090                 
1091                 This was barely understandable and error prone. 
1092                 
1093                 It is now replaced by a mapistore boolean set for every object
1094                 + a convenient emsmdbp_object function to check mapistore value
1095                 for given handle quickly.
1096 2010-05-24
1097     jkerihuel
1098         [r1833]
1099                 Add mapistore implementation for QueryRows ROPs relying on
1100                 GetHierarchyTable objects (folders properties listing).
1101                 
1102                 Add fsocpf backend implementation to fetch folders properties from a
1103                 .properties OCPF file stored within the folder (identified by its
1104                 PR_FID).
1105                 
1106                 Customized emsmdbp table object to have:
1107                 - a context_id and whether the table is within mapistore or not.
1108                 - to know if the table comes from GetHierarchyTabke or
1109                   GetContentsTable
1110                 
1111                 Add a path element to the folder_list structure in fsocpf backend to
1112                 quickly use the full path and open the .properties file.
1113                 
1114                 Note: current code is for developers only. It is known to have bugs
1115                 (e.g. memory allocation), furthermore there is some manual
1116                 openchangedb and filesystem operation to perform in order to have the
1117                 commit intended results.
1118         [r1832]
1119                 Add a convenient function for openchange server that lets build the
1120                 SPropValue array with known properties.
1121         [r1830]
1122                 Replace the hardcoded fsocpf_ctx->fid with a basic code searching for last elements
1123                 in mapistore_uri path.
1124         [r1829]
1125                 Fix typo in PidTag name
1126         [r1828]
1127                 Add PidTagFolderChildCount
1128         [r1827]
1129                 Add libocpf as a dependency to mapistore_fsocpf backend
1130         [r1826]
1131                 Add a ulType to emsmdbp table object.
1132                 We need to make the difference between folders table (hierarchy) and messages ones (contents).
1133         [r1825]
1134                 This is a large work in progress commit:
1135                 
1136                 - Do not add mapistore_uri for Mailbox and IPM Subtree. These are only
1137                   openchange.ldb containers.
1138                 
1139                 - Fix a memory issue with emsmdbp object destruction: use a different
1140                   context for folder object. This was preventing from having a valid
1141                   DIR * when releasing the object at mapistore layer.
1142                 
1143                 - Add preliminary implementation for OpenFolder (GenericFolder) in
1144                   emsmdbp server code and mapistore. It can't yet be tested properly
1145                   with openchangeclient --mailbox because we need to extend QueryRows
1146                   implementation first. This will be achieved in further commits
1147                 
1148                   We are now using mapistore_uri attribute value (valid or NULL) to
1149                   detect whether it is a systemfolder (blank container) or if we need
1150                   to initialize a mapistore backend context.
1151                 
1152                 - Add mapistore implementation of GetHierarchyTable and backend
1153                   implementation for fsocpf. Since we don't have a working
1154                   Createfolder/mkdir implementation yet, you need to add
1155                   PidTagFolderChildCount = 1 to the folder record in openchange.ldb +
1156                   manually create the directory on the filesytem.
1157         [r1824]
1158                 Missing mapi_object_release call added
1159 2010-05-23
1160     jkerihuel
1161         [r1823]
1162                 - Add libmapi as a dependency to libmapistore. We need libmapi to
1163                   benefit from operations on MAPI properties.
1164                 
1165                 - Add a MAPISTORE_RETVAL_IF macro and a MAPISTORE_SANITY_CHECKS one
1166                   for common checks.
1167                 
1168                 - Refactor the search of the backend context given its context id in a
1169                   function and propagate the change to related functions.
1170                 
1171                 - Add skeletons for opendir, closedir, mkdir and rmdir. Prototypes of
1172                   these function may change in the future.
1173         [r1822]
1174                 Implement create_context and delete_context for fsocpf backend. Patch
1175                 initially from Brad Hards.
1176                 
1177                 Add a double linked list with fid/DIR couples for folders operations
1178                 to be developed.
1179         [r1821]
1180                 Fix a bug in NSPI server which was preventing NspiGetMatches
1181                 from retrieving the correct DN from the in-memory tdb database.
1182                 
1183                 Should fix the profile creation error users were experiencing.
1184                  
1185         [r1819]
1186                 Add a reference to the libocpf documentation for ospf backend
1187     bradh
1188         [r1820]
1189                 Add forgotten part of r1818.
1190         [r1818]
1191                 Support provisioning mailboxes with either fsocpf or sqlite backends.
1192                 
1193                 fsocpf is the default at this stage.
1194                 
1195                 OK'd by Julien.
1196 2010-05-22
1197     jkerihuel
1198         [r1817]
1199                 Fix paths to related pages
1200         [r1816]
1201                 Patch from Brad, fix doc typo, grammar - makes it sound more English.
1202 2010-05-21
1203     jkerihuel
1204         [r1815]
1205                 Add API documentation for init, backend connection contexts
1206                 Add programming samples
1207         [r1814]
1208                 Install libmapistore pc file
1209         [r1813]
1210                 0.2 version of mapistore documentation. 
1211                 Merge some of the initial mapistore wiki page content.
1212                 Add a section on FSOCPF backend
1213     bradh
1214         [r1812]
1215                 Various API documentation fixes. All trivial.
1216         [r1811]
1217                 Fix some hard-coded formatting in mapitest common code.
1218         [r1810]
1219                 Add a simple create / delete folder test to mapitest.
1220                 
1221                 I've been using this to test the basic operations.
1222         [r1809]
1223                 Enable DeleteFolder rop, now we have a partial implementation.
1224         [r1808]
1225                 Implement RopDeleteFolder, and handle the case where a folder already exists in RopCreateFolder
1226                 
1227                 This still only works for a top level folder.
1228         [r1807]
1229                 Add convenience API to obtain the FID for a given folder (by name).
1230                 
1231                 This is useful to tell if a folder exists, which we need to do before
1232                 we create it.
1233                 
1234                 Also fixes a nuisance warning about printf specifiers. 
1235         [r1806]
1236                 Extend CreateFolder size calculations to handle some of the optional elements
1237                 
1238                 We still don't properly handle the variable length server element.
1239 2010-05-20
1240     jkerihuel
1241         [r1805]
1242                 Add general overview of what mapistore is and 
1243                 how it can be used from a user perspective
1244         [r1804]
1245                 Fix doxygen warnings
1246         [r1803]
1247                 Refactor mapiproxy documentation into a global mapiproxy / openchange server doc.
1248                 - Add a mapistore documentation skeleton
1249                 - Add related pictures
1250 2010-05-19
1251     jkerihuel
1252         [r1801]
1253                 Add folder atomic operation to mapistore and skeleton to backends:
1254                 mkdir,rmdir,opendir,closedir,readdir
1255     bradh
1256         [r1802]
1257                 API documentation typo fix.
1258
1259 2010-05-18
1260     jkerihuel
1261         [r1799]
1262                 - Push Brad's CreateFolder implementation after turning hardcoded fields to generic one.
1263                 
1264                 Note: current implementation is incorrect as it states that any folder is referenced
1265                 within openchange.ldb while only system/top folders are. We have a mapistore URI for
1266                 system/top folders, not for subfolders which are stored directly within specified
1267                 mapistore backend.
1268                 
1269                 However the implementation is almost correct when it comes to create folders directly
1270                 under / in the user mailbox.
1271         [r1798]
1272                 - Add a 'fsocpf' mapistore backend skeleton (FileSystem + OCPF)
1273                 - Fix some doxygen in mapistore sqlite3 backend
1274                 - Add an op_mkdir skeleton to mapistore
1275                 - Add fsocpf:// namespace test to mapistore_test
1276                 - Compile fsocpf only if libocpf gets compiled
1277                  
1278         [r1797]
1279                 Add defs_private.h so we can use PRIx64 where appropriate
1280         [r1796]
1281                 It makes more sense to directly return the next available and formated FID rather
1282                 than the GlobalCount raw value.
1283         [r1795]
1284                 Add exchange username to emsmdbp_ctx structure for convenient purposes
1285         [r1794]
1286                 After openchange_ldb is opened, map attributes of the @ROOTDSE record
1287                 with ldb_set_opaque so ldb_get_default_basedn and ldb_get_root_basedn work.
1288 2010-05-17
1289     jkerihuel
1290         [r1793]
1291                 Implement a convenient function to retrieve the GlobalCount value from
1292                 the objectClass=server record in openchangedb - which is the next FID
1293                 to be available.
1294                 
1295                 Note: the function currently lacks locking mechanisms. We should
1296                 introduce some to prevent from race conditions.
1297                 
1298                 This code was originally designed by Brad. I've just refactored it.
1299         [r1792]
1300                 Add a rootDSE entry to openchangedb.
1301                 This change makes possible to call:
1302                      - ldb_get_root_basedn() to retrieve CN=server,DC=domain,DC=ext
1303                      - ldb_get_default_basedn() to retrieve CN=firstou,CN=firstorg,CN=server,DC=comain,DC=ext
1304         [r1790]
1305                 Add server-side skeleton for ROPs:
1306                     - ModifyRecipients
1307                     - DeleteMessage
1308                     - SubmitMessage
1309                     - GetTransportFolder
1310                 
1311                 NOTE: GetTransportFolder is using hardcoded data that will be removed
1312                 in futher commits.
1313         [r1789]
1314                 Add libmapiserver size calculation for ROPs:
1315                     - RopDeleteMessage
1316                     - RopModifyRecipients
1317                     - RopSubmitMessage
1318                     - RopGetTransportFolder
1319 2010-05-16
1320     jkerihuel
1321         [r1787]
1322                 Fix provisioning script and push a master-git samba4 version known to compile
1323                 and work properly with openchange.
1324                 
1325                 There is probably a small typo left in installsamba.sh post_install script to fix
1326     bradh
1327         [r1788]
1328                 Update docs for new samba version.
1329                 
1330                 Looks like we now have real complexity requirements for passwords...
1331 2010-05-14
1332     bradh
1333         [r1786]
1334                 Fix the container class for the Drafts folder.
1335                 
1336                 This is per MS-OXCSFLD
1337         [r1785]
1338                 Add PT_I8 for cast_SPropValue().
1339 2010-05-13
1340     jkerihuel
1341         [r1784]
1342                   Fix openchange vs latest samba4 git-master branch
1343                 
1344                 - Fix OpenChange schema: Had to split our 1-file schema into multiple
1345                   files in order to be compliant with Samba4 LDB schema validation
1346                   policy/rules.
1347                 
1348                 - Fix openchange provision script
1349                 - Fix calls to smb_iconv_convenience_init
1350                 - Fix the copied libmapi/socket code to work with latest samba4 code
1351                 - Fix openchange server SIGSEGV when EcDoConnectEx is called
1352                 
1353                 I have tested the following to ensure nothing is broken:
1354                 - mapitest with Exchange 2003. All tests are OK
1355                 - openchangepfadmin (user creation/deletion OK)
1356                 - openchange server provisioning
1357                 - openchange server vs Outlook 2003:
1358                   - profile creation OK
1359                   - Outlook can open the user mailbox and display it properly
1360 2010-05-10
1361     jkerihuel
1362         [r1783]
1363                 Skeleton server code for DeleteFolder ROP
1364         [r1782]
1365                 Just add more skeleton code to select between available folder types
1366         [r1781]
1367                 Server side skeleton for CreateFolder operation
1368
1369 2010-05-08
1370     bradh
1371         [r1779]
1372                 Implement some more properties for cast_mapi_SPropValue().
1373                 
1374                 Patch mostly by Milan Crha, some changes by me.
1375         [r1778]
1376                 Use retval instead of GetLastError() in a couple of places.
1377         [r1777]
1378                 Add missing failure path handling.
1379         [r1776]
1380                 Avoid assigning a boolean result to an enum MAPISTATUS.
1381                 
1382                 Fixes problem noted with mapitest on OXCFOLD-MOVECOPY-MESSAGES.
1383
1384 2010-05-06
1385     bradh
1386         [r1774]
1387                 Add comment about the number for each ROP in the server.
1388
1389 2010-05-03
1390     bradh
1391         [r1772]
1392                 Make sure we can load a server module when it is built with coverage testing enabled.
1393
1394 2010-05-02
1395     bradh
1396         [r1770]
1397                 Fix some mapitest issues reported by valgrind.
1398                 
1399                 These only occur when running against the openchange server - mostly problems with failure paths.
1400         [r1769]
1401                 Fix up a few segfaults found when running against openchange server.
1402
1403 2010-05-01
1404     bradh
1405         [r1767]
1406                 Add support for EcDoRpc GetAddressTypes (0x49) and OptionsData (0x6f) to server.
1407                 
1408                 This is completely driven by the server provisioning - no hard coding.
1409                 
1410                 This makes a binary incompatible change, so if you get crashes, please try a
1411                 clean rebuild.
1412
1413 2010-04-29
1414     bradh
1415         [r1765]
1416                 Add PT_DOUBLE support for set_SPropValue().
1417
1418 2010-04-28
1419     bradh
1420         [r1763]
1421                 Add support for PT_ERROR in mapi_SPropValue casting function.
1422         [r1762]
1423                 Add support for a couple more types in the casting code.
1424                 
1425                 Also adds a development-version "OPENCHANGE_ASSERT()" that flags incomplete code.
1426
1427 2010-04-23
1428     jkerihuel
1429         [r1760]
1430                 Add a convenient function to retrieve the total 
1431                 number of records in the Global Address List.
1432                 
1433                 Modify openchangeclient to expose this change in
1434                 the --userlist option.
1435
1436 2010-04-20
1437     jkerihuel
1438         [r1758]
1439                 Fix OpenChange notification subsystem to handle multiple session properly
1440                 Patch OpenChange trunk to reflect this API change
1441                 
1442                 Add quick and dirty doc/examples/multiple_notif.c to show how to setup
1443                 multiple sessions + notifications with threads. 
1444         [r1757]
1445                 Add PidTag for transport message headers
1446
1447 2010-03-04
1448     bradh
1449         [r1755]
1450                 One more server API documentation fix.
1451         [r1754]
1452                 More server side api documentation work.
1453
1454 2010-03-03
1455     bradh
1456         [r1752]
1457                 Mix of api documentation fixes for server side.
1458         [r1751]
1459                 Add MAPI_E_NOT_IMPLEMENTED.
1460                 
1461                 This is based on information at 
1462                 http://social.msdn.microsoft.com/Forums/en-US/os_exchangeprotocols/thread/d3c860a8-f131-4c7a-aa11-b9ec328d06c4
1463
1464 2010-03-02
1465     bradh
1466         [r1749]
1467                 Implement RopOptionsData (0x6F).
1468                 
1469                 Updates IDL, adds implementation and mapitest coverage.
1470                 
1471                 This has no practical use, but might be useful for testing the server.
1472
1473 2010-02-28
1474     bradh
1475         [r1747]
1476                 Add talloc leak checking options to mapitest.
1477
1478 2010-02-27
1479     bradh
1480         [r1745]
1481                 Update man page for mapiprofile to reflect new --language option format.
1482
1483 2010-02-26
1484     bradh
1485         [r1743]
1486                 Add special handling for PS_MAPI property name mapping.
1487                 
1488                 This fixes a long-standing mapitest failure.
1489                 
1490                 The logic is based on MS-OXCPRPT, section 2.2.12.2.2 PropertyIds.
1491         [r1742]
1492                 Minor API documentation fix.
1493
1494 2010-02-24
1495     bradh
1496         [r1740]
1497                 Build fix for example code
1498
1499 2010-02-23
1500     jkerihuel
1501         [r1738]
1502                 Fix format string problem #184 ticket
1503     bradh
1504         [r1737]
1505                 Add status reporter classes to allow redirecting the progress
1506                 messages.
1507         [r1736]
1508                 Update man page to reflect mapitest --subunit option.
1509         [r1735]
1510                 Implement basic subunit output protocol format for mapitest.
1511                 
1512                 There are a couple of documentation bits to follow.
1513
1514 2010-02-20
1515     bradh
1516         [r1733]
1517                 Trivial API dox addition.
1518
1519 2010-02-17
1520     bradh
1521         [r1731]
1522                 Update the IDL and implementation for RopGetPermissionsTable (0x3e)
1523                 and RopModifyPermissions (0x40) to match MS-OXCPERM.
1524                 
1525                 The function signature for GetTable() and ModifyTable() has changed.
1526                 They are now called GetPermissionsTable() and ModifyPermissions()
1527                 respectively, and there is an additional "flags" argument, which you
1528                 almost certainly want to pass as 0x00 if you are porting from some
1529                 older implementation.
1530                 
1531                 Updates all users, and adds mapitest unit tests.
1532
1533 2010-02-11
1534     jkerihuel
1535         [r1729]
1536                 Add country codes to codepage-lcid description file
1537     bradh
1538         [r1727]
1539                 Remove copied code from samba (ldb) and just use the ldb
1540                 version.
1541                 
1542                 Resolves ticket #167
1543         [r1726]
1544                 Allow building if popt isn't available.
1545                 
1546                 The changes are to:
1547                 - remove unnecessary include in libmapiadmin
1548                 - only build mapistore test tool if popt is available
1549                 - only build torture tests if popt is available.
1550                 
1551                 The last change could be finer (e.g. only leaving out the
1552                 part of the torture test that actually requires popt) but
1553                 that seemed more fragile and generally unnecessary.
1554                 
1555                 Resolves ticket #233.
1556     jelmer
1557         [r1728]
1558                 Update bzrignore.
1559
1560 2010-02-10
1561     bradh
1562         [r1724]
1563                 Ensure we always initialise before trying to cleanup (e.g. in a failure scenario).
1564                 
1565                 Issue identified and patch provided by Erik Hovland, minor changes by me.
1566                 
1567                 Resolves ticket #236.
1568         [r1723]
1569                 prop is declared within the switch statement.
1570                 
1571                 Fix by Erik Hovland - thanks very much.
1572                 
1573                 Resolves ticket #239.
1574         [r1722]
1575                 Use strncpy instead of strcpy.
1576                 
1577                 Patch by Erik Hovland, plus a minor change by me to ensure the string is null terminated.
1578                 
1579                 Resolves ticket #237.
1580         [r1721]
1581                 Add missing break statements
1582                 
1583                 Patch by Erik Hovland <erik@hovland.org>
1584                 
1585                 Resolves ticket #238.
1586         [r1720]
1587                 Mark appropriate constructors as explicit.
1588                 
1589                 Patch by Erik Hovland - thanks very much.
1590                 
1591                 Resolves ticket #240.
1592         [r1719]
1593                 Add newline.
1594                 
1595                 Patch from Erik Hovland - thanks again.
1596                 
1597                 Resolves ticket #242.
1598         [r1718]
1599                 Fix spelling errors.
1600                 
1601                 Patch by Erik Hovland - thanks very much.
1602                 
1603                 Resolves ticket #241.
1604         [r1717]
1605                 Make sure we actually can compile when using --enable-openchange-qt4
1606                 
1607                 This patch ensures that $(MOC) gets set in the Makefile.
1608
1609 2010-02-09
1610     jkerihuel
1611         [r1715]
1612                 Add canonical names for codepage related properties (involved in
1613                 PT_STRING8 encoding/decoding)
1614
1615 2010-02-08
1616     jkerihuel
1617         [r1711]
1618                 - Add parser for codepage-lcid
1619                 
1620                 - Add entire set of conversion functions for lcid, codepage, language
1621                   and locale
1622                 
1623                 - mapiprofile now uses codepage/lcid matching LC_CTYPE environment
1624                   variable for language detection, otherwise codepage/lcid matching
1625                   language list. Language list is now dumped from codepage-lcid
1626                   auto-generaed code.
1627                 
1628                 - Remove deprecated util and tests directory from libmapi and from
1629                   build system. We now only rely on codepage_lcid.c
1630                 
1631                 - Update openchange code (utils, mapiprofile, mapitest and
1632                   exchange2ical libs) to use this new API.
1633                 
1634                 - I have not looked into icalparameter_get_language, but assuming it
1635                   is relying on previous API, I may have introduced a bug here. Looks
1636                   like the function outputs for example "en-US" while we now checks
1637                   for "en_US" to match setlocale output.
1638     bradh
1639         [r1710]
1640                 Minor API documentation adds.
1641         [r1709]
1642                 Add unit test coverage for the GetGALTable() function.
1643                 
1644                 This is mostly lifted from utils/openchangeclient.c
1645         [r1708]
1646                 Switch to only building Qt4 bindings if specifically asked for.
1647                 
1648                 This is a bit experimental for now, so lets go safer...
1649
1650 2010-02-05
1651     jkerihuel
1652         [r1706]
1653                 In this particular case (error returned, mapi_response shouldn't
1654                 be free'd)
1655         [r1705]
1656                 Fix bug 605827 - SRowSet was free'd while still needed
1657
1658 2010-02-04
1659     jkerihuel
1660         [r1703]
1661                 Template file which associates Language, LCID, Locale and Codepage.
1662                 Furthermore commits will implement the mparse parser which will
1663                 auto-generate the associated C files. This should give us a reliable
1664                 way to use it in mapiprofile, MAPI profiles database and for
1665                 PT_STRING8 proper conversion purposes.
1666                 
1667                 If anything is missing or is incorrect, updating the file will
1668                 be trivial.
1669
1670 2010-02-03
1671     bradh
1672         [r1701]
1673                 Fix bug where you couldn't select another messages in the default folder without
1674                 changing folder first.
1675                 
1676                 Looks like this is just a bit I forgot to update when changing from an initial
1677                 cut to the "more working" implementation.
1678
1679 2010-02-02
1680     jkerihuel
1681         [r1699]
1682                 - Fix trac ticket #183: PT_UNICODE properties are now turned to UTF-8
1683                   directly.
1684                 
1685                 - Remove deprecated utf8_convert lexer and windows_to_utf8 routine
1686                 
1687                 - Change openchange tools to use _UNICODE tag version instead
1688                 
1689                 - octool_get_propval now prefer UNICODE properties over PT_STRING8
1690                   ones (default behavior).
1691                 
1692                 - Change mapidump_message API to take an optional mapi_object_t
1693                   message parameter. If the message object is specified, we can have
1694                   access to the subject, and recipients (to, cc, bcc) without having
1695                   to query them within a GetProps call.
1696     bradh
1697         [r1698]
1698                 Fix an ugly cut-n-paste error.
1699         [r1697]
1700                 Add pkg-config support for libmapi++.
1701
1702 2010-02-01
1703     jkerihuel
1704         [r1695]
1705                 Fix ticket #123 (known as 562948 on gnome bugzilla):
1706                 "Unable to send mails containing UTF8 strings"
1707                 
1708                 OpenChange was using strlen(str) * 2 + 2 to calculate the 
1709                 expected size for utf16 string. This patch fixes this and
1710                 replaces it with a function that make proper utf8 to utf16 
1711                 conversion.
1712                 
1713                 This commit also replaces PT_STRING8 properties in openchangeclient.c
1714                 with PT_UNICODE ones to ensure utf8 strings get converted properly.
1715
1716 2010-01-26
1717     jkerihuel
1718         [r1693]
1719                 - Add NormalizedSubject and SubjectPrefix strings to object_message_t
1720                   structure.
1721                 - Add a function to retrieve TypedString value
1722                 - Add a mapidump function for obj_message (only retrieve subject and
1723                   recipients)
1724                 - Add --fetchsummary option to openchangeclient: Dumps properties from
1725                   OpenMessage response only (subject and recipients) rather than going
1726                   through GetProps and dumping a more complete version.
1727     bradh
1728         [r1692]
1729                 Move make distclean to the end again.
1730
1731 2010-01-23
1732     bradh
1733         [r1690]
1734                 Remove a copy of the dlinklist.h header, and just use the samba
1735                 version instead.
1736
1737 2010-01-20
1738     bradh
1739         [r1688]
1740                 Install missing file.
1741
1742 2010-01-13
1743     bradh
1744         [r1686]
1745                 Allow us to find samba python code on 64-bit machines.
1746
1747 2010-01-10
1748     jkerihuel
1749         [r1684]
1750                 Update EcDoConnectEx IDL to match latest specifications
1751     bradh
1752         [r1683]
1753                 Minor additions to "make clean" / "make distclean" to remove
1754                 generated python bits, and also the config.h file.
1755
1756 2010-01-08
1757     bradh
1758         [r1681]
1759                 Implement IsMailboxFolder for public folder types.
1760                 
1761                 Involves some refactoring of the way we handled the mapi_object_store_t,
1762                 such that we now talloc_zero the structure. 
1763                 
1764                 Adds mapitest coverage for these.
1765                 
1766                 Resolves Ticket #134.
1767
1768 2010-01-06
1769     bradh
1770         [r1679]
1771                 Add unit tests for IsMailboxFolder
1772                 
1773                 Also use 0xFFFFFFFFF instead of -1 for no-such-mailbox, consistent with the unsigned data type.
1774
1775 2010-01-04
1776     jkerihuel
1777         [r1677]
1778                 Change location of .cpp.o and .ccp.po to the correct location
1779                 and inhibit compilation line output for moc and cpp compilation.
1780     bradh
1781         [r1676]
1782                 Try harder to clean up libmapi++ bits.
1783
1784 2010-01-03
1785     jkerihuel
1786         [r1673]
1787                 Ignore moc files and generated binary
1788         [r1672]
1789                 Update OpenChange version to 0.10 NOMAD
1790                 
1791                 Nomad is a mechanical explorer sent from Earth in 2002. 
1792                 It was melded with an alien device named Tan Ru and the resulting robotic
1793                 hybrid began destroying anything that was imperfect including, in 2267,
1794                 itself. 
1795     bradh
1796         [r1674]
1797                 Add documentation for qt/ subdirectory.
1798         [r1671]
1799                 Try harder to find moc.
1800         [r1670]
1801                 Initial commit of some Qt-style bindings.
1802                 
1803                 This is mostly for testing, although hopefully the library will
1804                 emerge with a set of mostly-useful widgets for implementing
1805                 real clients.
1806
1807 2009-12-31
1808     bradh
1809         [r1668]
1810                 Quiet the build here.
1811                 
1812                 Inadvertent removal in a previous patch.
1813         [r1667]
1814                 Some support for ReviewBoard.
1815
1816 2009-12-29
1817     bradh
1818         [r1665]
1819                 Update OpenMessage flags to match specification values.
1820         [r1664]
1821                 Cleanup libmapi++ code when we "make clean".
1822         [r1663]
1823                 Add svn ignore entries.
1824         [r1662]
1825                 Remove inline from shared library class.
1826                 
1827                 Fixes build on Intel C++ compiler.
1828
1829 2009-12-27
1830     clsk
1831         [r1660]
1832                 libmapi++ is no longer a header-only library
1833
1834 2009-12-26
1835     bradh
1836         [r1658]
1837                 Add first part of Restrictions support.
1838         [r1657]
1839                 A little more documentation fixes.
1840 2009-12-25
1841     jkerihuel
1842         [r1654]
1843                 Fix MAPIUninitialize() crash when leaving after an unsuccessful call.
1844                 In such situation, mapi_response is not allocated but has a destructor
1845                 associated. This fix removes the destructor whenever the error code is
1846                 different from MAPI_E_SUCCESS.
1847                 
1848                 Also add a minor (probably useless) check on mapi_response pointer validity
1849                 before attempting any other child's free.
1850     bradh
1851         [r1656]
1852                 A couple of minor API documentation fixes.
1853
1854 2009-12-24
1855     jkerihuel
1856         [r1651]
1857                 Rename libmapi into openchange in our release script.
1858                 Makes more sense given the scope of our releases.
1859         [r1650]
1860                 Fix format string warnings.
1861         [r1649]
1862                 New ModifyRecipients IDL and implementation.
1863                 
1864                 This patch improves the logic within the RecipientFlags bitmask
1865                 calculation function and make use of different MAPI properties for
1866                 ModifyRecipients. 
1867                 
1868                 Fix trac ticket #125 and https://bugzilla.gnome.org/show_bug.cgi?id=568763
1869     bradh
1870         [r1648]
1871                 Minor API documentation fix.
1872 2009-12-23
1873     bradh
1874         [r1647]
1875                 Fix some exchange2ical memory leaks / "still reachable" memory.
1876         [r1645]
1877                 Fix property tag array count, so we get the language in Summary
1878                 lines in the ical output.
1879         [r1644]
1880                 Add protection against null CN values.
1881                 
1882                 Resolves ticket #232.
1883                 
1884                 Thanks to Arnout Engelen for the bug report and the patch to fix the problem.
1885         [r1643]
1886                 Handle all day events for UTC+  timezones.
1887                 
1888                 This resolves ticket #217. Thanks to Arnout Engelen for both reporting
1889                 the problem, and providing a patch. In the end I heavily modified the 
1890                 patch, and implemented a much simpler version while we sort out the
1891                 timezone identifier problems.
1892
1893 2009-12-22
1894     bradh
1895         [r1641]
1896                 Minor documentation update to reflect GSoC exchange2ical merge.
1897         [r1640]
1898                 temporary fix for building on FreeBSD 7.2.
1899         [r1639]
1900                 Remove this file - converted it to trac tasks.
1901 2009-12-21
1902     jkerihuel
1903         [r1635]
1904                 Patch from Johnny Jacob <johnnyjacob@gmail.com>:
1905                 
1906                 Changed MonitorNotification to be non-blocking.
1907                 Also checks whether to process notifications using a callback.
1908         [r1634]
1909                 Open Profile Store using global_mapi_ctx for the memory context. This
1910                 fix removes 20 context errors when running valgrind on mapitest.
1911         [r1633]
1912                 - Fix important memory leaks in OpenChange NSPI stack. The memory
1913                   context modifications applied to the EMSMDB stack have been
1914                   propagated to the NSPI one. NSPI dcerpc_* functions now rely on a
1915                   temporary context passed in parameter to the nspi_* functions from
1916                   libmapi/nspi.c.
1917                 
1918                 - Changes propagated to torture, mapitest, IProfAdmin interface and
1919                   ResolveNames function to match the internal API.
1920                 
1921                 - Add missing MAPIFreeBuffer call in mapitest modules
1922         [r1632]
1923                 Minor cosmetic change
1924         [r1631]
1925                 Minor changes to match our coding convention more closely
1926         [r1630]
1927                 Return (const void *) instead of (void *) where missing
1928         [r1629]
1929                 - Fix important memory leaks within the OpenChange stack. Most of the
1930                   leaks came from the pipe memory context used in emsmdb_transaction
1931                   which was only released on MAPIUninitialize and sometimes leaded in
1932                   lost blocks. This fix makes extensive usage of the temporary memory
1933                   context used in top MAPI calls implementation. This context is
1934                   passed in argument to emsmdb_transaction and used for dcerpc_*
1935                   operations.
1936                 
1937                   When we return from any libmapi call implementation, this context is
1938                   destroyed. This guarantee no extra memory within NDR layer is kept.
1939                 
1940                   The only requirement for this patch to work is to make sure the data
1941                   we return from MAPI calls is either reparent to another memory
1942                   context or copied properly.
1943     bradh
1944         [r1638]
1945                 Add support for skipping tests that don't apply to some
1946                 server versions.
1947         [r1637]
1948                 Change the format of the server version, so it matches the Microsoft
1949                 way of doing versions.
1950
1951 2009-12-20
1952     jkerihuel
1953         [r1627]
1954                 Fix store version info assignment - Exchange version now works again
1955                 in mapitest.
1956         [r1626]
1957                 Clarify the developer's task when using GetPropList.
1958                 
1959                 We were allocating the SPropTag proptag array with the session context
1960                 pointer, which was not released with a MAPIFreeBuffer(SPropTagArray).
1961                 
1962                 We are now using SPropTagArray pointer as parent context and clarify
1963                 that the developer must pass an allocated SPropTagArray pointer to the
1964                 function.
1965         [r1625]
1966                 Missing mapi_object_release leading in small leaks.
1967         [r1624]
1968                 Sanitize RfrGetNewDSA function and memory usage.
1969                 
1970                 The function was returning either a const char * passed in parameter
1971                 or the string returned by RfrGetNewDSA call. Furthermore we were using
1972                 the session pointer for the memory context. Finally the function description
1973                 was not matching its behavior.
1974                 
1975                 What this patch does:
1976                 - use a named memory context for RfrGetNewDSA call
1977                 - return an allocated string on success otherwise NULL
1978                 - release RFR memory context properly
1979                 
1980                 valgrind before patch (mapitest):
1981                 ==28876== LEAK SUMMARY:
1982                 ==28876==    definitely lost: 0 bytes in 0 blocks
1983                 ==28876==    indirectly lost: 0 bytes in 0 blocks
1984                 ==28876==      possibly lost: 3,193,529 bytes in 23,296 blocks
1985                 ==28876==    still reachable: 345 bytes in 2 blocks
1986                 ==28876==         suppressed: 0 bytes in 0 blocks
1987                 ==28876==
1988                 ==28876== For counts of detected and suppressed errors, rerun with: -v
1989                 ==28876== ERROR SUMMARY: 2351 errors from 2351 contexts (suppressed: 45 from 10)
1990                 
1991                 valgrind after patch (mapitest):
1992                 ==29083== LEAK SUMMARY:
1993                 ==29083==    definitely lost: 0 bytes in 0 blocks
1994                 ==29083==    indirectly lost: 0 bytes in 0 blocks
1995                 ==29083==      possibly lost: 3,190,285 bytes in 23,256 blocks
1996                 ==29083==    still reachable: 345 bytes in 2 blocks
1997                 ==29083==         suppressed: 0 bytes in 0 blocks
1998                 ==29083==
1999                 ==29083== For counts of detected and suppressed errors, rerun with: -v
2000                 ==29083== ERROR SUMMARY: 2338 errors from 2338 contexts (suppressed: 45 from 10)
2001         [r1623]
2002                 This patch fixes most of the leaks coming from pull_emsmdb_property() function.
2003                 pull_emsmdb_property is using pointers and allocate memory to prevent from
2004                 returning a local variable address. Such pointers include PT_I2, PT_I8, PT_LONG, 
2005                 PT_ERROR or PT_BOOLEAN. Pointer's values are assigned in set_SPropValue but were
2006                 never released/free'd. This patch implements free_emsmdb_property to fix this problem.
2007                 
2008                 valgrind before patch (mapitest):
2009                 ==26674== LEAK SUMMARY:
2010                 ==26674==    definitely lost: 0 bytes in 0 blocks
2011                 ==26674==    indirectly lost: 0 bytes in 0 blocks
2012                 ==26674==      possibly lost: 3,264,485 bytes in 23,387 blocks
2013                 ==26674==    still reachable: 345 bytes in 2 blocks
2014                 ==26674==         suppressed: 0 bytes in 0 blocks
2015                 ==26674==
2016                 ==26674== For counts of detected and suppressed errors, rerun with: -v
2017                 ==26674== ERROR SUMMARY: 2370 errors from 2370 contexts (suppressed: 45 from 10)
2018                 
2019                 valgrind after patch (mapitest):
2020                 ==27270== LEAK SUMMARY:
2021                 ==27270==    definitely lost: 0 bytes in 0 blocks
2022                 ==27270==    indirectly lost: 0 bytes in 0 blocks
2023                 ==27270==      possibly lost: 3,127,733 bytes in 23,293 blocks
2024                 ==27270==    still reachable: 345 bytes in 2 blocks
2025                 ==27270==         suppressed: 0 bytes in 0 blocks
2026                 ==27270==
2027                 ==27270== For counts of detected and suppressed errors, rerun with: -v
2028                 ==27270== ERROR SUMMARY: 2348 errors from 2348 contexts (suppressed: 45 from 10)
2029     bradh
2030         [r1622]
2031                 Minor API documentation fixes.
2032
2033 2009-12-19
2034     jkerihuel
2035         [r1620]
2036                 - Add a macro to mparse.pl to free both mapi_response 
2037                   and mem_ctx within OpenChange calls implementation.
2038                   For the moment it is only implemented in OpenUserMailbox call.
2039                 
2040                 - Fix a memory leak in OpenUserMailbox: When the call failed 
2041                   (ecUnknownUser or ecUseEnryption) mapi_response was not free'd
2042                   properly.
2043         [r1619]
2044                 Minor indentation fix
2045     bradh
2046         [r1618]
2047                 Add some missing newlines to reduce compilation noise.
2048         [r1617]
2049                 Merge in Ryan Lepinski's Google Summer of Code work on exchange2ical.
2050                 
2051                 See the gsoc_exchange2ical branch history for commits.
2052                 
2053                 I also made a change to address ticket #216, and
2054                 fixed a couple of typos.
2055
2056 2009-12-18
2057     bradh
2058         [r1615]
2059                 Minor updates to provisioning instructions.
2060                 
2061                 Thanks to Girish Venkatachalam for some suggestions.
2062
2063 2009-12-17
2064     jkerihuel
2065         [r1611]
2066                 Fix 'unused variable' warning on FreeBSD for exchange2mbox
2067     bradh
2068         [r1613]
2069                 Add documentation for the --freebusy option.
2070         [r1612]
2071                 Warning fix.
2072
2073 2009-12-16
2074     jkerihuel
2075         [r1607]
2076                 Fix segfaults in mapitest launched with exchange2010
2077         [r1606]
2078                 Fix compilation warnings
2079     bradh
2080         [r1609]
2081                 Add missing -L directory specifier.
2082                 
2083                 Looks like this was tolerated by gnu ld, but not by opensolaris ld.
2084                 
2085                 Patch by Brian Lu (Sun). Thanks again.
2086         [r1608]
2087                 Add documentation for new mapiprofile --encrypt option, introduced in r1602.
2088         [r1605]
2089                 Fix a couple of typos that trash CFLAGS during build.
2090
2091 2009-12-15
2092     jkerihuel
2093         [r1603]
2094                 Automatically switch from connect to seal on the emsmdb pipe if
2095                 ecNotEncrypted is returned by EcDoConnect.
2096         [r1602]
2097                 - Make OpenChange natively working with Exchange 2010
2098                 - Factorize binding string construction code within a single function
2099                 - the seal flag is mandatory to connect to Exchange 2010
2100                 - add seal boolean value to MAPI profile creation and mapi_profile
2101                   structure
2102                 - add --encrypt option to mapiprofile to set the seal value
2103
2104 2009-12-14
2105     bradh
2106         [r1600]
2107                 Add documentation for set_SPropTagArray().
2108                 
2109                 Thanks to Brian Lu (Sun) for reporting.
2110
2111 2009-12-13
2112     jkerihuel
2113         [r1598]
2114                 This doesn't really fix ticket #149, but this should
2115                 at least prevent from triggering segmentation fault when
2116                 PR_EMAIL_ADDRESS_UNICODE doesn't have any cn=Recipients,cn= substring 
2117     bradh
2118         [r1597]
2119                 Trivial fix (newline) for warning on FreeBSD compiler.
2120         [r1596]
2121                 Add support for manually creating the library symlinks for FreeBSD
2122                 
2123                 This is a somewhat speculative commit. 
2124                 
2125                 Also fixes a couple of cosmetic whitespace issues.
2126
2127 2009-12-12
2128     jkerihuel
2129         [r1594]
2130                 Patch from Bryan Lu <brian.lu@sun.com>:
2131                 
2132                 Create symbol link only on Solaris
2133                 
2134                 This closes ticket #221 and makes it possible to compile openchange
2135                 on Solaris.
2136         [r1593]
2137                 Temporary bug fix in emsabp.c - If restrictions are NULL in
2138                 emsabp_search, return MAPI_E_INVALID_OBJECT. This prevents from using
2139                 invalid res pointer leading in segmentation fault.
2140                 
2141                 Initial fix proposed by Erik Hovland <erik@hovland.org>
2142         [r1592]
2143                 Patch from Erik Hovland <erik@hovland.org>:
2144                 
2145                 fid might be null. Check it before dereferencing in the
2146                 ocpf_folder_lookup() call. Similar behavior fixed in openchangeclient
2147                 folder_lookup() function.
2148         [r1591]
2149                 Patch from Erik Hovland <erik@hovland.org>:
2150                 
2151                 NotificationData 'could' be null. Check it before handing it to
2152                 notification-callback(). This is important because eventually
2153                 NotificationData will be dereferenced in the code path.
2154         [r1590]
2155                 Patch from Kamen Mazdrashki <kamen.mazdrashki@postpath.com>:
2156                 
2157                 Fix MAPI Warning error codes
2158         [r1589]
2159                 Patch from Kamen Mazdrashki <kamen.mazdrashki@postpath.com>:
2160                 
2161                 bugfix: Bugs in abp_tdb layer fixed.
2162                 
2163                 emsabp_tdb_traverse_MId() returns 'false' (i.e. not found) in most of
2164                 the cases.
2165         [r1588]
2166                 Patch from Kamen Mazdrashki <kamen.mazdrashki@postpath.com>:
2167                 
2168                 Implement NspiQueryRows() address list enumeration
2169                 
2170                 We can now run openchangeclient --userlist on OpenChange NSPI server
2171                 and Outlook 2003 is able to query GAL.
2172                 
2173                 Note: the initial patch was proposing:
2174                 "(&%s(showInAddressBook=*))", purportedSearch
2175                 
2176                 I replaced it with "%s", purportedSearch only since we don't have yet
2177                 any showInAddressBook attribute in AD.
2178         [r1587]
2179                 Patch from Kamen Mazdrashki <kamen.mazdrashki@postpath.com>:
2180                 
2181                 - Add server side implementation for NspiResolveNamesW
2182                 - Refactor and split emsabp_verify_user in two functions
2183                 
2184                 A new function emsabp_get_account_info() implemented to fetch info
2185                 about given user name.  emsabp_verify_user() uses the above function
2186                 check if authenticated account_name is valid mail account and if so,
2187                 account_name is cached in emsabp context for future use
2188         [r1586]
2189                 Patch from Kamen Mazdrashki <kamen.mazdrashki@postpath.com>:
2190                 
2191                 NspiGetProps() reimplemented to match [MS-NSPI] specification more
2192                 closely.
2193                 
2194                 As a side-effect, emsabp_fetch_attrs() was altered to return
2195                 MAPI_E_INVALID_BOOKMARK in case requested MId is not found.  This way
2196                 the function returns more meaningful error codes - if requested MId is
2197                 not found this surely means InvalidBookmark rather than CorruptStore
2198
2199 2009-12-11
2200     jkerihuel
2201         [r1584]
2202                 Path from Kamen Mazdrashki <kamen.mazdrashki@postpath.com>:
2203                 
2204                 Propagate dwFlags for incoming call to get EntryIDs correctly.
2205                 
2206                 Actually we need to propagate dwFlags so that emsabp_query()
2207                 function to be able to determine whether EphemeralEntryID
2208                 or PermanentEntryID is requested to be built.
2209         [r1583]
2210                 Patch from Kamen Mazdrashki <kamen.mazdrashki@postpath.com>:
2211                 
2212                 Implement PR_SEARCH_KEY attribute getter
2213         [r1582]
2214                 Patch from Kamen Mazdrashki <kamen.mazdrashki@postpath.com>
2215                 
2216                 Add PR_ADDRTYPE_UNICODE and PR_EMS_AB_PROXY_ADDRESSES_UNICODE getters.
2217         [r1581]
2218                 Patch from Kamen Mazdrashki <kamen.mazdrashki@postpath.com>:
2219                 
2220                 - Extend NspiDNToMId() to search in Configuration and Domain
2221                   partitions.
2222                 
2223                 - NspiDNToMId() has been extended to cache returned data properly,
2224                   i.e. DNs from Configuration partition are cached in ttb_ctx db, DNs
2225                   from Domain partition are cached in in-memory db ttdb_ctx.
2226         [r1580]
2227                 Patch from Kamen Mazdrashki <kamen.mazdrashki@postpath.com>:
2228                 
2229                 emsabp_set_PermanentEntryID() implements MS specification more
2230                 closely.  For reference: [MS-NSPI] and [MS-OXOABK]
2231         [r1579]
2232                 - Replace emsabp_get_server_GUID with samdb_ntds_objectGUID Samba4
2233                   function.
2234                 - Change the way we initially fetched server GUID
2235                 
2236                 Credits to Kamen Mazdrashki <kamen.mazdrashki@postpath.com> for
2237                 initial patch and associated research:
2238                 
2239                 It turns out MS implementation for NSPI reads the guid from: "CN=NTDS
2240                 Settings,CN=<NETBIOS_NAME>,CN=Servers,CN=Default-First-Site-Name,CN=Sites,<CONFIG_DN>" entry.
2241         [r1578]
2242                 Fix samdb_connect warning.
2243                 Add function prototype to nsp,emsmdb header files.
2244                 Change samdb_ctx from void * to ldb_context *
2245     bradh
2246         [r1577]
2247                 Update docs to match those in mapiproxy doxygen docs.
2248         [r1576]
2249                 Roll to the latest Samba4 version.
2250                 
2251                 This should have no noticeable difference over the
2252                 Samba4 alpha9 release, but its nice to use the latest
2253                 version, and it might make a difference on the server
2254                 side.
2255 2009-12-10
2256     jkerihuel
2257         [r1575]
2258                 Fix OpenChange server code and access to Samba4 databases.
2259                 Starting with samba4-alpha9, there is no more configuration.ldb or users.ldb.
2260                 All information can be accessed through a single access to SamDB and configuration records
2261                 accessed through ldb_get_config_basedn.
2262                 
2263                 The following implementation has been tested and is working with:
2264                 - mapiprofile profile creation
2265                 - openchangeclient --mailbox
2266                 - Outlook 2003 account creation
2267                 - Outlook 2003 mailbox opening
2268
2269 2009-12-09
2270     jkerihuel
2271         [r1573]
2272                 Fix openchange user provisioning scripts
2273         [r1572]
2274                 Forgot to commit this LDIF modifications for openchange provisioning
2275
2276 2009-12-08
2277     jkerihuel
2278         [r1570]
2279                 - Fix OpenChange server provisioning (exchange classes and attribute only)
2280                 - Remove deprecated provisioning steps
2281                 - OpenChange user provisioning is still broken at this point, but will be
2282                 fixed in further revisions.
2283
2284 2009-12-02
2285     jkerihuel
2286         [r1568]
2287                 Fix a cast warning at compilation time for libmapi++
2288         [r1567]
2289                 - Update openchange libraries to 0.9: close trac ticket #165
2290                 - Propagate pkgconfig solution in trac ticket #94 to other libs
2291         [r1566]
2292                 - Update openchange code to work with samba4-alpha9 release
2293                 - Apply minor fix to ldb_wrap_connect (number of parameters)
2294                 - Update mapiproxy code to handle new Samba4 assoc_group implementation properly
2295                 - Update samba4 version script to match alpha9 and related git commit
2296
2297 2009-11-27
2298     bradh
2299         [r1564]
2300                 Ensure we get output if sqlite3 isn't found at configure time.
2301                 
2302                 Now outputs "no" instead of a blank.
2303
2304 2009-11-26
2305     bradh
2306         [r1562]
2307                 Fix attribution, per IRC discussion.
2308
2309 2009-11-25
2310     bradh
2311         [r1560]
2312                 Ensure API documentation gets generated for utilities functions.
2313                 
2314                 Some undocumented stuff in here to look at later.
2315         [r1559]
2316                 Add additional mapidump functions for notifications
2317                 
2318                 This is a patch from Johnny Jacob (Novell), with unit tests and some extra checks by me.
2319                 
2320                 Maintains good test coverage for this file.
2321
2322 2009-11-23
2323     bradh
2324         [r1557]
2325                 Avoid use-after-free for the number of rows in the SRowSet.
2326                 
2327                 Resolves issue #212, which has the valgrind error.
2328
2329 2009-11-22
2330     bradh
2331         [r1555]
2332                 Add test for get_proptag_value().
2333         [r1554]
2334                 Minor cleanups for mapidump functions.
2335                 
2336                 - Add support for dumping property tags using PT_SHORT.
2337                 - Modify the tag for PR_whatever_ERROR results to include the _ERROR bit
2338                 - Minor format change for PT_BINARY (training colon)
2339                 - Ensure PT_SYSTIME respects the seperator value (API change)
2340                 - Add a conditional assert() using infrastructure introduced in r1553.
2341                 
2342                 Implement mapitest support for all of libmapi/mapidump.c
2343                 
2344                 Update openchangeclient for the API change.
2345         [r1553]
2346                 Introduce a compile time definition that is set for SVN snapshot releases.
2347                 
2348                 The intent is to use this to protect assert() calls that indicate incomplete code.
2349
2350 2009-11-19
2351     bradh
2352         [r1551]
2353                 Improved Sun Studio compiler support.
2354                 
2355                 Patch by Brian Lu (Sun) - thanks again.
2356         [r1550]
2357                 Revert inadvertent part from previous commit (r1549)
2358         [r1549]
2359                 Add coverage testing support.
2360                 
2361                 ./configure now supports --enable-coverage, which builds with the right options
2362                 to support gcov. Also adds a new makefile target ("coverage") that runs the
2363                 required post-processing steps.
2364                 
2365                 Also added a test script that does a range of openchange related (client side)
2366                 operations. This is useful for generating the test load for coverage checks.
2367                 
2368                 So the basic recipe here is
2369                 1. Add the --enable-coverage option at configure time.
2370                 2. Do a clean build
2371                 3. Install it, or otherwise ensure that coverage-enabled libs are used
2372                 4. generate the test load (e.g. run ./script/smoketest.sh)
2373                 5. "make coverage"
2374                 6. Inspect the results in ./covresults
2375
2376 2009-11-13
2377     bradh
2378         [r1547]
2379                 Add support for the SunStudio compiler.
2380                 
2381                 I previously special-cased the Intel C compiler, and relied on some ugly ordering requirements to
2382                 ensure it all worked.
2383                 
2384                 This approach is cleaner, allowing options to be build up separately for each compiler, and for
2385                 the C and C++ versions.
2386                 
2387                 Tested on Linux with all three compilers.
2388
2389 2009-11-09
2390     bradh
2391         [r1545]
2392                 Adding missing include.
2393                 
2394                 Ticket #220.
2395                 
2396                 Patch from Brian Lu (Sun). Thanks very much.
2397
2398 2009-11-07
2399     bradh
2400         [r1543]
2401                 Additional portability fixes for SunOS.
2402                 
2403                 Based on a patch (ticket #220) by Brian Lu (Sun). Thanks very much.
2404                 
2405                 I modified the patch to try to use autoconf where possible.
2406                 
2407                 Resolves ticket #220.
2408         [r1542]
2409                 Remove MAP_FILE flag from mmap(). Looks like this is only required on really
2410                 old unix systems (e.g. NetBSD prior to 1.0), which we probably won't ever support.
2411                 
2412                 Patch by Brian Lu (Sun) - thanks very much.
2413                 
2414                 Partly resolves ticket #220 - still need to handle the first patch.
2415
2416 2009-11-02
2417     bradh
2418         [r1540]
2419                 Fix build problem using Sun Studio compiler.
2420                 
2421                 Reported by Brian Lu (Sun), including a patch (Ticket #219)
2422                 
2423                 I slightly modified the patch, but nothing substantial.
2424
2425 2009-10-21
2426     jkerihuel
2427         [r1538]
2428                 Patches provided by raboof:
2429                 - Ticket #213 deprecated include directive removal
2430                 - Ticket #214 missing sanity check
2431                 - Ticket #215 fix some DEBUG macro level for sain ouput
2432
2433 2009-10-19
2434     bradh
2435         [r1536]
2436                 spello fixes.
2437
2438 2009-10-18
2439     clsk
2440         [r1534]
2441                 Use mapi_profile_get_ldif_path to find ldif path when one is not given
2442
2443 2009-10-09
2444     clsk
2445         [r1531]
2446                 Added libmapi++ wrapper function for CreateProfileStore
2447
2448 2009-10-08
2449     bradh
2450         [r1529]
2451                 Update buildsystem to avoid using bash-specific (well, not sh-supported) +=
2452                 mechanism.
2453                 
2454                 Should allow FreeBSD to be supported.
2455
2456 2009-10-06
2457     bradh
2458         [r1527]
2459                 Alternative solution to ticket #179, provided by Alan Alvarez.
2460                 
2461                 This alternative avoids the need for the user to clean up the string returned by what().
2462                 
2463                 Also includes a test case, which I've used to validate that the original (prior to r1524) code 
2464                 is faulty, and that both fixes (From Erik Hovland and from Alan Alvarez) deal with it.
2465                 
2466                 Resolves Ticket #179 (again).
2467
2468 2009-09-26
2469     bradh
2470         [r1524]
2471                 Make sure that the string given by what() can be used. 
2472                 
2473                 Patch by Erik Hovland - thanks very much.
2474                 
2475                 Resolves ticket #179.
2476         [r1523]
2477                 Ensure that the libmapi++ messages example works even if there is no
2478                 PR_CONVERSATION_TOPIC (subject).
2479     jelmer
2480         [r1525]
2481                 Add 'make dist'.
2482
2483 2009-09-20
2484     bradh
2485         [r1521]
2486                 Modify mapi_object_set_logon_id() to be able to report errors.
2487                 
2488                 Original patch by Erik Hovland, I made some changes.
2489
2490 2009-09-19
2491     bradh
2492         [r1519]
2493                 Implement RopReloadCachedInformation (0x10).
2494                 
2495                 Minor change to IDL (previously implemented), and adds
2496                 implementaiton and mapitest code.
2497                 
2498                 Also editorial comment fix in some related mapitest stuff.
2499                 
2500                 Resolves ticket #186
2501         [r1518]
2502                 Implement GetValidAttachments ROP (0x52).
2503                 
2504                 Includes IDL, implementation and mapitest.
2505                 
2506                 mapitest also checks DeleteAttach behaviour, which I don't think we previously
2507                 covered anywhere. 
2508                 
2509                 Also includes a comment fix in the mapitest code.
2510
2511 2009-09-16
2512     bradh
2513         [r1516]
2514                 Whitespace cleanup.
2515                 
2516                 Patch by Erik Hovland <erik at hovland.org>
2517
2518 2009-09-14
2519     bradh
2520         [r1514]
2521                 Update the properties list.
2522                 
2523                 Patch from Girish Venkatachalam <girish at gayatri-hitech.com>
2524
2525 2009-09-12
2526     bradh
2527         [r1512]
2528                 Update API to use MAPITAGS enum.
2529         [r1511]
2530                 Update to match API change.
2531         [r1510]
2532                 Use appropriate enum here.
2533         [r1509]
2534                 Use enum for OpenEmbeddedMessage call.
2535         [r1508]
2536                 Use enums where appropriate.
2537         [r1507]
2538                 Update users of FindRow to use enums.
2539         [r1506]
2540                 We are supposed to be returning a MAPISTATUS, so switch to using 
2541                 the OPENCHANGE_RETVAL_ERR macro here.
2542         [r1505]
2543                 Use appropriate enums instead of int types.
2544         [r1504]
2545                 Use enums instead of ints / hardcoded values.
2546         [r1503]
2547                 Use enum types where appropriate.
2548                 
2549                 Fixes warnings from Intel C compiler.
2550         [r1502]
2551                 Return a suitable MAPISTATUS if we can't talloc sufficient memory here.
2552                 
2553                 Fixes warning from Intel compiler.
2554
2555 2009-09-11
2556     bradh
2557         [r1500]
2558                 Only pass "-Wmissing-prototypes -Wstrict-prototypes" to CFLAGS,
2559                 not to CXXFLAGS as well.
2560                 
2561                 Avoids g++ warnings.
2562         [r1499]
2563                 Use enumerated type instead of integer.
2564         [r1498]
2565                 Remove unreachable code.
2566         [r1497]
2567                 Add "static" to avoid the need for additional declarations.
2568                 
2569                 Avoids noise from the intel c compiler.
2570         [r1496]
2571                 Namespace variable in macro, so we don't get noise about shadowing a
2572                 declaration of "i"
2573         [r1495]
2574                 Help icc find comparison_fn_t.
2575         [r1494]
2576                 Match up data types in argument and format string.
2577         [r1493]
2578                 Remove unused variable, and change a name to avoid a "shadowed declaration" 
2579                 warning.
2580
2581 2009-09-10
2582     bradh
2583         [r1491]
2584                 Portability fixes for Intel C Compiler.
2585                 
2586                 Set CFLAGS early, otherwise AC_PROG_CC will set
2587                 CFLAGS to "-O2 -g", which later has -O3 appended, which
2588                 icc complains about.
2589                 
2590                 Check if we're really icc, and if so, turn off some warnings.
2591                 Also turn off the "FORTIFY_SOURCE" define which causes problems
2592                 with missing builtins.
2593                 
2594                 The warnings can (and should) be turned back on later, after we
2595                 fix the current issues.
2596
2597 2009-09-02
2598     bradh
2599         [r1489]
2600                 Correct diagnostics messages.
2601
2602 2009-08-29
2603     bradh
2604         [r1487]
2605                 Remove explicit -Wstrict-aliasing=3 from command line.
2606                 
2607                 This is implied by gcc -Wall option, and icc produces nuisance warnings
2608                 with it enabled (related to the -W option, not the code being compiled).
2609         [r1486]
2610                 Fix some memory leaks and a bug in mapiprofile.
2611                 
2612                 I introduced the bug in r1467, there could be others that are similar.
2613
2614 2009-08-24
2615     bradh
2616         [r1484]
2617                 Minor rewording of description
2618         [r1483]
2619                 Minor cleanups.
2620
2621 2009-08-18
2622     bradh
2623         [r1477]
2624                 Move initialisation up, to make sure everything is valid in the failure paths
2625                 
2626                 Patch by Erik Hovland. Thanks once again.
2627                 
2628                 This closes out ticket #178.
2629         [r1476]
2630                 Remove unreachable code.
2631                 
2632                 Patch by Erik Hovland. Thanks again.
2633                 
2634                 This is the second part of ticket #177. This completes the checkin of that ticket.
2635         [r1475]
2636                 Remove unreachable code.
2637                 
2638                 Patch by Erik Hovland. Thanks very much.
2639                 
2640                 This is the first part of ticket #177.
2641
2642 2009-08-17
2643     bradh
2644         [r1473]
2645                 Ensure that we check the result of the operation we just performed.
2646                 
2647                 Patch by Erik Hovland. Thanks very much for continuing to provide these.
2648                 
2649                 This is the third part of the patch in ticket #177. The first two parts are yet to be addressed.
2650         [r1472]
2651                 Make sure that return values are checked and report that given status if there is an error. 
2652                 
2653                 Patch from Erik Hovland, with minor additional changes. Thanks again for the patch.
2654                 
2655                 Resolves #176.
2656         [r1471]
2657                 More cleanups of memory leaks for setting up database and an associated failure case.
2658         [r1468]
2659                 fix leak in openchangeclient
2660                 
2661                 (as seen with valgrind of "openchangeclient -m")
2662         [r1467]
2663                 Fix memory leak in mapiprofile utility
2664
2665 2009-08-14
2666     bradh
2667         [r1465]
2668                 Ensure that when we pass --profile to mapitest, that profile
2669                 gets used instead of the default.
2670                 
2671                 Also fix a small memory leak when using --profile, and add some
2672                 extra comments.
2673         [r1464]
2674                 Fix error handling case.
2675                 
2676                 Patch from Erik Hovland - thanks very much.
2677                 
2678                 Resolves ticket #175.
2679
2680 2009-08-13
2681     bradh
2682         [r1461]
2683                 Remove unused enum values.
2684         [r1460]
2685                 Remove unused code - no simple tests.
2686
2687 2009-08-09
2688     bradh
2689         [r1454]
2690                 Update the script version of samba4 to alpha8.
2691
2692 2009-08-05
2693     jelmer
2694         [r1450]
2695                 Add tevent to dependencies.
2696
2697 2009-08-03
2698     bradh
2699         [r1448]
2700                 Remove unused headers.
2701                 
2702                 Patch by Erik Hovland - thanks very much,
2703                 
2704                 Resolves ticket #164.
2705         [r1447]
2706                 Apply patch from Erik Hovland, from ticket #162.
2707                 
2708                 From the original patch:
2709                 "The problem is that when you do stat first w/ a file string anyone can
2710                 exploit the time in between to do whatever they want with the file that
2711                 the string is a name for. Instead, try to open straight away. Then fstat
2712                 w/ the file descriptor."
2713                 
2714                 I think the patch is fine, although I didn't run the torture test.
2715
2716 2009-08-02
2717     bradh
2718         [r1444]
2719                 Avoid duplicate call to mapi_object_get_logon_id
2720                 
2721                 Based on a patch proposed by Erik Hovland, but adapted to follow the
2722                 pattern used in OpenStream().
2723                 
2724                 Resolves issue #163.
2725         [r1443]
2726                 Applied modified version of patch from Erik Hovland to address unused variables.
2727                 
2728                 See http://trac.openchange.org/attachment/ticket/160/unused-values for
2729                 the rationale.
2730                 
2731                 This resolves #160.
2732                 
2733                 My version removes variables (rather than commenting them out) since we don't need
2734                 them now. I also updated the documentation for options that are no longer available
2735                 
2736                 The origin of the unused PR_FOLDER_CHILD_COUNT is a bit strange. It was introduced
2737                 in r808 (to resolve #103), and looks like it might have been used for debugging - no
2738                 impact on the code. I pulled out the whole lot.
2739                 
2740                 Tested with openchangeclient --fetchmail --folder="Sent Mail" and mapitest.
2741         [r1442]
2742                 Use array form of delete (error identified with libmapixx-attach test, using valgrind).
2743         [r1441]
2744                 Fix potentially unused variable.
2745                 
2746                 Tested with mapitest (even though nothing should have been affected) and
2747                 with libmapixx-test and libmapixx-attach under valgrind.
2748                 
2749                 Patch is remaining part of http://trac.openchange.org/ticket/153
2750                 
2751                 Thanks to Erik Hovland for the patch.
2752
2753 2009-07-29
2754     bradh
2755         [r1433]
2756                 Remove dead / unused code.
2757                 
2758                 See http://trac.openchange.org/ticket/152#comment:1 for rationale.
2759                 
2760                 Original patch by Erik Hovland - thanks again.
2761         [r1432]
2762                 Update test case to reflect new behaviour
2763
2764 2009-07-18
2765     jelmer
2766         [r1423]
2767                 Link libmapistore against tdb.
2768         [r1422]
2769                 Update copies of config.guess and config.sub.
2770         [r1421]
2771                 Link libmapiproxy against tdb.
2772         [r1420]
2773                 Declare a SOVERSION for libmapistore.
2774         [r1419]
2775                 Use LDFLAGS when linking exchange2ical.
2776         [r1418]
2777                 Create symlink for libmapistore.
2778         [r1417]
2779                 Link libmapi against tevent since it uses tevent_context_init, link ndr_exchange.po into libmapiserver since it uses some ndr_push_* symbols.
2780         [r1416]
2781                 Fix typo in variable name.
2782
2783 2009-06-21
2784     jelmer
2785         [r1365]
2786                 Fix typo in Python variable name.
2787         [r1364]
2788                 Keep separate flags for libraries around in config.mk.
2789         [r1362]
2790                 Link libmapiserver against all libraries.
2791
2792 2009-06-18
2793     jkerihuel
2794         [r1357]
2795                 Add some PidTag* mapping involved with Recipients and RecipientRow
2796
2797 2009-05-28
2798     jkerihuel
2799         [r1350]
2800                 Patch from Erik Hovland <erik@hovland.org>:
2801                 
2802                 Initializes variables to make sure they aren't used uninitialized.
2803                 
2804                 Ref ticket #153
2805         [r1349]
2806                 - Add sanity check on mapitest_common creation routines within
2807                   mapitest modules
2808                 
2809                 - Apply patch from Erik Hovland <erik@hovland.org>: check return
2810                   types.
2811         [r1348]
2812                 Patch From Erik Hovland <erik@hovland.org>
2813                 
2814                 In torture_rpc_mapi_sendattach a call is made to the system function
2815                 read at line 199. The return value of read is assigned to read_size,
2816                 which happens to be of unsigned type. So if read returns -1 (which it
2817                 can) it will not be noticed. The patch changes the type to ssize_t
2818                 (signed) and checks for -1 as well as zero to break out of the loop.
2819                 
2820                 Ref ticket #156
2821         [r1347]
2822                 Patch from Erik Hovland <erik@hovland.org>
2823                 
2824                 1. In mapiproxy, the directory handle dir will be leaked after it is
2825                 done being used.
2826                 2. exchange2mbox main() should use exit at line 785 just like all of
2827                 the other error paths so that we don't leak anything
2828                 
2829                 ref. ticket #157
2830         [r1346]
2831                 Patch from Erik Hovland <erik@hovland.org>
2832                 
2833                 Adds a #include config.h to suppress compiler warnings for vasprintf
2834         [r1345]
2835                 Patch from Erik Hovland <erik@hovland.org>:
2836                 
2837                 Make sure pointers are valid before dereferencing
2838                 1. lpProps 'might' be null
2839                 2. Add folder to variables checked before moving on.
2840                 4. Check nprop->guid before giving to strcmp, two times
2841                 6. Check definition before handing to strlen (which will dereference
2842                 it) Reworked this one to include talloc_free
2843                 7. Check MessageClass? before handing to strncasecmp
2844                 8. Check backend, return if null.
2845                 10. Don't print out anything if lpProp is null
2846                 11. Check attach_size before dereferencing
2847
2848 2009-05-25
2849     jkerihuel
2850         [r1343]
2851                 Fix pull structure for QueryRows reply when no RowData is available
2852
2853 2009-05-07
2854     jkerihuel
2855         [r1341]
2856                 - Add preliminary IDL support for Exchange 2003/2007 EMSMDB RPC calls:
2857                   * EcDoConnectEx
2858                   * EcDoRpcExt2
2859                 
2860                 - Add LZxpress and XorMagic support to EcDoRpcExt2 request/reply
2861                   blob. However it doesn't yet support Chained calls.
2862                 
2863                 - Add AuxInfo/AUX_HEADER structures and IDL
2864                 
2865                 - Refactor mapi_request and mapi_response: move obfuscate_data calls
2866                   up to the EcDoRpc layer
2867
2868 2009-04-27
2869     jkerihuel
2870         [r1339]
2871                 Patch from Paolo Abeni <paolo.abeni@gmail.com>:
2872                 
2873                 call ProcessNotification() after each successful 
2874                 emsmdb_transaction() in all the libmapi calls.
2875         [r1338]
2876                 Patch from Paolo Abeni <paolo.abeni@gmail.com>:
2877                 
2878                 Mapi notifications can occurs inside any emsmdb_transaction; currently
2879                 only the notification send by the server inside the
2880                 emsmdb_transaction_null() in MonitorNotification() are
2881                 parsed/processed/delivered to the appropriate callback.
2882                 
2883                 To be able to process all the received notifications, the notification
2884                 structure must comprise the private data to be passed to the
2885                 notification callback, since in the average mapi call this data is not
2886                 available. This patch modifies the Subscribe() call and the 
2887                 mapi_notification structure, adding the private_data parameter (also the 
2888                 related Subscribe() calls are update)  and add a libmapi call 
2889                 (DispatchNotifications) to force the notification dispatching in
2890                 a [quite] non blocking way
2891
2892 2009-04-26
2893     jkerihuel
2894         [r1336]
2895                 Patch from Paolo Abeni <paolo.abeni@gmail.com>:
2896                 
2897                 ProcessNotification() is ignoring the handle value contained into the
2898                 processed notifications. This means that if many Subscribe() calls are
2899                 performed on different folders but with the same flags, all the
2900                 registered callback are [incorrectly] signaled with each received
2901                 notification.
2902                 
2903                 The attached patch match the handler contained into the notification
2904                 message against the notification object handle to avoid such
2905                 replication.
2906
2907 2009-04-23
2908     jkerihuel
2909         [r1331]
2910                 Make sure delayed authenication is not called when server mode is enabled
2911     bradh
2912         [r1333]
2913                 Update property list to reflect current OAB props.
2914                 
2915                 This deletes a few incompatible properties. Cannot determine the history of the PR_MAILBEAT_ props.
2916         [r1332]
2917                 Fix display of Folder ID values (one is filled with ., the other is prefixed with .16 instead of being filled.
2918                 
2919                 Also remove duplicate close() of file descriptor.
2920         [r1330]
2921                 Typo fix.
2922
2923 2009-04-22
2924     bradh
2925         [r1328]
2926                 Warning fix.
2927
2928 2009-04-21
2929     bradh
2930         [r1326]
2931                 Implement RopTransportNewMail (0x51).
2932                 
2933                 Includes IDL, libmapi implementation, and basic mapitest coverage.
2934                 
2935                 Also fix a few doxygen / formatting things.
2936
2937 2009-04-19
2938     jkerihuel
2939         [r1324]
2940                 - Add Redirect buffer support for OpenMsgStore and OpenPublicFolder.
2941                 This commit fixes the ecWrongServer (0x478) error users encounter
2942                 while running openchange based software in a clustered Exchange 
2943                 environment.
2944
2945 2009-04-18
2946     bradh
2947         [r1322]
2948                 Implement RopCloneStream (0x3b) and RopWriteAndCommitStream (0x90).
2949                 
2950                 Includes IDL, implementation and mapitest tests.
2951
2952 2009-04-17
2953     bradh
2954         [r1320]
2955                 Fix Search notifications.
2956                 
2957                 MS concurred that the docs are wrong.
2958                 
2959                 Patch by Paolo Abeni - thanks very much for the
2960                 investigation and the patch.
2961         [r1319]
2962                 Update GetStoreState documentation.
2963         [r1318]
2964                 Implement RopSetPropertiesNoReplicate (0x79).
2965                 
2966                 IDL was already done. mapitest for DeletePropertiesNoReplicate was
2967                 reused / updated.
2968
2969 2009-04-16
2970     bradh
2971         [r1316]
2972                 Implement (IDL, libmapi, mapitest) RopHardDeleteMessagesAndSubfolders (0x92)
2973                 
2974                 Also fix some bugs in mapitest common code, and an incorrect sanity check in CreateFolder().
2975
2976 2009-04-15
2977     bradh
2978         [r1314]
2979                 Implement RopHardDeleteMessages (0x91). 
2980                 
2981                 Includes IDL, implementation and mapitest.
2982     jelmer
2983         [r1313]
2984                 Ignore generated property file.
2985
2986 2009-04-13
2987     bradh
2988         [r1311]
2989                 Add PT_ACTIONS to list of data types.
2990                 
2991                 Not fully/correctly handled yet.
2992
2993 2009-04-12
2994     jkerihuel
2995         [r1309]
2996                 - Add dcerpc_mapiproxy:delegated_auth option 
2997                 This option delays mapiproxy-remote server authentication when
2998                 the client sends the first request on a given pipe. This is
2999                 mandatory in order to have delegated credentials to work.
3000                 
3001                 - Factor remote connection into mapiproxy_op_connect
3002
3003 2009-04-11
3004     bradh
3005         [r1307]
3006                 Add session state to the notification.
3007                 Patch by Paolo Abeni - thanks for the investigation and fix.
3008                 
3009                 Also remove a stray debug message.
3010         [r1306]
3011                 Add a new mapitest suite for OXCNOTIF (Core Notifications).
3012                 
3013                 Add a test to the OXCNOTIF suite based on test case provided by Paolo Abeni.
3014
3015 2009-04-10
3016     bradh
3017         [r1304]
3018                 Update IDL for ModifyRules (0x41) and add IDL for 
3019                 UpdateDeferredActionMessages (0x57).
3020                 
3021                 This is a checkpoint commit, pending further investigation
3022                 into how we handle PtypRestriction and PtypRuleAction.
3023
3024 2009-04-08
3025     bradh
3026         [r1302]
3027                 Mapitest cleanups - remove GetLastError(), and other minor edits.
3028         [r1301]
3029                 Implement LockRegionStream and UnlockRegionStream ROPs.
3030                 
3031                 These appear to be a relatively recent addition to the 
3032                 documentation, possibly only used in Exchange 2007 / Outlook
3033                 2007.
3034                 
3035                 This is complete except for testing of whether the locking
3036                 actually works.
3037
3038 2009-04-06
3039     jkerihuel
3040         [r1299]
3041                 Use parent folder full replica ID: 2 bytes instead of 1 byte
3042         [r1297]
3043                 - Add Implementation for Logon redirect response buffer in OpenChange IDL
3044                 - Update libmapiserver size calculation routine for Logon call to handle this case
3045
3046 2009-03-30
3047     jkerihuel
3048         [r1293]
3049                 Add session and logon_id to the list of parameters to copy between objects.
3050                 This patch fixes a problem in openchangeclient when using the --folder parameter.
3051     bradh
3052         [r1294]
3053                 Remove code relating to free'ing the bookmark returned
3054                 by SetCollapseState. Initial investigations with MS
3055                 lead me to believe that you can't free that resource.
3056                 
3057                 May be more work in this area as investigation continues.
3058
3059 2009-03-25
3060     jkerihuel
3061         [r1291]
3062                 Fix memory leaks for functions relying on pull_emsmdb_property
3063
3064 2009-03-16
3065     jkerihuel
3066         [r1289]
3067                 Fix emsabp valgrind errors
3068
3069 2009-03-12
3070     jkerihuel
3071         [r1287]
3072                 Make it possible to specify a version number for release different
3073                 from major/minor from configure.ac
3074
3075 2009-03-11
3076     jkerihuel
3077         [r1285]
3078                 Make it possible to open and control up to 255 mailboxes within a 
3079                 single MAPI session.
3080                 
3081                 It implements an internal management of a logon_id array at session
3082                 level + enable transparent transport/copy of current logon_id value
3083                 among MAPI calls + finally transparently free the logon_id value when
3084                 the store object (PF or mailbox) is being released.
3085         [r1284]
3086                 - Retrieve recipients from OpenEmbeddedMessage reply
3087                 - Test the implementation in mapitest
3088                 - Avoid potential memory leak: steal context for returned ulPropTags.
3089
3090 2009-03-08
3091     jkerihuel
3092         [r1282]
3093                 Be more tolerant with Logon request flags
3094         [r1281]
3095                 Set retval to MAPI_E_INVALID_BOOKMARK rather than returning.
3096                 This case still needs to be fixed though.
3097         [r1280]
3098                 Delete debug message
3099         [r1279]
3100                 Create a default GetProps reply on error
3101
3102 2009-03-06
3103     jkerihuel
3104         [r1277]
3105                 Fix retval problem in libmapi/nspi.c for GetIDsFromNames.
3106                 Function returns MAPI_E_SUCCESS, but errno is set to 0x0000000b.
3107                 Set errno to retval to work around this problem.
3108                 
3109                 
3110                 NSPI-GETIDSFROMNAMES
3111         [r1276]
3112                 OXCPRPT-NAME-ID mapitest now passes: The QueryNamedProperties ecMemory retval
3113                 has been worked-around by setting QueryFlags to NoStrings to limite the results
3114                 scope. This means the MNID_STRING case is not fully checked anymore. We should maybe
3115                 add additional tests to do full coverage.
3116         [r1275]
3117                 Fix GetNamesFromIDs IDL and implementation.
3118                 
3119                 Note: We should probably update the function prototype
3120                 so it takes a mapi_SPropTagArray rather than a single property.
3121     bradh
3122         [r1274]
3123                 Protect against bad results from GetGALTable().
3124                 
3125                 Resolves ticket #142
3126
3127 2009-03-04
3128     jkerihuel
3129         [r1272]
3130                 Patch from Paolo Abeni: Add sanity check to Subscribe
3131                 and prevent applications from crashing if notify context 
3132                 is uninitialized.
3133
3134 2009-03-03
3135     jkerihuel
3136         [r1270]
3137                 Ensure NSPI server functions have a valid dcesrv_handle
3138         [r1269]
3139                 Add quick/additional configuration information on how to setup openchange server
3140         [r1268]
3141                 This commit adds a retval check on private data retrieval function and prevents QueryPosition from causing a 
3142                 segfault when parent object is meant to come from GetContentsTable.
3143         [r1267]
3144                 - Fix NspiGetMatches server reply when specified username is invalid and
3145                 search fails.
3146                 - Make use of talloc hierarchy for NspiGetProps properties fetch + fix
3147                 a talloc_free bug leading to segfault on failure.
3148         [r1265]
3149                 Prevent from registering same mapistore backend multiple times
3150     bradh
3151         [r1266]
3152                 Howto updates.
3153
3154 2009-03-02
3155     jkerihuel
3156         [r1261]
3157                 Add skeleton for GetRulesTable 
3158         [r1258]
3159                 - return MAPI_E_SUCCESS when QueryRows reply count is 0
3160                 - Move Reminders from IPM Subtree to Mailbox root
3161         [r1257]
3162                 - Add QueryPosition implementation
3163                 - Move from offset to numerator/denominator couple for table objects
3164                 
3165                 Outlook now opens properly using openchange server and display the
3166                 mailbox folder list with icons ;-)
3167         [r1256]
3168                 - Add skeletons for Restrict, SortTable, FindRow calls
3169                 - Introduce emsmdb provider table object
3170                 - Add preliminary table implementation for system/special folders
3171                 - Add preliminary implementation of GetHierarchyTable, SetColumns and QueryRows
3172                 - Improve creation of GetProps reply blob for Mailbox folder
3173                 - Fix bug in EcRRegisterPushNotification when associated handle is invalid
3174                 - Remove some usage of ldb_filter and use format string instead 
3175                 - Update libmapiserver sanity checks and look for error_code != MAPI_E_SUCCESS
3176                   so openchange server is able to return failed replies to MAPI clients
3177                 - Introduce flaggedPropertyRows in libmapiserver_push_property (needed by QueryRows)
3178                 
3179                 This commit makes openchange server work with "openchangeclient --mailbox" ;-)
3180                 
3181                 Still preliminary but anyway worthwhile enough to be mentioned ...
3182         [r1255]
3183                 - Add a function to count subfolders of a container
3184                 - Add a function to wrap MAPI tables over openchangedb
3185                 - Factorize code used to fetch property values from LDB records
3186         [r1254]
3187                 - Add default properties to folder records while provisioning mailbox
3188                 - Add few more mapping for PR_* to PidTag
3189                 - Add a new MAPI property to the list
3190         [r1253]
3191                 Avoid openchangeclient --mailbox to segfault when run vs openchange server
3192     bradh
3193         [r1263]
3194                 Remove some ldb_filters, and just use varargs into ldb_search
3195         [r1262]
3196                 warning fix for 64-bit arch.
3197         [r1260]
3198                 Revert previous commit.
3199         [r1259]
3200                 Experimental commit to fix build problems resulting
3201                 from property changes.
3202
3203 2009-03-01
3204     jkerihuel
3205         [r1251]
3206                 - Add PidTagDisplayName property to Mailbox object
3207                 - Add PidTagParentFolderId to all system/special folders
3208         [r1250]
3209                 - handles array depends if a valid mapi_repl exists. This commit
3210                   fixes the destructor semantics.
3211                 - Fix a mapitest segfault encountered while run vs openchange server
3212                 - Return 1 in SRowSet_propcpy if an error was encountered.
3213         [r1249]
3214                 Fix libmapi stack segfault when MAPI calls returns 
3215                 with error_code different from MAPI_E_SUCCESS.
3216         [r1248]
3217                 Do not process NSPI request if we can't find the handle
3218         [r1247]
3219                 Remove unnecessary ldb_filter parameter and replace it
3220                 with ldb_search format string.
3221
3222 2009-02-28
3223     jkerihuel
3224         [r1245]
3225                 - GetPropertyIdsFromNames skeleton added
3226         [r1244]
3227                 - Fix how Release replies are handled in mapi_repl[] array
3228                 - Remove Release size calculation
3229                 - Fix QueryRows size in libmapiserver
3230                 - Add a dummy/skeleton GetPropertiesSpecific function for mapistore objects.
3231                 - GetHierarchyTable skeleton added
3232                 - SetProperties skeleton added
3233                 - CreateMessage skeleton added
3234                 - SaveChangesMessage skeleton added
3235                  
3236
3237 2009-02-27
3238     jkerihuel
3239         [r1241]
3240                 Set mapi_response to NULL upon init ... just to get sure
3241         [r1240]
3242                 Fix MAPIUninitialize segfault
3243     bradh
3244         [r1242]
3245                 Warning fix.
3246
3247 2009-02-26
3248     jkerihuel
3249         [r1238]
3250                 - Add skeleton for GetContentsTable Rop
3251                 - Add skeleton for some [MS-OXCTABL] Rops: SetColumns, SortTable, QueryRows, SeekRows
3252                 - Add libmapiserver size calculation functions for all the above
3253                 - Ensure we only set objects parameter if it exists
3254                 - Return when dcesrv handle is not available
3255         [r1236]
3256                 Merge s4-alpha7 branch back into trunk
3257
3258 2009-02-25
3259     jkerihuel
3260         [r1227]
3261                 - Add several PidTag to openchange.ldb folders
3262                 - Add provisioning convenient function which adds attribute/value pair
3263                 to a given folder record
3264                 - Replace existing special folders reference within Inbox with PidTagIpm* tags
3265                 - Add new PidTag values to mapi-properties
3266                 - Add a function to libmapiproxy to build a folder EntryID as described in MS-OXODATA
3267                 - Add a function which builds special properties for openchangedb folders
3268                 - Add PT_BOOLEAN case to openchangedb folder get property function
3269                 - Keep a reference to the mailbox username within emsmdb provider context
3270                 - Create and return a handle in RegisterNotification
3271                  
3272         [r1226]
3273                 Improve PT_I8 dump
3274         [r1225]
3275                 Wrong MessageClass size calculation fixed 
3276     jelmer
3277         [r1229]
3278                 Remove duplicate _GNU_SOURCE definition (already specified by Makefile)
3279         [r1228]
3280                 Ignore new binary and trial output.
3281
3282 2009-02-24
3283     jkerihuel
3284         [r1223]
3285                 - Fix systemfolder value for System/Special folders
3286                 - Add GetProps support to System/Special folders
3287         [r1222]
3288                 Add auto-generated parser to the ignore list
3289         [r1221]
3290                 - Add auto-generated parser for MAPI property to PidTag mapping
3291                 - Add some PidTag values
3292                 - Add a lookup and get property functions on system folders
3293         [r1220]
3294                 - tuple SystemIdx in the dictionnary to workaround the ordering problem
3295                 - Add ParentFolderId attribute to System Folders
3296         [r1217]
3297                 - Add creation of "Special folders" to mailbox provisioning
3298                 - Rename fid attribute to PidTagFolderId
3299                 - Rename name attribute to PidTagDisplayName
3300                 - Rename ExplicitContainerClass to PidTagContainerClass
3301         [r1216]
3302                 Fix GlobalCount increment
3303         [r1215]
3304                 Fix mailbox provisioning
3305     bradh
3306         [r1219]
3307                 Add test for FILETIME structure.
3308         [r1218]
3309                 Update docs for mapiproxy entry.
3310     jelmer
3311         [r1214]
3312                 Fix handling of fids.
3313 2009-02-23
3314     jkerihuel
3315         [r1208]
3316                 - Fix openchangedb mailbox hierarchy and introduces subfolders
3317                 as described in [MS-OXOFOLDS] specifications.
3318                 - Update openchangedb API to reflect this change.
3319         [r1207]
3320                 Rename private mailbox folder "non_ipm_subtree" to "mailbox_root"
3321                 to fit with MS-OXOFOLDS specifications.
3322         [r1206]
3323                 - Add provisioning code for GetReceiveFolder defaults
3324                 - Check if mapistore content repository already exists for the user
3325                 - Make mailbox creation verbose
3326     jelmer
3327         [r1213]
3328                 Fix parentfolder reference.
3329         [r1212]
3330                 Fix syntax error.
3331         [r1211]
3332                 Use recursive call to create folders.
3333         [r1210]
3334                 Simplify list iteration, PEP8, avoid using string exceptions.
3335
3336 2009-02-22
3337     jkerihuel
3338         [r1204]
3339                 Fix 'dereferencing type-punned pointer' warnings
3340         [r1203]
3341                 - Add strict-aliasing compiler flags
3342                 - Fix format string warnings on ubuntu buildbot
3343         [r1202]
3344                 - Add _FORTIFY_SOURCE=2 to the compiler CFLAGS
3345                 - Fix warnings introduced by -D_FORTIFY_SOURCE
3346     bradh
3347         [r1201]
3348                 I might have been a bit hasty with that last commit...
3349                 
3350                 Need sqlite3.
3351         [r1200]
3352                 Try harder to find sqlite3.
3353                 
3354                 Seems to be in sqlite.pc on Ubuntu.
3355         [r1198]
3356                 Fix warning on 64-bit arch.
3357 2009-02-21
3358     jkerihuel
3359         [r1197]
3360                 - Add RopGetReceiveFolder (0x27) implementation
3361                 The function respects should respect the semantics and behavior
3362                 as described in MS-OXCSTOR specifications. However the python's
3363                 code modification required: add ExplicitMessageClass attributes
3364                 to folder records is not yet effective.
3365                 
3366                 - Add GetReceiveFolder size calculation function to libmapiserver
3367                 - Add a function to openchangedb API to retrieve the FID/ExplicitMessageClass
3368                 couple for a given SystemFolder within user's mailbox.
3369         [r1196]
3370                 - Provision scripts: create a mapistore default storage space within ${private}/mapistore/${username}
3371                 - Provision scripts: add default sqlite:// mapistore URI for system folders
3372                 - Add mapistore context initialization when calling OpenFolder on SystemFolder
3373                 - Add mapistore context release for folders in emsmdbp object destructor
3374         [r1195]
3375                 Factorize emsmdbp objects
3376                 Add emsmdbp_object generic talloc destructor
3377     bradh
3378         [r1194]
3379                 Add test for PT_MV_LONG.
3380         [r1193]
3381                 Add tests for PT_I8 and PT_BINARY
3382         [r1192]
3383                 Fix warning about no newline at end of file.
3384                 
3385                 Remove most recently added tests from "to be done" list.
3386         [r1191]
3387                 Add a couple more mapi_SPropValue tests.
3388
3389 2009-02-19
3390     jkerihuel
3391         [r1189]
3392                 - Initialize mapistore within emsmdb provider context
3393                 - Add destructors for MAPI handles and mapistore contexts
3394                 - Remove emsmdbp_ctx memory context structure member and
3395                 allocate directly with emsmdbp_ctx
3396         [r1188]
3397                 I don't see any good reason why we would pad MAPI replies with some bytes. 
3398                 I guess it comes from some prehistoric openchange code.
3399         [r1187]
3400                 Fix systemfolder assignment depending on IsSystemFolder value
3401         [r1186]
3402                 - Initialize OpenFolder server reply
3403         [r1185]
3404                 - Wrap TDB connections to mapistore (code from samba4) so
3405                 multiple instances can open read/write to the same TDB database
3406                 - Remove static id_mapping_context (replaced with tdb_wrap calls)
3407                 - Update mapistore linkage rules so mapistore can be used with exchange_emsmdb server
3408                 - Link mapistore with exchange_emsmdb
3409         [r1183]
3410                 Fix aclocal warning for AC_DEFINE comparison_fn_t
3411         [r1182]
3412                 Remove useless GetProfilePtr from IProfAdmin interface
3413                 Closes trac ticket #131
3414         [r1181]
3415                 Add missing script - prevent configure from generating warning vs missing file.
3416         [r1180]
3417                 Remove stamp-h1 file during distclean and add it
3418                 to the ignore list.
3419         [r1179]
3420                 - Add server-side GetReceiveFolder (0x27) skeleton
3421         [r1178]
3422                 Work around the comparison_fn_t redefinition problem
3423                 between libocpf and ndr.h
3424         [r1177]
3425                 FreeBSD doesn't have time.h daylight global variable
3426     bradh
3427         [r1184]
3428                 start testing mapi_SPropValue_array.
3429                 This also tests some underlying functions.
3430
3431 2009-02-18
3432     jkerihuel
3433         [r1175]
3434                 Add comparison_fn_t support to ndr.h
3435                 This was the latest change require to make openchange compiles under FreeBSD
3436                 
3437                 = samba4/openchange FreeBSD support completed =
3438
3439 2009-02-17
3440     jkerihuel
3441         [r1173]
3442                 Remove duplicated post_install call
3443         [r1172]
3444                 Add a post_install operation on FreeBSD
3445                 Make sure pidl is installed properly.
3446         [r1171]
3447                 Patch samba4 tarball so it compiles properly on FreeBSD 7.0
3448                 Note: this is a dirty hack which needs to be removed in the future
3449         [r1170]
3450                 Install Samba4 correctly although user's PKG_CONFIG_PATH env variable
3451                 may not be adjusted properly.
3452         [r1169]
3453                 Avoid download samba4 release tarball if already available
3454                 in current directory.
3455         [r1168]
3456                 - Add test for comparison_fn_t in configure.ac
3457                 - libocpf auto-generated files include stdlib.h and prevent from
3458                 having the proper comparison_fn_t typedef. This commit works around this
3459                 problem and define comparison_fn_t within a private header.
3460         [r1165]
3461                 getline is a stdio GNU_SOURCE extension not available under FreeBSD.
3462                 Use fgetln instead when it is compiled on this OS.
3463         [r1164]
3464                 FreeBSD doesn't define sighandler_t but sig_t
3465         [r1163]
3466                 Replace open() call with O_DIRECTORY flag (Linux specific) with opendir
3467         [r1162]
3468                 - Add non-default search path /usr/local/{include,lib} to
3469                 CFLAGS and LDFLAGS when compiling OpenChange under FreeBSD
3470                 - Make use of LDFLAGS while compiling openchange tools
3471     bradh
3472         [r1167]
3473                 A few improvements for property handling.
3474                 
3475                 Also add unit tests to verify behaviour is correct.
3476                 
3477                 The implementation for the FlatUID (GUID) structure appears broken. Perhaps I'm not using it correctly.
3478         [r1166]
3479                 Microsoft confirmed the LCID is wrong in the spec, and will be updated in the next rev.
3480
3481 2009-02-16
3482     jkerihuel
3483         [r1160]
3484                 Check for Flex version < 2.5.35
3485                 Make sure users can define the FLEX environment variable
3486         [r1159]
3487                 Add automake scripts for AC_CANONICAL_HOST support
3488                 Needed for FreeBSD OS detection in configure.ac
3489
3490 2009-02-14
3491     bradh
3492         [r1153]
3493                 Fix warnings from lexer output.
3494         [r1152]
3495                 Fixes for warnings on 64-bit architectures.
3496         [r1151]
3497                 Fix warning on 64-bit architecture.
3498     jelmer
3499         [r1157]
3500                 Add some more tests for openchange.mailbox.
3501         [r1156]
3502                 Fix creation of new mailbox after provision.
3503         [r1155]
3504                 Always use the same URL when connecting to openchangedb.
3505         [r1154]
3506                 Fix arguments to openchangedb_provision.
3507
3508 2009-02-13
3509     jkerihuel
3510         [r1149]
3511                 Fix libmapi 64-bit machine cast warnings mentioned in Brad's devel email
3512     bradh
3513         [r1148]
3514                 Warning fix for 64-bit arch.
3515
3516 2009-02-12
3517     jkerihuel
3518         [r1146]
3519                 Add doxygen definition for RopRelease
3520         [r1145]
3521                 - Add server-side skeleton implementation for RopOpenFolder and RopRegisterNotification
3522                 - Add preliminary size calculation functions in libmapiserver for the 2 calls above
3523                 - Fix size bug for serialized requests
3524                 - Add skeleton case for RopGetPropertiesSpecific on SystemFolders
3525                 - Make sure the GetProps reply blob is initialized whatever happen
3526                 - Add a skeleton emsmdbp folder object init function
3527
3528 2009-02-11
3529     jkerihuel
3530         [r1143]
3531                 Remove debug strings for GetPropertiesSpecific Rop
3532         [r1142]
3533                 Enable verbose output in server mode - useful during development
3534         [r1141]
3535                 Implement preliminary server-side RopGetPropertiesSpecific call for mailbox object.
3536         [r1140]
3537                 - Fix GetProps blob for PT_BINARY: use SBinary_short instead of Binary_r
3538                 - Fix GetProps size: subcontext is not added to the fixed size calculation
3539         [r1133]
3540                 - GetPropsSpecific size calculation function added to libmapiserver
3541                 - Function to create a GetProps reply property blob added to libmapiserver
3542     jelmer
3543         [r1139]
3544                 Add tests for provisioning.
3545         [r1138]
3546                 Several cleanups in python code, add tests for schema use.
3547         [r1137]
3548                 Don't clear PYTHONPATH override.
3549         [r1136]
3550                 Remove unused imports, add extra tests.
3551         [r1135]
3552                 Use member variable for Ldb, rather than subclassing.
3553         [r1134]
3554                 Remove print statements to avoid cluttering test output.
3555         [r1130]
3556                 Add simple and incomplete testcase for OpenChangeDB.
3557         [r1129]
3558                 Move wipe of data to mailbox.py, simplify arguments to add_root_mailbox.
3559         [r1128]
3560                 Move adding a server to mailbox.py.
3561         [r1127]
3562                 Move ldif from oc_provision_openchange.ldif into Python.
3563         [r1126]
3564                 Stop providing setup_path to OpenChangeDB, as it's no longer used.
3565         [r1125]
3566                 Avoid using separate LDIF file when creating folder mailboxes.
3567         [r1124]
3568                 Avoid using separate LDIF file when creating mailboxes.
3569         [r1123]
3570                 Avoid passing full names object.
3571         [r1122]
3572                 Add check-python target.
3573
3574 2009-02-10
3575     jelmer
3576         [r1120]
3577                 fix openchange_newuser.
3578         [r1119]
3579                 Use SamDB for actual SAM databases, Ldb otherwise.
3580         [r1118]
3581                 Remove unused parameters, don't make parameters optional if they are mandatory.
3582         [r1117]
3583                 remove unused parameters.
3584         [r1116]
3585                 make mailbox object-oriented, remove creds/lp parameters.
3586         [r1115]
3587                 Fix OpenChangeDB syntax.
3588
3589 2009-02-09
3590     jkerihuel
3591         [r1113]
3592                 - Add a systemfolder member to the MAPI handle structure to make a difference
3593                   between objects managed by mapistore and those stored within openchange.ldb 
3594                   (root mailbox folders).
3595                 
3596                 - Add opaque functions to set/get private_data and systemfolder to the MAPI 
3597                   handles API.
3598         [r1112]
3599                 Minor doxygen fix/improvement
3600         [r1109]
3601                 Add libmapistore object files to the ignore list
3602         [r1108]
3603                 - Add a very preliminary and light libmapistore implementation.
3604                 mapistore only supplies init/release and add/del backend contexts.
3605                 This commit also includes a sqlite3 backend skeleton (open/close sqlite db)
3606                 - A temporary mapistore testing tool has been added locally for implementation checks.
3607     jelmer
3608         [r1111]
3609                 Use convenience function for connecting to openchange.ldb.
3610         [r1110]
3611                 Use standard LDB functions - openchange.ldb is not a SAM database.
3612
3613 2009-02-08
3614     bradh
3615         [r1106]
3616                 Implement support the SUMMARY language tag.
3617         [r1105]
3618                 Initial checking of libical based exchange2ical code.
3619                 
3620                 This has a long way to go, so think of this as more of a checkpoint
3621                 than a release.
3622                 
3623                 See http://sourceforge.net/projects/freeassociation/ for the library, or
3624                 see if your distro has a package.
3625         [r1104]
3626                 Reduce warnings.
3627         [r1103]
3628                 Add missing parameter to API documentation.
3629                 
3630                 Resolves ticket #130.
3631         [r1102]
3632                 API documentation fixes for OpenEmbeddedMessage()
3633         [r1101]
3634                 Implement OpenEmbeddedMessage ROP (0x46).
3635                 
3636                 Resolves Ticket #93
3637         [r1100]
3638                 Factor out message creation and message fill actions.
3639                 
3640                 Also remove GetLastError() where appropriate.
3641         [r1099]
3642                 Add some API documentation.
3643
3644 2009-02-07
3645     jkerihuel
3646         [r1097]
3647                 Update openchangepfadmin description
3648                 Fix tool relying on libmapiadmin
3649     bradh
3650         [r1096]
3651                 Minor code tweak.
3652                 
3653                 Fix ticket #132.
3654         [r1095]
3655                 Add more explanation for README
3656         [r1094]
3657                 Reimplement RTF decompression.
3658                 
3659                 Add unit tests from MS-OXRTFCP.
3660         [r1093]
3661                 Fix warnings in example code
3662         [r1092]
3663                 Add description for libmapiadmin
3664         [r1091]
3665                 Add description for libmapi / libmapi++
3666         [r1090]
3667                 Start on the directory descriptions.
3668         [r1089]
3669                 doc/ pointers
3670 2009-02-06
3671     bradh
3672         [r1088]
3673                 Add overview. Extracted from API docs.
3674         [r1087]
3675                 Additional docs.
3676         [r1084]
3677                 Outline of README file.
3678                 
3679                 (also using this to test buildbot without changing real code)
3680 2009-02-05
3681     jkerihuel
3682         [r1081]
3683                 Add Version field - avoid breaking pkg-config --list-all
3684         [r1080]
3685                 Fix warnings (gcc 4.2.4)
3686     jelmer
3687         [r1083]
3688                 Use variable for package version rather than hardcoding it.
3689
3690 2009-02-04
3691     jkerihuel
3692         [r1078]
3693                 Fix pc file libs
3694
3695 2009-02-03
3696     jkerihuel
3697         [r1070]
3698                 - Add an implementation of the MAPI handles management API. The API
3699                   internally uses an in-memory TDB database to keep object hierarchy
3700                   and a doubled chained list to associate private data to handles.
3701                 
3702                 The API currently provides add, search and delete facilities. Note
3703                 that while untested, the delete operation is designed to recursively
3704                 delete children of the 'meant to be deleted' handle.
3705                 
3706                 Finally the API doesn't remove TDB records but mark them as free so
3707                 they can be reused across MAPI session and prevent from handle counter
3708                 growing indefinitely.
3709                 
3710                 - Add a preliminary implementation of the Release call
3711                 - Add Release size calculation to libmapiserver
3712                 - Update EMSMDB provider to use MAPI handles API
3713     bradh
3714         [r1075]
3715                 Minor api documentation fix.
3716         [r1074]
3717                 Minor API docs fix.
3718         [r1073]
3719                 Minor API docs fix.
3720         [r1072]
3721                 Minor API docs tweak.
3722         [r1071]
3723                 Token commit of tiny API docs fix.
3724     jelmer
3725         [r1076]
3726                 Look for GNU make harder (gmake on BSDs).
3727
3728 2009-02-02
3729     jkerihuel
3730         [r1068]
3731                 - Add preliminary EMSMDB provider implementation for RopLogon (0xFE)
3732                 - Add common routines for OpenChange LDB context init and search
3733                   within libmapiproxy
3734                 - Add libmapiserver skeleton with size calculation routine for RopLogon
3735                 - Change DSO linking dependencies for mapiproxy shared libraries
3736                 - Propagate _GNU_SOURCE change from libmapi.h to mapiproxy
3737 2009-02-01
3738     jkerihuel
3739         [r1067]
3740                 Remove .po and .o objects within libmapiproxy subdirectory
3741         [r1066]
3742                 Move libmapiproxy into its own directory and rebase mapiproxy headers accordingly
3743                 Fix make uninstall for AD and profiles directories
3744         [r1064]
3745                 doxygen typo fix
3746         [r1063]
3747                 Add python code and ldif files needed to create and populate the experimental
3748                 openchange dispatcher database.
3749         [r1062]
3750                 Add 5-Minute configuration documentation for OpenChange server mode
3751         [r1061]
3752                 - Rebase ldif files into sub directories:
3753                   * AD for OpenChange AD modifications
3754                   * profiles for OpenChange IProfAdmin interface
3755                 - Makes it easier figuring out LDIF files scope
3756                 - Prepare setup folder for LDIF openchangedb files integration
3757                 - Update install/uninstall Makefile rules for ldif files and
3758                   make sure everything got removed
3759     bradh
3760         [r1060]
3761                 Add forgotten file.
3762         [r1059]
3763                 Add support for short language names (e.g. en-AU) for lcid.
3764
3765 2009-01-31
3766     jkerihuel
3767         [r1057]
3768                 Delete deprecated libmapi setup Perl script
3769     bradh
3770         [r1056]
3771                 Add summary report for tests.
3772         [r1055]
3773                 Make mapitest return the number of failed tests.
3774
3775 2009-01-29
3776     jkerihuel
3777         [r1052]
3778                 - Add pkg-config pc file for libmapiproxy
3779                 - Improve mapiproxy rules so libmapiproxy gets installed and cleaned properly
3780         [r1051]
3781                 Free memory allocated by the fake subcontext in
3782                 ndr_pull_mapi_response.
3783                 
3784                 This fix saves 300kb of memory and removes 700 loss records while
3785                 valgrinding mapitest.
3786         [r1050]
3787                 Fix segfault - Add sanity check - when SPropTagArray is NULL in
3788                 NspiQueryRows request
3789         [r1048]
3790                 Fix openchange_newuser name typo
3791         [r1047]
3792                 Fix server provisioning command line examples
3793         [r1045]
3794                 Fix several libmapi leaks.
3795                 
3796                 mapi_response was allocated using emsmdb_ctx->mem_ctx memory context
3797                 and was not free'd when libmapi function released their
3798                 context. Furthermore we need to release mapi_response->mapi_repl and
3799                 mapi_response->handles which are now automatically free'd when
3800                 mapi_response destructor is called.
3801                 
3802                 However note that this fix is not perfect: mapi_response memory is not
3803                 free'd properly when calls exit with an error.
3804                 
3805                 This commit also make use of talloc_steal where necessary to keep
3806                 returned fields allocated.
3807 2009-01-28
3808     jkerihuel
3809         [r1040]
3810                 Use named context rather than autofree
3811         [r1039]
3812                 Fix memory leak in emsmdb.c: Use a temporary memory context for
3813                 request and length allocation in emsmdb_transaction.
3814                 
3815                 - This removes 827 loss records and approximatively saves 41kb of
3816                   memory while valgrinding mapitest
3817         [r1038]
3818                 - Fix memory leak in GetDefaultProfile and GetProfileTable.
3819                 - Save from 10 loss records while valgrinding mapitest
3820                 - Developers are now responsible from freeing the GetDefaultProfile
3821                   string the function allocates.
3822                 - Apply changes to all openchange tools.
3823         [r1037]
3824                 Add blackbox subunit tests for mapiprofile tool
3825     bradh
3826         [r1043]
3827                 One more trivial fix.
3828         [r1042]
3829                 Typo fixes.
3830                 
3831                 (Yep, more trivial changes)
3832         [r1041]
3833                 Fix incorrect LCID for en-CA.
3834                 
3835                 (OK, its token, I admit).
3836     jelmer
3837         [r1044]
3838                 Don't define _GNU_SOURCE unconditionally.
3839 2009-01-27
3840     jkerihuel
3841         [r1036]
3842                 Prevent mapiproxy from multiple init and modules/server register
3843                 when an smb client connect to the server (e.g. windows browser or smbclient)
3844 2009-01-26
3845     bradh
3846         [r1033]
3847                 According to [MS-OXOCAL] Section 2.2.1.44.1 
3848                 "RecurrencePattern Structure", a monthly recurrence
3849                 also has a Day specific parameter.
3850                 
3851                 Add that here.
3852     jelmer
3853         [r1035]
3854                 Simply run autogen.sh rather than replicating it inside the Makefile.
3855         [r1034]
3856                 need to run aclocal before autoconf for the pkg-config macros.
3857 2009-01-25
3858     jkerihuel
3859         [r1032]
3860                 Use a autofree context rather than a named one - makes sure memory is free'd when we exit the test.
3861                 Saves from 4 loss records while valgrind'ing mapitest.
3862         [r1031]
3863                 Use temporary memory context for EcDoConnect.
3864                 Saves from 20 loss records when valgrind'ing mapitest.
3865         [r1030]
3866                 Free PropertyProblem structures returned by CopyTo.
3867         [r1029]
3868                 Replace deprecated talloc_init calls with talloc_named
3869                 This commit removes some valgrind loss records talloc_init was responsible for
3870         [r1028]
3871                 Free everything
3872                 Free everything when running mapitest --list-all.
3873                 Valgrind however shows a loss record related to talloc_init ...
3874     bradh
3875         [r1027]
3876                 Minor Intel C compiler warning fixes.
3877         [r1026]
3878                 Minor apidocs cleanups.
3879 2009-01-24
3880     jkerihuel
3881         [r1024]
3882                 Use double pointer for lp_ctx in GetLoadparmContext assessor
3883         [r1023]
3884                 Fix memory leak in utf8 lexer.
3885         [r1022]
3886                 - Remove custom iconv_convenience from pull_emsmdb_property and use 
3887                 lp_iconv_convenience on loadparm_context argument instead. 
3888                 
3889                 - Change OpenChange libmapi API to reflect this change
3890                 
3891                 - Introduce a lp_ctx assessor in libmapi/cdo_mapi.c 
3892                 (mostly for mapitest modules). libmapi/mapiproxy developers
3893                 should never have to make use of it.
3894                 
3895                 - Remove pointless duplicated call to lp_load_default in MAPIInitialize.
3896         [r1021]
3897                 Free lpProps returned by GetProps, Fix context error in valgrind
3898         [r1020]
3899                 - Fix memory leak bug: release ndr context in pull_emsmdb_property before returning
3900                 - Terminate SPropValue and SPropTagArray using an element with ulPropTag = 0. This
3901                 prevent from "invalid read size of 4" messages from valgrind and remove context errors.
3902     jelmer
3903         [r1025]
3904                 Don't install mapiproxy if python wasn't found, since 
3905                 we wouldn't know where to install the provisioning scripts or be able 
3906                 to use them.
3907 2009-01-20
3908     jkerihuel
3909         [r1018]
3910                 Merge libmapi-0.8 branch r1015 to 1017 into trunk
3911         [r1015]
3912                 ** Start libmapi-0.9 COCHRANE development **
3913         [r1014]
3914                 Merge libmapi-0.8 branch changes into trunk
3915 2009-01-18
3916     jkerihuel
3917         [r1007]
3918                 Add python install/uninstall rules to provision rather than mapiproxy-servers
3919         [r1006]
3920                 - Remove server Makefile rules
3921                 - Remove dead code
3922                 
3923                 Note: server and providers have been merged within mapiproxy,
3924                 so there is no reason keeping this deprecated code.
3925 2009-01-17
3926     jkerihuel
3927         [r1005]
3928                 Undoing change committed in r1004.
3929         [r1004]
3930                 Use .po files instead of .o files for openchange tools
3931         [r1003]
3932                 Add --version to openchange tools
3933         [r1002]
3934                 Add COPYING file with GPLv3 license
3935 2009-01-16
3936     jkerihuel
3937         [r1001]
3938                 - Add RenameProfile function to IProfAdmin API
3939                 - Remove pointless CopyProfile from IProfAdmin API
3940                 - Add --rename option to mapiprofile tool
3941                 - Update man page to reflect this addition
3942                 
3943                 (close trac ticket #124)
3944         [r1000]
3945                 Fix libmapi from crashing when mapi_repl is NULL.
3946         [r999]
3947                 Update Samba4 git rev to fix the charcnv segfault met in openchange
3948                 tools
3949     jelmer
3950         [r998]
3951                 Try to find the Samba python modules if they're not installed in the system 
3952                 python directory.
3953 2009-01-15
3954     jkerihuel
3955         [r997]
3956                 - Fix Subscribe semantic bug and add WholeStore boolean parameter
3957                 - propagate API change to tools/torture callers
3958         [r996]
3959                 - Add assessor functions to set dumpdata and debug level in libmapi
3960                   (SetMAPIDumpData and SetMAPIDebugLevel)
3961                 - OpenChange tools modified to use these function rather than set these
3962                   parameters on their own
3963         [r995]
3964                 - Fix --debuglevel segfault in openchange tools
3965                 - Enable logging to stdout in MAPIInitialize
3966 2009-01-14
3967     jkerihuel
3968         [r994]
3969                 * OpenChange libmapi function now returns MAPI error instead of -1
3970                 - use OPENCHANGE_RETVAL_IF instead of MAPI_RETVAL_IF
3971                 - add doxygen documentation for some missing functions/files
3972         [r993]
3973                 - Missed this event->tevent change in previous commit
3974         [r992]
3975                 - Update openchange to use latest Samba4 master git rev (990491d)
3976                 - Fix references to tevent_context structures
3977                 - Fix iconv_convenience init in MAPIInitialize
3978                 - Remove errorchecks mapitest module warning
3979     jelmer
3980         [r991]
3981                 Use tevent_context_init.
3982         [r990]
3983                 Ignore binaries.
3984 2009-01-13
3985     jkerihuel
3986         [r989]
3987                 Some Exchange server (stand-alone) return MAPI_E_LOGON_FAILED when setting EssDN with username rather than
3988                 using profile's mailbox string directly. This commit fixes the bug.
3989         [r988]
3990                 - Add EcDoConnect and EcDoDisconnect preliminary support to
3991                   dcesrv_exchange_emsmdb.c
3992                 - Add internal session management mechanism to EMSMDB server
3993                 - Add init and unbind modules function to EMSMDB server
3994                 - Add emsmdbp_context and session to dcesrv_exchange_emsmdb.h
3995     bradh
3996         [r987]
3997                 Fix valgrind errors caused by using free'd memory.
3998 2009-01-12
3999     jkerihuel
4000         [r986]
4001                 Implement 'mapiproxy downgrade' behavior in EMSMDB server and force
4002                 Outlook to use EcDoConnect (0x0) and EcDoRpc (0x2) rather than 0xA and
4003                 0xB (opnums using LZ based compression).
4004         [r985]
4005                 - Add Preliminary implementation for RfrGetFQDNFromLegacyDN DS RFR server
4006 2009-01-11
4007     jkerihuel
4008         [r984]
4009                 - Preliminary implementation of NspiGetProps NSPI server function
4010                 - Makes sure emsabp_tdb_traverse_MId uses the correct dbuf size
4011                 - Use correct ldb context (users or conf) depending on where MId is
4012                   located (on-memory or on-disk)
4013                 - Add PR_EMS_AB_NETWORK_ADDRESS mapping to emsabp_property
4014                 
4015                 *** Outlook is now able to create MAPI profile using OpenChange Server ONLY! ***
4016         [r983]
4017                 - Preliminary implementation of NspiDNToMId NSPI server function
4018                 - Add emsabp_search_legacyExchangeDN to search for a record given its
4019                   legacyExchangeDN attribute.
4020         [r982]
4021                 - Preliminary implementation of NspiQueryRows NSPI server function added
4022                 - fix a bug in the MID TDB traversal routine: cut dptr to dsize length
4023                   rather assuming it is NULL terminated
4024                 - Add support for "referenced" property tags
4025                 - Add support for PR_MV_STRING8
4026                 - Add emsabp_search_dn which search for a DN within AD and return the
4027                   associated LDB message
4028                 - Add PR_EMS_AB_HOME_MDB and PR_EMS_AB_PROXY_ADDRESSES to
4029                   emsabp_property array
4030         [r981]
4031                 Prevent from trying to add a NULL element to profile database and segfault on strlen
4032         [r980]
4033                 Prevent x500_get_dn_element from segfaulting when an incorrect DN string parameter is supplied
4034         [r979]
4035                 - Preliminary implementation of NspiGetMatches NSPI server function
4036                 - Make use of a on-memory TDB database for Ephemeral Entry IDs
4037                 - Add TDB traversal routines to retrieve DN associated to MId
4038                 - Move lp_ctx within emsabp_ctx for convenience
4039                 - Add EphemeralEntryID to Binary_r routine
4040                 - add emsabp_query (Find attribute matching given property tag and
4041                   return associated data)
4042                 - add emsabp_fetch_attrs which builds a SRow array given a MId and
4043                   requested property tags.
4044                 - add emsabp_search which searches AD given input search criteria
4045                 - add a preliminary Property Tag to AD attribute mapping + associated
4046                   functions in emsabp_property.c
4047                 
4048                 Note: This NspiGetMatches is limited to MAILUSER which means we only
4049                 look for users (located within users.ldb). This limitation will be
4050                 removed when we have a preliminary working emsmdb server, so we can do
4051                 more extensive NSPI server tests.
4052         [r978]
4053                 Add sanity check to get_SPropValue_SRowSet, prevents the function
4054                 from segfault when RowSet is NULL (e.g. crafted NspiQueryRows replies)
4055         [r977]
4056                 Prevent IProfAdmin based code from crashing when a crafted NspiGetMatches reply
4057                 with NULL ppOutMIds is returned.
4058                  
4059 2009-01-10
4060     jkerihuel
4061         [r976]
4062                 - Preliminary NspiGetSpecialTable implementation added to NSPI
4063                   server/EMSABP provider: Hierarchy Table supported (required during
4064                   profile creation)
4065                 - add PT_BINARY support for mapidump_SPropValue
4066                 - fix a bug when PT_STRING8 or PT_UNICODE pointer is set to
4067                   MAPI_E_NOT_FOUND
4068
4069 2009-01-06
4070     jkerihuel
4071         [r974]
4072                 Add new Display Type values (used by EMSABP provider)
4073         [r973]
4074                 Change DEBUGLEVEL for RfrGetNewDSA
4075         [r972]
4076                 - preliminary implementation of RFR server (RfrGetNewDSA): makes Outlook happy
4077                 - mapiproxy-servers-install now installs openchange python scripts and ldif file
4078 2009-01-05
4079     jkerihuel
4080         [r971]
4081                 Move auth_serversupplied_info structure from dcesrv_exchange_nsp.h to libmapiproxy.h
4082                 This structure is required for NTLM_AUTH_IS_OK macro
4083         [r969]
4084                 - Add doxygen comments for all OpenChange server modules
4085                 - Fix doxygen return value for exchange_nsp
4086         [r968]
4087                 - Add mapiproxy server unbind function and hook in dcesrv_mapiproxy.c
4088                 - Add exchange handle enum to dcesrv_mapiproxy.h
4089                 - Add authentication verifier macro to libmapiproxy.h
4090                 - Add preliminary EMSABP Address Book Provider implementation:
4091                   * supports initialization, destructor (talloc)
4092                   * implements user and codepage check routines
4093                   * retrieve NSPI server GUID
4094                 - Add NspiBind and NspiUnbind support to dcesrv_exchange_nsp.c
4095                 - Add internal session mechanism management to NSPI server
4096                 - Add init and unbind modules function to NSPI server
4097                 - Add doxygen comments to all dcesrv_exchange_nsp.c functions
4098                 - Add emsabp_context, session and non-exported Samba structure to dcesrv_exchange_nsp.h
4099         [r967]
4100                 OpenChange configuration schema updated with Addressing schema
4101                 (Address-Templates, Address-Types and Display-Templates - Exchange 2003 based)
4102         [r966]
4103                 Execute server modules init function when loaded
4104     bradh
4105         [r965]
4106                 A few API documentation fixes.
4107
4108 2009-01-04
4109     jkerihuel
4110         [r963]
4111                 Add documentation for MAPIProxy 'server mode'
4112
4113 2009-01-02
4114     jkerihuel
4115         [r961]
4116                 - Implement mapiproxy server mode architecture
4117                 - Add server modules management API
4118                 - Add skeletons for default OpenChange servers (nspi, emsmdb, ds_rfr)
4119                 - Add temporary provision Makefile rule
4120
4121 2008-12-30
4122     jkerihuel
4123         [r959]
4124                 Initial text was correct - rollback
4125         [r958]
4126                 Fix path typo
4127     bradh
4128         [r957]
4129                 Ensure that GetLastError() also returns the correct value.
4130         [r956]
4131                 Start changing the MAPI_RETVAL_IF() usage to two new macros:
4132                 OPENCHANGE_RETVAL_IF() and OPENCHANGE_RETVAL_ERR().
4133                 
4134                 simple_mapi.c is the only one converted at this stage.
4135                 
4136                 Also added a set of unit tests that verify at least some initial
4137                 sanity checks.
4138         [r955]
4139                 Remove unreachable code.
4140                 
4141                 Partly resolves ticket #124
4142
4143 2008-12-29
4144     jkerihuel
4145         [r953]
4146                 Remove references to ldap.h header file - not installed anymore with samba4 git rev openchange uses
4147         [r952]
4148                 mapiproxy documentation update: 3 questions added to FAQ section
4149         [r951]
4150                 Patch from Corentin Chary:
4151                         - Add PR_CONTENT_FILTER_SCL property to libmapi
4152         [r950]
4153                 - Update openchange to work with samba4 master git rev f308c2f
4154                 - Replace reference to events.h with tevent.h
4155                 - Update installsamba4.sh script to reflect latest samba4 compilation changes/requirements 
4156
4157 2008-12-27
4158     jkerihuel
4159         [r948]
4160                 Fix mapidump date/month when freebusy period covers end of one year - beginning of next year
4161                 Update openchangeclient to reflect these changes.
4162
4163 2008-12-24
4164     jelmer
4165         [r946]
4166                 Export PKG_CONFIG_PATH if it wasn't exported yet. Patch by Metze
4167         [r945]
4168                 Fix PIC object flags for SWIG build. Patch by metze.
4169
4170 2008-12-21
4171     bradh
4172         [r943]
4173                 User %u format specifier for unsigned integer.
4174         [r942]
4175                 Make return value match signature.
4176         [r941]
4177                 Miscellaneous minor cleanups. Mainly making return types
4178                 match signatues, format conversion (%u for unsigned values) and
4179                 matching up result variable types (bool instead of enum MAPISTATUS).
4180         [r940]
4181                 Return an enum MAPISTATUS, instead of a bool, to match function signature.
4182         [r939]
4183                 Use %u instead of %d for unsigned values.
4184
4185 2008-12-20
4186     bradh
4187         [r937]
4188                 Another minor APIdox edit.
4189         [r936]
4190                 API documentation tweak.
4191         [r935]
4192                 API dox fix.
4193         [r934]
4194                 API dox fix.
4195         [r933]
4196                 Minor apidox fixes.
4197         [r932]
4198                 More apidox triviality.
4199         [r931]
4200                 Trivial APIdox edits.
4201         [r930]
4202                 Supplement the user's PKG_CONFIG_PATH rather than 
4203                 overriding it.
4204     jelmer
4205         [r929]
4206                 Add bindings for GetBestBody(), GetDefaultFolder(), GetDefaultPublicFolder(), AddUserPermission(), ModifyUserPermission().
4207         [r928]
4208                 Add bindings for create_message, delete_messages, get_message_status, set_read_flags.
4209         [r927]
4210                 Add Python bindings for Unsubscribe(), get_task_status(), get_importance(), get_proptag_name(), get_proptag_value(), DeleteFolder(), CreateFolder(), EmptyFolder(), RemoveUserPermissions(), IsMailboxFolder().
4211
4212 2008-12-19
4213     jelmer
4214         [r925]
4215                 Actually use pymapi variables in Makefile.
4216         [r924]
4217                 Add configure flags for building and installing Python MAPI bindings (disabled by default).
4218
4219 2008-12-18
4220     bradh
4221         [r922]
4222                 Add namespace prefix to scanner.
4223
4224 2008-12-16
4225     jkerihuel
4226         [r920]
4227                 - spnego / gssapi_krb5 authentication now available for mapiprofile
4228                 - add the --realm | -R option
4229                 - update mapiprofile man page
4230
4231 2008-12-14
4232     bradh
4233         [r912]
4234                 Remove entries for --properties and --priority, which have been removed from the openchangeclient utility.
4235                 
4236                 Partly fixes #113.
4237         [r911]
4238                 Don't generate / install man3 pages for libmapi++ or mapitest.
4239                 
4240                 Resolves ticket #121.
4241                 
4242                 Also don't install man3 pages that are just copies of the C implementation files, or just document bugs / todo items.
4243     jelmer
4244         [r918]
4245                 Allow retrieving id and session of MAPI objects.
4246         [r917]
4247                 Add MessageStore and Object Python classes, add bindings for OpenMsgStore, OpenUserMailbox, OpenPublicFolder.
4248         [r916]
4249                 Add stubs for Session class.
4250         [r915]
4251                 Add infrastructure for MAPI python module.
4252         [r914]
4253                 Look for python and python-config binaries.
4254         [r913]
4255                 Remove empty directory.
4256 2008-12-13
4257     jkerihuel
4258         [r910]
4259                 Remove obsolete --properties option and related code
4260
4261 2008-12-10
4262     jkerihuel
4263         [r908]
4264                 Fix RecipientRow member's order
4265
4266 2008-12-09
4267     jkerihuel
4268         [r906]
4269                 - Update to latest samba4 git master revision (3508a66)
4270                 - Fix references to samr info24 struct
4271                 - Add support for assoc_group_id proxy
4272                 - Add support in mapiproxy for bind/alter connections using assoc_group_id
4273                 - Update mapiproxy documentation
4274
4275 2008-12-07
4276     bradh
4277         [r904]
4278                 Improve building. Partially addresses #94.
4279                 
4280                 More work required on this as we work on the 
4281                 portability in the future.
4282         [r903]
4283                 Expose the underlying session.
4284
4285 2008-11-30
4286     bradh
4287         [r901]
4288                 Remove unused --priority option.
4289         [r900]
4290                 These offsets / values can be negative, so we shouldn't
4291                 use unsigned int type to represent them.
4292
4293 2008-11-29
4294     jkerihuel
4295         [r898]
4296                 Fix Logon problem for users running Exchange 2k7 in a clustered Exchange environment.
4297                 
4298                 This patch first tries to forge EssDN Logon string from "o" and "ou" 
4299                 attributes stored in the profile. If Logon fails with ecUnknownUser,
4300                 then try to open the mailbox using the mailbox attribute stored in 
4301                 the profile.
4302
4303 2008-11-28
4304     bradh
4305         [r896]
4306                 Document the --label option.
4307
4308 2008-11-26
4309     jkerihuel
4310         [r893]
4311                 Make openchange compile and work against latest samba4 master git rev (58db2be)
4312     jelmer
4313         [r894]
4314                 Remove check for unused type 'uint_t'.
4315
4316 2008-11-22
4317     bradh
4318         [r888]
4319                 More tweaks on the openchangeclient man1 page.
4320         [r887]
4321                 More updates for man1 page for openchangeclient.
4322                 Still doesn't fully address #113.
4323         [r886]
4324                 Update the openchangeclient man1 page.
4325                 
4326                 Partly addresses ticket #113.
4327                 
4328                 There is still some work to do on this.
4329         [r885]
4330                 Fix a typo, and try to make the descriptions more
4331                 consistent.
4332
4333 2008-11-21
4334     bradh
4335         [r883]
4336                 Initial version of man1 page for mapitest
4337         [r882]
4338                 Initial man1 page for exchange2ical utility.
4339
4340 2008-11-14
4341     bradh
4342         [r879]
4343                 Update man1 page for openchangepfadmin
4344         [r878]
4345                 Minor updates for the man pages.
4346
4347 2008-11-13
4348     jkerihuel
4349         [r875]
4350                 Fix build errors: wrong number of arguments for ocpf_propvalue
4351         [r874]
4352                 Fix warnings when compiling with -Wextra
4353         [r873]
4354                 Fix warnings when compiling with -Wextra
4355         [r872]
4356                 Fix warnings when compiling with -Wextra
4357     bradh
4358         [r876]
4359                 Complete initializers here.
4360
4361 2008-11-10
4362     bradh
4363         [r870]
4364                 Update to reflect latest state of mapiprofile.
4365
4366 2008-11-09
4367     bradh
4368         [r868]
4369                 Prevent segfault when running mapitest. Looks like the we can
4370                 return MAPI_E_SUCCESS even if one of the property values is
4371                 MAPI_E_NOTFOUND. That error then get turned into a char*, and
4372                 strncmp faults.
4373                 
4374                 Also fix a possible bug relating to operator precedence, and 
4375                 a couple of warnings (one for signed / unsigned comparison, and
4376                 the other for an unsigned value never being less than zero).
4377
4378 2008-11-08
4379     bradh
4380         [r866]
4381                 Enable output to stdout.
4382                 
4383                 Resolves ticket #106.
4384                 
4385                 Thanks to raboof for the report and fix.
4386
4387 2008-11-07
4388     bradh
4389         [r864]
4390                 Fix missing initialisers (issue #110).
4391                 
4392                 Also fix some signed/unsigned warnings.
4393         [r863]
4394                 Fix problems with incorrect initialisers (#110) and
4395                 operator precedence.
4396                 
4397                 Also fix a couple of places with signed/unsigned confusion.
4398         [r862]
4399                 Partial fix for issue #110, and a couple of very minor cleanups.
4400
4401 2008-11-06
4402     bradh
4403         [r860]
4404                 Minor cleanups.
4405         [r859]
4406                 We probably want to return here, not do nothing.
4407
4408 2008-11-05
4409     jkerihuel
4410         [r855]
4411                 Fix empty patch function problem: add a retval
4412     bradh
4413         [r857]
4414                 Typo fix.
4415         [r856]
4416                 Explain the boost-thread trick.
4417         [r854]
4418                 Minor documentation tweaks.
4419
4420 2008-11-04
4421     jkerihuel
4422         [r852]
4423                 - remove usage of global_loadparm in libmapiadmin
4424                 - make use of session context rather than global_mapi_ctx in libmapiadmin
4425                 - use local context rather than mapiadmin context in libmapiadmin
4426                 - libmapiadmin now uses ldb helper rather than raw implementation (ldb async code)
4427                 - libmapiadmin and openchangepfadmin now works again (user creation/deletion) !! ;-)
4428                 - remove global_loadparm in torture test and replace it with torture context
4429                 - fix dcerpc_init to match latest samba4 API
4430                 - update samba4 version required to build openchange
4431     bradh
4432         [r850]
4433                 More API documentation tweaks.
4434         [r849]
4435                 More API documentation tweaks.
4436         [r848]
4437                 Some API dox fixes for libmapi++.
4438     jelmer
4439         [r851]
4440                 Remove unnecessary patching of lib/events/events.h.
4441
4442 2008-11-03
4443     bradh
4444         [r846]
4445                 Update to a more recent Samba4.
4446     jelmer
4447         [r845]
4448                 Remove some usages of deprecated global_loadparm.
4449         [r844]
4450                 Cope with new argument to dcerpc_log_packet().
4451
4452 2008-11-01
4453     jelmer
4454         [r842]
4455                 Fix includes for DEBUG(), fix some more warnings.
4456         [r841]
4457                 Use same_net_v4 rather than deprecated same_net().
4458         [r840]
4459                 Fix Samba 4 git revision.
4460         [r839]
4461                 Fix includes - debug.h can only be included once.
4462         [r838]
4463                 Include debug header.
4464         [r837]
4465                 Cope with API changes in Samba functions.
4466         [r836]
4467                 Use new function is_zero_ip_v4 rather than removed is_zero_ip.
4468
4469 2008-10-31
4470     jkerihuel
4471         [r833]
4472                 Fix OpenMsgStore binding in swig perl and fetchmail script
4473
4474 2008-10-21
4475     jkerihuel
4476         [r824]
4477                 Fix pointless const definition for GetFreeBusyYear return type
4478 2008-10-20
4479     jkerihuel
4480         [r823]
4481                 - Add the IsFreeBusyConflict convenient function which checks if a
4482                   given date conflicts with existing FreeBusy Busy/OOF events
4483                 
4484                 - Modify openchangeclient --sendappointment behavior to check whether
4485                   start or end date conflicts with FreeBusy published data for the
4486                   user.
4487                 
4488                 - Add the --force option to openchangeclient to override this behavior
4489                 
4490                 - Fix a counter bug in mapidump_freebusy_events
4491         [r821]
4492                 Fix doxygen typo error
4493         [r820]
4494                 - Add GetUserFreeBusyData convenient function which retrieves FreeBusy
4495                   data in public folders for a given user. Note: Ambiguous name is not
4496                   supported at the moment.
4497                 
4498                 - Add convenient FreeBusy mapidump routines
4499                 
4500                 - Add FreeBusy read support to openchangelient
4501                 
4502                 - Add PT_MV_LONG and PT_MV_BINARY support to pull_emsmdb_property and
4503                   property.c functions
4504                 
4505                 - Add OpenUserMailbox which let developers open other mailboxes
4506                   instead of the default profile one.
4507                 
4508                 - Add GetABRecipientInfo: convenient function which retrieves Address
4509                   Book information for a given recipient
4510
4511 2008-10-17
4512     jkerihuel
4513         [r818]
4514                 - Add libmapi implementation for DeletePropertiesNoReplicate
4515                 - Add mapitest test units for DeleteProps and DeletePropertiesNoReplicate
4516         [r817]
4517                 Fix doxygen documentation
4518
4519 2008-10-16
4520     jkerihuel
4521         [r815]
4522                 - Implement multisession into libmapi
4523                 - Update openchange tools and suite to reflect these changes
4524                 - Fix SRow_addprop behavior
4525                 
4526                 NOTE: OpenMsgStore, ResolveNames, GetGALTable and RFR functions
4527                 now take a mapi_session parameter.
4528     jelmer
4529         [r814]
4530                 Use my openchange.org email address.
4531
4532 2008-10-09
4533     jkerihuel
4534         [r812]
4535                 - Add a session management API for mapiproxy modules. Similar code
4536                   already existed for mpm_cache module. Common functions are now
4537                   available to all mapiproxy modules through libmapiproxy
4538                 
4539                 - replace smbd with samba in mapiproxy documentation
4540         [r811]
4541                 - Cache calendar, contact, journal, note, task and drafts folders IDs
4542                   when GetDefaultFolder call is performed on one of these folders and
4543                   keep them until obj_store is released.
4544                 
4545                 - Add a reverse lookup routine which says whether a given FID belongs
4546                   to a default folder and which olFolderType it is.
4547         [r810]
4548                 - Remove pointless memory context in GetDefaultFolder
4549                 - Move entryID to FID code into a separated routine (GetFIDFromEntryID)
4550         [r809]
4551                 Restore install rule for mapi profiles ldif files in
4552                 libmapi-installscript. Fix the MAPI_E_NO_ACCESS bug when mapiprofile
4553                 tries to create a new mapi profile store.
4554 2008-10-08
4555     jkerihuel
4556         [r808]
4557                 - Ticket #103 resolved. openchangeclient can now perform custom folder lookup, fetch, mkdir and rmdir.
4558                 - mapi_object_copy routine added to mapi_object.c
4559
4560 2008-10-06
4561     jkerihuel
4562         [r806]
4563                 Fix missing Month field in LogonTime structure
4564 2008-10-05
4565     jkerihuel
4566         [r805]
4567                 propagate IDL warning fix to property.idl
4568     jelmer
4569         [r804]
4570                 Add target for building python API documentation.
4571 2008-10-01
4572     jkerihuel
4573         [r802]
4574                 Fix samba4 release and git revision
4575         [r801]
4576                 Fix installsamba4.sh script paths
4577     jelmer
4578         [r803]
4579                 Avoid warning.
4580         [r800]
4581                 Install OpenChange python modules.
4582         [r799]
4583                 Check for python dir during configure.
4584         [r798]
4585                 ignore generated files.
4586         [r797]
4587                 Stop installing js files.
4588         [r796]
4589                 Use autoconf cache prefix.
4590         [r795]
4591                 Use newer version of Samba 4.
4592 2008-09-30
4593     jkerihuel
4594         [r791]
4595                 Remove dcesrv_exchange.so from server Makefile rule and
4596                 move mapiproxy from TOOLS to SERVER.
4597                 
4598                 dcesrv_exchange and providers Makefile rules are orphan, planned
4599                 to be removed (with their associated code) when emsabp merge process 
4600                 into mapiproxy is over.
4601 2008-09-23
4602     bradh
4603         [r790]
4604                 Export the Binary_r structure.
4605 2008-09-22
4606     bradh
4607         [r789]
4608                 Use more descriptive variable names in messages example code.
4609         [r788]
4610                 Add a description of messages to libmapi++ API documentation.
4611         [r787]
4612                 Add messages binary to the ignore list.
4613         [r786]
4614                 Add new example showing libmapi++ message handling, and
4615                 associated API documentation and build system changes.
4616 2008-09-21
4617     bradh
4618         [r785]
4619                 Update the API documentation main page for libmapi++
4620 2008-09-19
4621     jkerihuel
4622         [r784]
4623                 Add foldertree binary to the ignore list
4624         [r783]
4625                 - Add missing Input parameter
4626                 - Add sanity check on ppNames
4627                 - Fix ticket #102
4628         [r781]
4629                 - Fix a bug in NspiUpdateStat: make plDelta mandatory and use it for in,out
4630                 - Add a NspiGetSpecialTable test for Address Creation Template
4631     bradh
4632         [r780]
4633                 Fix valgrind-reported error, per ticket #101.
4634         [r779]
4635                 Make sure we clean up after mapitest runs.
4636                 
4637                 Resolves ticket #84
4638 2008-09-17
4639     jkerihuel
4640         [r778]
4641                 - Add msExchUserAccountControl attribute to extended user record
4642                 - openchange_newuser can now create/enable/disable an OpenChange account
4643         [r776]
4644                 Exit the test if the WriteStream operation fails
4645         [r773]
4646                 Fix ncacn_ip_tcp binding string for OpenChange server object
4647         [r772]
4648                 With new NSPI IDL, using cValues - 1 is incorrect and lead to errors. Use cValues directly instead
4649         [r771]
4650                 Fix pipe function check and use ndr autogenerated defines rather than static strings
4651                 Fix calls to NspiDNToMId
4652     bradh
4653         [r774]
4654                 Make sure we set the body and body format properties, to
4655                 ensure that the message is shown correctly with 
4656                 openchangeclient -F.
4657 2008-09-16
4658     jkerihuel
4659         [r770]
4660                 - Fix provisioning
4661                 - Rename oc_* python scripts to openchange_*
4662                 - Add Full Exchange 2003 schema (classes and attributes)
4663                 - Full Exchange 2003 modified classes and attributes support 
4664                 - Add prefixmap OID for some Exchange classes and attributes
4665                 - Add missing ADSC classes and attributes
4666                 - Improve configuration LDIF file with new objects
4667                 
4668                 NOTE: provision.py should find a way to handle firstorg properly
4669                 NOTE: oc_provision_configuration.ldif is still incomplete
4670     bradh
4671         [r768]
4672                 API documentation improvements.
4673 2008-09-15
4674     bradh
4675         [r767]
4676                 Add an example to the libmapi++ documentation, and 
4677                 the right build magic and doxygen linkage.
4678         [r766]
4679                 Minor API documentation fix
4680 2008-09-14
4681     bradh
4682         [r765]
4683                 Add forgotten part of API documentation fixes for mapitest.
4684         [r764]
4685                 Improve mapitest API documentation.
4686 2008-09-13
4687     bradh
4688         [r763]
4689                 Use new DeleteFolder flags to clean up folders on deletion.
4690                 
4691                 This doesn't completely resolve ticket #84, but it does help.
4692         [r762]
4693                 Ignore API documentation.
4694         [r761]
4695                 Add Doxyfile to ignore list.
4696         [r760]
4697                 Add initial support for Doxygen API documentation
4698                 for libmapiadmin.
4699 2008-09-12
4700     bradh
4701         [r759]
4702                 Implement the remainder of the standard public folders.
4703 2008-09-10
4704     bradh
4705         [r758]
4706                 Only do header line removal at the start of the file
4707                 (lines 20 through 40 seems like a good compromise).
4708         [r757]
4709                 libmapi++ is C++, not C, so we should not optimise
4710                 Doxygen output for C.
4711 2008-09-09
4712     jkerihuel
4713         [r755]
4714                 - Update the Logon_repl IDL (0xFE) and implementation
4715                 - Add new folders to the mapi_obj_store for PF folders
4716                 - rename pf_finder to pf_search 
4717     bradh
4718         [r756]
4719                 Suppress some more unwanted headers.
4720 2008-09-08
4721     jkerihuel
4722         [r754]
4723                 - Add GetStoreState (0x7b) IDL, implementation and mapitest unit
4724         [r753]
4725                 Fix typo error
4726         [r752]
4727                 - Update the EmptyFolder IDL
4728         [r751]
4729                 - Update the SearchFlags enum, GetSearchCriteria and SetSearchCriteria IDL
4730                 - Add mapitest units for GetSearchCriteria and SetSearchCriteria
4731         [r750]
4732                 Link libmapi++ documentation to main apidocs page
4733         [r749]
4734                 Update GetAttachmentTable IDL and remove the unknown field
4735         [r748]
4736                 - Update DeleteFolder IDL and implementation
4737                 - It now supports DeleteFolderFlags as input parameter and can return the ParticalCompletion state
4738                 - Sanity checks added at the beginning of the function
4739         [r747]
4740                 - Rename GetRowCount to QueryPosition
4741                 - IDL, implementation, documentation and openchange code updated
4742                 - ActionType enum fields prefixed with 'ActionType_'. Original
4743                 values were causing conflicts while building Perl bindings with
4744                 'i386-linux-thread-multi/CORE/opnames.h where OP_DELETE was already defined'
4745         [r746]
4746                 Change enum SaveFlags to uint8_t for doxygen documentation to be generated properly
4747         [r743]
4748                 - Update SaveChangesMessage IDL and implementation
4749                 - Add a SaveFlags parameter to SaveChangesMessage function
4750                 - update openchange code to reflect this change
4751     bradh
4752         [r745]
4753                 Build fix / fix for ticket #99.
4754         [r744]
4755                 Filter out some new #include lines.
4756                 
4757                 This needs to be applied to other modules too.
4758 2008-09-07
4759     jkerihuel
4760         [r742]
4761                 Update SRow and SRowSet IDL
4762         [r741]
4763                 Delete obsolete input_locale and instance_key structures
4764         [r740]
4765                 Fix WStringArray_r IDL
4766         [r739]
4767                 - Move from MV_UNICODE_STRUCT and LPWSTR to WStringArray
4768                 - LPWSTR structure removed
4769         [r738]
4770                 Rename SDateTimeArray to DateTimeArray_r
4771         [r737]
4772                 Rename SGuidArray to FlatUIDArray_r and fix the IDL
4773         [r736]
4774                 Rename MV_LONG_STRUCT to LongArray_r
4775         [r735]
4776                 Rename SBinary to Binary_r
4777         [r734]
4778                 - Add removal of libmapi++ Doxyfile in make distclean rule
4779                 - Add Doxyfile to svn:ignore 
4780         [r733]
4781                 Rename SShortArray to ShortArray_r
4782         [r732]
4783                 - Move from SLPSTRArray to StringArray_r
4784                 - LPSTR structure removed
4785         [r731]
4786                 Rename MAPIUID to FlatUID_r
4787         [r730]
4788                 Fix lexer warnings during compilation (ticket #100)
4789         [r729]
4790                 - Update the EcDoConnect IDL (ref. ticket #99)
4791                 - Add new fields to the emsmdb info structure
4792                 - Add doxygen comments to libmapi/emsmdb.c
4793     bradh
4794         [r728]
4795                 Reduce warnings when compiling with 64-bit arch.
4796         [r727]
4797                 Initial checkin of infrastructure for libmapi++ API documentation.
4798 2008-09-06
4799     jkerihuel
4800         [r726]
4801                 - MAJOR NSPI protocol and libmapi stack update
4802                 - All NSPI protocol functions implemented
4803                 - NSPI stack fully documented
4804                 - NspiGetHierarchyInfo renamed to NspiGetSpecialTable
4805                 - NspiDNToEph renamed to NspiDNToMId
4806                 - instance_key removed from nspi_context and set as a parameter to NSPI functions
4807                 - SPropertyRestriction renamed to PropertyRestriction_r
4808                 - FlagList structure removed and replaced by a SPropTagArray
4809                 - MAPI_SETTINGS removed and replaced by a STAT structure
4810                 - new MAPI property tags added to libmapi/conf/mapi-properties
4811                 - NSPI module added to mapitest
4812     bradh
4813         [r725]
4814                 Clean up on failure.
4815         [r724]
4816                 Clean up on failure.
4817         [r723]
4818                 Minor improvements to ensure cleanup on failure.
4819         [r722]
4820                 API documentation fix
4821         [r721]
4822                 API documentation fix.
4823         [r720]
4824                 API documentation fix.
4825         [r719]
4826                 API documentation fix.
4827         [r718]
4828                 API documentation fixes.
4829 2008-09-05
4830     bradh
4831         [r717]
4832                 API documentation fixes.
4833 2008-09-04
4834     jkerihuel
4835         [r716]
4836                 Fix EMSMDB 0xb function name
4837         [r715]
4838                 - update EcRRegisterPushNotification IDL
4839                 - update Notify IDL
4840                 - implement complete MAPI notifications
4841                 - update libmapi to reflect these changes
4842                 - make openchangeclient prints a brief summary for each notification found
4843                 - update ulEventMask used in openchangeclient
4844 2008-09-03
4845     jkerihuel
4846         [r714]
4847                 - Rename Advise MAPI call to RegisterNotification
4848                 - Update RegisterNotification IDL and implementation
4849 2008-09-02
4850     jkerihuel
4851         [r713]
4852                 - Fix Restrict IDL and implementation
4853                 - Add a new parameter to the Restrict function
4854                 - close ticket #32
4855         [r712]
4856                 Add mapi_nameid.h to the ignore list
4857         [r711]
4858                 - Replace libmapi/mapi_nameid.h with a generated mparse file
4859                 - Add a mapi_nameid.h parser to mparse.pl
4860                 - Add canonical names for named properties
4861                 - GetProps and SetProps resolves named properties if they exist
4862                 - named properties can now be set directly and make mapi_nameid API be
4863                   optional.
4864                 - replace named property tags hex value with their canonimal names
4865                 - replace several use of the mapi_nameid API with smaller code
4866         [r710]
4867                 - Add new IDL file (property.idl) to push/pull structures from binary
4868                   blobs and not directly related to any MAPI calls. Include the
4869                   generated property.h file into libmapi.h
4870                 
4871                 - Add PT_MV_STRING8 support in pull_emsmdb_property (GetProps reply
4872                   parsing) and mapidump_SPropValue
4873                 
4874                 - Add functions to property.c to retrieve RecurrencePattern,
4875                   TimeZoneStruct and GlobalObjectId structures (see property.idl).
4876                 
4877                 - add a preliminary version of exchange2ical tool. This version only
4878                   dumps calendar folder appointments into ICS file on standard output.
4879 2008-08-30
4880     jkerihuel
4881         [r709]
4882                 - Update mapi-nameid-properties with a more complete set of properties
4883                 - Add a header to mapi-nameid-properties for sanity purposes
4884                 - Move named properties with PT_STRING8 type to PT_UNICODE
4885                 - update openchange code to reflect these changes
4886                 - Add PSETID_Attachment to mapidefs.h
4887 2008-08-28
4888     jkerihuel
4889         [r707]
4890                 Add missing check on password for the create command
4891         [r706]
4892                 Fix incorrect usage of realm in mapiproxy
4893 2008-08-27
4894     jkerihuel
4895         [r705]
4896                 Check for provider_rpc_connection retval for RFR functions.
4897         [r704]
4898                 Update Doxyfile to parse mapiproxy/modules files and
4899                 include documentation on static functions.
4900         [r703]
4901                 - Add NSPI hook on NspiQueryRows and NspiDNToEph and replace the
4902                   Exchange server name with mapiproxy one.
4903                 - documentation updated to reflect these changes
4904                 - new FAQ question added
4905                 - developer documentation improved
4906         [r702]
4907                 Add the RFR mapiproxy file.
4908         [r701]
4909                 - Implement RfrGetNewDSA DN replacement in mapiproxy
4910                 - use lp_realm rather than sockaddr in NspiGetProps (FQDN rather than IP address)
4911                 - update mapiproxy documentation to reflect these changes
4912 2008-08-26
4913     jkerihuel
4914         [r698]
4915                 - Add implementation of the NSPI Referral protocol (exchangeRFR)
4916                 - update dcesrv_exchange and mapiproxy prototypes for RFR
4917                 - add references to the RFR pipe in mapiproxy
4918                 - prefix NSPI client connections with a RfrGetNewDSA call
4919                 - add RFR functions implementation in libmapi/IMSProvider.c
4920                 - add a --getfqdn option to mapiprofile
4921                 - fix a minor mapiprofile option parsing bug
4922 2008-08-25
4923     jkerihuel
4924         [r697]
4925                 Fix mapiproxy dummy module unbind prototype
4926         [r696]
4927                 - Remove flags in EcDoRpc top function, fix compilation vs latest samba4-git version
4928                 - EcDoRpc indent updated
4929 2008-08-15
4930     clsk
4931         [r694]
4932                 Get rid of initialization order warning
4933 2008-08-11
4934     jkerihuel
4935         [r691]
4936                 - add unbind hook for mapiproxy
4937                 - add ahead mapiproxy mode
4938                 - add read ahead in cache module
4939                 - add synchronization mechanism in cache module
4940                 - update mapiproxy documentation to reflect these changes
4941 2008-08-08
4942     bradh
4943         [r690]
4944                 Temporarily comment out installation of files removed
4945                 in r683.
4946 2008-08-01
4947     jelmer
4948         [r685]
4949                 Fix arguments, paths in provision scripts.
4950         [r683]
4951                 Merge python provision/newuser scripts.
4952         [r681]
4953                 Simplify installation of manpages a bit.
4954 2008-07-29
4955     jkerihuel
4956         [r679]
4957                 Add configure check for libboost-thread. Add libmapi++ to the build
4958                 only if it is available.
4959 2008-07-27
4960     clsk
4961         [r678]
4962                 - session constructor doesn't login to the server anymore, it calls MAPIInitialize().
4963                 - Created session::login() members.
4964                 - test applications use default profile.
4965 2008-07-26
4966     jkerihuel
4967         [r676]
4968                 - Import Alan Alvarez work from libmapi++ into trunk
4969                 - Add a g++ check in configure.ac: don't call libmapi++ rules if g++
4970                   is missing
4971                 - Add libmapi++ to the build system
4972                 - Add a patch function to installsamba4.sh: rename private to
4973                   private_data in samba4 events.h header file
4974                 - Change #include directives so it uses <libmapi++ ... rather than
4975                   relative paths.
4976 2008-07-24
4977     jkerihuel
4978         [r674]
4979                 - Add a statitic function monitoring streams over OpenStream and Last
4980                   ReadStream operations. Monitoring stream Release is not relevant
4981                   since Outlook does not close the handle directly after last
4982                   ReadStream operation. Should put in evidence difference between
4983                   non-cached(1st retrieval) and cached (further retrieval).
4984                 
4985                 - Fix a few memory leaks
4986 2008-07-23
4987     jkerihuel
4988         [r672]
4989                 - Commit initial revision for the mapiproxy cache module
4990                 - Update mapiproxy hook API for the dispatch routine
4991                 - Introduce the mapiproxy structure for modules to control top-level
4992                   mapiproxy behavior.
4993                 - Update mapiproxy documentation to reflect these changes
4994 2008-07-21
4995     jkerihuel
4996         [r670]
4997                 * Fix remaining ByteRead parameter size for ReadStream operations.
4998 2008-07-20
4999     jkerihuel
5000         [r669]
5001                 * Improve/Update Open/Read/WriteStream IDLs
5002                 * Fix ByteRead parameter size for ReadStream operation.
5003 2008-07-19
5004     jkerihuel
5005         [r668]
5006                 Improve OpenAttach, CreateAttach and DeleteAttach IDL - remove unknown
5007                 parameters.
5008         [r667]
5009                 Propagate r666 changes to OpenMsgStore and fix build
5010     bradh
5011         [r666]
5012                 Minor rename of bitmap value to avoid conflict with
5013                 Private as a class name.
5014 2008-07-17
5015     jkerihuel
5016         [r663]
5017                 Minor change: remove old debugging string from mapitest
5018         [r660]
5019                 Fix incorrect header
5020         [r658]
5021                 Remove deprecated mapi_handles API
5022     bradh
5023         [r665]
5024                 Initial checkin of some uno (static checker) support
5025                 files.
5026                 
5027                 There will be a script to run uno with the right options,
5028                 but that requires more work.
5029 2008-07-16
5030     jkerihuel
5031         [r655]
5032                 Fix OXOMSG-ABORT-SUBMIT return value and return success when expected
5033                 error values (MAPI_E_UNABLE_TO_ABORT, ecNoDelSubmitMsg) are encountered.
5034         [r654]
5035                 - Call mapi_object_release in GetDefaultFolder
5036                 - Remove pointless references to mapi_object_t
5037     bradh
5038         [r656]
5039                 Fix little memory leak.
5040 2008-07-15
5041     jkerihuel
5042         [r653]
5043                 Fix invalid OpenFolder calls in mapitest modules
5044         [r652]
5045                 Remove references to SaveChanges in doxygen see also statement
5046         [r651]
5047                 - Rename SaveChanges to SaveChangesAttachment (0x25)
5048                 - Update SaveChangesAttachment IDL
5049                 - Update references to SaveChanges
5050         [r650]
5051                 - Fix the huge memory leak described in Ticket #91
5052                 - Rewrite the mapitest NameID test to use the mapi_nameid convenient
5053                   API
5054 2008-07-12
5055     jkerihuel
5056         [r648]
5057                 - Add mapi_get_errstr auto-generated routine which returns the MAPI
5058                   retval as a string
5059                 - Add print routine for MAPI retval in mapitest
5060                 - Add a color mode (--color) which prints either green or red MAPISTATUS
5061                 - Update mapitest modules to use these new routines
5062     bradh
5063         [r647]
5064                 Minor API documentation fix.
5065 2008-07-11
5066     jkerihuel
5067         [r646]
5068                 Add all MAPI errors
5069         [r645]
5070                 - Add GetOwningServers (0x42) implementation (IDL + libmapi + mapitest)
5071         [r644]
5072                 - Report and make consistent usage of PropertyProblem in the IDL:
5073                   SetProps, DeleteProps and CopyProperties
5074                 
5075                 - Remove unknown field in GetProps and GetPropsAll and replace them
5076                   with the correct IDL mapping.
5077                 
5078                 - Add IDL for SetPropertiesNoReplicate (0x79) MAPI call
5079                 
5080                 - Minor typo fix in IMAPIProp.c
5081         [r643]
5082                 Improve CreateMessage request IDL
5083         [r642]
5084                 Improve OpenMessage response IDL
5085         [r641]
5086                 - Add PublicFolderIsGhosted (0x45) MAPI call (IDL + libmapi + mapitest)
5087                 
5088                 - Improve OpenFolder, CreateFolder and OpenPublicFolderByName response
5089                   IDL: make these call able to check whether the folder is ghosted or
5090                   not.
5091         [r640]
5092                 Revert emsmdb pipe version to the hacked one. Makes mapiproxy work with samba4-alpha5 release.
5093         [r639]
5094                 SeekRow and SeekRowBookmark IDL improved
5095         [r638]
5096                 Improve the SetColumns IDL: remove unknown fields
5097 2008-07-06
5098     jkerihuel
5099         [r637]
5100                 Minor code convention fix
5101         [r636]
5102                 Check NTSTATUS return value from dcerpc_ndr_request. Prevent mapiproxy
5103                 from segfault when invalid dcerpc response is received.
5104         [r635]
5105                 Expose MAPISTATUS error in OXCTABLE-CATEGORY::FreeBookmark. 
5106                 Requires investigation
5107     bradh
5108         [r634]
5109                 Implement GetIdFromLongTermId and GetLongTermIdFromId
5110                 functions (ROP:0x43 and 0x44), and associated mapitest.
5111         [r633]
5112                 Documentation typo fix.
5113         [r632]
5114                 Change the QueryNamesFromIDs() call to match
5115                 MSDN, including changing the name to QueryNamedProperties().
5116                 
5117                 Also implement mapitest for QueryNamedProperties(),
5118                 GetNamesFromIDs() and GetIDsFromNames().
5119                 
5120                 Update torture test to match.
5121 2008-07-05
5122     jkerihuel
5123         [r631]
5124                 - Build system update: use samba4-alpha5 release with wget method
5125                 - introduce 'make samba' and 'make samba-git'
5126 2008-07-04
5127     bradh
5128         [r630]
5129                 Make sure we have names[] array large enough.
5130                 
5131                 Problem identified using default uno run.
5132                 
5133                 Resolves #87.
5134 2008-07-03
5135     jkerihuel
5136         [r629]
5137                 Fix a small errno bug in GetBestBody
5138                 Add dump-data and debug options to exchange2mbox
5139 2008-06-30
5140     jkerihuel
5141         [r627]
5142                 - Move emsmdb interface version back to 0.81 (patch applied in samba4 trunk)
5143                 - remove sed hack, modifications applied in samba4 trunk
5144                 - update required samba4 git rev required
5145     bradh
5146         [r628]
5147                 Typo fix.
5148 2008-06-25
5149     jkerihuel
5150         [r626]
5151                 Minor documentation update: remove deprecated reference to ./bin/smbpython
5152         [r625]
5153                 Fix torture suite entry point name
5154                 Fix torture module installation path
5155         [r624]
5156                 - Add implementation for the BestBody algorithm
5157                 - Add MAPI_E_NOT_ENOUGH_MEMORY error code
5158                 - Remove trailing }}\0 from lzfu code
5159                 - Update openchange tools to use GetBestBody rather than
5160                 the initial check on PR_MSG_EDITOR_FORMAT
5161         [r623]
5162                 Add a very basic stat module for mapitest: gives a quick overview
5163                 of tests which failed at the end of the report.
5164         [r622]
5165                 - Defines a global stream size in mapitest.h
5166                 - Decrease stream size from 0x4000 to 0x3000
5167                   Sounds like Exchange 2003 SP2 doesn't support 0x4000, return MAPI_E_CALL_FAILED
5168                  
5169 2008-06-24
5170     jkerihuel
5171         [r621]
5172                 Fix OC_CHECK_SAMBA_VERSION string
5173         [r620]
5174                 - Move samba4_ver.sh from top dir to script
5175                 - update parts of openchange relying on samba4_ver.sh
5176         [r619]
5177                 Add configure check for lib Z
5178                  
5179         [r618]
5180                 - Temporary fix ldb.pc problem and patch ldb.pc.in
5181                 - Update samba4 version to the latest revision
5182                 - Add libmapiproxy to svn:ignore proplist
5183     bradh
5184         [r617]
5185                 Try a different git revision, just for now.
5186 2008-06-17
5187     jkerihuel
5188         [r614]
5189                 - Update Samba4 version needed
5190                 - Change entry point function from init_module to samba_init_module
5191                 - update documentation
5192 2008-06-16
5193     jelmer
5194         [r613]
5195                 Fix calls of ldb_init() as required by newer versions of Samba.
5196         [r612]
5197                 Avoid bashisms.
5198         [r611]
5199                 Support newer versions of Samba4.
5200 2008-06-14
5201     bradh
5202         [r609]
5203                 Add some other standard GUIDs
5204 2008-06-11
5205     jelmer
5206         [r605]
5207                 Fix silly typo.
5208         [r604]
5209                 Fix linking.
5210         [r603]
5211                 Use version and soversion in mapiproxy library.
5212         [r602]
5213                 Make modules directory overridable.
5214 2008-06-10
5215     bradh
5216         [r601]
5217                 Change API as identified on devel mailing list.
5218                 
5219                 Here is the email:
5220                 After some investigation into an error reported by valgrind, I'm proposing an
5221                 API change for the MoveCopyMessages() function.
5222                 
5223                 The signature is currently
5224                 enum MAPISTATUS MoveCopyMessages(mapi_object_t *obj_src,  mapi_object_t 
5225                 *obj_dst,  mapi_id_t *message_id,  bool WantCopy)
5226                 
5227                 The problem is the message_id array. The subtle part is that it needs to be 
5228                 terminated with a null mapi_id_t*, because of this:
5229                 for (request.count = 0; message_id[request.count]; request.count++);
5230                 
5231                 That is a bit error prone - enough so to be wrong in the mapitest.
5232                 
5233                 Now we could just fix the mapitest and document the requirements, or we could 
5234                 change the signature.
5235                 
5236                 Two ideas for a different signature:
5237                 1. We could add a uint16_t count to the signature, that says how long the 
5238                 array is.
5239                 2. We could use a better data structure than mapi_id_t*. I'm suggesting
5240                 mapi_id_array_t:
5241                 enum MAPISTATUS MoveCopyMessages(mapi_object_t *obj_src,
5242                                                           mapi_object_t *obj_dst,
5243                                                           mapi_id_array_t *message_id,
5244                                                           bool WantCopy)
5245 2008-06-09
5246     bradh
5247         [r600]
5248                 Add mapitest coverage for CopyTo operations on 
5249                 folders and attachments, and update API docs.
5250                 
5251                 Also fix one place where we inadvertently used
5252                 CopyProps instead of CopyTo...
5253 2008-06-08
5254     bradh
5255         [r597]
5256                 Typo fixes in comments.
5257         [r596]
5258                 Minor documentation updates.
5259         [r595]
5260                 Clean up created message for SpoolerLockMessage() test.
5261 2008-06-07
5262     bradh
5263         [r594]
5264                 Update samba4 version test.
5265         [r593]
5266                 typo fix.
5267         [r592]
5268                 Make sure properties are copies into the last valid 
5269                 location in the extended array (i.e. count-1) not the
5270                 count location.
5271                 
5272                 Also, make sure we cast the data to a uint8_t for
5273                 conversion to boolean.
5274                 
5275                 Also fix compile warning about returning integer instead
5276                 of pointer.
5277         [r591]
5278                 We may read up to 0x1000 bytes, so ensure there is
5279                 enough room to add the terminating null.
5280         [r590]
5281                 Minor cleanup of the talloc context for FreeBookmark().
5282                 
5283                 Also change around some code to protect things a bit
5284                 better against null pointer inputs.
5285 2008-06-06
5286     bradh
5287         [r588]
5288                 Implement a bit more mapitest for CopyTo (0x39), in
5289                 support of #83.
5290                 
5291                 Also make it clean up and report failures properly.
5292 2008-06-05
5293     bradh
5294         [r587]
5295                 Implement the CopyTo operation (0x39), including initial mapitest.
5296                 JK previously committed the IDL for this.
5297                 
5298                 Also make CopyProps (0x67) use an appropriate data structure for
5299                 its IDL and update implementation to match.
5300 2008-06-04
5301     bradh
5302         [r586]
5303                 Minor documentation updates/corrections.
5304 2008-06-02
5305     jkerihuel
5306         [r583]
5307                 Introduce a default case for MAPI Restriction. In some circumstances -
5308                 while Outlook creates an OOF Rules - it sets a PT_SRESTRICT mapi
5309                 property tag which value is set to 0xFF. However 0xFF doesn't match
5310                 any restriction case.
5311 2008-06-01
5312     jkerihuel
5313         [r582]
5314                 - Add IDL for OpenEmbeddedMessage (0x46) MAPI call
5315         [r581]
5316                 - Add IDL for ReloadCachedInformation (0x10) MAPI call
5317         [r580]
5318                 - Add IDL for CopyTo (0x39) MAPI call
5319         [r573]
5320                 - Update the Samba4 GIT revision needed to run openchange properly
5321         [r572]
5322                 - import mapiproxy project from mapiproxy branch
5323                 - add custom proxypack MAPI call
5324                 - remove deprecated dcesrv_exchange_remote
5325     bradh
5326         [r579]
5327                 Add missing part of mapitest for SetReadFlags
5328                 
5329                 This should have been part of r578.
5330         [r578]
5331                 mapitest for SetReadFlags
5332         [r577]
5333                 Implement SetReadFlags (operation 0x66).
5334                 
5335                 Also minor API docs fix.
5336         [r576]
5337                 Move some test infrastructure from the oxctable.c module
5338                 into the common area.
5339         [r575]
5340                 Fix IDL error for SetReadFlags, and use existing flags
5341                 define (MSGFLAGS_READ) instead of creating a new set.
5342         [r574]
5343                 Build fix for relocation of mapiproxy/ to be under the
5344                 top level directory (instead of under the utils/
5345                 directory)
5346 2008-05-31
5347     jkerihuel
5348         [r571]
5349                 merge from mapiproxy branch:
5350                       * ndr_push Logon_req manually
5351         [r568]
5352                 merge from mapiproxy branch:
5353                       * Add IDL and server boiler template for EcDoConnectEx (0xA)
5354                         EMSMDB RPC function
5355                 
5356                       * Fix ndr_push_mapi_response code in ndr_mapi.c
5357                 
5358                       * Add the ndr_push_EcDoRpc_MAPI_REPL function in
5359                         ndr_mapi.c. Handles special Notify and Pending cases
5360                 
5361                       * Handle op_MAPI_Pending case properly in
5362                         ndr_pull_EcDoRpc_MAPI_REPL
5363                 
5364                       * Add code to ndr_push QueryRows in ndr_mapi.c: Do not push any
5365                         DATA_BLOB if there is no RowCount
5366         [r565]
5367                 merge from mapiproxy branch:
5368                       * Fix GetReceiveFolder [out] IDL
5369                       * Fix some naming convention typo
5370         [r564]
5371                 merge from mapiproxy branch:
5372                       * Fix SetMessagReadFlag [out] IDL
5373         [r563]
5374                 - Add [flag(NDR_REMAINING)] to SetMessageReadFlag. This is not
5375                   perfect, but it will prevent mapiproxy from ndr_pull error while
5376                   setting message read flag on public folders messages.
5377         [r562]
5378                 merge from mapiproxy branch:
5379                       * Fix CreateMessage [out] IDL
5380         [r561]
5381                 merge from mapiproxy branch:
5382                       * rename OpenModeFlags to OpenFolder_OpenModeFlags in OpenFolder
5383                       * rewrite OpenMessage [in] IDL and report changes in
5384                         libmapi/IStoreFolder.c
5385         [r560]
5386                 merge from mapiproxy branch:
5387                       * Add IDL for Pending (0x6e) MAPI call
5388                       * Reorder some MAPI calls in EcDoRpc_MAPI_REPL_UNION
5389         [r559]
5390                 - Add SetReadFlags to EcDoRpc_MAPI_{REQ,REPL}_UNION
5391         [r558]
5392                 merge from mapiproxy branch:
5393                       * Add IDL for SetSyncNotificationGuid (0x88) MAPI call
5394         [r557]
5395                 merge from mapiproxy branch:
5396                       * Add IDL for SyncGetTransferState (0x82) MAPI call
5397         [r556]
5398                 merge from mapiproxy branch:
5399                       * Add IDL for SyncImportReadStateChanges (0x80) MAPI call
5400                 
5401                 Note: This IDL is temporary and should be improved after completion of
5402                 the merging process.
5403         [r555]
5404                 merge from mapiproxy branch:
5405                       * Add IDL for SyncOpenCollector (0x7e) MAPI call
5406         [r554]
5407                 merge from mapiproxy branch:
5408                       * Add IDL for DeletePropertiesNoReplicate (0x7a) MAPI call
5409         [r553]
5410                 merge from mapiproxy branch:
5411                       * Add IDL for SyncImportMessageMove (0x78) MAPI call
5412         [r552]
5413                 merge from mapiproxy branch:
5414                       * Add IDL for SyncUploadStateStreamBegin (0x75) MAPI call
5415                       * Add IDL for SyncUploadStateStreamContinue (0x76) MAPI call
5416                       * Add IDL for SyncUploadStateStreamEnd (0x77) MAPI call
5417         [r551]
5418                 merge from mapiproxy branch:
5419                       * Add IDL for SyncImportDeletes (0x74) MAPI call
5420         [r550]
5421                 merge from mapiproxy branch:
5422                       * Add IDL for SyncImportHierarchyChange (0x73) MAPI call
5423         [r549]
5424                 merge from mapiproxy branch:
5425                       * Add IDL for SyncImportMessageChange (0x72) MAPI call
5426         [r548]
5427                 merge from mapiproxy branch:
5428                       * Add IDL for SyncConfigure (0x70) MAPI call
5429         [r547]
5430                 merge from mapiproxy branch:
5431                       * Add IDL for RegisterOptions (0x6f) MAPI call
5432                 
5433                 Note: This call is undocumented in Microsoft documentation, but MSDN
5434                 RegisterOptions function generates this call on the wire.
5435         [r546]
5436                 merge from mapiproxy branch:
5437                       * Add IDL for Progress (0x50) MAPI call
5438         [r545]
5439                 merge from mapiproxy branch:
5440                       * Add IDL for FastTransferSourceGetBuffer (0x4a) MAPI call
5441         [r544]
5442                 merge from mapiproxy branch:
5443                       * Add IDL for GetPerUserLongTermIds (0x60) MAPI call
5444                       * Add IDL for GetPerUserGuid (0x61) MAPI call
5445                       * Add IDL for ReadPerUserInformation (0x63) MAPI call
5446         [r543]
5447                 merge from mapiproxy branch:
5448                       * Add IDL for LongTermIdFromId (0x43) MAPI call
5449                       * Add IDL for IdFromLongTermId (0x44) MAPI call
5450         [r542]
5451                 merge from mapiproxy branch:
5452                       * Add IDL for ModifyRules (0x41) MAPI call
5453         [r541]
5454                 merge from mapiproxy branch:
5455                       * Add PT_SRESTRICT support in mapi_SPropValue_CTR
5456                 
5457                       * Add PT_ACTIONS and RuleAction support in mapi_SPropValue_CTR
5458                 
5459                       * Fix mapi_SNotRestriction NDR push routine - add a wrapper to
5460                         work around the no-pointer deep recursion pb and remove
5461                         existing nopull,nopush,noprint code from ndr_mapi.c
5462                 
5463                       * Fix mapi_SComment_Restriction IDL
5464                       
5465         [r540]
5466                 - Introduce PT_MV_UNICODE support in mapi_SPropValue_CTR (IDL only)
5467                 - use mapi_LPWSTR for PT_MV_UNICODE
5468                 - rename mapi_LPWSTR structure to mapi_name in Kind structure and
5469                   change its field names.
5470         [r536]
5471                 - Fix emsmdb version
5472                 - Change MAPI opnum enum identation -- Helps to fine down merging from
5473                   mapiproxy branch
5474     bradh
5475         [r539]
5476                 API docs typo fix.
5477         [r538]
5478                 Minor API documentation fixes.
5479         [r537]
5480                 Update label to reflect SetReadFlags -> SetMessageReadFlag 
5481                 renaming.
5482                 
5483                 This should have been part of r529 - missed it.
5484 2008-05-30
5485     jkerihuel
5486         [r535]
5487                 merging from mapiproxy branch:
5488                         - Fix MV_UNICODE_STRUCT and unicode strings
5489                         - Keep LPWSTR for exchange_nsp and move from LPWSTR to
5490                           mapi_LPWSTR for exchange_emsmdb
5491                         - Add the NspiGetTemplateInfo IDL
5492                         - Fix the NspiUpdateStat IDL
5493         [r534]
5494                 Fix build: SetMessageReadFlag function name was not propagated in the
5495                 module_oxcmsg.c
5496     bradh
5497         [r529]
5498                 Initial merge of changes for rename of SetReadFlags to
5499                 SetMessageReadFlags (op 0x11) and IDL for SetReadFlags 
5500                 (op 0x66).
5501         [r528]
5502                 Use private_data instead of private, for C++ happiness.
5503         [r527]
5504                 Minor cleanup. Using "try" confuses my c++ compiler...
5505         [r526]
5506                 This is really part of r525. It moved to IMAPITable.c
5507         [r525]
5508                 Update the table operations:
5509                  - implement ExpandRow and CollapseRow
5510                  - implement GetCollapseState and SetCollapseState
5511                  - add mapitest coverage for the above, plus the Restrict call
5512                  - implement ResetTable
5513                  - implement FreeBookmark
5514                  - add mapitest coverage for SRowSet parsing code
5515                  - minor IDL fixes
5516                  - various API documentation bits
5517     jelmer
5518         [r533]
5519                 Use right directory for samba4_ver.sh script.
5520         [r532]
5521                 Use common location for Samba 4 git revision.
5522 2008-05-27
5523     bradh
5524         [r522]
5525                 Use PT_ERROR where appropriate.
5526         [r521]
5527                 Update the SRowSet parser, fixing breakage I introduced.
5528 2008-05-26
5529     bradh
5530         [r518]
5531                 Update examples to reflect recent API changes.
5532     jelmer
5533         [r520]
5534                 Don't rely on absolute file paths since the distribution may be installing 
5535                 in other locations.
5536         [r519]
5537                 make scripts executable.
5538 2008-05-25
5539     bradh
5540         [r515]
5541                 Avoid segfaulting if you ask for a specific test or tests and 
5542                 forgot to start the server.
5543                 
5544                 Here is an example:
5545                 [bradh@conferta trunk]$ ./bin/mapitest --mapi-calls=OXCTABLE-CATEGORY --mapi-calls=OXCTABLE-RESTRICT --mapi-calls=NOSERVER-LZFU
5546                 Failed to connect host 192.168.11.77 on port 135 - NT_STATUS_HOST_UNREACHABLE
5547                 Failed to connect host 192.168.11.77 (192.168.11.77) on port 135 - NT_STATUS_HOST_UNREACHABLE.
5548                     MapiLogonEx              : MAPI_E_RESERVED (0xFFFFFFFF)
5549                 #############################[mapitest report]#################################
5550                         [*] Date                     : Sun May 25 11:45:29 2008
5551                         [*] Confidential mode        : [no]
5552                         [*] Samba Information        : 4.0.0alpha4-GIT-44d8b70
5553                         [*] OpenChange Information   : 0.8-SVN-build-510 (Romulus)
5554                 
5555                         [*] System Information       :
5556                                 Kernel name          : Linux
5557                                 Kernel release       : 2.6.23.17-88.fc7
5558                                 Processor            : x86_64
5559                 ###############################################################################
5560                 
5561                 
5562                 [*] NOSERVER-LZFU
5563                 [TEST] NOSERVER-LZFU
5564                 ------------------------------------------------------------------------
5565                         * uncompress_rtf2                    : 0x00000000
5566                         * uncompress_rtf2                    : PASSED
5567                 ------------------------------------------------------------------------
5568                 [RESULT] NOSERVER-LZFU: [SUCCESS]
5569                 ========================================================================
5570                 
5571                 [*] OXCTABLE-RESTRICT
5572                 Server is offline, skipping test: "OXCTABLE-RESTRICT"
5573                 [*] OXCTABLE-CATEGORY
5574                 Server is offline, skipping test: "OXCTABLE-CATEGORY"
5575 2008-05-24
5576     bradh
5577         [r510]
5578                 ignores objects that contain invalid handlers in mapi_object_release().
5579                 
5580                 Patch by Alan Alvarez. Compile tested, passes mapitest on SBS2003.
5581 2008-05-23
5582     bradh
5583         [r507]
5584                 Fix API documentation to match signature.
5585 2008-05-20
5586     bradh
5587         [r504]
5588                 Update QueryRows IDL and implementation to match
5589                 msdn documentation.
5590                 
5591                 The main work here is reworking the SRowSet parsing
5592                 routine.
5593 2008-05-18
5594     bradh
5595         [r501]
5596                 Typo fix - allow cleanup to work properly.
5597 2008-05-17
5598     bradh
5599         [r497]
5600                 Make sure it has a return value.
5601 2008-05-11
5602     bradh
5603         [r495]
5604                 Rename GetColumns remote operation to GetColumnsAll, and 
5605                 fix up IDL and implementation to match.
5606                 
5607                 Add some more unit test coverage, and pretty-up the
5608                 output a little.
5609         [r494]
5610                 Fix up breakage introduced in r493.
5611     jelmer
5612         [r496]
5613                 Make sure nagios directory gets created if it didn't exist yet.
5614 2008-05-10
5615     bradh
5616         [r493]
5617                 Refactor the unit tests.
5618                 
5619                 Extract out the setup and some of the cleanup code.
5620 2008-05-08
5621     jkerihuel
5622         [r490]
5623                 - Update openchange code to work with Samba4 4.0.0alpha4-GIT-44d8b70
5624                 - Use event_context structure
5625                 - update installsamba4.sh script to revert to this revision.
5626                 - update torture modulesdir reference
5627     jelmer
5628         [r492]
5629                 Look a little bit harder for the Samba installation.
5630 2008-05-05
5631     jkerihuel
5632         [r489]
5633                 - Add GetLocalReplicaIds MAPI call (IDL + implementation + mapitest)
5634                 - Add OXCFXICS mapitest module
5635 2008-05-03
5636     jkerihuel
5637         [r488]
5638                 - Fix "the very secret" openchange coding style
5639                 - Add Copyright for our humble new libmapi developer ;-)
5640     bradh
5641         [r487]
5642                 Implement the CopyProperties operation, including
5643                 a mapitest for this.
5644 2008-05-02
5645     jkerihuel
5646         [r485]
5647                 - Add TransportSend MAPI call (IDL + implementation + mapitest). This
5648                 code maybe needs some review regarding memory.
5649         [r484]
5650                 - Add the GetTransportFolder MAPI call (IDL + implementation +
5651                   mapitest)
5652         [r483]
5653                 - Add SpoolerLockMessage MAPI call (IDL + implementation + mapitest)
5654         [r482]
5655                 - Add SetSpooler MAPI call (IDL + implementation + mapitest)
5656         [r481]
5657                 - Add GetRulesTable (IDL + implementation + mapitest)
5658                 - Add the OXORULE mapitest suite
5659     bradh
5660         [r480]
5661                 Typo fix.
5662     jelmer
5663         [r486]
5664                 Make sure config.mk is the last file removed during distclean.
5665 2008-05-01
5666     jkerihuel
5667         [r479]
5668                 - Add the Abort MAPI call (IDL + implementation)
5669                 
5670                 OpenChange doesn't support yet asynchronous operation which explains
5671                 why no associated mapitest test has been implemented. This should be
5672                 done in the future.
5673         [r478]
5674                 - Add the MoveFolder MAPI call (IDL + implementation + mapitest)
5675                 - Fix some typo in mapitest doxygen
5676         [r477]
5677                 - Add MoveFolder MAPI call (IDL + implementation + mapitest)
5678                 - Fix some doxygen stuff
5679                 - add a common function within mapitest which looks for a folder name
5680                   within a container and return the opened folder object on success.
5681         [r476]
5682                 Add auto-generated Doxyfile to the svn ignore list
5683         [r475]
5684                 - Add AbortSubmit MAPI call (IDL + implementation + mapitest)
5685         [r473]
5686                 - Uninitialize MAPI and general memory context at the end of mapitest
5687     bradh
5688         [r474]
5689                 Clean up / flush the stream after use. 
5690                 
5691                 Saves a bit more "still reachable" in valgrind too.
5692 2008-04-30
5693     jkerihuel
5694         [r470]
5695                 - Rename CopyMessages to MoveCopyMessages
5696                 - Improve IDL + implementation and mapitest added
5697     bradh
5698         [r471]
5699                 Make sure the version shown for mapitest documentation
5700                 is automatically set to match the package version.
5701         [r468]
5702                 complete the rest of the API documentation autonumbering.
5703     jelmer
5704         [r472]
5705                 Remove duplicate use of $(SHLIBEXT).
5706         [r469]
5707                 Avoid parallel builds for now.
5708 2008-04-29
5709     jkerihuel
5710         [r467]
5711                 Fix GetContentsTable binding in perl swig
5712         [r466]
5713                 - Improve the GetHierarchyTable and GetContentsTable IDL and public
5714                   IDL implementation (new parameters in,out)
5715     bradh
5716         [r465]
5717                 Initial part of automatic list numbering for doxygen comments.
5718                 
5719                 This doesn't work correctly with the current apidocs.css, which
5720                 turns the list numbers into bullet points for reasons I don't 
5721                 understand.
5722 2008-04-28
5723     jkerihuel
5724         [r464]
5725                 - Improve the DeleteMessages IDL request
5726         [r463]
5727                 - Update libmapi version from 0.7 to 0.8
5728                 
5729                 - Public API change for the GetReceiveFolder function; now takes a
5730                   message class as 3rd parameter.
5731         [r458]
5732                 - Improve GetSearchCriteria request IDL (unknown removed)
5733                 - update libmapi copyright headers 2007 -> 2007-2008.
5734         [r457]
5735                 - Improve the SubmitMessage IDL
5736                 - minor indentation fixed in IMessage.c
5737         [r456]
5738                 - Add CopyToStream MAPI call (IDL + implementation + mapitest)
5739         [r455]
5740                 - Add SeekStream MAPI call (IDL + implementation + mapitest)
5741                 - Add SetStreamSize MAPI call (IDL + implementation + mapitest)
5742         [r454]
5743                 - Add CommitStream MAPI call (IDL + implementation + mapitest)
5744                 - Add GetStreamSize MAPI call (IDL + implementation + mapitest)
5745                 - refactor the stream test to include all stream related operations
5746                 - add a common function which generates a random ASCII blob of data
5747     bradh
5748         [r453]
5749                 Add doxygen support for the mapitest examples.
5750     jelmer
5751         [r459]
5752                 Allow cleaning individual parts.
5753 2008-04-27
5754     jkerihuel
5755         [r452]
5756                 - Add GetStatus call (IDL + implementation + mapitest)
5757         [r451]
5758                 - Fix format string problem in mapitest headers
5759         [r450]
5760                 Run offline suites by default.
5761         [r449]
5762                 - Introduce the online/offline mode for suite
5763                 - Fix Exchange headers print bug when server is offline
5764                 - reset errno to 0 before running new test
5765     bradh
5766         [r447]
5767                 Install the libmapiadmin.h header.
5768         [r446]
5769                 Fix a compile-time warning on amd64, for the second
5770                 argument to the getline() call - incompatible pointer
5771                 type.
5772                 
5773                 I'm assuming that size_t is equivalent to uint32_t
5774                 on a 32-bit architecture, but not on a 64-bit arch.
5775                 
5776                 A quick test showed no difference in actual output.
5777     jelmer
5778         [r448]
5779                 Remove bashisms in installsamba4.sh
5780 2008-04-26
5781     jkerihuel
5782         [r445]
5783                 - Add ReadRecipients MAPI call (IDL + implementation + mapitest)
5784                 - Improve some ModifyRecipients and Recipients structure naming
5785 2008-04-25
5786     jkerihuel
5787         [r444]
5788                 - Add RemoveAllRecipients call (IDL + implementation + mapitest)
5789         [r443]
5790                 - Add OpenPublicFolderByName call added (IDL and implementation).
5791                 
5792                 - Note: the reply IDL doesn't handle Server and ServerCount yet.
5793                 
5794                 - Note: this call only refers to NNTP folders (e.g: folders located
5795                 within "Internet Newsgroups". If developers use this call within "All
5796                 Public Folders", then the call with return MAPI_E_NOT_FOUND.
5797                 
5798                 - Call not added to mapitest cause it require RightsAuthor permissions
5799                 on Internet Newsgroups which is not the case by default.
5800                 
5801                 - dump-data and debug options added to mapitest
5802                 - FOLDER suite renamed to OXCFOLD (naming convention)
5803         [r441]
5804                 Rename module folder to oxcfold
5805         [r440]
5806                 Replace the existing mapitest tool with a new implementation. It is
5807                 less complete but more modular.
5808     jelmer
5809         [r442]
5810                 Add proto headers to ignore file.
5811 2008-04-20
5812     jkerihuel
5813         [r438]
5814                 OpenFolder request: replace unknown field with OpenModeFlags
5815         [r437]
5816                 - Rename 0xFE opnum from OpenMsgStore to Logon
5817                 - Update the Logon request IDL
5818     bradh
5819         [r439]
5820                 Add BEGIN_DECLS for private_proto.h.
5821         [r436]
5822                 Add forgotten part of rev435.
5823         [r435]
5824                 Add unit test framework for compressed RTF decoding.
5825                 
5826                 Refactor lzfu.c to improve testability.
5827 2008-04-19
5828     jkerihuel
5829         [r434]
5830                 Fix openchangeclient --mailbox --pf with wasn't launched anymore due
5831                 to some incorrect sanity check tests.
5832         [r433]
5833                 - Remove deprecated fuzzer_msgstore torture test
5834                 - replace mapi_flags with logon_id in EcDoRpc_MAPI_REQ
5835 2008-04-16
5836     bradh
5837         [r432]
5838                 A couple of minor fixes to make it read better.
5839     jelmer
5840         [r431]
5841                 properly clean up sofiles
5842         [r430]
5843                 Import exchange nagios check script by Bill Edmunds.
5844         [r429]
5845                 Add support for creating libocpf soname symlink.
5846         [r428]
5847                 Use standard include for uint64_t definition.
5848         [r427]
5849                 Cleanup talloc and tdb before building samba4.
5850 2008-04-14
5851     jkerihuel
5852         [r426]
5853                 Check for ocpf_set_Recipients retval (MAPI_E_NOT_FOUND)
5854         [r425]
5855                 - Reset ocpf to NULL after release so the ocpf_init/release couple can be called more than once.
5856                 - Sanity check on recipient, avoid parsing if no recipient is set. Return MAPI_E_NOT_FOUND instead.
5857         [r424]
5858                 Add reference to the ocpf lib within the pc file.
5859 2008-04-09
5860     jelmer
5861         [r423]
5862                 Remove duplicate SWIG instructions (already covered by stdint.i).
5863         [r422]
5864                 Ignore files created by swig.
5865         [r421]
5866                 Use config.mk in swig/perl/Makefile.
5867         [r420]
5868                 Allow sambaprefix and prefix to be different. Allow building with unknown 
5869                 Samba git revisions (will still warn though).
5870         [r419]
5871                 Add --with-samba argument to configure so samba and openchange can be installed in different directories.
5872 2008-04-08
5873     jkerihuel
5874         [r418]
5875                 Add domain to the mapiprofile dump output.
5876         [r417]
5877                 Fix OpenMessage IDL and GetRecipientTable fetched data
5878                 
5879                 -This line, and those below, will be ignored--
5880                 
5881                 _M   trunk
5882                 M    trunk/exchange.idl
5883                 M    trunk/libmapi/IStoreFolder.c
5884                 M    trunk/libmapi/emsmdb.c
5885                 M    trunk/libmapi/IMessage.c
5886 2008-04-07
5887     jelmer
5888         [r416]
5889                 Fix typo, change samba-config -> samba-hostconfig.
5890 2008-04-06
5891     jkerihuel
5892         [r415]
5893                 - Add openchangepfadmin to make install
5894                 - Add openchangemapidump and locale_codepage to make clean
5895 2008-04-05
5896     jelmer
5897         [r413]
5898                 Merge the samba4-latest branch.
5899 2008-04-03
5900     jkerihuel
5901         [r408]
5902                 Revert so version number to 0.7
5903         [r407]
5904                 Fix Perl bindings: update mapidump_message
5905         [r405]
5906                 ** Start libmapi-0.8 ROMULUS development **
5907         [r402]
5908                 Add ChangeLog and apidocs to the releases
5909         [r400]
5910                 - Delete unmaintained regression suite
5911                 - Fix typo error in torture-clean rule
5912         [r399]
5913                 Add modified release script originally from abartlett/samba4
5914         [r398]
5915                 - Check for specific Samba4 git revision in configure.ac
5916                 - Prefix locale functions with lcid and make them _PUBLIC_
5917     bradh
5918         [r406]
5919                 API documentation update.
5920     jelmer
5921         [r403]
5922                 Fix some typos.
5923 2008-04-02
5924     jkerihuel
5925         [r397]
5926                 Add installation script for samba4
5927         [r396]
5928                 - Apply the nspi pointer patch - make openchange works with
5929                 samba4-alpha3 git 41309dc
5930                 
5931                 - update howto.txt
5932     bradh
5933         [r390]
5934                 Move the top level API documentation to an "overview"
5935                 section and add a redirect to that overview.
5936                 
5937                 This keeps the doxygen output more nicely separated for
5938                 packaging.
5939                 
5940                 Also, generate the man pages where the install expects
5941                 to find them.
5942 2008-04-01
5943     jkerihuel
5944         [r388]
5945                 - Fix strsep bug in openchangeclient
5946                 - Add RECIPIENT support to libocpf
5947         [r383]
5948                 - escape/unescape strings support added
5949                 - PT_MV_STRING8 type added to OCPF write API
5950 2008-03-31
5951     jkerihuel
5952         [r382]
5953                 - return MAPI_E_NOT_FOUND if NspiGetMatches doesn't return any results
5954                   (based upon patch from lofi@mountproc.org)
5955                 - makes the workstation parameter of mapiprofile optional (use
5956                   gethostname if not defined by the user on command line)
5957         [r381]
5958                 - Fix an allocation memory problem in cast_SPropValue
5959                 - update svn:ignore proplist
5960 2008-03-30
5961     jkerihuel
5962         [r380]
5963                 Update the documentation build so it keeps generating an embedded
5964                 website in with apidocs/html as root directory.
5965         [r378]
5966                 - Add support for PT_UNICODE and PT_SHORT to libocpf
5967                 - Initial implementation of the libocpf write API
5968                 - Update libocpf documentation
5969                 - add --ocpf-dump option in openchangeclient
5970                 - Fix realdistclean rules for server
5971                 - add cast_SPropValue function to libmapi/property.c which cast
5972                   mapi_SPropValue to SPropValue
5973     bradh
5974         [r379]
5975                 Split API documentation into two separate sections - one
5976                 for libmapi and one for libocpf.
5977                 
5978                 Also add in a top level intro page.
5979 2008-03-27
5980     jkerihuel
5981         [r376]
5982                 New build system which gathers a list of things that can be built with
5983                 the libraries/utilities the user has installed and build that when
5984                 "make all" is run.
5985 2008-03-26
5986     jkerihuel
5987         [r375]
5988                 Add missing allocation for OLEGUID
5989         [r373]
5990                 --ocpf-syntax doesn't require MAPI to be initialized. Furthermore
5991                   makes ocpf-syntax "exclusive" (quit after performing the operation).
5992     bradh
5993         [r372]
5994                 r371 was bad. What was I thinking with that nonsense!
5995                 
5996                 Revert to something sane.
5997         [r371]
5998                 Make the ./bin/ directory if it doesn't exist.
5999                 
6000                 This should resolve ticket #33.
6001 2008-03-23
6002     bradh
6003         [r370]
6004                 Improve language handling when creating profiles.
6005                 
6006                 You can now get a list of valid languages and use either
6007                 the language code ID or the language name to specify what
6008                 language later versions of Exchange should reply with.
6009         [r369]
6010                 Typo fix - duplicate ; at the end of the structure.
6011         [r368]
6012                 Match format to unsigned int argument.
6013         [r367]
6014                 Make the format specifier match the unsigned argument.
6015 2008-03-22
6016     jkerihuel
6017         [r366]
6018                 propset svn:ignore update
6019         [r365]
6020                 Update propset svn:ignore on doc/examples and libocpf targets
6021         [r364]
6022                 - Fix ticket #29: http://trac.openchange.org/ticket/29
6023                 
6024                 - use access(2) to see if the database already exists
6025                 - test if the profile already exists prior trying to add it
6026                 - add descriptive error messages
6027                 - catch CTRL-C signal and run a profile deletion routine
6028     bradh
6029         [r363]
6030                 Update API documentation for ocpf_nproperty_add().
6031         [r362]
6032                 Typo fix.
6033 2008-03-16
6034     jkerihuel
6035         [r361]
6036                 Fix mapidump_message call parameters
6037 2008-03-13
6038     jkerihuel
6039         [r360]
6040                 Add fid/mid parameters to mapidump_message and changed
6041                 openchangeclient_fetchitems to reflect these changes.
6042         [r359]
6043                 Patch from Brad Hards <bradh@frogmouth.net>:
6044                 updates the OCPF doxygen file.
6045         [r358]
6046                 Patch from Brad Hards <bradh@frogmouth.net>:
6047                 adds the doc/examples into the build system and enables make examples.
6048         [r357]
6049                 Patch From Brad Hards, <bradh@frogmouth.net>:
6050                 API documentation update and minor fix for the error value change.
6051 2008-03-09
6052     jelmer
6053         [r355]
6054                 Update bzr ignores.
6055 2008-03-06
6056     jkerihuel
6057         [r354]
6058                 - Add PT_BINARY property support to OCP
6059                 - Add stream support to OCPF for large PT_BINARY blobs.
6060                 - Fix a bug which prevented from having no/empty PROPERTY or NPROPERTY
6061                   sections.
6062 2008-03-05
6063     jkerihuel
6064         [r353]
6065                 - Prevent from assigning a value which type doesn't match with
6066                   the property one.
6067                 - Add missing substitution variable support for some named properties
6068                   declaration
6069                 - Improve sample_appointment.ocpf example
6070                 - Add PT_MV_STRING8 keyword to the list of supported property type
6071                   identifiers.
6072 2008-03-04
6073     jkerihuel
6074         [r352]
6075                 Improve OCPF PT_MV_STRING8 support.
6076         [r351]
6077                 - Initial revision for libocpf and its documentation
6078                 - YACC support added to the build system
6079                 - custom lid and string support in mapi_nameid
6080                 - lookup functions added for OOM, lid and string
6081                 - OCPF commands added to openchangeclient (ocpf-file, ocpf-syntax,
6082                   ocpf-sender)
6083                 - PR_FID displayed in openchangeclient --mailbox
6084                 - PT_MV_STRING8 support added to cast_mapi_SPropValue
6085 2008-03-02
6086     jkerihuel
6087         [r350]
6088                 Patch from Brad Hards <bradh@frogmouth.net>:
6089                         updates code to build with current API
6090         [r349]
6091                 Patch from Brad Hards <bradh@frogmouth.net>:
6092                         little update for some API dox
6093 2008-02-21
6094     jkerihuel
6095         [r348]
6096                 - Add --update option to openchangeclient and allow users to modify
6097                   existing messages (calendar, task, contact, note)
6098                 - Add --delete option to openchangeclient and allow users to delete
6099                   existing messages (calendar, task, contact, note)
6100                 - Add some folder/message unique ID to mapidump outputs and send*
6101                   openchangeclient functions.
6102                 - Fix a bug in set_SPropValue: add sanity check on unicode
6103                   string. Thanks to Suman Manjunath for this patch.
6104                 - Fix mapidump_task function and identifiers of named properties used.
6105 2008-02-19
6106     jkerihuel
6107         [r347]
6108                 Fix missing sanity check on priority
6109         [r346]
6110                 Fix a bug in openchangeclient when tasks are created without body
6111         [r345]
6112                 private flag added to openchangeclient appointments
6113         [r344]
6114                 Fix folder IDs problem for Exchange 2007 SP1
6115 2008-02-09
6116     jkerihuel
6117         [r343]
6118                 Fix names IDL against Samba4 4.0.0alpha3-GIT-41309dc
6119 2008-01-24
6120     jkerihuel
6121         [r342]
6122                 - Fix a bug in IStoreFolder.c:OpenMessage which was also affecting
6123                   GetRecipientTable. We were extending SPropTagArray prior calling
6124                   emsmdb_get_SRow. This was causing ndr_pull_error in OpenMessage_repl
6125                   and erroneous data to be inserted in the SRow.
6126                 
6127                 - Fix libmapi/socket/interface.c:
6128                      - Use the latest version from Samba4 which removes reference to
6129                        global_loadparm.
6130                      - Moves struct interface declaration to netif.h
6131                      - Report changes to emsmdb.c notification functions.
6132                 
6133                 - Change GetGALTable prototype to match general libmapi policy. Remove
6134                   the usage of bool and replace it with uint8_t. Possible values added
6135                   to mapidefs.h
6136 2008-01-22
6137     jkerihuel
6138         [r341]
6139                 - Improve NspiQueryRows IDL and implementation
6140                 - Add GetGALTable implementation: fetch all the Global Address List
6141                   recipients
6142                 - Add --userlist option to openchangeclient
6143                 - Add a convenient and basic dumping function for Global Address List
6144                   recipients.
6145         [r340]
6146                 - Improve OpenMessage reply IDL
6147                 - Fetch mapi recipients from OpenMessage reply
6148                 - Add GetRecipientTable convenient function
6149                 - Add OPENCHANGE-MAPI-RECIPIENT torture test to test
6150                   GetRecipientTable implementation.
6151                 - Add convenient SPropTagArray_add function
6152                 - Add internal emsmdb_get_SRow routine
6153 2008-01-21
6154     jkerihuel
6155         [r339]
6156                 Patch from Suman Manjunath <msuman@novell.com>:
6157                 
6158                 - Adds named-properties which define recurrence patterns for
6159                   appointment and task. 
6160                 - Adds named properties for appointment timezone
6161         [r338]
6162                 - Fix the SNotRestriction IDL and write custom push,pull,print
6163                   functions
6164                 - Add 2 new MAPI calls to the IDL: 
6165                   * GetSearchCriteria,
6166                   * SetSearchCriteria
6167                 - add sample {Get,Set}SearchCriteria torture test
6168                 - add convenient mapi_id_array implementation
6169                 - add GetDefaultFolder support for CommonView and Finder folders
6170 2008-01-20
6171     jelmer
6172         [r337]
6173                 Make sure directory exists.
6174 2008-01-18
6175     jkerihuel
6176         [r336]
6177                 - Fix tiny 'nail down samba4 version' bug
6178                 - update the minimal Samba4 required version
6179         [r335]
6180                 - Add FindRow call to the IDL
6181                 - Improve mapi_Restriction support
6182                 - Remove deprecated ndr_print_QueryRows function
6183                 - Add a print function for fuzzyLevel
6184                 - Add preliminary FindRow implementation test to MAPI-RESTRICTIONS
6185                   torture test
6186                 - Add couple of new MAPI tags to mapi-properties
6187                 - change initial bookmark index to 3
6188 2008-01-16
6189     jkerihuel
6190         [r334]
6191                 - Add 2 new MAPI calls to the IDL and mapitest:
6192                   * SetReceiveFolder
6193                   * GetReceiveFolderTable
6194                 
6195                 - Fix a bug in the SortTable test when no messages are returned by
6196                   QueryRows
6197         [r333]
6198                 - Add SeekRowApprox to the IDL and mapitest
6199                 - Fix some doxygen typo
6200         [r332]
6201                 - New calls added to the IDL, torture suite and mapitest:
6202                     * CreateBookmark
6203                     * SeekRowBookmark
6204                 - Internal mapi_object_bookmark_t implementation added to
6205                   mapi_object_table_t
6206                 - SBinary_short default ndr_print function changed to custom
6207 2008-01-14
6208     jkerihuel
6209         [r331]
6210                 Temporary fixes unexpected segfault in SortTable test. Emails sent
6211                 during the Submit test have sometimes not yet been dispatched when the
6212                 SortTable test begins. This fix adds a sleep(1) and an arbitrary
6213                 number of attempts (5).
6214         [r330]
6215                 Add 2 new MAPI calls to the IDL and libmapi:
6216                     * AddressTypes
6217                     * SortTable
6218                 
6219                 Tests for SortTable added to mapitest and the torture suite
6220                 Test  for AddressTypes added to mapitest.
6221 2008-01-13
6222     jkerihuel
6223         [r329]
6224                 Fix perl bindings and fetchmail test
6225         [r328]
6226                 2 new MAPI call added to the IDL and mapitest: 
6227                   * GetMessageStatus
6228                   * SetMessageStatus
6229 2008-01-11
6230     jkerihuel
6231         [r327]
6232                 - Add DeleteAttach MAPI call
6233                 - Add new mapi unit tests:
6234                   * QueryColumns
6235                   * CreateAttach
6236                   * SaveChanges
6237                   * GetAttachmentTable
6238                   * DeleteAttach
6239                 - Update mapitest README
6240                 - Add some convenient functions to mapitest_common.c
6241 2008-01-10
6242     jkerihuel
6243         [r326]
6244                 Add a preliminary draft of the mapitest standalone MAPI test suite.
6245 2008-01-05
6246     jkerihuel
6247         [r324]
6248                 Add missing files
6249         [r323]
6250                 - Fix the build with the latest Samba4 version.
6251                 
6252                 - Add a basic libmapi/version.h auto-generated 
6253                   file (based on Samba4 one)
6254                 - Remove some warnings when compiling the utf8 
6255                   lexer
6256                 - Add a emsmdb_info structure to fetch some 
6257                   information from the Exchange server
6258                 
6259                 WARNING: Please note that EMSABP is definitely broken and 
6260                          requires a review and update.
6261     jelmer
6262         [r325]
6263                 DESTDIR should never get into any source files, that would defeat its purpose.
6264 2008-01-04
6265     jkerihuel
6266         [r322]
6267                 Fix the torture suite.
6268 2007-12-28
6269     jelmer
6270         [r321]
6271                 provide extra required argument.
6272         [r320]
6273                 Store a loadparm context in the global mapi context.
6274         [r319]
6275                 Deal with samba version.h's that don't contain the Subversion revision.
6276 2007-12-15
6277     jelmer
6278         [r318]
6279                 Use SWIG-provided typemaps for stdint.
6280 2007-11-29
6281     ali
6282         [r317]
6283                 Fix Content-Type field in exchange2mbox
6284                 Reported by Yuriy Filatov <yuriy.filatov@gmail.com>
6285 2007-11-28
6286     jkerihuel
6287         [r316]
6288                 - Improve the CreateMessage IDL
6289                 - Add new parameters to IMAPIFolder CreateMessage libmapi function
6290                 - Add --mkdir --rmdir options to openchangeclient
6291                 - Update the CreateFolder API and openchangeclient documentation
6292                 - Fix CreateFolder calls in openchange tools and torture suite
6293                 - Fix gendb_search warning
6294 2007-11-25
6295     jkerihuel
6296         [r315]
6297                 Add new PSETID_Address named properties 
6298         [r314]
6299                 Fix a few code convention typos 
6300                 
6301                 Patch from Suman Manjunath <msuman@novell.com> applied:
6302                 converts a 'struct timeval' to 'NTTIME'.
6303                 minor extension of 'set_SPropValue_proptag', used while setting PT_SYSTIME properties.
6304 2007-11-21
6305     jkerihuel
6306         [r313]
6307                 update Samba4 first revision to 26100
6308     jelmer
6309         [r312]
6310                 Cope with ndr updates.
6311 2007-11-12
6312     jkerihuel
6313         [r311]
6314                 Patch from Brad Hards: Fix possible Heap overflow in lzfu code
6315 2007-11-07
6316     jkerihuel
6317         [r310]
6318                 Fix profile creation in a clustered Exchange 2007 environment.
6319 2007-11-02
6320     jkerihuel
6321         [r309]
6322                 Fix QueryColumns req size.
6323 2007-11-01
6324     jkerihuel
6325         [r308]
6326                 ** Start libmapi-0.7 PHASER development **
6327                 
6328                 add --dump-data option to mapiprofile for debugging purpose
6329 2007-10-31
6330     jkerihuel
6331         [r306]
6332                 openchangepfadmin (1) man page added
6333         [r305]
6334                 Store messageID in the object when SaveChangesMessage is called
6335         [r304]
6336                 Nail down Samba4 version for libmapi-0.6
6337 2007-10-30
6338     jkerihuel
6339         [r303]
6340                 - Add PR_MSG_EDITOR_FORMAT property to the sendmail operation
6341                 - Fix body dump bug when PR_MSG_EDITOR_FORMAT property is missing (default set to PLAINTEXT)
6342                 - Continue to process the mailbox when a problem is encountered with mesage contents (not attachment)
6343                 - Fix a typo bug in openchangeclient body help string
6344         [r302]
6345                 Update doxygen section
6346 2007-10-29
6347     jkerihuel
6348         [r301]
6349                 - Add doxygen man (3) pages to installman and uninstallman rules
6350                 - do not run doxygen if apidocs already exists
6351 2007-10-28
6352     jkerihuel
6353         [r300]
6354                 Move documentation to doxygen 
6355 2007-10-25
6356     jkerihuel
6357         [r299]
6358                 Add convenient date related functions for implementors:
6359                 returns a timeval struct matching a PT_SYSTIME property
6360                 for improved date manipulation in 3rd party softwares
6361 2007-10-24
6362     jkerihuel
6363         [r298]
6364                 Fix build to work with latest Samba4 revision (4.0.0alpha2-SVN-build-25722)
6365         [r297]
6366                 Fix make realdistclean when swig perl is enabled
6367         [r296]
6368                 Fix swig perl bindins compilation: move *.o to *.po
6369         [r295]
6370                 use talloc_memdup to copy const data in the body DATA_BLOB
6371                 Should only provide valid pointer to talloc_free 
6372 2007-10-23
6373     jkerihuel
6374         [r294]
6375                 Fix the DeleteMessages [out] IDL.
6376                 
6377                 The remaining bytes were not part of DeleteMessages but
6378                 MAPI notification (0x2a)
6379 2007-10-22
6380     jkerihuel
6381         [r293]
6382                 - Add RTF support in exchange2mbox
6383                 - Use openchange-tools public functions
6384                 - Replace GetPropsAll calls with GetProps
6385         [r292]
6386                 - fetchmail: 
6387                         * Use GetProps rather than GetPropsAll for message dump
6388                         * Rely on PR_MSG_EDITOR_FORMAT to select the type of body
6389                         * Open a stream for PR_BODY and PR_HTML if the size exceeds max property size
6390                 
6391                 -This line, and those below, will be ignored--
6392                 
6393                 M    trunk/Makefile.in
6394                 A    trunk/utils/openchange-tools.c
6395                 M    trunk/utils/openchangeclient.c
6396                 M    trunk/utils/openchange-tools.h
6397                 M    trunk/utils/openchangeclient.h
6398                 M    trunk/libmapi/mapidefs.h
6399 2007-10-20
6400     jelmer
6401         [r291]
6402                 Fix ignores.
6403 2007-10-19
6404     ali
6405         [r290]
6406                 Remove useless svn:ignore
6407     jkerihuel
6408         [r289]
6409                 Add WrapCompressedRTFStream function for PR_RTF_COMPRESSED content.
6410                 
6411                 Original lzfu decompress routine fetched from libpst-0.5.2
6412         [r288]
6413                 make enum MAPISTATUS variables naming uniform in libmapi
6414 2007-10-16
6415     jkerihuel
6416         [r287]
6417                 Add PT_CLSID case to get_SPropValue_data
6418         [r286]
6419                 Add/Fix pull property support for PT_UNICODE and PT_CLSID (used by GetProps)
6420         [r285]
6421                 Patch from Brad Hards <bradh@frogmouth.net>:
6422                 Fix compilation for x86_64 platforms.
6423 2007-10-14
6424     ali
6425         [r284]
6426                 More svn:ignore updates
6427         [r283]
6428                 Update of svn:ignore
6429 2007-10-10
6430     jkerihuel
6431         [r282]
6432                 added the IDL license
6433         [r281]
6434                 Convert OpenChange to GPLv3
6435         [r280]
6436                 - Add .po files to make clean 
6437                 - Fix a couple of warnings in the utf8 conversion lexer 
6438                 - Prefer long filenames to truncated one for attachments in openchangeclient
6439 2007-10-09
6440     jkerihuel
6441         [r279]
6442                 Prevent exchange2mbox from segfault when PR_MESSAGE_DELIVERY_DATE is unset
6443         [r278]
6444                 Add PT_CLSID and PT_MV_CLSID support to the IDL
6445         [r274]
6446                 - Add new named properties
6447                 - Convenient function for MNID_STRING props lookup added
6448     jelmer
6449         [r277]
6450                 Make .po a recognized suffix.
6451         [r276]
6452                 Fix compile error.
6453         [r275]
6454                 Use -fPIC for library objects.
6455 2007-10-08
6456     jkerihuel
6457         [r273]
6458                 - Rename GetAllNamesFromIDs to QueryNamesFromIDs (better naming)
6459                 - fix SPropValue_CTR boolean to uint8_t in the IDL and emsmdb.c
6460                 
6461                 - add mapi_nameid convenient interface and headers
6462                 - mapi-named-properties populated, parser added to mparse.pl, file
6463                   added to the build system
6464                 
6465                 - remove any incorrect reference to named properties in openchange
6466                   tree
6467                 
6468                 - remove deprecated libmapi/mapi.h file
6469                 - remove unused ulFlag parameter from IProfAdmin functions
6470                 - remove unused memory context from libmapi/x500.c
6471                 
6472                 - support sendnote operation in openchangeclient
6473                 - optimize check/list oc_element functions in openchangeclient
6474                 
6475                 - update swig interface
6476 2007-10-05
6477     jkerihuel
6478         [r272]
6479                 - New MAPI calls: Named properties support
6480                          * GetNamesFromIDs
6481                          * GetIDsFromNames
6482                          * GetAllNamesFromIDs
6483                 
6484                 - Modified MAPI calls:
6485                          * OpenMessage
6486                          * SaveChanges
6487                 These calls now have more granularity in libmapi with flags support
6488                 
6489                 - sample mapi-named-properties file introduced in libmapi/conf
6490                 
6491                 - Torture test suite:
6492                         * suite temporary fixed (import torture_rpc_* functions from
6493                           Samba4)
6494                         * torture_namedprops test added
6495                 
6496                 - SWIG Perl bindings fixed according to changes described above
6497                 - minor improvements in libmapi/mapidump.c
6498 2007-10-02
6499     jkerihuel
6500         [r271]
6501                 - Decrease MAX_READ_SIZE to 0x1000
6502                 - Clean-up Read/WritreStream related code
6503                 - add dump-data option to openchangepfadmin (debugging purpose)
6504 2007-10-01
6505     jkerihuel
6506         [r270]
6507                 Fix build: 
6508                         - remove reference to core/nterr.h
6509                         - add global_loadparm reference where missing
6510                         - add reference to core/error.h where needed
6511     jelmer
6512         [r269]
6513                 Improve output during build.
6514         [r268]
6515                 Fix lp_load().
6516         [r267]
6517                 Pass loadparm contexts, should fix the build with newer Samba revisions.
6518 2007-09-28
6519     jkerihuel
6520         [r266]
6521                 - WriteStream API changed: now returns the number of bytes written
6522                 - WriteStream man page updated
6523                 - 16 bytes extra-data bug fixed when sending attachments in openchangeclient
6524                 - Set open mode to 0600 when attachments are stored on the filesystem
6525                  
6526 2007-09-19
6527     jkerihuel
6528         [r265]
6529                 Fix preliminary Perl bindings so it works with Samba4 alpha2
6530                 and latest libmapi revision.
6531         [r264]
6532                 Patch from Andrew Gaylard <ag@computer.org>:
6533                 
6534                 - When calling openchangeclient with the --dump-data switch, it will
6535                 dump core, since the global_mapi_ctx pointer isn't initialised yet.
6536                 The fix is to wait until it's set before accessing it.
6537         [r263]
6538                 Patch from Andrew Gaylard <ag@computer.org>:
6539                 - Leaving any blank lines before .TH directives appears to cause a blank page
6540                 to be output when converting man pages to DVI files (which is a step to converting
6541                 them to PDF). The following patch remove the blank line above the .TH in each man page file. 
6542                 
6543                 - mapiprofile doesn't understand the -A switch, as mentioned in it's man page.
6544                 It should be -I.
6545 2007-09-13
6546     jkerihuel
6547         [r262]
6548                 - Add objectClass to the object: container, message or attachment
6549                 - Rename content to message in openchangebackup functions
6550                 - add objectClass parameter to ocb_record_init
6551 2007-09-12
6552     jkerihuel
6553         [r261]
6554                 - Move debug options to their correct location (after MAPIInitialize)
6555                 - Improve code related to LDB transactions
6556                 - Add convenient error checking macros
6557 2007-09-11
6558     jkerihuel
6559         [r260]
6560                 - Add preliminary openchangemapidump draft
6561                 - Fix lp_parm_* 1st parameter in the torture suite
6562                 - New functions in property.c for MAPI data retrieval
6563 2007-09-09
6564     jelmer
6565         [r259]
6566                 Use configure definition for mandir.
6567 2007-09-08
6568     dan
6569         [r258]
6570                 Activate debugs this time
6571         [r257]
6572                 Replaced remaining gotos with MAPI_RETVAL_IF so errno is set correctly
6573         [r256]
6574                 MAPI_RETVAL_IF missing ";" could cause surprises ;-)
6575         [r255]
6576                 Add error check for samr call.
6577                 set errno with MAPI_RETVAL_IF.
6578 2007-09-06
6579     dan
6580         [r254]
6581                 Make required packaged more clear (LinuxMagazin input)
6582 2007-09-05
6583     jelmer
6584         [r253]
6585                 Remove invalid comment.
6586 2007-09-04
6587     jkerihuel
6588         [r252]
6589                 - Clean-up function prototypes
6590                 - Dump email when NEWMAIL notification is received
6591 2007-08-31
6592     jelmer
6593         [r251]
6594                 Proper dependencies.
6595         [r250]
6596                 Don't regenerate proto headers unless necessary.
6597         [r249]
6598                 Add 'make check'.
6599         [r248]
6600                 Use install for installing files/directories.
6601         [r247]
6602                 Actually use replacement variable for libmagic.
6603 2007-08-30
6604     jkerihuel
6605         [r246]
6606                 Remove forgotten BOOL
6607         [r245]
6608                 Remove mapi_session pointer in mapi_objects
6609                 Add public function to IProfAdmin: retrieve default ldif path location outside the OC tree
6610 2007-08-28
6611     jkerihuel
6612         [r244]
6613                 Prevent users from creation of *undeletable* folders in Outlook and
6614                 perform sanity check on dirclass + display possible values. 
6615         [r243]
6616                 Provides a way to modify Default and Anonymous permissions for a given folder.
6617         [r242]
6618                 Fix errno in getdir function + add sanity check on opt_rmdir
6619         [r241]
6620                 - Fix a memory related bug in mapiadmin_add_user
6621                 - Add latest howto.txt modifications from Dan
6622         [r240]
6623                 - Fix bug in *UserPermission function: return when user is not found
6624                 - Add sanity checks to mapi_object API functions
6625                 - mapi_object_release reset errno to 0: need to release object
6626                 after displaying the potential error message.
6627         [r239]
6628                 Fix a mapidump_appointment bug
6629                 Add PF folder support to fetch-items operation
6630 2007-08-27
6631     jkerihuel
6632         [r238]
6633                 openchangeclient now support send/read/delete operation on custom PF directories.
6634         [r233]
6635                 - Add libmapiadmin library draft: Add/Remove Exchange user
6636                 - openchangepfadmin tool added: Public Folders management
6637                 - Add Sanity check to CreateFolder
6638     jelmer
6639         [r237]
6640                 Update ignore list.
6641         [r236]
6642                 Fix last references to BOOL, True and False.
6643         [r235]
6644                 Fix more references to BOOL, False and True.
6645         [r234]
6646                 Use standard type and values for booleans since Samba no longer exports 
6647                 BOOL, True and False.
6648 2007-08-21
6649     jkerihuel
6650         [r232]
6651                 - Add OpenPublicFolder function to libmapi, Open Public Folder store
6652                 - change torture suite API to match latest Samba4 pidl changes
6653                 - utf8_convert regexp improved
6654                 - minor changes: printf to DEBUG
6655                 - howto.txt patch from Dan included
6656                 - Samba4 torture code related to user account creation included in the
6657                   torture suite.
6658 2007-08-06
6659     jkerihuel
6660         [r231]
6661                 Fix segmentation fault when running update prior populating the database.
6662 2007-07-31
6663     jkerihuel
6664         [r230]
6665                 Remove obsolete file from the torture suite 
6666         [r229]
6667                 - Add Exchange Administration test to the torture suite: Create Exchange user
6668         [r228]
6669                 Dan update on howto.txt
6670 2007-07-10
6671     jkerihuel
6672         [r227]
6673                 - Add Exchange ACLs support to MAPI library
6674                 - Add 2 new MAPI opnum: GetTable and ModifyTable
6675                 - Improve mapidump functions
6676 2007-07-04
6677     jkerihuel
6678         [r226]
6679                 - Improve aclocal check in autogen.sh
6680                 - Fix flex binary detection in configure.ac
6681 2007-06-22
6682     jkerihuel
6683         [r225]
6684                 Same player ...
6685         [r224]
6686                 Fix libmapi symlink
6687         [r223]
6688                 Create libmapi.so symlink
6689 2007-06-21
6690     jkerihuel
6691         [r222]
6692                 Fix mandir installation path
6693                 Add ldconfig intructions to openchange installation documentation
6694         [r221]
6695                 Fix build.
6696 2007-06-20
6697     jkerihuel
6698         [r220]
6699                 RES_AND and RES_OR preliminary implementation.
6700 2007-06-19
6701     jkerihuel
6702         [r218]
6703                 - doc patch from Brad Hards
6704                 - rename PROFILE_NOPASSWORD to OC_PROFILE_NOPASSWORD
6705                 - fix a warning in property.c
6706 2007-06-16
6707     jelmer
6708         [r210]
6709                 Add some 'const' (fixes compile warnings).
6710         [r209]
6711                 Use sonames (required for the Debian packages).
6712         [r208]
6713                 Add .bzrignore file.
6714         [r207]
6715                 Update version number and use globally defined version number in libmapi.pc.
6716 2007-06-15
6717     jkerihuel
6718         [r205]
6719                 - Add IDL implementation for restrictions Content, Property,
6720                 CompareProps, Bitmask, Size, Exist.
6721                 - Add Restrict MAPI call handling the restrictions above
6722                 - OPENCHANGE-MAPI-RESTRICTIONS torture test added to the suite.
6723                 - convenient sendmail function added to mapi_common.c
6724                 - get property size function for mapi_SPropValue added to property.c
6725                 
6726                 test --This line, and those below, will be ignored--
6727                 
6728                 M    Makefile.in
6729                 M    exchange.idl
6730                 M    torture/openchange.c
6731                 A    torture/mapi_restrictions.c
6732                 M    torture/mapi_common.c
6733                 M    libmapi/property.c
6734                 M    libmapi/IMAPITable.c
6735 2007-06-11
6736     jkerihuel
6737         [r204]
6738                 Documentation update: Perl bindings installation
6739 2007-06-10
6740     jkerihuel
6741         [r203]
6742                 - Add mapitags and mapicode support to Perl SWIG bindings
6743                 - SPropTagArray support
6744                 - SRowSet preliminary support
6745                 - new constructor/destructor for mapi objects
6746 2007-06-09
6747     jkerihuel
6748         [r202]
6749                 - IProfAdmin patch applied: having password outside of the profile
6750                 
6751                 - Perl bindings draft added to the trunk and to the build system:
6752                   --enable-swig-perl=yes
6753                 
6754                 - datarootdir fixed in libmapi.pc.in
6755 2007-06-06
6756     jkerihuel
6757         [r201]
6758                 - Add CopyMessages IDL and COPYMAIL torture implementation
6759                 - Fix man page install dir according to latest Samba4 changes
6760                 - Add datarootdir var to libmapi.pc.in and fix configure warning
6761 2007-06-01
6762     jkerihuel
6763         [r199]
6764                 convenient function which retrieve a value from a SPropValue array
6765                 given its property tag name, otherwise NULL
6766 2007-05-31
6767     jkerihuel
6768         [r198]
6769                 Patch from Brad Hards <bradh@frogmouth.net>:
6770                 openchangeclient man page updated
6771         [r197]
6772                 - Add Windows UTF8 to classic UTF8 conversion through a lexer
6773                 - openchangeclient --mailbox option changed to use it
6774                 - flex and bison support added to configure.ac
6775                 - windows_to_utf8 function added: wrapper over yyparse_utf8 routine
6776 2007-05-29
6777     jkerihuel
6778         [r196]
6779                 - features added to openchangeclient:
6780                         * --send-appointment
6781                         * --send-contact
6782                         * --send-task
6783                         * custom parameters
6784                 - openchangeclient man page updated
6785                 - new properties added to mapi-properties
6786         [r195]
6787                 - Add man pages for simple_mapi.c functions:
6788                  * GetDefaultFolder
6789                  * GetFolderItemsCount
6790         [r194]
6791                 - Remove deprecated functions from IMsgStore.c
6792                 - Update man pages documentation
6793         [r193]
6794                 Fix install rule in Makefile: add missing headers
6795                 Move callback retval from uint32_t to int
6796         [r192]
6797                 Fix notification callback retval
6798         [r191]
6799                 - Advise opnum added to the IDL
6800                 - Parts of the Notify response IDL implementation
6801                 - Add Notification support to libmapi
6802                 - Add --notifications option to openchangeclient
6803 2007-05-28
6804     jkerihuel
6805         [r190]
6806                 Patch from Brad Hards <bradh@frogmouth.net>:
6807                         - PR_BUSINESS_FAX_NUMBER 
6808                         - improves the information provided on a contact by 
6809                           mapidump_contact()
6810 2007-05-25
6811     jkerihuel
6812         [r189]
6813                 - Fix the release call in,out
6814                 - Call Release from mapi_release_object
6815                 - Add sanity check to OpenMsgStore
6816                 - clean up parts of the mapi_newmail test
6817         [r188]
6818                 EcDoDisconnect code now sounds to work properly
6819                 Tested against Exchange 2000 / Exchange 2003
6820         [r187]
6821                 - Fix SpropValue property pull problem when GetProps layout is set
6822                 - Add a dumpdata boolean to mapi_ctx_t so tools can dump hex data
6823                 - Add PR_CONTAINER_CLASS fetch to openchangeclient --mailbox
6824                 - Add debuglevel and dumpdata options support to openchangeclient
6825 2007-05-24
6826     jkerihuel
6827         [r186]
6828                 - Remove useless memory allocation in mapidump.c
6829                 - Improve mapidump_appointment
6830                 - Add sample mapidump_note
6831                 - Add --fetchitems option to openchangeclient:
6832                 This command offers an easy way to fetch calendar, contacts,
6833                 tasks, notes and mails from the Exchange server.
6834                 - Add IPF container class defines to mapidefs.h
6835                 - Add and Fix property tags
6836 2007-05-22
6837     jkerihuel
6838         [r185]
6839                 - Commit the EcDoRpc max_data patch proposed on the devel list
6840                 - Clean up folders related functions from the torture suite 
6841                 (GetDefaultFolder makes this code obsolete)
6842 2007-05-21
6843     jkerihuel
6844         [r184]
6845                 Add the --mailbox option to openchangeclient which recursively
6846                 lists the full mailbox folder hierarchy
6847         [r183]
6848                 - Add PT_SYSTTIME support to get_SPropValue_data
6849                 - Add mapidump_SPropValue_date dumping function
6850                 - Add PT_SYSTIME support to mapidump_SPropValue
6851         [r182]
6852                 - Add multi-valued SBinary_short support to mapi_SPropValue_CTR in the
6853                 IDL
6854                 
6855                 - Add GetDefaultFolder implementation to simple_mapi.c. This function
6856                 provides a convenient way to retrieve default folders ID. const
6857                 olFolder values are stored in libmapi/mapidefs.h
6858                 
6859                 - Modify the torture test suite to reflect these changes.
6860                 
6861                 - OpenMsgStore now decodes all the fid returned in the response
6862                 
6863                 - fix a bug size in libmapi/property.c
6864 2007-05-18
6865     jkerihuel
6866         [r181]
6867                 - Fix SMTP recipient in libmapi
6868                 - Add SMTP recipient support to openchangeclient
6869                 and the torture test suite
6870                 - Fix a bug in SRow_addprop
6871 2007-05-17
6872     jkerihuel
6873         [r180]
6874                 - OpenMessage IDL changed: we have a permission field.
6875                 It is now set by default to 0x3 (read/write) until we 
6876                 change OpenMessage prototype.
6877                 
6878                 - Add a sanity check to MAPIInitialize when no profdb
6879                 is specified
6880 2007-05-15
6881     jkerihuel
6882         [r179]
6883                 Remove remaining MAPISTATUS and replace them with enum MAPISTATUS
6884         [r178]
6885                 - SetReadFlags IDL and implementation added to libmapi
6886                 - Warning fixed in emsabp.h
6887         [r177]
6888                 Fix a bug in openchangeclient when attachments are using
6889                 PR_ATTACH_LONG_FILENAME rather than PR_ATTACH_FILENAME to store
6890                 attachment filename.
6891         [r176]
6892                 Patch supplied by Brad Hards <bradh@frogmouth.net> which renames 
6893                 private structure member to private_data for C++ compatibility.
6894         [r175]
6895                 Add libmapi/simple_mapi.c designed to hold convenient 
6896                 functions for application development.
6897                 
6898                 - GetFolderItemsCount added which returns the number of
6899                 total and unread messages for a given folder.
6900 2007-05-14
6901     jkerihuel
6902         [r174]
6903                 - Fix a body openchangeclient bug which now prevent openchangeclient
6904                 from segfault when no body is specified.
6905                 - Add GetDefaultProfile call to exchange2mbox for the default
6906                 operation.
6907                 - Improve fuzzer_msgtore output
6908 2007-05-13
6909     jkerihuel
6910         [r173]
6911                 Add a fuzzer torture test on OpenMsgStore which
6912                 test all the possible max_data value.
6913                 
6914                 Should help to understand if libmapi fails because
6915                 of max_data or not. 
6916 2007-05-12
6917     jkerihuel
6918         [r171]
6919                 exchange2mbox improved:
6920                 - tdb dependency removed
6921                 - message-id are now stored in the profile database
6922                 - it now mirrors deletion operation from the mbox file back to the
6923                 Exchange server.
6924                 - man page updated to reflect these changes
6925         [r170]
6926                 - GetProfileAttr function prototype modified. It now returns the
6927                 results count for the given attribute and store values in a string
6928                 array.
6929                 - GetProfileAttr man page updated to reflect these changes
6930                 - Fix mapiprofile attribute search command
6931                 - migrate from open/write calls to stream ones in exchange2mbox
6932     texane
6933         [r172]
6934                 newmail torture + notifications implementation
6935                 
6936                 -- texane
6937 2007-05-11
6938     jkerihuel
6939         [r169]
6940                 Fix the SambaXP live demo segfault: When an ambiguous recipient is
6941                 specified, it now skips the name properly and maintain a correct
6942                 SRowSet.
6943         [r168]
6944                 - Fix a bug when storing attachments into mbox
6945                 - Add default path support to exchange2mbox
6946 2007-05-10
6947     jkerihuel
6948         [r167]
6949                 - Update libmapi version according to the roadmap
6950                 - Fix nspi_resolvenames to use default profile database and profile
6951 2007-05-09
6952     jkerihuel
6953         [r166]
6954                 - Add default profile database and profile support in the torture suite.
6955                 - Fix a bug in mapidump_task
6956 2007-05-08
6957     jkerihuel
6958         [r165]
6959                 - Change MAPILogonEx to MAPILogonProvider and avoid potential
6960                 emsmdb endpoint related problem
6961                 - add sanity check on global session pointer
6962 2007-05-06
6963     ali
6964         [r164]
6965                 Merged MAILOOK-branch changes r64:163 into the trunk.
6966 2007-03-04
6967     jkerihuel
6968         [r79]
6969                 Remove ChangeLog, use svn log instead ;p
6970 2007-02-13
6971     jkerihuel
6972         [r63]
6973                 - libmapi includes moved from libmapi/include to libmapi
6974                 - Remove arguments from prototype definitions generation in mkproto.pl
6975                 - __BEGIN_DECLS __END_DECLS support in header files
6976                 - united libmapi/libmapi.h header file
6977                 - openchange.h header removed
6978                 - PIDL generated files moved to gen_ndr
6979                 - compilation rule for libmapi header installation added
6980                 - useless torture tests removed
6981                 
6982                 jkerihuel.
6983 2007-02-12
6984     jkerihuel
6985         [r62]
6986                 Replace OpenProperty and ReadAttach calls with OpenStream and ReadStream call
6987                 Add GetAttachmentTable call
6988                 
6989                 jkerihuel.
6990 2007-02-09
6991     jkerihuel
6992         [r58]
6993                 Remove -Werror CFLAGS until I figure out how to fix
6994                 our problem definitively.
6995                 
6996                 Remove static from dcesrv_exchange.c functions definition
6997                 
6998                 jkerihuel.
6999     texane
7000         [r61]
7001                 . reimplement GetProps
7002                 . retrieve attachment size
7003                 . modify fetchmail and fetchattach torture
7004                 
7005                 -- texane
7006         [r60]
7007                 
7008                 . add GetPropList to exchange.idl
7009                 . add GetPropList implementation to IMAPIProp.c
7010                 -- texane
7011         [r59]
7012                 - Add fetchattach torture; Attachment size is not yet
7013                 defined and 42 is used.
7014                 - add 3 new EcDoRpc opnums:
7015                         - OpenAttach
7016                         - ReadAttach
7017                         - OpenProperty
7018                 
7019                 -- texane
7020 2007-02-08
7021     jkerihuel
7022         [r57]
7023                 Forgot to add IMAPISession.c
7024                 
7025                 jkerihuel.
7026 2007-02-07
7027     jkerihuel
7028         [r56]
7029                 Remove spurious warnings at compile time and
7030                 add -Werror -Wstrict-prototypes to CC.
7031                 
7032                 jkerihuel.
7033         [r55]
7034                 Dispatch libmapi functions into filenames matching
7035                 the MAPI interface they belong to.
7036                 
7037                 jkerihuel.
7038         [r54]
7039                 Fix the attach issue by value and add torture test to
7040                 the openchange torture suite.
7041                 
7042                 jkerihuel.
7043     texane
7044         [r53]
7045                 attachment torture test implementation
7046                 
7047                 -- texane
7048 2007-02-06
7049     jkerihuel
7050         [r52]
7051                 Add a null element at the end of MAPI_REQ array
7052                 so we can exit from the loop in ndr_print_mapi_request
7053                 
7054                 jkerihuel.
7055         [r49]
7056                 - Add the DeleteMessages IDL
7057                 - New torture tests added:
7058                         * OPENCHANGE-MAPI-SENDMAIL
7059                         * OPENCHANGE-MAPI-DELETEMAIL
7060                 
7061                 These are experimental implementation
7062                 
7063                 jkerihuel.
7064     texane
7065         [r51]
7066                 subject option for delete message torture test
7067                 
7068                 -- texane
7069         [r50]
7070                 added (recipients == null) check
7071                 added default body
7072                 added default subject
7073                 -- texane
7074 2007-02-03
7075     jkerihuel
7076         [r48]
7077                 Add NspiResolveNames and the associated torture test.
7078                 
7079                 jkerihuel.
7080 2007-02-01
7081     jkerihuel
7082         [r47]
7083                 Fix nspi decoding problem due to the usage of
7084                 a hyper instead of a dlong.
7085                 
7086                 jkerihuel.
7087         [r46]
7088                 - Add a preliminary NspiUpdateStat IDL
7089                 - Fix the new server code convention naming 
7090                 (function prefixed with dcesrv_)
7091                 - Fix a security bug in emsabp provider code
7092                 
7093                 jkerihuel.
7094         [r45]
7095                 Fix the allocation memory for the EcDoRpc_{MAPI_REQ,MAPI_REPL} pointer.
7096                 
7097                 jkerihuel.
7098         [r44]
7099                 Add SetProps [out] support.
7100                 
7101                 Temporary allocation pb fixed in ndr_pull_mapi_response.
7102                 Final fix in next commit.
7103                 
7104                 jkerihuel.
7105 2007-01-31
7106     jkerihuel
7107         [r43]
7108                 Fix the SetProps [in] IDL
7109                 
7110                 New mapi call support added:
7111                 - ModifyRecipients [in,out]
7112                 - SubmitMessage [in,out]
7113                 
7114                 jkerihuel.
7115         [r42]
7116                 Add IDL support for the following mapi calls:
7117                 
7118                 [in] CreateMessage
7119                 [in] SetProps
7120                 
7121                 The SetProps IDL is still experimental and the
7122                 content blob should be decoded more than the current 
7123                 IDL does.
7124                 
7125                 jkerihuel.
7126 2007-01-30
7127     jkerihuel
7128         [r41]
7129                 Fix the align problem in QueryRows reply blob
7130                 Add some printing output and clean useless DEBUG.
7131                 
7132                 jkerihuel.
7133 2007-01-29
7134     jkerihuel
7135         [r40]
7136                 Fix the OpenMessage IDL and add ndr_print support
7137                 to the MAPI-FETCHMAIL torture test so we can
7138                 read information.
7139                 
7140                 jkerihuel.
7141         [r39]
7142                 Commit of the first experimental but working implementation
7143                 of the MAPI-FETCHMAIL torture test able to retrieve mails
7144                 from an Exchange Server.
7145                 
7146                 jkerihuel.
7147         [r38]
7148                 - Add a preview implementation of cached data system for multi MAPI calls requests
7149                 - Add SetColumns and QueryRows calls to mapi.c + mapi_fetchmail torture test
7150                 - Enhance some MAPI calls IDL
7151                 - Fix some pull/print functions according to error_code and row_count values
7152                 
7153                 jkerihuel.
7154 2007-01-28
7155     jkerihuel
7156         [r37]
7157                 Manual handling of EcDoRpc_MAPI_REPL pull and print function.
7158                 When a mapi call returns an error_code different from MAPI_E_SUCCESS,
7159                 we have to stop processing the function IDL since no parameters follow.
7160                 
7161                 jkerihuel.
7162         [r36]
7163                 add MAPISTATUS to EcDoRpc_MAPI_REPL
7164                 add mapi library code for:
7165                 - OpenFolder
7166                 - Release
7167                 - GetContentsTable
7168                 - GetReceiveFolder
7169                 
7170                 add mapi calls described above to MAPI-FETCHMAIL torture test
7171                 
7172                 jkerihuel.
7173         [r35]
7174                 add mapi_response to emsmdb_transaction so we can get the results
7175                 check the mapi call error core in OpenMsgStore
7176                 
7177                 jkerihuel.
7178         [r34]
7179                 Add MAPISTATUS field in each mapi calls
7180                 Add new MAPICODE (MAPI_E_CALL_FAILED)
7181                 
7182                 jkerihuel.
7183         [r33]
7184                 Fix the mapi_request push function
7185                 Add a first approach to the MAPI client side library
7186                 Add a first approach of the MAPI-FETCHMAIL torture test
7187                 Fix the smb.conf.example with new fields and remove Samba4 unused ones
7188                 
7189                 jkerihuel.
7190 2007-01-27
7191     jkerihuel
7192         [r32]
7193                 Initial mapidump commit
7194                 OpenMessage IDL fixed
7195                 
7196                 jkerihuel.
7197 2007-01-24
7198     jkerihuel
7199         [r31]
7200                 Unused and dummy code removed
7201                 
7202                 jkerihuel
7203         [r30]
7204                 - Remove the MAPI decoding TDR layer and associated functions
7205                 - Add MAPI decoding in exchange.idl at NDR layer
7206                 - mapi_request / mapi_response pull/print ok
7207                 - implement subcontext for async response decoding in
7208                 some EcDoRpc IDLs.
7209                 - new MAPITAGS added related to Message envelope properties
7210                 - clean up the code and remove unused files
7211                 
7212                 - Add new MAPI opnums and associated IDL:
7213                         * [in]     Release          (opnum=0x1)
7214                         * [in,out] OpenFolder       (opnum=0x2)
7215                         * [in,out] OpenMessage      (opnum=0x3)
7216                         * [in,out] GetContentsTable (opnum=0x5)
7217                         * [in,out] GetProps         (opnum=0x7)
7218                         * [in,out] Secolumns        (opnum=0x12)
7219                         * [in,out] QueryRows        (opnum=0x15)
7220                         * [in,out] GetReceiveFolder (opnum=0x27)
7221                         * [in,out] OpenMsgStore     (opnum=0xFE)
7222                 
7223                 ** WARNING  **
7224                 
7225                 1. Assumption
7226                 ==============
7227                 For IDL with unknown fields followed the IDL may 
7228                 change and the mapping of these unknown bytes incorrect. 
7229                 It's just based on assumptions and results of the different
7230                 wireshark captures.
7231                 
7232                 2. Broken Code
7233                 ==============
7234                 - The mapi_request / mapi_response pull function
7235                 - emsmdb torture tests and libmapi/emsmdb.c
7236                 
7237                 All this code is currently broken and will be fixed
7238                 when we start writing the new emsmdb torture suite
7239                 using the new API.
7240                 
7241                 
7242                 jkerihuel
7243 2007-01-22
7244     jkerihuel
7245         [r29]
7246                 Fix ndr_pull_MAPI_DATA function
7247                 
7248                 jkerihuel.
7249         [r28]
7250                 - Add new mapi opnums
7251                 - Add a first IDL implementation for OpenMsgStore out
7252                 
7253                 jkerihuel.
7254         [r27]
7255                 - Enhance the handles id support in MAPI_DATA
7256                 - Remove unused code
7257                 
7258                 EMSMDB encoding/decoding is currently broken.
7259                 It will be fixed when we start the client side
7260                 mapi library implementation.
7261                 
7262                 jkerihuel.
7263 2007-01-21
7264     jkerihuel
7265         [r26]
7266                 - Change IMAPISession.idl to mapi.idl
7267                 - enhance mapi content payload decoding (multiple calls supported)
7268                 - add sub EcDoRpc opnums and IDL for setcolumns (in)
7269                 
7270                 jkerihuel
7271     pkhun
7272         [r25]
7273                 
7274                 - memory leak fixed
7275                 - new function on emsabp provider for entry id generation
7276                 
7277                 pkhun
7278 2006-12-27
7279     jkerihuel
7280         [r24]
7281                 Old mapitables code deleted and merge of the samdb
7282                 code used in openchange (emsabp_result_guid function).
7283                 
7284                 The following revision compiles and work fine with
7285                 Samba4 revision 20341
7286                 
7287                 jkerihuel.
7288 2006-12-17
7289     pkhun
7290         [r23]
7291                 
7292                 Instance keys management changed (we now use struct instance_key and uint32_t instead of an array of 4 uint8_t)
7293                 
7294                 pkhun
7295 2006-12-15
7296     jkerihuel
7297         [r22]
7298                 - Fix compilation warnings based on patches provided 
7299                 by Stefan Huehner <stefan@huehner.org>
7300                 - Fix the DSO issue for x64 platforms
7301                 - Add the evolution plugin in the compilation process
7302                 - remove the mapidump code (obsolete and replaced with ndrdump usage)
7303                 
7304                 jkerihuel.
7305 2006-12-13
7306     jkerihuel
7307         [r21]
7308                 evolution plugin moved into client/evolution for
7309                 a correct and extensible naming convention.
7310                 
7311                 EcDoRpc IDL modified:
7312                 - opnum are now 8 bits
7313                 - action enum added 
7314                 - EcDoRpc ndrdump output enhanced
7315                 
7316                 IMAPISession IDL modified:
7317                 - Change OpenMsgStore function name to MAPI_RPC_LOGON
7318                 for the 0xFE opnum operation.
7319                 
7320                 Fix warnings in the code.
7321                 
7322                 jkerihuel.
7323 2006-12-09
7324     loic
7325         [r20]
7326                 Openchange-Evolution plugin commit
7327                 I reorganized openchange evolution plugin source tree.
7328                 Now we have one directory for the camel-openchange provider, and one for the openchange eplugin.
7329                 Everything can be found in the oc-evolution directory.
7330                 This is code a minimalist implementation of the camel provider for evolution.
7331                 It will make appears an openchange server type in the server list handled by evolution.
7332                 Still have to fix the ./configure to create a Makefile though.
7333 2006-12-05
7334     jkerihuel
7335         [r19]
7336                 Fix the memory allocation problems in the emsmdb torture test
7337 2006-12-03
7338     jkerihuel
7339         [r17]
7340                 Removed ascstr and directly add it to the IDL
7341         [r16]
7342                 Fix the NspiQueryRows response where strings
7343                 containing the user email address have to be
7344                 NULL terminated.
7345                 
7346                 The EMSABP provider is working ;-)
7347     pkhun
7348         [r18]
7349                 
7350                 The emsabp provider is now able to return multiple users
7351                 when searching for part of a username.
7352                 
7353                 pkhun
7354 2006-11-30
7355     jkerihuel
7356         [r15]
7357                 Fix the networkAddress binding strings for the
7358                 Exchange object in the configuration db. The
7359                 SERVER variable based on exchange:server had
7360                 been added while we needed the NETBIOSNAME one
7361                 
7362                 Fix a segmentation fault in emsabp.c due to an
7363                 unchecked pointer res->msgs. This was causing
7364                 smbd to segfault when the supplied legacyExchangeDN
7365                 sent by the user wasn't present in the database.
7366                 
7367                 jkerihuel
7368 2006-11-27
7369     jkerihuel
7370         [r14]
7371                 Remove unused files and directory.
7372                 Update Makefile.in and remove storedb compilation
7373                 rules.
7374     pkhun
7375         [r13]
7376                 
7377                 Fixed :
7378                 - NspiQueryRows
7379                 - NspiDNToEph
7380                 - NspiGetProps
7381                 - provisioning (for the legacyExchangeDN of the server entry)
7382 2006-11-26
7383     jkerihuel
7384         [r11]
7385                 Fix the build and remove dynconfig samba lib
7386                 dependency.
7387                 
7388                 jkerihuel
7389     pkhun
7390         [r12]
7391                 Unused ldif files removed + Schemas definitions updated
7392                 
7393                 pkhun
7394         [r10]
7395                 Provisionning fixed (old ldif files cleaned)
7396                 
7397                 pkhun
7398 2006-11-22
7399     jkerihuel
7400         [r9]
7401                 add tags rules to the Makefile
7402                 
7403                 jkerihuel.
7404         [r8]
7405                 add the \\pipe\\protected_storage named pipe
7406                 to exchange_nsp bindings
7407                 
7408                 jkerihuel.
7409 2006-11-21
7410     jkerihuel
7411         [r7]
7412                 Add a dcerpc_server module in charge of the 
7413                 exchange interfaces registration. When this module
7414                 is loaded prior the remote endpoint, it let us proxify 
7415                 the exchange_nsp and exchange_emsmdb ones.
7416                 
7417                 Change the exchange_nsp ncacn_np binding string to
7418                 reflect how Exchange server is currently using it.
7419                 
7420                 Conform the IDL with latest pidl requirements and
7421                 move the MAPI_DATA structure from exchange_nsp to
7422                 exchange_emsmdb.
7423                 
7424                 jkerihuel
7425 2006-11-14
7426     jkerihuel
7427         [r6]
7428                 Create the $prefix/modules/{dcerpc_server,torture}
7429                 directories.
7430                 
7431                 This fix openchange make install rule.
7432                 
7433                 jkerihuel.
7434         [r5]
7435                 This commit conforms openchange with the Samba4
7436                 trunk and fix the autotools checks.
7437                 
7438                 I've modified the openchange torture file to
7439                 match the current smbtorture API and the
7440                 OPENCHANGE-NSPI-PROFILE test was successful.
7441                 
7442                 The NSPI ndrdump suite has fully been tested and
7443                 works correctly.
7444                 
7445                 jkerihuel.
7446 2006-11-05
7447     jkerihuel
7448         [r3]
7449                 This commit fix the build system:
7450                 - add the -ldynconfig dependency to LDFLAGS
7451                 - add header checks in configure.ac. We need them
7452                 for the moment cause Samba4 doesn't install some headers
7453                 required by openchange core
7454                 - fix the make install
7455                 
7456                 - remove autotools generated files and definitively
7457                 ignore them with the .svnignore file
7458                 
7459                 - keepref keyword removed from exchange_nsp interface
7460                 
7461                 jkerihuel.
7462     pkhun
7463         [r4]
7464                 + aclocal.m4 removed from repository
7465                 + provisionning fixed
7466                 
7467                 pkhun.