diff --git a/CREDITS b/CREDITS index 767e47e..7745dbe 100644 --- a/CREDITS +++ b/CREDITS @@ -14,6 +14,18 @@ b) If you can read french, please use the following wishlist : c) its paypal account gilles.lamiral@laposte.net + + +Marek Mahut (Fedora Project) +- Cyrus IMAP4 v2.2.12-Invoca-RPM-2.2.12-8.1.RHEL4 to Zimbra Collaboration Suite 5.0.4. +- Bug report about "parse_headers want an ARRAY ref" +- Patch fixing "parse_headers want an ARRAY ref" +- Packaged imapsync for Fedora imapsync-1.249-1.fc8 +- Gave the book "Intermediate Perl" +- Thanked for imapsync +No one did so much, and in one email! + + Blake Heinemann Contributed by giving the book "Perl Testing: A Developer's Notebook" diff --git a/ChangeLog b/ChangeLog index 4ec1613..4218e8f 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,15 +1,20 @@ RCS file: RCS/imapsync,v Working file: imapsync -head: 1.249 +head: 1.250 branch: locks: strict + gilles: 1.250 access list: symbolic names: keyword substitution: kv -total revisions: 249; selected revisions: 249 +total revisions: 250; selected revisions: 250 description: ---------------------------- +revision 1.250 locked by: gilles; +date: 2008/04/21 03:46:01; author: gilles; state: Exp; lines: +11 -7 +Bug fix "parse_headers want an ARRAY ref" +---------------------------- revision 1.249 date: 2008/03/19 02:14:24; author: gilles; state: Exp; lines: +7 -7 warn about BUG_IMAPClient_3.xx diff --git a/README b/README index 0c84639..510e347 100644 --- a/README +++ b/README @@ -3,14 +3,14 @@ NAME Synchronise mailboxes between two imap servers. Good at IMAP migration. More than 32 different IMAP server softwares supported with success. - $Revision: 1.249 $ + $Revision: 1.250 $ INSTALL imapsync works fine under any Unix OS with perl. imapsync works fine under Windows 2000 (at least) and ActiveState's 5.8 Perl imapsync is already available directly on the following distributions (at least): - FreeBSD, Debian, Ubuntu, Gentoo, NetBSD, Darwin, Mandriva. + FreeBSD, Debian, Ubuntu, Gentoo, NetBSD, Darwin, Mandriva and OpenBSD (yeah!). Get imapsync at http://www.linux-france.org/prj/imapsync/dist/ @@ -333,5 +333,5 @@ SIMILAR SOFTWARES Feedback (good or bad) will be always welcome. - $Id: imapsync,v 1.249 2008/03/19 02:14:24 gilles Exp $ + $Id: imapsync,v 1.250 2008/04/21 03:46:01 gilles Exp gilles $ diff --git a/TODO b/TODO index 7646004..85dac13 100644 --- a/TODO +++ b/TODO @@ -1,6 +1,9 @@ TODO file for imapsync ---------------------- + +Add NOOP commands to avoid timeouts. + Make "--delete 2" be a fatal error. Start an imap internet scan project. diff --git a/VERSION b/VERSION index 6d648d8..bf601e5 100644 --- a/VERSION +++ b/VERSION @@ -1 +1 @@ -1.249 +1.250 diff --git a/freshmeat_submition.inp b/freshmeat_submition.inp index 04f4023..4ca3cb7 100644 --- a/freshmeat_submition.inp +++ b/freshmeat_submition.inp @@ -3,10 +3,10 @@ #RELEASE_FOCUS="Initial freshmeat announcement" #RELEASE_FOCUS="Documentation" #RELEASE_FOCUS="Code cleanup" -RELEASE_FOCUS="Minor feature enhancements" -#RELEASE_FOCUS="Major feature enhancements" +#RELEASE_FOCUS="Minor feature enhancements" +#RELEASE_FOCUS="Major feature enhancements" #RELEASE_FOCUS="Minor bugfixes" -#RELEASE_FOCUS="Major bugfixes" +RELEASE_FOCUS="Major bugfixes" #RELEASE_FOCUS="Minor security fixes" #RELEASE_FOCUS="Major security fixes" @@ -16,12 +16,6 @@ RELEASE_FOCUS="Minor feature enhancements" #TEXT_BODY="Bug fix: rewrote the way to store messages to avoid freeze problems with some imap servers" #TEXT_BODY="Bug fix: Allow long usernames with md5 authentification." TEXT_BODY="Bug fixes: -- Turned on --syncinternaldates option by default. -- Set timezone TZ=GMT if no timezone is set (MSWindows "bug"). -- Ignore message when it has no header. -- Added message id in output warning when no header found. -- Removed public freshmeat annoucement access since 1.241 was not mine (no problem) and not correct (problem). -- Can run with IMAPClient_3.x.x without redefine any function (but 3.x.x is still buggy and to be avoided) -- Started unit tests. +- Bug fix to the "parse_headers want an ARRAY ref" crash. - Many thanks to the freshmeat folk that correct my bad and poorly English ! " diff --git a/freshmeat_submition.out b/freshmeat_submition.out index 4782a00..078a604 100644 --- a/freshmeat_submition.out +++ b/freshmeat_submition.out @@ -1,20 +1,18 @@ Project: imapsync -Version: 1.233 -Release-Focus: Major bugfixes -Hide: Y +Version: 1.249 +Release-Focus: Minor feature enhancements +Hide: N Home-Page-URL: http://www.linux-france.org/prj/imapsync/ Gzipped-Tar-URL: http://www.linux-france.org/prj/imapsync/dist/ Bug fixes: -- Avoid infinite loop with bad hostname. -- Works without patch on MSWin32 systems. -- Updated help message : avoid --authuser and --authmech1 SOMETHING -- Uppercase --authmech input. -- Date with minus %d-%b-%Y (RFC compliant) -- Added Date::Manip dependency. -- Added Dovecot 1.0.0 [dest] success. -- Added Deerfield VisNetic MailServer 5.8.6 [from] success. -- Turn to --nofastio1 --nofastio2 by default. -- Flags \Recent can be uppercase \RECENT now. +- Turned on --syncinternaldates option by default. +- Set timezone TZ=GMT if no timezone is set (MSWindows bug). +- Ignore message when it has no header. +- Added message id in output warning when no header found. +- Removed public freshmeat annoucement access since 1.241 was not mine (no problem) and not correct (problem). +- Can run with IMAPClient_3.x.x without redefine any function (but 3.x.x is still buggy and to be avoided) +- Started unit tests. +- Many thanks to the freshmeat folk that correct my bad and poorly English ! diff --git a/imapsync b/imapsync index 7cd624f..e651f22 100755 --- a/imapsync +++ b/imapsync @@ -9,7 +9,7 @@ tool. Synchronise mailboxes between two imap servers. Good at IMAP migration. More than 32 different IMAP server softwares supported with success. -$Revision: 1.249 $ +$Revision: 1.250 $ =head1 INSTALL @@ -17,7 +17,7 @@ $Revision: 1.249 $ imapsync works fine under Windows 2000 (at least) and ActiveState's 5.8 Perl imapsync is already available directly on the following distributions (at least): - FreeBSD, Debian, Ubuntu, Gentoo, NetBSD, Darwin, Mandriva. + FreeBSD, Debian, Ubuntu, Gentoo, NetBSD, Darwin, Mandriva and OpenBSD (yeah!). Get imapsync at http://www.linux-france.org/prj/imapsync/dist/ @@ -387,7 +387,7 @@ Entries for imapsync: Feedback (good or bad) will be always welcome. -$Id: imapsync,v 1.249 2008/03/19 02:14:24 gilles Exp $ +$Id: imapsync,v 1.250 2008/04/21 03:46:01 gilles Exp gilles $ @@ -452,7 +452,7 @@ my( use vars qw ($opt_G); # missing code for this will be option. -$rcs = ' $Id: imapsync,v 1.249 2008/03/19 02:14:24 gilles Exp $ '; +$rcs = ' $Id: imapsync,v 1.250 2008/04/21 03:46:01 gilles Exp gilles $ '; $rcs =~ m/,v (\d+\.\d+)/; $VERSION = ($1) ? $1 : "UNKNOWN"; @@ -486,8 +486,8 @@ $error=0; my $banner = join("", '$RCSfile: imapsync,v $ ', - '$Revision: 1.249 $ ', - '$Date: 2008/03/19 02:14:24 $ ', + '$Revision: 1.250 $ ', + '$Date: 2008/04/21 03:46:01 $ ', "\n",localhost_info(), " and the module Mail::IMAPClient version used here is ", $VERSION_IMAPClient,"\n", @@ -1391,7 +1391,7 @@ FOLDER: foreach my $f_fold (@f_folders) { else { # just back to append_string since append_file 3.05 does not work. #$new_id = $to->append_file($t_fold, $message_file, "", $flags_f, $d); - # append_string 3.05 does not work too. + # append_string 3.05 does not work too some times with $d unset. $new_id = $to->append_string($t_fold,$string, $flags_f, $d); } unless($new_id){ @@ -2193,6 +2193,10 @@ use constant NonFolderArg => 1; # Value to pass to Massage to my(%fieldmap) = map { ( lc($_),$_ ) } @fields; my $msg; my $string; my $field; + if(ref($msgspec_all) eq 'HASH') { + $msgspec_all = [$msgspec_all]; + } + unless(ref($msgspec_all) eq 'ARRAY') { print "parse_headers want an ARRAY ref\n"; exit 1; diff --git a/memo b/memo index 706dedd..1a116d8 100644 --- a/memo +++ b/memo @@ -61,7 +61,7 @@ cat << EOF Project: imapsync Version: $VERSION Release-Focus: $RELEASE_FOCUS -Hide: Y +Hide: N Home-Page-URL: http://www.linux-france.org/prj/imapsync/ Gzipped-Tar-URL: http://www.linux-france.org/prj/imapsync/dist/ diff --git a/tests.sh b/tests.sh index aa89d27..3c46152 100644 --- a/tests.sh +++ b/tests.sh @@ -1,6 +1,6 @@ #!/bin/sh -# $Id: tests.sh,v 1.71 2008/03/19 02:13:55 gilles Exp $ +# $Id: tests.sh,v 1.72 2008/04/21 03:44:35 gilles Exp gilles $ #### Shell pragmas @@ -146,6 +146,22 @@ ll_folder() { fi } +ll_oneemail() { + if test X`hostname` = X"plume"; then + echo3 Here is plume + $CMD_PERL ./imapsync \ + --host1 localhost --user1 tata@est.belle \ + --passfile1 /var/tmp/secret.tata \ + --host2 localhost --user2 titi@est.belle \ + --passfile2 /var/tmp/secret.titi \ + --folder INBOX.oneemail + else + : + fi +} + + + ll_folderrec() { if test X`hostname` = X"plume"; then echo3 Here is plume