forked from imapsync/imapsync
-
Notifications
You must be signed in to change notification settings - Fork 1
/
ChangeLog
4884 lines (4863 loc) · 207 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.140
branch:
locks: strict
gilles: 2.140
access list:
symbolic names:
keyword substitution: kv
total revisions: 1040; selected revisions: 1040
description:
----------------------------
revision 2.140 locked by: gilles;
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
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 gilles.lamiral@laposte.net => gilles@lamiral.info
----------------------------
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...)