about summary refs log tree commit diff
Commit message (Collapse)AuthorAgeFilesLines
* mflow: fixed lines were not wrapped, add test suiteLeah Neukirchen2022-01-012-22/+180
| | | | Reported by ninewise.
* NEWS.md: update for 1.2 v1.2Leah Neukirchen2021-12-122-2/+7
|
* mcom: take Delivered-To into account for choosing From addressStacy Harper2021-11-081-1/+1
| | | | | | | | | | | I just received a mail coming from a Google Group mail list and it had the group email as To. So my reply used the default configured mail as from and not the correct one. Googles mails provide the target email as Delivered-To. This patch add this check before the To to prevent this error. Closes: #217 [via git-merge-pr]
* mlesskey.example: clarify installationLeah Neukirchen2021-10-071-1/+3
|
* rfc2047: skip whitespace everywhere during base64 decodingLeah Neukirchen2021-10-042-8/+41
| | | | | | | | | | > The encoded output stream must be represented in lines of no more > than 76 characters each. All line breaks or other characters not > found in Table 1 must be ignored by decoding software. In base64 > data, characters other than those in Table 1, line breaks, and other > white space probably indicate a transmission error, about which a > warning message or even a message rejection might be appropriate > under some circumstances.
* mless: prefer setting LESSKEYIN and .mlesskeyLeah Neukirchen2021-09-283-2/+16
| | | | Fixes #215.
* mrep/mbnc/mfwd: fix sequence after changing flags of (likely) curLeah Neukirchen2021-09-241-0/+3
| | | | | | | Else tools like mless lose track of cur and jump around after these actions. Closes #214.
* blaze822: blaze822/blaze822_mem: detect line ending before scanning end of ↵Leah Neukirchen2021-08-302-12/+60
| | | | | | | | | | | | header A mail using CRLF which contained (for some reason) a LFLF pair would be misparsed as the header was read until the LFLF. Instead, scan for the first LF, check if it's preceded by CR, and then search for the proper header terminator only. Closes #212.
* blaze822: remove blaze822_mmap, never used.Leah Neukirchen2021-08-302-50/+0
|
* mmime: ensure no empty parts are generated after an include.Leah Neukirchen2021-08-072-5/+19
| | | | Reported by lhynes.
* mpick: remove dead codeLéo Villeveygoux2021-07-061-4/+2
| | | | | It would load the seq file even when unused (and complain when it's not found). Message-Id: <20210706174750.246026-1-l@vgx.fr>
* 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; '