From c08a56e486343d421012815b1e6b110fe2022ed9 Mon Sep 17 00:00:00 2001
From: Nick Bebout
Date: Sun, 2 Sep 2012 19:08:57 -0500
Subject: [PATCH] 1.504
---
ChangeLog | 26 +-
Makefile | 77 +-
README | 4 +-
VERSION | 2 +-
VERSION_EXE | 2 +-
W/.BUILD_EXE_TIME | 154 +
.../Mail-IMAPClient-2.2.9}/Artistic | 0
.../Mail-IMAPClient-2.2.9}/BUG_REPORTS | 0
.../BodyStructure/BodyStructure.pm | 0
.../BodyStructure/COPYRIGHT | 0
.../BodyStructure/Makefile.PL | 0
.../BodyStructure/Parse/Makefile.PL | 0
.../BodyStructure/Parse/Parse.grammar_new | 0
.../BodyStructure/Parse/Parse.grammar_old | 0
.../BodyStructure/Parse/Parse.pod | 0
.../BodyStructure/Parse/t/parse.t | 0
.../BodyStructure/t/bodystructure.t | 0
.../Mail-IMAPClient-2.2.9}/COPYRIGHT | 0
.../Mail-IMAPClient-2.2.9}/Changes | 0
.../Mail-IMAPClient-2.2.9}/Copying | 0
.../Mail-IMAPClient-2.2.9}/IMAPClient | 0
.../Mail-IMAPClient-2.2.9}/IMAPClient.pm | 0
.../Mail-IMAPClient-2.2.9}/IMAPClient.pod | 0
.../Mail-IMAPClient-2.2.9}/INSTALL | 0
.../Mail-IMAPClient-2.2.9}/INSTALL_perl5.80 | 0
.../Mail-IMAPClient-2.2.9}/MANIFEST | 0
.../Mail-IMAPClient-2.2.9}/Mail | 0
.../Mail-IMAPClient-2.2.9}/Makefile.PL | 0
.../Mail-IMAPClient-2.2.9}/MessageSet.pm | 0
.../MessageSet/COPYRIGHT | 0
.../MessageSet/Makefile.PL | 0
.../MessageSet/MessageSet.pm | 0
.../MessageSet/t/range.t | 0
.../Mail-IMAPClient-2.2.9}/README | 0
.../Mail-IMAPClient-2.2.9}/Thread/COPYRIGHT | 0
.../Mail-IMAPClient-2.2.9}/Thread/Makefile.PL | 0
.../Thread/Thread.grammar_new | 0
.../Thread/Thread.grammar_old | 0
.../Mail-IMAPClient-2.2.9}/Thread/Thread.pod | 0
.../Mail-IMAPClient-2.2.9}/Thread/t/thread.t | 0
.../Mail-IMAPClient-2.2.9}/Todo | 0
.../Mail-IMAPClient-2.2.9}/docs/COPYRIGHT | 0
.../docs/draft-crispin-imapv-17.txt | 0
.../docs/draft-ietf-imapext-annotate-04.txt | 0
.../docs/draft-ietf-imapext-sort-06.txt | 0
.../docs/draft-ietf-imapext-thread-11.txt | 0
.../Mail-IMAPClient-2.2.9}/docs/rfc1731.txt | 0
.../Mail-IMAPClient-2.2.9}/docs/rfc1732.txt | 0
.../Mail-IMAPClient-2.2.9}/docs/rfc1733.txt | 0
.../Mail-IMAPClient-2.2.9}/docs/rfc2060.txt | 0
.../Mail-IMAPClient-2.2.9}/docs/rfc2061.txt | 0
.../Mail-IMAPClient-2.2.9}/docs/rfc2062.txt | 0
.../Mail-IMAPClient-2.2.9}/docs/rfc2086.txt | 0
.../Mail-IMAPClient-2.2.9}/docs/rfc2087.txt | 0
.../Mail-IMAPClient-2.2.9}/docs/rfc2088.txt | 0
.../Mail-IMAPClient-2.2.9}/docs/rfc2177.txt | 0
.../Mail-IMAPClient-2.2.9}/docs/rfc2180.txt | 0
.../Mail-IMAPClient-2.2.9}/docs/rfc2192.txt | 0
.../Mail-IMAPClient-2.2.9}/docs/rfc2193.txt | 0
.../Mail-IMAPClient-2.2.9}/docs/rfc2195.txt | 0
.../Mail-IMAPClient-2.2.9}/docs/rfc2221.txt | 0
.../Mail-IMAPClient-2.2.9}/docs/rfc2222.txt | 0
.../Mail-IMAPClient-2.2.9}/docs/rfc2234.txt | 0
.../Mail-IMAPClient-2.2.9}/docs/rfc2245.txt | 0
.../Mail-IMAPClient-2.2.9}/docs/rfc2342.txt | 0
.../Mail-IMAPClient-2.2.9}/docs/rfc2359.txt | 0
.../Mail-IMAPClient-2.2.9}/docs/rfc2683.txt | 0
.../Mail-IMAPClient-2.2.9}/docs/rfc2831.txt | 0
.../Mail-IMAPClient-2.2.9}/examples/COPYRIGHT | 0
.../examples/build_dist.pl | 0
.../examples/build_ldif.pl | 0
.../examples/cleanTest.pl | 0
.../examples/copy_folder.pl | 0
.../examples/cyrus_expire.pl | 0
.../examples/cyrus_expunge.pl | 0
.../examples/find_dup_msgs.pl | 0
.../examples/imap_to_mbox.pl | 0
.../examples/imtestExample.pl | 0
.../examples/migrate_mail2.pl | 0
.../examples/migrate_mbox.pl | 0
.../examples/populate_mailbox.pl | 0
.../examples/sharedFolder.pl | 0
.../Mail-IMAPClient-2.2.9}/sample.perldb | 0
.../Mail-IMAPClient-2.2.9}/t/basic.t | 0
.../Mail-IMAPClient-2.2.9}/t/cram-md5.t | 0
.../Mail-IMAPClient-2.2.9}/t/fast_io.t | 0
.../Mail-IMAPClient-2.2.9}/t/ranges.t | 0
.../Mail-IMAPClient-2.2.9}/t/uidfast.t | 0
.../Mail-IMAPClient-2.2.9}/t/uidplus.t | 0
.../Mail-IMAPClient-2.2.9}/test_template.txt | 0
.../Mail-IMAPClient-3.31}/Changes | 0
.../Mail-IMAPClient-3.31}/MANIFEST | 0
.../Mail-IMAPClient-3.31}/META.yml | 0
.../Mail-IMAPClient-3.31}/Makefile.PL | 0
.../Mail-IMAPClient-3.31}/README | 0
.../examples/build_dist.pl | 0
.../examples/build_ldif.pl | 0
.../examples/cleanTest.pl | 0
.../examples/copy_folder.pl | 0
.../examples/cyrus_expire.pl | 0
.../examples/cyrus_expunge.pl | 0
.../examples/find_dup_msgs.pl | 0
.../Mail-IMAPClient-3.31}/examples/idle.pl | 0
.../examples/imap_to_mbox.pl | 0
.../examples/imtestExample.pl | 0
.../examples/migrate_mail2.pl | 0
.../examples/migrate_mbox.pl | 0
.../examples/populate_mailbox.pl | 0
.../examples/sharedFolder.pl | 0
.../lib/Mail/IMAPClient.pm | 0
.../lib/Mail/IMAPClient.pod | 0
.../lib/Mail/IMAPClient/BodyStructure.pm | 0
.../IMAPClient/BodyStructure/Parse.grammar | 0
.../Mail/IMAPClient/BodyStructure/Parse.pm | 0
.../Mail/IMAPClient/BodyStructure/Parse.pod | 0
.../lib/Mail/IMAPClient/MessageSet.pm | 0
.../lib/Mail/IMAPClient/Thread.grammar | 0
.../lib/Mail/IMAPClient/Thread.pm | 0
.../lib/Mail/IMAPClient/Thread.pod | 0
.../Mail-IMAPClient-3.31}/prepare_dist | 0
.../Mail-IMAPClient-3.31}/t/basic.t | 0
.../Mail-IMAPClient-3.31}/t/body_string.t | 0
.../Mail-IMAPClient-3.31}/t/bodystructure.t | 0
.../Mail-IMAPClient-3.31}/t/fetch_hash.t | 0
.../Mail-IMAPClient-3.31}/t/messageset.t | 0
.../Mail-IMAPClient-3.31}/t/pod.t | 0
.../Mail-IMAPClient-3.31}/t/simple.t | 0
.../Mail-IMAPClient-3.31}/t/thread.t | 0
.../Mail-IMAPClient-3.31}/test_template.txt | 0
{NTLM-1.09 => W/NTLM-1.09}/COPYING-Artistic | 0
{NTLM-1.09 => W/NTLM-1.09}/COPYING-GPL | 0
{NTLM-1.09 => W/NTLM-1.09}/Changes | 0
{NTLM-1.09 => W/NTLM-1.09}/DES/DES.pm | 0
{NTLM-1.09 => W/NTLM-1.09}/DES/Makefile | 0
{NTLM-1.09 => W/NTLM-1.09}/DES/Makefile.PL | 0
{NTLM-1.09 => W/NTLM-1.09}/DES/pm_to_blib | 0
{NTLM-1.09 => W/NTLM-1.09}/MANIFEST | 0
{NTLM-1.09 => W/NTLM-1.09}/MD4/MD4.pm | 0
{NTLM-1.09 => W/NTLM-1.09}/MD4/Makefile | 0
{NTLM-1.09 => W/NTLM-1.09}/MD4/Makefile.PL | 0
{NTLM-1.09 => W/NTLM-1.09}/MD4/pm_to_blib | 0
{NTLM-1.09 => W/NTLM-1.09}/META.yml | 0
{NTLM-1.09 => W/NTLM-1.09}/Makefile | 0
{NTLM-1.09 => W/NTLM-1.09}/Makefile.PL | 0
{NTLM-1.09 => W/NTLM-1.09}/NTLM.pm | 0
{NTLM-1.09 => W/NTLM-1.09}/README | 0
{NTLM-1.09 => W/NTLM-1.09}/blib/arch/.exists | 0
.../blib/arch/auto/Authen/NTLM/.exists | 0
.../blib/arch/auto/Authen/NTLM/DES/.exists | 0
.../blib/arch/auto/Authen/NTLM/MD4/.exists | 0
{NTLM-1.09 => W/NTLM-1.09}/blib/bin/.exists | 0
.../NTLM-1.09}/blib/lib/Authen/.exists | 0
.../NTLM-1.09}/blib/lib/Authen/NTLM.pm | 0
.../NTLM-1.09}/blib/lib/Authen/NTLM/.exists | 0
.../NTLM-1.09}/blib/lib/Authen/NTLM/DES.pm | 0
.../NTLM-1.09}/blib/lib/Authen/NTLM/MD4.pm | 0
.../blib/lib/auto/Authen/NTLM/.exists | 0
.../blib/lib/auto/Authen/NTLM/DES/.exists | 0
.../blib/lib/auto/Authen/NTLM/MD4/.exists | 0
{NTLM-1.09 => W/NTLM-1.09}/blib/man1/.exists | 0
{NTLM-1.09 => W/NTLM-1.09}/blib/man3/.exists | 0
.../NTLM-1.09}/blib/man3/Authen::NTLM.3pm | 0
.../NTLM-1.09}/blib/script/.exists | 0
{NTLM-1.09 => W/NTLM-1.09}/pm_to_blib | 0
{NTLM-1.09 => W/NTLM-1.09}/t/01_load.t | 0
{NTLM-1.09 => W/NTLM-1.09}/t/02_ntlm.t | 0
{NTLM-1.09 => W/NTLM-1.09}/t/03_oo.t | 0
{NTLM-1.09 => W/NTLM-1.09}/t/04_v2.t | 0
{NTLM-1.09 => W/NTLM-1.09}/t/99_pod.t | 0
TIME => W/TIME | 0
{bugs => W/bugs}/BUG_219_windows | 0
{bugs => W/bugs}/BUG_IMAPClient_3.xx | 0
build_exe.bat => W/build_exe.bat | 0
ab_jlh.png => W/images/ab_jlh.png | Bin
.../images/logo_imapsync.png | Bin
.../images/logo_imapsync_2.svg | 0
.../images/logo_imapsync_s.png | Bin
W/images/valid-xhtml10 | Bin 0 -> 1882 bytes
W/images/vcss-blue | Bin 0 -> 1759 bytes
W/ks.htaccess | 5 +
{learn => W/learn}/adjust_time.pl | 0
{learn => W/learn}/append | 0
{learn => W/learn}/date_manip | 0
{learn => W/learn}/delete | 0
{learn => W/learn}/fetch_with_size | 0
{learn => W/learn}/file_spec | 0
{learn => W/learn}/file_string | 0
{learn => W/learn}/hugemigr | 0
{learn => W/learn}/imapbyhand | 0
.../learn}/imapclient3xx_isUnconnected | 0
.../learn}/imapclient3xx_skeleton_test | 0
{learn => W/learn}/imapclient3xx_ssl | 0
{learn => W/learn}/imapclient_tls | 0
{learn => W/learn}/io_socket_get | 0
{learn => W/learn}/memo | 0
{learn => W/learn}/memory_consumption | 0
{learn => W/learn}/message_string_raw | 0
{learn => W/learn}/message_string_raw_pb | 0
{learn => W/learn}/mi2 | 0
{learn => W/learn}/mi3 | 0
{learn => W/learn}/rpm/imapsync.spec | 0
{learn => W/learn}/separator | 0
{learn => W/learn}/splice_fetch | 0
{learn => W/learn}/subscribe | 0
{learn => W/learn}/uppercase_header | 0
lfo.htaccess => W/lfo.htaccess | 0
memo => W/memo | 0
{patches => W/patches}/FAQ_ralph.patch | 0
.../patches}/imapsync--justcopy.patch | 0
...mapsync-1.139-ssl-authmech-authusing.patch | 0
.../imapsync-1.156-ssl-authusing.patch | 0
.../patches}/imapsync-1.217_tls_support.patch | 0
...nc-1.278.log_info_on_lost_connection.patch | 0
.../patches}/imapsync-1.337_tobit_V6.patch | 0
.../patches}/imapsync-1.94-foldersizes.diff | 0
{patches => W/patches}/imapsync-acls-users | 0
{patches => W/patches}/imapsync-base64.patch | 0
.../patches}/imapsync-buffersize.diff | 0
{patches => W/patches}/imapsync-pb-acl.diff | 0
{patches => W/patches}/imapsync-readkey | 0
{patches => W/patches}/imapsync-ssl.diff | 0
{patches => W/patches}/imapsync-ssl2.diff | 0
.../patches}/imapsync-undef_arrayref.diff | 0
{patches => W/patches}/imapsync-yahoo | 0
{patches => W/patches}/imapsync.1.282.patch | 0
{patches => W/patches}/imapsync.1.282.patch2 | 0
{patches => W/patches}/imapsync.1.284.patch | 0
.../imapsync.WilliamHernandez.INBOX.INBOX | 0
{patches => W/patches}/imapsync.dave | 0
{patches => W/patches}/imapsync.diff | 0
.../patches}/imapsync.patch_rick_romero | 0
{patches => W/patches}/imapsync.syncuid.diff | 0
{patches => W/patches}/imapsync_1.267_jari | 0
.../imapsync_Cvitkovich_pidfile_tmpfile | 0
{patches => W/patches}/imapsync_minsize | 0
.../patches}/proxyauth-v2_1.366.patch | 0
{patches => W/patches}/proxyauth_1.366.patch | 0
paypal.shtml => W/paypal.shtml | 0
W/paypal_reply/memo | 26 +-
W/paypal_reply/paypal_bilan | 7 +-
.../{paypal_bilan_1.56 => paypal_bilan_1.58} | 27 +-
W/paypal_reply/paypal_build_invoices | 2 +-
W/paypal_reply/paypal_run_laposte | 2 +-
W/paypal_reply/paypal_send_invoices | 12 +-
paypal_return.shtml => W/paypal_return.shtml | 20 +-
.../paypal_return_support.shtml | 15 +-
style.css => W/style.css | 0
test.bat => W/test.bat | 0
test2.bat => W/test2.bat | 11 +-
test_exe.bat => W/test_exe.bat | 0
test_exe_2.bat => W/test_exe_2.bat | 0
{tmp => W/tmp}/cache/F1/F2/142_242 | 0
{tmp => W/tmp}/cache/F1/F2/143_243 | 0
{tmp => W/tmp}/cache/F1/F2/177_377 | 0
{tmp => W/tmp}/cache/F1/F2/177_777 | 0
{tmp => W/tmp}/cache/G1/G2/100_200 | 0
{tmp => W/tmp}/cache/G1/G2/142_242 | 0
{tmp => W/tmp}/cache/G1/G2/177_777 | 0
.../142_242" => "W/tmp/cache/rr\\uee/142_242" | 0
.../143_243" => "W/tmp/cache/rr\\uee/143_243" | 0
.../177_377" => "W/tmp/cache/rr\\uee/177_377" | 0
.../177_777" => "W/tmp/cache/rr\\uee/177_777" | 0
"tmp/tests/\\y" => "W/tmp/tests/\\y" | 0
{tmp => W/tmp}/tests/lala | 0
{tmp => W/tmp}/tests/lili | 0
{tmp => W/tmp}/tests/lolo | 0
examples/archive_per_month | 61 +
file.txt => examples/file.txt | 54 +-
.../imapsync_example.bat.txt | 0
i2 | 4 +-
i3 | 4 +-
imapsync | 305 +-
index.shtml | 111 +-
tests.sh | 77 +-
tmp/imapsync_1404 | 4830 ---------------
tmp/imapsync_1434 | 5273 -----------------
tmp/index.shtml | 384 --
277 files changed, 692 insertions(+), 10803 deletions(-)
create mode 100644 W/.BUILD_EXE_TIME
rename {Mail-IMAPClient-2.2.9 => W/Mail-IMAPClient-2.2.9}/Artistic (100%)
rename {Mail-IMAPClient-2.2.9 => W/Mail-IMAPClient-2.2.9}/BUG_REPORTS (100%)
rename {Mail-IMAPClient-2.2.9 => W/Mail-IMAPClient-2.2.9}/BodyStructure/BodyStructure.pm (100%)
rename {Mail-IMAPClient-2.2.9 => W/Mail-IMAPClient-2.2.9}/BodyStructure/COPYRIGHT (100%)
rename {Mail-IMAPClient-2.2.9 => W/Mail-IMAPClient-2.2.9}/BodyStructure/Makefile.PL (100%)
rename {Mail-IMAPClient-2.2.9 => W/Mail-IMAPClient-2.2.9}/BodyStructure/Parse/Makefile.PL (100%)
rename {Mail-IMAPClient-2.2.9 => W/Mail-IMAPClient-2.2.9}/BodyStructure/Parse/Parse.grammar_new (100%)
rename {Mail-IMAPClient-2.2.9 => W/Mail-IMAPClient-2.2.9}/BodyStructure/Parse/Parse.grammar_old (100%)
rename {Mail-IMAPClient-2.2.9 => W/Mail-IMAPClient-2.2.9}/BodyStructure/Parse/Parse.pod (100%)
rename {Mail-IMAPClient-2.2.9 => W/Mail-IMAPClient-2.2.9}/BodyStructure/Parse/t/parse.t (100%)
rename {Mail-IMAPClient-2.2.9 => W/Mail-IMAPClient-2.2.9}/BodyStructure/t/bodystructure.t (100%)
rename {Mail-IMAPClient-2.2.9 => W/Mail-IMAPClient-2.2.9}/COPYRIGHT (100%)
rename {Mail-IMAPClient-2.2.9 => W/Mail-IMAPClient-2.2.9}/Changes (100%)
rename {Mail-IMAPClient-2.2.9 => W/Mail-IMAPClient-2.2.9}/Copying (100%)
rename {Mail-IMAPClient-2.2.9 => W/Mail-IMAPClient-2.2.9}/IMAPClient (100%)
rename {Mail-IMAPClient-2.2.9 => W/Mail-IMAPClient-2.2.9}/IMAPClient.pm (100%)
rename {Mail-IMAPClient-2.2.9 => W/Mail-IMAPClient-2.2.9}/IMAPClient.pod (100%)
rename {Mail-IMAPClient-2.2.9 => W/Mail-IMAPClient-2.2.9}/INSTALL (100%)
rename {Mail-IMAPClient-2.2.9 => W/Mail-IMAPClient-2.2.9}/INSTALL_perl5.80 (100%)
rename {Mail-IMAPClient-2.2.9 => W/Mail-IMAPClient-2.2.9}/MANIFEST (100%)
rename {Mail-IMAPClient-2.2.9 => W/Mail-IMAPClient-2.2.9}/Mail (100%)
rename {Mail-IMAPClient-2.2.9 => W/Mail-IMAPClient-2.2.9}/Makefile.PL (100%)
rename {Mail-IMAPClient-2.2.9 => W/Mail-IMAPClient-2.2.9}/MessageSet.pm (100%)
rename {Mail-IMAPClient-2.2.9 => W/Mail-IMAPClient-2.2.9}/MessageSet/COPYRIGHT (100%)
rename {Mail-IMAPClient-2.2.9 => W/Mail-IMAPClient-2.2.9}/MessageSet/Makefile.PL (100%)
rename {Mail-IMAPClient-2.2.9 => W/Mail-IMAPClient-2.2.9}/MessageSet/MessageSet.pm (100%)
rename {Mail-IMAPClient-2.2.9 => W/Mail-IMAPClient-2.2.9}/MessageSet/t/range.t (100%)
rename {Mail-IMAPClient-2.2.9 => W/Mail-IMAPClient-2.2.9}/README (100%)
rename {Mail-IMAPClient-2.2.9 => W/Mail-IMAPClient-2.2.9}/Thread/COPYRIGHT (100%)
rename {Mail-IMAPClient-2.2.9 => W/Mail-IMAPClient-2.2.9}/Thread/Makefile.PL (100%)
rename {Mail-IMAPClient-2.2.9 => W/Mail-IMAPClient-2.2.9}/Thread/Thread.grammar_new (100%)
rename {Mail-IMAPClient-2.2.9 => W/Mail-IMAPClient-2.2.9}/Thread/Thread.grammar_old (100%)
rename {Mail-IMAPClient-2.2.9 => W/Mail-IMAPClient-2.2.9}/Thread/Thread.pod (100%)
rename {Mail-IMAPClient-2.2.9 => W/Mail-IMAPClient-2.2.9}/Thread/t/thread.t (100%)
rename {Mail-IMAPClient-2.2.9 => W/Mail-IMAPClient-2.2.9}/Todo (100%)
rename {Mail-IMAPClient-2.2.9 => W/Mail-IMAPClient-2.2.9}/docs/COPYRIGHT (100%)
rename {Mail-IMAPClient-2.2.9 => W/Mail-IMAPClient-2.2.9}/docs/draft-crispin-imapv-17.txt (100%)
rename {Mail-IMAPClient-2.2.9 => W/Mail-IMAPClient-2.2.9}/docs/draft-ietf-imapext-annotate-04.txt (100%)
rename {Mail-IMAPClient-2.2.9 => W/Mail-IMAPClient-2.2.9}/docs/draft-ietf-imapext-sort-06.txt (100%)
rename {Mail-IMAPClient-2.2.9 => W/Mail-IMAPClient-2.2.9}/docs/draft-ietf-imapext-thread-11.txt (100%)
rename {Mail-IMAPClient-2.2.9 => W/Mail-IMAPClient-2.2.9}/docs/rfc1731.txt (100%)
rename {Mail-IMAPClient-2.2.9 => W/Mail-IMAPClient-2.2.9}/docs/rfc1732.txt (100%)
rename {Mail-IMAPClient-2.2.9 => W/Mail-IMAPClient-2.2.9}/docs/rfc1733.txt (100%)
rename {Mail-IMAPClient-2.2.9 => W/Mail-IMAPClient-2.2.9}/docs/rfc2060.txt (100%)
rename {Mail-IMAPClient-2.2.9 => W/Mail-IMAPClient-2.2.9}/docs/rfc2061.txt (100%)
rename {Mail-IMAPClient-2.2.9 => W/Mail-IMAPClient-2.2.9}/docs/rfc2062.txt (100%)
rename {Mail-IMAPClient-2.2.9 => W/Mail-IMAPClient-2.2.9}/docs/rfc2086.txt (100%)
rename {Mail-IMAPClient-2.2.9 => W/Mail-IMAPClient-2.2.9}/docs/rfc2087.txt (100%)
rename {Mail-IMAPClient-2.2.9 => W/Mail-IMAPClient-2.2.9}/docs/rfc2088.txt (100%)
rename {Mail-IMAPClient-2.2.9 => W/Mail-IMAPClient-2.2.9}/docs/rfc2177.txt (100%)
rename {Mail-IMAPClient-2.2.9 => W/Mail-IMAPClient-2.2.9}/docs/rfc2180.txt (100%)
rename {Mail-IMAPClient-2.2.9 => W/Mail-IMAPClient-2.2.9}/docs/rfc2192.txt (100%)
rename {Mail-IMAPClient-2.2.9 => W/Mail-IMAPClient-2.2.9}/docs/rfc2193.txt (100%)
rename {Mail-IMAPClient-2.2.9 => W/Mail-IMAPClient-2.2.9}/docs/rfc2195.txt (100%)
rename {Mail-IMAPClient-2.2.9 => W/Mail-IMAPClient-2.2.9}/docs/rfc2221.txt (100%)
rename {Mail-IMAPClient-2.2.9 => W/Mail-IMAPClient-2.2.9}/docs/rfc2222.txt (100%)
rename {Mail-IMAPClient-2.2.9 => W/Mail-IMAPClient-2.2.9}/docs/rfc2234.txt (100%)
rename {Mail-IMAPClient-2.2.9 => W/Mail-IMAPClient-2.2.9}/docs/rfc2245.txt (100%)
rename {Mail-IMAPClient-2.2.9 => W/Mail-IMAPClient-2.2.9}/docs/rfc2342.txt (100%)
rename {Mail-IMAPClient-2.2.9 => W/Mail-IMAPClient-2.2.9}/docs/rfc2359.txt (100%)
rename {Mail-IMAPClient-2.2.9 => W/Mail-IMAPClient-2.2.9}/docs/rfc2683.txt (100%)
rename {Mail-IMAPClient-2.2.9 => W/Mail-IMAPClient-2.2.9}/docs/rfc2831.txt (100%)
rename {Mail-IMAPClient-2.2.9 => W/Mail-IMAPClient-2.2.9}/examples/COPYRIGHT (100%)
rename {Mail-IMAPClient-2.2.9 => W/Mail-IMAPClient-2.2.9}/examples/build_dist.pl (100%)
rename {Mail-IMAPClient-2.2.9 => W/Mail-IMAPClient-2.2.9}/examples/build_ldif.pl (100%)
rename {Mail-IMAPClient-2.2.9 => W/Mail-IMAPClient-2.2.9}/examples/cleanTest.pl (100%)
rename {Mail-IMAPClient-2.2.9 => W/Mail-IMAPClient-2.2.9}/examples/copy_folder.pl (100%)
rename {Mail-IMAPClient-2.2.9 => W/Mail-IMAPClient-2.2.9}/examples/cyrus_expire.pl (100%)
rename {Mail-IMAPClient-2.2.9 => W/Mail-IMAPClient-2.2.9}/examples/cyrus_expunge.pl (100%)
rename {Mail-IMAPClient-2.2.9 => W/Mail-IMAPClient-2.2.9}/examples/find_dup_msgs.pl (100%)
rename {Mail-IMAPClient-2.2.9 => W/Mail-IMAPClient-2.2.9}/examples/imap_to_mbox.pl (100%)
rename {Mail-IMAPClient-2.2.9 => W/Mail-IMAPClient-2.2.9}/examples/imtestExample.pl (100%)
rename {Mail-IMAPClient-2.2.9 => W/Mail-IMAPClient-2.2.9}/examples/migrate_mail2.pl (100%)
rename {Mail-IMAPClient-2.2.9 => W/Mail-IMAPClient-2.2.9}/examples/migrate_mbox.pl (100%)
rename {Mail-IMAPClient-2.2.9 => W/Mail-IMAPClient-2.2.9}/examples/populate_mailbox.pl (100%)
rename {Mail-IMAPClient-2.2.9 => W/Mail-IMAPClient-2.2.9}/examples/sharedFolder.pl (100%)
rename {Mail-IMAPClient-2.2.9 => W/Mail-IMAPClient-2.2.9}/sample.perldb (100%)
rename {Mail-IMAPClient-2.2.9 => W/Mail-IMAPClient-2.2.9}/t/basic.t (100%)
rename {Mail-IMAPClient-2.2.9 => W/Mail-IMAPClient-2.2.9}/t/cram-md5.t (100%)
rename {Mail-IMAPClient-2.2.9 => W/Mail-IMAPClient-2.2.9}/t/fast_io.t (100%)
rename {Mail-IMAPClient-2.2.9 => W/Mail-IMAPClient-2.2.9}/t/ranges.t (100%)
rename {Mail-IMAPClient-2.2.9 => W/Mail-IMAPClient-2.2.9}/t/uidfast.t (100%)
rename {Mail-IMAPClient-2.2.9 => W/Mail-IMAPClient-2.2.9}/t/uidplus.t (100%)
rename {Mail-IMAPClient-2.2.9 => W/Mail-IMAPClient-2.2.9}/test_template.txt (100%)
rename {Mail-IMAPClient-3.31 => W/Mail-IMAPClient-3.31}/Changes (100%)
rename {Mail-IMAPClient-3.31 => W/Mail-IMAPClient-3.31}/MANIFEST (100%)
rename {Mail-IMAPClient-3.31 => W/Mail-IMAPClient-3.31}/META.yml (100%)
rename {Mail-IMAPClient-3.31 => W/Mail-IMAPClient-3.31}/Makefile.PL (100%)
rename {Mail-IMAPClient-3.31 => W/Mail-IMAPClient-3.31}/README (100%)
rename {Mail-IMAPClient-3.31 => W/Mail-IMAPClient-3.31}/examples/build_dist.pl (100%)
rename {Mail-IMAPClient-3.31 => W/Mail-IMAPClient-3.31}/examples/build_ldif.pl (100%)
rename {Mail-IMAPClient-3.31 => W/Mail-IMAPClient-3.31}/examples/cleanTest.pl (100%)
rename {Mail-IMAPClient-3.31 => W/Mail-IMAPClient-3.31}/examples/copy_folder.pl (100%)
rename {Mail-IMAPClient-3.31 => W/Mail-IMAPClient-3.31}/examples/cyrus_expire.pl (100%)
rename {Mail-IMAPClient-3.31 => W/Mail-IMAPClient-3.31}/examples/cyrus_expunge.pl (100%)
rename {Mail-IMAPClient-3.31 => W/Mail-IMAPClient-3.31}/examples/find_dup_msgs.pl (100%)
rename {Mail-IMAPClient-3.31 => W/Mail-IMAPClient-3.31}/examples/idle.pl (100%)
rename {Mail-IMAPClient-3.31 => W/Mail-IMAPClient-3.31}/examples/imap_to_mbox.pl (100%)
rename {Mail-IMAPClient-3.31 => W/Mail-IMAPClient-3.31}/examples/imtestExample.pl (100%)
rename {Mail-IMAPClient-3.31 => W/Mail-IMAPClient-3.31}/examples/migrate_mail2.pl (100%)
rename {Mail-IMAPClient-3.31 => W/Mail-IMAPClient-3.31}/examples/migrate_mbox.pl (100%)
rename {Mail-IMAPClient-3.31 => W/Mail-IMAPClient-3.31}/examples/populate_mailbox.pl (100%)
rename {Mail-IMAPClient-3.31 => W/Mail-IMAPClient-3.31}/examples/sharedFolder.pl (100%)
rename {Mail-IMAPClient-3.31 => W/Mail-IMAPClient-3.31}/lib/Mail/IMAPClient.pm (100%)
rename {Mail-IMAPClient-3.31 => W/Mail-IMAPClient-3.31}/lib/Mail/IMAPClient.pod (100%)
rename {Mail-IMAPClient-3.31 => W/Mail-IMAPClient-3.31}/lib/Mail/IMAPClient/BodyStructure.pm (100%)
rename {Mail-IMAPClient-3.31 => W/Mail-IMAPClient-3.31}/lib/Mail/IMAPClient/BodyStructure/Parse.grammar (100%)
rename {Mail-IMAPClient-3.31 => W/Mail-IMAPClient-3.31}/lib/Mail/IMAPClient/BodyStructure/Parse.pm (100%)
rename {Mail-IMAPClient-3.31 => W/Mail-IMAPClient-3.31}/lib/Mail/IMAPClient/BodyStructure/Parse.pod (100%)
rename {Mail-IMAPClient-3.31 => W/Mail-IMAPClient-3.31}/lib/Mail/IMAPClient/MessageSet.pm (100%)
rename {Mail-IMAPClient-3.31 => W/Mail-IMAPClient-3.31}/lib/Mail/IMAPClient/Thread.grammar (100%)
rename {Mail-IMAPClient-3.31 => W/Mail-IMAPClient-3.31}/lib/Mail/IMAPClient/Thread.pm (100%)
rename {Mail-IMAPClient-3.31 => W/Mail-IMAPClient-3.31}/lib/Mail/IMAPClient/Thread.pod (100%)
rename {Mail-IMAPClient-3.31 => W/Mail-IMAPClient-3.31}/prepare_dist (100%)
rename {Mail-IMAPClient-3.31 => W/Mail-IMAPClient-3.31}/t/basic.t (100%)
rename {Mail-IMAPClient-3.31 => W/Mail-IMAPClient-3.31}/t/body_string.t (100%)
rename {Mail-IMAPClient-3.31 => W/Mail-IMAPClient-3.31}/t/bodystructure.t (100%)
rename {Mail-IMAPClient-3.31 => W/Mail-IMAPClient-3.31}/t/fetch_hash.t (100%)
rename {Mail-IMAPClient-3.31 => W/Mail-IMAPClient-3.31}/t/messageset.t (100%)
rename {Mail-IMAPClient-3.31 => W/Mail-IMAPClient-3.31}/t/pod.t (100%)
rename {Mail-IMAPClient-3.31 => W/Mail-IMAPClient-3.31}/t/simple.t (100%)
rename {Mail-IMAPClient-3.31 => W/Mail-IMAPClient-3.31}/t/thread.t (100%)
rename {Mail-IMAPClient-3.31 => W/Mail-IMAPClient-3.31}/test_template.txt (100%)
rename {NTLM-1.09 => W/NTLM-1.09}/COPYING-Artistic (100%)
rename {NTLM-1.09 => W/NTLM-1.09}/COPYING-GPL (100%)
rename {NTLM-1.09 => W/NTLM-1.09}/Changes (100%)
rename {NTLM-1.09 => W/NTLM-1.09}/DES/DES.pm (100%)
rename {NTLM-1.09 => W/NTLM-1.09}/DES/Makefile (100%)
rename {NTLM-1.09 => W/NTLM-1.09}/DES/Makefile.PL (100%)
rename {NTLM-1.09 => W/NTLM-1.09}/DES/pm_to_blib (100%)
rename {NTLM-1.09 => W/NTLM-1.09}/MANIFEST (100%)
rename {NTLM-1.09 => W/NTLM-1.09}/MD4/MD4.pm (100%)
rename {NTLM-1.09 => W/NTLM-1.09}/MD4/Makefile (100%)
rename {NTLM-1.09 => W/NTLM-1.09}/MD4/Makefile.PL (100%)
rename {NTLM-1.09 => W/NTLM-1.09}/MD4/pm_to_blib (100%)
rename {NTLM-1.09 => W/NTLM-1.09}/META.yml (100%)
rename {NTLM-1.09 => W/NTLM-1.09}/Makefile (100%)
rename {NTLM-1.09 => W/NTLM-1.09}/Makefile.PL (100%)
rename {NTLM-1.09 => W/NTLM-1.09}/NTLM.pm (100%)
rename {NTLM-1.09 => W/NTLM-1.09}/README (100%)
rename {NTLM-1.09 => W/NTLM-1.09}/blib/arch/.exists (100%)
rename {NTLM-1.09 => W/NTLM-1.09}/blib/arch/auto/Authen/NTLM/.exists (100%)
rename {NTLM-1.09 => W/NTLM-1.09}/blib/arch/auto/Authen/NTLM/DES/.exists (100%)
rename {NTLM-1.09 => W/NTLM-1.09}/blib/arch/auto/Authen/NTLM/MD4/.exists (100%)
rename {NTLM-1.09 => W/NTLM-1.09}/blib/bin/.exists (100%)
rename {NTLM-1.09 => W/NTLM-1.09}/blib/lib/Authen/.exists (100%)
rename {NTLM-1.09 => W/NTLM-1.09}/blib/lib/Authen/NTLM.pm (100%)
rename {NTLM-1.09 => W/NTLM-1.09}/blib/lib/Authen/NTLM/.exists (100%)
rename {NTLM-1.09 => W/NTLM-1.09}/blib/lib/Authen/NTLM/DES.pm (100%)
rename {NTLM-1.09 => W/NTLM-1.09}/blib/lib/Authen/NTLM/MD4.pm (100%)
rename {NTLM-1.09 => W/NTLM-1.09}/blib/lib/auto/Authen/NTLM/.exists (100%)
rename {NTLM-1.09 => W/NTLM-1.09}/blib/lib/auto/Authen/NTLM/DES/.exists (100%)
rename {NTLM-1.09 => W/NTLM-1.09}/blib/lib/auto/Authen/NTLM/MD4/.exists (100%)
rename {NTLM-1.09 => W/NTLM-1.09}/blib/man1/.exists (100%)
rename {NTLM-1.09 => W/NTLM-1.09}/blib/man3/.exists (100%)
rename {NTLM-1.09 => W/NTLM-1.09}/blib/man3/Authen::NTLM.3pm (100%)
rename {NTLM-1.09 => W/NTLM-1.09}/blib/script/.exists (100%)
rename {NTLM-1.09 => W/NTLM-1.09}/pm_to_blib (100%)
rename {NTLM-1.09 => W/NTLM-1.09}/t/01_load.t (100%)
rename {NTLM-1.09 => W/NTLM-1.09}/t/02_ntlm.t (100%)
rename {NTLM-1.09 => W/NTLM-1.09}/t/03_oo.t (100%)
rename {NTLM-1.09 => W/NTLM-1.09}/t/04_v2.t (100%)
rename {NTLM-1.09 => W/NTLM-1.09}/t/99_pod.t (100%)
rename TIME => W/TIME (100%)
rename {bugs => W/bugs}/BUG_219_windows (100%)
rename {bugs => W/bugs}/BUG_IMAPClient_3.xx (100%)
rename build_exe.bat => W/build_exe.bat (100%)
mode change 100755 => 100644
rename ab_jlh.png => W/images/ab_jlh.png (100%)
rename logo_imapsync.png => W/images/logo_imapsync.png (100%)
rename logo_imapsync_2.svg => W/images/logo_imapsync_2.svg (100%)
rename logo_imapsync_s.png => W/images/logo_imapsync_s.png (100%)
create mode 100644 W/images/valid-xhtml10
create mode 100644 W/images/vcss-blue
create mode 100644 W/ks.htaccess
rename {learn => W/learn}/adjust_time.pl (100%)
rename {learn => W/learn}/append (100%)
rename {learn => W/learn}/date_manip (100%)
rename {learn => W/learn}/delete (100%)
rename {learn => W/learn}/fetch_with_size (100%)
rename {learn => W/learn}/file_spec (100%)
rename {learn => W/learn}/file_string (100%)
rename {learn => W/learn}/hugemigr (100%)
rename {learn => W/learn}/imapbyhand (100%)
rename {learn => W/learn}/imapclient3xx_isUnconnected (100%)
rename {learn => W/learn}/imapclient3xx_skeleton_test (100%)
rename {learn => W/learn}/imapclient3xx_ssl (100%)
rename {learn => W/learn}/imapclient_tls (100%)
rename {learn => W/learn}/io_socket_get (100%)
rename {learn => W/learn}/memo (100%)
rename {learn => W/learn}/memory_consumption (100%)
rename {learn => W/learn}/message_string_raw (100%)
rename {learn => W/learn}/message_string_raw_pb (100%)
rename {learn => W/learn}/mi2 (100%)
rename {learn => W/learn}/mi3 (100%)
rename {learn => W/learn}/rpm/imapsync.spec (100%)
rename {learn => W/learn}/separator (100%)
rename {learn => W/learn}/splice_fetch (100%)
rename {learn => W/learn}/subscribe (100%)
rename {learn => W/learn}/uppercase_header (100%)
rename lfo.htaccess => W/lfo.htaccess (100%)
rename memo => W/memo (100%)
rename {patches => W/patches}/FAQ_ralph.patch (100%)
rename {patches => W/patches}/imapsync--justcopy.patch (100%)
rename {patches => W/patches}/imapsync-1.139-ssl-authmech-authusing.patch (100%)
rename {patches => W/patches}/imapsync-1.156-ssl-authusing.patch (100%)
rename {patches => W/patches}/imapsync-1.217_tls_support.patch (100%)
rename {patches => W/patches}/imapsync-1.278.log_info_on_lost_connection.patch (100%)
rename {patches => W/patches}/imapsync-1.337_tobit_V6.patch (100%)
rename {patches => W/patches}/imapsync-1.94-foldersizes.diff (100%)
rename {patches => W/patches}/imapsync-acls-users (100%)
rename {patches => W/patches}/imapsync-base64.patch (100%)
rename {patches => W/patches}/imapsync-buffersize.diff (100%)
rename {patches => W/patches}/imapsync-pb-acl.diff (100%)
rename {patches => W/patches}/imapsync-readkey (100%)
rename {patches => W/patches}/imapsync-ssl.diff (100%)
rename {patches => W/patches}/imapsync-ssl2.diff (100%)
rename {patches => W/patches}/imapsync-undef_arrayref.diff (100%)
rename {patches => W/patches}/imapsync-yahoo (100%)
rename {patches => W/patches}/imapsync.1.282.patch (100%)
rename {patches => W/patches}/imapsync.1.282.patch2 (100%)
rename {patches => W/patches}/imapsync.1.284.patch (100%)
rename {patches => W/patches}/imapsync.WilliamHernandez.INBOX.INBOX (100%)
rename {patches => W/patches}/imapsync.dave (100%)
rename {patches => W/patches}/imapsync.diff (100%)
rename {patches => W/patches}/imapsync.patch_rick_romero (100%)
rename {patches => W/patches}/imapsync.syncuid.diff (100%)
rename {patches => W/patches}/imapsync_1.267_jari (100%)
rename {patches => W/patches}/imapsync_Cvitkovich_pidfile_tmpfile (100%)
rename {patches => W/patches}/imapsync_minsize (100%)
rename {patches => W/patches}/proxyauth-v2_1.366.patch (100%)
rename {patches => W/patches}/proxyauth_1.366.patch (100%)
rename paypal.shtml => W/paypal.shtml (100%)
rename W/paypal_reply/{paypal_bilan_1.56 => paypal_bilan_1.58} (97%)
rename paypal_return.shtml => W/paypal_return.shtml (83%)
rename paypal_return_support.shtml => W/paypal_return_support.shtml (88%)
rename style.css => W/style.css (100%)
rename test.bat => W/test.bat (100%)
mode change 100755 => 100644
rename test2.bat => W/test2.bat (76%)
mode change 100755 => 100644
rename test_exe.bat => W/test_exe.bat (100%)
mode change 100755 => 100644
rename test_exe_2.bat => W/test_exe_2.bat (100%)
rename {tmp => W/tmp}/cache/F1/F2/142_242 (100%)
rename {tmp => W/tmp}/cache/F1/F2/143_243 (100%)
rename {tmp => W/tmp}/cache/F1/F2/177_377 (100%)
rename {tmp => W/tmp}/cache/F1/F2/177_777 (100%)
rename {tmp => W/tmp}/cache/G1/G2/100_200 (100%)
rename {tmp => W/tmp}/cache/G1/G2/142_242 (100%)
rename {tmp => W/tmp}/cache/G1/G2/177_777 (100%)
rename "tmp/cache/rr\\uee/142_242" => "W/tmp/cache/rr\\uee/142_242" (100%)
rename "tmp/cache/rr\\uee/143_243" => "W/tmp/cache/rr\\uee/143_243" (100%)
rename "tmp/cache/rr\\uee/177_377" => "W/tmp/cache/rr\\uee/177_377" (100%)
rename "tmp/cache/rr\\uee/177_777" => "W/tmp/cache/rr\\uee/177_777" (100%)
rename "tmp/tests/\\y" => "W/tmp/tests/\\y" (100%)
rename {tmp => W/tmp}/tests/lala (100%)
rename {tmp => W/tmp}/tests/lili (100%)
rename {tmp => W/tmp}/tests/lolo (100%)
create mode 100755 examples/archive_per_month
rename file.txt => examples/file.txt (98%)
rename imapsync_example.bat.txt => examples/imapsync_example.bat.txt (100%)
mode change 100755 => 100644
delete mode 100755 tmp/imapsync_1404
delete mode 100755 tmp/imapsync_1434
delete mode 100644 tmp/index.shtml
diff --git a/ChangeLog b/ChangeLog
index c166c5f..d78479f 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,17 +1,35 @@
RCS file: RCS/imapsync,v
Working file: imapsync
-head: 1.500
+head: 1.504
branch:
locks: strict
- gilles: 1.500
+ gilles: 1.504
access list:
symbolic names:
keyword substitution: kv
-total revisions: 500; selected revisions: 500
+total revisions: 504; selected revisions: 504
description:
----------------------------
-revision 1.500 locked by: gilles;
+revision 1.504 locked by: gilles;
+date: 2012/08/28 13:10:26; author: gilles; state: Exp; lines: +10 -9
+Bugfix. sentsince sentbefore in int seconds.
+----------------------------
+revision 1.503
+date: 2012/08/27 23:42:39; author: gilles; state: Exp; lines: +36 -19
+Added transfer rate and messages rate after each copy.
+----------------------------
+revision 1.502
+date: 2012/08/27 10:00:43; author: gilles; state: Exp; lines: +43 -22
+Added option --nocheckmessageexists to check speed up with Tobbit imap server.
+Bugfix. Convert *|?:"<> characters to _ because they are forbidden on Windows paths.
+Use Time::HiRes time to get time with better precesion than the second.
+----------------------------
+revision 1.501
+date: 2012/08/13 12:59:23; author: gilles; state: Exp; lines: +101 -101
+Changed tmp dir for tests to W/tmp
+----------------------------
+revision 1.500
date: 2012/08/10 04:58:46; author: gilles; state: Exp; lines: +40 -28
Bugfix. The cache system didn't work in Win32 (problem with \ transformation)
Added option --nocheckselectable to fix INBOX issue with Jana-server.
diff --git a/Makefile b/Makefile
index 7a1d8ca..53a8df5 100644
--- a/Makefile
+++ b/Makefile
@@ -1,5 +1,5 @@
-# $Id: Makefile,v 1.96 2012/07/29 22:03:29 gilles Exp gilles $
+# $Id: Makefile,v 1.103 2012/08/29 10:24:17 gilles Exp gilles $
.PHONY: help usage all
@@ -31,8 +31,8 @@ VERSION=$(shell perl -I$(IMAPClient) ./imapsync --version)
VERSION_EXE=$(shell cat ./VERSION_EXE)
HELLO=$(shell date;uname -a)
-IMAPClient_2xx=./Mail-IMAPClient-2.2.9
-IMAPClient_3xx=./Mail-IMAPClient-3.31/lib
+IMAPClient_2xx=./W/Mail-IMAPClient-2.2.9
+IMAPClient_3xx=./W/Mail-IMAPClient-3.31/lib
IMAPClient=$(IMAPClient_3xx)
hello:
@@ -42,7 +42,6 @@ hello:
all: ChangeLog README VERSION imapsync_elf_x86.bin imapsync.exe
-
testp :
perl -c imapsync
@@ -53,7 +52,8 @@ README: imapsync
perldoc -t imapsync > README
VERSION: imapsync
- perl -I./$(IMAPClient) ./imapsync --version > VERSION
+ perl -I./$(IMAPClient) ./imapsync --version > ./VERSION
+ touch -r ./imapsync ./VERSION
.PHONY: clean clean_tilde clean_test
@@ -89,7 +89,9 @@ install: testp imapsync.1
ci: cidone
cidone:
- rcsdiff RCS/*
+ rcsdiff RCS/*
+ cd W && rcsdiff RCS/*
+ cd examples && rcsdiff RCS/*
###############
# Local goals
@@ -134,8 +136,8 @@ testf: clean_test test
.PHONY: lfo upload_lfo niouze_lfo niouze_fm public imapsync_cidone
-.dosify_bat: build_exe.bat test_exe.bat test.bat test2.bat imapsync_example.bat.txt
- unix2dos build_exe.bat test.bat test_exe.bat test2.bat imapsync_example.bat.txt
+.dosify_bat: W/build_exe.bat W/test_exe.bat W/test.bat W/test2.bat examples/imapsync_example.bat.txt
+ unix2dos W/build_exe.bat W/test.bat W/test_exe.bat W/test2.bat examples/imapsync_example.bat.txt examples/file.txt
touch .dosify_bat
dosify_bat: .dosify_bat
@@ -144,7 +146,7 @@ copy_win32:
scp imapsync Admin@c:'C:/msys/1.0/home/Admin/imapsync/'
tests_win32: dosify_bat
- scp imapsync test.bat Admin@c:'C:/msys/1.0/home/Admin/imapsync/'
+ scp imapsync W/test.bat Admin@c:'C:/msys/1.0/home/Admin/imapsync/'
# ssh Admin@c 'perl C:/msys/1.0/home/Admin/imapsync/imapsync --tests_debug'
ssh Admin@c 'perl C:/msys/1.0/home/Admin/imapsync/imapsync --tests'
ssh Admin@c 'C:/msys/1.0/home/Admin/imapsync/test.bat'
@@ -152,26 +154,26 @@ tests_win32: dosify_bat
# ssh Admin@c 'tasklist /NH /FO CSV'
tests_win32_dev: dosify_bat
- scp imapsync file.txt test2.bat Admin@c:'C:/msys/1.0/home/Admin/imapsync/'
+ scp imapsync examples/file.txt W/test2.bat Admin@c:'C:/msys/1.0/home/Admin/imapsync/'
ssh Admin@c 'C:/msys/1.0/home/Admin/imapsync/test2.bat'
test_imapsync_exe: dosify_bat
- scp test_exe.bat Admin@c:'C:/msys/1.0/home/Admin/imapsync/'
+ scp W/test_exe.bat Admin@c:'C:/msys/1.0/home/Admin/imapsync/'
time ssh Admin@c 'C:/msys/1.0/home/Admin/imapsync/test_exe.bat'
-imapsync.exe: imapsync build_exe.bat .dosify_bat
+imapsync.exe: imapsync W/build_exe.bat .dosify_bat
rcsdiff imapsync
ssh Admin@c 'perl -V'
- (date "+%s"| tr "\n" " "; echo -n "BEGIN " $(VERSION) ": "; date) >> .BUILD_EXE_TIME
- scp imapsync build_exe.bat test_exe.bat \
+ (date "+%s"| tr "\n" " "; echo -n "BEGIN " $(VERSION) ": "; date) >> W/.BUILD_EXE_TIME
+ scp imapsync W/build_exe.bat W/test_exe.bat \
Admin@c:'C:/msys/1.0/home/Admin/imapsync/'
ssh Admin@c 'C:/msys/1.0/home/Admin/imapsync/build_exe.bat'
ssh Admin@c 'C:/msys/1.0/home/Admin/imapsync/test_exe.bat'
scp Admin@c:'C:/msys/1.0/home/Admin/imapsync/imapsync.exe' .
- ssh Admin@c 'C:/msys/1.0/home/Admin/imapsync/imapsync.exe --version' > VERSION_EXE
- dos2unix VERSION_EXE
- (date "+%s"| tr "\n" " "; echo -n "END " $(VERSION) ": "; date) >> .BUILD_EXE_TIME
+ ssh Admin@c 'C:/msys/1.0/home/Admin/imapsync/imapsync.exe --version' > ./VERSION_EXE
+ dos2unix ./VERSION_EXE
+ (date "+%s"| tr "\n" " "; echo -n "END " $(VERSION) ": "; date) >> W/.BUILD_EXE_TIME
# vadrouille or petite
@@ -186,7 +188,7 @@ imapsync_elf_x86.bin: imapsync
} || :
{ test 'petite' = "`hostname`" && \
pp -o imapsync_elf_x86.bin -I $(IMAPClient_3xx) \
- -I NTLM-1.09/blib/lib \
+ -I W/NTLM-1.09/blib/lib \
-M Mail::IMAPClient -M IO::Socket -M IO::Socket::SSL \
-M Digest::MD5 -M Digest::HMAC_MD5 -M Term::ReadKey \
-M Authen::NTLM \
@@ -255,30 +257,49 @@ dist_prepa_exe: imapsync.exe
.PHONY: publish upload_ks ks
ks:
- rsync -avz --delete --exclude imapsync.exe \
+ rsync -avHz --delete --exclude imapsync.exe \
+ . imapsync@ks.lamiral.info:public_html/imapsync/
+
+ksa:
+ rsync -avHz --delete \
. imapsync@ks.lamiral.info:public_html/imapsync/
publish: upload_ks ks
PUBLIC_FILES = ./ChangeLog ./COPYING ./CREDITS ./FAQ \
-./index.shtml ./INSTALL ./TIME \
-./logo_imapsync.png ./logo_imapsync_s.png \
-./paypal.shtml ./paypal_return.shtml ./paypal_return_support.shtml \
-./README ./style.css ./TODO ./VERSION ./VERSION_EXE ./memo ./file.txt \
-./imapsync_example.bat.txt
+./index.shtml ./INSTALL \
+./README ./TODO
-upload_ks:
+PUBLIC_FILES_W = ./W/style.css \
+./TIME \
+./VERSION ./VERSION_EXE \
+./W/paypal.shtml ./W/paypal_return.shtml ./W/paypal_return_support.shtml
+
+
+PUBLIC_FILES_IMAGES = ./W/images/logo_imapsync.png ./W/images/logo_imapsync_s.png
+
+
+upload_ks: ci
rsync -lptvHzP $(PUBLIC_FILES) \
root@ks.lamiral.info:/var/www/imapsync/
+ rsync -lptvHzP $(PUBLIC_FILES_W) \
+ root@ks.lamiral.info:/var/www/imapsync/W/
+ rsync -lptvHzP $(PUBLIC_FILES_IMAGES) \
+ root@ks.lamiral.info:/var/www/imapsync/W/images/
+ rsync -lptvHzP ./W/ks.htaccess \
+ root@ks.lamiral.info:/var/www/imapsync/.htaccess
rsync -lptvHzrP ./dist/ \
root@ks.lamiral.info:/var/www/imapsync/dist/
+ rsync -lptvHzrP ./examples/ \
+ root@ks.lamiral.info:/var/www/imapsync/examples/
upload_lfo:
#rm -rf /home/gilles/public_html/www.linux-france.org/html/prj/imapsync/
#rm -rf /home/gilles/public_html/www.linux-france.org/ftp/prj/imapsync/
- rsync -avHz $(PUBLIC_FILES) \
- /home/gilles/public_html/www.linux-france.org/html/prj/imapsync/
- rsync -lptvHzP ./lfo.htaccess \
+ #rsync -avHz $(PUBLIC_FILES) \
+ #/home/gilles/public_html/www.linux-france.org/html/prj/imapsync/
+ rsync -lptvHzP ./W/memo glamiral@linux-france.org:imapsync_stats/memo
+ rsync -lptvHzP ./W/lfo.htaccess \
/home/gilles/public_html/www.linux-france.org/html/prj/imapsync/.htaccess
sh ~/memo/lfo-rsync
diff --git a/README b/README
index 27cca89..70ae444 100644
--- a/README
+++ b/README
@@ -3,7 +3,7 @@ NAME
Synchronise mailboxes between two imap servers. Good at IMAP migration.
More than 44 different IMAP server softwares supported with success.
- $Revision: 1.500 $
+ $Revision: 1.504 $
SYNOPSIS
To synchronise imap account "foo" on "imap.truc.org" to imap account
@@ -440,5 +440,5 @@ SIMILAR SOFTWARES
Feedback (good or bad) will often be welcome.
- $Id: imapsync,v 1.500 2012/08/10 04:58:46 gilles Exp gilles $
+ $Id: imapsync,v 1.504 2012/08/28 13:10:26 gilles Exp gilles $
diff --git a/VERSION b/VERSION
index 327925c..8178b0b 100644
--- a/VERSION
+++ b/VERSION
@@ -1 +1 @@
-1.500
+1.504
diff --git a/VERSION_EXE b/VERSION_EXE
index 327925c..8178b0b 100644
--- a/VERSION_EXE
+++ b/VERSION_EXE
@@ -1 +1 @@
-1.500
+1.504
diff --git a/W/.BUILD_EXE_TIME b/W/.BUILD_EXE_TIME
new file mode 100644
index 0000000..044bd0d
--- /dev/null
+++ b/W/.BUILD_EXE_TIME
@@ -0,0 +1,154 @@
+1287414970 BEGIN 1.359 : lundi 18 octobre 2010, 17:16:10 (UTC+0200)
+1287415485 END 1.359 : lundi 18 octobre 2010, 17:24:45 (UTC+0200)
+1287529537 BEGIN 1.361 : mercredi 20 octobre 2010, 01:05:37 (UTC+0200)
+1287530365 END 1.361 : mercredi 20 octobre 2010, 01:19:25 (UTC+0200)
+1287959884 BEGIN 1.363 : lundi 25 octobre 2010, 00:38:04 (UTC+0200)
+1287959962 BEGIN 1.363 : lundi 25 octobre 2010, 00:39:22 (UTC+0200)
+1287961164 END 1.363 : lundi 25 octobre 2010, 00:59:24 (UTC+0200)
+1288000749 BEGIN 1.364 : lundi 25 octobre 2010, 11:59:09 (UTC+0200)
+1288001592 END 1.364 : lundi 25 octobre 2010, 12:13:12 (UTC+0200)
+1288007207 BEGIN 1.365 : lundi 25 octobre 2010, 13:46:47 (UTC+0200)
+1288007339 BEGIN 1.365 : lundi 25 octobre 2010, 13:48:59 (UTC+0200)
+1288007381 BEGIN 1.365 : lundi 25 octobre 2010, 13:49:41 (UTC+0200)
+1288008514 END 1.365 : lundi 25 octobre 2010, 14:08:34 (UTC+0200)
+1288027748 BEGIN 1.366 : lundi 25 octobre 2010, 19:29:08 (UTC+0200)
+1288028635 END 1.366 : lundi 25 octobre 2010, 19:43:55 (UTC+0200)
+1288392218 BEGIN 1.366 : samedi 30 octobre 2010, 00:43:38 (UTC+0200)
+1288392376 BEGIN 1.366 : samedi 30 octobre 2010, 00:46:16 (UTC+0200)
+1288393061 BEGIN 1.366 : samedi 30 octobre 2010, 00:57:41 (UTC+0200)
+1288394122 END 1.366 : samedi 30 octobre 2010, 01:15:22 (UTC+0200)
+1288441141 BEGIN 1.366 : samedi 30 octobre 2010, 14:19:01 (UTC+0200)
+1288442098 END 1.366 : samedi 30 octobre 2010, 14:34:58 (UTC+0200)
+1288672517 BEGIN 1.370 : mardi 2 novembre 2010, 05:35:17 (UTC+0100)
+1288673466 END 1.370 : mardi 2 novembre 2010, 05:51:06 (UTC+0100)
+1288749547 BEGIN 1.372 : mercredi 3 novembre 2010, 02:59:07 (UTC+0100)
+1288750449 END 1.372 : mercredi 3 novembre 2010, 03:14:09 (UTC+0100)
+1289172807 BEGIN 1.375 : lundi 8 novembre 2010, 00:33:27 (UTC+0100)
+1289173896 BEGIN 1.375 : lundi 8 novembre 2010, 00:51:36 (UTC+0100)
+1289174968 END 1.375 : lundi 8 novembre 2010, 01:09:28 (UTC+0100)
+1289267414 BEGIN 1.376 : mardi 9 novembre 2010, 02:50:14 (UTC+0100)
+1289268358 END 1.376 : mardi 9 novembre 2010, 03:05:58 (UTC+0100)
+1289268882 BEGIN 1.377 : mardi 9 novembre 2010, 03:14:42 (UTC+0100)
+1289269805 END 1.377 : mardi 9 novembre 2010, 03:30:05 (UTC+0100)
+1289530140 BEGIN 1.379 : vendredi 12 novembre 2010, 03:49:00 (UTC+0100)
+1289530697 END 1.379 : vendredi 12 novembre 2010, 03:58:17 (UTC+0100)
+1290919960 BEGIN 1.383 : dimanche 28 novembre 2010, 05:52:40 (UTC+0100)
+1290920529 END 1.383 : dimanche 28 novembre 2010, 06:02:09 (UTC+0100)
+1293675398 BEGIN 1.388 : jeudi 30 décembre 2010, 03:16:38 (UTC+0100)
+1293675986 END 1.388 : jeudi 30 décembre 2010, 03:26:26 (UTC+0100)
+1294638763 BEGIN 1.390 : lundi 10 janvier 2011, 06:52:43 (UTC+0100)
+1294639451 END 1.390 : lundi 10 janvier 2011, 07:04:11 (UTC+0100)
+1295319336 BEGIN 1.397 : mardi 18 janvier 2011, 03:55:36 (UTC+0100)
+1295319857 BEGIN 1.398 : mardi 18 janvier 2011, 04:04:17 (UTC+0100)
+1295320425 END 1.398 : mardi 18 janvier 2011, 04:13:45 (UTC+0100)
+1297861110 BEGIN 1.402 : mercredi 16 février 2011, 13:58:30 (UTC+0100)
+1297861912 END 1.402 : mercredi 16 février 2011, 14:11:52 (UTC+0100)
+1298253714 BEGIN 1.403 : lundi 21 février 2011, 03:01:54 (UTC+0100)
+1298254508 END 1.403 : lundi 21 février 2011, 03:15:08 (UTC+0100)
+1298255478 BEGIN 1.403 : lundi 21 février 2011, 03:31:18 (UTC+0100)
+1298256141 END 1.403 : lundi 21 février 2011, 03:42:21 (UTC+0100)
+1298260592 BEGIN 1.404 : lundi 21 février 2011, 04:56:32 (UTC+0100)
+1298261452 END 1.404 : lundi 21 février 2011, 05:10:52 (UTC+0100)
+1301785718 BEGIN 1.407 : dimanche 3 avril 2011, 01:08:38 (UTC+0200)
+1301848291 BEGIN 1.407 : dimanche 3 avril 2011, 18:31:31 (UTC+0200)
+1301848906 END 1.407 : dimanche 3 avril 2011, 18:41:46 (UTC+0200)
+1303254735 BEGIN 1.410 : mercredi 20 avril 2011, 01:12:15 (UTC+0200)
+1303255348 END 1.410 : mercredi 20 avril 2011, 01:22:28 (UTC+0200)
+1303256202 BEGIN 1.411 : mercredi 20 avril 2011, 01:36:42 (UTC+0200)
+1303256792 END 1.411 : mercredi 20 avril 2011, 01:46:32 (UTC+0200)
+1304002264 BEGIN 1.412 : jeudi 28 avril 2011, 16:51:04 (UTC+0200)
+1304002897 END 1.412 : jeudi 28 avril 2011, 17:01:37 (UTC+0200)
+1304123317 BEGIN 1.414 : samedi 30 avril 2011, 02:28:37 (UTC+0200)
+1304123975 END 1.414 : samedi 30 avril 2011, 02:39:35 (UTC+0200)
+1304213299 BEGIN 1.415 : dimanche 1 mai 2011, 03:28:19 (UTC+0200)
+1304213991 END 1.415 : dimanche 1 mai 2011, 03:39:51 (UTC+0200)
+1304611981 BEGIN 1.417 : jeudi 5 mai 2011, 18:13:01 (UTC+0200)
+1304612684 END 1.417 : jeudi 5 mai 2011, 18:24:44 (UTC+0200)
+1304816113 BEGIN 1.420 : dimanche 8 mai 2011, 02:55:13 (UTC+0200)
+1304816775 END 1.420 : dimanche 8 mai 2011, 03:06:15 (UTC+0200)
+1304876623 BEGIN 1.422 : dimanche 8 mai 2011, 19:43:43 (UTC+0200)
+1304877295 END 1.422 : dimanche 8 mai 2011, 19:54:55 (UTC+0200)
+1305335556 BEGIN 1.425 : samedi 14 mai 2011, 03:12:36 (UTC+0200)
+1305335701 BEGIN 1.426 : samedi 14 mai 2011, 03:15:01 (UTC+0200)
+1305335893 BEGIN 1.426 : samedi 14 mai 2011, 03:18:13 (UTC+0200)
+1305336587 END 1.426 : samedi 14 mai 2011, 03:29:47 (UTC+0200)
+1305337730 BEGIN 1.427 : samedi 14 mai 2011, 03:48:50 (UTC+0200)
+1305338433 END 1.427 : samedi 14 mai 2011, 04:00:33 (UTC+0200)
+1305340416 BEGIN 1.428 : samedi 14 mai 2011, 04:33:36 (UTC+0200)
+1305341178 END 1.428 : samedi 14 mai 2011, 04:46:18 (UTC+0200)
+1305421759 BEGIN 1.431 : dimanche 15 mai 2011, 03:09:19 (UTC+0200)
+1305422519 END 1.431 : dimanche 15 mai 2011, 03:21:59 (UTC+0200)
+1305516015 BEGIN 1.433 : lundi 16 mai 2011, 05:20:16 (UTC+0200)
+1305516805 END 1.433 : lundi 16 mai 2011, 05:33:25 (UTC+0200)
+1305530708 BEGIN 1.434 : lundi 16 mai 2011, 09:25:08 (UTC+0200)
+1305531494 END 1.434 : lundi 16 mai 2011, 09:38:14 (UTC+0200)
+1305566629 BEGIN 1.434 : lundi 16 mai 2011, 19:23:49 (UTC+0200)
+1306773025 BEGIN 1.444 : lundi 30 mai 2011, 18:30:25 (UTC+0200)
+1306774566 BEGIN 1.444 : lundi 30 mai 2011, 18:56:06 (UTC+0200)
+1306775410 END 1.444 : lundi 30 mai 2011, 19:10:10 (UTC+0200)
+1306792918 BEGIN 1.444 : mardi 31 mai 2011, 00:01:58 (UTC+0200)
+1306793766 END 1.444 : mardi 31 mai 2011, 00:16:06 (UTC+0200)
+1306834735 BEGIN 1.446 : mardi 31 mai 2011, 11:38:55 (UTC+0200)
+1306835728 END 1.446 : mardi 31 mai 2011, 11:55:28 (UTC+0200)
+1310344505 BEGIN 1.452 : lundi 11 juillet 2011, 02:35:05 (UTC+0200)
+1310345745 BEGIN 1.452 : lundi 11 juillet 2011, 02:55:45 (UTC+0200)
+1310345934 BEGIN 1.452 : lundi 11 juillet 2011, 02:58:54 (UTC+0200)
+1310346470 END 1.452 : lundi 11 juillet 2011, 03:07:50 (UTC+0200)
+1310657415 BEGIN 1.452 : jeudi 14 juillet 2011, 17:30:15 (UTC+0200)
+1310658721 END 1.452 : jeudi 14 juillet 2011, 17:52:01 (UTC+0200)
+1311908493 BEGIN 1.455 : vendredi 29 juillet 2011, 05:01:33 (UTC+0200)
+1311909777 END 1.455 : vendredi 29 juillet 2011, 05:22:57 (UTC+0200)
+1314166856 BEGIN 1.456 : mercredi 24 août 2011, 08:20:56 (UTC+0200)
+1314168142 END 1.456 : mercredi 24 août 2011, 08:42:22 (UTC+0200)
+1314171749 BEGIN 1.456 : mercredi 24 août 2011, 09:42:29 (UTC+0200)
+1314173017 END 1.456 : mercredi 24 août 2011, 10:03:37 (UTC+0200)
+1321108837 BEGIN 1.462 : samedi 12 novembre 2011, 15:40:37 (UTC+0100)
+1321129414 BEGIN 1.462 : samedi 12 novembre 2011, 21:23:34 (UTC+0100)
+1321130650 END 1.462 : samedi 12 novembre 2011, 21:44:10 (UTC+0100)
+1321176819 BEGIN 1.463 : dimanche 13 novembre 2011, 10:33:40 (UTC+0100)
+1321178088 END 1.463 : dimanche 13 novembre 2011, 10:54:48 (UTC+0100)
+1321319225 BEGIN 1.464 : mardi 15 novembre 2011, 02:07:05 (UTC+0100)
+1321320488 END 1.464 : mardi 15 novembre 2011, 02:28:08 (UTC+0100)
+1321581274 BEGIN 1.468 : vendredi 18 novembre 2011, 02:54:34 (UTC+0100)
+1321582671 END 1.468 : vendredi 18 novembre 2011, 03:17:51 (UTC+0100)
+1321630549 BEGIN 1.468 : vendredi 18 novembre 2011, 16:35:49 (UTC+0100)
+1321631939 END 1.468 : vendredi 18 novembre 2011, 16:58:59 (UTC+0100)
+1322799435 BEGIN 1.473 : vendredi 2 décembre 2011, 05:17:15 (UTC+0100)
+1322800825 END 1.473 : vendredi 2 décembre 2011, 05:40:25 (UTC+0100)
+1323481197 BEGIN 1.476 : samedi 10 décembre 2011, 02:39:57 (UTC+0100)
+1323483957 END 1.476 : samedi 10 décembre 2011, 03:25:57 (UTC+0100)
+1325999759 BEGIN 1.480 : dimanche 8 janvier 2012, 06:15:59 (UTC+0100)
+1326001199 END 1.480 : dimanche 8 janvier 2012, 06:39:59 (UTC+0100)
+1326006966 BEGIN 1.480 : dimanche 8 janvier 2012, 08:16:06 (UTC+0100)
+1326008395 END 1.480 : dimanche 8 janvier 2012, 08:39:55 (UTC+0100)
+1328570342 BEGIN 1.483 : mardi 7 février 2012, 00:19:02 (UTC+0100)
+1328579636 BEGIN 1.484 : mardi 7 février 2012, 02:53:56 (UTC+0100)
+1328582268 END 1.484 : mardi 7 février 2012, 03:37:48 (UTC+0100)
+1328612115 BEGIN 1.484 : mardi 7 février 2012, 11:55:15 (UTC+0100)
+1328614619 END 1.484 : mardi 7 février 2012, 12:36:59 (UTC+0100)
+1330180997 BEGIN 1.486 : samedi 25 février 2012, 15:43:17 (UTC+0100)
+1330183785 END 1.486 : samedi 25 février 2012, 16:29:45 (UTC+0100)
+1330493497 BEGIN 1.487 : mercredi 29 février 2012, 06:31:37 (UTC+0100)
+1330496194 END 1.487 : mercredi 29 février 2012, 07:16:34 (UTC+0100)
+1334360626 BEGIN 1.487 : samedi 14 avril 2012, 01:43:46 (UTC+0200)
+1334361596 END 1.487 : samedi 14 avril 2012, 01:59:56 (UTC+0200)
+1334511846 BEGIN 1.488 : dimanche 15 avril 2012, 19:44:07 (UTC+0200)
+1334512816 END 1.488 : dimanche 15 avril 2012, 20:00:16 (UTC+0200)
+1342519040 BEGIN 1.497 : mardi 17 juillet 2012, 11:57:20 (UTC+0200)
+1342520082 END 1.497 : mardi 17 juillet 2012, 12:14:42 (UTC+0200)
+1342795821 BEGIN 1.498 : vendredi 20 juillet 2012, 16:50:21 (UTC+0200)
+1342796692 BEGIN 1.498 : vendredi 20 juillet 2012, 17:04:52 (UTC+0200)
+1342796879 END 1.498 : vendredi 20 juillet 2012, 17:07:59 (UTC+0200)
+1342797789 END 1.498 : vendredi 20 juillet 2012, 17:23:09 (UTC+0200)
+1344574981 BEGIN 1.500 : vendredi 10 août 2012, 07:03:01 (UTC+0200)
+1344576351 END 1.500 : vendredi 10 août 2012, 07:25:51 (UTC+0200)
+1344637410 BEGIN 1.500 : samedi 11 août 2012, 00:23:30 (UTC+0200)
+1344638512 END 1.500 : samedi 11 août 2012, 00:41:52 (UTC+0200)
+1344862816 BEGIN 1.501 : lundi 13 août 2012, 15:00:16 (UTC+0200)
+1344864048 END 1.501 : lundi 13 août 2012, 15:20:48 (UTC+0200)
+1346111304 BEGIN 1.503 : mardi 28 août 2012, 01:48:25 (UTC+0200)
+1346112385 END 1.503 : mardi 28 août 2012, 02:06:25 (UTC+0200)
+1346159791 BEGIN 1.504 : mardi 28 août 2012, 15:16:31 (UTC+0200)
+1346160945 END 1.504 : mardi 28 août 2012, 15:35:45 (UTC+0200)
+1346241775 BEGIN 1.504 : mercredi 29 août 2012, 14:02:55 (UTC+0200)
+1346242932 END 1.504 : mercredi 29 août 2012, 14:22:12 (UTC+0200)
diff --git a/Mail-IMAPClient-2.2.9/Artistic b/W/Mail-IMAPClient-2.2.9/Artistic
similarity index 100%
rename from Mail-IMAPClient-2.2.9/Artistic
rename to W/Mail-IMAPClient-2.2.9/Artistic
diff --git a/Mail-IMAPClient-2.2.9/BUG_REPORTS b/W/Mail-IMAPClient-2.2.9/BUG_REPORTS
similarity index 100%
rename from Mail-IMAPClient-2.2.9/BUG_REPORTS
rename to W/Mail-IMAPClient-2.2.9/BUG_REPORTS
diff --git a/Mail-IMAPClient-2.2.9/BodyStructure/BodyStructure.pm b/W/Mail-IMAPClient-2.2.9/BodyStructure/BodyStructure.pm
similarity index 100%
rename from Mail-IMAPClient-2.2.9/BodyStructure/BodyStructure.pm
rename to W/Mail-IMAPClient-2.2.9/BodyStructure/BodyStructure.pm
diff --git a/Mail-IMAPClient-2.2.9/BodyStructure/COPYRIGHT b/W/Mail-IMAPClient-2.2.9/BodyStructure/COPYRIGHT
similarity index 100%
rename from Mail-IMAPClient-2.2.9/BodyStructure/COPYRIGHT
rename to W/Mail-IMAPClient-2.2.9/BodyStructure/COPYRIGHT
diff --git a/Mail-IMAPClient-2.2.9/BodyStructure/Makefile.PL b/W/Mail-IMAPClient-2.2.9/BodyStructure/Makefile.PL
similarity index 100%
rename from Mail-IMAPClient-2.2.9/BodyStructure/Makefile.PL
rename to W/Mail-IMAPClient-2.2.9/BodyStructure/Makefile.PL
diff --git a/Mail-IMAPClient-2.2.9/BodyStructure/Parse/Makefile.PL b/W/Mail-IMAPClient-2.2.9/BodyStructure/Parse/Makefile.PL
similarity index 100%
rename from Mail-IMAPClient-2.2.9/BodyStructure/Parse/Makefile.PL
rename to W/Mail-IMAPClient-2.2.9/BodyStructure/Parse/Makefile.PL
diff --git a/Mail-IMAPClient-2.2.9/BodyStructure/Parse/Parse.grammar_new b/W/Mail-IMAPClient-2.2.9/BodyStructure/Parse/Parse.grammar_new
similarity index 100%
rename from Mail-IMAPClient-2.2.9/BodyStructure/Parse/Parse.grammar_new
rename to W/Mail-IMAPClient-2.2.9/BodyStructure/Parse/Parse.grammar_new
diff --git a/Mail-IMAPClient-2.2.9/BodyStructure/Parse/Parse.grammar_old b/W/Mail-IMAPClient-2.2.9/BodyStructure/Parse/Parse.grammar_old
similarity index 100%
rename from Mail-IMAPClient-2.2.9/BodyStructure/Parse/Parse.grammar_old
rename to W/Mail-IMAPClient-2.2.9/BodyStructure/Parse/Parse.grammar_old
diff --git a/Mail-IMAPClient-2.2.9/BodyStructure/Parse/Parse.pod b/W/Mail-IMAPClient-2.2.9/BodyStructure/Parse/Parse.pod
similarity index 100%
rename from Mail-IMAPClient-2.2.9/BodyStructure/Parse/Parse.pod
rename to W/Mail-IMAPClient-2.2.9/BodyStructure/Parse/Parse.pod
diff --git a/Mail-IMAPClient-2.2.9/BodyStructure/Parse/t/parse.t b/W/Mail-IMAPClient-2.2.9/BodyStructure/Parse/t/parse.t
similarity index 100%
rename from Mail-IMAPClient-2.2.9/BodyStructure/Parse/t/parse.t
rename to W/Mail-IMAPClient-2.2.9/BodyStructure/Parse/t/parse.t
diff --git a/Mail-IMAPClient-2.2.9/BodyStructure/t/bodystructure.t b/W/Mail-IMAPClient-2.2.9/BodyStructure/t/bodystructure.t
similarity index 100%
rename from Mail-IMAPClient-2.2.9/BodyStructure/t/bodystructure.t
rename to W/Mail-IMAPClient-2.2.9/BodyStructure/t/bodystructure.t
diff --git a/Mail-IMAPClient-2.2.9/COPYRIGHT b/W/Mail-IMAPClient-2.2.9/COPYRIGHT
similarity index 100%
rename from Mail-IMAPClient-2.2.9/COPYRIGHT
rename to W/Mail-IMAPClient-2.2.9/COPYRIGHT
diff --git a/Mail-IMAPClient-2.2.9/Changes b/W/Mail-IMAPClient-2.2.9/Changes
similarity index 100%
rename from Mail-IMAPClient-2.2.9/Changes
rename to W/Mail-IMAPClient-2.2.9/Changes
diff --git a/Mail-IMAPClient-2.2.9/Copying b/W/Mail-IMAPClient-2.2.9/Copying
similarity index 100%
rename from Mail-IMAPClient-2.2.9/Copying
rename to W/Mail-IMAPClient-2.2.9/Copying
diff --git a/Mail-IMAPClient-2.2.9/IMAPClient b/W/Mail-IMAPClient-2.2.9/IMAPClient
similarity index 100%
rename from Mail-IMAPClient-2.2.9/IMAPClient
rename to W/Mail-IMAPClient-2.2.9/IMAPClient
diff --git a/Mail-IMAPClient-2.2.9/IMAPClient.pm b/W/Mail-IMAPClient-2.2.9/IMAPClient.pm
similarity index 100%
rename from Mail-IMAPClient-2.2.9/IMAPClient.pm
rename to W/Mail-IMAPClient-2.2.9/IMAPClient.pm
diff --git a/Mail-IMAPClient-2.2.9/IMAPClient.pod b/W/Mail-IMAPClient-2.2.9/IMAPClient.pod
similarity index 100%
rename from Mail-IMAPClient-2.2.9/IMAPClient.pod
rename to W/Mail-IMAPClient-2.2.9/IMAPClient.pod
diff --git a/Mail-IMAPClient-2.2.9/INSTALL b/W/Mail-IMAPClient-2.2.9/INSTALL
similarity index 100%
rename from Mail-IMAPClient-2.2.9/INSTALL
rename to W/Mail-IMAPClient-2.2.9/INSTALL
diff --git a/Mail-IMAPClient-2.2.9/INSTALL_perl5.80 b/W/Mail-IMAPClient-2.2.9/INSTALL_perl5.80
similarity index 100%
rename from Mail-IMAPClient-2.2.9/INSTALL_perl5.80
rename to W/Mail-IMAPClient-2.2.9/INSTALL_perl5.80
diff --git a/Mail-IMAPClient-2.2.9/MANIFEST b/W/Mail-IMAPClient-2.2.9/MANIFEST
similarity index 100%
rename from Mail-IMAPClient-2.2.9/MANIFEST
rename to W/Mail-IMAPClient-2.2.9/MANIFEST
diff --git a/Mail-IMAPClient-2.2.9/Mail b/W/Mail-IMAPClient-2.2.9/Mail
similarity index 100%
rename from Mail-IMAPClient-2.2.9/Mail
rename to W/Mail-IMAPClient-2.2.9/Mail
diff --git a/Mail-IMAPClient-2.2.9/Makefile.PL b/W/Mail-IMAPClient-2.2.9/Makefile.PL
similarity index 100%
rename from Mail-IMAPClient-2.2.9/Makefile.PL
rename to W/Mail-IMAPClient-2.2.9/Makefile.PL
diff --git a/Mail-IMAPClient-2.2.9/MessageSet.pm b/W/Mail-IMAPClient-2.2.9/MessageSet.pm
similarity index 100%
rename from Mail-IMAPClient-2.2.9/MessageSet.pm
rename to W/Mail-IMAPClient-2.2.9/MessageSet.pm
diff --git a/Mail-IMAPClient-2.2.9/MessageSet/COPYRIGHT b/W/Mail-IMAPClient-2.2.9/MessageSet/COPYRIGHT
similarity index 100%
rename from Mail-IMAPClient-2.2.9/MessageSet/COPYRIGHT
rename to W/Mail-IMAPClient-2.2.9/MessageSet/COPYRIGHT
diff --git a/Mail-IMAPClient-2.2.9/MessageSet/Makefile.PL b/W/Mail-IMAPClient-2.2.9/MessageSet/Makefile.PL
similarity index 100%
rename from Mail-IMAPClient-2.2.9/MessageSet/Makefile.PL
rename to W/Mail-IMAPClient-2.2.9/MessageSet/Makefile.PL
diff --git a/Mail-IMAPClient-2.2.9/MessageSet/MessageSet.pm b/W/Mail-IMAPClient-2.2.9/MessageSet/MessageSet.pm
similarity index 100%
rename from Mail-IMAPClient-2.2.9/MessageSet/MessageSet.pm
rename to W/Mail-IMAPClient-2.2.9/MessageSet/MessageSet.pm
diff --git a/Mail-IMAPClient-2.2.9/MessageSet/t/range.t b/W/Mail-IMAPClient-2.2.9/MessageSet/t/range.t
similarity index 100%
rename from Mail-IMAPClient-2.2.9/MessageSet/t/range.t
rename to W/Mail-IMAPClient-2.2.9/MessageSet/t/range.t
diff --git a/Mail-IMAPClient-2.2.9/README b/W/Mail-IMAPClient-2.2.9/README
similarity index 100%
rename from Mail-IMAPClient-2.2.9/README
rename to W/Mail-IMAPClient-2.2.9/README
diff --git a/Mail-IMAPClient-2.2.9/Thread/COPYRIGHT b/W/Mail-IMAPClient-2.2.9/Thread/COPYRIGHT
similarity index 100%
rename from Mail-IMAPClient-2.2.9/Thread/COPYRIGHT
rename to W/Mail-IMAPClient-2.2.9/Thread/COPYRIGHT
diff --git a/Mail-IMAPClient-2.2.9/Thread/Makefile.PL b/W/Mail-IMAPClient-2.2.9/Thread/Makefile.PL
similarity index 100%
rename from Mail-IMAPClient-2.2.9/Thread/Makefile.PL
rename to W/Mail-IMAPClient-2.2.9/Thread/Makefile.PL
diff --git a/Mail-IMAPClient-2.2.9/Thread/Thread.grammar_new b/W/Mail-IMAPClient-2.2.9/Thread/Thread.grammar_new
similarity index 100%
rename from Mail-IMAPClient-2.2.9/Thread/Thread.grammar_new
rename to W/Mail-IMAPClient-2.2.9/Thread/Thread.grammar_new
diff --git a/Mail-IMAPClient-2.2.9/Thread/Thread.grammar_old b/W/Mail-IMAPClient-2.2.9/Thread/Thread.grammar_old
similarity index 100%
rename from Mail-IMAPClient-2.2.9/Thread/Thread.grammar_old
rename to W/Mail-IMAPClient-2.2.9/Thread/Thread.grammar_old
diff --git a/Mail-IMAPClient-2.2.9/Thread/Thread.pod b/W/Mail-IMAPClient-2.2.9/Thread/Thread.pod
similarity index 100%
rename from Mail-IMAPClient-2.2.9/Thread/Thread.pod
rename to W/Mail-IMAPClient-2.2.9/Thread/Thread.pod
diff --git a/Mail-IMAPClient-2.2.9/Thread/t/thread.t b/W/Mail-IMAPClient-2.2.9/Thread/t/thread.t
similarity index 100%
rename from Mail-IMAPClient-2.2.9/Thread/t/thread.t
rename to W/Mail-IMAPClient-2.2.9/Thread/t/thread.t
diff --git a/Mail-IMAPClient-2.2.9/Todo b/W/Mail-IMAPClient-2.2.9/Todo
similarity index 100%
rename from Mail-IMAPClient-2.2.9/Todo
rename to W/Mail-IMAPClient-2.2.9/Todo
diff --git a/Mail-IMAPClient-2.2.9/docs/COPYRIGHT b/W/Mail-IMAPClient-2.2.9/docs/COPYRIGHT
similarity index 100%
rename from Mail-IMAPClient-2.2.9/docs/COPYRIGHT
rename to W/Mail-IMAPClient-2.2.9/docs/COPYRIGHT
diff --git a/Mail-IMAPClient-2.2.9/docs/draft-crispin-imapv-17.txt b/W/Mail-IMAPClient-2.2.9/docs/draft-crispin-imapv-17.txt
similarity index 100%
rename from Mail-IMAPClient-2.2.9/docs/draft-crispin-imapv-17.txt
rename to W/Mail-IMAPClient-2.2.9/docs/draft-crispin-imapv-17.txt
diff --git a/Mail-IMAPClient-2.2.9/docs/draft-ietf-imapext-annotate-04.txt b/W/Mail-IMAPClient-2.2.9/docs/draft-ietf-imapext-annotate-04.txt
similarity index 100%
rename from Mail-IMAPClient-2.2.9/docs/draft-ietf-imapext-annotate-04.txt
rename to W/Mail-IMAPClient-2.2.9/docs/draft-ietf-imapext-annotate-04.txt
diff --git a/Mail-IMAPClient-2.2.9/docs/draft-ietf-imapext-sort-06.txt b/W/Mail-IMAPClient-2.2.9/docs/draft-ietf-imapext-sort-06.txt
similarity index 100%
rename from Mail-IMAPClient-2.2.9/docs/draft-ietf-imapext-sort-06.txt
rename to W/Mail-IMAPClient-2.2.9/docs/draft-ietf-imapext-sort-06.txt
diff --git a/Mail-IMAPClient-2.2.9/docs/draft-ietf-imapext-thread-11.txt b/W/Mail-IMAPClient-2.2.9/docs/draft-ietf-imapext-thread-11.txt
similarity index 100%
rename from Mail-IMAPClient-2.2.9/docs/draft-ietf-imapext-thread-11.txt
rename to W/Mail-IMAPClient-2.2.9/docs/draft-ietf-imapext-thread-11.txt
diff --git a/Mail-IMAPClient-2.2.9/docs/rfc1731.txt b/W/Mail-IMAPClient-2.2.9/docs/rfc1731.txt
similarity index 100%
rename from Mail-IMAPClient-2.2.9/docs/rfc1731.txt
rename to W/Mail-IMAPClient-2.2.9/docs/rfc1731.txt
diff --git a/Mail-IMAPClient-2.2.9/docs/rfc1732.txt b/W/Mail-IMAPClient-2.2.9/docs/rfc1732.txt
similarity index 100%
rename from Mail-IMAPClient-2.2.9/docs/rfc1732.txt
rename to W/Mail-IMAPClient-2.2.9/docs/rfc1732.txt
diff --git a/Mail-IMAPClient-2.2.9/docs/rfc1733.txt b/W/Mail-IMAPClient-2.2.9/docs/rfc1733.txt
similarity index 100%
rename from Mail-IMAPClient-2.2.9/docs/rfc1733.txt
rename to W/Mail-IMAPClient-2.2.9/docs/rfc1733.txt
diff --git a/Mail-IMAPClient-2.2.9/docs/rfc2060.txt b/W/Mail-IMAPClient-2.2.9/docs/rfc2060.txt
similarity index 100%
rename from Mail-IMAPClient-2.2.9/docs/rfc2060.txt
rename to W/Mail-IMAPClient-2.2.9/docs/rfc2060.txt
diff --git a/Mail-IMAPClient-2.2.9/docs/rfc2061.txt b/W/Mail-IMAPClient-2.2.9/docs/rfc2061.txt
similarity index 100%
rename from Mail-IMAPClient-2.2.9/docs/rfc2061.txt
rename to W/Mail-IMAPClient-2.2.9/docs/rfc2061.txt
diff --git a/Mail-IMAPClient-2.2.9/docs/rfc2062.txt b/W/Mail-IMAPClient-2.2.9/docs/rfc2062.txt
similarity index 100%
rename from Mail-IMAPClient-2.2.9/docs/rfc2062.txt
rename to W/Mail-IMAPClient-2.2.9/docs/rfc2062.txt
diff --git a/Mail-IMAPClient-2.2.9/docs/rfc2086.txt b/W/Mail-IMAPClient-2.2.9/docs/rfc2086.txt
similarity index 100%
rename from Mail-IMAPClient-2.2.9/docs/rfc2086.txt
rename to W/Mail-IMAPClient-2.2.9/docs/rfc2086.txt
diff --git a/Mail-IMAPClient-2.2.9/docs/rfc2087.txt b/W/Mail-IMAPClient-2.2.9/docs/rfc2087.txt
similarity index 100%
rename from Mail-IMAPClient-2.2.9/docs/rfc2087.txt
rename to W/Mail-IMAPClient-2.2.9/docs/rfc2087.txt
diff --git a/Mail-IMAPClient-2.2.9/docs/rfc2088.txt b/W/Mail-IMAPClient-2.2.9/docs/rfc2088.txt
similarity index 100%
rename from Mail-IMAPClient-2.2.9/docs/rfc2088.txt
rename to W/Mail-IMAPClient-2.2.9/docs/rfc2088.txt
diff --git a/Mail-IMAPClient-2.2.9/docs/rfc2177.txt b/W/Mail-IMAPClient-2.2.9/docs/rfc2177.txt
similarity index 100%
rename from Mail-IMAPClient-2.2.9/docs/rfc2177.txt
rename to W/Mail-IMAPClient-2.2.9/docs/rfc2177.txt
diff --git a/Mail-IMAPClient-2.2.9/docs/rfc2180.txt b/W/Mail-IMAPClient-2.2.9/docs/rfc2180.txt
similarity index 100%
rename from Mail-IMAPClient-2.2.9/docs/rfc2180.txt
rename to W/Mail-IMAPClient-2.2.9/docs/rfc2180.txt
diff --git a/Mail-IMAPClient-2.2.9/docs/rfc2192.txt b/W/Mail-IMAPClient-2.2.9/docs/rfc2192.txt
similarity index 100%
rename from Mail-IMAPClient-2.2.9/docs/rfc2192.txt
rename to W/Mail-IMAPClient-2.2.9/docs/rfc2192.txt
diff --git a/Mail-IMAPClient-2.2.9/docs/rfc2193.txt b/W/Mail-IMAPClient-2.2.9/docs/rfc2193.txt
similarity index 100%
rename from Mail-IMAPClient-2.2.9/docs/rfc2193.txt
rename to W/Mail-IMAPClient-2.2.9/docs/rfc2193.txt
diff --git a/Mail-IMAPClient-2.2.9/docs/rfc2195.txt b/W/Mail-IMAPClient-2.2.9/docs/rfc2195.txt
similarity index 100%
rename from Mail-IMAPClient-2.2.9/docs/rfc2195.txt
rename to W/Mail-IMAPClient-2.2.9/docs/rfc2195.txt
diff --git a/Mail-IMAPClient-2.2.9/docs/rfc2221.txt b/W/Mail-IMAPClient-2.2.9/docs/rfc2221.txt
similarity index 100%
rename from Mail-IMAPClient-2.2.9/docs/rfc2221.txt
rename to W/Mail-IMAPClient-2.2.9/docs/rfc2221.txt
diff --git a/Mail-IMAPClient-2.2.9/docs/rfc2222.txt b/W/Mail-IMAPClient-2.2.9/docs/rfc2222.txt
similarity index 100%
rename from Mail-IMAPClient-2.2.9/docs/rfc2222.txt
rename to W/Mail-IMAPClient-2.2.9/docs/rfc2222.txt
diff --git a/Mail-IMAPClient-2.2.9/docs/rfc2234.txt b/W/Mail-IMAPClient-2.2.9/docs/rfc2234.txt
similarity index 100%
rename from Mail-IMAPClient-2.2.9/docs/rfc2234.txt
rename to W/Mail-IMAPClient-2.2.9/docs/rfc2234.txt
diff --git a/Mail-IMAPClient-2.2.9/docs/rfc2245.txt b/W/Mail-IMAPClient-2.2.9/docs/rfc2245.txt
similarity index 100%
rename from Mail-IMAPClient-2.2.9/docs/rfc2245.txt
rename to W/Mail-IMAPClient-2.2.9/docs/rfc2245.txt
diff --git a/Mail-IMAPClient-2.2.9/docs/rfc2342.txt b/W/Mail-IMAPClient-2.2.9/docs/rfc2342.txt
similarity index 100%
rename from Mail-IMAPClient-2.2.9/docs/rfc2342.txt
rename to W/Mail-IMAPClient-2.2.9/docs/rfc2342.txt
diff --git a/Mail-IMAPClient-2.2.9/docs/rfc2359.txt b/W/Mail-IMAPClient-2.2.9/docs/rfc2359.txt
similarity index 100%
rename from Mail-IMAPClient-2.2.9/docs/rfc2359.txt
rename to W/Mail-IMAPClient-2.2.9/docs/rfc2359.txt
diff --git a/Mail-IMAPClient-2.2.9/docs/rfc2683.txt b/W/Mail-IMAPClient-2.2.9/docs/rfc2683.txt
similarity index 100%
rename from Mail-IMAPClient-2.2.9/docs/rfc2683.txt
rename to W/Mail-IMAPClient-2.2.9/docs/rfc2683.txt
diff --git a/Mail-IMAPClient-2.2.9/docs/rfc2831.txt b/W/Mail-IMAPClient-2.2.9/docs/rfc2831.txt
similarity index 100%
rename from Mail-IMAPClient-2.2.9/docs/rfc2831.txt
rename to W/Mail-IMAPClient-2.2.9/docs/rfc2831.txt
diff --git a/Mail-IMAPClient-2.2.9/examples/COPYRIGHT b/W/Mail-IMAPClient-2.2.9/examples/COPYRIGHT
similarity index 100%
rename from Mail-IMAPClient-2.2.9/examples/COPYRIGHT
rename to W/Mail-IMAPClient-2.2.9/examples/COPYRIGHT
diff --git a/Mail-IMAPClient-2.2.9/examples/build_dist.pl b/W/Mail-IMAPClient-2.2.9/examples/build_dist.pl
similarity index 100%
rename from Mail-IMAPClient-2.2.9/examples/build_dist.pl
rename to W/Mail-IMAPClient-2.2.9/examples/build_dist.pl
diff --git a/Mail-IMAPClient-2.2.9/examples/build_ldif.pl b/W/Mail-IMAPClient-2.2.9/examples/build_ldif.pl
similarity index 100%
rename from Mail-IMAPClient-2.2.9/examples/build_ldif.pl
rename to W/Mail-IMAPClient-2.2.9/examples/build_ldif.pl
diff --git a/Mail-IMAPClient-2.2.9/examples/cleanTest.pl b/W/Mail-IMAPClient-2.2.9/examples/cleanTest.pl
similarity index 100%
rename from Mail-IMAPClient-2.2.9/examples/cleanTest.pl
rename to W/Mail-IMAPClient-2.2.9/examples/cleanTest.pl
diff --git a/Mail-IMAPClient-2.2.9/examples/copy_folder.pl b/W/Mail-IMAPClient-2.2.9/examples/copy_folder.pl
similarity index 100%
rename from Mail-IMAPClient-2.2.9/examples/copy_folder.pl
rename to W/Mail-IMAPClient-2.2.9/examples/copy_folder.pl
diff --git a/Mail-IMAPClient-2.2.9/examples/cyrus_expire.pl b/W/Mail-IMAPClient-2.2.9/examples/cyrus_expire.pl
similarity index 100%
rename from Mail-IMAPClient-2.2.9/examples/cyrus_expire.pl
rename to W/Mail-IMAPClient-2.2.9/examples/cyrus_expire.pl
diff --git a/Mail-IMAPClient-2.2.9/examples/cyrus_expunge.pl b/W/Mail-IMAPClient-2.2.9/examples/cyrus_expunge.pl
similarity index 100%
rename from Mail-IMAPClient-2.2.9/examples/cyrus_expunge.pl
rename to W/Mail-IMAPClient-2.2.9/examples/cyrus_expunge.pl
diff --git a/Mail-IMAPClient-2.2.9/examples/find_dup_msgs.pl b/W/Mail-IMAPClient-2.2.9/examples/find_dup_msgs.pl
similarity index 100%
rename from Mail-IMAPClient-2.2.9/examples/find_dup_msgs.pl
rename to W/Mail-IMAPClient-2.2.9/examples/find_dup_msgs.pl
diff --git a/Mail-IMAPClient-2.2.9/examples/imap_to_mbox.pl b/W/Mail-IMAPClient-2.2.9/examples/imap_to_mbox.pl
similarity index 100%
rename from Mail-IMAPClient-2.2.9/examples/imap_to_mbox.pl
rename to W/Mail-IMAPClient-2.2.9/examples/imap_to_mbox.pl
diff --git a/Mail-IMAPClient-2.2.9/examples/imtestExample.pl b/W/Mail-IMAPClient-2.2.9/examples/imtestExample.pl
similarity index 100%
rename from Mail-IMAPClient-2.2.9/examples/imtestExample.pl
rename to W/Mail-IMAPClient-2.2.9/examples/imtestExample.pl
diff --git a/Mail-IMAPClient-2.2.9/examples/migrate_mail2.pl b/W/Mail-IMAPClient-2.2.9/examples/migrate_mail2.pl
similarity index 100%
rename from Mail-IMAPClient-2.2.9/examples/migrate_mail2.pl
rename to W/Mail-IMAPClient-2.2.9/examples/migrate_mail2.pl
diff --git a/Mail-IMAPClient-2.2.9/examples/migrate_mbox.pl b/W/Mail-IMAPClient-2.2.9/examples/migrate_mbox.pl
similarity index 100%
rename from Mail-IMAPClient-2.2.9/examples/migrate_mbox.pl
rename to W/Mail-IMAPClient-2.2.9/examples/migrate_mbox.pl
diff --git a/Mail-IMAPClient-2.2.9/examples/populate_mailbox.pl b/W/Mail-IMAPClient-2.2.9/examples/populate_mailbox.pl
similarity index 100%
rename from Mail-IMAPClient-2.2.9/examples/populate_mailbox.pl
rename to W/Mail-IMAPClient-2.2.9/examples/populate_mailbox.pl
diff --git a/Mail-IMAPClient-2.2.9/examples/sharedFolder.pl b/W/Mail-IMAPClient-2.2.9/examples/sharedFolder.pl
similarity index 100%
rename from Mail-IMAPClient-2.2.9/examples/sharedFolder.pl
rename to W/Mail-IMAPClient-2.2.9/examples/sharedFolder.pl
diff --git a/Mail-IMAPClient-2.2.9/sample.perldb b/W/Mail-IMAPClient-2.2.9/sample.perldb
similarity index 100%
rename from Mail-IMAPClient-2.2.9/sample.perldb
rename to W/Mail-IMAPClient-2.2.9/sample.perldb
diff --git a/Mail-IMAPClient-2.2.9/t/basic.t b/W/Mail-IMAPClient-2.2.9/t/basic.t
similarity index 100%
rename from Mail-IMAPClient-2.2.9/t/basic.t
rename to W/Mail-IMAPClient-2.2.9/t/basic.t
diff --git a/Mail-IMAPClient-2.2.9/t/cram-md5.t b/W/Mail-IMAPClient-2.2.9/t/cram-md5.t
similarity index 100%
rename from Mail-IMAPClient-2.2.9/t/cram-md5.t
rename to W/Mail-IMAPClient-2.2.9/t/cram-md5.t
diff --git a/Mail-IMAPClient-2.2.9/t/fast_io.t b/W/Mail-IMAPClient-2.2.9/t/fast_io.t
similarity index 100%
rename from Mail-IMAPClient-2.2.9/t/fast_io.t
rename to W/Mail-IMAPClient-2.2.9/t/fast_io.t
diff --git a/Mail-IMAPClient-2.2.9/t/ranges.t b/W/Mail-IMAPClient-2.2.9/t/ranges.t
similarity index 100%
rename from Mail-IMAPClient-2.2.9/t/ranges.t
rename to W/Mail-IMAPClient-2.2.9/t/ranges.t
diff --git a/Mail-IMAPClient-2.2.9/t/uidfast.t b/W/Mail-IMAPClient-2.2.9/t/uidfast.t
similarity index 100%
rename from Mail-IMAPClient-2.2.9/t/uidfast.t
rename to W/Mail-IMAPClient-2.2.9/t/uidfast.t
diff --git a/Mail-IMAPClient-2.2.9/t/uidplus.t b/W/Mail-IMAPClient-2.2.9/t/uidplus.t
similarity index 100%
rename from Mail-IMAPClient-2.2.9/t/uidplus.t
rename to W/Mail-IMAPClient-2.2.9/t/uidplus.t
diff --git a/Mail-IMAPClient-2.2.9/test_template.txt b/W/Mail-IMAPClient-2.2.9/test_template.txt
similarity index 100%
rename from Mail-IMAPClient-2.2.9/test_template.txt
rename to W/Mail-IMAPClient-2.2.9/test_template.txt
diff --git a/Mail-IMAPClient-3.31/Changes b/W/Mail-IMAPClient-3.31/Changes
similarity index 100%
rename from Mail-IMAPClient-3.31/Changes
rename to W/Mail-IMAPClient-3.31/Changes
diff --git a/Mail-IMAPClient-3.31/MANIFEST b/W/Mail-IMAPClient-3.31/MANIFEST
similarity index 100%
rename from Mail-IMAPClient-3.31/MANIFEST
rename to W/Mail-IMAPClient-3.31/MANIFEST
diff --git a/Mail-IMAPClient-3.31/META.yml b/W/Mail-IMAPClient-3.31/META.yml
similarity index 100%
rename from Mail-IMAPClient-3.31/META.yml
rename to W/Mail-IMAPClient-3.31/META.yml
diff --git a/Mail-IMAPClient-3.31/Makefile.PL b/W/Mail-IMAPClient-3.31/Makefile.PL
similarity index 100%
rename from Mail-IMAPClient-3.31/Makefile.PL
rename to W/Mail-IMAPClient-3.31/Makefile.PL
diff --git a/Mail-IMAPClient-3.31/README b/W/Mail-IMAPClient-3.31/README
similarity index 100%
rename from Mail-IMAPClient-3.31/README
rename to W/Mail-IMAPClient-3.31/README
diff --git a/Mail-IMAPClient-3.31/examples/build_dist.pl b/W/Mail-IMAPClient-3.31/examples/build_dist.pl
similarity index 100%
rename from Mail-IMAPClient-3.31/examples/build_dist.pl
rename to W/Mail-IMAPClient-3.31/examples/build_dist.pl
diff --git a/Mail-IMAPClient-3.31/examples/build_ldif.pl b/W/Mail-IMAPClient-3.31/examples/build_ldif.pl
similarity index 100%
rename from Mail-IMAPClient-3.31/examples/build_ldif.pl
rename to W/Mail-IMAPClient-3.31/examples/build_ldif.pl
diff --git a/Mail-IMAPClient-3.31/examples/cleanTest.pl b/W/Mail-IMAPClient-3.31/examples/cleanTest.pl
similarity index 100%
rename from Mail-IMAPClient-3.31/examples/cleanTest.pl
rename to W/Mail-IMAPClient-3.31/examples/cleanTest.pl
diff --git a/Mail-IMAPClient-3.31/examples/copy_folder.pl b/W/Mail-IMAPClient-3.31/examples/copy_folder.pl
similarity index 100%
rename from Mail-IMAPClient-3.31/examples/copy_folder.pl
rename to W/Mail-IMAPClient-3.31/examples/copy_folder.pl
diff --git a/Mail-IMAPClient-3.31/examples/cyrus_expire.pl b/W/Mail-IMAPClient-3.31/examples/cyrus_expire.pl
similarity index 100%
rename from Mail-IMAPClient-3.31/examples/cyrus_expire.pl
rename to W/Mail-IMAPClient-3.31/examples/cyrus_expire.pl
diff --git a/Mail-IMAPClient-3.31/examples/cyrus_expunge.pl b/W/Mail-IMAPClient-3.31/examples/cyrus_expunge.pl
similarity index 100%
rename from Mail-IMAPClient-3.31/examples/cyrus_expunge.pl
rename to W/Mail-IMAPClient-3.31/examples/cyrus_expunge.pl
diff --git a/Mail-IMAPClient-3.31/examples/find_dup_msgs.pl b/W/Mail-IMAPClient-3.31/examples/find_dup_msgs.pl
similarity index 100%
rename from Mail-IMAPClient-3.31/examples/find_dup_msgs.pl
rename to W/Mail-IMAPClient-3.31/examples/find_dup_msgs.pl
diff --git a/Mail-IMAPClient-3.31/examples/idle.pl b/W/Mail-IMAPClient-3.31/examples/idle.pl
similarity index 100%
rename from Mail-IMAPClient-3.31/examples/idle.pl
rename to W/Mail-IMAPClient-3.31/examples/idle.pl
diff --git a/Mail-IMAPClient-3.31/examples/imap_to_mbox.pl b/W/Mail-IMAPClient-3.31/examples/imap_to_mbox.pl
similarity index 100%
rename from Mail-IMAPClient-3.31/examples/imap_to_mbox.pl
rename to W/Mail-IMAPClient-3.31/examples/imap_to_mbox.pl
diff --git a/Mail-IMAPClient-3.31/examples/imtestExample.pl b/W/Mail-IMAPClient-3.31/examples/imtestExample.pl
similarity index 100%
rename from Mail-IMAPClient-3.31/examples/imtestExample.pl
rename to W/Mail-IMAPClient-3.31/examples/imtestExample.pl
diff --git a/Mail-IMAPClient-3.31/examples/migrate_mail2.pl b/W/Mail-IMAPClient-3.31/examples/migrate_mail2.pl
similarity index 100%
rename from Mail-IMAPClient-3.31/examples/migrate_mail2.pl
rename to W/Mail-IMAPClient-3.31/examples/migrate_mail2.pl
diff --git a/Mail-IMAPClient-3.31/examples/migrate_mbox.pl b/W/Mail-IMAPClient-3.31/examples/migrate_mbox.pl
similarity index 100%
rename from Mail-IMAPClient-3.31/examples/migrate_mbox.pl
rename to W/Mail-IMAPClient-3.31/examples/migrate_mbox.pl
diff --git a/Mail-IMAPClient-3.31/examples/populate_mailbox.pl b/W/Mail-IMAPClient-3.31/examples/populate_mailbox.pl
similarity index 100%
rename from Mail-IMAPClient-3.31/examples/populate_mailbox.pl
rename to W/Mail-IMAPClient-3.31/examples/populate_mailbox.pl
diff --git a/Mail-IMAPClient-3.31/examples/sharedFolder.pl b/W/Mail-IMAPClient-3.31/examples/sharedFolder.pl
similarity index 100%
rename from Mail-IMAPClient-3.31/examples/sharedFolder.pl
rename to W/Mail-IMAPClient-3.31/examples/sharedFolder.pl
diff --git a/Mail-IMAPClient-3.31/lib/Mail/IMAPClient.pm b/W/Mail-IMAPClient-3.31/lib/Mail/IMAPClient.pm
similarity index 100%
rename from Mail-IMAPClient-3.31/lib/Mail/IMAPClient.pm
rename to W/Mail-IMAPClient-3.31/lib/Mail/IMAPClient.pm
diff --git a/Mail-IMAPClient-3.31/lib/Mail/IMAPClient.pod b/W/Mail-IMAPClient-3.31/lib/Mail/IMAPClient.pod
similarity index 100%
rename from Mail-IMAPClient-3.31/lib/Mail/IMAPClient.pod
rename to W/Mail-IMAPClient-3.31/lib/Mail/IMAPClient.pod
diff --git a/Mail-IMAPClient-3.31/lib/Mail/IMAPClient/BodyStructure.pm b/W/Mail-IMAPClient-3.31/lib/Mail/IMAPClient/BodyStructure.pm
similarity index 100%
rename from Mail-IMAPClient-3.31/lib/Mail/IMAPClient/BodyStructure.pm
rename to W/Mail-IMAPClient-3.31/lib/Mail/IMAPClient/BodyStructure.pm
diff --git a/Mail-IMAPClient-3.31/lib/Mail/IMAPClient/BodyStructure/Parse.grammar b/W/Mail-IMAPClient-3.31/lib/Mail/IMAPClient/BodyStructure/Parse.grammar
similarity index 100%
rename from Mail-IMAPClient-3.31/lib/Mail/IMAPClient/BodyStructure/Parse.grammar
rename to W/Mail-IMAPClient-3.31/lib/Mail/IMAPClient/BodyStructure/Parse.grammar
diff --git a/Mail-IMAPClient-3.31/lib/Mail/IMAPClient/BodyStructure/Parse.pm b/W/Mail-IMAPClient-3.31/lib/Mail/IMAPClient/BodyStructure/Parse.pm
similarity index 100%
rename from Mail-IMAPClient-3.31/lib/Mail/IMAPClient/BodyStructure/Parse.pm
rename to W/Mail-IMAPClient-3.31/lib/Mail/IMAPClient/BodyStructure/Parse.pm
diff --git a/Mail-IMAPClient-3.31/lib/Mail/IMAPClient/BodyStructure/Parse.pod b/W/Mail-IMAPClient-3.31/lib/Mail/IMAPClient/BodyStructure/Parse.pod
similarity index 100%
rename from Mail-IMAPClient-3.31/lib/Mail/IMAPClient/BodyStructure/Parse.pod
rename to W/Mail-IMAPClient-3.31/lib/Mail/IMAPClient/BodyStructure/Parse.pod
diff --git a/Mail-IMAPClient-3.31/lib/Mail/IMAPClient/MessageSet.pm b/W/Mail-IMAPClient-3.31/lib/Mail/IMAPClient/MessageSet.pm
similarity index 100%
rename from Mail-IMAPClient-3.31/lib/Mail/IMAPClient/MessageSet.pm
rename to W/Mail-IMAPClient-3.31/lib/Mail/IMAPClient/MessageSet.pm
diff --git a/Mail-IMAPClient-3.31/lib/Mail/IMAPClient/Thread.grammar b/W/Mail-IMAPClient-3.31/lib/Mail/IMAPClient/Thread.grammar
similarity index 100%
rename from Mail-IMAPClient-3.31/lib/Mail/IMAPClient/Thread.grammar
rename to W/Mail-IMAPClient-3.31/lib/Mail/IMAPClient/Thread.grammar
diff --git a/Mail-IMAPClient-3.31/lib/Mail/IMAPClient/Thread.pm b/W/Mail-IMAPClient-3.31/lib/Mail/IMAPClient/Thread.pm
similarity index 100%
rename from Mail-IMAPClient-3.31/lib/Mail/IMAPClient/Thread.pm
rename to W/Mail-IMAPClient-3.31/lib/Mail/IMAPClient/Thread.pm
diff --git a/Mail-IMAPClient-3.31/lib/Mail/IMAPClient/Thread.pod b/W/Mail-IMAPClient-3.31/lib/Mail/IMAPClient/Thread.pod
similarity index 100%
rename from Mail-IMAPClient-3.31/lib/Mail/IMAPClient/Thread.pod
rename to W/Mail-IMAPClient-3.31/lib/Mail/IMAPClient/Thread.pod
diff --git a/Mail-IMAPClient-3.31/prepare_dist b/W/Mail-IMAPClient-3.31/prepare_dist
similarity index 100%
rename from Mail-IMAPClient-3.31/prepare_dist
rename to W/Mail-IMAPClient-3.31/prepare_dist
diff --git a/Mail-IMAPClient-3.31/t/basic.t b/W/Mail-IMAPClient-3.31/t/basic.t
similarity index 100%
rename from Mail-IMAPClient-3.31/t/basic.t
rename to W/Mail-IMAPClient-3.31/t/basic.t
diff --git a/Mail-IMAPClient-3.31/t/body_string.t b/W/Mail-IMAPClient-3.31/t/body_string.t
similarity index 100%
rename from Mail-IMAPClient-3.31/t/body_string.t
rename to W/Mail-IMAPClient-3.31/t/body_string.t
diff --git a/Mail-IMAPClient-3.31/t/bodystructure.t b/W/Mail-IMAPClient-3.31/t/bodystructure.t
similarity index 100%
rename from Mail-IMAPClient-3.31/t/bodystructure.t
rename to W/Mail-IMAPClient-3.31/t/bodystructure.t
diff --git a/Mail-IMAPClient-3.31/t/fetch_hash.t b/W/Mail-IMAPClient-3.31/t/fetch_hash.t
similarity index 100%
rename from Mail-IMAPClient-3.31/t/fetch_hash.t
rename to W/Mail-IMAPClient-3.31/t/fetch_hash.t
diff --git a/Mail-IMAPClient-3.31/t/messageset.t b/W/Mail-IMAPClient-3.31/t/messageset.t
similarity index 100%
rename from Mail-IMAPClient-3.31/t/messageset.t
rename to W/Mail-IMAPClient-3.31/t/messageset.t
diff --git a/Mail-IMAPClient-3.31/t/pod.t b/W/Mail-IMAPClient-3.31/t/pod.t
similarity index 100%
rename from Mail-IMAPClient-3.31/t/pod.t
rename to W/Mail-IMAPClient-3.31/t/pod.t
diff --git a/Mail-IMAPClient-3.31/t/simple.t b/W/Mail-IMAPClient-3.31/t/simple.t
similarity index 100%
rename from Mail-IMAPClient-3.31/t/simple.t
rename to W/Mail-IMAPClient-3.31/t/simple.t
diff --git a/Mail-IMAPClient-3.31/t/thread.t b/W/Mail-IMAPClient-3.31/t/thread.t
similarity index 100%
rename from Mail-IMAPClient-3.31/t/thread.t
rename to W/Mail-IMAPClient-3.31/t/thread.t
diff --git a/Mail-IMAPClient-3.31/test_template.txt b/W/Mail-IMAPClient-3.31/test_template.txt
similarity index 100%
rename from Mail-IMAPClient-3.31/test_template.txt
rename to W/Mail-IMAPClient-3.31/test_template.txt
diff --git a/NTLM-1.09/COPYING-Artistic b/W/NTLM-1.09/COPYING-Artistic
similarity index 100%
rename from NTLM-1.09/COPYING-Artistic
rename to W/NTLM-1.09/COPYING-Artistic
diff --git a/NTLM-1.09/COPYING-GPL b/W/NTLM-1.09/COPYING-GPL
similarity index 100%
rename from NTLM-1.09/COPYING-GPL
rename to W/NTLM-1.09/COPYING-GPL
diff --git a/NTLM-1.09/Changes b/W/NTLM-1.09/Changes
similarity index 100%
rename from NTLM-1.09/Changes
rename to W/NTLM-1.09/Changes
diff --git a/NTLM-1.09/DES/DES.pm b/W/NTLM-1.09/DES/DES.pm
similarity index 100%
rename from NTLM-1.09/DES/DES.pm
rename to W/NTLM-1.09/DES/DES.pm
diff --git a/NTLM-1.09/DES/Makefile b/W/NTLM-1.09/DES/Makefile
similarity index 100%
rename from NTLM-1.09/DES/Makefile
rename to W/NTLM-1.09/DES/Makefile
diff --git a/NTLM-1.09/DES/Makefile.PL b/W/NTLM-1.09/DES/Makefile.PL
similarity index 100%
rename from NTLM-1.09/DES/Makefile.PL
rename to W/NTLM-1.09/DES/Makefile.PL
diff --git a/NTLM-1.09/DES/pm_to_blib b/W/NTLM-1.09/DES/pm_to_blib
similarity index 100%
rename from NTLM-1.09/DES/pm_to_blib
rename to W/NTLM-1.09/DES/pm_to_blib
diff --git a/NTLM-1.09/MANIFEST b/W/NTLM-1.09/MANIFEST
similarity index 100%
rename from NTLM-1.09/MANIFEST
rename to W/NTLM-1.09/MANIFEST
diff --git a/NTLM-1.09/MD4/MD4.pm b/W/NTLM-1.09/MD4/MD4.pm
similarity index 100%
rename from NTLM-1.09/MD4/MD4.pm
rename to W/NTLM-1.09/MD4/MD4.pm
diff --git a/NTLM-1.09/MD4/Makefile b/W/NTLM-1.09/MD4/Makefile
similarity index 100%
rename from NTLM-1.09/MD4/Makefile
rename to W/NTLM-1.09/MD4/Makefile
diff --git a/NTLM-1.09/MD4/Makefile.PL b/W/NTLM-1.09/MD4/Makefile.PL
similarity index 100%
rename from NTLM-1.09/MD4/Makefile.PL
rename to W/NTLM-1.09/MD4/Makefile.PL
diff --git a/NTLM-1.09/MD4/pm_to_blib b/W/NTLM-1.09/MD4/pm_to_blib
similarity index 100%
rename from NTLM-1.09/MD4/pm_to_blib
rename to W/NTLM-1.09/MD4/pm_to_blib
diff --git a/NTLM-1.09/META.yml b/W/NTLM-1.09/META.yml
similarity index 100%
rename from NTLM-1.09/META.yml
rename to W/NTLM-1.09/META.yml
diff --git a/NTLM-1.09/Makefile b/W/NTLM-1.09/Makefile
similarity index 100%
rename from NTLM-1.09/Makefile
rename to W/NTLM-1.09/Makefile
diff --git a/NTLM-1.09/Makefile.PL b/W/NTLM-1.09/Makefile.PL
similarity index 100%
rename from NTLM-1.09/Makefile.PL
rename to W/NTLM-1.09/Makefile.PL
diff --git a/NTLM-1.09/NTLM.pm b/W/NTLM-1.09/NTLM.pm
similarity index 100%
rename from NTLM-1.09/NTLM.pm
rename to W/NTLM-1.09/NTLM.pm
diff --git a/NTLM-1.09/README b/W/NTLM-1.09/README
similarity index 100%
rename from NTLM-1.09/README
rename to W/NTLM-1.09/README
diff --git a/NTLM-1.09/blib/arch/.exists b/W/NTLM-1.09/blib/arch/.exists
similarity index 100%
rename from NTLM-1.09/blib/arch/.exists
rename to W/NTLM-1.09/blib/arch/.exists
diff --git a/NTLM-1.09/blib/arch/auto/Authen/NTLM/.exists b/W/NTLM-1.09/blib/arch/auto/Authen/NTLM/.exists
similarity index 100%
rename from NTLM-1.09/blib/arch/auto/Authen/NTLM/.exists
rename to W/NTLM-1.09/blib/arch/auto/Authen/NTLM/.exists
diff --git a/NTLM-1.09/blib/arch/auto/Authen/NTLM/DES/.exists b/W/NTLM-1.09/blib/arch/auto/Authen/NTLM/DES/.exists
similarity index 100%
rename from NTLM-1.09/blib/arch/auto/Authen/NTLM/DES/.exists
rename to W/NTLM-1.09/blib/arch/auto/Authen/NTLM/DES/.exists
diff --git a/NTLM-1.09/blib/arch/auto/Authen/NTLM/MD4/.exists b/W/NTLM-1.09/blib/arch/auto/Authen/NTLM/MD4/.exists
similarity index 100%
rename from NTLM-1.09/blib/arch/auto/Authen/NTLM/MD4/.exists
rename to W/NTLM-1.09/blib/arch/auto/Authen/NTLM/MD4/.exists
diff --git a/NTLM-1.09/blib/bin/.exists b/W/NTLM-1.09/blib/bin/.exists
similarity index 100%
rename from NTLM-1.09/blib/bin/.exists
rename to W/NTLM-1.09/blib/bin/.exists
diff --git a/NTLM-1.09/blib/lib/Authen/.exists b/W/NTLM-1.09/blib/lib/Authen/.exists
similarity index 100%
rename from NTLM-1.09/blib/lib/Authen/.exists
rename to W/NTLM-1.09/blib/lib/Authen/.exists
diff --git a/NTLM-1.09/blib/lib/Authen/NTLM.pm b/W/NTLM-1.09/blib/lib/Authen/NTLM.pm
similarity index 100%
rename from NTLM-1.09/blib/lib/Authen/NTLM.pm
rename to W/NTLM-1.09/blib/lib/Authen/NTLM.pm
diff --git a/NTLM-1.09/blib/lib/Authen/NTLM/.exists b/W/NTLM-1.09/blib/lib/Authen/NTLM/.exists
similarity index 100%
rename from NTLM-1.09/blib/lib/Authen/NTLM/.exists
rename to W/NTLM-1.09/blib/lib/Authen/NTLM/.exists
diff --git a/NTLM-1.09/blib/lib/Authen/NTLM/DES.pm b/W/NTLM-1.09/blib/lib/Authen/NTLM/DES.pm
similarity index 100%
rename from NTLM-1.09/blib/lib/Authen/NTLM/DES.pm
rename to W/NTLM-1.09/blib/lib/Authen/NTLM/DES.pm
diff --git a/NTLM-1.09/blib/lib/Authen/NTLM/MD4.pm b/W/NTLM-1.09/blib/lib/Authen/NTLM/MD4.pm
similarity index 100%
rename from NTLM-1.09/blib/lib/Authen/NTLM/MD4.pm
rename to W/NTLM-1.09/blib/lib/Authen/NTLM/MD4.pm
diff --git a/NTLM-1.09/blib/lib/auto/Authen/NTLM/.exists b/W/NTLM-1.09/blib/lib/auto/Authen/NTLM/.exists
similarity index 100%
rename from NTLM-1.09/blib/lib/auto/Authen/NTLM/.exists
rename to W/NTLM-1.09/blib/lib/auto/Authen/NTLM/.exists
diff --git a/NTLM-1.09/blib/lib/auto/Authen/NTLM/DES/.exists b/W/NTLM-1.09/blib/lib/auto/Authen/NTLM/DES/.exists
similarity index 100%
rename from NTLM-1.09/blib/lib/auto/Authen/NTLM/DES/.exists
rename to W/NTLM-1.09/blib/lib/auto/Authen/NTLM/DES/.exists
diff --git a/NTLM-1.09/blib/lib/auto/Authen/NTLM/MD4/.exists b/W/NTLM-1.09/blib/lib/auto/Authen/NTLM/MD4/.exists
similarity index 100%
rename from NTLM-1.09/blib/lib/auto/Authen/NTLM/MD4/.exists
rename to W/NTLM-1.09/blib/lib/auto/Authen/NTLM/MD4/.exists
diff --git a/NTLM-1.09/blib/man1/.exists b/W/NTLM-1.09/blib/man1/.exists
similarity index 100%
rename from NTLM-1.09/blib/man1/.exists
rename to W/NTLM-1.09/blib/man1/.exists
diff --git a/NTLM-1.09/blib/man3/.exists b/W/NTLM-1.09/blib/man3/.exists
similarity index 100%
rename from NTLM-1.09/blib/man3/.exists
rename to W/NTLM-1.09/blib/man3/.exists
diff --git a/NTLM-1.09/blib/man3/Authen::NTLM.3pm b/W/NTLM-1.09/blib/man3/Authen::NTLM.3pm
similarity index 100%
rename from NTLM-1.09/blib/man3/Authen::NTLM.3pm
rename to W/NTLM-1.09/blib/man3/Authen::NTLM.3pm
diff --git a/NTLM-1.09/blib/script/.exists b/W/NTLM-1.09/blib/script/.exists
similarity index 100%
rename from NTLM-1.09/blib/script/.exists
rename to W/NTLM-1.09/blib/script/.exists
diff --git a/NTLM-1.09/pm_to_blib b/W/NTLM-1.09/pm_to_blib
similarity index 100%
rename from NTLM-1.09/pm_to_blib
rename to W/NTLM-1.09/pm_to_blib
diff --git a/NTLM-1.09/t/01_load.t b/W/NTLM-1.09/t/01_load.t
similarity index 100%
rename from NTLM-1.09/t/01_load.t
rename to W/NTLM-1.09/t/01_load.t
diff --git a/NTLM-1.09/t/02_ntlm.t b/W/NTLM-1.09/t/02_ntlm.t
similarity index 100%
rename from NTLM-1.09/t/02_ntlm.t
rename to W/NTLM-1.09/t/02_ntlm.t
diff --git a/NTLM-1.09/t/03_oo.t b/W/NTLM-1.09/t/03_oo.t
similarity index 100%
rename from NTLM-1.09/t/03_oo.t
rename to W/NTLM-1.09/t/03_oo.t
diff --git a/NTLM-1.09/t/04_v2.t b/W/NTLM-1.09/t/04_v2.t
similarity index 100%
rename from NTLM-1.09/t/04_v2.t
rename to W/NTLM-1.09/t/04_v2.t
diff --git a/NTLM-1.09/t/99_pod.t b/W/NTLM-1.09/t/99_pod.t
similarity index 100%
rename from NTLM-1.09/t/99_pod.t
rename to W/NTLM-1.09/t/99_pod.t
diff --git a/TIME b/W/TIME
similarity index 100%
rename from TIME
rename to W/TIME
diff --git a/bugs/BUG_219_windows b/W/bugs/BUG_219_windows
similarity index 100%
rename from bugs/BUG_219_windows
rename to W/bugs/BUG_219_windows
diff --git a/bugs/BUG_IMAPClient_3.xx b/W/bugs/BUG_IMAPClient_3.xx
similarity index 100%
rename from bugs/BUG_IMAPClient_3.xx
rename to W/bugs/BUG_IMAPClient_3.xx
diff --git a/build_exe.bat b/W/build_exe.bat
old mode 100755
new mode 100644
similarity index 100%
rename from build_exe.bat
rename to W/build_exe.bat
diff --git a/ab_jlh.png b/W/images/ab_jlh.png
similarity index 100%
rename from ab_jlh.png
rename to W/images/ab_jlh.png
diff --git a/logo_imapsync.png b/W/images/logo_imapsync.png
similarity index 100%
rename from logo_imapsync.png
rename to W/images/logo_imapsync.png
diff --git a/logo_imapsync_2.svg b/W/images/logo_imapsync_2.svg
similarity index 100%
rename from logo_imapsync_2.svg
rename to W/images/logo_imapsync_2.svg
diff --git a/logo_imapsync_s.png b/W/images/logo_imapsync_s.png
similarity index 100%
rename from logo_imapsync_s.png
rename to W/images/logo_imapsync_s.png
diff --git a/W/images/valid-xhtml10 b/W/images/valid-xhtml10
new file mode 100644
index 0000000000000000000000000000000000000000..b81de9160bbaa1aaff62924d217b523edbb6f53d
GIT binary patch
literal 1882
zcmeHG`!^E`9G^Tlk6s&D^1QT2@>WDd%wsK^_pmaL+e)(tO=ELITv1_^QKOR3XjqoE
z(N^*Z$)mK2gJ`V`5nb-i{Ri%^_lNsA=kxuX?>XP^IiK_Wp3h|@!c!dt1pxp6b-0(i
zzf6N=)Kig{RkY^nAOIi_K>DIR=5g4kIHY7z}1(ZRP0b=xPH+IO`&OTu^QX5kAH^BmUwo)VN_SR?yB(55Y
zzpHzu#^CIIV`A-|q&myghjtem9mq}2RF+3pi*H_Az}5E9B5rsI4|lUOj{fY-ZDHb_
zuC&^o5(W7(0H9n&AxB@EZnyiEhH|Tu?p!ndD$KZsvXO5V>(H^jo3nHjNIJSAD0
zo&Ot*ouDugg|skNzM3dV!e<4puf)k?4;=ZTy!3aL%4wkvWw+>Er3X
zaYtDykTpPpSI9Y;di}$rU3h0%uHkTZSG3pjuO+`9+kPCJ^-4eQu!m(%pt*{-lX|`Q
zBoKMp7Fsf~EvPma^3IAuM?B;kd#l)az&>tbm3>KH8ZXlb-x5M4OZ_gybURruR7`1V
zE{C5@2k{L*M0^6wxa`i@{PCnq*cZ9W+6MKjUD}f(gW9A1xjD
z9oWl1v89%(uql1?Z9qA$PAOv#c1+<)D|=Q_HmofNANy)v9jG-kYwrhNceSpoQB1!C
zjxk9w#46&kRNggH)Qb7a&V!d%6gdhGlq@B7pfW)}gl@z0w&ZOwBGkVM(f~zuPHY9C
zAwLncVDjeauWYvg$`>%Hzq!ROyU!+lvuB^4xg+xiyrNj-mys0Bw;j%9@auW;zq}gd
zC&BcUeEgY{trFN{f+X#(X@@^BSTV&bKZM9XQOF3R(3sa3lH8?9+V8sJ-xpgYzl=q?LG^PUu`r371T5XJU
z$4<&tdEY_4+wo12^D0ep=Lha_nDVq25@S)`XeDEOifUx_UN66<*7vB{D#aJlyT~h2
z$?I~%2?7d`N;;mj;WPt^#5S=%syv4dtrVeV!k2eg@%AM4L`A+7IcFc5NExF5pE9++
z_o|JEpX`&Ks7S6lu3f%-;+tN~CFr{nJk`bEt!=H+vm&xn!I_`fF+)B(;aoMS`g-c;
z(fko%A6>lx7~%Tlx6myX&>Dr7Iw)zDb=4`X9_XxI_1vJayM228=}V#oiI|O4?VB@q
z=!_*Lnzd=E5nsCrK{tU7d!t>MkTmY{l+rRQT*%?Rmnm
zTBLwMfOWS&TzF!kmfqgF@O(NgJIALUZGd1^#R&vWS;Ef!y{aGB)#Y6_?&oxV;HEBO
z_7^l4tj1)JBiHDC5m!5LM?#iJ70SAdgal0PpHvt7)a0h|AkMDE69Y_RMsmpEYqv1H
z51Ke8$)`rla#nF^X-+(oKVC^kjhb(fzm<(&jP%vRvDdiX-0ySaT;{K1et$jMfatZn
u;lw(QbcUI*hb5koj8yg!7
zI|nNw#g^iF(8=A!#ns-$^T-i*CvTd!j}MJTBOPNN_G7rygN_~#^kIbg1usFGi$XwoPj%Wp+AdbvftU_F?z<7xsp+N+Q#8V>9!Uu2#ge8&V3Y
zj};3}mWe_t`@^||adr2SnugO@8QE8gOG-*O98OwcO=cM{tD-rtq&l~zwUpabTUUSM
zMoULWM{jR$`Y(?%`6C&8ad!LYwKh>z*HB*9SW)*l=g!k>cPF^r59;oUtAx*M`z9Ov
z#+wG8HxEtmA56DBoaq$Li$tQ~;o-5dv5AQZ!IQ5=}`Ni9{#l^*?rKP#0
z^|!0)p~vHZ&z`Lazv1%yzE0y?QMkW
z;h4+GzRh{U;&A1hlu8cg*Imj3E%c%bxmo5{ofP+zM@He&HAHcCzZMz7hi$1$32~6MnY>e&2)SeMl~5yf#9h4y|Ms4^C1(%R8CFRV0H)x
zHPloLw14y&&g01ML;IHDjEBS&R+1joL%EOL<&UzvYbphHrk;WUX+I*_kwmBV=X=kZ
zEHM1uanlu;ylNSo;Y41Uvf4A4zeak$$7=*A2PzsiRx=o-1D?tNsJSj=DxLGpF2e2S
ztxRg9M{d$0)r@8r-89j#R4GaL9T-BLDc+=@0exj~M}(kt5J=;1g)|t-&kZn)CoHBJ
z*8XE>6r1DqLSWkNK%^n%XBdKH(q{zl?SL<&hQA?FsO8hv0pxR7xC}YDQ7lcN-6u|x
zQ+WE&k??Y&5Qf_7l9rYC=J(}$(fL3|58CmVX`H(1(e0HS#NI|IY%P^P!)BAnO%lOC
z54u!94#x@YUr-4Jq*eK2u_V(#EqVq!H_5w0L(9T);*xrGBa(`^P>2;^@sqFFOF-m8oV#L29`O
z0IOGJSk3`~fRm~-$O+dKAM?-N1n`KcGj&C?I=9X@%rQ+Qjq{@p5_WEO%ZjXf Exoneration
EOF
}
-echo paypal_bilan_tests_tva_2
+echo paypal_bilan_exportbnc
+paypal_bilan_exportbnc() {
+# DID output no diff between paypal_bilan_1.58 and 1.59
+(
+#set -x
+/g/public_html/imapsync/W/paypal_reply/paypal_bilan_1.58 --bnc --debug --debug_invoice --first_in 147 \
+ --avoid_numbers '292 293 643 644 731 732 1093 1330 1331 1332 1333 1334 1652 1653' \
+ /g/paypal/paypal_201?_??_complet.csv \
+ > /g/var/paypal_bilan/tests/paypal_invoice.out1 2>&1
+
+/g/public_html/imapsync/W/paypal_reply/paypal_bilan --exportbnc paypal_bnc.txt --bnc --debug --debug_invoice --first_in 147 \
+ --avoid_numbers '292 293 643 644 731 732 1093 1330 1331 1332 1333 1334 1652 1653' \
+ /g/paypal/paypal_201?_??_complet.csv \
+ > /g/var/paypal_bilan/tests/paypal_invoice.out2 2>&1
+
+echo diff /g/var/paypal_bilan/tests/paypal_invoice.out1 /g/var/paypal_bilan/tests/paypal_invoice.out2
+ diff /g/var/paypal_bilan/tests/paypal_invoice.out1 /g/var/paypal_bilan/tests/paypal_invoice.out2
+)
+}
+
+
+
+#echo paypal_bilan_tests_tva_2
paypal_bilan_tests_tva_2() {
# DID output no diff between paypal_bilan_1.56 and 1.5?
(
diff --git a/W/paypal_reply/paypal_bilan b/W/paypal_reply/paypal_bilan
index 9cac50a..10b7a09 100755
--- a/W/paypal_reply/paypal_bilan
+++ b/W/paypal_reply/paypal_bilan
@@ -44,6 +44,8 @@ my $debug_invoice_utf8 ;
my $first_invoice = 1 ;
my $print_details = '' ;
my $bnc = '' ;
+my $exportbnc = '' ;
+
my $usdeur = 1.2981 ;
my $invoices ;
my %invoice_refund ;
@@ -65,6 +67,7 @@ my $option_ret = GetOptions (
'first_invoice=i' => \$first_invoice,
'print_details|details' => \$print_details,
'bnc' => \$bnc,
+ 'exportbnc=s' => \$exportbnc,
'usdeur=f' => \$usdeur,
'invoices=s' => \$invoices,
'write_invoices!' => \$write_invoices,
@@ -159,8 +162,10 @@ my @invoice_canceled = sort { $a <=> $b } keys( %invoice_canceled ) ;
my @invoice_suspended = sort { $a <=> $b } keys( %invoice_suspended ) ;
my @invoice_refund = sort { $a <=> $b } keys( %invoice_refund ) ;
+
print( "\n", "=" x 60, "\n" ) if $bnc ;
-
+
+
print "USD banque $total_usd_received\n" ;
print "USD invoice $total_usd_invoice\n" ;
diff --git a/W/paypal_reply/paypal_bilan_1.56 b/W/paypal_reply/paypal_bilan_1.58
similarity index 97%
rename from W/paypal_reply/paypal_bilan_1.56
rename to W/paypal_reply/paypal_bilan_1.58
index 446da29..9cac50a 100755
--- a/W/paypal_reply/paypal_bilan_1.56
+++ b/W/paypal_reply/paypal_bilan_1.58
@@ -1,6 +1,6 @@
#!/usr/bin/perl
-# $Id: paypal_bilan,v 1.56 2012/07/16 21:57:51 gilles Exp gilles $
+# $Id: paypal_bilan,v 1.58 2012/08/11 00:01:46 gilles Exp gilles $
use strict;
use warnings;
@@ -13,7 +13,7 @@ use Test::More 'no_plan' ;
die unless (utf8_supported_charset('ISO-8859-1'));
-my $rcs = '$Id: paypal_bilan,v 1.56 2012/07/16 21:57:51 gilles Exp gilles $ ' ;
+my $rcs = '$Id: paypal_bilan,v 1.58 2012/08/11 00:01:46 gilles Exp gilles $ ' ;
$rcs =~ m/,v (\d+\.\d+)/ ;
my $VERSION = ($1) ? $1: "UNKNOWN" ;
@@ -103,10 +103,10 @@ foreach my $file ( @files ) {
#print $action->{ Nom }, "\n" ;
my( $Date, $Heure, $Fuseau_horaire, $Nom, $Type, $Etat,
$Devise, $Montant, $Numero_davis_de_reception, $Solde,
- $Pays, $Nom_Option_1, $Valeur_Option_1, $Hors_taxe, $Titre_de_l_objet )
+ $Pays, $Nom_Option_1, $Valeur_Option_1, $Hors_taxe, $Titre_de_l_objet, $Nom_Option_2, $Option_2_Valeur )
= @action{ ( 'Date', 'Heure', 'Fuseau horaire', 'Nom', 'Type', 'Etat',
'Devise', 'Montant', "Numéro d'avis de réception", 'Solde',
- 'Pays', 'Nom Option 1', 'Valeur Option 1', 'Hors taxe', "Titre de l'objet") } ;
+ 'Pays', 'Nom Option 1', 'Valeur Option 1', 'Hors taxe', "Titre de l'objet", 'Nom Option 2', 'Option 2 Valeur') } ;
#print "$Nom\n" ;
( $Etat ) = @action{ ( 'Etat', ) } || @action{ ( 'État' ) } ;
my $invoice = 'NONE' ;
@@ -509,12 +509,14 @@ sub build_invoice {
$De_l_adresse_email, $A_l_adresse_email, $N_de_transaction, $Titre_de_l_objet,
$TVA, $Nom_Option_1, $Valeur_Option_1, $N_de_transaction_de_reference,
$Adresse_1, $Adresse_2_district_quartier, $Ville,
- $Etat_Province, $Code_postal, $Pays, $line_number, $line_csv, $file_csv )
+ $Etat_Province, $Code_postal, $Pays, $line_number, $line_csv, $file_csv,
+ $Nom_Option_2, $Option_2_Valeur )
= @action{ ( 'Date', 'Heure', 'Nom', 'Type', 'Etat', 'Devise', 'Hors taxe', 'Commission', 'Net',
"De l'adresse email", "A l'adresse email", 'N° de transaction', "Titre de l'objet",
'TVA', 'Nom Option 1', 'Valeur Option 1', 'Nº de transaction de référence',
'Adresse 1', 'Adresse 2/district/quartier', 'Ville',
- 'Etat/Province/Région/Comté/Territoire/Préfecture/République', 'Code postal', 'Pays', 'line_number', 'line_csv', 'file_csv' ) } ;
+ 'Etat/Province/Région/Comté/Territoire/Préfecture/République', 'Code postal', 'Pays', 'line_number', 'line_csv', 'file_csv',
+ 'Nom Option 2', 'Option 2 Valeur' ) } ;
my( $Etat_Province1 ) = @action{ ( 'Etat/Province/Région/Comté/Territoire/Préfecture/République' ) } ;
my( $Etat_Province2 ) = @action{ ( 'État/Province/Région/Comté/Territoire/Préfecture/République' ) } ;
@@ -609,6 +611,13 @@ sub build_invoice {
#print "ZZZ $object_type ( $urlSrc, $urlExe )\n" ;
my ( $Nom1 ) = cut( $Nom, 42 ) ;
+
+ my $clientVAT = '' ;
+
+ if ( ( 'VAT if professional in Europe' eq $Nom_Option_2 ) and $Option_2_Valeur ) {
+ $clientVAT = $Option_2_Valeur ;
+ }
+
my $tex_variables = qq{
%% Begin input from paypal_bilan $VERSION
\\providecommand{\\invoiceNumber}{$invoice}
@@ -620,7 +629,7 @@ sub build_invoice {
\\providecommand{\\clientAdrD}{$clientAdrD}
\\providecommand{\\clientAdrE}{$clientAdrE}
\\providecommand{\\clientAdrF}{$clientAdrF}
-\\providecommand{\\clientVAT}{}
+\\providecommand{\\clientVAT}{$clientVAT}
\\providecommand{\\invoiceDate}{$Date}
\\providecommand{\\invoiceHour}{$Heure}
@@ -1031,8 +1040,8 @@ sub tva_stuff {
$priceTVA = 'néant (none)' ;
$priceTTC = $priceHT ;
$HTorTTC = 'HT' ;
- $messageTVAFR = 'Exonération de TVA, articles 262 1-2 du Code Général des Impôts';
- $messageTVAEN = '(VAT tax-exempt, articles 262 1-2 French General Tax Code)';
+ $messageTVAFR = 'Exonération de TVA, articles 262 1-2 et ter du Code Général des Impôts';
+ $messageTVAEN = '(VAT tax-exempt, articles 262 1-2 and ter of French General Tax Code)';
}
foreach my $price ( $priceHT, $priceTVA, $priceTTC, $priceTTCusd ) {
#print "[$price]\n" ;
diff --git a/W/paypal_reply/paypal_build_invoices b/W/paypal_reply/paypal_build_invoices
index 518283d..3c7ef7e 100755
--- a/W/paypal_reply/paypal_build_invoices
+++ b/W/paypal_reply/paypal_build_invoices
@@ -28,7 +28,7 @@ set -x
#/g/public_html/imapsync/W/paypal_reply/paypal_bilan --write_invoices --first_in 1575 /g/paypal/paypal_2012_04_complet.csv
#/g/public_html/imapsync/W/paypal_reply/paypal_bilan --write_invoices --first_in 1654 /g/paypal/paypal_2012_05_complet.csv
#/g/public_html/imapsync/W/paypal_reply/paypal_bilan --write_invoices --first_in 1743 /g/paypal/paypal_2012_06_complet.csv
-/g/public_html/imapsync/W/paypal_reply/paypal_bilan --write_invoices --first_in 1824 /g/paypal/paypal_2012_07_complet.csv
+#/g/public_html/imapsync/W/paypal_reply/paypal_bilan --write_invoices --first_in 1824 /g/paypal/paypal_2012_07_complet.csv
/g/public_html/imapsync/W/paypal_reply/paypal_bilan --write_invoices --first_in 1891 /g/paypal/paypal_2012_08_complet.csv
: /g/public_html/imapsync/W/paypal_reply/paypal_bilan --first_in 147 /g/paypal/paypal_2010_11_complet.csv
diff --git a/W/paypal_reply/paypal_run_laposte b/W/paypal_reply/paypal_run_laposte
index b854efa..0af386f 100755
--- a/W/paypal_reply/paypal_run_laposte
+++ b/W/paypal_reply/paypal_run_laposte
@@ -1,6 +1,6 @@
#!/bin/sh
-# $Id: paypal_run_laposte,v 1.4 2011/05/20 10:48:01 gilles Exp gilles $
+# $Id: paypal_run_laposte,v 1.5 2012/08/24 14:18:02 gilles Exp gilles $
set -e
#set -x
diff --git a/W/paypal_reply/paypal_send_invoices b/W/paypal_reply/paypal_send_invoices
index 0549fc8..e698111 100755
--- a/W/paypal_reply/paypal_send_invoices
+++ b/W/paypal_reply/paypal_send_invoices
@@ -1,6 +1,6 @@
#!/bin/sh
-# $Id: paypal_send_invoices,v 1.7 2011/07/14 12:31:44 gilles Exp gilles $
+# $Id: paypal_send_invoices,v 1.8 2012/08/24 14:36:18 gilles Exp gilles $
# usages:
# sh paypal_send_invoices /g/var/paypal_invoices/147
@@ -26,18 +26,16 @@ send_invoice() {
test -f facture_message_body.txt || { echo NO facture_message_body.txt ; return; }
test -f email_address.txt || { echo NO email_address.txt ; return; }
- email=${2:-`cat email_address_2.txt || cat email_address.txt`}
+ email=${2:-`cat email_address_2.txt 2>/dev/null || cat email_address.txt`}
> facture_message_to.txt
egrep '^To: ' facture_message_header.txt > /dev/null || echo "To: $email" > facture_message_to.txt
cat facture_message_header.txt facture_message_to.txt facture_message_body.txt > facture_message.txt
- more facture_message.txt
-
- echo '====== END of message ======'
test -f "SENT_TO_$email" && {
- echo '!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!'
echo "!!! Already SENT_TO_$email"
- echo '!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!'
+ return
}
+ more facture_message.txt
+ echo '====== END of message ======'
mailq
test -f "SENT_TO_$email" || acroread facture_imapsync-${invoice}.pdf&
echo "Send this invoice ${invoice} to $email?"
diff --git a/paypal_return.shtml b/W/paypal_return.shtml
similarity index 83%
rename from paypal_return.shtml
rename to W/paypal_return.shtml
index 176f8b8..1313ea7 100644
--- a/paypal_return.shtml
+++ b/W/paypal_return.shtml
@@ -5,7 +5,7 @@
imapsync download
-
+
@@ -14,7 +14,7 @@
-
+
-
-
-
-
imapsync support
I thank you for buying Imapsync support!
@@ -48,7 +45,7 @@ to view details of this transaction.
You will receive an invoice soon.
-Now you can contact me (Gilles LAMIRAL) by email or phone
+Now you can contact me (Gilles LAMIRAL) by email or phone
Email address: gilles.lamiral@laposte.net .
Professionnal phone number: +33 951 84 42 42 (in France) I can call you back for free in many countries.
@@ -56,9 +53,9 @@ to view details of this transaction.
I thank you again for buying imapsync support,
-I wish you successful imap transfers and I will help you until you reach this goal!
+I wish you successful imap transfers and I will help you until you reach this goal!
-imapsync homepage
+imapsync homepage
Gilles LAMIRAL
gilles.lamiral@laposte.net
@@ -78,7 +75,7 @@ gilles.lamiral@laposte.net
This document last modified on
-($Id: paypal_return_support.shtml,v 1.5 2011/08/03 00:57:39 gilles Exp gilles $)
+($Id: paypal_return_support.shtml,v 1.6 2012/08/15 00:27:19 gilles Exp gilles $)
diff --git a/style.css b/W/style.css
similarity index 100%
rename from style.css
rename to W/style.css
diff --git a/test.bat b/W/test.bat
old mode 100755
new mode 100644
similarity index 100%
rename from test.bat
rename to W/test.bat
diff --git a/test2.bat b/W/test2.bat
old mode 100755
new mode 100644
similarity index 76%
rename from test2.bat
rename to W/test2.bat
index c53080d..e9242f9
--- a/test2.bat
+++ b/W/test2.bat
@@ -1,5 +1,5 @@
-REM $Id: test2.bat,v 1.9 2012/08/10 11:28:30 gilles Exp gilles $
+REM $Id: test2.bat,v 1.10 2012/08/29 10:43:25 gilles Exp gilles $
cd C:\msys\1.0\home\Admin\imapsync
REM perl ./imapsync --host1 p --user1 tata --passfile1 secret.tata --host2 p --user2 titi --passfile2 secret.titi --delete2 --expunge2 --folder INBOX
@@ -29,6 +29,11 @@ REM --host2 p --user2 dollar --password2 "$%%&<>|^"^" --justlogin
REM imapsync --host1 p --user1 tata --passfile1 secret.tata ^
REM --host2 p --user2 equal --password2 "==lalala" --justlogin --debugimap2
+REM perl ./imapsync --host1 p --user1 tata --passfile1 secret.tata ^
+REM --host2 p --user2 titi --passfile2 secret.titi ^
+REM --folder INBOX.useuid --useuid --debugcache --delete2
+
+
perl ./imapsync --host1 p --user1 tata --passfile1 secret.tata ^
- --host2 p --user2 titi --passfile2 secret.titi ^
- --folder INBOX.useuid --useuid --debugcache --delete2
+ --host2 imap.gmail.com --ssl2 --user2 gilles.lamiral@gmail.com --passfile2 secret.gilles_gmail ^
+ --usecache --nofoldersizes --folder INBOX --regextrans2 "s(INBOX)([Gmail]/te*st)"
diff --git a/test_exe.bat b/W/test_exe.bat
old mode 100755
new mode 100644
similarity index 100%
rename from test_exe.bat
rename to W/test_exe.bat
diff --git a/test_exe_2.bat b/W/test_exe_2.bat
similarity index 100%
rename from test_exe_2.bat
rename to W/test_exe_2.bat
diff --git a/tmp/cache/F1/F2/142_242 b/W/tmp/cache/F1/F2/142_242
similarity index 100%
rename from tmp/cache/F1/F2/142_242
rename to W/tmp/cache/F1/F2/142_242
diff --git a/tmp/cache/F1/F2/143_243 b/W/tmp/cache/F1/F2/143_243
similarity index 100%
rename from tmp/cache/F1/F2/143_243
rename to W/tmp/cache/F1/F2/143_243
diff --git a/tmp/cache/F1/F2/177_377 b/W/tmp/cache/F1/F2/177_377
similarity index 100%
rename from tmp/cache/F1/F2/177_377
rename to W/tmp/cache/F1/F2/177_377
diff --git a/tmp/cache/F1/F2/177_777 b/W/tmp/cache/F1/F2/177_777
similarity index 100%
rename from tmp/cache/F1/F2/177_777
rename to W/tmp/cache/F1/F2/177_777
diff --git a/tmp/cache/G1/G2/100_200 b/W/tmp/cache/G1/G2/100_200
similarity index 100%
rename from tmp/cache/G1/G2/100_200
rename to W/tmp/cache/G1/G2/100_200
diff --git a/tmp/cache/G1/G2/142_242 b/W/tmp/cache/G1/G2/142_242
similarity index 100%
rename from tmp/cache/G1/G2/142_242
rename to W/tmp/cache/G1/G2/142_242
diff --git a/tmp/cache/G1/G2/177_777 b/W/tmp/cache/G1/G2/177_777
similarity index 100%
rename from tmp/cache/G1/G2/177_777
rename to W/tmp/cache/G1/G2/177_777
diff --git "a/tmp/cache/rr\\uee/142_242" "b/W/tmp/cache/rr\\uee/142_242"
similarity index 100%
rename from "tmp/cache/rr\\uee/142_242"
rename to "W/tmp/cache/rr\\uee/142_242"
diff --git "a/tmp/cache/rr\\uee/143_243" "b/W/tmp/cache/rr\\uee/143_243"
similarity index 100%
rename from "tmp/cache/rr\\uee/143_243"
rename to "W/tmp/cache/rr\\uee/143_243"
diff --git "a/tmp/cache/rr\\uee/177_377" "b/W/tmp/cache/rr\\uee/177_377"
similarity index 100%
rename from "tmp/cache/rr\\uee/177_377"
rename to "W/tmp/cache/rr\\uee/177_377"
diff --git "a/tmp/cache/rr\\uee/177_777" "b/W/tmp/cache/rr\\uee/177_777"
similarity index 100%
rename from "tmp/cache/rr\\uee/177_777"
rename to "W/tmp/cache/rr\\uee/177_777"
diff --git "a/tmp/tests/\\y" "b/W/tmp/tests/\\y"
similarity index 100%
rename from "tmp/tests/\\y"
rename to "W/tmp/tests/\\y"
diff --git a/tmp/tests/lala b/W/tmp/tests/lala
similarity index 100%
rename from tmp/tests/lala
rename to W/tmp/tests/lala
diff --git a/tmp/tests/lili b/W/tmp/tests/lili
similarity index 100%
rename from tmp/tests/lili
rename to W/tmp/tests/lili
diff --git a/tmp/tests/lolo b/W/tmp/tests/lolo
similarity index 100%
rename from tmp/tests/lolo
rename to W/tmp/tests/lolo
diff --git a/examples/archive_per_month b/examples/archive_per_month
new file mode 100755
index 0000000..338efcf
--- /dev/null
+++ b/examples/archive_per_month
@@ -0,0 +1,61 @@
+#!/bin/sh
+
+# $Id: archive_per_month,v 1.5 2012/08/12 16:41:22 gilles Exp gilles $
+
+# Translate Jan to 01, Feb to 02 etc.
+month_number() {
+ test X"$1" = X"Jan" && echo 01 && return
+ test X"$1" = X"Feb" && echo 02 && return
+ test X"$1" = X"Mar" && echo 03 && return
+ test X"$1" = X"Apr" && echo 04 && return
+ test X"$1" = X"May" && echo 05 && return
+ test X"$1" = X"Jun" && echo 06 && return
+ test X"$1" = X"Jul" && echo 07 && return
+ test X"$1" = X"Aug" && echo 08 && return
+ test X"$1" = X"Sep" && echo 09 && return
+ test X"$1" = X"Oct" && echo 10 && return
+ test X"$1" = X"Nov" && echo 11 && return
+ test X"$1" = X"Dec" && echo 12 && return
+ echo 00
+}
+
+# Calculates the last day of month
+# Expect GNU date command
+
+last_day_of_year_month() {
+ year_ld=$1
+ month_ld=$2
+
+ next_month_day_01=`date -d "$year_ld-$month_ld-15 next month" +%Y-%m-01`
+ #echo $next_month_day_1
+ # last day is 1st day of next month minus 1 day
+ date -d "$next_month_day_01 -1 day" +%d
+}
+
+
+# Replace ... with standard options like --host1 --user1 --password1 --host2 --user2 --password2
+# Remove the echo at the beginning
+
+archive_year_month() {
+ year=$1
+ month=$2
+
+ month_n=`month_number $month`
+ last_day=`last_day_of_year_month $year $month_n`
+ echo imapsync ... \
+ --search "SENTSINCE 1-$month-$year SENTBEFORE $last_day-$month-$year" \
+ --regextrans2 "s{.*}{Archive/$year/$month_n}"
+
+}
+
+
+#
+for year_archive in 1993 1994 1995 1996 1997 1998 1999 2000 2001 2002 2003 2004 2005 2006 2007 2008 2009 2010 2011 2012; do
+ for month_archive in "Jan" "Feb" "Mar" "Apr" "May" "Jun" "Jul" "Aug" "Sep" "Oct" "Nov" "Dec"; do
+ archive_year_month $year_archive $month_archive
+ done
+done
+
+
+# End of $Id: archive_per_month,v 1.5 2012/08/12 16:41:22 gilles Exp gilles $
+
diff --git a/file.txt b/examples/file.txt
similarity index 98%
rename from file.txt
rename to examples/file.txt
index 9d931a7..fcd8809 100644
--- a/file.txt
+++ b/examples/file.txt
@@ -1,27 +1,27 @@
-# Example file.txt for imapsync massive migration.
-#
-# ==== Windows ====
-# Thanks to http://ss64.com/nt/for_f.html for
-# the Windows example of a for loop
-#
-# This file can be used on Windows with the following line in a batch
-# FOR /F "tokens=1,2,3,4 delims=; eol=#" %%G IN (file.txt) DO imapsync --host1 imap.truc.org --user1 %%G --password1 %%H --host2 imap.trac.org --user2 %%I --password2 %%J
-#
-# A line beginning with # is a comment thanks to option Win32 eol=#
-# Separator is character ; it can be changed by any character changing delims=;
-# Each line contains 4 columns, columns are parameters for --user1 --password1 --user2 --password2
-#
-# ==== Unix ====
-# This file can be used on Unix with the following line in a Bourne shell script
-# { while IFS=';' read u1 p1 u2 p2; do imapsync --user1 "$u1" --password1 "$p1" --user2 "$u2" --password2 "$p2" ... ; done ; } < file.txt
-#
-# Separator is character ; it can be changed by any character changing IFS=';'
-# Each line contains 4 columns, columns are parameters for --user1 --password1 --user2 --password2
-#
-# Now the data example
-user001_1;password001_1;user001_2;password001_2
-user002_1;password002_1;user002_2;password002_2
-user003_1;password003_1;user003_2;password003_2
-# Another comment blabla
-user004_1;password004_1;user004_2;password004_2
-user005_1;password005_1;user005_2;password005_2
+# Example file.txt for imapsync massive migration.
+#
+# ==== Windows ====
+# Thanks to http://ss64.com/nt/for_f.html for
+# the Windows example of a for loop
+#
+# This file can be used on Windows with the following line in a batch
+# FOR /F "tokens=1,2,3,4 delims=; eol=#" %%G IN (file.txt) DO imapsync --host1 imap.truc.org --user1 %%G --password1 %%H --host2 imap.trac.org --user2 %%I --password2 %%J
+#
+# A line beginning with # is a comment thanks to option Win32 eol=#
+# Separator is character ; it can be changed by any character changing delims=;
+# Each line contains 4 columns, columns are parameters for --user1 --password1 --user2 --password2
+#
+# ==== Unix ====
+# This file can be used on Unix with the following line in a Bourne shell script
+# { while IFS=';' read u1 p1 u2 p2; do imapsync --user1 "$u1" --password1 "$p1" --user2 "$u2" --password2 "$p2" ... ; done ; } < file.txt
+#
+# Separator is character ; it can be changed by any character changing IFS=';'
+# Each line contains 4 columns, columns are parameters for --user1 --password1 --user2 --password2
+#
+# Now the data example
+user001_1;password001_1;user001_2;password001_2
+user002_1;password002_1;user002_2;password002_2
+user003_1;password003_1;user003_2;password003_2
+# Another comment blabla
+user004_1;password004_1;user004_2;password004_2
+user005_1;password005_1;user005_2;password005_2
diff --git a/imapsync_example.bat.txt b/examples/imapsync_example.bat.txt
old mode 100755
new mode 100644
similarity index 100%
rename from imapsync_example.bat.txt
rename to examples/imapsync_example.bat.txt
diff --git a/i2 b/i2
index 39074b5..97b6318 100755
--- a/i2
+++ b/i2
@@ -1,7 +1,7 @@
#!/bin/sh
-# $Id: i2,v 1.2 2011/03/15 01:14:15 gilles Exp gilles $
+# $Id: i2,v 1.3 2012/08/12 23:15:15 gilles Exp gilles $
BASE=`dirname $0`
-perl -I${BASE}/Mail-IMAPClient-2.2.9 ${BASE}/imapsync "$@"
+perl -I${BASE}/W/Mail-IMAPClient-2.2.9 ${BASE}/imapsync "$@"
diff --git a/i3 b/i3
index 5d1b01e..cf3a177 100755
--- a/i3
+++ b/i3
@@ -1,7 +1,7 @@
#!/bin/sh
-# $Id: i3,v 1.9 2012/04/15 19:18:02 gilles Exp gilles $
+# $Id: i3,v 1.10 2012/08/12 23:15:15 gilles Exp gilles $
BASE=`dirname $0`
-perl -I${BASE}/Mail-IMAPClient-3.31/lib ${BASE}/imapsync "$@"
+perl -I${BASE}/W/Mail-IMAPClient-3.31/lib ${BASE}/imapsync "$@"
diff --git a/imapsync b/imapsync
index 76b2c2d..9899e22 100755
--- a/imapsync
+++ b/imapsync
@@ -20,7 +20,7 @@ Synchronise mailboxes between two imap servers.
Good at IMAP migration. More than 44 different IMAP server softwares
supported with success.
-$Revision: 1.500 $
+$Revision: 1.504 $
=head1 SYNOPSIS
@@ -515,7 +515,7 @@ Entries for imapsync:
Feedback (good or bad) will often be welcome.
-$Id: imapsync,v 1.500 2012/08/10 04:58:46 gilles Exp gilles $
+$Id: imapsync,v 1.504 2012/08/28 13:10:26 gilles Exp gilles $
=cut
@@ -543,7 +543,7 @@ use Errno qw(EAGAIN EPIPE ECONNRESET);
use File::Glob qw( :glob ) ;
use IO::File;
use Time::Local ;
-
+use Time::HiRes qw( time ) ;
use Test::More 'no_plan';
eval { require 'usr/include/sysexits.ph' };
@@ -604,7 +604,7 @@ my(
$h1_nb_msg_deleted,
$h2_nb_msg_deleted,
$timeout,
- $timestart, $timeend, $timediff,
+ $timestart, $timestart_int, $timeend, $timediff,
$timesize, $timebefore,
$ssl1, $ssl2,
$tls1, $tls2,
@@ -626,14 +626,14 @@ my(
$wholeheaderifneeded, %h1_msgs_copy_by_uid, $useuid, $h2_uidguess,
$addheader,
%h1, %h2,
- $checkselectable,
+ $checkselectable, $checkmessageexists,
);
# main program
# global variables initialisation
-$rcs = '$Id: imapsync,v 1.500 2012/08/10 04:58:46 gilles Exp gilles $ ';
+$rcs = '$Id: imapsync,v 1.504 2012/08/28 13:10:26 gilles Exp gilles $ ';
$total_bytes_transferred = 0;
$total_bytes_skipped = 0;
@@ -714,6 +714,7 @@ $usecache = 1 if ( $useuid and ( ! defined( $usecache ) ) ) ;
$cacheaftercopy = 1 if ( $usecache and ( ! defined( $cacheaftercopy ) ) ) ;
$checkselectable = defined( $checkselectable ) ? $checkselectable : 1 ;
+$checkmessageexists = defined( $checkmessageexists ) ? $checkmessageexists : 1 ;
print banner_imapsync(@argv_copy);
@@ -890,6 +891,7 @@ my $imap1 = ();
my $imap2 = ();
$timestart = time( );
+$timestart_int = int( $timestart ) ;
$timebefore = $timestart;
$debugimap1 and print "Host1 connection\n";
@@ -1071,6 +1073,8 @@ delete_folders_in_2_not_in_1() if $delete2folders;
# folder loop
print "++++ Looping on each folder\n";
+my $begin_transfer_time = time ;
+
FOLDER: foreach my $h1_fold (@h1_folders_wanted) {
last FOLDER if $imap1->IsUnconnected();
@@ -1899,8 +1903,8 @@ sub banner_imapsync {
my @argv_copy = @_;
my $banner_imapsync = join("",
'$RCSfile: imapsync,v $ ',
- '$Revision: 1.500 $ ',
- '$Date: 2012/08/10 04:58:46 $ ',
+ '$Revision: 1.504 $ ',
+ '$Date: 2012/08/28 13:10:26 $ ',
"\n",localhost_info(), "\n",
"Command line used:\n",
"$0 ", command_line_nopassword(@argv_copy), "\n",
@@ -2307,7 +2311,7 @@ sub foldersizes {
my $total_nb = 0 ;
my $biggest = 0 ;
- print "++++ Calculating sizes\n" ;
+ print "++++ Calculating sizes on $side\n" ;
foreach my $folder ( @folders ) {
my $stot = 0 ;
my $nb_msgs = 0 ;
@@ -2348,21 +2352,31 @@ sub foldersizes {
$total_size += $stot ;
$total_nb += $nb_msgs ;
}
- printf ( "Nb messages: %11s\n", $total_nb ) ;
- printf ( "Total size: %11s bytes\n", $total_size ) ;
- printf ( "Biggest message: %11s bytes\n", $biggest ) ;
- printf ( "Time: %11s seconds\n", timenext( ) ) ;
+ printf ( "Nb messages: %11s messages\n", $total_nb ) ;
+ printf ( "Total size: %11s bytes (%s)\n", $total_size, bytes_display_string( $total_size ) ) ;
+ printf ( "Biggest message: %11s bytes (%s)\n", $biggest, bytes_display_string( $biggest ) ) ;
+ printf ( "Time spent: %11.1f seconds\n", timenext( ) ) ;
}
sub timenext {
- my ($timenow, $timerel);
+ my ( $timenow, $timediff ) ;
# $timebefore is global, beurk !
- $timenow = time;
- $timerel = $timenow - $timebefore;
- $timebefore = $timenow;
- return($timerel);
+ $timenow = time ;
+ $timediff = $timenow - $timebefore ;
+ $timebefore = $timenow ;
+ return( $timediff ) ;
}
+sub timesince {
+ my $timeinit = shift ;
+ my ( $timenow, $timediff ) ;
+ $timenow = time ;
+ $timediff = $timenow - $timeinit ;
+ return( $timediff ) ;
+}
+
+
+
sub tests_flags_regex {
@@ -2629,10 +2643,10 @@ sub select_msgs {
}
if ( defined( $maxage ) ) {
- @max = $imap->sentsince( $timestart - 86400 * $maxage ) ;
+ @max = $imap->sentsince( $timestart_int - 86400 * $maxage ) ;
}
if ( defined($minage ) ) {
- @min = $imap->sentbefore( $timestart - 86400 * $minage ) ;
+ @min = $imap->sentbefore( $timestart_int - 86400 * $minage ) ;
}
SWITCH: {
unless( defined( $minage ) ) { @msgs = @max ; last SWITCH } ;
@@ -2727,7 +2741,7 @@ sub copy_message {
do { print "SLEEP 5\n" and sleep 5 ; } if ( $debugsleep ) ;
print "- msg $h1_fold/$h1_msg S[$h1_size] F[$h1_flags] I[$h1_idate] has RFC822.SIZE null!\n" if ( ! $h1_size ) ;
- return( ) if not message_exists( $imap1, $h1_msg ) ;
+ return( ) if ( $checkmessageexists and not message_exists( $imap1, $h1_msg ) ) ;
$string = $imap1->message_string($h1_msg);
@@ -2802,10 +2816,15 @@ sub copy_message {
if ( $new_id !~ m{^\d+$} ) {
$new_id = lastuid( $imap2, $h2_fold, $h2_uidguess ) ;
}
- printf( "msg %s/%-19s copied to %s/%-10s\n", $h1_fold, "$h1_msg {$string_len}", $h2_fold, $new_id );
$h2_uidguess += 1 ;
- $total_bytes_transferred += $h1_size;
- $nb_msg_transferred += 1;
+ $total_bytes_transferred += $h1_size ;
+ $nb_msg_transferred += 1 ;
+
+ my $time_spent = timesince( $begin_transfer_time ) ;
+ my $rate = bytes_display_string( $total_bytes_transferred / $time_spent ) ;
+
+ printf( "msg %s/%-19s copied to %s/%-10s %.2f msgs/s %s/s\n",
+ $h1_fold, "$h1_msg {$string_len}", $h2_fold, $new_id, $nb_msg_transferred/$time_spent, $rate );
if ( $usecache and $cacheaftercopy and $new_id =~ m{^\d+$} ) {
$debugcache and print "touch $cache_dir/${h1_msg}_$new_id\n" ;
@@ -2956,21 +2975,21 @@ sub get_cache {
sub tests_get_cache {
ok( ! get_cache('/cache_no_exist'), 'get_cache: /cache_no_exist' );
- ok( ( ! -d 'tmp/cache/F1/F2' or rmtree( 'tmp/cache/F1/F2' )), 'get_cache: rmtree tmp/cache/F1/F2' ) ;
- ok( mkpath( 'tmp/cache/F1/F2' ), 'get_cache: mkpath tmp/cache/F1/F2' ) ;
+ ok( ( ! -d 'W/tmp/cache/F1/F2' or rmtree( 'W/tmp/cache/F1/F2' )), 'get_cache: rmtree W/tmp/cache/F1/F2' ) ;
+ ok( mkpath( 'W/tmp/cache/F1/F2' ), 'get_cache: mkpath W/tmp/cache/F1/F2' ) ;
my @test_files_cache = ( qw(
- tmp/cache/F1/F2/100_200
- tmp/cache/F1/F2/101_201
- tmp/cache/F1/F2/120_220
- tmp/cache/F1/F2/142_242
- tmp/cache/F1/F2/143_243
- tmp/cache/F1/F2/177_277
- tmp/cache/F1/F2/177_377
- tmp/cache/F1/F2/177_777
- tmp/cache/F1/F2/155_255
+ W/tmp/cache/F1/F2/100_200
+ W/tmp/cache/F1/F2/101_201
+ W/tmp/cache/F1/F2/120_220
+ W/tmp/cache/F1/F2/142_242
+ W/tmp/cache/F1/F2/143_243
+ W/tmp/cache/F1/F2/177_277
+ W/tmp/cache/F1/F2/177_377
+ W/tmp/cache/F1/F2/177_777
+ W/tmp/cache/F1/F2/155_255
) ) ;
- ok( touch( @test_files_cache ), 'get_cache: touch tmp/cache/F1/F2/...' ) ;
+ ok( touch( @test_files_cache ), 'get_cache: touch W/tmp/cache/F1/F2/...' ) ;
# on cache: 100_200 101_201 142_242 143_243 177_277 177_377 177_777 155_255
@@ -2982,44 +3001,44 @@ sub tests_get_cache {
my $msgs_all_2 = { 242 => '', 243 => '', 299 => '', 377 => '', 777 => '', 255 => '' } ;
my( $c12, $c21 ) ;
- ok( ( $c12, $c21 ) = get_cache( 'tmp/cache/F1/F2', $msgs_1, $msgs_2, $msgs_all_1, $msgs_all_2 ), 'get_cache: 02' );
+ ok( ( $c12, $c21 ) = get_cache( 'W/tmp/cache/F1/F2', $msgs_1, $msgs_2, $msgs_all_1, $msgs_all_2 ), 'get_cache: 02' );
my $a1 = [ sort { $a <=> $b } keys %$c12 ] ;
my $a2 = [ sort { $a <=> $b } keys %$c21 ] ;
ok( 0 == compare_lists( [ 142, 143, 177 ], $a1 ), 'get_cache: 03' );
ok( 0 == compare_lists( [ 242, 243, 777 ], $a2 ), 'get_cache: 04' );
- ok( -f 'tmp/cache/F1/F2/142_242', 'get_cache: file kept 142_242');
- ok( -f 'tmp/cache/F1/F2/142_242', 'get_cache: file kept 143_243');
- ok( ! -f 'tmp/cache/F1/F2/100_200', 'get_cache: file removed 100_200');
- ok( ! -f 'tmp/cache/F1/F2/101_201', 'get_cache: file removed 101_201');
+ ok( -f 'W/tmp/cache/F1/F2/142_242', 'get_cache: file kept 142_242');
+ ok( -f 'W/tmp/cache/F1/F2/142_242', 'get_cache: file kept 143_243');
+ ok( ! -f 'W/tmp/cache/F1/F2/100_200', 'get_cache: file removed 100_200');
+ ok( ! -f 'W/tmp/cache/F1/F2/101_201', 'get_cache: file removed 101_201');
# test clean_cache executed
$maxage = 2 ;
- ok( touch(@test_files_cache), 'get_cache: touch tmp/cache/F1/F2/...' ) ;
- ok( ( $c12, $c21 ) = get_cache('tmp/cache/F1/F2', $msgs_1, $msgs_2, $msgs_all_1, $msgs_all_2 ), 'get_cache: 02' );
- ok( -f 'tmp/cache/F1/F2/142_242', 'get_cache: file kept 142_242');
- ok( -f 'tmp/cache/F1/F2/142_242', 'get_cache: file kept 143_243');
- ok( ! -f 'tmp/cache/F1/F2/100_200', 'get_cache: file NOT removed 100_200');
- ok( ! -f 'tmp/cache/F1/F2/101_201', 'get_cache: file NOT removed 101_201');
+ ok( touch(@test_files_cache), 'get_cache: touch W/tmp/cache/F1/F2/...' ) ;
+ ok( ( $c12, $c21 ) = get_cache('W/tmp/cache/F1/F2', $msgs_1, $msgs_2, $msgs_all_1, $msgs_all_2 ), 'get_cache: 02' );
+ ok( -f 'W/tmp/cache/F1/F2/142_242', 'get_cache: file kept 142_242');
+ ok( -f 'W/tmp/cache/F1/F2/142_242', 'get_cache: file kept 143_243');
+ ok( ! -f 'W/tmp/cache/F1/F2/100_200', 'get_cache: file NOT removed 100_200');
+ ok( ! -f 'W/tmp/cache/F1/F2/101_201', 'get_cache: file NOT removed 101_201');
# strange files
#$debugcache = 1 ;
$maxage = undef ;
- ok( ( ! -d 'tmp/cache/rr\uee' or rmtree( 'tmp/cache/rr\uee' )), 'get_cache: rmtree tmp/cache/rr\uee' ) ;
- ok( mkpath( 'tmp/cache/rr\uee' ), 'get_cache: mkpath tmp/cache/rr\uee' ) ;
+ ok( ( ! -d 'W/tmp/cache/rr\uee' or rmtree( 'W/tmp/cache/rr\uee' )), 'get_cache: rmtree W/tmp/cache/rr\uee' ) ;
+ ok( mkpath( 'W/tmp/cache/rr\uee' ), 'get_cache: mkpath W/tmp/cache/rr\uee' ) ;
@test_files_cache = ( qw(
- tmp/cache/rr\uee/100_200
- tmp/cache/rr\uee/101_201
- tmp/cache/rr\uee/120_220
- tmp/cache/rr\uee/142_242
- tmp/cache/rr\uee/143_243
- tmp/cache/rr\uee/177_277
- tmp/cache/rr\uee/177_377
- tmp/cache/rr\uee/177_777
- tmp/cache/rr\uee/155_255
+ W/tmp/cache/rr\uee/100_200
+ W/tmp/cache/rr\uee/101_201
+ W/tmp/cache/rr\uee/120_220
+ W/tmp/cache/rr\uee/142_242
+ W/tmp/cache/rr\uee/143_243
+ W/tmp/cache/rr\uee/177_277
+ W/tmp/cache/rr\uee/177_377
+ W/tmp/cache/rr\uee/177_777
+ W/tmp/cache/rr\uee/155_255
) ) ;
- ok( touch(@test_files_cache), 'get_cache: touch strange tmp/cache/...' ) ;
+ ok( touch(@test_files_cache), 'get_cache: touch strange W/tmp/cache/...' ) ;
# on cache: 100_200 101_201 142_242 143_243 177_277 177_377 177_777 155_255
# on live:
@@ -3029,15 +3048,15 @@ sub tests_get_cache {
$msgs_all_1 = { 120 => '', 142 => '', 143 => '', 144 => '', 177 => '' } ;
$msgs_all_2 = { 242 => '', 243 => '', 299 => '', 377 => '', 777 => '', 255 => '' } ;
- ok( ( $c12, $c21 ) = get_cache('tmp/cache/rr\uee', $msgs_1, $msgs_2, $msgs_all_1, $msgs_all_2), 'get_cache: strange path 02' );
+ ok( ( $c12, $c21 ) = get_cache('W/tmp/cache/rr\uee', $msgs_1, $msgs_2, $msgs_all_1, $msgs_all_2), 'get_cache: strange path 02' );
$a1 = [ sort { $a <=> $b } keys %$c12 ] ;
$a2 = [ sort { $a <=> $b } keys %$c21 ] ;
ok( 0 == compare_lists( [ 142, 143, 177 ], $a1 ), 'get_cache: strange path 03' );
ok( 0 == compare_lists( [ 242, 243, 777 ], $a2 ), 'get_cache: strange path 04' );
- ok( -f 'tmp/cache/rr\uee/142_242', 'get_cache: strange path file kept 142_242');
- ok( -f 'tmp/cache/rr\uee/142_242', 'get_cache: strange path file kept 143_243');
- ok( ! -f 'tmp/cache/rr\uee/100_200', 'get_cache: strange path file removed 100_200');
- ok( ! -f 'tmp/cache/rr\uee/101_201', 'get_cache: strange path file removed 101_201');
+ ok( -f 'W/tmp/cache/rr\uee/142_242', 'get_cache: strange path file kept 142_242');
+ ok( -f 'W/tmp/cache/rr\uee/142_242', 'get_cache: strange path file kept 143_243');
+ ok( ! -f 'W/tmp/cache/rr\uee/100_200', 'get_cache: strange path file removed 100_200');
+ ok( ! -f 'W/tmp/cache/rr\uee/101_201', 'get_cache: strange path file removed 101_201');
}
@@ -3115,28 +3134,28 @@ sub clean_cache {
sub tests_clean_cache {
- ok( ( ! -d 'tmp/cache/G1/G2' or rmtree( 'tmp/cache/G1/G2' )), 'clean_cache: rmtree tmp/cache/G1/G2' ) ;
- ok( mkpath( 'tmp/cache/G1/G2' ), 'clean_cache: mkpath tmp/cache/G1/G2' ) ;
+ ok( ( ! -d 'W/tmp/cache/G1/G2' or rmtree( 'W/tmp/cache/G1/G2' )), 'clean_cache: rmtree W/tmp/cache/G1/G2' ) ;
+ ok( mkpath( 'W/tmp/cache/G1/G2' ), 'clean_cache: mkpath W/tmp/cache/G1/G2' ) ;
my @test_files_cache = ( qw(
- tmp/cache/G1/G2/100_200
- tmp/cache/G1/G2/101_201
- tmp/cache/G1/G2/120_220
- tmp/cache/G1/G2/142_242
- tmp/cache/G1/G2/143_243
- tmp/cache/G1/G2/177_277
- tmp/cache/G1/G2/177_377
- tmp/cache/G1/G2/177_777
- tmp/cache/G1/G2/155_255
+ W/tmp/cache/G1/G2/100_200
+ W/tmp/cache/G1/G2/101_201
+ W/tmp/cache/G1/G2/120_220
+ W/tmp/cache/G1/G2/142_242
+ W/tmp/cache/G1/G2/143_243
+ W/tmp/cache/G1/G2/177_277
+ W/tmp/cache/G1/G2/177_377
+ W/tmp/cache/G1/G2/177_777
+ W/tmp/cache/G1/G2/155_255
) ) ;
- ok( touch(@test_files_cache), 'clean_cache: touch tmp/cache/G1/G2/...' ) ;
+ ok( touch(@test_files_cache), 'clean_cache: touch W/tmp/cache/G1/G2/...' ) ;
- ok( -f 'tmp/cache/G1/G2/100_200', 'clean_cache: 100_200 before' );
- ok( -f 'tmp/cache/G1/G2/142_242', 'clean_cache: 142_242 before' );
- ok( -f 'tmp/cache/G1/G2/177_277', 'clean_cache: 177_277 before' );
- ok( -f 'tmp/cache/G1/G2/177_377', 'clean_cache: 177_377 before' );
- ok( -f 'tmp/cache/G1/G2/177_777', 'clean_cache: 177_777 before' );
- ok( -f 'tmp/cache/G1/G2/155_255', 'clean_cache: 155_255 before' );
+ ok( -f 'W/tmp/cache/G1/G2/100_200', 'clean_cache: 100_200 before' );
+ ok( -f 'W/tmp/cache/G1/G2/142_242', 'clean_cache: 142_242 before' );
+ ok( -f 'W/tmp/cache/G1/G2/177_277', 'clean_cache: 177_277 before' );
+ ok( -f 'W/tmp/cache/G1/G2/177_377', 'clean_cache: 177_377 before' );
+ ok( -f 'W/tmp/cache/G1/G2/177_777', 'clean_cache: 177_777 before' );
+ ok( -f 'W/tmp/cache/G1/G2/155_255', 'clean_cache: 155_255 before' );
my $cache = {
142 => 242,
@@ -3155,38 +3174,38 @@ sub tests_clean_cache {
} ;
ok( clean_cache( \@test_files_cache, $cache, $all_1, $all_2 ), 'clean_cache: ' ) ;
- ok( ! -f 'tmp/cache/G1/G2/100_200', 'clean_cache: 100_200 after' );
- ok( -f 'tmp/cache/G1/G2/142_242', 'clean_cache: 142_242 after' );
- ok( ! -f 'tmp/cache/G1/G2/177_277', 'clean_cache: 177_277 after' );
- ok( ! -f 'tmp/cache/G1/G2/177_377', 'clean_cache: 177_377 after' );
- ok( -f 'tmp/cache/G1/G2/177_777', 'clean_cache: 177_777 after' );
- ok( ! -f 'tmp/cache/G1/G2/155_255', 'clean_cache: 155_255 after' );
+ ok( ! -f 'W/tmp/cache/G1/G2/100_200', 'clean_cache: 100_200 after' );
+ ok( -f 'W/tmp/cache/G1/G2/142_242', 'clean_cache: 142_242 after' );
+ ok( ! -f 'W/tmp/cache/G1/G2/177_277', 'clean_cache: 177_277 after' );
+ ok( ! -f 'W/tmp/cache/G1/G2/177_377', 'clean_cache: 177_377 after' );
+ ok( -f 'W/tmp/cache/G1/G2/177_777', 'clean_cache: 177_777 after' );
+ ok( ! -f 'W/tmp/cache/G1/G2/155_255', 'clean_cache: 155_255 after' );
}
sub tests_clean_cache_2 {
- ok( ( ! -d 'tmp/cache/G1/G2' or rmtree( 'tmp/cache/G1/G2' )), 'clean_cache_2: rmtree tmp/cache/G1/G2' ) ;
- ok( mkpath( 'tmp/cache/G1/G2' ), 'clean_cache_2: mkpath tmp/cache/G1/G2' ) ;
+ ok( ( ! -d 'W/tmp/cache/G1/G2' or rmtree( 'W/tmp/cache/G1/G2' )), 'clean_cache_2: rmtree W/tmp/cache/G1/G2' ) ;
+ ok( mkpath( 'W/tmp/cache/G1/G2' ), 'clean_cache_2: mkpath W/tmp/cache/G1/G2' ) ;
my @test_files_cache = ( qw(
- tmp/cache/G1/G2/100_200
- tmp/cache/G1/G2/101_201
- tmp/cache/G1/G2/120_220
- tmp/cache/G1/G2/142_242
- tmp/cache/G1/G2/143_243
- tmp/cache/G1/G2/177_277
- tmp/cache/G1/G2/177_377
- tmp/cache/G1/G2/177_777
- tmp/cache/G1/G2/155_255
+ W/tmp/cache/G1/G2/100_200
+ W/tmp/cache/G1/G2/101_201
+ W/tmp/cache/G1/G2/120_220
+ W/tmp/cache/G1/G2/142_242
+ W/tmp/cache/G1/G2/143_243
+ W/tmp/cache/G1/G2/177_277
+ W/tmp/cache/G1/G2/177_377
+ W/tmp/cache/G1/G2/177_777
+ W/tmp/cache/G1/G2/155_255
) ) ;
- ok( touch(@test_files_cache), 'clean_cache_2: touch tmp/cache/G1/G2/...' ) ;
+ ok( touch(@test_files_cache), 'clean_cache_2: touch W/tmp/cache/G1/G2/...' ) ;
- ok( -f 'tmp/cache/G1/G2/100_200', 'clean_cache_2: 100_200 before' );
- ok( -f 'tmp/cache/G1/G2/142_242', 'clean_cache_2: 142_242 before' );
- ok( -f 'tmp/cache/G1/G2/177_277', 'clean_cache_2: 177_277 before' );
- ok( -f 'tmp/cache/G1/G2/177_377', 'clean_cache_2: 177_377 before' );
- ok( -f 'tmp/cache/G1/G2/177_777', 'clean_cache_2: 177_777 before' );
- ok( -f 'tmp/cache/G1/G2/155_255', 'clean_cache_2: 155_255 before' );
+ ok( -f 'W/tmp/cache/G1/G2/100_200', 'clean_cache_2: 100_200 before' );
+ ok( -f 'W/tmp/cache/G1/G2/142_242', 'clean_cache_2: 142_242 before' );
+ ok( -f 'W/tmp/cache/G1/G2/177_277', 'clean_cache_2: 177_277 before' );
+ ok( -f 'W/tmp/cache/G1/G2/177_377', 'clean_cache_2: 177_377 before' );
+ ok( -f 'W/tmp/cache/G1/G2/177_777', 'clean_cache_2: 177_777 before' );
+ ok( -f 'W/tmp/cache/G1/G2/155_255', 'clean_cache_2: 155_255 before' );
my $cache = {
142 => 242,
@@ -3209,12 +3228,12 @@ sub tests_clean_cache_2 {
ok( clean_cache( \@test_files_cache, $cache, $all_1, $all_2 ), 'clean_cache_2: ' ) ;
- ok( -f 'tmp/cache/G1/G2/100_200', 'clean_cache_2: 100_200 after' );
- ok( -f 'tmp/cache/G1/G2/142_242', 'clean_cache_2: 142_242 after' );
- ok( ! -f 'tmp/cache/G1/G2/177_277', 'clean_cache_2: 177_277 after' );
- ok( ! -f 'tmp/cache/G1/G2/177_377', 'clean_cache_2: 177_377 after' );
- ok( -f 'tmp/cache/G1/G2/177_777', 'clean_cache_2: 177_777 after' );
- ok( ! -f 'tmp/cache/G1/G2/155_255', 'clean_cache_2: 155_255 after' );
+ ok( -f 'W/tmp/cache/G1/G2/100_200', 'clean_cache_2: 100_200 after' );
+ ok( -f 'W/tmp/cache/G1/G2/142_242', 'clean_cache_2: 142_242 after' );
+ ok( ! -f 'W/tmp/cache/G1/G2/177_277', 'clean_cache_2: 177_277 after' );
+ ok( ! -f 'W/tmp/cache/G1/G2/177_377', 'clean_cache_2: 177_377 after' );
+ ok( -f 'W/tmp/cache/G1/G2/177_777', 'clean_cache_2: 177_777 after' );
+ ok( ! -f 'W/tmp/cache/G1/G2/155_255', 'clean_cache_2: 155_255 after' );
}
@@ -3222,19 +3241,19 @@ sub tests_clean_cache_2 {
sub tests_mkpath {
my $long_path = "123456789/" x 30 ;
- ok( (-d "tmp/tests/long/$long_path" or mkpath( "tmp/tests/long/$long_path" )), 'tests_mkpath: mkpath > 300 char' ) ;
- ok( (-d "tmp/tests/long/$long_path" and rmtree( "tmp/tests/long/" )), 'tests_mkpath: rmtree > 300 char' ) ;
+ ok( (-d "W/tmp/tests/long/$long_path" or mkpath( "W/tmp/tests/long/$long_path" )), 'tests_mkpath: mkpath > 300 char' ) ;
+ ok( (-d "W/tmp/tests/long/$long_path" and rmtree( "W/tmp/tests/long/" )), 'tests_mkpath: rmtree > 300 char' ) ;
ok( 1 == 1, 'tests_mkpath: 1 == 1' ) ;
}
sub tests_touch {
- ok( (-d 'tmp/tests/' or mkpath( 'tmp/tests/' )), 'tests_touch: mkpath tmp/tests/' ) ;
- ok( 1 == touch( 'tmp/tests/lala'), 'tests_touch: tmp/tests/lala') ;
- ok( 1 == touch( 'tmp/tests/\y'), 'tests_touch: tmp/tests/\y') ;
+ ok( (-d 'W/tmp/tests/' or mkpath( 'W/tmp/tests/' )), 'tests_touch: mkpath W/tmp/tests/' ) ;
+ ok( 1 == touch( 'W/tmp/tests/lala'), 'tests_touch: W/tmp/tests/lala') ;
+ ok( 1 == touch( 'W/tmp/tests/\y'), 'tests_touch: W/tmp/tests/\y') ;
ok( 0 == touch( '/aaa'), 'tests_touch: not /aaa') ;
- ok( 1 == touch( 'tmp/tests/lili', 'tmp/tests/lolo'), 'tests_touch: 2 files') ;
- ok( 0 == touch( 'tmp/tests/\y', '/aaa'), 'tests_touch: 2 files, 1 fails' ) ;
+ ok( 1 == touch( 'W/tmp/tests/lili', 'W/tmp/tests/lolo'), 'tests_touch: 2 files') ;
+ ok( 0 == touch( 'W/tmp/tests/\y', '/aaa'), 'tests_touch: 2 files, 1 fails' ) ;
}
@@ -3262,19 +3281,37 @@ sub cache_folder {
my $sep1 = $h1_sep || '/';
my $sep2 = $h2_sep || '/';
- my $h1_fold_slash = convert_sep_to_slash( $h1_fold, $sep1 );
- my $h2_fold_slash = convert_sep_to_slash( $h2_fold, $sep2 );
-
- return( "$cache_dir/$h1_fold_slash/$h2_fold_slash" ) ;
+ $h1_fold = convert_sep_to_slash( $h1_fold, $sep1 ) ;
+ $h2_fold = convert_sep_to_slash( $h2_fold, $sep2 ) ;
+ $h1_fold = filter_forbidden_characters( $h1_fold ) ;
+ $h2_fold = filter_forbidden_characters( $h2_fold ) ;
+ return( "$cache_dir/$h1_fold/$h2_fold" ) ;
+}
+
+sub filter_forbidden_characters {
+ my $string = shift ;
+
+ $string =~ s{[\Q*|?:"<>\E]}{_}g ;
+ return ( $string ) ;
+}
+
+sub tests_filter_forbidden_characters {
+
+ ok( 'a_b' eq filter_forbidden_characters( 'a_b' ), 'filter_forbidden_characters: a_b -> a_b' ) ;
+ ok( 'a_b' eq filter_forbidden_characters( 'a*b' ), 'filter_forbidden_characters: a*b -> a_b' );
+ ok( 'a_b' eq filter_forbidden_characters( 'a|b' ), 'filter_forbidden_characters: a|b -> a_b' );
+ ok( 'a_b' eq filter_forbidden_characters( 'a?b' ), 'filter_forbidden_characters: a?*b -> a_b' );
+ ok( 'a_______b' eq filter_forbidden_characters( 'a*|?:"<>b' ), 'filter_forbidden_characters: a*|?:"<>b -> a_______b' );
+
}
sub convert_sep_to_slash {
- my ($folder, $sep) = @_;
+ my ( $folder, $sep ) = @_ ;
- $folder =~ s{\Q$sep\E}{/}g;
- return($folder);
+ $folder =~ s{\Q$sep\E}{/}g ;
+ return( $folder ) ;
}
sub tests_convert_sep_to_slash {
@@ -3368,15 +3405,15 @@ sub bytes_display_string {
my ($bytes) = @_;
if ($bytes < (1024 * 1024)) {
- return sprintf("%.1f KiB", $bytes / 1024);
+ return sprintf("%.2f KiB", $bytes / 1024);
} elsif ($bytes < (1024 * 1024 * 1024)) {
- return sprintf("%.1f MiB", $bytes / (1024 * 1024));
+ return sprintf("%.2f MiB", $bytes / (1024 * 1024));
} elsif ($bytes < (1024 * 1024 * 1024 * 1024)) {
- return sprintf("%.1f GiB", $bytes / (1024 * 1024 * 1024));
+ return sprintf("%.2f GiB", $bytes / (1024 * 1024 * 1024));
} elsif ($bytes < (1024 * 1024 * 1024 * 1024 * 1024)) {
- return sprintf("%.1f TiB", $bytes / (1024 * 1024 * 1024 * 1024));
+ return sprintf("%.2f TiB", $bytes / (1024 * 1024 * 1024 * 1024));
} else {
- return sprintf("%.1f PiB", $bytes / (1024 * 1024 * 1024 * 1024 * 1024));
+ return sprintf("%.2f PiB", $bytes / (1024 * 1024 * 1024 * 1024 * 1024));
}
# if you have exabytes (EiB) of email to transfer, you have too much email
}
@@ -3398,7 +3435,7 @@ sub stats {
print "++++ Statistics\n";
print "Transfer started on : $timestart_str\n";
print "Transfer ended on : $timeend_str\n";
- print "Transfer time : $timediff sec\n";
+ printf( "Transfer time : %.1f sec\n", $timediff ) ;
print "Messages transferred : $nb_msg_transferred ";
print "(could be $nb_msg_skipped_dry_mode without dry mode)" if ($dry);
print "\n";
@@ -3568,6 +3605,7 @@ sub get_options {
"addheader!" => \$addheader,
"exitwhenover=i" => \$exitwhenover,
"checkselectable!" => \$checkselectable,
+ "checkmessageexists!" => \$checkmessageexists,
);
$debug and print "get options: [$opt_ret]\n";
@@ -3757,7 +3795,7 @@ sub check_last_release {
}
sub imapsync_version {
- my $rcs = '$Id: imapsync,v 1.500 2012/08/10 04:58:46 gilles Exp gilles $ ';
+ my $rcs = '$Id: imapsync,v 1.504 2012/08/28 13:10:26 gilles Exp gilles $ ';
$rcs =~ m/,v (\d+\.\d+)/;
my $VERSION = ($1) ? $1: "UNKNOWN";
return($VERSION);
@@ -4594,6 +4632,7 @@ sub tests {
tests_epoch( ) ;
tests_add_header( ) ;
tests_cache_dir_fix( ) ;
+ tests_filter_forbidden_characters( ) ;
}
}
diff --git a/index.shtml b/index.shtml
index 02b569f..f563a12 100644
--- a/index.shtml
+++ b/index.shtml
@@ -2,10 +2,10 @@
-Imapsync: an IMAP migration tool ( release )
+Imapsync: an IMAP migration tool ( release )
-
+
@@ -13,8 +13,8 @@
-
-
+
+
-
-
-
-
-
-
-
-
-
-
-
-
Welcome to the imapsync web site!
-
-
-
-What is imapsync?
-
-imapsync software is a command line tool allowing incremental and
-recursive imap transfers from one mailbox to another, both anywhere on the internet
-or in your local network.
-
-
-imapsync is useful for imap account migration or imap account backup .
-
-
-imapsync is not adequate for maintaining two active imap accounts in synchronization
-where the user plays independently on both sides. Use offlineimap
-(written by John Goerzen) for this purpose.
-
-
-
- Who is the author?
-
- Gilles LAMIRAL
- Email: gilles.lamiral@laposte.net
-
- Good feedback is always welcome, bad feedback is often welcome.
-
- Where to talk about imapsync?
-
- A nice place to talk about imapsync is the public
- imapsync mailing-list (see below section Mailing-List ).
-
-
- Latest release is imapsync
-
-
-
-Written on
-
-See ChangeLog to know what's new in details.
-
-New features since previous releases 1.383 and 1.398:
-
-
-Fixed the not enough memory issue with big messages by using perl module Mail-IMAPClient 3.27 (thanks to Phil Pearl Lobbes)
-New option --useuid to speed up or deal with problems using headers.
-New option --notakebody to avoid getting first 2Ko body when got "no header"
-Better performance of --usecache with MS Exchange
-New option --usecache to speedup transfers when using multiple runs.
-
-
-
-The next imapsync release should see:
-
-An option to sync to and from files (local backup)
-
-
-
- Buy imapsync source code
-
-
-The Perl imapsync source code will run anywhere a Perl interpreter can run : any Unix, Linux, Windows, or Mac OS operating system.
-
-
-Buy latest imapsync Perl source code for 30 EUR
-
-
-30 EUR is about 40 USD , no problem to pay in USD with paypal:
-
-
-
-
-
-You will receive a download link in few minutes (contact me if the delay is over a couple of hours).
-30 days money-back guarantee.
-
- Standalone imapsync.exe for win32
-
-Struggle free from source code and Perl installation by
-buying the latest win32 standalone imapsync.exe for 30 EUR
-
-
-30 EUR is about 40 USD , no problem to pay in USD with paypal:
-
-
-
-
-
-You will receive a download link in few minutes (contact me if the delay is over a couple of hours).
-30 days money-back guarantee.
-
-
-
-Documentation
-
-Read the INSTALL file to know how to install imapsync on your system.
-
-
-The README file has many tips to understand imapsync and succeed in your migration or backup.
-
-
-The FAQ file presents Frequently Asked Questions (and not so frequently asked ones).
-
-
-The TODO file list what may be coded or done in the future.
-See also the wanted section.
-
-
-All the people I thank are in the CREDITS file.
-
-
-What you can do with imapsync is listed in COPYING .
-
-
- The imapsync mailing list
-
-
- The public mailing-list may be the best way to get free support.
- You can write to the mailing-list even if you're not subscribed to it.
- In that case you will receive a confirmation message each time you post (to avoid spam).
-
-
- To write on the mailing-list, the address is:
- imapsync@linux-france.org
-
-
-
- To subscribe , send a message to:
- imapsync-subscribe@listes.linux-france.org
-
-
-
- To unsubscribe , send a message to:
- imapsync-unsubscribe@listes.linux-france.org
-
-
-
- To contact the person in charge for the list:
- imapsync-request@listes.linux-france.org
-
-
-
- The list archives are available at
-
- http://linux-france.org/prj/imapsync_list/
- So consider that the list is public, anyone can see your post.
- Use a pseudonym or do not post to
- this list if you want to stay private .
-
-
-
-
-
-Thank you for your participation to the imapsync mailing-list!
-
-
-
- WANTED!
-
-I code new features and fix bugs for free when I have time and when I find it useful.
-If you really want a feature or a fix you can donate money and my next development time
-will be to code it or fix it.
-
-
-On february 2011: 1 EUR ~ 1.3 USD .
-
-
-
-
-
-Some features and their time/money to be done evaluation:
-
-
-DONE Feature Time guessed Time spent Money received Money needed
- No Backup to files 20 hours 60 min 0 $ 800 $
- No Efficient Gmail backup 20 hours 80 min 0 $ 800 $
- Yes Add cache 10 hours 1310 min 400 $ 400 $
- Yes Speedup 50% 10 hours 80 min 10 $ 400 $
- Yes --delete2folders 3 hours 270 min 90 $ 0 $
- Yes NTLM auth 3 hours 300 min 15 $ 150 $
- Yes Win32 imapsync.exe 8 hours 520 min 45 $ 240 $
- Yes Win32 bug fixes various 370 min 100 $ 85 $
- Yes Fix capability changes 1 hour 80 min 0 $ 40 $
- Yes Large mailbox --maxage 4 hours 270 min 0 $ 160 $
- Yes dkimap support 3 hours 120 min 0 $ 120 $
- No gratis from here 4 hours 0 min 0 $ 60000 $
-
-
- Lists of imap server software failures and success stories
-
-Let's start with reported failure stories over the past
-(maybe new imapsync release can run successfully with them).
-
-
-
- DBMail 0.9, 2.0.7 (GPL). But most other DBMail releases work (see below)
- Imail 7.04 (maybe).
- MailEnable 1.54 (Proprietary) http://www.mailenable.com/
-
-
-Now the long reported success stories list
-([host1] means "source server",
-[host2] means "destination server"):
-
-
-
- 1und1 H mimap1 84498 [host1]
- Archiveopteryx 2.03, 2.04, 2.09, 2.10 [host2], 3.0.0 [host2]
- (OSL 3.0) http://www.archiveopteryx.org/
- BincImap 1.2.3 (GPL) (http://www.bincimap.org/)
- CommuniGatePro server (Redhat 8.0) (Solaris), CommuniGate Pro 5.2.17[host2] (CentOS 5.4)
- Courier IMAP 1.5.1, 2.2.0, 2.1.1, 2.2.1, 3.0.8, 3.0.3, 4.1.1 (GPL)
- (http://www.courier-mta.org/)
- Critical Path (7.0.020)
- Cyrus IMAP 1.5, 1.6, 2.1, 2.1.15, 2.1.16, 2.1.18
- 2.2.1, 2.2.2-BETA, 2.2.10, 2.2.12,
- v2.2.3-Invoca-RPM-2.2.3-8,
- 2.3-alpha (OSI Approved),
- v2.2.12-Invoca-RPM-2.2.12-3.RHEL4.1,
- 2.2.13,
- v2.3.1-Invoca-RPM-2.3.1-2.7.fc5,
- v2.3.1-Invoca-RPM-2.3.1-2.8.fc5 [host1],
- v2.3.7,
- (http://asg.web.cmu.edu/cyrus/)
-
- David Tobit V8 (proprietary Message system).
- DBMail 1.2.1, 2.0.4, 2.0.9, 2.2rc1 (GPL) (http://www.dbmail.org/).
- 2.0.7 seems buggy.
- Deerfield VisNetic MailServer 5.8.6 [host1]
- dkimap4 [host1]
- Domino (Notes) 4.61[host1], 6.5, 5.0.6, 5.0.7, 7.0.2, 6.0.2CF1, 7.0.1[host1], 8.0.1[host1]
- Dovecot 0.99.10.4, 0.99.14, 0.99.14-8.fc4, 1.0-0.beta2.7,
- 1.0.0 [dest/source] (LGPL) (http://www.dovecot.org/)
- Eudora WorldMail v2
- GMX IMAP4 StreamProxy.
- Groupwise IMAP (Novell) 6.x and 7.0. Buggy so see the FAQ.
- hMailServer 5.3.3 [host2], 4.4.1 [host1], HMAILSERVER 5.3.2-B1769 on windows 2003 [hsot2]
- iPlanet Messaging server 4.15, 5.1, 5.2
- IMail 7.15 (Ipswitch/Win2003), 8.12
- MDaemon 7.0.1, 8.0.2, 8.1, 9.5.4 (Windows server 2003 R2 platform)
- Mercury 4.1 (Windows server 2000 platform)
- Microsoft Exchange Server 5.5, 6.0.6249.0[host1], 6.0.6487.0[host1],
- 6.5.7638.1 [host2], Exchange 2007 SP1 (with Update Rollup 2),
- Exchange2007-EP-SP2,
- Exchange 2010 RTM (Release to Manufacturing) [host2]
- Mirapoint server
- Netscape Mail Server 3.6 (Wintel)
- Netscape Messaging Server 4.15 Patch 7
- OpenMail IMAP server B.07.00.k0
- OpenWave
- Oracle Beehive [host1]
- Qualcomm Worldmail (NT)
- Rockliffe Mailsite 5.3.11, 4.5.6
- Samsung Contact IMAP server 8.5.0
- Scalix v10.1, 10.0.1.3, 11.0.0.431
- SmarterMail, Smarter Mail 5.0 Enterprise, Smarter Mail 5.5 [host1].
- SunONE Messaging server 5.2, 6.0 (SUN JES - Java Enterprise System)
- Sun Java(tm) System Messaging Server 6.2-2.05, 6.2-7.05, 6.3
- Surgemail 3.6f5-5
- UW-imap servers (imap-2000b) rijkkramer IMAP4rev1 2000.287
- (RedHat uses UW like 2003.338rh), v12.264 Solaris 5.7 (OSI Approved)
- (http://www.washington.edu/imap/)
- UW - QMail v2.1
- VMS, Imap part of TCP/IP suite of VMS 7.3.2
- Zimbra-IMAP 3.0.1 GA 160, 3.1.0 Build 279, 4.0.5, 4.5.2, 4.5.6, 5.5, 6.x
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-This document last modified on
-($Id: index.shtml,v 1.57 2011/02/22 00:53:54 gilles Exp $)
-
-
-
-