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