Commit Graph

1101 Commits

Author SHA1 Message Date
Leah Neukirchen
41c681362d NEWS.md: update 2021-05-09 22:00:32 +02:00
Leah Neukirchen
8ba44643e4 t/1900-mdeliver.t: add test for malformed mboxes 2021-05-09 22:00:32 +02:00
Leah Neukirchen
669af4ffca mdeliver: ignore last empty line of mbox entries
https://www.loc.gov/preservation/digital/formats/fdd/fdd000383.shtml
> Each message is immediately prefaced by a separation line and
> terminated by an empty line.

Bug discovered by skarnet.

Fixes #207.
2021-05-09 22:00:32 +02:00
Leah Neukirchen
7d04932813 mexport: ensure mbox entries are separated by an empty line
https://www.loc.gov/preservation/digital/formats/fdd/fdd000383.shtml
> Each message is immediately prefaced by a separation line and
> terminated by an empty line.

Bug discovered by skarnet.
2021-05-09 22:00:32 +02:00
Leah Neukirchen
5b52110399 mmime: do not duplicate Content* headers
Do not add additional Content-Type and Content-Transfer-Encoding headers
when using mmime on input already containing them.

Do not reencode the message if Content-Transfer-Encoding is set.

Based on a patch by Felix Van der Jeugt and duncaen.
2021-05-09 16:23:18 +02:00
Leah Neukirchen
93e8a4a892 mcom: also read $VISUAL to find the editor
Closes #206.
2021-04-21 15:10:28 +02:00
Leah Neukirchen
e8981b723d safe_u8putstr: add oneline mode that prints CR/LF as C0 sequences 2021-03-15 21:35:16 +01:00
Leah Neukirchen
709f8f1121 mdeliver.1: spelling 2021-02-05 16:57:47 +01:00
Leah Neukirchen
41cf6272a5 mdeliver.1: small tweaks 2021-02-04 17:23:37 +01:00
Leah Neukirchen
ff7537f6a7 GNUmakefile: run tests without stdin connected to a terminal 2021-01-27 18:11:13 +01:00
Leah Neukirchen
741972a416 t/8000-mflag.t: fix when stdin is not a tty 2021-01-27 18:10:26 +01:00
Leah Neukirchen
c2d497b139 t/6000-msort.t: fix when stdin is not a tty 2021-01-27 18:09:34 +01:00
Leah Neukirchen
2d6de31cd7 t/3000-magrep.t: fix when stdin is not a tty 2021-01-27 18:08:39 +01:00
Leah Neukirchen
e96f0707de mshow: show last part of multipart/mixed when none matched
This is in conformance with RFC 1341.
2021-01-17 23:23:52 +01:00
Leah Neukirchen
318ac214f1 mshow: add "-A all" to render all attachments
Closes #198.
2021-01-17 23:09:55 +01:00
nicoo
8e0d57425f Fix typo in NEWS
Closes: #199 [via git-merge-pr]
2021-01-14 17:24:31 +01:00
Leah Neukirchen
4fcb4ae0a4 NEWS.md: update for 1.1 2021-01-14 16:45:22 +01:00
codesoap
8ad63494bf mcom: do not match shebang in needs_multipart()
Avoids matching lines like '#!/usr/bin/env sh'.

Closes: #196 [via git-merge-pr]
2021-01-04 19:27:16 +01:00
Leah Neukirchen
c525c0097e mmime: allow # in include lines, used to override the content-disposition 2020-12-22 13:42:22 +01:00
Leah Neukirchen
f95439a988 rfc2045: blaze822_multipart: parse rest when boundary is missing
Either the mail got truncated or was wrongly generated, try to go on
by taking the remains of the buffer as part.
2020-12-09 23:22:05 +01:00
James Rowe
bc021c53b6 Allow gpg and gpg2 executables for gnupg interaction
Closes: #193 [via git-merge-pr]
2020-11-24 14:15:29 +01:00
Leah Neukirchen
6a8543e321 rfc2045: mymemmemnl: make more check idiomatic 2020-11-12 16:42:36 +01:00
Leah Neukirchen
c43538fae9 rfc2045: fix overread in blaze822_mime_parameter
This triggered an invalid read in strchr on 'Content-Type: text/html; '
2020-11-12 15:55:40 +01:00
Leah Neukirchen
5167bbfe39 rfc2045: ensure mime boundaries end with a newline or - 2020-11-12 15:28:49 +01:00
Leah Neukirchen
5e6151e3bf mcom: detect and report mmime errors
Closes #191.
2020-11-08 15:10:04 +01:00
Leah Neukirchen
48c20b7efa mmime: propagate errors when attaching a file fails 2020-11-08 14:55:36 +01:00
nicoo
a825b4f8f4 Fix typo in NEWS
Closes: #190 [via git-merge-pr]
2020-11-02 10:03:08 +01:00
Leah Neukirchen
b076d09f3a add contrib/mmailto
Closes #189.

This does not work with terminal emulators that don't use -e or
properly support arbitrary arguments after it.  Here's a nickel,
get yourself a proper terminal emulator.
2020-10-15 17:11:35 +02:00
James Rowe
5d8f070e26 contrib/_mblaze: silence mseq errors
On the first run or if you manually delete your sequence file, mseq
errors will break your prompt when you hit tab.

Closes: #188 [via git-merge-pr]
2020-10-10 20:48:06 +02:00
Leah Neukirchen
4d566a6afe t/7000-mseq.t: use printf for robustness 2020-10-09 15:38:49 +02:00
James Rowe
0180f649d2 mcom: allow tilde prefixed path for profile's outbox setting
Closes: #187 [via git-merge-pr]
2020-10-08 14:27:20 +02:00
Michael Forney
02e4cf4001 mpick: use function pointer type for callback
Though POSIX requires this conversion to work correctly (for dlsym),
it is not valid in ISO C, so it is better to just uses the appropriate
function pointer type.

Closes: #185 [via git-merge-pr]
2020-09-25 14:53:47 +02:00
Michael Forney
50dfdf5605 include strings.h for str(n)casecmp
These POSIX functions are declared in strings.h, so include this
header explicitly instead of relying on the libc's default feature-test
macros to include it through string.h.
2020-09-25 14:53:47 +02:00
Leah Neukirchen
d2621a715b README: update 2020-09-12 18:19:39 +02:00
Leah Neukirchen
2c8acab338 NEWS.md: update for 1.0 2020-09-12 18:14:35 +02:00
Leah Neukirchen
07ee45cf31 mgenmid: fix pledge, needs dns
Found by lhynes.
2020-09-07 16:01:26 +02:00
Leah Neukirchen
ccceb10908 mpick: relax pledge for redirects
This allows mpick to create files and run popen.
In the future, we can only pledge this if these features are actually used.
2020-09-06 16:56:18 +02:00
Tim Kuijsten
4763032430 pledge(2) all programs
All programs except mshow have a very tight set of promises. mshow
has a broad set of promises and might be a good future candidate
to further restrict using unveil(2).

This patch is based on commit 0300a112 by Alex Holst (dated
2017-12-07), which was proposed in GH PR #79.

* pledged mpick, mflow and mdate so that now all programs are pledged
* removed some unneeded promises and added some missing promises
* move err.h include and OpenBSD ifdef into a new xpledge.h
* cleaned up code aligning and whitespace

Closes: #179 [via git-merge-pr]
2020-09-06 16:34:56 +02:00
Leah Neukirchen
6bd687bfdc mmime: allow ; and =, for ";charset=" 2020-08-22 15:15:26 +02:00
Leah Neukirchen
1e9f6cd06b t/7000-mseq.t: add test for 74857db19 2020-08-14 15:43:41 +02:00
Leah Neukirchen
6649576fda t/5000-mscan.t: typo 2020-08-11 14:54:35 +02:00
Leah Neukirchen
74857db199 mseq: reinitialize iter for each command line argument
Fixes #181.
2020-08-11 14:40:51 +02:00
Leah Neukirchen
32b5837bfd t/5000-mscan.t: add test for b41d2ef 2020-08-11 14:40:20 +02:00
Leah Neukirchen
b41d2efa40 seq: blaze822_loop: reinitialize iter for each command line argument 2020-08-11 12:21:10 +02:00
Leah Neukirchen
92bb41fa73 msort: order: remove dead assignment
Found by scan-build/clang 10.0.0
2020-08-10 22:28:27 +02:00
Leah Neukirchen
b2a6e3dcc0 seq: blaze822_seq_load: remove dead assignment
Found by scan-build/clang 10.0.0
2020-08-10 22:26:45 +02:00
Jeremy Bobbin
3f61249c05 seq: fix infinite loop when selecting thread of orphaned message
printf ' a\n' | mseq -S
mseq .=

Closes: #180 [via git-merge-pr]
2020-08-10 22:22:11 +02:00
Leah Neukirchen
04ed2d439a mshow: refactor, use charset logic in reply_mime too 2020-08-08 17:01:26 +02:00
Leah Neukirchen
a02c7e451b contrib/mrecode: assume UTF-8 for unknown-8bit or x-unknown charsets 2020-08-08 16:53:06 +02:00
Leah Neukirchen
bb8054c2ff mshow: assume UTF-8 for unknown-8bit or x-unknown charsets 2020-08-08 16:52:55 +02:00