1
0
mirror of https://github.com/imapsync/imapsync.git synced 2024-11-17 00:02:29 +01:00
This commit is contained in:
Nick Bebout 2011-03-12 02:45:00 +00:00
parent e2a3e9d948
commit 34533a5e5e
8 changed files with 70 additions and 26 deletions

View File

@ -1,17 +1,21 @@
RCS file: RCS/imapsync,v RCS file: RCS/imapsync,v
Working file: imapsync Working file: imapsync
head: 1.342 head: 1.343
branch: branch:
locks: strict locks: strict
gilles: 1.342 gilles: 1.343
access list: access list:
symbolic names: symbolic names:
keyword substitution: kv keyword substitution: kv
total revisions: 342; selected revisions: 342 total revisions: 343; selected revisions: 343
description: description:
---------------------------- ----------------------------
revision 1.342 locked by: gilles; revision 1.343 locked by: gilles;
date: 2010/08/15 18:02:11; author: gilles; state: Exp; lines: +9 -7
Fix. bug in _read_line sysread can return undef;
----------------------------
revision 1.342
date: 2010/08/15 11:02:41; author: gilles; state: Exp; lines: +12 -13 date: 2010/08/15 11:02:41; author: gilles; state: Exp; lines: +12 -13
Clarity. Print capability after authenticated state. Clarity. Print capability after authenticated state.
---------------------------- ----------------------------

View File

@ -1,5 +1,5 @@
# $Id: Makefile,v 1.35 2010/08/15 11:18:38 gilles Exp gilles $ # $Id: Makefile,v 1.36 2010/08/15 17:36:04 gilles Exp gilles $
.PHONY: help usage all .PHONY: help usage all
@ -14,6 +14,8 @@ usage:
@echo "make test229 # run tests with Mail-IMAPClient-2.2.9" @echo "make test229 # run tests with Mail-IMAPClient-2.2.9"
@echo "make all " @echo "make all "
@echo "make upload_index" @echo "make upload_index"
@echo "make imapsync.exe"
DIST_NAME=imapsync-$(VERSION) DIST_NAME=imapsync-$(VERSION)
DIST_FILE=$(DIST_NAME).tgz DIST_FILE=$(DIST_NAME).tgz
@ -21,7 +23,6 @@ DEB_FILE=$(DIST_NAME).deb
VERSION=$(shell perl -I./Mail-IMAPClient-2.2.9 ./imapsync --version) VERSION=$(shell perl -I./Mail-IMAPClient-2.2.9 ./imapsync --version)
all: ChangeLog README VERSION all: ChangeLog README VERSION
.PHONY: test tests testp testf test3xx .PHONY: test tests testp testf test3xx
@ -30,10 +31,6 @@ all: ChangeLog README VERSION
/usr/bin/time sh tests.sh 1>/dev/null /usr/bin/time sh tests.sh 1>/dev/null
touch .test touch .test
.test_3xx: imapsync tests.sh
CMD_PERL='perl -I./Mail-IMAPClient-3.25/lib' /usr/bin/time sh tests.sh 1>/dev/null
touch .test_3xx
test_quick : test_quick_229 test_quick_3xx test_quick : test_quick_229 test_quick_3xx
test_quick_229: imapsync tests.sh test_quick_229: imapsync tests.sh
@ -57,6 +54,10 @@ test229: .test_229
CMD_PERL='perl -I./Mail-IMAPClient-2.2.9' /usr/bin/time sh tests.sh 1>/dev/null CMD_PERL='perl -I./Mail-IMAPClient-2.2.9' /usr/bin/time sh tests.sh 1>/dev/null
touch .test_229 touch .test_229
.test_3xx: imapsync tests.sh
CMD_PERL='perl -I./Mail-IMAPClient-3.25/lib' /usr/bin/time sh tests.sh 1>/dev/null
touch .test_3xx
testf: clean_test test testf: clean_test test
testp : testp :
@ -127,13 +128,37 @@ clean_dist:
# Local goals # Local goals
.PHONY: lfo upload_lfo niouze_lfo niouze_fm public .PHONY: lfo upload_lfo niouze_lfo niouze_fm public dosify_bat imapsync_cidone
upload_index: index.shtml upload_index: index.shtml
rsync -avH index.shtml \ rsync -avH index.shtml \
/home/gilles/public_html/www.linux-france.org/html/prj/imapsync/ /home/gilles/public_html/www.linux-france.org/html/prj/imapsync/
sh ~/memo/lfo-rsync sh ~/memo/lfo-rsync
.dosify_bat: build_exe.bat test_exe.bat test.bat
unix2dos build_exe.bat test.bat test_exe.bat
touch .dosify_bat
dosify_bat: .dosify_bat
.imapsync_cidone: dosify_bat
rcsdiff imapsync
touch .imapsync_cidone
imapsync_cidone: .imapsync_cidone
test_imapsync_exe: dosify_bat
scp 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 imapsync_cidone dosify_bat
scp imapsync build_exe.bat test_exe.bat \
Admin@c:'C:/msys/1.0/home/Admin/imapsync/'
time ssh Admin@c 'C:/msys/1.0/home/Admin/imapsync/build_exe.bat'
time 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' .
lfo: dist niouze_lfo upload_lfo lfo: dist niouze_lfo upload_lfo

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 36 different IMAP server softwares supported with success. More than 36 different IMAP server softwares supported with success.
$Revision: 1.342 $ $Revision: 1.343 $
SYNOPSIS SYNOPSIS
To synchronise imap account "foo" on "imap.truc.org" to imap account To synchronise imap account "foo" on "imap.truc.org" to imap account
@ -87,7 +87,7 @@ USAGE
[--pidfile <filepath>] [--pidfile <filepath>]
[--tmpdir <dirpath>] [--tmpdir <dirpath>]
[--version] [--help] [--version] [--help]
DESCRIPTION DESCRIPTION
The command imapsync is a tool allowing incremental and recursive imap The command imapsync is a tool allowing incremental and recursive imap
transfer from one mailbox to another. transfer from one mailbox to another.
@ -400,5 +400,5 @@ SIMILAR SOFTWARES
Feedback (good or bad) will often be welcome. Feedback (good or bad) will often be welcome.
$Id: imapsync,v 1.342 2010/08/15 11:02:41 gilles Exp gilles $ $Id: imapsync,v 1.343 2010/08/15 18:02:11 gilles Exp gilles $

