./mail/imapsync, Incremental recursive IMAP transfer tool

[ CVSweb ] [ Homepage ] [ RSS ] [ Required by ] [ Add to tracker ]


Branch: CURRENT, Version: 2.264, Package name: imapsync-2.264, Maintainer: abs

imapsync is a tool for facilitating incremental recursive IMAP
transfers from one mailbox to another. It is useful for mailbox
migration, and reduces the amount of data transferred by only
copying messages that are not present on both servers. Read, unread,
and deleted flags are preserved, and the process can be stopped
and resumed. The original messages can optionally be deleted after
a successful transfer.


Required to run:
[sysutils/p5-File-Copy-Recursive] [textproc/p5-Regexp-Common] [converters/p5-Unicode-String] [www/p5-libwww] [www/p5-HTML-Parser] [misc/p5-File-Tail] [lang/perl5] [security/p5-IO-Socket-SSL] [security/p5-Crypt-OpenSSL-RSA] [mail/p5-Mail-IMAPClient] [devel/p5-IO-Tee] [devel/p5-Module-ScanDeps] [devel/p5-Test-NoWarnings] [devel/p5-Sub-Uplevel] [devel/p5-Test-Deep] [devel/p5-Test-Warn] [devel/p5-Term-ReadKey] [devel/p5-Readonly] [net/p5-IO-Socket-INET6] [devel/p5-Test-Requires] [devel/p5-Package-Stash] [devel/p5-Test-Fatal] [devel/p5-Dist-CheckConflicts] [devel/p5-Package-Stash-XS] [devel/p5-Module-Implementation] [textproc/p5-Encode-IMAPUTF7] [sysutils/p5-Sys-MemInfo] [devel/p5-PAR-Packer] [devel/p5-Test-Mock-Guard]

Master sites:

Filesize: 17914.06 KB

Version history: (Expand)


CVS history: (Expand)


   2024-08-13 23:24:53 by Thomas Klausner | Files touched by this commit (1)
Log message:
imapsync: add test target and mention test status
   2024-08-13 23:03:49 by Mark Davies | Files touched by this commit (2) | Package updated
Log message:
imapsync: update to 2.264

* Dependencies added: Perl module Digest::SHA
* Dependencies removed: Perl module IO::Socket::INET6
* Enhancement: It is now possible to check login with one side. Example:
  imapsync --host1 test1.lamiral.info --user1 test1 --password1 secret1
* Enhancement: Office365 OAUTH2 modern authentication supported with an external
  script.
* Bug fix: Reread oauth2 files upon disconnections.
* Bug fix: Options --password1 and --password2 are no longer required when
  --oauthaccesstoken1 and --oauthaccesstoken2 are used, respectively.
* Bug fix: Options --user1 and --user2 are no longer required when --oauthdirect1
  and --oauthdirect2 are used, respectively.
* Refactoring: 2065 unit tests.
* Refactoring: 200 functionnal tests.
* Security: Changed the default temporary directory. Now, the temporary directory
  taken from --tmpdir or $HOME/tmp or current directory, in order if defined
  (instead of /tmp on Linux) CVE-2023-34204
  See https://nvd.nist.gov/vuln/detail/CVE-2023-34204
  and also https://github.com/imapsync/imapsync/issues/399
  I did not change the default tmpdir in the CGI context because
  /var/tmp/imapsync_hash is written only if it doesn't exist and
  /var/tmp/imapsync_cgi/ is created under the supervision of an admin. And I am
  lazy to change all my hosts for now.
* Portability: removed "use IO::Socket::INET6 ;"
* CGI context: CGI context. Exit with a "503 Service Unavailable" when \ 
no disk
  space is available.
* CGI context: Now the logfile name can only be composed with characters a-zA-Z0-9_-
   2023-03-06 16:11:40 by David Brownlee | Files touched by this commit (2)
Log message:
Updated mail/imapsync to 2.229

2.229
- Make pass "make linuxtests win32tests win64tests mactests"

2.228
- Doc. --oauthaccesstoken1 needs --password1 presence. This is a bug.

2.227
- Bugfix. Fixed memory measurement on MacOS and Win32 Win64

2.226
- 1966 unit tests

2.225
- *** empty log message ***

2.224
- typo connexions connections

2.223
- Default is now like --noemailreport1 --noemailreport2, no final email report. \ 
Popular demand.
- Added a stat value: memory footprint times time spent during the sync. Unity \ 
MiB * hour. Line "Memory consumption at the end".

2.222
- Remove --memorystress from CGI options.

2.221
- CGI context. Refuse to serve when the cpu load is greater than 1 per cpu. A \ 
load of 3.9 with 4 cores is ok.

2.220
- CGI context. Refuse to server when memory left is less than 1 GB.

2.219
- heavy load by cpu limit from 6 to 3. Because 6 is too big on ks6

2.218
- Typo. memory_consumption_all_pids_percent with only 2 decimals.

2.217
- CGI context. Bring back to exit on heavy load by cpu. limit is a load of 6 per \ 
core, roughly the number of processes running constantly per core.

