On Wed, 4 Oct 2006, René Berber wrote:
I do use a c-client.cf :

  I accept the risk
  # Defaults in use
  set new-folder-format mbox
  set mail-subdirectory mail
  # For testing
  set disable-plaintext 0

"set new-folder-format mbox" is neither a reasonable nor correct thing to set. That command means "when creating a mailbox that isn't inbox, create the file mbox in traditional UNIX format."

The c-client library did exactly what you told it to do. Strictly speaking, "set new-folder-format mbox" is undefined; mbox is an INBOX-only format and INBOX always exists, so there's no such thing as a "new mailbox in mbox format". So the random thing that it does can change from release to release.

/etc/c-client.cf has many possible settings that are neither reasonable nor correct. There is no checking in this file to protect you from a silly setting such as "set new-folder-format mbox". That's what "I accept the risk" is all about; you are taking responsibility for whatever you put into that file.

I suspect that you intended to do something else than force all new mailbox creates to create a file named mbox. I have two guesses as to what you intended:

(1) If you want to use traditional UNIX mailbox format, that is "set new-mailbox-format unix". But since that's the distributed c-client default, there's no reason to do that unless you had built the software with another default and want to undo that build default.

The build default for new mailbox formats is set in imap-2006b/src/osdep/unix/Makefile with the line
        CREATEPROTO=unixproto
The most common settings are to change from unixproto to mbxproto or mixproto. Changing this setting in the makefile is the recommended way to do this.

Ignore APPENDPROTO. Changing APPENDPROTO is no longer meaningful, useful, or correct in modern mailbox formats. Let me emphasize: setting APPENDPROTO to mixproto or mbxproto does NOT do anything useful and DOES break things.

(2) If you want to force the creation of an mbox file when INBOX is opened, there is currently no configuration option to do that. Furthermore, it is a VERY bad idea, since it would preclude the use of any other mailbox format as INBOX. It is MUCH better to have the delivery process (procmail or whatever) write to mbox than to force the issue in the c-client library.

If you really want to do it in spite of my warnings, the following patch may work (no promises):

In imap-2006b/src/osdep/unix/unix.c, rewrite routine mbox_valid():

DRIVER *mbox_valid (char *name)
{
                                /* seize INBOX */
  if (!compare_cstring (name,"INBOX") &&
      (unix_valid ("mbox") || unix_create (NIL,"mbox")) return &mboxvalid;
  return NIL;
}


-- Mark --

http://panda.com/mrc
Democracy is two wolves and a sheep deciding what to eat for lunch.
Liberty is a well-armed sheep contesting the vote.
_______________________________________________
Imap-uw mailing list
[email protected]
https://mailman1.u.washington.edu/mailman/listinfo/imap-uw

Reply via email to