Commit Graph

85 Commits (c7aee7252587d2e42ca5df4a65731e183f7edaf2)

Author SHA1 Message Date
Manos Pitsidianakis c7aee72525
melib: add clippy::doc_markdown
Signed-off-by: Manos Pitsidianakis <manos@pitsidianak.is>
3 months ago
Manos Pitsidianakis 933bf157ae
melib/email/parser: ack \ as an atom
I think this is not spec compliant but the MIME spec (rfc6068 - The
'mailto' URI Scheme) uses it for "valid" addresses.

Signed-off-by: Manos Pitsidianakis <manos@pitsidianak.is>
5 months ago
Manos Pitsidianakis f685726eac
melib/email/parser: add backtrace field to ParsingError
Add backtrace field to ParsingError when the build is for testing or
documentation.

Signed-off-by: Manos Pitsidianakis <manos@pitsidianak.is>
5 months ago
Manos Pitsidianakis 34a2d52e7e
Fix rustdoc::redundant_explicit_links
Signed-off-by: Manos Pitsidianakis <manos@pitsidianak.is>
6 months ago
Manos Pitsidianakis c43aeb0eb1
melib/email/parser: fix invalid address parse on folded values
Signed-off-by: Manos Pitsidianakis <manos@pitsidianak.is>
9 months ago
Manos Pitsidianakis 85af524458
email/parser.rs: fix invalid mailto() results when body field exists
Signed-off-by: Manos Pitsidianakis <manos@pitsidianak.is>
9 months ago
Manos Pitsidianakis 946309c6f3
melib: do some small parser refactoring
- Use HeaderName in parsers instead of raw byte strings.
- Use byte literal constants where appropriate instead of repeating
  &b"___"[..]

Signed-off-by: Manos Pitsidianakis <manos@pitsidianak.is>
10 months ago
Manos Pitsidianakis 5c2b04719b
Normalize std::fmt::* imports 10 months ago
Manos Pitsidianakis 40d4ecefa0
melib/nntp: accept invalid (non-ascii) address comment text
NNTP servers may return addresses that are not RFC 5322 compliant. An
address with a comment with non-ascii characters will make the parser loop indefinitely.

Fixes #269.
10 months ago
Manos Pitsidianakis 8e698cabcf
Fix unreachable-pub and disjoint-capture lint errors 11 months ago
Manos Pitsidianakis d4e605c098
Add tagref source code annotations
Source Code Annotation Tags:

Global tags (in tagref format <https://github.com/stepchowfun/tagref>)
for source code annotation:

- [tag:hardcoded_color_value] Replace hardcoded color values with user
   configurable ones.
- [tag:needs_unit_test]
- [tag:needs_user_doc]
- [tag:needs_dev_doc]
- [tag:FIXME]
- [tag:TODO]
- [tag:VERIFY] Verify whether this is the correct way to do something
- [tag:DEBT] Technical debt
11 months ago
Manos Pitsidianakis 5f29faa640
melib: clippy lint fixes 11 months ago
Manos Pitsidianakis f98e36cee5
melib: Replace old-style /*! module doc comments with //! 11 months ago
Manos Pitsidianakis 5699baecfb
melib: add utils::{futures, random} 12 months ago
Manos Pitsidianakis 27a4dcb916
Fix some rustdoc lints 1 year ago
Manos Pitsidianakis aebff3d3d9 melib: implement mailto RFC properly
This allows mailto links with `In-Reply-To` parameters to work properly.

PS Mailto links can be used with the `mailto MAILTO_URI` command
1 year ago
Manos Pitsidianakis b1a7188771
Clippy fixes 1 year ago
Manos Pitsidianakis 660bacb926 Add `mailto` command to open composer with initial values from mailto template 1 year ago
Manos Pitsidianakis 5634f95553 Rename MeliError struct to Error 2 years ago
Manos Pitsidianakis c3fdafde3b Documentation touchups 2 years ago
Manos Pitsidianakis b138d9bc61 melib: fix some clippy lints 2 years ago
Manos Pitsidianakis 29042aba59 melib/datetime: add mbox date format parse 2 years ago
Manos Pitsidianakis d6355a3043 melib/email/parser: impl Debug for ParsingError 2 years ago
Manos Pitsidianakis 721891c295 Update nom dependency 2 years ago
Alex.F 69916f267b
add 'GB18030' charset 3 years ago
Manos Pitsidianakis a7c0bca8ce
Fix test errors and warnings 4 years ago
Manos Pitsidianakis 9a9c876f4a
melib: add more encodings
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
4 years ago
Manos Pitsidianakis b0e50a29bd
melib/list_management: don't ignore "NO" in List-Post 4 years ago
Manos Pitsidianakis e407b1e224
melib: add README.md and email module doco 4 years ago
Manos Pitsidianakis 64a2af3777
melib/email: smarter attachment detection
Look for Content-Disposition: attachment to detect attachments
4 years ago
Manos Pitsidianakis 096c2970b3
melib/email/parser: impl RFC6532
RFC6532 International Mail Headers
4 years ago
Manos Pitsidianakis 3618bdcffb
melib/imap: treat server input as bytes
Server input was assumed valid ascii and converted haphazardly to &str.
Don't do that, since it might not be valid UTF8.
4 years ago
Manos Pitsidianakis 9b0180fdbc
melib/email/parser: impl RFC5322 parser for dates 4 years ago
Manos Pitsidianakis 67c722958b
melib/email/parser: quoted-printable accept message ending with soft line break 4 years ago
Manos Pitsidianakis 5cd03fff0f
melib/email/parser: add mailing list parser module
Specifically, rfc2369 list header action list
4 years ago
Manos Pitsidianakis c6c0da7fcb
melib: cleanup commit
Cleanup melib module exports, add some document tests, change some
documentation.
4 years ago
Manos Pitsidianakis d14f26569e
melib/email/parser: Add rfc5322 compliant parser for MessageID 4 years ago
Manos Pitsidianakis 5d107db8b8
melib/email/parser: add new RFC5322 compliant parsers for header bodies 4 years ago
Manos Pitsidianakis e349882ea7
melib/email/parser: use SmallVec in encoded words 4 years ago
Manos Pitsidianakis 14663e46b9
Remove some old TODO comments 4 years ago
Manos Pitsidianakis 8c6c9806b5
Fix some clippy lints 4 years ago
Manos Pitsidianakis 560f9e5399
melib/email: parse empty attachments correctly 4 years ago
Manos Pitsidianakis c0f8bc1aed
melib/email/attachments: add Content-Disposition 4 years ago
Manos Pitsidianakis 32b4c30fee
melib/email.rs: use SmallVec for Address fields 4 years ago
Manos Pitsidianakis a7e177586a
Fix clippy lints 4 years ago
Manos Pitsidianakis def3997d6f
email/parser.rs: replace "FIXME" errors 4 years ago
Manos Pitsidianakis 01d83d8088
email/parser: do not set has_colon newline
When parsing a field-name, and expecting a colon (:) if a newline is
first encountered do not set `has_colon` flag to true.
4 years ago
Manos Pitsidianakis 75f9256a50
email/parser: change Error type to include error location
Add ParsingError type that includes a string with the location and
possibly an explanation for the error.
4 years ago
Manos Pitsidianakis 6ec249dd7f
melib: update nom dependency from 3.2.0 to 5.1.1
That was hecking exhausting
4 years ago
Manos Pitsidianakis 815ff98acc
imap: add smarter untagged reply detection 4 years ago