mirror of
https://github.com/imapsync/imapsync.git
synced 2025-06-07 05:05:23 +02:00
1.293
This commit is contained in:
parent
be15a96297
commit
d52ebe8b10
15 changed files with 235 additions and 74 deletions
52
CREDITS
52
CREDITS
|
@ -1,6 +1,5 @@
|
||||||
#!/bin/cat
|
#!/bin/cat
|
||||||
# $Id: CREDITS,v 1.123 2009/07/24 17:22:32 gilles Exp gilles $
|
# $Id: CREDITS,v 1.127 2009/12/09 00:12:24 gilles Exp gilles $
|
||||||
|
|
||||||
|
|
||||||
If you want to make a donation to the author, Gilles LAMIRAL:
|
If you want to make a donation to the author, Gilles LAMIRAL:
|
||||||
|
|
||||||
|
@ -20,6 +19,40 @@ to remove one.
|
||||||
|
|
||||||
I thank very much all of these people.
|
I thank very much all of these people.
|
||||||
|
|
||||||
|
Matt Garretson
|
||||||
|
Contributed by giving the books
|
||||||
|
42.66 "Beautiful Testing: Leading Professionals Reveal How They Improve Software (Theory in Practice)" by Adam Goucher
|
||||||
|
13.46 "Salsa Piano - The Complete Guide with CD!: Hal Leonard Keyboard Style Series" by Hector Martignon
|
||||||
|
|
||||||
|
Joseph L. Hemen
|
||||||
|
Contributed by giving the book
|
||||||
|
32.97 "Nmap Network Scanning: The Official Nmap Project Guide to Network Discovery and Security Scanning" by Gordon Fyodor Lyon
|
||||||
|
|
||||||
|
|
||||||
|
Ralf Hildebrandt
|
||||||
|
Contributed by giving the book
|
||||||
|
18.82 "The Colossal Book of Mathematics: Classic Puzzles, Paradoxes, and Problems" by Martin Gardner
|
||||||
|
|
||||||
|
Mariano Absatz
|
||||||
|
Contributed by giving the book
|
||||||
|
28.35 "How to Measure Anything: Finding the Value of "Intangibles" in Business" by Douglas W. Hubbard
|
||||||
|
|
||||||
|
Craig Maloney
|
||||||
|
Contributed by giving the book
|
||||||
|
9.32 "Eye Twisters: Ambigrams & Other\u200b Visual Puzzles to Amaze and Entertain" by Burkard Polster
|
||||||
|
|
||||||
|
Michael Betts
|
||||||
|
Contributed by giving the book
|
||||||
|
9.50 "Q.E.D.: Beauty in Mathematical Proof (Wooden Books)" by Burkard Polster
|
||||||
|
|
||||||
|
Steve Rippl
|
||||||
|
Contributed by giving the book
|
||||||
|
31.67 "The Mythical Man-Month"
|
||||||
|
|
||||||
|
Hubert Garrido
|
||||||
|
Contributed by giving the book
|
||||||
|
19.79 "JavaScript: The Good Parts"
|
||||||
|
|
||||||
Kelsey Cummings
|
Kelsey Cummings
|
||||||
Contributed by giving the book
|
Contributed by giving the book
|
||||||
64.12 "Computer Architecture: Concepts and Evolution 2-Volume Set"
|
64.12 "Computer Architecture: Concepts and Evolution 2-Volume Set"
|
||||||
|
@ -723,6 +756,17 @@ Eric Yung
|
||||||
|
|
||||||
Total amount of book prices :
|
Total amount of book prices :
|
||||||
c \
|
c \
|
||||||
|
|
||||||
|
9.50+\
|
||||||
|
\
|
||||||
|
42.66+\
|
||||||
|
13.46+\
|
||||||
|
32.97+\
|
||||||
|
18.82+\
|
||||||
|
\
|
||||||
|
31.67+\
|
||||||
|
19.79+\
|
||||||
|
\
|
||||||
64.12+\
|
64.12+\
|
||||||
\
|
\
|
||||||
29.69+\
|
29.69+\
|
||||||
|
@ -796,5 +840,5 @@ c \
|
||||||
59.99+\
|
59.99+\
|
||||||
31.20+\
|
31.20+\
|
||||||
40.00
|
40.00
|
||||||
|
=
|
||||||
=1825.90
|
1985.27
|
||||||
|
|
38
ChangeLog
38
ChangeLog
|
@ -1,17 +1,47 @@
|
||||||
|
|
||||||
RCS file: RCS/imapsync,v
|
RCS file: RCS/imapsync,v
|
||||||
Working file: imapsync
|
Working file: imapsync
|
||||||
head: 1.286
|
head: 1.293
|
||||||
branch:
|
branch:
|
||||||
locks: strict
|
locks: strict
|
||||||
gilles: 1.286
|
gilles: 1.293
|
||||||
access list:
|
access list:
|
||||||
symbolic names:
|
symbolic names:
|
||||||
keyword substitution: kv
|
keyword substitution: kv
|
||||||
total revisions: 286; selected revisions: 286
|
total revisions: 293; selected revisions: 293
|
||||||
description:
|
description:
|
||||||
----------------------------
|
----------------------------
|
||||||
revision 1.286 locked by: gilles;
|
revision 1.293 locked by: gilles;
|
||||||
|
date: 2010/01/12 05:34:27; author: gilles; state: Exp; lines: +6 -6
|
||||||
|
Change call for donation.
|
||||||
|
----------------------------
|
||||||
|
revision 1.292
|
||||||
|
date: 2010/01/12 05:15:53; author: gilles; state: Exp; lines: +8 -7
|
||||||
|
freshmeat rate is gone.
|
||||||
|
paypal is good to encourage myself.
|
||||||
|
----------------------------
|
||||||
|
revision 1.291
|
||||||
|
date: 2010/01/12 04:36:03; author: gilles; state: Exp; lines: +10 -10
|
||||||
|
Load Term::ReadKey when needed.
|
||||||
|
----------------------------
|
||||||
|
revision 1.290
|
||||||
|
date: 2010/01/12 03:42:09; author: gilles; state: Exp; lines: +7 -7
|
||||||
|
One line per folder when printing the each folder list.
|
||||||
|
----------------------------
|
||||||
|
revision 1.289
|
||||||
|
date: 2010/01/12 01:54:52; author: gilles; state: Exp; lines: +6 -6
|
||||||
|
Removed unused Date_Cmp from import.
|
||||||
|
----------------------------
|
||||||
|
revision 1.288
|
||||||
|
date: 2009/09/02 20:37:22; author: gilles; state: Exp; lines: +8 -6
|
||||||
|
Request all folder list only when needed (sometimes the list is very long)
|
||||||
|
----------------------------
|
||||||
|
revision 1.287
|
||||||
|
date: 2009/08/24 00:32:36; author: gilles; state: Exp; lines: +6 -6
|
||||||
|
- fixed fetch_hash() to return FLAGS as "" not () when no FLAGS set.
|
||||||
|
(reading Mail-IMAPClient-3.19 code)
|
||||||
|
----------------------------
|
||||||
|
revision 1.286
|
||||||
date: 2009/07/24 15:53:04; author: gilles; state: Exp; lines: +10 -7
|
date: 2009/07/24 15:53:04; author: gilles; state: Exp; lines: +10 -7
|
||||||
Bug fix: allow3x is on by default (was badly done after check_lib_version())
|
Bug fix: allow3x is on by default (was badly done after check_lib_version())
|
||||||
----------------------------
|
----------------------------
|
||||||
|
|
7
Makefile
7
Makefile
|
@ -1,5 +1,5 @@
|
||||||
|
|
||||||
# $Id: Makefile,v 1.23 2009/07/03 01:01:13 gilles Exp gilles $
|
# $Id: Makefile,v 1.25 2010/01/12 06:31:22 gilles Exp gilles $
|
||||||
|
|
||||||
TARGET=imapsync
|
TARGET=imapsync
|
||||||
|
|
||||||
|
@ -102,8 +102,9 @@ tarball:
|
||||||
echo making tarball $(DIST_FILE)
|
echo making tarball $(DIST_FILE)
|
||||||
mkdir -p dist
|
mkdir -p dist
|
||||||
mkdir -p ../prepa_dist/$(DIST_NAME)
|
mkdir -p ../prepa_dist/$(DIST_NAME)
|
||||||
rsync -aCv --delete --exclude dist/ ./ ../prepa_dist/$(DIST_NAME)
|
rsync -aCv --delete --omit-dir-times --exclude dist/ ./ ../prepa_dist/$(DIST_NAME)
|
||||||
cd ../prepa_dist && tar czfv --verify $(DIST_FILE) $(DIST_NAME)
|
#sync && sync && sync && sleep 2
|
||||||
|
cd ../prepa_dist && (tar czfv $(DIST_FILE) $(DIST_NAME) || tar czfv $(DIST_FILE) $(DIST_NAME))
|
||||||
ln -f ../prepa_dist/$(DIST_FILE) dist/
|
ln -f ../prepa_dist/$(DIST_FILE) dist/
|
||||||
cd dist && md5sum $(DIST_FILE) > $(DIST_FILE).md5.txt
|
cd dist && md5sum $(DIST_FILE) > $(DIST_FILE).md5.txt
|
||||||
cd dist && md5sum -c $(DIST_FILE).md5.txt
|
cd dist && md5sum -c $(DIST_FILE).md5.txt
|
||||||
|
|
4
README
4
README
|
@ -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 32 different IMAP server softwares supported with success.
|
More than 32 different IMAP server softwares supported with success.
|
||||||
|
|
||||||
$Revision: 1.286 $
|
$Revision: 1.293 $
|
||||||
|
|
||||||
INSTALL
|
INSTALL
|
||||||
imapsync works fine under any Unix OS with perl.
|
imapsync works fine under any Unix OS with perl.
|
||||||
|
@ -362,5 +362,5 @@ SIMILAR SOFTWARES
|
||||||
|
|
||||||
Feedback (good or bad) will always be welcome.
|
Feedback (good or bad) will always be welcome.
|
||||||
|
|
||||||
$Id: imapsync,v 1.286 2009/07/24 15:53:04 gilles Exp gilles $
|
$Id: imapsync,v 1.293 2010/01/12 05:34:27 gilles Exp gilles $
|
||||||
|
|
||||||
|
|
18
TODO
18
TODO
|
@ -1,9 +1,12 @@
|
||||||
#!/bin/cat
|
#!/bin/cat
|
||||||
# $Id: TODO,v 1.65 2009/07/24 17:22:13 gilles Exp gilles $
|
# $Id: TODO,v 1.68 2010/01/12 05:28:22 gilles Exp gilles $
|
||||||
|
|
||||||
TODO file for imapsync
|
TODO file for imapsync
|
||||||
----------------------
|
----------------------
|
||||||
|
|
||||||
|
|
||||||
|
Add option --exclude_messages_with_flag
|
||||||
|
|
||||||
Add more information about skipped messages.
|
Add more information about skipped messages.
|
||||||
|
|
||||||
There was a time imapsync took the whole message when the
|
There was a time imapsync took the whole message when the
|
||||||
|
@ -12,6 +15,8 @@ messages (nowadays there are always big messages in
|
||||||
mailboxes). May be the best is to take a part of the
|
mailboxes). May be the best is to take a part of the
|
||||||
body. Have to code this.
|
body. Have to code this.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
Add an option to store flags with "FLAGS.SILENT" instead of "+FLAGS.SILENT".
|
Add an option to store flags with "FLAGS.SILENT" instead of "+FLAGS.SILENT".
|
||||||
|
|
||||||
|
|
||||||
|
@ -25,7 +30,6 @@ Take a look at Mail::IMAPTalk
|
||||||
Simon Bertrang said "way better performance, less problems, easier to use and no
|
Simon Bertrang said "way better performance, less problems, easier to use and no
|
||||||
issues so far". Sounds good!
|
issues so far". Sounds good!
|
||||||
|
|
||||||
|
|
||||||
Post on imapsync mailing-list when a new release comes.
|
Post on imapsync mailing-list when a new release comes.
|
||||||
|
|
||||||
Add an option to implement the faq entry about copying a contact folder.
|
Add an option to implement the faq entry about copying a contact folder.
|
||||||
|
@ -139,6 +143,16 @@ http://asg.web.cmu.edu/cyrus/download/imapd/altnamespace.html
|
||||||
|
|
||||||
Explain expunge behavior.
|
Explain expunge behavior.
|
||||||
|
|
||||||
|
DONE. Fix bug "Found that if folders have a space at the end of
|
||||||
|
the name, it will not create the folder name on the new
|
||||||
|
server, nor will it copy that folder's email."
|
||||||
|
Added regression test checking this.
|
||||||
|
Could not reproduce this bug.
|
||||||
|
Seems to be a old imapsync bug with 2.2.9
|
||||||
|
|
||||||
|
|
||||||
|
DONE. (contacted Date::Manip maintener) Fix bug with Date::Manip 6.02
|
||||||
|
|
||||||
DONE. Explain howto change only the header with --regexmess
|
DONE. Explain howto change only the header with --regexmess
|
||||||
|
|
||||||
DONE.
|
DONE.
|
||||||
|
|
2
VERSION
2
VERSION
|
@ -1 +1 @@
|
||||||
1.286
|
1.293
|
||||||
|
|
|
@ -5,22 +5,16 @@
|
||||||
#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="Bug fix: be case insensitive with header keywords."
|
|
||||||
#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 fix: Bug really fixed: 'parse_headers want an ARRAY ref' crash (second time)."
|
|
||||||
|
|
||||||
TEXT_BODY="Bug fixes:
|
TEXT_BODY="Bug fixes.
|
||||||
- Adaptation fix: Some imap servers return message size not equal to real message
|
|
||||||
size. Now imapsync accept this silly behavior and leave the message as is.
|
|
||||||
|
|
||||||
- Many thanks to the freshmeat folk that correct my bad and poorly English !
|
Many thanks to the freshmeat folk that correct my bad and poorly English !
|
||||||
"
|
"
|
||||||
|
|
||||||
|
|
|
@ -1,14 +1,16 @@
|
||||||
Project: imapsync
|
Project: imapsync
|
||||||
Version: 1.255
|
Version: 1.288
|
||||||
Release-Focus: Major bugfixes
|
Release-Focus: Major feature enhancements
|
||||||
Hide: N
|
Hide: N
|
||||||
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/
|
||||||
|
|
||||||
Bug fixes:
|
Enhancements:
|
||||||
- Adaptation fix: Some imap servers return message size not equal to real message
|
- Support Gmail imap
|
||||||
size. Now imapsync accept this silly behavior and leave the message as is.
|
- Works fine under Windows XP (tm)
|
||||||
|
- Works with Mail::IMAPClient 3.xx and 2.2.9
|
||||||
|
- Many bug fixes
|
||||||
|
|
||||||
- Many thanks to the freshmeat folk that correct my bad and poorly English !
|
Many thanks to the freshmeat folk that correct my bad and poorly English !
|
||||||
|
|
||||||
|
|
||||||
|
|
0
i → i2
0
i → i2
4
i3
Executable file
4
i3
Executable file
|
@ -0,0 +1,4 @@
|
||||||
|
#!/bin/sh
|
||||||
|
|
||||||
|
perl -IMail-IMAPClient-3.19/lib ./imapsync "$@"
|
||||||
|
|
37
imapsync
37
imapsync
|
@ -9,7 +9,7 @@ tool. Synchronise mailboxes between two imap servers. Good
|
||||||
at IMAP migration. More than 32 different IMAP server softwares
|
at IMAP migration. More than 32 different IMAP server softwares
|
||||||
supported with success.
|
supported with success.
|
||||||
|
|
||||||
$Revision: 1.286 $
|
$Revision: 1.293 $
|
||||||
|
|
||||||
=head1 INSTALL
|
=head1 INSTALL
|
||||||
|
|
||||||
|
@ -418,7 +418,7 @@ Entries for imapsync:
|
||||||
|
|
||||||
Feedback (good or bad) will always be welcome.
|
Feedback (good or bad) will always be welcome.
|
||||||
|
|
||||||
$Id: imapsync,v 1.286 2009/07/24 15:53:04 gilles Exp gilles $
|
$Id: imapsync,v 1.293 2010/01/12 05:34:27 gilles Exp gilles $
|
||||||
|
|
||||||
=cut
|
=cut
|
||||||
|
|
||||||
|
@ -484,7 +484,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.286 2009/07/24 15:53:04 gilles Exp gilles $ ';
|
$rcs = '$Id: imapsync,v 1.293 2010/01/12 05:34:27 gilles Exp gilles $ ';
|
||||||
$rcs =~ m/,v (\d+\.\d+)/;
|
$rcs =~ m/,v (\d+\.\d+)/;
|
||||||
$VERSION = ($1) ? $1: "UNKNOWN";
|
$VERSION = ($1) ? $1: "UNKNOWN";
|
||||||
|
|
||||||
|
@ -547,8 +547,8 @@ while (@argv_copy) {
|
||||||
|
|
||||||
my $banner = join("",
|
my $banner = join("",
|
||||||
'$RCSfile: imapsync,v $ ',
|
'$RCSfile: imapsync,v $ ',
|
||||||
'$Revision: 1.286 $ ',
|
'$Revision: 1.293 $ ',
|
||||||
'$Date: 2009/07/24 15:53:04 $ ',
|
'$Date: 2010/01/12 05:34:27 $ ',
|
||||||
"\n",localhost_info(),
|
"\n",localhost_info(),
|
||||||
" and the module Mail::IMAPClient version used here is ",
|
" and the module Mail::IMAPClient version used here is ",
|
||||||
$VERSION_IMAPClient,"\n",
|
$VERSION_IMAPClient,"\n",
|
||||||
|
@ -657,7 +657,7 @@ if ($syncinternaldates || $idatefromheader) {
|
||||||
no warnings 'redefine';
|
no warnings 'redefine';
|
||||||
local *Carp::confess = sub { return undef; };
|
local *Carp::confess = sub { return undef; };
|
||||||
require Date::Manip;
|
require Date::Manip;
|
||||||
Date::Manip->import(qw(ParseDate Date_Cmp UnixDate Date_Init Date_TimeZone));
|
Date::Manip->import(qw(ParseDate UnixDate Date_Init Date_TimeZone));
|
||||||
#print "Date_init: [", join(" ",Date_Init()), "]\n";
|
#print "Date_init: [", join(" ",Date_Init()), "]\n";
|
||||||
print "TimeZone:[", Date_TimeZone(), "]\n";
|
print "TimeZone:[", Date_TimeZone(), "]\n";
|
||||||
if (not (Date_TimeZone())) {
|
if (not (Date_TimeZone())) {
|
||||||
|
@ -912,7 +912,7 @@ sub remove_from_requested_folders {
|
||||||
map { $subscribed_folder{$_} = 1 } $from->subscribed();
|
map { $subscribed_folder{$_} = 1 } $from->subscribed();
|
||||||
|
|
||||||
|
|
||||||
my @all_source_folders = sort $from->folders();
|
|
||||||
|
|
||||||
if (scalar(@folder) or $subscribed or scalar(@folderrec)) {
|
if (scalar(@folder) or $subscribed or scalar(@folderrec)) {
|
||||||
# folders given by option --folder
|
# folders given by option --folder
|
||||||
|
@ -936,6 +936,7 @@ else {
|
||||||
|
|
||||||
# no include, no folder/subscribed/folderrec options => all folders
|
# no include, no folder/subscribed/folderrec options => all folders
|
||||||
if (not scalar(@include)) {
|
if (not scalar(@include)) {
|
||||||
|
my @all_source_folders = sort $from->folders();
|
||||||
add_to_requested_folders(@all_source_folders);
|
add_to_requested_folders(@all_source_folders);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -943,6 +944,7 @@ else {
|
||||||
|
|
||||||
# consider (optional) includes and excludes
|
# consider (optional) includes and excludes
|
||||||
if (scalar(@include)) {
|
if (scalar(@include)) {
|
||||||
|
my @all_source_folders = sort $from->folders();
|
||||||
foreach my $include (@include) {
|
foreach my $include (@include) {
|
||||||
my @included_folders = grep /$include/, @all_source_folders;
|
my @included_folders = grep /$include/, @all_source_folders;
|
||||||
add_to_requested_folders(@included_folders);
|
add_to_requested_folders(@included_folders);
|
||||||
|
@ -1215,8 +1217,8 @@ foreach my $folder (@t_folders_list) {
|
||||||
|
|
||||||
print
|
print
|
||||||
"++++ Listing folders ++++\n",
|
"++++ Listing folders ++++\n",
|
||||||
"From folders list: ", map("[$_] ",@f_folders),"\n",
|
"From folders list:\n", map("[$_]\n",@f_folders),"\n",
|
||||||
"To folders list: ", map("[$_] ",@t_folders_list),"\n";
|
"To folders list:\n", map("[$_]\n",@t_folders_list),"\n";
|
||||||
|
|
||||||
print
|
print
|
||||||
"From subscribed folders list: ",
|
"From subscribed folders list: ",
|
||||||
|
@ -1828,9 +1830,10 @@ sub stats {
|
||||||
sub thank_author {
|
sub thank_author {
|
||||||
|
|
||||||
return(join("", "Happy with this free, open and gratis GPL software?\n",
|
return(join("", "Happy with this free, open and gratis GPL software?\n",
|
||||||
"Please, thank the author (Gilles LAMIRAL) by giving him a book:\n",
|
"Encourage the author (Gilles LAMIRAL) by giving him a book:\n",
|
||||||
"http://www.amazon.com/gp/registry/wishlist/1C9UNDIH3P7R7/\n",
|
"http://www.amazon.com/gp/registry/wishlist/1C9UNDIH3P7R7/\n",
|
||||||
"or rate imapsync at http://freshmeat.net/projects/imapsync/\n"));
|
"or via paypal:\n",
|
||||||
|
"http://www.linux-france.org/prj/imapsync/paypal.html\n"));
|
||||||
}
|
}
|
||||||
|
|
||||||
sub get_options {
|
sub get_options {
|
||||||
|
@ -1926,7 +1929,7 @@ sub get_options {
|
||||||
exit;
|
exit;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
$help = 1 if ! $numopt;
|
||||||
load_modules();
|
load_modules();
|
||||||
|
|
||||||
# exit with --help option or no option at all
|
# exit with --help option or no option at all
|
||||||
|
@ -1943,10 +1946,10 @@ sub load_modules {
|
||||||
require IO::Socket::SSL if ($ssl1 or $ssl2);
|
require IO::Socket::SSL if ($ssl1 or $ssl2);
|
||||||
require Date::Manip if ($syncinternaldates || $idatefromheader) ;
|
require Date::Manip if ($syncinternaldates || $idatefromheader) ;
|
||||||
|
|
||||||
# require Term::ReadKey if (
|
require Term::ReadKey if (
|
||||||
# (not($password1 or $passfile1))
|
((not($password1 or $passfile1))
|
||||||
# or (not($password2 or $passfile2))
|
or (not($password2 or $passfile2)))
|
||||||
# or (not $help));
|
and (not $help));
|
||||||
|
|
||||||
#require Data::Dumper if ($debug);
|
#require Data::Dumper if ($debug);
|
||||||
}
|
}
|
||||||
|
@ -2448,7 +2451,7 @@ use constant NonFolderArg => 1; # Value to pass to Massage to
|
||||||
"| # then closing quote; or ...
|
"| # then closing quote; or ...
|
||||||
\( # ...an open paren
|
\( # ...an open paren
|
||||||
(\\.| # then bslashed anychar or ...
|
(\\.| # then bslashed anychar or ...
|
||||||
[^\)]+) # ... non-close-paren char
|
[^\)]*) # ... non-close-paren char
|
||||||
\)| # then closing paren; or ...
|
\)| # then closing paren; or ...
|
||||||
(\S+)) # unquoted string
|
(\S+)) # unquoted string
|
||||||
(?:\s.*)? # possibly followed by space-stuff
|
(?:\s.*)? # possibly followed by space-stuff
|
||||||
|
|
|
@ -5,6 +5,8 @@ require Date::Manip;
|
||||||
|
|
||||||
Date::Manip->import(qw(ParseDate Date_Cmp UnixDate));
|
Date::Manip->import(qw(ParseDate Date_Cmp UnixDate));
|
||||||
|
|
||||||
|
print "Date::Manip::VERSION $Date::Manip::VERSION\n";
|
||||||
|
|
||||||
foreach $date_inp ("21-Jan-2004 23:10:58 +0200", "21-Feb-2004 0:14:02 +0200",
|
foreach $date_inp ("21-Jan-2004 23:10:58 +0200", "21-Feb-2004 0:14:02 +0200",
|
||||||
"15-Oct-2004 23:25:42 +0200", "19-Aug-2005 1:49:08 +0200") {
|
"15-Oct-2004 23:25:42 +0200", "19-Aug-2005 1:49:08 +0200") {
|
||||||
$date_dm = ParseDate($date_inp);
|
$date_dm = ParseDate($date_inp);
|
||||||
|
|
35
memo
35
memo
|
@ -36,28 +36,28 @@ fi
|
||||||
niouzes_compil
|
niouzes_compil
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#' nedit sucks with syntax color
|
||||||
fm_read_param() {
|
|
||||||
|
|
||||||
# read definitions
|
|
||||||
. $NEWS_FILE_FM_INP
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
fm_init() {
|
fm_init() {
|
||||||
software_version
|
software_version
|
||||||
NEWS_FILE_FM="/home/gilles/public_html/imapsync/freshmeat_submition"
|
NEWS_FILE_FM="./freshmeat_submition"
|
||||||
NEWS_FILE_FM_INP=${NEWS_FILE_FM}.inp
|
NEWS_FILE_FM_INP=${NEWS_FILE_FM}.inp
|
||||||
NEWS_FILE_FM_OUT=${NEWS_FILE_FM}.out
|
NEWS_FILE_FM_OUT=${NEWS_FILE_FM}.out
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
fm_read_param() {
|
||||||
|
# read definitions
|
||||||
|
. $NEWS_FILE_FM_INP
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
fm_read_announce() {
|
fm_read_announce() {
|
||||||
|
|
||||||
fm_init
|
fm_init
|
||||||
fm_read_param
|
fm_read_param
|
||||||
|
|
||||||
cat << EOF
|
cat << EOF
|
||||||
Project: imapsync
|
Project: imapsync
|
||||||
Version: $VERSION
|
Version: $VERSION
|
||||||
Release-Focus: $RELEASE_FOCUS
|
Release-Focus: $RELEASE_FOCUS
|
||||||
|
@ -71,22 +71,19 @@ EOF
|
||||||
}
|
}
|
||||||
|
|
||||||
fm_announce() {
|
fm_announce() {
|
||||||
fm_init
|
fm_init
|
||||||
|
|
||||||
if ! newer VERSION $NEWS_FILE_FM_OUT; then
|
if ! newer VERSION $NEWS_FILE_FM_OUT; then
|
||||||
echo "$VERSION already submitted on freshmeat"
|
echo "$VERSION already submitted on freshmeat"
|
||||||
else
|
else
|
||||||
if newer VERSION $NEWS_FILE_FM_INP; then
|
if newer VERSION $NEWS_FILE_FM_INP; then
|
||||||
echo "Update $NEWS_FILE_FM_INP please"
|
echo "Update $NEWS_FILE_FM_INP please"
|
||||||
return 1
|
return 1
|
||||||
fi
|
fi
|
||||||
|
|
||||||
fm_read_param
|
|
||||||
fm_read_announce > $NEWS_FILE_FM_OUT
|
fm_read_announce > $NEWS_FILE_FM_OUT
|
||||||
|
freshmeat-submit < $NEWS_FILE_FM_OUT
|
||||||
freshmeat-submit < $NEWS_FILE_FM_OUT
|
fi
|
||||||
fi
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
18
paypal.html
Normal file
18
paypal.html
Normal file
|
@ -0,0 +1,18 @@
|
||||||
|
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
|
||||||
|
|
||||||
|
<body>
|
||||||
|
<h1>imapsync donation</h1>
|
||||||
|
|
||||||
|
Help the author to maintain imapsync:
|
||||||
|
<form action="https://www.paypal.com/cgi-bin/webscr" method="post">
|
||||||
|
<input type="hidden" name="cmd" value="_s-xclick">
|
||||||
|
<input type="hidden" name="encrypted" value="-----BEGIN PKCS7-----MIIHNwYJKoZIhvcNAQcEoIIHKDCCByQCAQExggEwMIIBLAIBADCBlDCBjjELMAkGA1UEBhMCVVMxCzAJBgNVBAgTAkNBMRYwFAYDVQQHEw1Nb3VudGFpbiBWaWV3MRQwEgYDVQQKEwtQYXlQYWwgSW5jLjETMBEGA1UECxQKbGl2ZV9jZXJ0czERMA8GA1UEAxQIbGl2ZV9hcGkxHDAaBgkqhkiG9w0BCQEWDXJlQHBheXBhbC5jb20CAQAwDQYJKoZIhvcNAQEBBQAEgYCLqDFNLHWLnXOTR6fg5I/197IlWQ3GWa5cEph059d7/DGlRks59x3ehGkOe07+JrJBdmNmz7UnDGEFpaY4N+aum6pt+SB6tRGsGFpvqbaS7PTxH4unt4P02ekxl+sMSsCDRpTON5EqZDu/u59XpftzuzESOKxYi5QqyP0nKtXa9TELMAkGBSsOAwIaBQAwgbQGCSqGSIb3DQEHATAUBggqhkiG9w0DBwQIgQDw/j9EPAyAgZCurQXtibGHD+s+xFdIWW93rzpNFjoV+nWclf2nsMhu5g7lT4fIIEzeJc29zuAzY+ySQKZxoKYZKYAjKRteDnCytBmcrz0/+C1VmxLWjweZA5NQQhys6uqCMkYj/iNsRodsBtlCeg8jYoSZM64gdWfoQahOzzdA0oOWXF1j9kYFmqoyQDQU2cS97ZezbXlo7migggOHMIIDgzCCAuygAwIBAgIBADANBgkqhkiG9w0BAQUFADCBjjELMAkGA1UEBhMCVVMxCzAJBgNVBAgTAkNBMRYwFAYDVQQHEw1Nb3VudGFpbiBWaWV3MRQwEgYDVQQKEwtQYXlQYWwgSW5jLjETMBEGA1UECxQKbGl2ZV9jZXJ0czERMA8GA1UEAxQIbGl2ZV9hcGkxHDAaBgkqhkiG9w0BCQEWDXJlQHBheXBhbC5jb20wHhcNMDQwMjEzMTAxMzE1WhcNMzUwMjEzMTAxMzE1WjCBjjELMAkGA1UEBhMCVVMxCzAJBgNVBAgTAkNBMRYwFAYDVQQHEw1Nb3VudGFpbiBWaWV3MRQwEgYDVQQKEwtQYXlQYWwgSW5jLjETMBEGA1UECxQKbGl2ZV9jZXJ0czERMA8GA1UEAxQIbGl2ZV9hcGkxHDAaBgkqhkiG9w0BCQEWDXJlQHBheXBhbC5jb20wgZ8wDQYJKoZIhvcNAQEBBQADgY0AMIGJAoGBAMFHTt38RMxLXJyO2SmS+Ndl72T7oKJ4u4uw+6awntALWh03PewmIJuzbALScsTS4sZoS1fKciBGoh11gIfHzylvkdNe/hJl66/RGqrj5rFb08sAABNTzDTiqqNpJeBsYs/c2aiGozptX2RlnBktH+SUNpAajW724Nv2Wvhif6sFAgMBAAGjge4wgeswHQYDVR0OBBYEFJaffLvGbxe9WT9S1wob7BDWZJRrMIG7BgNVHSMEgbMwgbCAFJaffLvGbxe9WT9S1wob7BDWZJRroYGUpIGRMIGOMQswCQYDVQQGEwJVUzELMAkGA1UECBMCQ0ExFjAUBgNVBAcTDU1vdW50YWluIFZpZXcxFDASBgNVBAoTC1BheVBhbCBJbmMuMRMwEQYDVQQLFApsaXZlX2NlcnRzMREwDwYDVQQDFAhsaXZlX2FwaTEcMBoGCSqGSIb3DQEJARYNcmVAcGF5cGFsLmNvbYIBADAMBgNVHRMEBTADAQH/MA0GCSqGSIb3DQEBBQUAA4GBAIFfOlaagFrl71+jq6OKidbWFSE+Q4FqROvdgIONth+8kSK//Y/4ihuE4Ymvzn5ceE3S/iBSQQMjyvb+s2TWbQYDwcp129OPIbD9epdr4tJOUNiSojw7BHwYRiPh58S1xGlFgHFXwrEBb3dgNbMUa+u4qectsMAXpVHnD9wIyfmHMYIBmjCCAZYCAQEwgZQwgY4xCzAJBgNVBAYTAlVTMQswCQYDVQQIEwJDQTEWMBQGA1UEBxMNTW91bnRhaW4gVmlldzEUMBIGA1UEChMLUGF5UGFsIEluYy4xEzARBgNVBAsUCmxpdmVfY2VydHMxETAPBgNVBAMUCGxpdmVfYXBpMRwwGgYJKoZIhvcNAQkBFg1yZUBwYXlwYWwuY29tAgEAMAkGBSsOAwIaBQCgXTAYBgkqhkiG9w0BCQMxCwYJKoZIhvcNAQcBMBwGCSqGSIb3DQEJBTEPFw0xMDAxMTIwNDU1MTJaMCMGCSqGSIb3DQEJBDEWBBRqMaroJyi3sCMzp13JlujgbHO7pzANBgkqhkiG9w0BAQEFAASBgLajMBwporC1VxI+HKolT50xvSy38NG7f0TaYG964GZDF0snOlZRr5Is0k3fp/nZxgK1vIn7gmfkR9rrz09bIriyPrU4SJ1lgbFv4r/c7Bg22bMdbjJsgMVEaPin+3Kz1W2v90TkNGRx7LaMhJVKoDzTdVBXXU45sxfTlOkXCej+-----END PKCS7-----
|
||||||
|
">
|
||||||
|
<input type="image" src="https://www.paypal.com/en_US/i/btn/btn_donateCC_LG_global.gif" border="0" name="submit" alt="PayPal - The safer, easier way to pay online.">
|
||||||
|
<img alt="" border="0" src="https://www.paypal.com/fr_FR/i/scr/pixel.gif" width="1" height="1">
|
||||||
|
</form>
|
||||||
|
|
||||||
|
Thanks in advance!
|
||||||
|
|
||||||
|
</body>
|
||||||
|
|
64
tests.sh
64
tests.sh
|
@ -1,6 +1,6 @@
|
||||||
#!/bin/sh
|
#!/bin/sh
|
||||||
|
|
||||||
# $Id: tests.sh,v 1.93 2009/07/24 17:20:41 gilles Exp gilles $
|
# $Id: tests.sh,v 1.95 2010/01/12 04:09:57 gilles Exp gilles $
|
||||||
|
|
||||||
# Example:
|
# Example:
|
||||||
# CMD_PERL='perl -I./Mail-IMAPClient-3.14/lib' sh -x tests.sh
|
# CMD_PERL='perl -I./Mail-IMAPClient-3.14/lib' sh -x tests.sh
|
||||||
|
@ -157,6 +157,15 @@ locallocal() {
|
||||||
--allow3xx
|
--allow3xx
|
||||||
}
|
}
|
||||||
|
|
||||||
|
ll_ask_password() {
|
||||||
|
{ sleep 2; cat ../../var/pass/secret.tata; } | \
|
||||||
|
$CMD_PERL ./imapsync \
|
||||||
|
--host1 $HOST1 --user1 tata \
|
||||||
|
--host2 $HOST2 --user2 titi \
|
||||||
|
--passfile2 ../../var/pass/secret.titi \
|
||||||
|
--justlogin
|
||||||
|
}
|
||||||
|
|
||||||
ll_timeout() {
|
ll_timeout() {
|
||||||
$CMD_PERL ./imapsync \
|
$CMD_PERL ./imapsync \
|
||||||
--host1 $HOST1 --user1 tata \
|
--host1 $HOST1 --user1 tata \
|
||||||
|
@ -236,6 +245,17 @@ ll_justfolders() {
|
||||||
echo "rm -rf /home/vmail/titi/.new_folder/"
|
echo "rm -rf /home/vmail/titi/.new_folder/"
|
||||||
}
|
}
|
||||||
|
|
||||||
|
ll_bug_folder_name_with_blank() {
|
||||||
|
$CMD_PERL ./imapsync \
|
||||||
|
--host1 $HOST1 --user1 tata \
|
||||||
|
--passfile1 ../../var/pass/secret.tata \
|
||||||
|
--host2 $HOST2 --user2 titi \
|
||||||
|
--passfile2 ../../var/pass/secret.titi \
|
||||||
|
--justfolders \
|
||||||
|
--allow3xx
|
||||||
|
echo "rm -rf /home/vmail/titi/.bugs/"
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
ll_prefix12() {
|
ll_prefix12() {
|
||||||
$CMD_PERL ./imapsync \
|
$CMD_PERL ./imapsync \
|
||||||
|
@ -627,12 +647,40 @@ ll_regex_flag()
|
||||||
--host2 $HOST2 --user2 titi \
|
--host2 $HOST2 --user2 titi \
|
||||||
--passfile2 ../../var/pass/secret.titi \
|
--passfile2 ../../var/pass/secret.titi \
|
||||||
--folder INBOX.yop.yap \
|
--folder INBOX.yop.yap \
|
||||||
--dry --debug --regexflag 's/\\Answered/\\AnXweXed/g' \
|
--debug --regexflag 's/\\Answered/\\Flagged/g'
|
||||||
--allow3xx
|
|
||||||
|
|
||||||
echo 'rm /home/vmail/titi/.yop.yap/cur/*'
|
echo 'rm -f /home/vmail/titi/.yop.yap/cur/*'
|
||||||
}
|
}
|
||||||
|
|
||||||
|
ll_regex_flag2()
|
||||||
|
{
|
||||||
|
$CMD_PERL ./imapsync \
|
||||||
|
--host1 $HOST1 --user1 tata \
|
||||||
|
--passfile1 ../../var/pass/secret.tata \
|
||||||
|
--host2 $HOST2 --user2 titi \
|
||||||
|
--passfile2 ../../var/pass/secret.titi \
|
||||||
|
--folder INBOX.yop.yap \
|
||||||
|
--debug --regexflag s/\\\\Answered/\\\\Flagged/g
|
||||||
|
|
||||||
|
echo 'rm -f /home/vmail/titi/.yop.yap/cur/*'
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
ll_regex_flag3()
|
||||||
|
{
|
||||||
|
$CMD_PERL ./imapsync \
|
||||||
|
--host1 $HOST1 --user1 tata \
|
||||||
|
--passfile1 ../../var/pass/secret.tata \
|
||||||
|
--host2 $HOST2 --user2 titi \
|
||||||
|
--passfile2 ../../var/pass/secret.titi \
|
||||||
|
--folder INBOX.yop.yap \
|
||||||
|
--debug --regexflag s/\\\\Answered//g
|
||||||
|
|
||||||
|
echo 'rm -f /home/vmail/titi/.yop.yap/cur/*'
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
ssl_justconnect() {
|
ssl_justconnect() {
|
||||||
|
|
||||||
|
@ -783,7 +831,8 @@ gmail_gmail() {
|
||||||
--useheader 'Message-Id' --skipsize \
|
--useheader 'Message-Id' --skipsize \
|
||||||
--regextrans2 's¤INBOX¤inbox_copy¤' \
|
--regextrans2 's¤INBOX¤inbox_copy¤' \
|
||||||
--folder INBOX \
|
--folder INBOX \
|
||||||
--authmech1 LOGIN --authmech2 LOGIN
|
--authmech1 LOGIN --authmech2 LOGIN \
|
||||||
|
--allowsizemismatch
|
||||||
#--dry # --debug --debugimap # --authmech1 LOGIN
|
#--dry # --debug --debugimap # --authmech1 LOGIN
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -801,7 +850,8 @@ gmail_gmail2() {
|
||||||
--passfile2 ../../var/pass/secret.imapsync.gl_gmail \
|
--passfile2 ../../var/pass/secret.imapsync.gl_gmail \
|
||||||
--useheader 'Message-Id' --skipsize \
|
--useheader 'Message-Id' --skipsize \
|
||||||
--folder INBOX \
|
--folder INBOX \
|
||||||
--authmech1 LOGIN --authmech2 LOGIN
|
--authmech1 LOGIN --authmech2 LOGIN \
|
||||||
|
--allowsizemismatch
|
||||||
#--dry # --debug --debugimap # --authmech1 LOGIN
|
#--dry # --debug --debugimap # --authmech1 LOGIN
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -1107,6 +1157,8 @@ test $# -eq 0 && run_tests \
|
||||||
first_sync_dry \
|
first_sync_dry \
|
||||||
first_sync \
|
first_sync \
|
||||||
locallocal \
|
locallocal \
|
||||||
|
ll_ask_password \
|
||||||
|
ll_bug_folder_name_with_blank \
|
||||||
ll_timeout \
|
ll_timeout \
|
||||||
ll_folder \
|
ll_folder \
|
||||||
ll_buffersize \
|
ll_buffersize \
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue