#!/bin/cat # $Id: TODO,v 1.73 2010/02/07 22:03:06 gilles Exp gilles $ TODO file for imapsync ---------------------- Post on newsgroup comp.mail.imap when a new release comes. http://groups.google.fr/group/comp.mail.imap Post on imapsync mailing-list when a new release comes. Start a wiki for imapsync. Add a best practice migration tips document. Fix the mailing-list archive bug with From at the beginning of a line http://www.linux-france.org/prj/imapsync_list/msg00307.html Add "output to reflect everything that imapsync was doing". Not everything but flag synchronization will be nice" Add and option to sync to & from files. Add an option to make imapsync automatically reconnect when the connection drops Add an --aclregextrans2 flag. "Today we discovered, that Cyrus and Dovecot use different characters for their ACLs. Syncing ACLs vom Cyrus to Dovecot (at least 1.2) doesn't work. Cyrus uses c and d, Dovecot uses k and x instead." Peer Heinlein. Add --subscribeall option. Is it possible to have a option that subscribes all folders regardless of subscription on the source server? Perhaps --subscribeall? Add a --delete2folders option "When syncing mailboxes with imapsync, is there a way to delete folders in the target account? The --delete2 option only seems to delete individual messages, not folders." Add different levels of output to see clearly the problem by default. Add option --exclude_messages_with_flag Add more information about skipped messages. There was a time imapsync took the whole message when the header was bad (empty). But it was bad for speed with big messages (nowadays there are always big messages in mailboxes). May be the best is to take a part of the body. Have to code this. Add Rick Romero patch with --quiet No output at all --showstats intended for use with --quiet Take a look at Mail::IMAPTalk Simon Bertrang said "way better performance, less problems, easier to use and no issues so far". Sounds good! Add an option to implement the faq entry about copying a contact folder. imapsync doesn't report well. It should says "I had to sync 123 messages but I could transfer only 99 messages" Fix bug "not possible to use space in the imap password" Add kerberos authentification Add NOOP commands to avoid timeouts. Add a --pidfile option. Write a clean_exit() replacing each die() or exit() call. Add a --skipheaderinfolder option See the code patches/imapsync_Cvitkovich_pidfile_tmpfile Fix this: > - Erreur avec la traditionnelle différence entre Windows > et LInux sur les retour-chariots : le calcul de la > longueur du message ou des entêtes à envoyer au serveur > cible n'est pas bon sur une machine Windows. > Ci-dessous la modif : > > # No NL Count on Windows my $length = ( -s $file ) + $bare_nl_count; > my $length = ( -s $file ); Add stdin/stdout filter before transfer: "Now i asked me, how to modify your perl program to work with that - in example, to write each mail to stdout, pipe that to the convertion program, and read the result from stdin - and this all before the mail will transfer to the target imap-server" Fix bug with folder names starting with an asterisk: *Archiv Sending: 220 SELECT *Archiv/Support/foobar Read: 220 BAD Protokollfehler: "Invalid folder specified in SELECT command" Add automatic convertion or detection when separator inversion produces an invalid character. From uw to cyrus, for example : FoldA/FoldB.ext -> FoldA.FoldB/ext Compare speed between 1.182 and 1.217 "un mailbox de 90MB, ~2400 fichiers prends 80s avec la version 1.182 vs 250s avec la version 1.217". Marc Jauvin Add LITERAL+ [RFC 2088] support to imapsync. Add an entry to http://lsm.execpc.com/lsm/ See template lsm.imapsync Add an option to tell imapsync that the domain is changing and have it replace the domain in all user names that are related to ACLs. See patches/imapsync-acls-users Use examine() instead of select() in --dry mode. Add a method doing the switch automagicaly. Add --verbose from Kjetil jumbo patch. Read the IMAP RFC http://www.faqs.org/rfcs/rfc3501.html Add debian packaging in the Makefile. Write to the debian maintener about that. Interface with external software like procmail Read: http://www.washington.edu/imap/documentation/commndmt.txt.html Add cyrus link about INBOX. namespace http://asg.web.cmu.edu/cyrus/download/imapd/altnamespace.html Explain expunge behavior. DONE. Be "FLAGS.SILENT" the normal behavior instead of "+FLAGS.SILENT". DONE. Add TLS support with patches/imapsync-1.217_tls_support.patch USELESS. Make --skipheader be multiple. Useless since we can use the or perl regex '^X-|^Date|^From' USELESS. Add a --tmpfile option. DONE. Add --justlogin options to check usernames and passwords. DONE. Add a --tmpdir option. DONE. Fix bug "Found that if folders have a space at the end of the name, it will not create the folder name on the new server, nor will it copy that folder's email." Added regression test checking this. Could not reproduce this bug. Seems to be a old imapsync bug with 2.2.9 DONE. (contacted Date::Manip maintener) Fix bug with Date::Manip 6.02 DONE. Explain howto change only the header with --regexmess DONE. Change IsUnconnected behavior. If IsUnconnected then print stats and die. Avoid logout. DONE. Remove --password "secret" in outpout. DONE. Make "--delete 2" be a fatal error. DONE. Write to zimbra coders about the date presentation: Sorting by default by internal date is bad with migrations and delayed arrivals. An user option would be good. DONE. Add failure return code in case of last FOLDER if $from->IsUnconnected(); last FOLDER if $to->IsUnconnected(); See Phil Lobbes messages (18 Sep 2008) Subject: BUG: imapsync may silently disconnect leading to unmigrated data without warnings DONE. Fix bad english language. DONE. Add a better test to check non existing folders on destination server. (status and select are bad). DONE. Fix the buggy --include behavior with no --folder --folderrec or --subscribed. DONE. Update the distribution list including imapsync in the INSTALL chapter. Also in README. DONE. Start FAQ entries about good options with such imap server. DONE. Talk about mbox and maildir format when "Invalid header" problem is encountered. (See FAQ "Invalid header") DONE. Look at http://barnson.org/node/81 An old blog about imap migration. DONE. Normally, "no header used or found" means imapsync found a message with no header. It may be a bad message with really no header or it may be a imap server problem, the server gives no header for this message. In that case imapsync gets the whole message to see if there is the same on the other side. It slows the transfer of course. I think I'll change imapsync behavior and let it give up those bad messages missing an header. DONE. Make --syncinternaldates turn on by default DONE. Check imapsync with gmail (dates problem?). DONE. Start an imap internet scan project. DONE. Fix --ssl --justconnect bug DONE. Fix --ssl needs --authmech login with gmail. Why? DONE. Try a 50Mo message transfer (slow ?) fast ! DONE. Add my amazon wishlist link. DONE. Remove file rfc2342.txt "IMAP4 Namespace" DONE. Add an --exactsync option to remove target messages that are not on source. Maybe --delete2 is a better name. DONE. Fix the "word too large" or "Command line too long" bug with some imap servers. DONE. Add features from Herman (patch against 1.139 and again with 1.156 by Kjetil Torgrim Homme) - Support for authenticating as different (admin) user - Support for different auth mechanisms (we needed PLAIN) DONE. Make --include --exclude options possibly be a list. DONE. Look at http://freshmeat.net/projects/freshmeat-submit/ DONE in FAQ.Talk about : "I think notes is right but MS Eudora is bad with dates. (netscape or thunderbird is ok with dates) use the option --syncinternaldates " DONE. Create a imapsync mailing list. May be I won't since we can use comp.mail.imap http://groups.google.fr/group/comp.mail.imap to talk about imapsync DONE. Add a --recurse option when --folder option is used. No I won't since this feature can be done by doing a --include '^INBOX.MyFolder' Yes done with --folderrec Done. Look at comp.mail.imap http://groups.google.fr/groups?q=imapsync In fact I set up an google alert on imapsync so I read any posted question about imapsync posted to any group followed by google. DONE. Add usage about --regextrans2 To remove INBOX. in the name of destination folders: --regextrans2 's/^INBOX\.(.+)/$1/' To sync a complete account in a subfolder called FOO: --regextrans2 's/^INBOX(.*)/INBOX.FOO$1/' DONE. Make the --justconnect a real "just connect" connection, not a auth connection like it is now. DONE. Add --prefix1 option. Don't know what is the need exactly. The need is to remove this prefix when building target folder names. DONE. Read the IMAP RFC http://www.rfc-editor.org/rfc/rfc2342.txt Respect the NAMESPACE behavior like the RFC. DONE. Add in doc: Does imapsync support IMAP over TLS (IMAPS)? DONE. Add the licence of each IMAP software (the free ones). DONE. Add MailEnable version 1.54 if Javier Gomez succeed. He failed. MailEnable is an early stage developpment IMAP server. DONE. Update doc with ALL options. DONE. Think about speed. DONE. Pb if "to separator" is in "from folder" name. Have to choose a caracter != to separator and not in from folders. The solution can be to just exchange the two separator caracters. DONE. Look at the separator() function in Mail::IMAPClient DONE. Add SASL support MD5 : DIGEST-MD5 and CRAM-MD5 see authenticate in IMAPClient.pm Test the new Mail::IMAPClient (2.1.4 -> 2.2.6 or sup) userdbpw -hmac-md5 | userdb userdb set hmac-md5pw http://www.inter7.com/courierimap/INSTALL.html DONE. Add a --subscribe option to subscribe folders on the destination server. DONE. Add a --subscribed option to transfert only subscribed folder on the source server. DONE. Add a CREDITS file. DONE. Pb with namespace INBOX. Some IMAP servers don't have this CAPABILITY http://www.inter7.com/courierimap/FAQ.html#namespace http://www.rfc-editor.org/rfc/rfc2342.txt DONE. Pb with date DONE. Pb with \Recent flag DONE. Add the list of tested IMAP servers (successes and failures).