This commit is contained in:
Nick Bebout 2011-03-12 02:44:29 +00:00
parent 6bb9d52826
commit ff7c4df85f
10 changed files with 78 additions and 26 deletions

View file

@ -2,6 +2,14 @@
I thank very much all of these people. I thank very much all of these people.
Tom Allison
Had problem with dovecot and dbmail
Message-Id Message-ID. So imapsync is
now case insensitive with header keywords.
David Abrahams
Had problem with flags, suggested flag output.
RISKO Gergely RISKO Gergely
Maintain imapsync debian package. Maintain imapsync debian package.

View file

@ -1,17 +1,25 @@
RCS file: RCS/imapsync,v RCS file: RCS/imapsync,v
Working file: imapsync Working file: imapsync
head: 1.188 head: 1.190
branch: branch:
locks: strict locks: strict
gilles: 1.188 gilles: 1.190
access list: access list:
symbolic names: symbolic names:
keyword substitution: kv keyword substitution: kv
total revisions: 188; selected revisions: 188 total revisions: 190; selected revisions: 190
description: description:
---------------------------- ----------------------------
revision 1.188 locked by: gilles; revision 1.190 locked by: gilles;
date: 2006/11/11 00:13:15; author: gilles; state: Exp; lines: +10 -6
Be case inseitive with header keywords.
----------------------------
revision 1.189
date: 2006/11/04 16:47:38; author: gilles; state: Exp; lines: +6 -6
typo CommuniGatePro
----------------------------
revision 1.188
date: 2006/10/30 01:18:37; author: gilles; state: Exp; lines: +22 -17 date: 2006/10/30 01:18:37; author: gilles; state: Exp; lines: +22 -17
Fixed typos about transfer* Fixed typos about transfer*
---------------------------- ----------------------------

View file

@ -1,5 +1,5 @@
# $Id: Makefile,v 1.13 2006/10/30 03:05:12 gilles Exp gilles $ # $Id: Makefile,v 1.14 2006/10/30 04:28:03 gilles Exp gilles $
TARGET=imapsync TARGET=imapsync
@ -43,7 +43,7 @@ VERSION: $(TARGET) Makefile
.PHONY: clean clean_tilde clean_test .PHONY: clean clean_tilde clean_test
clean: clean_tilde clean_test clean: clean_tilde clean_test clean_man
clean_test: clean_test:
rm -f .test rm -f .test
@ -51,12 +51,22 @@ clean_test:
clean_tilde: clean_tilde:
rm -f *~ rm -f *~
.PHONY: install dist .PHONY: install dist man
install: testp man: $(TARGET).1
cp $(TARGET) $(DESTDIR)/usr/bin/$(TARGET)
clean_man:
rm -f $(TARGET).1
$(TARGET).1: $(TARGET)
pod2man $(TARGET) > $(TARGET).1
install: testp $(TARGET).1
install -D $(TARGET) $(DESTDIR)/usr/bin/$(TARGET)
install -D $(TARGET).1 $(DESTDIR)/usr/share/man/man1/$(TARGET).1
chmod 755 $(DESTDIR)/usr/bin/$(TARGET) chmod 755 $(DESTDIR)/usr/bin/$(TARGET)
DIST_NAME=$(TARGET)-$(VERSION) DIST_NAME=$(TARGET)-$(VERSION)
DIST_FILE=$(DIST_NAME).tgz DIST_FILE=$(DIST_NAME).tgz
DEB_FILE=$(DIST_NAME).deb DEB_FILE=$(DIST_NAME).deb

6
README
View file

