forked from neomutt/neomutt
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathChangeLog
18329 lines (11780 loc) · 639 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
2017-04-18 12:25 -0700 Kevin McCarthy <[email protected]> (33995363e723)
* filter.c, init.c, pgp.c, protos.h: Fix GPG_TTY to be added to
envlist. (closes #3931)
Changeset 37209157e33c converted filters to use the envlist.
Unfortunately, I missed that pgp.c sets GPG_TTY when using the GnuPG
agent. Convert to add GPG_TTY to the envlist too.
2017-04-12 17:45 -0700 Kevin McCarthy <[email protected]> (feccc2ac1b9a)
* .hgsigs: mutt-1.8.1 signed
2017-04-12 17:44 -0700 Kevin McCarthy <[email protected]> (491f7cfa03d9)
* .hgtags: Added tag mutt-1-8-1-rel for changeset f44974c10990
2017-04-12 17:43 -0700 Kevin McCarthy <[email protected]> (f44974c10990)
* ChangeLog, UPDATING, VERSION: automatic post-release commit for
mutt-1.8.1
2017-04-11 12:14 -0700 Kevin McCarthy <[email protected]> (b825cbcaf6b5)
* compose.c: Fix memleak when attaching files.
2017-04-08 14:18 -0700 Kevin McCarthy <[email protected]> (a8b1017a4cc1)
* imap/message.c: Silence imap progress messages for pipe-message.
(see #3929)
_mutt_pipe_message() calls endwin(), and then calls pipe_msg(). If
an imap message body hasn't already been downloaded, this can end up
calling imap_fetch_message().
The progress messages in imap_fetch_message() were restoring curses,
just after extract_url was running. This was leading to a condition
where mutt curses didn't think the screen had changed after
extract_url exited.
There was already a check for isendwin() inside
imap_fetch_message(), but it wasn't wrapped around the progressbar
creation/usage. Add a check for those places too.
2017-03-27 11:39 -0700 Kevin McCarthy <[email protected]> (77032036c642)
* init.c, init.h: Fix (un)sidebar_whitelist to expand paths.
Thanks to Arturo for reporting the issue.
2017-03-26 12:27 -0700 Kevin McCarthy <[email protected]> (9da67ea88f25)
* curs_lib.c: Fix mutt_refresh() pausing during macro events.
Changeset a07e8215a0ef split input buffering into two pools.
Unfortunately, the mutt_refresh() was not changed to check the
correct buffer count, resulting in unnecessary refreshes during
macros.
The SSL interactive certificate prompts set OPTIGNOREMACROEVENTS and
then put up a confirmation menu. Perhaps we've just been lucky, but
it seems we should refresh the screen in those cases if we're in the
middle of a macro. Add a check for this option in mutt_refresh()
too.
2017-03-20 10:16 -0700 Kevin McCarthy <[email protected]> (7cefa378ab7e)
* init.c: Fix setenv overwriting to not truncate the envlist. (see
#3922)
The refactor in 2b9c40f13e13 exposed a bug I hadn't noticed. The
match loop performed a FREE() on the slot. Then, below, it was
checking if (*envp) to see whether it was overwriting or creating a
new slot. However, FREE() nulls out *envp. This would end up
truncating the envlist just after the set slot!
Move the free down, using a mutt_str_replace(), when overwriting the
slot.
2017-03-18 14:39 -0700 Kevin McCarthy <[email protected]> (2b9c40f13e13)
* init.c: Fix mutt_envlist_set() for the case that envlist is null.
(see #3922)
2017-03-18 13:48 -0700 Kevin McCarthy <[email protected]> (37209157e33c)
* filter.c, init.c, protos.h, system.c: Pass envlist to filter
children too. (closes #3922)
The new setenv patch neglected to pass the envlist for filters too.
Unfortunately, the filter code was already set up to pass COLUMNS to
children, so it needed to be changed to add this to the envlist
instead.
Factor out mutt_envlist_set() from the parse_setenv() function,
which the filter code can then use to set COLUMNS after forking.
2017-03-05 15:24 -0800 Kevin McCarthy <[email protected]> (f0e3b2875065)
* account.h: Increase ACCOUNT.pass field size. (closes #3921)
#3921 reported his password token used for Google XOAUTH2 is size
129. The ACCOUNT structure currently uses a size 128 buffer. Who
knew a password field would ever be bigger than that?
Since the ACCOUNT structure has no allocation/dellocation routines,
the easiest fix is to increase the size. Bump the size up to 256.
2017-03-02 15:53 -0800 Matthias Andree <[email protected]> (5fc3c0729a07)
* mutt_ssl.c: SSL: Fix memory leak in subject alternative name code.
(closes #3920)
2017-03-02 14:53 -0800 Kevin McCarthy <[email protected]> (e3e47b2f1370)
* mbox.c: Prevent segv if open-appending to an mbox fails. (closes
#3918)
If mbox_open_mailbox_append() fails, ctx->fp will be null. Add a
check in mbox_close_mailbox(), to prevent a segv from passing null
to fileno().
2017-03-02 13:11 -0800 Kevin McCarthy <[email protected]> (e82253beaa9f)
* mutt_ssl.c: Clear out extraneous errors before SSL_connect() (see
#3916)
Call ERR_clear_error() just before the call to SSL_connect() to make
sure the error queue doesn't have any old errors in it.
PEM_read_X509() sets an error PEM_R_NO_START_LINE on end-of-file.
Clear that out so it doesn't show up as the SSL_connect() error
message.
2017-02-24 11:00 -0800 Kevin McCarthy <[email protected]> (f85c3eb8d065)
* merge default into stable
2017-02-24 10:55 -0800 Kevin McCarthy <[email protected]> (7cc47d82cac4)
* .hgsigs: mutt-1.8.0 signed
2017-02-24 10:50 -0800 Kevin McCarthy <[email protected]> (1672b430cbc3)
* .hgtags: Added tag mutt-1-8-rel for changeset d897983752f9
2017-02-24 10:50 -0800 Kevin McCarthy <[email protected]> (d897983752f9)
* ChangeLog, VERSION, po/bg.po, po/ca.po, po/cs.po, po/da.po,
po/de.po, po/el.po, po/eo.po, po/es.po, po/et.po, po/eu.po,
po/fr.po, po/ga.po, po/gl.po, po/hu.po, po/id.po, po/it.po,
po/ja.po, po/ko.po, po/lt.po, po/nl.po, po/pl.po, po/pt_BR.po,
po/ru.po, po/sk.po, po/sv.po, po/tr.po, po/uk.po, po/zh_CN.po,
po/zh_TW.po: automatic post-release commit for mutt-1.8.0
2017-02-23 08:56 -0800 TAKAHASHI Tamotsu <[email protected]> (43e312cee971)
* po/ja.po: Updated Japanese translation.
2017-02-22 15:58 -0800 Benno Schulenberg <[email protected]> (3e1d26df748e)
* po/nl.po: Updated Dutch translation.
2017-02-22 12:58 -0800 Benno Schulenberg <[email protected]> (4b445c73fc77)
* po/eo.po: Updated Esperanto translation.
2017-02-22 12:50 -0800 Kevin McCarthy <[email protected]> (5b68a3022b82)
* UPDATING, doc/manual.xml.head, init.h: Minor touchups to
documentation and UPDATING file.
2017-02-19 18:51 -0800 Kevin McCarthy <[email protected]> (715c276641c6)
* doc/manual.xml.head: Mention $XDG_CONFIG_HOME/mutt/ in the manual.
2017-02-19 18:30 -0800 Kevin McCarthy <[email protected]> (1575671b3c60)
* UPDATING: Reword some of the UPDATING entries.
Thanks to Matthias Andree for his feedback and suggestions!
2017-02-18 15:15 -0800 Kevin McCarthy <[email protected]> (e4a5d1913e42)
* UPDATING: Add 1.8.0 entries to the UPDATING file.
2017-02-18 21:30 +0000 Athanasios Douitsis <[email protected]> (943b281abfbb)
* getdomain.c: Prevent null pointer exception for h->ai_canonname
The getaddrinfo call in line 54 sets &h to a struct addrinfo. If a
canonical name cannot be found for the node argument of getaddrinfo,
h->ai_canonname is set to NULL. In that case, the strchr call in
line 58 can lead to segfault. This behavior was observed on a macos
sierra while the hostname was 192.168.1.3 (unfortunately this
happens quite often in macos).
The fix is simple, just check h->ai_canonname for the NULL value.
2017-02-17 20:02 -0800 Ivan Vilata i Balaguer <[email protected]> (9b7780b48f47)
* po/ca.po: Updated Catalan translation.
2017-02-16 12:44 -0800 Vsevolod Volkov <[email protected]> (27ee126fb9c5)
* po/ru.po: Updated Russian translation.
2017-02-16 12:41 -0800 Vsevolod Volkov <[email protected]> (ed569b004aef)
* po/uk.po: Updated Ukrainian translation.
2017-02-16 11:22 -0800 Morten Bo Johansen <[email protected]> (20eccc63e008)
* po/da.po: Updated Danish translation.
2017-02-13 12:26 -0800 Petr Pisar <[email protected]> (519a8c8cc55c)
* po/cs.po: Updated Czech translation.
2017-02-12 13:03 -0800 Matthias Andree <[email protected]> (cec61c6926ea)
* mutt_ssl.c: Show SHA1 fp in interactive cert check menu.
While here, fix a few compiler warnings about sign mismatch in
comparison.
2017-02-12 12:24 -0800 Kevin McCarthy <[email protected]> (2350d7d61b34)
* mutt_ssl.c: Fix potential cert memory leak in
check_certificate_by_digest().
Thanks to Matthias Andree's debugging, it appears the cert is not
freed when PEM_read_X509() encounters EOF. Change the return value
check to not overwrite cert. It is already updated via the second
parameter.
2017-02-12 09:59 -0800 Matthias Andree <[email protected]> (48a1f145c269)
* mutt_ssl.c: Plug memory leak in weed-expired-certs code.
X509_STORE_add_cert() creates a copy of the certificate we're
offering, so we need to free our copy afterwards. This isn't
documented, but from observed behaviour in OpenSSL 1.0.2 and its
master branch source code.
Change PEM_read_X509() call to reuse cert to avoid free/reallocation
overhead.
2017-02-12 09:59 -0800 Kevin McCarthy <[email protected]> (2632bc4f5b20)
* mutt_ssl.c: Filter expired local certs for OpenSSL verification.
OpenSSL has trouble establishing the chain and verifying when
duplicate expired certs are loaded in from $certificate_file. A
warning about this is mentioned in
SSL_CTX_load_verify_locations(3SSL).
Filter out expired certs when loading verify certs. Note that the
full certicates file is still used for verification in
check_certificate_by_digest().
2017-02-10 13:01 -0800 Kevin McCarthy <[email protected]> (7c97a8af8718)
* alias.c, group.c, hash.c, hash.h, headers.c, imap/message.c, init.c,
mh.c, mx.c, pop.c, thread.c: Change "allow_dups" into a flag at hash
creation.
Instead of having an "allow_dups" parameter for hash_insert(), add a
flag, MUTT_HASH_ALLOW_DUPS, to hash_create().
Currently ReverseAlias, subj_hash, and thread_hash allow duplicate
keys. Change those hashes to pass the flag at creation, and remove
the last parameter from all callers of hash_insert().
2017-02-10 12:56 -0800 Petr Pisar <[email protected]> (e2b186a92390)
* po/cs.po: Updated Czech translation.
2017-02-10 12:51 +0100 Vincent Lefevre <[email protected]> (a4449ebfb5f4)
* po/fr.po: Updated French translation.
2017-02-08 07:48 -0800 Kevin McCarthy <[email protected]> (d215a36fd8ee)
* hcache.c: Fix build for bdb.
Changeset fca7e504ab6a removed #else/#endif around two blocks of
code that won't compile with bdb enabled. Restore those directives.
Thanks to Richard Russon for pointing out the problem and saving me
from having egg all over my face with the 1.8 release!
2017-02-07 19:36 -0800 Kevin McCarthy <[email protected]> (09bb4a62ceb1)
* hcache.c, hcache.h, imap/imap.c, imap/message.c, imap/util.c, mh.c,
pop.c: Create function to free header cache data.
Kyoto Cabinet documents that data from it should be freed via
kcfree().
LMDB claims ownership of the data returned, so convert its free
operation to be a noop and remove the malloc from its fetch
function.
2017-02-07 19:36 -0800 Kevin McCarthy <[email protected]> (52481ceb6c6e)
* configure.ac, doc/manual.xml.head, hcache.c, init.h, mutt.h: Add
Kyoto Cabinet support to the header cache.
Retain the defaults as they are, although we might switch to Kyoto
Cabinet for the next major release.
2017-02-04 12:53 -0800 Kevin McCarthy <[email protected]> (fca7e504ab6a)
* hcache.c: Fixes to the LMDB header cache. (closes #3691)
Use mdb_txn_abort() to free up readonly/reset transactions, and
avoid leaking memory.
Fix hcache_delete() key generation - looks like this was an
incorrect copy/paste from the bdb code.
Use dprint, not fprintf, for debugging messages.
Remove strange blending of enum and bitfield logic for the txn_mode
state.
Remove some duplicate code from store/fetch raw.
2017-02-04 12:53 -0800 Kevin McCarthy <[email protected]> (42aa8b19da95)
* configure.ac, hcache.c: Add LMDB backend support for header cache.
(see #3691)
Based on the original from JP Mens:
https://gist.github.com/jpmens/15969d9d678a3d450e4e
The following performance patch was manually applied on top of the
original patch: https://github.com/neomutt/neomutt/commit/7e5380cd4c
40d119ff83b2cf5f51f2cdb8a95ab3
A variant of this patch was added to handle larger mailboxes: https:
//github.com/neomutt/neomutt/commit/6d337642e701b1dde4b5d0812e01c85f
41ba65ca
Thanks to all the developers and contributors to this patch, and to
Fabian Groffen for bundling and posting this to mutt-dev.
2017-01-31 15:02 -0800 Kevin McCarthy <[email protected]> (142a87f0c855)
* enter.c: Minor fix to ~y completion.
Make sure the entire ~y is before curpos when enabling completion.
2017-01-31 14:27 -0800 Kevin McCarthy <[email protected]> (82034c72b6da)
* enter.c, init.c, protos.h: Simplify mutt_label_complete().
It was derived from mutt_command_complete(), which had more complex
requirements. For labels, we just need to skip whitespace and
complete based on the passed in buffer.
Therefore, we don't need the pos parameter, or to work backwards
from the end of the buffer.
2017-01-31 14:27 -0800 Kevin McCarthy <[email protected]> (298654f1d70c)
* enter.c: Permit tab completion of pattern expressions with ~y
(labels).
Thanks to David Champion for the original patch. This version is
slightly different, as I couldn't get the original patch working.
This version simply scans backward for the first ~, and if it is ~y,
invokes completion.
2017-01-31 14:27 -0800 Kevin McCarthy <[email protected]> (9ca99f2b1205)
* enter.c: Fix the mutt_label_complete() pos parameter.
i is the state->wbuf index, not the end of the buf. It was "working"
only because the contents of buf past the null were not "space" most
of the time.
2017-01-29 11:02 -0800 Kevin McCarthy <[email protected]> (ab2f8882633b)
* copy.c: Fix the x-label update code check location.
The x-label comparison was outside the "beginning of header" block.
This meant that it could theoretically match a continuation line.
Additionally, the continuation lines of x-labels would not be
stripped, because the comparison was after the ignore variable was
reset.
Move the comparison inside the block and before the ignore reset.
2017-01-28 18:48 -0800 Kevin McCarthy <[email protected]> (d0909785d945)
* curs_main.c, globals.h, headers.c, init.c, main.c, mbox.c, mutt.h,
mx.c, pop.c, protos.h: Improve the label completion hash table
usage.
Move the hash table inside the Context. Hook message
arrival/deletion to update the label hash.
Change the label hash to strdup keys.
Use hash_find_elem when updating the counter, to reduce unnecessary
add/delete operations.
2017-01-28 18:47 -0800 David Champion <[email protected]> (66cc205ea76a)
* curs_main.c, doc/manual.xml.head, enter.c, globals.h, headers.c,
init.c, main.c, mutt.h, protos.h: Adds label completion.
A global label hash is added, to which labels are added as they're
parsed from a mailbox file or edited manually by the user. Reference
counts are kept in the hash table so that unused labels are removed
from available completions. Completion is available in the label
editor only, but it may be feasible to add for search expressions if
the preceding text ends with '~y'.
2017-01-28 18:47 -0800 Kevin McCarthy <[email protected]> (51c5e574a082)
* hash.c, hash.h: Add hash_find_elem to get the hash element.
This will be used in the following patch for directly manipulating
the label counter.
2017-01-28 18:47 -0800 David Champion <[email protected]> (169b67b5b666)
* hash.c, hash.h: Add reentrant hash_walk() function for iterating
down a hash table.
2017-01-28 18:47 -0800 Kevin McCarthy <[email protected]> (95b892b3f856)
* commands.c, copy.c, curs_main.c, functions.h, headers.c, pager.c:
Minor fixes to the x-label patch from David.
Add L10N comment to sort menu. Mark a couple strings for
localization.
Use ascii_strncasecmp() for the X-Label header comparison.
Simplify label_message() using mutt library routines.
Bind label editing to "Y" instead of "y". "y" is already used in the
default sample muttrc to display mailboxes.
2017-01-28 18:47 -0800 David Champion <[email protected]> (67525605640e)
* OPS, commands.c, copy.c, copy.h, curs_main.c, doc/manual.xml.head,
functions.h, headers.c, imap/imap.c, init.h, mh.c, mutt.h, pager.c,
protos.h, sort.c, sort.h: Adds capability to edit x-labels inside
mutt, and to sort by label.
2017-01-24 15:33 -0800 Kevin McCarthy <[email protected]> (e4ad1dc9bfbd)
* doc/manual.xml.head, init.c: Allow "unsubjectrc *" to remove all
patterns.
Thanks to Aaron Schrab for the original patch.
2017-01-23 19:01 -0800 David Champion <[email protected]> (9e876d64d3c8)
* doc/manual.xml.head, globals.h, hdrline.c, init.c, init.h, mutt.h,
muttlib.c: Add subjectrx command to replace matching subjects with
something else.
This lets you define regular expressions-replacement pairs for
subject display. When a Subject: matches the regular expression, the
replacement value will be displayed instead in the message index.
Backreferences are supported.
This is especially nice for simplifying subjects that are overly
wordy, such as mailing list posts (with [Listname] tags, etc), mail
from ticketing systems or bug trackers, etc. It lets you reduce
clutter in your mutt display without altering the messages
themselves.
2017-01-23 19:01 -0800 David Champion <[email protected]> (f05df6b258f3)
* globals.h, hcache.c, init.c, mutt.h, muttlib.c, protos.h: Abstract
the SPAM_LIST as a generic REPLACE_LIST
REPLACE_LIST can be used more generally as a list of pattern match-
replace settings. SPAM_LIST was a special case of this, so spam
handling has been been changed to use REPLACE_LIST instead, and
SPAM_LIST was removed.
A generic function for performing a REPLACE_LIST replacement has
been added in mutt_apply_replace().
Commited by Kevin McCarthy with some buffer overflow fixes in
mutt_apply_replace().
2017-01-23 18:46 -0800 Kevin McCarthy <[email protected]> (7a8ea1bb09f0)
* send.c: Improve Reply-to vs From comparison when replying. (closes
#3909)
Prior to this patch, if the Reply-to mailbox matched the From
mailbox, mutt would always use the From address. This was probably
done to preserve the display name, as the Reply-to address is often
missing one.
Unfortunately, there are circumstances where the Reply-to display-
name has significance, such as in ticket 3909.
Change mutt so that it only uses the From address if the Reply-To
has no display-name.
2017-01-19 14:58 -0800 Kevin McCarthy <[email protected]> (b57c695b7923)
* doc/manual.xml.head, init.h, sidebar.c, sort.h: Fix sidebar
references to the "new count" to be "unread". (closes #3908)
%N in $sidebar_format and "new"in $sidebar_sort_method actually use
the unread message count. Update the documentation to mention that.
Add an "unread" method to $sidebar_sort_method, but preserve "new"
for compatibility.
Change the SORT_COUNT_NEW constant to SORT_UNREAD, so the code is
also consistent with the meaning.
Thanks to cri for reporting the problem and suggesting where to fix
it in the code.
2017-01-17 16:09 -0800 Kevin McCarthy <[email protected]> (a555ada578b8)
* addrbook.c, alias.c, init.c: Fix several alias hashtable issues.
Convert to use the strdup keys hash. Addresses can be converted back
and forth from intl to local forms. This frees and recreates a new
addr->mailbox string, resulting in the hash table key being a
dangling pointer.
Change alias hash table insert/remove to ensure the address is in
intl form. The alias menu (previously) converted address entries to
local form when performing a completion. Even with the pointer issue
fixed, the entries may not be removed from the hash if the intl and
local forms are different.
Lastly, there is no reason for the alias menu to manually convert to
local form before writing the address to the output buffer.
rfc822_write_address() has a display parameter that will call
mutt_addr_for_display() instead when set. Change to set the display
parameter and remove the conversion calls.
This last change obviates the first two changes, but they are a good
idea in any case.
2017-01-17 16:09 -0800 Kevin McCarthy <[email protected]> (fc6990144167)
* hash.c, hash.h, init.c: Add casecmp and strdup_key flags to
hash_create()
Aliases and (in the future), X-Label hashes will require a hash that
strdups the key. Convert the casecmp parameter of hash_create() to a
flags parameter, and add a flag to strdup the keys.
2017-01-15 10:00 -0800 Kevin McCarthy <[email protected]> (ac1a2af3aff4)
* mx.c: Improve error handling in mbox magic detection.
Thanks to Simon Ruderich for pointing out several small issues with
the previous commit.
2017-01-14 19:18 -0800 David Champion <[email protected]> (945a3f4b15c7)
* mx.c: Allow initial blank lines in local mailboxes.
Some mailbox-creation tools erroneously append a blank line to a
file before appending a UNIXv7-format mail message, resulting in
mailboxes that are intended to be valid "mbox" folders but are not.
Notably old versions of Mailman do this, making archive files that
cannot be read by mutt.
This patch causes mutt to skip leading NLs and CRs when detecting
magic.
2017-01-10 14:48 -0800 Simon Ruderich <[email protected]> (79306170e367)
* doc/manual.xml.head, doc/muttrc.man.head: Fix minor documentation
issues.
manual.xml: Wrap line for clarity.
muttrc.man: Remove superfluous spaces in brackets. Add missing error
object in color command. Sort the prompt object. Add sidebar color
objects.
2017-01-06 14:37 -0800 Kevin McCarthy <[email protected]> (7c0e7a0769e4)
* imap/command.c: Convert cmd_parse_search to use the uid hash.
(closes #3905)
Replace the linear scan for each result with a hash lookup. This
should greatly improve performance for large mailboxes.
2017-01-06 14:23 -0800 Kevin McCarthy <[email protected]> (1ad1013cbf5b)
* imap/imap.c, imap/imap_private.h, imap/message.c: Create a uid hash
for imap. (see #3905)
This hash will allow for more efficient UID SEARCH processing,
replacing a linear scan with a hash lookup.
2017-01-06 14:17 -0800 Kevin McCarthy <[email protected]> (ebb93147aec7)
* hash.c, hash.h, thread.c: Convert HASH to be indexable by unsigned
int. (see #3905)
Convert the HASH to be usable for either string or unsigned int
keys, so that a uid hash can be added for imap.
To keep hash-usage code disruption to a minimum, this introduces new
create/insert/find/delete functions for the int hash, but keeps the
old function names for string keys.
This implementation makes the key a union. It may have been a better
idea to introduce a whole new structure, but this way allows minimum
changes to and maximum reuse of the existing hash code.
2017-01-04 19:45 -0800 Kevin McCarthy <[email protected]> (4f0a84b954ef)
* imap/command.c: Fix imap server-side search to call uid2msgno() only
once. (see #3905)
After performing a UID SEARCH, the results are parsed in
cmd_parse_search(). This was accidentally calling uid2msgno() twice.
Since that function does a linear search, this has a noticable
impact on large search results.
2017-01-02 18:08 -0800 Kevin McCarthy <[email protected]> (23b02a482bde)
* curs_main.c, hook.c, mutt.h, pattern.c, protos.h, score.c: Add a
pattern_cache_t to speed up a few repeated matches.
Vincent Lefèvre reported experiencing an index display performance
issue. This occurred with messages containing many recipients. He
had many index color lines containing ~l. The ~l ended up being run
over and over on these messages, resulting in a noticable slowdown
displaying the index.
This patch adds caching for just a few of the pattern operations
(~l, ~u, ~p, ~P) that are potentially expensive and also don't have
arguments. The caching is only enabled for operations repeatedly
matching against the same message: color, hooks, scoring.
The caching is fairly targeted, but isn't that invasive or
complicated.
2016-12-31 19:57 -0800 Kevin McCarthy <[email protected]> (2bc2ec9ac664)
* crypt_gpgme.c: Canonicalize line endings for GPGME S/MIME
encryption. (closes #3904)
This matches the behavior for S/MIME classic mode: OpenSSL converts
the line endings to cr/lf before encrypting. Although Mutt always
canonicalizes the line endings before verifying the signature, some
clients do not do this for encrypted messages.
Thanks to cooler for the patch!
2016-12-27 15:23 -0800 Kevin McCarthy <[email protected]> (4cb0cd767af2)
* globals.h, hdrline.c, init.h, status.c: Make to_chars and
status_chars accept mulitibyte characters. (closes #3024)
Change Tochars and StChars to use the mbchars_table type introduced
in the last commit.
2016-12-27 15:23 -0800 Kevin McCarthy <[email protected]> (1d054932abfb)
* doc/makedoc.c, init.c, init.h, mutt.h: Create mbchar_table type for
multibyte character arrays. (see #3024)
This type is to allow multibyte characters in to_chars and
status_chars while preserving efficient indexing to each character.
The arrays are tokenized during initialization, and are re-tokenized
as the values are unset, reset, and set.
2016-12-25 23:31 +0100 Vincent Lefevre <[email protected]> (1303567a6ad1)
* doc/manual.xml.head: In the manual, replaced 2 para by example
(similar to the first example).
2016-12-13 12:19 -0800 David Champion <[email protected]> (b112fd7061fb)
* curs_main.c, init.h, mutt.h: Add option to control whether threads
uncollapse when new mail arrives.
Adds $uncollapse_new: when set, the default, a collapsed thread into
which a new message arrives will be uncollapsed to reveal the new
message.
2016-12-13 12:02 -0800 Richard Russon <[email protected]> (1f04f9145eb1)
* OPS: Remove unused OPS
OP_MAIN_FIRST_MESSAGE and OP_MAIN_LAST_MESSAGE were added to the
code 19 years ago. They weren't used then; they haven't been used
since.
2016-12-13 11:16 -0800 Michał Kępień <[email protected]> (b985c324932b)
* mutt_ssl.c: Rework OpenSSL certificate verification to support
alternative chains. (closes #3903)
The way Mutt currently verifies SSL certificates using OpenSSL does
not support alternative chains, which may cause confusion when some
popular mail providers (e.g. Gmail) are used with specific sets of
trusted CA certificates.
Replace the "manual" verification done by mutt in
check_certificate_by_signer() with SSL_set_verify() using a
callback. OpenSSL then does the certificate verification, including
properly looking at alternative chains. The callback still provides
the opportunity to override using ~/.mutt_certificates or an
interactive prompt.
2016-12-11 18:56 -0800 David Champion <[email protected]> (8a23708d978b)
* doc/manual.xml.head, init.c, init.h, main.c, system.c: Add
setenv/unsetenv commands.
These can be used to add and remove environment variables passed to
children via mutt_system().
Commited by Kevin McCarthy with some cleanup.
2016-12-06 19:07 -0800 Kevin McCarthy <[email protected]> (df1d1e379477)
* doc/manual.xml.head: Move '@' pattern modifier documentation to the
right section.
Somehow, the patch got out of date and the documentation shifted to
another section. Relocate back to the "Pattern Modifier" section.
2016-12-04 16:04 -0800 Kevin McCarthy <[email protected]> (d930e39ec095)
* merge stable
2016-12-04 16:03 -0800 Kevin McCarthy <[email protected]> (b9d34372a940)
* .hgsigs: mutt-1.7.2 signed
2016-12-04 16:01 -0800 Kevin McCarthy <[email protected]> (954f9049e4b3)
* .hgtags: Added tag mutt-1-7-2-rel for changeset 99f5624d1f52
2016-12-04 16:01 -0800 Kevin McCarthy <[email protected]> (99f5624d1f52)
* ChangeLog, UPDATING, VERSION: automatic post-release commit for
mutt-1.7.2
2016-12-04 15:41 -0800 Kevin McCarthy <[email protected]> (a17189b58284)
* crypt_gpgme.c, mutt_ssl.c: merge stable
2016-11-26 00:57 +0100 Vincent Lefevre <[email protected]> (a0a970530a8b)
* crypt_gpgme.c, crypt_gpgme.h, crypt_mod_pgp_gpgme.c: Fix build
failure with GPGME 1.8: do not steal the gpgme_ prefix.
2016-11-19 19:35 -0800 Kevin McCarthy <[email protected]> (10c4761cea89)
* mutt_ssl.c: More openssl1.1 fixes: remove uses of X509->name in
debugging. (closes #3870)
X509->name was a shortcut for the longer name = X509_NAME_oneline
(X509_get_subject_name (cert), buf, sizeof (buf)); invocation.
Change the debugging to print the cert name and chain names in the
ssl_check_certificate() loop instead.
2016-09-07 20:00 -0700 TAKAHASHI Tamotsu <[email protected]> (2c1d79d3edd5)
* configure.ac, mutt_ssl.c: Fix openssl 1.1 compilation issues.
(closes #3870)
With these changes, Mutt will no longer compile for versions less
than 0.9.6.
2016-12-03 15:24 -0800 Kevin McCarthy <[email protected]> (d6c10244793f)
* sidebar.c: Change sidebar_spoolfile coloring to be lower precedence.
Give sidebar_new and sidebar_flagged higher precedence than
sidebar_spoolfile, so that new and flagged message colors will show
up for the spoolfile in the sidebar.
Thanks to Till Smejkal for the original patch.
2016-11-29 17:48 -0800 Kevin McCarthy <[email protected]> (d72caeecf4af)
* curs_main.c: Return to pager upon aborting a jump operation. (closes
#3901)
2016-11-29 17:44 -0800 Kevin McCarthy <[email protected]> (1196c859942e)
* lib.h, mutt_ssl.c: Add mutt_array_size macro, change
interactive_check_cert() to use it. (see #3899)
While I have reservations about the construct, it does make the
interactive_check_cert() menu->max and part loop less fragile.
2016-11-29 17:44 -0800 Kevin McCarthy <[email protected]> (1a2dc7b21b5b)
* mutt_ssl.c: Improve openssl interactive_check_cert. (closes #3899)
Don't use X509_NAME_oneline() with a fixed size buffer, which could
truncate the string, perhaps leaving off the CN field entirely.
Instead, work directly off the X509_NAME.
Rather than use strstr to tokenize it, call
X509_NAME_get_text_by_NID() with the nid types. Although
X509_NAME_get_text_by_NID() is "legacy", it is the most directly
useful for mutt in this simple interactive prompt.
The function was set up to include the ST and C fields in the
prompt, but the loop limit was too low. I believe this was an
oversight, so increase the loop to include those two fields.
2016-11-26 00:57 +0100 Vincent Lefevre <[email protected]> (84ad86e8b8ab)
* crypt_gpgme.c, crypt_gpgme.h, crypt_mod_pgp_gpgme.c: Fix build
failure with GPGME 1.8: do not steal the gpgme_ prefix.
2016-11-22 03:48 +0100 Vincent Lefevre <[email protected]> (b22c5d0e299d)
* mutt_ssl.c: Corrected comment.
2016-11-21 18:03 -0800 Kevin McCarthy <[email protected]> (65f180f2904f)
* mutt_ssl.c: Revert db13010a2e8d but add a comment. (see #3870)
X509_NAME_oneline() always NULL-terminates the string, even when it
has to truncate the data to fit in buf.
2016-11-21 23:10 +0100 Vincent Lefevre <[email protected]> (db13010a2e8d)
* mutt_ssl.c: Make sure that the output of X509_NAME_oneline is null-
terminated.
2016-11-20 16:19 -0800 Kevin McCarthy <[email protected]> (c770d2fa615b)
* mutt_tunnel.c: Minor resource and error logic cleanup in
tunnel_socket_open()
Free the conn->sockdata on failure. conn->fd is not set until the
bottom, and before it is set, conn->conn_close() will not be called.
Close the pin pipe if the pout pipe fails.
Call mutt_perror first on a fork failure. Calling after the close()
may cause errno to be changed on a close failure.
2016-11-20 16:19 -0800 Kevin McCarthy <[email protected]> (b319ec2dc93a)
* mutt_tunnel.c: Don't close stderr when opening a tunnel. (closes
#3726)
Instead of closing stderr, redirect it to /dev/null in
tunnel_socket_open(). Otherwise a program can accidentally open a
file into handle 2 and then unknowingly use that when trying to
print to stderr.
Thanks to lotheac for the original patch, which I just modified
slightly.
2016-11-19 19:35 -0800 Kevin McCarthy <[email protected]> (695243ba6374)
* mutt_ssl.c: More openssl1.1 fixes: remove uses of X509->name in
debugging. (closes #3870)
X509->name was a shortcut for the longer name = X509_NAME_oneline
(X509_get_subject_name (cert), buf, sizeof (buf)); invocation.
Change the debugging to print the cert name and chain names in the
ssl_check_certificate() loop instead.
2016-11-20 01:41 +0100 Vincent Lefevre <[email protected]> (d14ffd58d976)
* po/fr.po: Updated French translation.
2016-11-18 15:54 -0800 Kevin McCarthy <[email protected]> (4bed0172c27b)
* OPS, curs_main.c, functions.h: Fix mark-message translation and
keybind menu.
Move the OP_MARK_MESSAGE and hotkey macro from MENU_GENERIC to the
MENU_MAIN keymap. Putting the macro under generic prevents it from
overriding a keybinding in the index (even if the function is bound
to noop). Additionally, the macro can only be executed from the
index, so it doesn't make sense as a generic keybinding.
Use the term "hotkey" in both the OPS and km_bind description.
Mark the km_bind description translatable.
Add L10N messages for the new translation strings.
2016-11-18 14:20 -0800 Kevin McCarthy <[email protected]> (46194ca48b2f)
* compress.c: Improve two compress translation messages.
Change the "Error executing" to "Error running", which is used in
multiple places elsewhere in mutt. This also removes the unnecessary
newline.
Remove the leading space in the "Error compressing" message, and
change it to match the error message in editmsg.c.
2016-11-18 18:17 +0100 Vincent Lefevre <[email protected]> (174062d0abed)
* po/fr.po: Updated French translation.
2016-11-18 17:00 +0100 Vincent Lefevre <[email protected]> (8fa4965beb62)
* curs_main.c: Make a string translatable.
2016-11-18 16:59 +0100 Vincent Lefevre <[email protected]> (c15cacbfabe5)
* smime.c: Make a string translatable. Add a missing space at the end.
2016-11-18 13:07 +0100 Vincent Lefevre <[email protected]> (c1befb06b4bd)
* po/fr.po: Updated French translation (except for 1 string).
2016-11-18 12:32 +0100 Vincent Lefevre <[email protected]> (211afb39a22a)
* INSTALL: Updated requirement on the C compiler.
2016-11-17 17:54 -0800 Kevin McCarthy <[email protected]> (fa32396b5e26)
* init.c: Revert changes made to mutt_find_cfg() in 3c6d322912e3
The usage of MUTT_VERSION in mutt_find_cfg() was fine before the
commit: it wasn't using MUTT_VERSION inlined into a string with
format string substitution.
Revert to the version of mutt_find_cfg() before that changeset.
2016-11-17 15:57 -0800 David Champion <[email protected]> (022b604bc46d)
* OPS, curs_main.c, doc/manual.xml.head, functions.h, globals.h,
init.h: Adds <mark-message> binding to create "hotkeys" for
messages.
<mark-message>foo<enter> will create a new macro "'foo" which will
return to the current message by searching for that message's
message id. The initial character of the macro is defined by
$mark_macro_prefix, and defaults to "'" for verisimilitude vs. vi.
Pushed by Kevin McCarthy with a minor fix.
2016-11-17 15:07 -0800 Kevin McCarthy <[email protected]> (3c6d322912e3)
* commands.c, compose.c, dotlock.c, init.c, muttlib.c, status.c:
Backout inlining of MUTT_VERSION in 42fee7585fae.
If MUTT_VERSION contains a %, this will result in problems.
2016-11-16 16:05 -0800 David Champion <[email protected]> (91b3449f426b)
* doc/manual.xml.head, mutt.h, pattern.c: Adds the '@' pattern
modifier to limit matches to known aliases.
Example: ~f joe matches messages from joe. @~f joe matches messages
from any joe who is defined as an alias.
Pushed by Kevin McCarthy with two minor cosmetic fixes.
2016-11-16 15:43 -0800 David Champion <[email protected]> (03aa03293c1d)
* flags.c, init.h, mh.c, mutt.h: When $flag_safe is set, flagged
messages cannot be deleted.
This saves them from bulk operations on threads and tagged messages.
To remove a flagged message, first unflag it.
2016-11-15 12:04 -0800 Kevin McCarthy <[email protected]> (5382e1e4cee1)
* muttbug.sh.in: Fix muttbug to check $XDG_CONFIG_HOME.
Fall back to $HOME/.config if $XDG_CONFIG_HOME is not set.
2016-11-15 12:03 -0800 Kevin McCarthy <[email protected]> (0ef0f4d15f75)
* init.c: Fix loop terminator in in mutt_find_cfg().
Keep searching even if home is NULL.
2016-11-14 11:02 -0800 Kevin McCarthy <[email protected]> (c78753f98e34)
* doc/makedoc_defs.h: Ensure the compressed documentation is always
built.