forked from imapsync/imapsync
-
Notifications
You must be signed in to change notification settings - Fork 0
/
ChangeLog
4569 lines (4552 loc) · 192 KB
/
ChangeLog
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
RCS file: RCS/imapsync,v
Working file: imapsync
head: 1.977
branch:
locks: strict
gilles: 1.977
access list:
symbolic names:
keyword substitution: kv
total revisions: 977; selected revisions: 977
description:
----------------------------
revision 1.977 locked by: gilles;
date: 2019/12/23 20:18:02; author: gilles; state: Exp; lines: +10 -10
No tests_resolv( ) since resolv is not really used and tests_resolv( ) fails on mac (I do not have write to /etc/hosts)
----------------------------
revision 1.976
date: 2019/12/19 15:37:33; author: gilles; state: Exp; lines: +16 -12
Moved tests tests_probe_imapssl tests_mailimapclient_connect tests_resolv at the end.
----------------------------
revision 1.975
date: 2019/12/19 10:44:23; author: gilles; state: Exp; lines: +21 -13
Commented the tests_kill* tests
Added a resolv petiteipv6.lamiral.info before check it (frequent failure)
----------------------------
revision 1.974
date: 2019/12/16 13:01:18; author: gilles; state: Exp; lines: +18 -9
Enhancement, internal. Use Debug_fh to set where go the --debugimap outputs.
----------------------------
revision 1.973
date: 2019/12/15 00:27:10; author: gilles; state: Exp; lines: +8 -8
Bugfix. Upgraded ks2 Dovecot and now logout in ssl does not cause failure
----------------------------
revision 1.972
date: 2019/12/14 23:45:12; author: gilles; state: Exp; lines: +9 -9
Added -utf8 when requiring CGI. Hope it will allow utf8 characters in passwords.
----------------------------
revision 1.971
date: 2019/12/14 23:41:41; author: gilles; state: Exp; lines: +8 -8
Bugfix. CGI context. charset was charset=ISO-8859-1 in header (CGI.pm default). Now "text/plain; charset=UTF-8"
----------------------------
revision 1.970
date: 2019/12/09 23:09:05; author: gilles; state: Exp; lines: +297 -259
Reread README part.
Change tests. ks2ipv6.lamiral.info replaced by petiteipv6.lamiral.info
1510 unit tests
----------------------------
revision 1.969
date: 2019/11/29 13:00:32; author: gilles; state: Exp; lines: +9 -9
1509 unit tests
----------------------------
revision 1.968
date: 2019/11/29 12:42:13; author: gilles; state: Exp; lines: +29 -19
Bugfix. binmode UTF-8 for log and output.
----------------------------
revision 1.967
date: 2019/11/27 20:41:34; author: gilles; state: Exp; lines: +9 -9
Bugfix. Bad tests count under docker
----------------------------
revision 1.966
date: 2019/11/27 20:23:08; author: gilles; state: Exp; lines: +10 -9
Commented test probe_imapssl: ks2ipv6.lamiral.info
----------------------------
revision 1.965
date: 2019/11/27 20:16:32; author: gilles; state: Exp; lines: +13 -11
Removed some tests that take time and sometimes fail (ipv6 related)
----------------------------
revision 1.964
date: 2019/11/27 15:50:39; author: gilles; state: Exp; lines: +52 -27
CGI context. Adaptation to a local http server webserver. pidfile and cgidir.
Added Encode Encode::IMAPUTF7 and MIME::Base64 modules versions.
Removed doublon "use MIME::Base64".
Bugfix. Make --tests pass on docker context and under root.
----------------------------
revision 1.963
date: 2019/11/25 12:38:44; author: gilles; state: Exp; lines: +52 -18
Skip tests under Win Win64 and Mac that fail. ipv6 related or fork ones.
----------------------------
revision 1.962
date: 2019/11/22 09:51:29; author: gilles; state: Exp; lines: +19 -9
Added dependencies:
* MIME::Base64
* Encode
Added test for Encode::find_encoding that fails with the binaries not cmpiled with perl -x
----------------------------
revision 1.961
date: 2019/11/19 19:45:02; author: gilles; state: Exp; lines: +117 -47
Added module dependency to Encode::IMAPUTF7
Bugfix. Folders names with + characters must stay as they are.
Bugfix. When using --subfolder2 SUB --delete2folders, do not delete the folder SUB.
----------------------------
revision 1.960
date: 2019/10/31 23:08:18; author: gilles; state: Exp; lines: +54 -7
Added test to remove header bad.
----------------------------
revision 1.959
date: 2019/10/07 21:21:45; author: gilles; state: Exp; lines: +318 -92
Added tests:
tests_kill_zero()
tests_killpid_by_parent()
tests_killpid_by_brother()
tests_abort()
cgidir is . when used by Net::Server::HTTP
Bugfix. Added SSL_cipher_list => 'DEFAULT:!DH' to tests with ssl
Bugfix. PIDs can be negative under Windows.
Bugfix. --resynclabels was not on with --gmail1 --gmail2
1502 unit tests under Unix
----------------------------
revision 1.958
date: 2019/09/11 21:16:40; author: gilles; state: Exp; lines: +40 -37
cgi context is now set on with env variables SERVER_SOFTWARE and SERVER_PORT
it is because Net::Server::HTTP does not set SERVER_SOFTWARE but SERVER_PORT
It is a preparation to a homemade web server to serve on imapsync as a cgi and
get free from Apache or a complicated web server stuff configuration.
----------------------------
revision 1.957
date: 2019/08/29 17:40:13; author: gilles; state: Exp; lines: +34 -25
Bugfix. Do not compute a folder size if the folder does not exist. Happened with --skipemptyfolders
----------------------------
revision 1.956
date: 2019/08/02 20:18:52; author: gilles; state: Exp; lines: +118 -55
Bugfix. Reviewed all exit_clean to include a final CR on the error message.
Bugfix. New foldersize tried to select non existent folder that caused a premature exit
when host2 account is mostly empty.
Bugfix. --justconnect did not show the line "IP address:"
----------------------------
revision 1.955
date: 2019/07/31 20:30:27; author: gilles; state: Exp; lines: +69 -36
Bugfix in docker context. killing myself in docker context doesn't seem to work well, as well as sending signals several times.
So just install catch_exit with INT (ctr-c on terminals) and exits if still alive after killing myself.
----------------------------
revision 1.954
date: 2019/07/29 18:04:07; author: gilles; state: Exp; lines: +19 -14
Bufix. In docker context, print "context detected" only with --debug. imapsync --version printed the release on the third line instead of the first.
----------------------------
revision 1.953
date: 2019/07/29 05:12:18; author: gilles; state: Exp; lines: +9 -9
Bugfix. tests_imapsync_context under Docker bugfix.
----------------------------
revision 1.952
date: 2019/07/29 04:52:52; author: gilles; state: Exp; lines: +8 -8
1477 regression tests
----------------------------
revision 1.951
date: 2019/07/29 04:40:48; author: gilles; state: Exp; lines: +66 -9
Added context in --releasecheck user_agent. CGI or Docker or Standard.
----------------------------
revision 1.950
date: 2019/07/28 02:24:17; author: gilles; state: Exp; lines: +604 -189
Folders sizes are now presented per folder from host1 and host2 as well as the differrences between them.
----------------------------
revision 1.949
date: 2019/07/18 03:44:00; author: gilles; state: Exp; lines: +59 -32
Refactor. timenext() deglobalized.
Added tests_timenext().
----------------------------
revision 1.948
date: 2019/07/17 16:51:50; author: gilles; state: Exp; lines: +153 -128
Refactor. Moved main instructions into sub single_sync(). Goal is to prepare multiple different syncs.
----------------------------
revision 1.947
date: 2019/07/15 01:10:05; author: gilles; state: Exp; lines: +119 -45
Bugfix. Count all fatal errors.
----------------------------
revision 1.946
date: 2019/07/09 18:01:42; author: gilles; state: Exp; lines: +136 -48
Usability. Added the number of errors and the max number of errors allowed at the final line "Exiting with return value xx"
Deglobalized $foldersizes to $sync->{ foldersizes }
Usability. Added ETA at the beginning of a folder process.
1467 regression tests
----------------------------
revision 1.945
date: 2019/06/26 19:30:56; author: gilles; state: Exp; lines: +151 -94
Proofread the documentation part, what will go to README.
The pod at the beginning.
----------------------------
revision 1.944
date: 2019/06/25 16:44:08; author: gilles; state: Exp; lines: +8 -8
Bugfix. Readonly syntax. "Readonly my %EXIT_TXT => ("
----------------------------
revision 1.943
date: 2019/06/25 08:34:51; author: gilles; state: Exp; lines: +47 -30
Usability. Added the error message text after "Exiting with return value xx". Example: Exiting with return value 16 (EXIT_AUTHENTICATION_FAILURE)
Usability. Added what function is called when installing a signal. Example: "kill -QUIT 19839 # special behavior: call to sub catch_exit"
----------------------------
revision 1.942
date: 2019/06/24 20:43:43; author: gilles; state: Exp; lines: +51 -37
Bugfix. USR1 signal for toggle_sleep call was never installed.
Usability. Now --justfolders will activate --foldersizesatend
Enhancement. Added PROCESS_ID when "Tail -f finished."
Bugfix. The number of messages deleted was not accurate at all.
Usability. masked the warning "no header by parse_headers so taking whole header with BODY.PEEK[HEADER]" to --debug mode.
Usability. Moved the warning "no header found so adding our own" to --debug mode.
Tests. Added ETA simulation with --simulong (for the progress info on /X)
Bugfix. Change the longest line in --exchange2 and --office from 10500 to 10239. (\n inserted for those long lines)
Enhancement. --maxage and --minage can take float as value in order to filter with less than a day. (Need --noabletosearch also).
----------------------------
revision 1.941
date: 2019/06/04 22:55:24; author: gilles; state: Exp; lines: +54 -19
Usability. Now "imapsync --host1 ks" or "imapsync --host2" is ok and do like a --justconnect on servers. Useful to cjeck rapidely a imap server.
----------------------------
revision 1.940
date: 2019/06/04 06:29:31; author: gilles; state: Exp; lines: +14 -9
Added 'junk', 'Junk E-Mail', 'Junk Email' as possible_special of \Junk
Added 'Deleted Messages' as possible_special of \Trash
----------------------------
revision 1.939
date: 2019/05/27 21:58:33; author: gilles; state: Exp; lines: +10 -9
Back to a test Mail::IMAPClient 3.40 failed but Mail::IMAPClient 3.42 succeed.
----------------------------
revision 1.938
date: 2019/05/27 18:45:06; author: gilles; state: Exp; lines: +111 -33
CGI context. --addheader is on by default.
Added option --appendlimit xxxx in order to override the value got by APPENDLIMIT in CAPABILITY.
Added option --truncmess to allow transfer of too big messages. When you think it's better to have a truncated message than no message at all.
1453 regression tests.
----------------------------
revision 1.937
date: 2019/05/01 22:14:00; author: gilles; state: Exp; lines: +328 -326
CGI context. Only Message-Id to identify messages, instead of Message-Id Received.
Fixed perl critic about blanks.
Fixed tests comments
----------------------------
revision 1.936
date: 2019/04/29 05:26:19; author: gilles; state: Exp; lines: +26 -23
Bugfix. Do not tail when abort.
Usability. --testslive values can be overwritten like --testslive --user1 empty
Same thing for --testslive6
----------------------------
revision 1.935
date: 2019/04/28 02:10:24; author: gilles; state: Exp; lines: +293 -44
Added File::Tail dependency.
Added --tail option. Will do like a tail -f on the logfile of another imapsync with the same pidfile.
Good in CGI context. Maybe...
We'll see. It was one of my first whishes for cgi behaviour
1441 unit tests.
----------------------------
revision 1.934
date: 2019/04/26 08:23:24; author: gilles; state: Exp; lines: +134 -52
Added following options available in cgi context:
--subfolder1
--subfolder2
--justfolders
--justfoldersizes
--delete1
--delete2
CGI context. Added the equivalent command line parameters like:
Command line used, run by /usr/bin/perl:
/usr/lib/cgi-bin/imapsync --host1 test1.lamiral.info
Usability. Turns off --automap when --subfolder1 or --subfolder2 is used.
----------------------------
revision 1.933
date: 2019/04/23 11:42:42; author: gilles; state: Exp; lines: +47 -98
CGI context. Added default like --maxsize 1_000_000_000 (Out of memory prevention?)
Usability. maxsize is the minimum of --maxsize and APPENDLIMIT=xxx or each one if the other no exists.
----------------------------
revision 1.932
date: 2019/04/13 22:09:04; author: gilles; state: Exp; lines: +93 -24
Added --sanitize to remove egding blanks on host1 user1 password1 etc.
--sanitize on by default. Use --noanitize to avoid it
----------------------------
revision 1.931
date: 2019/04/13 16:10:24; author: gilles; state: Exp; lines: +109 -22
Added test tests_check_binary_embed_all_dyn_libs to detect non embedded dynamic libraries in binaries Darwin and Win32
----------------------------
revision 1.930
date: 2019/04/11 22:32:38; author: gilles; state: Exp; lines: +467 -211
All exits are now done with a specific return code related to the error causing the exit.
Removed sub die_clean()
die_clean() calls replaced by exit_clean() calls
----------------------------
revision 1.929
date: 2019/04/08 09:14:13; author: gilles; state: Exp; lines: +425 -300
Bug fix. With --gmail1 or --gmail2 do not sync [Gmail]/All Mail if it is not requested.
Bug fix. When asked to terminate by a signal, kill myself by the signal instead of an exit call.
Applied Martin Cracauer's advice on https://www.cons.org/cracauer/sigint.html
"Proper handling of SIGINT/SIGQUIT"
I hope it fixes the not always working double-ctrl-c to end the sync.
See bug report https://github.com/imapsync/imapsync/issues/142
----------------------------
revision 1.928
date: 2019/03/28 11:12:44; author: gilles; state: Exp; lines: +648 -317
Added --subfolder1 Foo/Bar option in order to restore a backup made with --subfolder2 Foo/Bar
--folderrec Foo/Bar is imply by --subfolder1 Foo/Bar because it's the most common purpose.
Deglobalized $debug @regextrans2 $sep1 $sep2 $fixslash2
Added --resynclabels to resync the Gmail labels X-GM-LABELS
Bugfix. --synclabels now create sublabels with --subfolder2
Bugfix. --subfolder2 Pf2/Sub2 and --subfolder2 Sub2 perform the same when Pf2 is the --prefix2
1336 non-regression tests
----------------------------
revision 1.927
date: 2019/03/22 14:45:55; author: gilles; state: Exp; lines: +9 -8
Active --resynclabels when --gmail1 --gmail2
----------------------------
revision 1.926
date: 2019/03/22 14:06:38; author: gilles; state: Exp; lines: +283 -88
Call abort() before simulong() to be able to abort a long simulong.
Bugfix. --synclabels --subfolder2 create sublabels only and not a mixture.
Enhancement. Added --resynclabels
1286 non-regression tests
----------------------------
revision 1.925
date: 2019/03/03 12:25:02; author: gilles; state: Exp; lines: +8 -8
1268 tests
----------------------------
revision 1.924
date: 2019/03/03 12:22:37; author: gilles; state: Exp; lines: +50 -27
Tolerate more load. Double the threshold. accept load at 2 per core instead of 1 per core
----------------------------
revision 1.923
date: 2019/03/03 12:00:05; author: gilles; state: Exp; lines: +29 -20
Moved cgiload( $sync ) in order to log exites on heavy load
----------------------------
revision 1.922
date: 2019/02/26 13:03:58; author: gilles; state: Exp; lines: +43 -35
Fixed tests to pass under the docker image
----------------------------
revision 1.921
date: 2019/02/18 10:21:03; author: gilles; state: Exp; lines: +10 -8
Bugfix. Errors of APPEND were not counted as missing messages on host2!
----------------------------
revision 1.920
date: 2019/02/09 15:45:31; author: gilles; state: Exp; lines: +37 -33
Better "Extra arguments found" error message, added "or some misspelling options"
----------------------------
revision 1.919
date: 2019/02/09 14:20:41; author: gilles; state: Exp; lines: +74 -32
Added authmech X-MASTERAUTH. To be used for Kerio with --authmech1 X-MASTERAUTH or --authmech2 X-MASTERAUTH
Patch from https://github.com/imapsync/imapsync/pull/53/files
----------------------------
revision 1.918
date: 2019/02/07 12:16:28; author: gilles; state: Exp; lines: +79 -44
Fixed test since macosx.polarhome.com can not do ipv6 these days.
Allow --tests --testslive for cover analyse
----------------------------
revision 1.917
date: 2019/02/06 12:13:44; author: gilles; state: Exp; lines: +279 -110
Added --addheader description in the README part.
Bugfix --debugssl 0 was impossible and equivalent to --debugssl 1
Deglobalized $justfolders now $sync->{ justfolders }
Deglobalized %h2_folders_of_md5 it's now $sync->{ h2_folders_of_md5 }
Bugfix. Now split the deletion of messages in several chunks (--split)
Added stat "Messages found in host1 not in host2"
Added stat "Messages found in host2 not in host1"
Removed stat "Total bytes duplicate hostX"
Removed stat "Total bytes error"
Added stat "Load end is"
Added comments on final stat about messages in 1 not in 2
Added comments on final stat about messages in 2 not in 1
Added comment on final stat about unidentified messages
1264 unit tests.
----------------------------
revision 1.916
date: 2019/01/05 14:45:10; author: gilles; state: Exp; lines: +550 -470
Added missing "Entering tests_..." and "Leaving tests_..." in tests_* subroutines.
Some perlcritic fixes.
----------------------------
revision 1.915
date: 2019/01/04 12:39:56; author: gilles; state: Exp; lines: +12 -15
Remove the unit test $imap->new() $imap->connect() because IO::Socket::IP kills us on this.
----------------------------
revision 1.914
date: 2019/01/03 04:38:10; author: gilles; state: Exp; lines: +10 -10
unit test revised for match_a_pid_number()
----------------------------
revision 1.913
date: 2019/01/03 04:31:11; author: gilles; state: Exp; lines: +9 -8
A pid can be up to 99999 on FreeBSD
----------------------------
revision 1.912
date: 2019/01/03 04:18:54; author: gilles; state: Exp; lines: +14 -14
Added prints in sub remove_pidfile_not_running() in order to debug bad behavior on freeBSD
----------------------------
revision 1.911
date: 2019/01/03 02:52:43; author: gilles; state: Exp; lines: +29 -11
Added --sigprint HUP in order to allow some asynchronous prints in CGI mode and avoid timeouts from browser
----------------------------
revision 1.910
date: 2018/12/25 18:20:48; author: gilles; state: Exp; lines: +77 -38
Added --addheader suggestion at the final stats.
Added a counter of crossduplicates on host2, presented on final stats.
----------------------------
revision 1.909
date: 2018/12/09 21:23:54; author: gilles; state: Exp; lines: +8 -8
Typo. loose lose
----------------------------
revision 1.908
date: 2018/11/20 13:22:07; author: gilles; state: Exp; lines: +80 -39
Played with IO::Prompt and IO::Prompter to remove <STDIN> perl critic. Failed...
Deglobalized $passfile1 and $passfile2
----------------------------
revision 1.907
date: 2018/11/16 10:08:11; author: gilles; state: Exp; lines: +142 -135
Localized %SIG
Fixed Host1 Host2 prints to be more homogene
----------------------------
revision 1.906
date: 2018/11/08 18:37:18; author: gilles; state: Exp; lines: +120 -47
Added tests_operators_and_exclam_precedence()
Added tests_teelaunch()
Added tests_logfileprepa()
----------------------------
revision 1.905
date: 2018/10/22 17:28:02; author: gilles; state: Exp; lines: +10 -9
Added IO::Socket::IP in the list of modules versions.
----------------------------
revision 1.904
date: 2018/10/19 11:57:24; author: gilles; state: Exp; lines: +157 -59
1238 unit tests
Refactored appendlimit() to use Mail::IMAPClient::capability like the API. No hack from internal $imap->{ APPENDLIMIT }
With --office1 option, folder "Files" is excluded because it's a "special" folder. Like --exclude "^Files$". Unless --noexclude is used.
With --office2 option, folder "Files" on host1 is renamed like --f1f2 "Files=Files_renamed_by_imapsync". Unless --nof1f2 is used.
----------------------------
revision 1.903
date: 2018/10/06 09:16:57; author: gilles; state: Exp; lines: +9 -9
--noskipcrossduplicates with --gmail12
----------------------------
revision 1.902
date: 2018/10/05 19:50:23; author: gilles; state: Exp; lines: +12 -10
Added --folderlast '[Gmail]/All Mail' within --gmail12
----------------------------
revision 1.901
date: 2018/10/03 23:49:51; author: gilles; state: Exp; lines: +815 -412
Removed --maxsize 25_000_000 from --gmail2 because now it's get from APPENDLIMIT in CAPABILITY (and it is currently 35651584, greater than 25_000_000)
Moved opening { in all sub to next line.
----------------------------
revision 1.900
date: 2018/10/03 23:17:11; author: gilles; state: Exp; lines: +16 -16
Deglobalized $maxsize
----------------------------
revision 1.899
date: 2018/10/03 22:50:23; author: gilles; state: Exp; lines: +332 -14
Added automatic --maxsize from CAPABILITY APPENDLIMIT=xxxx (Gmail)
----------------------------
revision 1.898
date: 2018/09/28 14:12:21; author: gilles; state: Exp; lines: +89 -29
Added --maxsize 35_651_584 with --gmail2
(Should me replaced by automatic APPEND_LIMIT in CAPABILITY). Soon.
Added --exclude '^Files$' with --office2
----------------------------
revision 1.897
date: 2018/09/19 14:54:26; author: gilles; state: Exp; lines: +96 -74
Deglobalized $delete1, $delete2, $delete2duplicates, $expunge2, $uidexpunge2
Started sub tests_uidexpunge_or_expunge() sub uidexpunge_or_expunge()
----------------------------
revision 1.896
date: 2018/09/19 11:51:17; author: gilles; state: Exp; lines: +81 -60
Deletions on host1 are done by batch during a resync.
----------------------------
revision 1.895
date: 2018/09/13 17:38:53; author: gilles; state: Exp; lines: +97 -87
Refactor. Deglobarized variable
* $exitwhenover,
* $total_bytes_skipped
* $nb_msg_skipped
----------------------------
revision 1.894
date: 2018/09/11 13:59:54; author: gilles; state: Exp; lines: +19 -14
Commented test for @regexflag = ( 's/\\Flagged/X/g' ) since \F is new and was a bug anyway.
----------------------------
revision 1.893
date: 2018/09/11 09:09:34; author: gilles; state: Exp; lines: +89 -75
Bugfix. --exchange1 and --exchange2 were not options! No one complained...
Added inline explanations for --office1 --office2 --exchange1 --exchange2 (what they set and how to unset)
Added --noregexmess to avoid the regexmess setting with --office2 and --exchange2 (wrap long lines >= 10500 char)
Added --noregexflag to avoid the regexflag set by exchange2 (remove \Flagged flag)
Bugfix. The regex to remove flag \Flagged was wrong. It worked because of another filter run after...
----------------------------
revision 1.892
date: 2018/09/04 04:04:34; author: gilles; state: Exp; lines: +9 -9
--skipcrossduplicates activated with --gmail1 --gmail2
----------------------------
revision 1.891
date: 2018/09/04 03:28:09; author: gilles; state: Exp; lines: +175 -123
Enhancement. Added option --synclabels to sync Gmail labels. It should speed up Gmail to Gmail syncs.
--synclabels applies only during a copy of a message for now. resyncing labels will be coded later.
----------------------------
revision 1.890
date: 2018/09/01 21:45:41; author: gilles; state: Exp; lines: +117 -114
Refactoring. Replaced $imap1 and $imap2 by $sync->{imap1} and $sync->{imap2}
----------------------------
revision 1.889
date: 2018/08/31 01:02:06; author: gilles; state: Exp; lines: +19 -7
Applied https://github.com/imapsync/imapsync/issues/95
Thanks jh1995!
----------------------------
revision 1.888
date: 2018/08/29 11:02:59; author: gilles; state: Exp; lines: +9 -9
Gives CGI.pm release.
Calls memory_consumption_of_pids_win32() with Cygwin (https://github.com/imapsync/imapsync/pull/22)
----------------------------
revision 1.887
date: 2018/08/23 19:10:44; author: gilles; state: Exp; lines: +11 -10
--maxsleep override $MAX_SLEEP in gmail*() subroutines.
Default $sync->{ sigignore } to empty list.
----------------------------
revision 1.886
date: 2018/08/06 15:02:51; author: gilles; state: Exp; lines: +28 -11
Added mygetppid because getppid is not available on Windows.
Removed --nosubscribed since it is not coded and useless anyway.
----------------------------
revision 1.885
date: 2018/07/07 04:14:26; author: gilles; state: Exp; lines: +8 -8
Sheband uses env now. Fed up to change freebsd /usr/local/bin/perl
----------------------------
revision 1.884
date: 2018/07/07 03:40:54; author: gilles; state: Exp; lines: +18 -15
Added PPID info where PID is printed.
----------------------------
revision 1.883
date: 2018/07/03 03:55:03; author: gilles; state: Exp; lines: +32 -8
Added freebsd support for loadavg and cpu_cores
----------------------------
revision 1.882
date: 2018/05/05 21:10:43; author: gilles; state: Exp; lines: +8 -8
typo
----------------------------
revision 1.881
date: 2018/05/05 20:43:36; author: gilles; state: Exp; lines: +96 -61
proofread the doc part. ispell on README.
----------------------------
revision 1.880
date: 2018/05/05 12:44:21; author: gilles; state: Exp; lines: +26 -21
Splitted sub usage() with call to sub mypod2usage(). Crit level 4 on open/close not far away.
----------------------------
revision 1.879
date: 2018/04/20 13:02:13; author: gilles; state: Exp; lines: +20 -13
Back to `` because of backtick() does not work always on Darwin
----------------------------
revision 1.878
date: 2018/04/19 00:51:45; author: gilles; state: Exp; lines: +76 -40
Perlcrit. Removed the select in teelaunch()
Perlcrit. *STDERR change is now localized.
Perlcrit. Hard 'LOG_imapsync' is now $DEFAULT_LOGDIR
Proxy mode. Log file will be named with a suffix "_remote.txt"
Refactor. sub logfile() is deglobalized. (removed $debug lines)
----------------------------
revision 1.877
date: 2018/04/18 22:00:46; author: gilles; state: Exp; lines: +31 -13
Changed sub myprint and sub myprintf in order to suppress the select in teelaunch
----------------------------
revision 1.876
date: 2018/04/18 03:02:32; author: gilles; state: Exp; lines: +20 -17
Bugfix. ARRAY ref not defined with --subscribed
----------------------------
revision 1.875
date: 2018/04/18 02:27:18; author: gilles; state: Exp; lines: +32 -25
Refactor. $tmpdir unglobalized
Win32. No USR1 on Windows so skip signals tests on Win32
----------------------------
revision 1.874
date: 2018/04/18 00:46:46; author: gilles; state: Exp; lines: +53 -40
Perlcrit. Use IPC::Open3::open3 instead of backticks ``
----------------------------
revision 1.873
date: 2018/04/17 00:24:54; author: gilles; state: Exp; lines: +9 -9
Added SERVER_SOFTWARE
Added SERVER_PORT
----------------------------
revision 1.872
date: 2018/04/16 23:10:03; author: gilles; state: Exp; lines: +17 -11
Bugfix to pass --tests under root user.
----------------------------
revision 1.871
date: 2018/04/13 18:00:06; author: gilles; state: Exp; lines: +71 -12
Added toggle sleep from 2s to 0s with signal USR1
----------------------------
revision 1.870
date: 2018/04/08 17:25:54; author: gilles; state: Exp; lines: +46 -46
Changed [email protected] => [email protected]
----------------------------
revision 1.869
date: 2018/04/08 17:21:15; author: gilles; state: Exp; lines: +29 -30
https://imapsync.lamiral.info/ instead of http://imapsync.lamiral.info/ in ID support-url
Removed uname info from banner, adder ram info.
Change utf8 char ° to nb in tests summary
----------------------------
revision 1.868
date: 2018/04/03 01:55:24; author: gilles; state: Exp; lines: +13 -12
Renamed total_ram_memory() => ram_memory_info()
----------------------------
revision 1.867
date: 2018/04/03 00:35:58; author: gilles; state: Exp; lines: +21 -18
Refactor. sub under_cgi_context() uses $mysync.
----------------------------
revision 1.866
date: 2018/03/29 04:58:11; author: gilles; state: Exp; lines: +10 -9
Changed inline signal message
----------------------------
revision 1.865
date: 2018/03/29 04:50:26; author: gilles; state: Exp; lines: +98 -86
Moved the inline help "I am asked to stop immediately" after the final stats.
Tidied up sub myGetOptions()
----------------------------
revision 1.864
date: 2018/03/28 21:33:28; author: gilles; state: Exp; lines: +12 -18
Before tidy up sub myGetOptions
----------------------------
revision 1.863
date: 2018/03/28 16:57:22; author: gilles; state: Exp; lines: +10 -8
Added inline advice to resync after an end commanded by a TERM or QUIT signal.
----------------------------
revision 1.862
date: 2018/03/28 14:48:37; author: gilles; state: Exp; lines: +21 -20
Reduced the loadavg ingo in the header status in CGI context.
Added the hostname in in the header status in CGI context.
----------------------------
revision 1.861
date: 2018/03/27 03:04:03; author: gilles; state: Exp; lines: +41 -48
Refactor. Use of debugmemory()
Moved the hostname printing at first line. The goal is for clarity when in proxy mode.
Added free RAM info in the banner
Added free RAM and total RAM in the status in CGI context.
----------------------------
revision 1.860
date: 2018/03/26 21:14:01; author: gilles; state: Exp; lines: +97 -67
Reviewed tests_get_options_cgi(), renamed to tests_get_options_cgi_context()
Reviewed tests_get_options
----------------------------
revision 1.859
date: 2018/03/22 12:55:34; author: gilles; state: Exp; lines: +13 -8
Bugfix. Predeclare $sync->{folder} as ARRAY ref. $sync->{folder} = [] ;
----------------------------
revision 1.858
date: 2018/03/21 07:53:26; author: gilles; state: Exp; lines: +14 -11
Refactoring. Deglobalized $justconnect
----------------------------
revision 1.857
date: 2018/03/21 07:40:12; author: gilles; state: Exp; lines: +80 -31
Refactor. Changed how --f1f2 is handled. Was a hash, now a list.
----------------------------
revision 1.856
date: 2018/03/20 02:24:52; author: gilles; state: Exp; lines: +31 -19
Refactoring. Deglobalized @folder
----------------------------
revision 1.855
date: 2018/03/19 14:15:53; author: gilles; state: Exp; lines: +18 -21
Refactoring. Deglobalized $addheader
Refactoring. Deglobalized $justlogin
----------------------------
revision 1.854
date: 2018/03/19 13:45:31; author: gilles; state: Exp; lines: +32 -25
Unglobalized $version
Unglobalized $releasecheck
Added sub debugmemory()
----------------------------
revision 1.853
date: 2018/03/12 13:43:11; author: gilles; state: Exp; lines: +9 -9
Back to default signals. INT => reconnect. TERM or QUIT => stats and exit. (cgicontext ignored TERM)
----------------------------
revision 1.852
date: 2018/03/12 03:11:04; author: gilles; state: Exp; lines: +132 -29
Added --sigexit; For example --sigexit QUIT --sigexit TERM to exit when receiving QUIT or TERM signals.
Added --sigreconnect. For example --sigreconnect INT to reconnect to both imap servers when receiving INT signal.
Added --sigignore. For example --sigignore TERM to "ignore" the TERM signal. In fact print stats during the sync.
Default is like: --sigexit QUIT --sigexit TERM --sigreconnect INT
Added sub sig_install() to install any behavior with any signal (the ones actually received in Unix).
Number of tests with --tests is 1137
----------------------------
revision 1.851
date: 2018/03/04 15:19:04; author: gilles; state: Exp; lines: +10 -10
Inline help. Clarified --errorsmax inline help.
----------------------------
revision 1.850
date: 2018/02/21 04:15:32; author: gilles; state: Exp; lines: +66 -41
Option --abort now creates a log too, in order to see if imapsync ends by signal come from --abort or something else.
----------------------------
revision 1.849
date: 2018/02/18 18:45:36; author: gilles; state: Exp; lines: +14 -10
Added \t\r\n characters replaced by _ in sub filter_forbidden_characters()
----------------------------
revision 1.848
date: 2018/02/07 00:58:59; author: gilles; state: Exp; lines: +50 -28
Cleaned up --releasecheck stuff.
Clarified SSL_VERIFY_NONE default.
----------------------------
revision 1.847
date: 2017/12/18 11:04:26; author: gilles; state: Exp; lines: +56 -33
Bugfix. Fixed sub epoch() to allow that kind of silly INTERNALDATE 00-Jan-0000 00:00:00 +0000
(Thanks to IBM Domino...)
Added inline documentation about --releasecheck and --noreleasecheck
Default upstream is still --releasecheck. Just a line to change to have --noreleasecheck by default (as before)
Bugfix. --releasecheck on was hardcoded in cgi context. Now it depends on the default behavior chosen.
Bug pending. Still have to fix --releasecheck on with --help
----------------------------
revision 1.846
date: 2017/11/30 02:00:12; author: gilles; state: Exp; lines: +34 -12
Added sub memory_stress
Added sub tests_memory_stress
memory_stress() crunch 3/4 of the RAM.
tests_memory_stress() is the associated test.
----------------------------
revision 1.845
date: 2017/11/28 23:36:43; author: gilles; state: Exp; lines: +51 -29
Added --noresyncflags : Do not resync flags for already transfered messages.
May be useful when a user has already started to play with its host2 account.
----------------------------
revision 1.844
date: 2017/11/16 14:38:38; author: gilles; state: Exp; lines: +107 -43
Crit. Removed 4 "Warnings disabled". crit level 4
----------------------------
revision 1.843
date: 2017/11/05 22:23:57; author: gilles; state: Exp; lines: +38 -30
Added --nocheckfoldersexist ( Default is like --checkfoldersexist )
----------------------------
revision 1.842
date: 2017/10/30 18:47:37; author: gilles; state: Exp; lines: +246 -115
Refactoring. Removed global variables $h1_prefix and $h2_prefix
Bugfix. cpu_number() returns always an integer >= 1.
----------------------------
revision 1.841
date: 2017/10/27 12:37:39; author: gilles; state: Exp; lines: +55 -41
Detect extra arguments. Meaning usually a quoting issue in the command line, options not well parsed.
----------------------------
revision 1.840
date: 2017/10/22 14:28:00; author: gilles; state: Exp; lines: +9 -9
No limitssssss
----------------------------
revision 1.839
date: 2017/10/04 17:50:29; author: gilles; state: Exp; lines: +132 -39
In case the pidfile already exists, remove it if no process match its content.
Do nothing if the pidfile doesn't content a pid number 0<pid<65536
----------------------------
revision 1.838
date: 2017/09/22 08:12:49; author: gilles; state: Exp; lines: +28 -12
Added Polska to possible_special (not for all).
Started sub tests_write_pidfile()
----------------------------
revision 1.837
date: 2017/09/20 20:14:14; author: gilles; state: Exp; lines: +42 -19
Usability. More verbose with ssl probing.
----------------------------
revision 1.836
date: 2017/09/05 16:14:53; author: gilles; state: Exp; lines: +189 -182
Reread the README part. Changed order, rewrote some parts, added options.
----------------------------
revision 1.835
date: 2017/09/03 04:11:31; author: gilles; state: Exp; lines: +53 -92
Reviewed the pod part that goes to README
----------------------------
revision 1.834
date: 2017/08/31 04:14:04; author: gilles; state: Exp; lines: +18 -15
Some crit level 4 fixed.
----------------------------
revision 1.833
date: 2017/08/31 01:58:57; author: gilles; state: Exp; lines: +9 -305
Removed sub usage_old()
----------------------------
revision 1.832
date: 2017/08/31 01:47:48; author: gilles; state: Exp; lines: +285 -127
Rewrote sub usage() and use Pod::Usage now.
Dependency added: Pod::Usage
ID on by default now. Use --noid to avoid it.
Splited sub tests_mailimapclient_connect() to put pure ipv6 test in sub tests_mailimapclient_connect_bug() which is not
run with --tests
Added some warning in --testsunit when sub called do not exist.
----------------------------
revision 1.831
date: 2017/08/27 01:52:48; author: gilles; state: Exp; lines: +17 -14
Updated from OPTIONS file
----------------------------
revision 1.830
date: 2017/08/27 01:27:49; author: gilles; state: Exp; lines: +35 -35
Inline help to remove sslcheck
----------------------------
revision 1.829
date: 2017/08/23 12:40:10; author: gilles; state: Exp; lines: +14 -12
Bugfix. Fixed guess \ separator.
----------------------------
revision 1.828
date: 2017/08/22 22:06:27; author: gilles; state: Exp; lines: +10 -10
Syntax fix
----------------------------
revision 1.827
date: 2017/08/22 22:04:38; author: gilles; state: Exp; lines: +12 -12
Increased gmail1 maxbytespersecond to 40_000
Increased gmail2 maxbytespersecond to 20_000
----------------------------
revision 1.826
date: 2017/08/22 21:55:26; author: gilles; state: Exp; lines: +13 -11
Added \ separator guess. List is now . / \\ and \
----------------------------
revision 1.825
date: 2017/07/26 19:05:56; author: gilles; state: Exp; lines: +19 -10
Skip ipv6 tests on cuillere.
Skip a connect in void context on macosx polarhome, it stalls.
----------------------------
revision 1.824
date: 2017/07/24 08:04:18; author: gilles; state: Exp; lines: +22 -21
Better output for failed tests.
----------------------------
revision 1.823
date: 2017/07/21 23:55:17; author: gilles; state: Exp; lines: +53 -20
Better output in sub tests_mailimapclient_connect()
----------------------------
revision 1.822
date: 2017/07/20 23:22:08; author: gilles; state: Exp; lines: +11 -11
Bugfix. --skipmess could not work most of the time.
----------------------------
revision 1.821
date: 2017/07/18 00:16:43; author: gilles; state: Exp; lines: +24 -26
Bugfix. Guess prefix '' even when there is no folders.
----------------------------
revision 1.820
date: 2017/07/11 12:12:49; author: gilles; state: Exp; lines: +14 -14
loadavg on Win32 => 0 => unknown.
----------------------------
revision 1.819
date: 2017/07/07 23:21:45; author: gilles; state: Exp; lines: +70 -27
Added --testslive6 to check ipv6 connectivity
----------------------------
revision 1.818
date: 2017/07/06 03:06:36; author: gilles; state: Exp; lines: +42 -27
Removed from --tests call to:
tests_imapsping()
tests_tcpping()
tests_resolv()
tests_resolvrev()
----------------------------
revision 1.817
date: 2017/07/05 21:58:42; author: gilles; state: Exp; lines: +30 -22
--ipv4 is now synonim of --inet4
--ipv6 is now synonim of --inet6
----------------------------
revision 1.816
date: 2017/07/05 14:50:28; author: gilles; state: Exp; lines: +101 -16
Added dependency use IO::Socket::INET6
Added sub probe_imapssl(). Not use yet. Will replace imapsping()
----------------------------
revision 1.815
date: 2017/06/27 16:45:20; author: gilles; state: Exp; lines: +10 -10
MAX_SLEEP 30 => 2
----------------------------
revision 1.814
date: 2017/06/26 22:50:41; author: gilles; state: Exp; lines: +213 -66
Added raw LIST folders.
Added IP print of both hosts, using peerhost().
Added sub resolv() and others but not using them for now.
Still a problem with IPv6 on port 143 only, 993 with ssl is ok. "Invalid argument" when connecting.
Solved with Mail::IMAPClient patched like this:
use IO::Socket::INET6 instead of IO::Socket::INET
----------------------------
revision 1.813
date: 2017/05/24 17:46:13; author: gilles; state: Exp; lines: +93 -38
Added --maxsleep in order to avoid timeouts with --maxbytespersecond and --maxmessagespersecond
Default is like --maxsleep 30
30 seconds sleeping at max.
----------------------------
revision 1.812
date: 2017/05/23 21:12:37; author: gilles; state: Exp; lines: +10 -10
941 unit tests.
----------------------------
revision 1.811
date: 2017/05/23 21:10:12; author: gilles; state: Exp; lines: +24 -24
Sync also messages with no internal date.
No blanks in automatic logfile name.
----------------------------
revision 1.810
date: 2017/05/02 18:46:30; author: gilles; state: Exp; lines: +10 -10
Fixed a test in tests_umask_str() in order to pass it on Darwin
----------------------------
revision 1.809
date: 2017/05/02 18:34:34; author: gilles; state: Exp; lines: +45 -45
Isolated bad tests in notmatch() and match(): q{} against q{}, so commented now.
----------------------------
revision 1.808
date: 2017/05/02 17:35:25; author: gilles; state: Exp; lines: +160 -75
Better tests ending in exe in case of failure (was 0 I do not know why, a PAR bug)
Report which tests failed at the end of tests.
----------------------------
revision 1.807
date: 2017/04/28 13:43:07; author: gilles; state: Exp; lines: +30 -25
testsunit() isolated.
----------------------------
revision 1.806
date: 2017/04/28 09:50:40; author: gilles; state: Exp; lines: +81 -31
Added --testsunit in order to run any unit test individualy from the command line.
Several --testsunit are allowed. Example:
imapsync --testsunit tests_true --testsunit tests_always_fail
----------------------------
revision 1.805
date: 2017/04/27 13:04:58; author: gilles; state: Exp; lines: +50 -40
Added test to mkpath with trailing dots foo... in folder name for --usecache.
It does not fail.
----------------------------
revision 1.804
date: 2017/04/27 00:39:51; author: gilles; state: Exp; lines: +10 -10
Fix number of fake test on Win32.
----------------------------
revision 1.803
date: 2017/04/26 17:52:34; author: gilles; state: Exp; lines: +123 -119
Perl crit fixes:
* $! $OS_ERROR
* $@ $EVAL_ERROR
many others.
----------------------------
revision 1.802
date: 2017/04/25 16:13:33; author: gilles; state: Exp; lines: +231 -229
crit about blanks
----------------------------
revision 1.801
date: 2017/04/24 20:51:00; author: gilles; state: Exp; lines: +116 -75
Bugfix. logfile must not have / from user1 and user2.
----------------------------
revision 1.800
date: 2017/04/24 13:51:44; author: gilles; state: Exp; lines: +19 -18
Bugfix. passfile1 passfile2 failure only if used!
----------------------------
revision 1.799
date: 2017/04/24 12:47:34; author: gilles; state: Exp; lines: +20 -10
Check passfile exist before reading it and exit on failure.
----------------------------
revision 1.798
date: 2017/04/24 02:41:46; author: gilles; state: Exp; lines: +61 -29
Make all tests run on MSWin32, either success or skip
----------------------------
revision 1.797
date: 2017/04/23 13:35:47; author: gilles; state: Exp; lines: +353 -23
Moved /etc/imapsync.hash to $CGI_HASHFILE => '/var/tmp/imapsync_hash'
Added note( 'Entering ...' ) and note( 'Leaving ...' ) to all tests_...() functions
----------------------------
revision 1.796
date: 2017/04/23 12:25:22; author: gilles; state: Exp; lines: +115 -28
Added umask setting to 0077 in cgi context.
----------------------------
revision 1.795
date: 2017/04/22 13:01:28; author: gilles; state: Exp; lines: +55 -16
Refactor. Replaced hard cgi context test $ENV{SERVER_SOFTWARE} by function call to under_cgi_context()
----------------------------
revision 1.794
date: 2017/04/15 16:59:24; author: gilles; state: Exp; lines: +10 -10
871 unit tests
----------------------------
revision 1.793
date: 2017/04/15 16:56:06; author: gilles; state: Exp; lines: +136 -54
Tests should pass under nobody in /var/tmp/ now.
----------------------------
revision 1.792
date: 2017/04/05 03:06:42; author: gilles; state: Exp; lines: +22 -22
Added GMT setting to test setlogfile()
----------------------------
revision 1.791
date: 2017/04/05 02:27:50; author: gilles; state: Exp; lines: +26 -9
Added docker context in order to be run under nobody without permission issues.
----------------------------
revision 1.790
date: 2017/04/04 11:27:09; author: gilles; state: Exp; lines: +10 -10
Added 'Objets envoy&AOk-s' for --automap
----------------------------
revision 1.789
date: 2017/03/24 22:44:11; author: gilles; state: Exp; lines: +11 -9
Fix issue "SSL routines:ssl3_check_cert_and_algorithm:dh key too small" with
http://stackoverflow.com/questions/36417224/openssl-dh-key-too-small-error
SSL_cipher_list => 'DEFAULT:!DH'
----------------------------
revision 1.788
date: 2017/03/20 23:26:26; author: gilles; state: Exp; lines: +10 -10
852 unit tests
----------------------------
revision 1.787
date: 2017/03/20 23:23:39; author: gilles; state: Exp; lines: +130 -84
Added --maxbytesafter in order to start --maxbytespersecond limitation only after --maxbytesafter amount of data transferred
----------------------------
revision 1.786
date: 2017/03/20 03:32:12; author: gilles; state: Exp; lines: +44 -39
Bugfix. Abort on heavy load was not working because of load_and_delay strictly needed 4 arguments
----------------------------
revision 1.785
date: 2017/03/14 18:06:38; author: gilles; state: Exp; lines: +12 -10
No systematic NOP!
----------------------------
revision 1.784
date: 2017/03/14 17:51:48; author: gilles; state: Exp; lines: +120 -30
Changed abandon points (last FOLDER) to reconnection points.
----------------------------
revision 1.783
date: 2017/03/13 06:22:43; author: gilles; state: Exp; lines: +24 -90
Removed Mail::IMAPClient ads!
----------------------------
revision 1.782
date: 2017/03/13 01:20:24; author: gilles; state: Exp; lines: +486 -384
Added --domino1 --domino2 to facilitate Domino options setting.
Added password setting via environment variables IMAPSYNC_PASSWORD1 IMAPSYNC_PASSWORD2
----------------------------
revision 1.781
date: 2017/03/09 12:50:07; author: gilles; state: Exp; lines: +30 -22
Usability. No more "... says it has NO CAPABILITY for AUTHENTICATE LOGIN"
----------------------------
revision 1.780
date: 2017/03/09 11:00:05; author: gilles; state: Exp; lines: +54 -20
Added --office1 --office2 to load simplify sync from and to office 365 (parameters from the FAQ.d/FAQ.Exchange.txt)
----------------------------
revision 1.779
date: 2017/03/07 13:05:02; author: gilles; state: Exp; lines: +85 -65
Removed most of the perlcrit (Severity: 3) Regular expression without "/x" flag