summary refs log tree commit diff
Commit message (Collapse)AuthorAgeFilesLines
* msed: match header names case insensitivelyLeah Neukirchen2021-05-101-1/+1
| | | | Found by skarnet.
* mexport: use UTC timestamp in the postmark lineLeah Neukirchen2021-05-091-1/+1
|
* mexport: default timestamp to unix second 0, not -1Leah Neukirchen2021-05-091-1/+1
| | | | This is better recognizable as "no data".
* NEWS.md: updateLeah Neukirchen2021-05-091-0/+7
|
* t/1900-mdeliver.t: add test for malformed mboxesLeah Neukirchen2021-05-091-0/+16
|
* mdeliver: ignore last empty line of mbox entriesLeah Neukirchen2021-05-092-3/+85
| | | | | | | | | | 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.
* mexport: ensure mbox entries are separated by an empty lineLeah Neukirchen2021-05-092-0/+29
| | | | | | | | 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.
* mmime: do not duplicate Content* headersLeah Neukirchen2021-05-092-8/+69
| | | | | | | | | 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.
* mcom: also read $VISUAL to find the editorLeah Neukirchen2021-04-212-3/+5
| | | | Closes #206.
* safe_u8putstr: add oneline mode that prints CR/LF as C0 sequencesLeah Neukirchen2021-03-153-17/+18
|
* mdeliver.1: spellingLeah Neukirchen2021-02-051-1/+1
|
* mdeliver.1: small tweaksLeah Neukirchen2021-02-041-2/+3
|
* GNUmakefile: run tests without stdin connected to a terminalLeah Neukirchen2021-01-271-1/+1
|
* t/8000-mflag.t: fix when stdin is not a ttyLeah Neukirchen2021-01-271-8/+8
|
* t/6000-msort.t: fix when stdin is not a ttyLeah Neukirchen2021-01-271-5/+5
|
* t/3000-magrep.t: fix when stdin is not a ttyLeah Neukirchen2021-01-271-10/+10
|
* mshow: show last part of multipart/mixed when none matchedLeah Neukirchen2021-01-172-2/+9
| | | | This is in conformance with RFC 1341.
* mshow: add "-A all" to render all attachmentsLeah Neukirchen2021-01-173-7/+17
| | | | Closes #198.
* Fix typo in NEWSnicoo2021-01-141-1/+1
| | | | Closes: #199 [via git-merge-pr]
* NEWS.md: update for 1.1 v1.1Leah Neukirchen2021-01-142-1/+8
|
* mcom: do not match shebang in needs_multipart()codesoap2021-01-041-1/+1
| | | | | | Avoids matching lines like '#!/usr/bin/env sh'. Closes: #196 [via git-merge-pr]
* mmime: allow # in include lines, used to override the content-dispositionLeah Neukirchen2020-12-222-2/+29
|
* rfc2045: blaze822_multipart: parse rest when boundary is missingLeah Neukirchen2020-12-091-2/+2
| | | | | Either the mail got truncated or was wrongly generated, try to go on by taking the remains of the buffer as part.
* Allow gpg and gpg2 executables for gnupg interactionJames Rowe2020-11-244-5/+29
| | | | Closes: #193 [via git-merge-pr]
* rfc2045: mymemmemnl: make more check idiomaticLeah Neukirchen2020-11-121-1/+1
|
* rfc2045: fix overread in blaze822_mime_parameterLeah Neukirchen2020-11-121-0/+2
| | | | This triggered an invalid read in strchr on 'Content-Type: text/html; '
* rfc2045: ensure mime boundaries end with a newline or -Leah Neukirchen2020-11-122-2/+63
|
* mcom: detect and report mmime errorsLeah Neukirchen2020-11-081-1/+5
| | | | Closes #191.
* mmime: propagate errors when attaching a file failsLeah Neukirchen2020-11-081-2/+4
|
* Fix typo in NEWSnicoo2020-11-021-2/+2
| | | | Closes: #190 [via git-merge-pr]
* add contrib/mmailtoLeah Neukirchen2020-10-151-0/+58
| | | | | | | | 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.
* contrib/_mblaze: silence mseq errorsJames Rowe2020-10-101-1/+1
| | | | | | | 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]
* t/7000-mseq.t: use printf for robustnessLeah Neukirchen2020-10-091-1/+1
|
* mcom: allow tilde prefixed path for profile's outbox settingJames Rowe2020-10-081-1/+1
| | | | Closes: #187 [via git-merge-pr]
* mpick: use function pointer type for callbackMichael Forney2020-09-251-1/+1
| | | | | | | | 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]
* include strings.h for str(n)casecmpMichael Forney2020-09-254-0/+4
| | | | | | 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.
* README: updateLeah Neukirchen2020-09-121-4/+5
|
* NEWS.md: update for 1.0 v1.0Leah Neukirchen2020-09-122-2/+8
|
* mgenmid: fix pledge, needs dnsLeah Neukirchen2020-09-071-1/+1
| | | | Found by lhynes.
* mpick: relax pledge for redirectsLeah Neukirchen2020-09-061-1/+1
| | | | | This allows mpick to create files and run popen. In the future, we can only pledge this if these features are actually used.
* pledge(2) all programsTim Kuijsten2020-09-0621-1/+100
| | | | | | | | | | | | | | | | 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]
* mmime: allow ; and =, for ";charset="Leah Neukirchen2020-08-221-1/+2
|
* t/7000-mseq.t: add test for 74857db19Leah Neukirchen2020-08-141-1/+2
|
* t/5000-mscan.t: typoLeah Neukirchen2020-08-111-1/+1
|
* mseq: reinitialize iter for each command line argumentLeah Neukirchen2020-08-111-1/+1
| | | | Fixes #181.
* t/5000-mscan.t: add test for b41d2efLeah Neukirchen2020-08-111-1/+3
|
* seq: blaze822_loop: reinitialize iter for each command line argumentLeah Neukirchen2020-08-111-1/+1
|
* msort: order: remove dead assignmentLeah Neukirchen2020-08-101-3/+3
| | | | Found by scan-build/clang 10.0.0
* seq: blaze822_seq_load: remove dead assignmentLeah Neukirchen2020-08-101-2/+2
| | | | Found by scan-build/clang 10.0.0
* seq: fix infinite loop when selecting thread of orphaned messageJeremy Bobbin2020-08-101-1/+1
| | | | | | | printf ' a\n' | mseq -S mseq .= Closes: #180 [via git-merge-pr]