Commit Graph
12 Commits
Author SHA1 Message Date
herel 1faa8f1982 chore: Bump version to 0.7.0 and update changelog
Document the changes shipped since 0.2.0: the X-WS-* header
detection fix (0.5.0), the custom POP3 implementation (0.6.0) and
the dependency and toolchain upgrades (0.7.0). Retitle the 0.2.0
entry to 0.3.0 to match the version actually released in
Cargo.toml.
2026-08-28 15:23:34 +02:00
herel 94df2c8d4f build: Tag Docker image with version on main, SHA otherwise
Derive the Docker tag from the crate version when building on the
main branch and fall back to the short commit SHA on any other
branch. Update the run, clean, shell and push targets to use the
same tag instead of the implicit latest tag.
2026-08-28 15:23:26 +02:00
herel 64f30a8494 Merge pull request 'build: Upgrade to Rust 1.98 and Debian trixie' (#2) from rust-upgrade into main
Reviewed-on: #2
2026-08-28 13:12:50 +00:00
herel bdff2b5505 build: Upgrade to Rust 1.98 and Debian trixie
Pin the toolchain to Rust 1.98 via rust-toolchain.toml and bump the
builder image to rust:1.98-trixie. Move the runtime image from Debian
bookworm to trixie, replacing libssl3 with libssl3t64 which is the
OpenSSL runtime package name in trixie.
2026-08-28 15:10:14 +02:00
herel dc28f8ed65 Merge pull request 'build(deps): Upgrade all dependencies and eliminate unsound chain' (#1) from update-deps into main
Reviewed-on: #1
2026-08-28 13:05:46 +00:00
herel 487e7395b5 build(deps): Upgrade all dependencies and eliminate unsound chain
Bump clap to 4.6.6, imap to 3.0.0-alpha.15 and native-tls to 0.2.18.
The imap upgrade removes the unsound lexical-core 0.7.6 dependency
inherited via nom 5 (RUSTSEC-2023-0086), leaving cargo audit clean.
Drop the unused imap-proto dependency and migrate to the imap 3.x
ClientBuilder and AppendCmd APIs.
2026-08-28 15:05:21 +02:00
herel 113a72f1d6 refactor: replace rust-pop3-client with custom POP3 implementation
Replace third-party POP3 client with a custom implementation using
native-tls for direct TLS socket communication. This change ensures
email messages are retrieved as raw bytes without encoding conversions
that could corrupt email data.

Key improvements:
- Direct byte-level message retrieval preserves original email structure
- Proper handling of POP3 byte-stuffing (doubled leading dots)
- Eliminates dependency on rust-pop3-client which performed unwanted
  string conversions and line ending modifications
- Uses only native-tls for TLS connections (already a project dependency)
2025-12-12 10:37:49 +01:00
herel e0b0c5e964 fix: add X-WS-* header detection and attachment test
- Detect X-WS-* headers (e.g., X-WS-Attachment-UUID) as MIME headers
  to ensure attachment headers like Content-Type and Content-Disposition
  get normalized properly
- Add test case for attachment header normalization
- Bump version to 0.5.0

The normalization fixes malformed continuation lines in attachment
headers generated by Infomaniak webmail, where lines like
"name=file.pdf" are missing the required leading whitespace.
2025-12-10 15:22:55 +01:00
herel d1dd56341f chore: fix Dockerfile now that we have lib.rs 2025-12-04 12:15:42 +01:00
herel 610d10fd1e feat: normalize emails 2025-12-04 11:59:30 +01:00
herel 4482c4041e feat(docker): optimize build caching and fix binary path
- Copy Cargo files first to leverage Docker layer caching
- Build dependencies separately before copying source code
- Use cache mounts for cargo registry to speed up builds
- Fix binary path in final stage from cargo bin to target release
2025-11-21 07:33:42 +01:00
herel 4ee1ef0a81 initial import 2025-11-20 14:59:04 +01:00