2.216
- typo seconde second

2.215
- Added --exitonload option. Only available in CGI context for now.

2.214
- load_percent_threshold is now room for two average imapsync processes.

2.213
- Filtering buggy flags is now case insensitive. \Junk or \JUNK or \jUnK etc.
- Refactoring. Added sub tests_filterbuggyflags()

2.212
- Bugfix. Do not crash when Proc::ProcessTable field pctmem does not exist.

2.211
- Last commit 2.210 did not pass the unit tests. Fixed.

2.210
- Added filtering \JUNK flag in cgi context or with --filterbuggyflags

2.209
- Enhancement. heavy_load_percent_threshold now based on \ 
memory_footprint_average_bytes 300 MB

2.208
- 90%

2.207
- memory limit to quit from 100% to 50%. Quick fix.

2.206
- Added dependency. Perl module Proc::ProcessTable. Not mandatory anyway. For now.
- CGI context. Exit when 100% of RAM memory is used by processes. Exit with \ 
status value 69 and message "EX_UNAVAILABLE: service unavailable".
- Added the % of RAM used by all processes in the memory infi line.

2.205
- perlcritic. Change all "= shift ;" to " = shift @ARG ;"

2.204
- Do not report final emails when --dry or --justfolders

2.203
- Bugfix. Allow quota like: QUOTA "user-defined quota (konsoleH)" \ 
(STORAGE 988 48829 MESSAGE 20 20)
- Enhancement. Added --memorystress to check memory crunching in normal run.

2.202
- CGI context. Do not append the log file name to ../list_all_logs_auto.txt when \ 
there is no parameters.

