about summary refs log tree commit diff
Commit message (Collapse)AuthorAgeFilesLines
* mblaze-profile.5: clarify Reply-From wipLeah Neukirchen2021-06-181-8/+7
|
* t/1000-mmime.t: add tests for recent changesLeah Neukirchen2021-06-181-1/+27
|
* mmime: keep (none) whitespace after quoted stringsLeah Neukirchen2021-06-181-1/+3
|
* mmime: generate valid empty mime multipart/mixed when no body is givenLeah Neukirchen2021-06-181-1/+3
|
* mcom: use mhdr -d -A even when extracting From: headersLeah Neukirchen2021-06-181-2/+2
| | | | | | | | | | | We only want to decode the display part of the addresses only. Mails with a From: like From: "Non-ASCII Lastname, Firstname" <mail@example.org> resulted in To: lines like To: Non-ASCII Lastname, Firstname <mail@example.org> which would send to two addresses. Use -A to ensure proper decoding and quoting, even if its just a single address in From.
* maddr: decode only display part of addressLeah Neukirchen2021-06-181-5/+7
| | | | | | RFC 2047.6.2: NOTE: Decoding and display of encoded-words occurs *after* a structured field body is parsed into tokens.
* mhdr: print_addresses: decode only display part of addressLeah Neukirchen2021-06-181-7/+7
| | | | | | RFC 2047.6.2: NOTE: Decoding and display of encoded-words occurs *after* a structured field body is parsed into tokens.
* mmime: print_header: encode quoted-strings at onceLeah Neukirchen2021-06-181-3/+29
| | | | | | | | | | | | | | This is maybe a foul compromise between correctness and complexity of implementation, but it should do the right thing in most cases, and does not require fully parsing and reconstructing all headers that can contain phrases. An 'encoded-word' MUST NOT appear within a 'quoted-string'. We thus completely encode the quoted-string (if necessary) as a single encoded-word, and strip off the quotes. This should fix encoding of addresses that have both non-ASCII and special chars such as , and ;.
* mmime: be more careful when qp-encoding in headersLeah Neukirchen2021-06-181-0/+9
| | | | | | | | Characters such as , or ; mustn't appear in qp-encoded strings, as they have a meaning in phrases. To be safe, encode all special characters except for the safe ones in RFC 2047 5.(3). _ is dealt with already.
* t/1500-maddr.t: deactivate invalid test caseLeah Neukirchen2021-06-181-2/+2
| | | | An 'encoded-word' MUST NOT appear in any portion of an 'addr-spec'.
* mless: list same number of mails whether we're at the beginning or endDominik Honnef2021-06-071-1/+10
|
* mblaze.7: IRC moved to libera.chat.Leah Neukirchen2021-05-202-2/+2
|
* t/1900-mdeliver.t: fix planLeah Neukirchen2021-05-101-1/+1
|
* 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
|