Subject: re: MMDF format mailboxes

From: Mark Crispin <[email-masked]>
Date: Fri, 1 Apr 1994 00:37:38 -0800 (PST)

On Wed, 30 Mar 1994 16:37:23 +0100 (BST), Andy Powell wrote:
> Now the bad news...  I can't get the mmdf driver to work at all on our
> MMDF mailboxes.  Is anyone using these drivers with MMDF update 43 (or
> any other version for that matter)?  The VALID macro (from mmdf.h) is
> looking for a mailbox with messages separated by 4 CTRL-A's, then a
> newline, then a line like "From blah blah blah".  Our mailboxes here
> don't look like that :-(.  They just have the 4 CTRL-A's followed by a
> newline - then you go straight into the message.
>
> I've tried making the VALID macro much simpler (i.e it just checks for
> "\001\001\001\001\n") but unfortunately routines like mmdf_parse() appear
> to want to do things with that non-existant From line :-(.
>
> I think I need some explanation of how the "From " line is being used
> and whether mmdf driver routines can be written that don't rely on
> having such a line at the start of each message.  Do any of the other
> drivers not rely on such a line?

I do not have access to any MMDF systems and have had to guess what works and
what does not work from contributed code.  My surmise is that some MMDF
systems write a standard UNIX mbox format ``From '' line after the CTRL/A's,
and others do not.

c-client parses a message's ``fast internal date'' from the ``From '' line.
If it is not there, then there is no way to get a ``fast'' internal date.  I
guess it's perhaps alright to get it to the current date; it may cause false
date displays in some programs that use c-client but it can't be helped.  Pine
should be OK though.

Since I don't have access to any MMDF systems, nor have I ever gotten a
straight story on how MMDF works, there isn't much more I can add; you'll
probably have to do some hacking.  Let me know if there is anything I can do
to help out.

> BTW, I've been working with the c-client libraries from imap-3.3.  You
> should note that both the mmdf and bezerk drivers include (different)
> definitions of the VALID macro.  This may account for the difficulties in
> trying to use both drivers together?

No, there should be no problem with having both drivers included, since only
the bezerk driver includes bezerk.h and only the mmdf driver includes mmdf.h.
The mmdf driver derived from the bezerk driver (if you do a diff you'll see
that they are quite similar), hence the similarity in names.

-- Mark --