[Kroupware] Re: client compatibility

Henning Holtschneider kroupware@mail.kde.org
Mon, 20 Jan 2003 21:55:21 +0100


--On Montag, 20. Januar 2003 15:38 -0500 "Kervin L. Pierre" 
<kervin@blueprint-tech.com> wrote:

> In the end I think it's a harder fight tricking outlook into thinking
> that it's speaking to an exchange server or something similar, than it is
> to provide alternate default MAPI service providers for the outlook
> client.

Did you read the article in the February issue of Linux Journal? I think 
the most valuable part is this:

----- snip -----
In Outlook's Workgroup mode, or when connected to an Exchange server, its 
data moves around in binary form. That binary data becomes impossible to 
recognize by an uninformed observer.

While researching, I found a developers' site on SourceForge.net that was 
porting Open DCE to Linux. I e-mailed one of the developers who wrote back 
and mentioned that the Open Group contributed the code.

I went to the Open Group's web site, searched the archives and found an old 
article mentioning that Microsoft had licensed DCE. We downloaded the Open 
DCE code and, using the engine, shook hands with Outlook and then Exchange. 
We knew more about the transport protocol as a result. We also understood 
the presence of binary data streams.

What we discovered is Microsoft uses the distributed computing environment 
(DCE) as its transport when using Exchange and Outlook in the Corporate 
Workgroup mode. Microsoft provides a programming interface on top of DCE, 
which it calls MAPI. Still, underneath MAPI exists an open standards-based 
protocol (DCE), which Microsoft bought from the Open Group and modified.

One of the default functions in DCE automatically translates ASCII text 
into binary objects. Microsoft leaves the binary object undocumented. So 
most of the MAPI properties programmers tag wind up as binary code they 
would not recognize. To make matters a little more complex, Microsoft 
embeds the binary property code in a large array of null binary data, thus 
hiding it.

We began to understand the transport, but we realized that Outlook sent 
MIME attachments to other Outlook clients. Those attachments did not 
transform themselves into binary data. We concluded that Outlook also used 
encapsulation to pass attachments around, which led us to the TNEF object.

----- snap -----

hh