Mark Crispin wrote:
This message is to announce the release of the University of Washington IMAP toolkit version 2006 (imap-2006).

Wow - the stable release of v2006 has come out sooner that I had ever hoped. Good job Mark! I am sure the UW IMAP community all collectively cheered when they saw your email.

I assume that many others like myself will be migrating hosts of
users from mbx to mix in the near future to take advantage of all the gains to be had.

As such, this updating of mail folders will need to be done keeping uid and uid validity in tact so that pop users don't end up re-downloading the entire folders, etc. Mark has posted some notes on how to modify mailutil to do this. I have copied these below for reference. Whoever makes and tests these updates first ... can you update this list with a patch for everyone else to use? I myself will probably not get to this for a couple of weeks as we need to make some architectural changes to other things in our system to support non-flat-file folders correctly. Mark, you consider this "too special purpose, and too dangerous" to make part of the distributed release. Are there any special considerations we should know about that we would want to consider as reasons think it is a "good idea" for these to change when we bulk update all our users to the new formats?

Thank you,

-Erik Kangas
LuxSci.com

~~~~~~~~~~~~~~~~~~~~~~~~~~~

The latest imap-2006 development snapshot on
   ftp://ftp.cac.washington.edu/mail/imap-2006.DEV.tar.Z
has an extended version of mailutil that allows the -kw (or -kwcopy) flag.

When you use this flag in any command which copies messages, an attempt is made to define all keywords that are defined in the source mailbox into the destination mailbox.

For example,
   mailutil copy oldbox -kwcopy #driver.mbx/newbox
will copy all the messages from oldb

~~~~~~~~~~~~~~~~~~~~~~~~~~~


* Mark: when MIX is released and we work on migrating users to it, will it be at all possible to convert an mbx -> mix and preserve both the UIDs and the UID Validity settings? I know you have -kwcopy in the new mailutil. Can it be possible to do something similar for uid/uidvalidity?

It isn't be possible to do this with the distributed version of mailutil. I consider it to be too special purpose, and too dangerous, to be something that I am comfortable with putting in the distributed version. However, it shouldn't be a particularly difficult change to make as a local hack.

For example, the following is a disgusting kludge, but it should do the trick. You probably want to do this in a separate copy of the source code just for this special hacked version of mailutil.

(1) Create two new global variables in mailutil.c, newuidvalidity and newuidlast.

(2) Early in routine mbxcopy() in mailutil.c, do
 newuidvalidity = source->uid_validity;
 newuidlast = source->uid_last;

(3) In mix.c, prototype newuidvalidity and newuidlast as extern.

(4) In mix_create() in mix.c, change
 fprintf (f,MTAFMT,now,0,now);
to
 fprintf (f,MTAFMT,newuidvalidity,0,now);

(5) Finally, in mix_append(), just before the lines that read:
         ret = (mix_meta_update (astream) &&
                mix_index_update (astream,&idxf,LONGT) &&
                mix_status_update (astream,&statf,LONGT));
add
     if (astream->uid_last <= newuidlast) aastream->uid_last = newuidlast;

Please let me know how it goes.
_______________________________________________
Imap-uw mailing list
Imap-uw@u.washington.edu
https://mailman1.u.washington.edu/mailman/listinfo/imap-uw

Reply via email to