summaryrefslogtreecommitdiffstats
path: root/melib/src/email/parser.rs
AgeCommit message (Collapse)Author
2020-11-21Fix test errors and warningsManos Pitsidianakis
2020-10-26melib: add more encodingsManos Pitsidianakis
Add more encodings already supported by `encoding` crate: - iso-8859-3, - iso-8859-4, - iso-8859-5, - iso-8859-6, - iso-8859-8, - iso-8859-10, - iso-8859-13, - iso-8859-14, - iso-8859-16, - gb-2312 - big-5 - iso-2022-jp - euc-jp - koi8-r - koi8-u - utf-16
2020-09-25melib/list_management: don't ignore "NO" in List-PostManos Pitsidianakis
2020-09-24melib: add README.md and email module docoManos Pitsidianakis
2020-09-16melib/email: smarter attachment detectionManos Pitsidianakis
Look for Content-Disposition: attachment to detect attachments
2020-09-16melib/email/parser: impl RFC6532Manos Pitsidianakis
RFC6532 International Mail Headers
2020-09-16melib/imap: treat server input as bytesManos Pitsidianakis
Server input was assumed valid ascii and converted haphazardly to &str. Don't do that, since it might not be valid UTF8.
2020-09-16melib/email/parser: impl RFC5322 parser for datesManos Pitsidianakis
2020-09-15melib/email/parser: quoted-printable accept message ending with soft line breakManos Pitsidianakis
2020-09-11melib/email/parser: add mailing list parser moduleManos Pitsidianakis
Specifically, rfc2369 list header action list
2020-09-10melib: cleanup commitManos Pitsidianakis
Cleanup melib module exports, add some document tests, change some documentation.
2020-09-10melib/email/parser: Add rfc5322 compliant parser for MessageIDManos Pitsidianakis
2020-09-10melib/email/parser: add new RFC5322 compliant parsers for header bodiesManos Pitsidianakis
2020-08-26melib/email/parser: use SmallVec in encoded wordsManos Pitsidianakis
2020-08-26Remove some old TODO commentsManos Pitsidianakis
2020-08-26Fix some clippy lintsManos Pitsidianakis
2020-08-09melib/email: parse empty attachments correctlyManos Pitsidianakis
2020-08-09melib/email/attachments: add Content-DispositionManos Pitsidianakis
2020-07-27melib/email.rs: use SmallVec for Address fieldsManos Pitsidianakis
2020-07-06Fix clippy lintsManos Pitsidianakis
2020-06-26email/parser.rs: replace "FIXME" errorsManos Pitsidianakis
2020-06-20email/parser: do not set has_colon newlineManos Pitsidianakis
When parsing a field-name, and expecting a colon (:) if a newline is first encountered do not set `has_colon` flag to true.
2020-06-20email/parser: change Error type to include error locationManos Pitsidianakis
Add ParsingError type that includes a string with the location and possibly an explanation for the error.
2020-06-06melib: update nom dependency from 3.2.0 to 5.1.1Manos Pitsidianakis
That was hecking exhausting
2020-05-30imap: add smarter untagged reply detectionManos Pitsidianakis
2020-05-19email/parser: avoid slice index panic if slice is emptyManos Pitsidianakis
2020-05-06parser: fix panic on invalid encoded_word, display_addrManos Pitsidianakis
found by cargo-fuzz
2020-05-06parser: fix panic on invalid message idManos Pitsidianakis
2020-05-06parser: fix panic on invalid inputManos Pitsidianakis
Found with cargo-fuzz
2020-05-06datetime: fix panic on invalid cstr conversionManos Pitsidianakis
2020-02-26Add consume newlines flag to phrase()Manos Pitsidianakis
2020-02-25View decoded email source by defaultManos Pitsidianakis
Toggle between decoded/raw source with view_raw_source shortcut, default M-r
2020-02-08melib/parser: fix minor encoded word errorManos Pitsidianakis
2020-02-08melib/datetime: fix overflow panic on early date inputManos Pitsidianakis
2020-01-20melib: fix two minor email parsing bugsManos Pitsidianakis
- windows-1250 encoding not being recognized - spaces in Message-ID header messing up parsing '<' + msg-id + '>' structure
2020-01-06melib: add datetime moduleManos Pitsidianakis
Datetime module adds POSIX time functions interface
2020-01-02melib: don't treat missing end boundary as errorManos Pitsidianakis
Don't treat missing end boundary as error in multipart attachments. python3's nntplib seems to return MIME attachments with this property
2019-12-18melib: fix test import not foundManos Pitsidianakis
2019-12-13JMAP WIP #4Manos Pitsidianakis
2019-12-12melib: fix minor header parsing errorsManos Pitsidianakis
- set_subject checked if last byte was control character instead of last character. Characters can be multi-byte, duh. - email::parser::date didn't provide for Date values that had -0000 instead of +0000 (that's a chrono requirement/bug)
2019-12-11melib/parser: parse quote-printable CRLF soft breaksManos Pitsidianakis
Check for CRLF soft breaks after checking for LF ones
2019-11-28melib: Remove quotes from addresses in email/parser.rsManos Pitsidianakis
2019-11-28melib: fix out-of-bounds parser bugManos Pitsidianakis
2019-11-27Replace some panics with errorsManos Pitsidianakis
2019-11-18ui: ListActions changesManos Pitsidianakis
- Parse List-Post value like List-Unsubscribe: comma separated angle bracket limited list of <mailto:> or <url> values - Check if List-Archive value is angle bracket delimited
2019-11-18melib/imap: set has_attachments based on BODYSTRUCTUREManos Pitsidianakis
fetch BODYSTRUCTURE along with ENVELOPE from server and set has_attachments based on the MIME structure of the envelope. Notes: BODYSTRUCTURE returns the MIME structure of the envelope without the data, so if it includes a multipart/mixed it *should* have attachments. ENVELOPE returns basic headers of the message like Sender, Subject, Date etc.
2019-11-14Fix some warningsManos Pitsidianakis
2019-11-09Fix melib test errorsManos Pitsidianakis
2019-09-27Pass attachment names through decodingManos Pitsidianakis
Attachment names in Content-Type parameters can be encoded (eg =?UTF-8...), so try decoding with phrase() first
2019-09-26melib: fix bug in parser::partsManos Pitsidianakis
At a certain point when expecting a line terminator parts() checks for '\n' but not '\r\n'. This resulted in all multipart attachments coming from b"\r\n" sources like IMAP having only one part when parsed.