Overview
| Comment: | bumps, global permissions for workflow, docs |
|---|---|
| Downloads: | Tarball | ZIP archive | SQL archive |
| Timelines: | family | ancestors | descendants | both | trunk |
| Files: | files | file ages | folders |
| SHA3-256: |
ec55d3e69ea86301053f33d9024093d5 |
| User & Date: | arcade on 2026-10-28 17:13:38.992 |
| Other Links: | manifest | tags |
Context
|
2026-10-28
| ||
| 17:22 | simplify check-in: 42ac4c7a9a user: arcade tags: trunk | |
| 17:13 | bumps, global permissions for workflow, docs check-in: ec55d3e69e user: arcade tags: trunk | |
|
2026-10-25
| ||
| 19:48 | bump, new mail-parser, force LocalExecutor check-in: 1984831c3f user: arcade tags: trunk | |
Changes
Modified .github/workflows/rust-clippy.yml
from [2171e8500e]
to [374da7700b].
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 | + + + - - |
name: rust-ci
on:
push:
branches: [ master, release ]
pull_request:
permissions:
contents: read
# sccache enable for rust/C builds
env:
SCCACHE_GHA_ENABLED: "true"
RUSTC_WRAPPER: "sccache"
jobs:
rust-ci-run:
name: Run rust-clippy analyzing and tests
runs-on: ubuntu-latest
if: github.event_name == 'push' || (github.head_ref != 'master' && github.head_ref != 'release')
|
| ︙ |
Modified Cargo.lock
from [2aa441c8bc]
to [9df9e514d7].
| ︙ | |||
225 226 227 228 229 230 231 | 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 | - + - + - + - + | name = "autocfg" version = "1.5.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f2032f911046de80f0a198e0901378627c33f59ea0ac00e363d481118bd70a53" [[package]] name = "aws-lc-rs" |
| ︙ | |||
1197 1198 1199 1200 1201 1202 1203 | 1197 1198 1199 1200 1201 1202 1203 1204 1205 1206 1207 1208 1209 1210 1211 1212 1213 | - + - + | name = "once_cell_polyfill" version = "1.70.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "384b8ab6d37215f3c5301a95a4accb5d64aa607f1fcb26a11b5303878451b4fe" [[package]] name = "openssl-probe" |
| ︙ | |||
1479 1480 1481 1482 1483 1484 1485 | 1479 1480 1481 1482 1483 1484 1485 1486 1487 1488 1489 1490 1491 1492 1493 1494 1495 | - + - + | checksum = "cfcb3a22ef46e85b45de6ee7e79d063319ebb6594faafcf1c225ea92ab6e9b92" dependencies = [ "semver", ] [[package]] name = "rustix" |
| ︙ |
Modified src/mail.rs
from [043f24ad99]
to [c3fdca9cf0].
| ︙ | |||
65 66 67 68 69 70 71 | 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 | - + + | /// Initializes the mail server: sets up the Telegram API client and /// validates all required configuration values. /// /// # Arguments /// * `settings` - Parsed application configuration. /// /// # Errors |
| ︙ | |||
127 128 129 130 131 132 133 | 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 | + + + + + + + - + + + + + + |
pub fn get_id (&self, name: &str) -> Result<&ChatPeerId> {
if self.address.is_match(name) {
Ok(self.tg.get(name).unwrap_or(&self.tg.default))
} else {
bail!("Email address {name:?} is not from an allowed domain.");
} }
/// Forwards the buffered email to each distinct destination chat, using the
/// default chat for allowed addresses without a configured recipient.
///
/// Inlines the first plain-text body if the escaped message is below 4096
/// bytes. Sends remaining text parts and decoded attachments as documents;
/// HTML body parts are omitted. Leaves the buffered data and envelope intact.
///
|
| ︙ |
Modified src/main.rs
from [4703d97342]
to [a66af013e1].
| ︙ | |||
40 41 42 43 44 45 46 47 48 49 50 51 52 53 | 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 | + + |
///
/// The configuration file must use owner-only permissions. Once configured,
/// the SMTP server runs until it stops or encounters an error.
///
/// # Errors
/// Returns an error if the configuration file is missing, inaccessible,
/// insecure, malformed, or contains invalid required settings.
/// Also returns an error if the system hostname cannot be read or is not
/// valid UTF-8, or if mail server initialisation fails.
///
/// # Panics
/// Panics if configuring or serving the SMTP server fails.
async fn main (ex: &LocalExecutor<'_>) -> Result<()> {
let args = Args::parse();
let config_file = Path::new(&args.config);
if !config_file.try_exists().stack()? {
|
| ︙ |