@ -3,7 +3,7 @@ NAME
Synchronise mailboxes between two imap servers. Good at IMAP migration. Synchronise mailboxes between two imap servers. Good at IMAP migration.
More than 25 different IMAP server softwares supported with success. More than 25 different IMAP server softwares supported with success.
$Revision: 1.188 $ $Revision: 1.190 $
INSTALL INSTALL
imapsync works fine under any Unix OS. imapsync works fine under any Unix OS.
@ -192,7 +192,7 @@ IMAP SERVERS
names are in alphabetic order) : names are in alphabetic order) :
- BincImap 1.2.3 (GPL) (http://www.bincimap.org/) - BincImap 1.2.3 (GPL) (http://www.bincimap.org/)
- CommunicatePro server (Redhat 8.0) - CommuniGatePro server (Redhat 8.0)
- Courier IMAP 1.5.1, 2.2.0, 2.1.1, 2.2.1 (GPL) - Courier IMAP 1.5.1, 2.2.0, 2.1.1, 2.2.1 (GPL)
(http://www.courier-mta.org/) (http://www.courier-mta.org/)
- Critical Path (7.0.020) - Critical Path (7.0.020)
@ -293,5 +293,5 @@ AUTHOR
teaching free open and gratis softwares. Don't hesitate to pay him for teaching free open and gratis softwares. Don't hesitate to pay him for
that services. that services.
$Id: imapsync,v 1.188 2006/10/30 01:18:37 gilles Exp gilles $ $Id: imapsync,v 1.190 2006/11/11 00:13:15 gilles Exp gilles $

3
TODO
View file

@ -2,6 +2,9 @@ TODO file for imapsync
---------------------- ----------------------
Add "output to reflect everything that imapsync was doing".
Not everything but flag synchronization will be nice"
Add and option to sync to & from files. Add and option to sync to & from files.
Use examine() instead of select() in --dry mode. Use examine() instead of select() in --dry mode.

View file

@ -1 +1 @@
1.188 1.190

View file

@ -2,16 +2,16 @@
# #
#RELEASE_FOCUS="Initial freshmeat announcement" #RELEASE_FOCUS="Initial freshmeat announcement"
#RELEASE_FOCUS="Documentation" #RELEASE_FOCUS="Documentation"
RELEASE_FOCUS="Code cleanup" #RELEASE_FOCUS="Code cleanup"
#RELEASE_FOCUS="Minor feature enhancements" #RELEASE_FOCUS="Minor feature enhancements"
#RELEASE_FOCUS="Major feature enhancements" #RELEASE_FOCUS="Major feature enhancements"
#RELEASE_FOCUS="Minor bugfixes" RELEASE_FOCUS="Minor bugfixes"
#RELEASE_FOCUS="Major bugfixes" #RELEASE_FOCUS="Major bugfixes"
#RELEASE_FOCUS="Minor security fixes" #RELEASE_FOCUS="Minor security fixes"
#RELEASE_FOCUS="Major security fixes" #RELEASE_FOCUS="Major security fixes"
#TEXT_BODY="Syntax cleanup" #TEXT_BODY="Syntax cleanup"
#TEXT_BODY="Updated documentation" #TEXT_BODY="Updated documentation"
TEXT_BODY="Updated documentation and tests" TEXT_BODY="Bug fix: be case insensitive with header keywords."

View file

@ -1,9 +1,9 @@
Project: imapsync Project: imapsync
Version: 1.182 Version: 1.188
Release-Focus: Documentation Release-Focus: Code cleanup
Hide: Y Hide: Y
Home-Page-URL: http://www.linux-france.org/prj/imapsync/ Home-Page-URL: http://www.linux-france.org/prj/imapsync/
Gzipped-Tar-URL: http://www.linux-france.org/prj/imapsync/dist/ Gzipped-Tar-URL: http://www.linux-france.org/prj/imapsync/dist/
Updated documentation Updated documentation and tests

View file

@ -7,7 +7,7 @@ tool. Synchronise mailboxes between two imap servers. Good
at IMAP migration. More than 25 different IMAP server softwares at IMAP migration. More than 25 different IMAP server softwares
supported with success. supported with success.
$Revision: 1.188 $ $Revision: 1.190 $
=head1 INSTALL =head1 INSTALL
@ -221,7 +221,7 @@ Success stories reported with the following imap servers
(softwares names are in alphabetic order) : (softwares names are in alphabetic order) :
- BincImap 1.2.3 (GPL) (http://www.bincimap.org/) - BincImap 1.2.3 (GPL) (http://www.bincimap.org/)
- CommunicatePro server (Redhat 8.0) - CommuniGatePro server (Redhat 8.0)
- Courier IMAP 1.5.1, 2.2.0, 2.1.1, 2.2.1 (GPL) - Courier IMAP 1.5.1, 2.2.0, 2.1.1, 2.2.1 (GPL)
(http://www.courier-mta.org/) (http://www.courier-mta.org/)
- Critical Path (7.0.020) - Critical Path (7.0.020)
@ -343,7 +343,7 @@ Gilles LAMIRAL earn his living writing, installing,
configuring and teaching free open and gratis configuring and teaching free open and gratis
softwares. Don't hesitate to pay him for that services. softwares. Don't hesitate to pay him for that services.
$Id: imapsync,v 1.188 2006/10/30 01:18:37 gilles Exp gilles $ $Id: imapsync,v 1.190 2006/11/11 00:13:15 gilles Exp gilles $
=cut =cut
@ -400,7 +400,7 @@ my(
use vars qw ($opt_G); # missing code for this will be option. use vars qw ($opt_G); # missing code for this will be option.
$rcs = ' $Id: imapsync,v 1.188 2006/10/30 01:18:37 gilles Exp gilles $ '; $rcs = ' $Id: imapsync,v 1.190 2006/11/11 00:13:15 gilles Exp gilles $ ';
$rcs =~ m/,v (\d+\.\d+)/; $rcs =~ m/,v (\d+\.\d+)/;
$VERSION = ($1) ? $1 : "UNKNOWN"; $VERSION = ($1) ? $1 : "UNKNOWN";
@ -437,8 +437,8 @@ $error=0;
my $banner = join("", my $banner = join("",
'$RCSfile: imapsync,v $ ', '$RCSfile: imapsync,v $ ',
'$Revision: 1.188 $ ', '$Revision: 1.190 $ ',
'$Date: 2006/10/30 01:18:37 $ ', '$Date: 2006/11/11 00:13:15 $ ',
"\n", "\n",
"Mail::IMAPClient version used here is ", "Mail::IMAPClient version used here is ",
$VERSION_IMAPClient,"\n" $VERSION_IMAPClient,"\n"
@ -1333,8 +1333,12 @@ sub parse_header_msg1 {
foreach my $val (sort @{$head->{$h}}) { foreach my $val (sort @{$head->{$h}}) {
# no 8-bit data in headers ! # no 8-bit data in headers !
$val =~ s/[\x80-\xff]/X/g; $val =~ s/[\x80-\xff]/X/g;
# remove the first blanks (dbmail bug ?) # remove the first blanks (dbmail bug ?)
$val =~ s/^\s+//; # and uppercase header keywords
# (dbmail and dovecot)
$val =~ s/^\s*(.+?):(.+)$/\U$1\E:$2/;
# show stuff in debug mode # show stuff in debug mode
$debug and print "${s}H $h:", $val, "\n"; $debug and print "${s}H $h:", $val, "\n";
if ($skipheader and $h =~ m/$skipheader/) { if ($skipheader and $h =~ m/$skipheader/) {

19
learn/uppercase_header Executable file
View file

@ -0,0 +1,19 @@
#!/usr/bin/perl
@val = (
"aBaBaBBaa: aBaBaB: aBaBaB",
" message-ad : ",
"Message-Id blabla",
" aaaa : aaaaa BBBB",
" aaaa : aaa:aa BBBB",
"",
);
foreach $val (@val) {
$val = $val;
print "[$val]", "\n";
$val =~ s/^\s*(.+?):(.+)$/\U$1\E:$2/;
print "[$val]", "\n\n";
}