2.201
- Moved all getppid to mygetppid (it adds a comment on Windows, where ppid is \ 
too complicated to get.

2.200
- typo. "check the certificate server" => "check the server \ 
certificate."

2.199
- Enhancement. Added the local ip address for the imap connexions. It can help \ 
configuring firewalls to allow the imap source IP.

2.198
- Added SERVER_NAME SERVER_ADDR SERVER_ADMIN variables and values to the output.

2.197
- Bugfix. --tests --testslive was listing 0 folders.
- Added message "Use --noemailreport1 to avoid it" after putting the \ 
email final report in INBOX.

2.196
- Bugfix. Dates were not displayed under Windows because POSIX::strftime %e is \ 
not portable.
- Bugfix. Several other places where dates were wrong on Windows.

2.195
- Added warning "parsing headers of folder ... It can take time for huge \ 
folders. Be patient."

2.194
- Bugfix. --var HTTP_COOKIE=proximapsync_runs=31 was not working because of the \ 
second =

2.193
- Refactor. Deglobalized $debuglist $debugflags
- Refactor. Added sync->{ permanentflags2 }

2.192
- Bugfix. Do not allow --skipcrossduplicates and --usecache. Exit EX_USAGE 64

2.191
- Added --var to pass values from proximapsync for variables REMOTE_ADDR \ 
REMOTE_HOST HTTP_REFERER HTTP_USER_AGENT SERVER_SOFTWARE SERVER_PORT HTTP_COOKIE

2.190
- Bugfix. Do not turn on --delete2duplicates when --syncduplicates is on, unless \ 
--delete2duplicates is given.

2.189
- Upped ERRORS_MAX_CGI from 20 to 500

2.188
- Refactor. Changed setlogfile() to be usable for different logs by proximapsync.

2.187
- Documented why total sizes can differ even when the sync is perfect.

2.186
- Bugfix. Redirect STDERR to STDOUT in all cases, --log or --nolog

2.185
- Added option --emailreport1 and --emailreport2. On by default. Use \ 
--noemailreport1 and --noemailreport2 to avoid final emails reports in each \ 
INBOX.

2.184
- Added final report to source account also.

2.183
- Added folder name in the debug output of header identificators

2.182
- Bugfix. GMT is good but the tests had to be changed also...

2.181
- Bugfix. Use GMT in tests_email_report_message_id
- Bugfix. Make the email report w3c validated. Crazy man!

2.180
- Enhancement. Append a final email report on account2 at the end of the \ 
synchronization. Will be optionnal soon.

2.179
- README reread, grammarly on it.
- Added "Posta inviata" so \Sent with --automap

2.178
- Added tests_compress_ssl()

2.177
- Bugfix. 1849 -> 1848 unit tests

2.176
- Bugfix. memory consumption on Mac was not relevant. Use RSS instead of VSZ, on \ 
Mac only. Linux stays with VSZ.

2.175
- Bugix. Darwin, fixed loadavg tests, no more W/t/loadavg.out needed.

2.174
- Added advice for:
-   ERR_APPEND_SIZE
-   ERR_CONNECTION_FAILURE_HOST1
-   ERR_CONNECTION_FAILURE_HOST2
-   ERR_AUTHENTICATION_FAILURE_USER1
-   ERR_AUTHENTICATION_FAILURE_USER2

2.173
- Bugfix. Made reconnect mechanism works with --oauthdirect1 --oauthdirect2 \ 
--oauthaccesstoken1 --oauthaccesstoken2

2.172
- Added some tests to tests_get_options_from_string() and tests_get_options_extra()
-   I can not have the unknown options back with \ 
Getopt::Long::GetOptionsFromString(), just the unknown values, ie, caca but not \ 
--caca

2.171
- Added --ssl1 --ssl2 --tls1 --tls2 --compress1 --compress2 to \ 
get_options_from_string()

2.170
- Added --keepalive1 --keepalive2 --reconnectretry1 --reconnectretry2 in \ 
get_options_from_string()

2.169
- Added --keepalive1 and --keepalive2 options. On by default.
-   See https://metacpan.org/pod/Mail::IMAPClient#Keepalive
-   Use --nokeepalive1 and --nokeepalive2 to disable Keepalive.

2.168
- Added --debugflags --errorsmax --folder --timeout in options from file

2.167
- Moved the call to extra options after the chdir of the CGI context.

2.166
- Now read extra options on the first line of the file ./options_extra.txt if it \ 
is present and readable.

2.165
- cpu_time rounded with 2 decimals.
- Added 4 tests when no compression is on.

2.164
- Compression no more on by default. Just to see.

2.163
- Bugfix. imapsync --version was buggy in docker context.

2.162
- Docker. Current working directory changed from /var/tmp to \ 
/var/tmp/uid_$EFFECTIVE_USER_ID

2.161
- Bugfix. inline doc mentioned always --nocompress1

2.160
- Added inline documentation about --nocompress1 and --nocompress2

2.159
- Dependency. Added use Compress::Zlib
- Enhancement. Added compression in imap. On by default no matter the capability \ 
announced. Use --nocompress1 and --nocompress2 to turn it off.

2.158
- Added README help for --truncmess

2.157
- Refactor. Deglobalized $debugcontent. Added debugcontent() function.
- 1800 unit tests.

2.156
- Added comment for ERR_FLAGS "Many STORE errors with FLAGS. Retry with the \ 
option --noresyncflags"
- Refactored errors_incr() and errors_listing()
- Bugfix. errors_incr() existed with CATCH_ALL

2.155
- Like --useheader X-Gmail-Received --useheader Message-Id when --gmail1 --gmail2

2.154
- Bugfix. Added 'E&AwE-le&AwE-ments envoye&AwE-s' in possible_special

2.153
- Does not checknoabletosearch if --justfolders
- When creating folder check if selectable and consider ok if selectable

2.152
- Added inline advice on error ERR_OVERQUOTA
- Added inline advice on error ERR_TRANSFER_EXCEEDED
- Renamed function bytes_display_string() bytes_display_string_bin()
-   bytes_display_string_bin converts bytes to human KiB MiB GiB TiB PiB
- Added function bytes_display_string_dec() to convert bytes to human decimal KB \ 
MB GB TB PB (1000 base)

2.151
- Bugfix. load average on macosx was sometimes buggy. locale float 3,14 instead \ 
of 3.14

2.150
- Refactor. Deglobalized warn_release variable

2.149
- Removed --fast option.

2.148
- Bugfix. abort didn't do charset=UTF-8; same for heavy load 503 Service Unavailable

2.147
- Bugfix. The maximum number a pid can be is 2^22, not 2^32.

2.146
- 1742 unit tests.

2.145
- Bugfix. Up the maximum number a pid can be. From 99999 to 2^32. See \ 
https://unix.stackexchange.com/questions/16883/what-is-the-maximum-value-of-the-process-id

2.144
- Just an experimental loaddelay forced to 0.

2.143
- Bugfix. Under docker context --version was buggy, too verbose.

2.142
- Removed that hard limit --maxsize 35_651_584 set by --gmail2 since CAPABILITY \ 
is used and good.

2.141
- cpu_time param
   2022-06-28 13:38:00 by Thomas Klausner | Files touched by this commit (3952)
Log message:
*: recursive bump for perl 5.36
   2021-12-30 11:06:22 by Patrick Welche | Files touched by this commit (3)
Log message:
Update imapsync to 2.140

Seven years of development, including adding OAUTH2 support.

(Note on numbering: went from 1.999 to 2.100 to avoid 4 digit minor. The
2 isn't "meaningful" in a major number sense.)
   2021-10-26 12:54:34 by Nia Alarie | Files touched by this commit (356)
Log message:
mail: Replace RMD160 checksums with BLAKE2s checksums

All checksums have been double-checked against existing RMD160 and
SHA512 hashes

The following distfiles were unfetchable (possibly fetched
conditionally?):

./mail/qmail/distinfo netqmail-1.05-TAI-leapsecs.patch
   2021-10-07 16:25:52 by Nia Alarie | Files touched by this commit (357)
Log message:
mail: Remove SHA1 hashes for distfiles
   2021-05-24 21:56:06 by Thomas Klausner | Files touched by this commit (3575)
Log message:
*: recursive bump for perl 5.34