View File

@ -1 +1 @@
1.342 1.343

11
build_exe.bat Executable file
View File

@ -0,0 +1,11 @@
REM $Id: test.bat,v 1.6 2010/08/15 11:10:49 gilles Exp gilles $
echo Building imapsync.exe
cd C:\msys\1.0\home\Admin\imapsync
perl -mMail::IMAPClient -mDigest::MD5 -mTerm::ReadKey -mIO::Socket::SSL -mDate::Manip -mFile::Spec -mDigest::HMAC_MD5 -e ''
REM -M Date::Manip 6.xx buggy?
pp -o imapsync.exe -M Term::ReadKey -M IO::Socket::SSL -M Digest::HMAC_MD5 imapsync
echo Done building imapsync.exe

View File

@ -19,7 +19,7 @@ tool. Synchronise mailboxes between two imap servers. Good
at IMAP migration. More than 36 different IMAP server softwares at IMAP migration. More than 36 different IMAP server softwares
supported with success. supported with success.
$Revision: 1.342 $ $Revision: 1.343 $
=head1 SYNOPSIS =head1 SYNOPSIS
@ -469,7 +469,7 @@ Entries for imapsync:
Feedback (good or bad) will often be welcome. Feedback (good or bad) will often be welcome.
$Id: imapsync,v 1.342 2010/08/15 11:02:41 gilles Exp gilles $ $Id: imapsync,v 1.343 2010/08/15 18:02:11 gilles Exp gilles $
=cut =cut
@ -557,7 +557,7 @@ my(
# global variables initialisation # global variables initialisation
$rcs = '$Id: imapsync,v 1.342 2010/08/15 11:02:41 gilles Exp gilles $ '; $rcs = '$Id: imapsync,v 1.343 2010/08/15 18:02:11 gilles Exp gilles $ ';
$total_bytes_transferred = 0; $total_bytes_transferred = 0;
$total_bytes_skipped = 0; $total_bytes_skipped = 0;
@ -2096,7 +2096,7 @@ exit_clean(0);
# subroutines # subroutines
sub imapsync_version { sub imapsync_version {
my $rcs = '$Id: imapsync,v 1.342 2010/08/15 11:02:41 gilles Exp gilles $ '; my $rcs = '$Id: imapsync,v 1.343 2010/08/15 18:02:11 gilles Exp gilles $ ';
$rcs =~ m/,v (\d+\.\d+)/; $rcs =~ m/,v (\d+\.\d+)/;
my $VERSION = ($1) ? $1: "UNKNOWN"; my $VERSION = ($1) ? $1: "UNKNOWN";
return($VERSION); return($VERSION);
@ -2180,8 +2180,8 @@ sub banner_imapsync {
my @argv_copy = @_; my @argv_copy = @_;
my $banner_imapsync = join("", my $banner_imapsync = join("",
'$RCSfile: imapsync,v $ ', '$RCSfile: imapsync,v $ ',
'$Revision: 1.342 $ ', '$Revision: 1.343 $ ',
'$Date: 2010/08/15 11:02:41 $ ', '$Date: 2010/08/15 18:02:11 $ ',
"\n",localhost_info(), "\n", "\n",localhost_info(), "\n",
"Command line used:\n", "Command line used:\n",
"$0 ", command_line_nopassword(@argv_copy), "\n", "$0 ", command_line_nopassword(@argv_copy), "\n",
@ -3568,7 +3568,8 @@ no warnings 'once';
# in case other end has shut down!!! # in case other end has shut down!!!
my $ret = $self->_sysread( $sh, \$iBuffer, $readlen, length($iBuffer)) ; my $ret = $self->_sysread( $sh, \$iBuffer, $readlen, length($iBuffer)) ;
# $self->_debug("Read so far: $iBuffer<<END>>\n"); # $self->_debug("Read so far: $iBuffer<<END>>\n");
if($timeout and ! defined($ret)) { # Blocking read error... redo if(! defined($ret)) ;
if(($timeout and ! defined($ret))) { # Blocking read error...
my $msg = "Error while reading data from server: $!\x0d\x0a"; my $msg = "Error while reading data from server: $!\x0d\x0a";
$self->LastError('Error while reading data from server'); $self->LastError('Error while reading data from server');
$self->State(Unconnected); $self->State(Unconnected);
@ -3593,6 +3594,7 @@ no warnings 'once';
$@ = "$msg"; $@ = "$msg";
return undef; return undef;
} }
# successfully wrote to other end, keep going... # successfully wrote to other end, keep going...
$count += $ret; $count += $ret;
LINES: while ( $iBuffer =~ s/^(.*?\x0d?\x0a)// ) { LINES: while ( $iBuffer =~ s/^(.*?\x0d?\x0a)// ) {

View File

@ -3,6 +3,8 @@
cd C:\msys\1.0\home\Admin\imapsync cd C:\msys\1.0\home\Admin\imapsync
perl -mMail::IMAPClient -mDigest::MD5 -mTerm::ReadKey -mIO::Socket::SSL -mFile::Spec -mDigest::HMAC_MD5 -e '' perl -mMail::IMAPClient -mDigest::MD5 -mTerm::ReadKey -mIO::Socket::SSL -mFile::Spec -mDigest::HMAC_MD5 -e ''
set TZ="GMT"
.\imapsync.exe --host1 l --user1 toto --passfile1 secret.toto --host2 l --user2 titi --passfile2 secret.titi --noauthmd5 --delete2 --expunge2 .\imapsync.exe --host1 l --user1 toto --passfile1 secret.toto --host2 l --user2 titi --passfile2 secret.titi --noauthmd5 --delete2 --expunge2
.\imapsync.exe --host1 l --user1 tata --passfile1 secret.tata --host2 l --user2 titi --passfile2 secret.titi --noauthmd5 --delete2 --expunge2 --folder INBOX .\imapsync.exe --host1 l --user1 tata --passfile1 secret.tata --host2 l --user2 titi --passfile2 secret.titi --noauthmd5 --delete2 --expunge2 --folder INBOX

View File

@ -1,6 +1,6 @@
#!/bin/sh #!/bin/sh
# $Id: tests.sh,v 1.110 2010/08/15 11:10:04 gilles Exp gilles $ # $Id: tests.sh,v 1.111 2010/08/15 17:35:37 gilles Exp gilles $
# Example: # Example:
# CMD_PERL='perl -I./Mail-IMAPClient-3.25/lib' sh -x tests.sh # CMD_PERL='perl -I./Mail-IMAPClient-3.25/lib' sh -x tests.sh
@ -950,7 +950,7 @@ msw() {
if can_send; then if can_send; then
sendtestmessage toto sendtestmessage toto
fi fi
scp imapsync test.bat test2.bat\ scp imapsync test.bat test_exe.bat\
../../var/pass/secret.toto \ ../../var/pass/secret.toto \
../../var/pass/secret.titi \ ../../var/pass/secret.titi \
../../var/pass/secret.tata \ ../../var/pass/secret.tata \
@ -964,13 +964,13 @@ msw2() {
if can_send; then if can_send; then
sendtestmessage toto sendtestmessage toto
fi fi
scp imapsync test2.bat\ scp imapsync test_exe.bat\
../../var/pass/secret.toto \ ../../var/pass/secret.toto \
../../var/pass/secret.titi \ ../../var/pass/secret.titi \
../../var/pass/secret.tata \ ../../var/pass/secret.tata \
Admin@c:'C:/msys/1.0/home/Admin/imapsync/' Admin@c:'C:/msys/1.0/home/Admin/imapsync/'
ssh Admin@c 'C:/msys/1.0/home/Admin/imapsync/test2.bat' ssh Admin@c 'C:/msys/1.0/home/Admin/imapsync/test_exe.bat'
} }