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.
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
Maintain imapsync debian package.

View file

@ -1,17 +1,25 @@
RCS file: RCS/imapsync,v
Working file: imapsync
head: 1.188
head: 1.190
branch:
locks: strict
gilles: 1.188
gilles: 1.190
access list:
symbolic names:
keyword substitution: kv
total revisions: 188; selected revisions: 188
total revisions: 190; selected revisions: 190
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
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
@ -43,7 +43,7 @@ VERSION: $(TARGET) Makefile
.PHONY: clean clean_tilde clean_test
clean: clean_tilde clean_test
clean: clean_tilde clean_test clean_man
clean_test:
rm -f .test
@ -51,12 +51,22 @@ clean_test:
clean_tilde:
rm -f *~
.PHONY: install dist
.PHONY: install dist man
install: testp
cp $(TARGET) $(DESTDIR)/usr/bin/$(TARGET)
man: $(TARGET).1
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)
DIST_NAME=$(TARGET)-$(VERSION)
DIST_FILE=$(DIST_NAME).tgz
DEB_FILE=$(DIST_NAME).deb

6
README
View file

@ -3,7 +3,7 @@ NAME
Synchronise mailboxes between two imap servers. Good at IMAP migration.
More than 25 different IMAP server softwares supported with success.
$Revision: 1.188 $
$Revision: 1.190 $
INSTALL
imapsync works fine under any Unix OS.
@ -192,7 +192,7 @@ IMAP SERVERS
names are in alphabetic order) :
- 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)
(http://www.courier-mta.org/)
- Critical Path (7.0.020)
@ -293,5 +293,5 @@ AUTHOR
teaching free open and gratis 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 $

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.
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="Documentation"
RELEASE_FOCUS="Code cleanup"
#RELEASE_FOCUS="Code cleanup"
#RELEASE_FOCUS="Minor feature enhancements"
#RELEASE_FOCUS="Major feature enhancements"
#RELEASE_FOCUS="Minor bugfixes"
RELEASE_FOCUS="Minor bugfixes"
#RELEASE_FOCUS="Major bugfixes"
#RELEASE_FOCUS="Minor security fixes"
#RELEASE_FOCUS="Major security fixes"
#TEXT_BODY="Syntax cleanup"
#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
Version: 1.182
Release-Focus: Documentation
Version: 1.188
Release-Focus: Code cleanup
Hide: Y
Home-Page-URL: http://www.linux-france.org/prj/imapsync/
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
supported with success.
$Revision: 1.188 $
$Revision: 1.190 $
=head1 INSTALL
@ -221,7 +221,7 @@ Success stories reported with the following imap servers
(softwares names are in alphabetic order) :
- 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)
(http://www.courier-mta.org/)
- Critical Path (7.0.020)
@ -343,7 +343,7 @@ Gilles LAMIRAL earn his living writing, installing,
configuring and teaching free open and gratis
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
@ -400,7 +400,7 @@ my(
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+)/;
$VERSION = ($1) ? $1 : "UNKNOWN";
@ -437,8 +437,8 @@ $error=0;
my $banner = join("",
'$RCSfile: imapsync,v $ ',
'$Revision: 1.188 $ ',
'$Date: 2006/10/30 01:18:37 $ ',
'$Revision: 1.190 $ ',
'$Date: 2006/11/11 00:13:15 $ ',
"\n",
"Mail::IMAPClient version used here is ",
$VERSION_IMAPClient,"\n"
@ -1333,8 +1333,12 @@ sub parse_header_msg1 {
foreach my $val (sort @{$head->{$h}}) {
# no 8-bit data in headers !
$val =~ s/[\x80-\xff]/X/g;
# 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
$debug and print "${s}H $h:", $val, "\n";
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";
}