forked from imapsync/imapsync
-
Notifications
You must be signed in to change notification settings - Fork 0
/
ChangeLog
5147 lines (5126 loc) · 219 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: 2.200
branch:
locks: strict
gilles: 2.200
access list:
symbolic names:
keyword substitution: kv
total revisions: 1100; selected revisions: 1100
description:
----------------------------
revision 2.200 locked by: gilles;
date: 2022/04/04 16:05:55; author: gilles; state: Exp; lines: +14 -10
typo. "check the certificate server" => "check the server certificate."
----------------------------
revision 2.199
date: 2022/04/01 19:45:33; author: gilles; state: Exp; lines: +15 -14
Enhancement. Added the local ip address for the imap connexions. It can help configuring firewalls to allow the imap source IP.
----------------------------
revision 2.198
date: 2022/04/01 11:13:01; author: gilles; state: Exp; lines: +10 -12
Added SERVER_NAME SERVER_ADDR SERVER_ADMIN variables and values to the output.
----------------------------
revision 2.197
date: 2022/03/30 10:43:22; author: gilles; state: Exp; lines: +29 -28
Bugfix. --tests --testslive was listing 0 folders.
Added message "Use --noemailreport1 to avoid it" after putting the email final report in INBOX.
----------------------------
revision 2.196
date: 2022/03/25 20:35:59; author: gilles; state: Exp; lines: +120 -67
Bugfix. Dates were not displayed under Windows because POSIX::strftime %e is not portable.
Bugfix. Several other places where dates were wrong on Windows.
----------------------------
revision 2.195
date: 2022/03/24 10:00:09; author: gilles; state: Exp; lines: +26 -29
Added warning "parsing headers of folder ... It can take time for huge folders. Be patient."
----------------------------
revision 2.194
date: 2022/03/17 11:04:16; author: gilles; state: Exp; lines: +16 -15
Bugfix. --var HTTP_COOKIE=proximapsync_runs=31 was not working because of the second =
----------------------------
revision 2.193
date: 2022/03/15 11:30:02; author: gilles; state: Exp; lines: +101 -105
Refactor. Deglobalized $debuglist $debugflags
Refactor. Added sync->{ permanentflags2 }
----------------------------
revision 2.192
date: 2022/03/11 18:26:06; author: gilles; state: Exp; lines: +88 -46
Bugfix. Do not allow --skipcrossduplicates and --usecache. Exit EX_USAGE 64
----------------------------
revision 2.191
date: 2022/03/08 10:55:21; author: gilles; state: Exp; lines: +131 -48
Added --var to pass values from proximapsync for variables REMOTE_ADDR REMOTE_HOST HTTP_REFERER HTTP_USER_AGENT SERVER_SOFTWARE SERVER_PORT HTTP_COOKIE
----------------------------
revision 2.190
date: 2022/03/01 21:48:11; author: gilles; state: Exp; lines: +31 -8
Bugfix. Do not turn on --delete2duplicates when --syncduplicates is on, unless --delete2duplicates is given.
----------------------------
revision 2.189
date: 2022/02/28 18:10:10; author: gilles; state: Exp; lines: +9 -11
Upped ERRORS_MAX_CGI from 20 to 500
----------------------------
revision 2.188
date: 2022/02/26 22:43:55; author: gilles; state: Exp; lines: +182 -100
Refactor. Changed setlogfile() to be usable for different logs by proximapsync.
----------------------------
revision 2.187
date: 2022/02/23 12:01:25; author: gilles; state: Exp; lines: +26 -7
Documented why total sizes can differ even when the sync is perfect.
----------------------------
revision 2.186
date: 2022/02/22 22:39:50; author: gilles; state: Exp; lines: +27 -21
Bugfix. Redirect STDERR to STDOUT in all cases, --log or --nolog
----------------------------
revision 2.185
date: 2022/02/11 21:36:18; author: gilles; state: Exp; lines: +19 -11
Added option --emailreport1 and --emailreport2. On by default. Use --noemailreport1 and --noemailreport2 to avoid final emails reports in each INBOX.
----------------------------
revision 2.184
date: 2022/02/10 17:37:57; author: gilles; state: Exp; lines: +91 -31
Added final report to source account also.
----------------------------
revision 2.183
date: 2022/02/06 13:14:33; author: gilles; state: Exp; lines: +29 -29
Added folder name in the debug output of header identificators
----------------------------
revision 2.182
date: 2022/02/01 20:49:51; author: gilles; state: Exp; lines: +10 -10
Bugfix. GMT is good but the tests had to be changed also...
----------------------------
revision 2.181
date: 2022/02/01 20:19:22; author: gilles; state: Exp; lines: +23 -10
Bugfix. Use GMT in tests_email_report_message_id
Bugfix. Make the email report w3c validated. Crazy man!
----------------------------
revision 2.180
date: 2022/02/01 15:14:51; author: gilles; state: Exp; lines: +373 -30
Enhancement. Append a final email report on account2 at the end of the synchronization. Will be optionnal soon.
----------------------------
revision 2.179
date: 2022/01/26 14:32:19; author: gilles; state: Exp; lines: +134 -139
README reread, grammarly on it.
Added "Posta inviata" so \Sent with --automap
----------------------------
revision 2.178
date: 2022/01/12 21:28:37; author: gilles; state: Exp; lines: +75 -13
Added tests_compress_ssl()
----------------------------
revision 2.177
date: 2021/12/23 20:38:44; author: gilles; state: Exp; lines: +8 -8
Bugfix. 1849 -> 1848 unit tests
----------------------------
revision 2.176
date: 2021/12/23 20:19:04; author: gilles; state: Exp; lines: +35 -23
Bugfix. memory consumption on Mac was not relevant. Use RSS instead of VSZ, on Mac only. Linux stays with VSZ.
----------------------------
revision 2.175
date: 2021/12/21 17:46:14; author: gilles; state: Exp; lines: +23 -21
Bugix. Darwin, fixed loadavg tests, no more W/t/loadavg.out needed.
----------------------------
revision 2.174
date: 2021/12/14 15:51:58; author: gilles; state: Exp; lines: +62 -17
Added advice for:
ERR_APPEND_SIZE
ERR_CONNECTION_FAILURE_HOST1
ERR_CONNECTION_FAILURE_HOST2
ERR_AUTHENTICATION_FAILURE_USER1
ERR_AUTHENTICATION_FAILURE_USER2
----------------------------
revision 2.173
date: 2021/12/09 18:30:34; author: gilles; state: Exp; lines: +61 -40
Bugfix. Made reconnect mechanism works with --oauthdirect1 --oauthdirect2 --oauthaccesstoken1 --oauthaccesstoken2
----------------------------
revision 2.172
date: 2021/12/07 18:19:42; author: gilles; state: Exp; lines: +27 -17
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
----------------------------
revision 2.171
date: 2021/12/07 17:50:12; author: gilles; state: Exp; lines: +14 -8
Added --ssl1 --ssl2 --tls1 --tls2 --compress1 --compress2 to get_options_from_string()
----------------------------
revision 2.170
date: 2021/12/07 17:19:44; author: gilles; state: Exp; lines: +12 -8
Added --keepalive1 --keepalive2 --reconnectretry1 --reconnectretry2 in get_options_from_string()
----------------------------
revision 2.169
date: 2021/12/07 17:13:44; author: gilles; state: Exp; lines: +101 -36
Added --keepalive1 and --keepalive2 options. On by default.
See https://metacpan.org/pod/Mail::IMAPClient#Keepalive
Use --nokeepalive1 and --nokeepalive2 to disable Keepalive.
----------------------------
revision 2.168
date: 2021/12/05 23:27:27; author: gilles; state: Exp; lines: +29 -11
Added --debugflags --errorsmax --folder --timeout in options from file
----------------------------
revision 2.167
date: 2021/12/02 16:59:51; author: gilles; state: Exp; lines: +9 -9
Moved the call to extra options after the chdir of the CGI context.
----------------------------
revision 2.166
date: 2021/12/02 15:23:37; author: gilles; state: Exp; lines: +107 -9
Now read extra options on the first line of the file ./options_extra.txt if it is present and readable.
----------------------------
revision 2.165
date: 2021/11/30 20:27:38; author: gilles; state: Exp; lines: +30 -11
cpu_time rounded with 2 decimals.
Added 4 tests when no compression is on.
----------------------------
revision 2.164
date: 2021/11/24 21:26:46; author: gilles; state: Exp; lines: +12 -11
Compression no more on by default. Just to see.
----------------------------
revision 2.163
date: 2021/11/20 20:11:46; author: gilles; state: Exp; lines: +8 -7
Bugfix. imapsync --version was buggy in docker context.
----------------------------
revision 2.162
date: 2021/11/20 10:16:33; author: gilles; state: Exp; lines: +14 -12
Docker. Current working directory changed from /var/tmp to /var/tmp/uid_$EFFECTIVE_USER_ID
----------------------------
revision 2.161
date: 2021/11/19 18:17:48; author: gilles; state: Exp; lines: +8 -8
Bugfix. inline doc mentioned always --nocompress1
----------------------------
revision 2.160
date: 2021/11/19 14:40:58; author: gilles; state: Exp; lines: +10 -7
Added inline documentation about --nocompress1 and --nocompress2
----------------------------
revision 2.159
date: 2021/11/19 14:29:31; author: gilles; state: Exp; lines: +113 -12
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.
----------------------------
revision 2.158
date: 2021/11/13 20:01:35; author: gilles; state: Exp; lines: +13 -7
Added README help for --truncmess
----------------------------
revision 2.157
date: 2021/10/23 21:51:43; author: gilles; state: Exp; lines: +61 -16
Refactor. Deglobalized $debugcontent. Added debugcontent() function.
1800 unit tests.
----------------------------
revision 2.156
date: 2021/10/12 13:36:36; author: gilles; state: Exp; lines: +72 -71
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
----------------------------
revision 2.155
date: 2021/10/01 07:46:55; author: gilles; state: Exp; lines: +9 -8
Like --useheader X-Gmail-Received --useheader Message-Id when --gmail1 --gmail2
----------------------------
revision 2.154
date: 2021/09/29 20:38:04; author: gilles; state: Exp; lines: +8 -8
Bugfix. Added 'E&AwE-le&AwE-ments envoye&AwE-s' in possible_special
----------------------------
revision 2.153
date: 2021/09/29 13:56:15; author: gilles; state: Exp; lines: +34 -12
Does not checknoabletosearch if --justfolders
When creating folder check if selectable and consider ok if selectable
----------------------------
revision 2.152
date: 2021/09/29 12:03:12; author: gilles; state: Exp; lines: +362 -58
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)
----------------------------
revision 2.151
date: 2021/09/08 10:34:25; author: gilles; state: Exp; lines: +23 -18
Bugfix. load average on macosx was sometimes buggy. locale float 3,14 instead of 3.14
----------------------------
revision 2.150
date: 2021/08/08 12:10:51; author: gilles; state: Exp; lines: +9 -10
Refactor. Deglobalized warn_release variable
----------------------------
revision 2.149
date: 2021/07/31 11:24:24; author: gilles; state: Exp; lines: +7 -26
Removed --fast option.
----------------------------
revision 2.148
date: 2021/07/22 14:21:09; author: gilles; state: Exp; lines: +10 -10
Bugfix. abort didn't do charset=UTF-8; same for heavy load 503 Service Unavailable
----------------------------
revision 2.147
date: 2021/07/22 13:13:50; author: gilles; state: Exp; lines: +12 -12
Bugfix. The maximum number a pid can be is 2^22, not 2^32.
----------------------------
revision 2.146
date: 2021/07/22 12:48:21; author: gilles; state: Exp; lines: +8 -8
1742 unit tests.
----------------------------
revision 2.145
date: 2021/07/22 12:45:31; author: gilles; state: Exp; lines: +16 -13
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
----------------------------
revision 2.144
date: 2021/07/17 18:07:59; author: gilles; state: Exp; lines: +13 -10
Just an experimental loaddelay forced to 0.
----------------------------
revision 2.143
date: 2021/07/12 19:45:44; author: gilles; state: Exp; lines: +111 -15
Bugfix. Under docker context --version was buggy, too verbose.
----------------------------
revision 2.142
date: 2021/07/12 14:04:01; author: gilles; state: Exp; lines: +17 -19
Removed that hard limit --maxsize 35_651_584 set by --gmail2 since CAPABILITY is used and good.
----------------------------
revision 2.141
date: 2021/07/06 02:59:19; author: gilles; state: Exp; lines: +8 -8
cpu_time param
----------------------------
revision 2.140
date: 2021/07/05 20:14:18; author: gilles; state: Exp; lines: +14 -10
Fixed perlcrit 4 severity 4 violations.
----------------------------
revision 2.139
date: 2021/07/04 21:03:28; author: gilles; state: Exp; lines: +14 -14
Adapted to oauth2/generate_gmail_token
----------------------------
revision 2.138
date: 2021/07/01 08:40:50; author: gilles; state: Exp; lines: +13 -10
Moved oauthgenerateaccess() call.
----------------------------
revision 2.137
date: 2021/07/01 08:13:52; author: gilles; state: Exp; lines: +32 -10
Bugfix. imapsync did nothing with the previous change.
----------------------------
revision 2.136
date: 2021/06/30 23:16:13; author: gilles; state: Exp; lines: +295 -176
Review the README part.
Added option --filterbuggyflags to filter the well known buggy flags that generate errors "BAD Invalid system flag" or "NO APPEND Invalid flag list".
1734 unit tests.
Some refactoring.
----------------------------
revision 2.135
date: 2021/06/29 20:38:40; author: gilles; state: Exp; lines: +58 -46
Reviewed README section until flags options.
----------------------------
revision 2.134
date: 2021/06/29 12:14:49; author: gilles; state: Exp; lines: +40 -14
Avoid unit tests on polarhome macosx where "ssl3_get_server_certificate:certificate verify failed". No clue to fix that.
----------------------------
revision 2.133
date: 2021/06/28 08:07:25; author: gilles; state: Exp; lines: +13 -12
Fixed some unit tests for polarhome macosx
----------------------------
revision 2.132
date: 2021/06/26 23:19:40; author: gilles; state: Exp; lines: +40 -17
Added tests to test cpu_number() on Windows MacOS
----------------------------
revision 2.131
date: 2021/06/25 16:20:38; author: gilles; state: Exp; lines: +57 -13
Bugfix. cpu_number was accurate only on Linux. Added Freebsd
----------------------------
revision 2.130
date: 2021/06/25 11:11:03; author: gilles; state: Exp; lines: +108 -36
Added percentage of all cpu in stats
----------------------------
revision 2.129
date: 2021/06/24 16:59:49; author: gilles; state: Exp; lines: +8 -8
Removed a debug print
----------------------------
revision 2.128
date: 2021/06/24 16:54:00; author: gilles; state: Exp; lines: +8 -8
1702 tests
----------------------------
revision 2.127
date: 2021/06/24 15:42:11; author: gilles; state: Exp; lines: +46 -16
Added statistic line "CPU time and %cpu"
----------------------------
revision 2.126
date: 2021/06/24 09:37:47; author: gilles; state: Exp; lines: +87 -33
Added --loglogfile option. Append ../list_all_logs_auto.txt with the logfile name. On by default in CGI context.
Some refactoring, file_to_array file_to_string functions.
----------------------------
revision 2.125
date: 2021/06/20 16:50:46; author: gilles; state: Exp; lines: +66 -25
Do not check selectable folders for huge accounts with more than 152 folders. 98percentile of /X
----------------------------
revision 2.124
date: 2021/06/17 12:29:22; author: gilles; state: Exp; lines: +8 -8
Testfix. Sometimes GMT is output UTC.
----------------------------
revision 2.123
date: 2021/06/17 11:56:20; author: gilles; state: Exp; lines: +30 -27
CGI context. Sync duplicates by default in cgi context.
----------------------------
revision 2.122
date: 2021/06/16 19:36:21; author: gilles; state: Exp; lines: +15 -17
Stats. Final line "Biggest message" was in fact "Biggest message" to be transferred. Now it is "Biggest message transferred".
----------------------------
revision 2.121
date: 2021/06/15 22:43:18; author: gilles; state: Exp; lines: +150 -89
Refactor. Splited sub myGetOptions() into sub setvalfromcgikey sub setvalfromlist sub setvalfromhash sub setvalfromcheckbox. Not very clean but better than the huge old one.
----------------------------
revision 2.120
date: 2021/06/15 22:32:28; author: gilles; state: Exp; lines: +54 -38
Change time presentation on ETA and in final stats. Example: Wednesday 16 June 2021-06-16 00:32:05 +0200 CEST
Added the timezone and full day
----------------------------
revision 2.119
date: 2021/06/06 10:21:34; author: gilles; state: Exp; lines: +162 -109
Added localtimez function to replace localtime, date and time with the timezone added. Not replaced yet.
Remove a useless warning "File xxx.pid does not exist" in tail function.
Made oauth2 tests dependent on oauth2_string_for_oauthdirect.txt oauth2_access_token.txt presence.
Added info "Exiting because of --justbanner" with --justbanner
----------------------------
revision 2.118
date: 2021/05/31 22:18:16; author: gilles; state: Exp; lines: +16 -11
In CGI context, the log directory is no longer ./LOG_imapsync/ but simply ./ It should fasten the searches and grep
----------------------------
revision 2.117
date: 2021/05/27 18:04:12; author: gilles; state: Exp; lines: +20 -16
Load limit 3x => 6x
----------------------------
revision 2.116
date: 2021/05/21 16:41:12; author: gilles; state: Exp; lines: +39 -53
load limit upped to 3
----------------------------
revision 2.115
date: 2021/05/05 23:41:12; author: gilles; state: Exp; lines: +11 -8
Advantage of a file when using --oauthaccesstoken1 str
----------------------------
revision 2.114
date: 2021/05/05 19:03:24; author: gilles; state: Exp; lines: +48 -21
Documented --oauthaccesstoken1 and --oauthdirect1 and the 2 sisters.
----------------------------
revision 2.113
date: 2021/05/03 20:47:18; author: gilles; state: Exp; lines: +118 -35
Implemented --oauthaccesstoken1 and --oauthaccesstoken2
1691 unit tests
----------------------------
revision 2.112
date: 2021/04/30 17:55:05; author: gilles; state: Exp; lines: +257 -248
Added --noabletosearch README
Removed trailing blanks, perlcrit "Found "\N{SPACE}" at the end of the line"
----------------------------
revision 2.111
date: 2021/04/30 07:40:41; author: gilles; state: Exp; lines: +615 -408
Added options --oauthdirect1 and --oauthdirect2
to support OAUTH2 authentication.
The parameter value is the direct string given to the XOAUTH2 imap command.
Added option --syncduplicates to sync duplicates.
Added option --trylogin on by default.
After a login failure of any king, imapsync tries to login
with the LOGIN command. Use --notrylogin to avoid that.
Reduced sub login_imap() number of parameters from 19 to 10.
Added options --oauthaccesstoken1 and --oauthaccesstoken2, not implemented yet.
Removed old OAUTH1 support. I hope no one will be touched by this removal, if
yes, I'll bring it back.
----------------------------
revision 2.110
date: 2021/03/28 17:34:29; author: gilles; state: Exp; lines: +25 -16
--timeout can now be a float (was only integer). Same for --timeout1 --timeout2
Warning about a timeout by the webserver in CGI mode.
$timeout no longer a variable (global).
----------------------------
revision 2.109
date: 2021/03/13 19:39:37; author: gilles; state: Exp; lines: +59 -25
Added message ""No log file because of option --nolog".
Added possibility of no logging in cgi context, with log=0 or log= in the parameters
Added possibility of float number for --simulong instead of integer.
1672 unit tests.
----------------------------
revision 2.108
date: 2021/02/25 10:35:33; author: gilles; state: Exp; lines: +27 -23
Bugfix. In sub delete_messages_on_any, the uidexpunge_or_expunge call was
always done with an empty array so no expunge was done there.
Fortunately, expunge was done elsewhere so this bug was not disastrous.
There is functionnal tests to check expunge behaviour anyway.
----------------------------
revision 2.107
date: 2021/02/09 20:02:55; author: gilles; state: Exp; lines: +9 -9
Back from Message-Id to Message-Id Received in cgisetcontext
----------------------------
revision 2.106
date: 2021/02/09 19:59:13; author: gilles; state: Exp; lines: +222 -16
Added some tests in sub tests_regexmess to remove a buggy header on multi-lines not all starting with a blank. 's{X-Spam-Report:.*?\n(^[^\n]+:|^\r?\n)}{$1}xms'
----------------------------
revision 2.105
date: 2021/02/02 11:17:15; author: gilles; state: Exp; lines: +30 -14
Added tests "Add a final \r\n if missing" in sub tests_regexmess
----------------------------
revision 2.104
date: 2021/01/27 15:14:09; author: gilles; state: Exp; lines: +76 -70
Added test to "Change 8bit characters in whole email to X characters" in sub tests_regexmess
----------------------------
revision 2.103
date: 2021/01/20 16:28:06; author: gilles; state: Exp; lines: +46 -20
Removed the exit_clean call when "Can not go to tls encryption on" in sub login_imap()
1652 tests
----------------------------
revision 2.102
date: 2020/12/13 23:48:30; author: gilles; state: Exp; lines: +43 -20
Bugfix. EXIT_ERR_APPEND_VIRUS had no message upon exit.
Bugfix. In --dry mode the final "Messages transferred : 0 (could be 1264 without dry mode)" is ok when the folders does not exist yet.
----------------------------
revision 2.101
date: 2020/12/08 23:47:13; author: gilles; state: Exp; lines: +171 -40
Added EXIT_CONNECTION_FAILURE_HOST1 101 return code
Added EXIT_CONNECTION_FAILURE_HOST2 102 return code
Added EXIT_AUTHENTICATION_FAILURE_USER1 161 return code
Added EXIT_AUTHENTICATION_FAILURE_USER2 162 return code
Do both side login and authentication before exiting on falure.
----------------------------
revision 2.100
date: 2020/12/07 00:45:50; author: gilles; state: Exp; lines: +24 -9
New numbering from 1.999 directly to 2.100 I want to avoid 1.1000 and sorting issues in directory listing.
Added option --dry1 it avoids to fetch the message on host1. --dry1 is on when --dry is on. It speeds up --dry very much.
----------------------------
revision 1.999
date: 2020/12/02 20:41:50; author: gilles; state: Exp; lines: +69 -34
Added a section "How do you know a sync is finished and well done?"
When creating a directory, now the current directory is also printed.
It helps when the directory created is relative.
Bugfix. resolv: imapsync.lamiral.info => 2001:41d0:2:84e0::1 (was 91.121.221.224)
----------------------------
revision 1.998
date: 2020/08/17 10:18:25; author: gilles; state: Exp; lines: +302 -108
1638 regression tests.
Added option --abortbyfile to be able to be aborted by a file presence (context: webserver on windows)
Reviewed and fixed sub acls_sync(). Did not work and made bad things.
Added exit value EXIT_BY_FILE => 7
Added exit value EXIT_TRANSFER_EXCEEDED => 118
----------------------------
revision 1.997
date: 2020/07/16 10:58:14; author: gilles; state: Exp; lines: +20 -17
Gmail update
gmail12: maxbytespersecond 20_000 maxbytesafter 1_000_000_000
gmail1 : maxbytespersecond 40_000 maxbytesafter 3_000_000_000 (was 2_500_000_000)
gmail2 : maxbytespersecond 20_000 maxbytesafter 1_000_000_000
----------------------------
revision 1.996
date: 2020/06/19 09:53:38; author: gilles; state: Exp; lines: +69 -20
Added exit 118 EXIT_TRANSFER_EXCEEDED when "Maximum bytes transferred reached" with option --exitwhenover
Added error type ERR_TRANSFER_EXCEEDED.
----------------------------
revision 1.995
date: 2020/06/17 18:55:01; author: gilles; state: Exp; lines: +9 -8
Added exitwhenover as an option in cgi context.
----------------------------
revision 1.994
date: 2020/06/14 12:10:30; author: gilles; state: Exp; lines: +76 -22
Bugfix. Fixed some "Exiting with return value ()". Added ERR_NOTHING_REPORTED error and exit EXIT_CATCH_ALL ie 1 in case.
----------------------------
revision 1.993
date: 2020/06/12 09:10:20; author: gilles; state: Exp; lines: +10 -8
Docfix. Fixed issue https://github.com/imapsync/imapsync/issues/213
Precision about --delete2duplicates
----------------------------
revision 1.992
date: 2020/05/29 12:14:53; author: gilles; state: Exp; lines: +156 -34
Bugfix. fatal string causing "Wide character in subroutine entry"
----------------------------
revision 1.991
date: 2020/05/12 20:37:48; author: gilles; state: Exp; lines: +86 -25
Bugfix. --checknoabletosearch was not adaptive.
Fix. tests sslheck now use test1.lamiral.info instead of imapsync.lamiral.info
Fix. tests_resolv now use ks6ipv6.lamiral.info instead of ks2ipv6.lamiral.info
Bugfix. Better closing of logfile at the end in order to avoid in Apache error log "AH01215: print() on closed filehandle $logfile_handle"
----------------------------
revision 1.990
date: 2020/05/03 17:07:36; author: gilles; state: Exp; lines: +7 -7
Bugfix. Forgot to map ERR_Host1_FETCH to EXIT_ERR_FETCH,
----------------------------
revision 1.989
date: 2020/05/03 17:07:17; author: gilles; state: Exp; lines: +8 -7
*** empty log message ***
----------------------------
revision 1.988
date: 2020/04/29 21:52:20; author: gilles; state: Exp; lines: +37 -8
Sanitize host1 and host2 values. Remove blanks and / characters.
----------------------------
revision 1.987
date: 2020/04/29 02:34:00; author: gilles; state: Exp; lines: +253 -18
Added an analyse and classification of the errors encountered.
Most common error encountered is printed at the end.
Exit value 112 is now replaced by the most common error encountered exit value
113 is EXIT_OVERQUOTA
114 is EXIT_ERR_APPEND
115 is EXIT_ERR_FETCH
116 is EXIT_ERR_CREATE
117 is EXIT_ERR_SELECT
111 is EXIT_WITH_ERRORS ERR_UNCLASSIFIED
----------------------------
revision 1.986
date: 2020/04/26 11:05:55; author: gilles; state: Exp; lines: +37 -36
Changed filter_forbidden_characters() to replace non-ascii and control characters and spaces by character _
----------------------------
revision 1.985
date: 2020/04/25 14:50:30; author: gilles; state: Exp; lines: +48 -23
Added unit tests to prepare "Wide character in subroutine entry".
----------------------------
revision 1.984
date: 2020/04/22 10:35:44; author: gilles; state: Exp; lines: +30 -15
Bugfix. Empty subject https://github.com/imapsync/imapsync/pull/216 added unit test regression.
----------------------------
revision 1.983
date: 2020/03/19 02:08:12; author: gilles; state: Exp; lines: +96 -13
Filter flags \PRIORITY \READRCPT in cgi context.
Now check if SEARCH ALL works on both accounts and then add --noabletosearch if one can not. Use --nochecknoabletosearch to avoid that behavior.
----------------------------
revision 1.982
date: 2020/03/16 15:17:02; author: gilles; state: Exp; lines: +60 -29
Rewrote tests in tests_msgs_from_maxmin() (same ones anyway)
----------------------------
revision 1.981
date: 2020/02/14 12:10:13; author: gilles; state: Exp; lines: +18 -8
Bugfix. CGI not fatal with imapsync --tests
----------------------------
revision 1.980
date: 2020/01/18 20:37:27; author: gilles; state: Exp; lines: +9 -9
Updated @regexflag in cgi context.
----------------------------
revision 1.979
date: 2020/01/14 22:26:11; author: gilles; state: Exp; lines: +47 -30
Added regex --regexflag from /X analyse in cgi context.
----------------------------
revision 1.978
date: 2020/01/08 21:56:12; author: gilles; state: Exp; lines: +11 -11
Added single quote ' filtering in filter_forbidden_characters()
----------------------------
revision 1.977
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