@bobfrankston/rmfmail 1.2.298 → 1.2.300

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/npmchanges.md CHANGED
@@ -1250,3 +1250,95 @@ wash is gone; the filter now announces itself above the list, by name:
1250
1250
  clears the filter. Same chip covers the priority-senders filter, which had the
1251
1251
  same shape.
1252
1252
 
1253
+ ## v1.2.298 — 2026-09-02
1254
+
1255
+ The signature in accounts.jsonc never reached compose
1256
+
1257
+ `sig` has been a documented field on AccountConfig for months and three of the
1258
+ four accounts carried one, yet no signature has ever appeared in a compose
1259
+ window. The reason is a projection: `MailxService.getAccounts()` builds the
1260
+ client's account list field by field — id/name/email from the DB row, then
1261
+ label, defaultSend, primary*, identityDomains from the config — and `sig` and
1262
+ `signature` were simply not on the list. `normalizeAccount()` resolved them
1263
+ correctly, `openCompose` forwarded `a.sig` faithfully, and compose.ts appended
1264
+ `acct.sig` exactly as designed; the value was undefined by the time any of that
1265
+ ran.
1266
+
1267
+ Both fields are now carried, with a comment saying why the enumeration stays an
1268
+ enumeration rather than becoming `...cfg`: cfg holds the IMAP and SMTP
1269
+ passwords, which have no business crossing into the WebView. Anything new that
1270
+ the client needs has to be added in that spot deliberately.
1271
+
1272
+ The signature itself moved to the top level of accounts.jsonc — three
1273
+ byte-identical per-account copies replaced by the one the file format already
1274
+ supports, which every account without its own `sig` inherits. It is now
1275
+ `Bob Frankston<br>https://Frankston.com` with `html: true`; the previous text
1276
+ relied on bare newlines for its line break (HTML collapses those to a space)
1277
+ and pointed at a relative `href='Frankston.com'`, which resolves against
1278
+ whatever page the mail client happens to be rendering.
1279
+
1280
+ Two stale comments corrected while here. `AccountSignature.html` was documented
1281
+ in both mailx-types and compose.ts as "reserved for future use / currently
1282
+ ignored". It has never been ignored — compose has always branched on it — and
1283
+ now that a signature actually renders, the difference between escaped text and
1284
+ raw HTML is the thing an author needs to know.
1285
+
1286
+ Compose only. Nothing in the send path or the daemon appends a signature; the
1287
+ body that leaves the editor is the body that goes out.
1288
+
1289
+ ## v1.2.299 — 2026-09-02
1290
+
1291
+ Laundering needs a second party — a redirector alone is not one
1292
+
1293
+ Google's account-security notice, which is exactly the mail a reader must be
1294
+ able to believe, carried a caution banner: "A link hides where it goes: it
1295
+ passes through accounts.google.com and ends at myaccount.google.com." Both
1296
+ halves of that sentence name Google. Bob, on the message:
1297
+ `mailxstore/bobma/e1/e193f2bb….eml`, "this is valid."
1298
+
1299
+ The check compared `target.hostname === url.hostname` and reported anything
1300
+ else. That catches the case it was written for — `castanet-sa.fr/redirect.php
1301
+ ?newurl=https://evil.example`, someone's abandoned redirect script spending a
1302
+ real business's reputation — but the comparison is not what the finding
1303
+ claims. Laundering requires a SECOND PARTY, someone whose name is on the
1304
+ visible link without their consent. Two ways a link has none, both now checked,
1305
+ neither of them a threshold:
1306
+
1307
+ 1. The redirector and the destination are the same organisation. Equality
1308
+ widened to the sub/parent-domain test this file already uses twice, now a
1309
+ shared `sameOrg()` — deliberately not "the last two labels match", which
1310
+ would make paypal.co.uk and evil.co.uk relatives.
1311
+
1312
+ 2. The redirector IS the sender, proved. accounts.google.com and
1313
+ myaccount.google.com are siblings, so rule 1 does not reach them; what
1314
+ clears the message is that the receiving server recorded `dmarc=pass
1315
+ header.from=accounts.google.com`. The host in the visible link belongs to
1316
+ the party that provably sent the mail. Whether that party is trustworthy
1317
+ is a different question than the one this check asks.
1318
+
1319
+ The proof comes from `provedSenderDomain()`, which asks dmarcProof first — an
1320
+ Authentication-Results header alone is enough, so this works on Gmail-API mail
1321
+ with no SpamAssassin headers — and falls back to the DKIM_VALID_AU /
1322
+ ALL_TRUSTED proofs SpamAssassin states in its own rule list. It reads the
1323
+ topmost Authentication-Results only, which the sender cannot write. No proof
1324
+ means the check stays on: an escape a forger could open by typing a domain
1325
+ into From would be worse than no check.
1326
+
1327
+ The mirror rule is NOT safe and is deliberately absent. "The link ENDS at the
1328
+ proved sender" would clear `legit-bank.com/r?u=https://evil.com` sent from a
1329
+ DMARC-proved evil.com, which is the laundering case in its purest form — the
1330
+ reader sees the bank's hostname. Only the visible host may be the sender's.
1331
+
1332
+ Measured over the 800 most recent messages in the store: redirector-link fires
1333
+ 15 times before, 4 after. Cleared: Substack's own link wrapper on Substack
1334
+ mail (6), Google's alert, Microsoft Teams, dev.to. Still flagged, correctly by
1335
+ this rule's terms: Microsoft's Safe Links wrapper (nam.safelink.emails.azure.net
1336
+ -> admin.microsoft.com, 3) and a donation platform bouncing back to the charity
1337
+ that mailed. Those are third-party hostnames in front of the reader, and no
1338
+ hostname allowlist is going in to quiet them.
1339
+
1340
+ Four tests: the sibling-subdomain case, the Google alert with its proof and
1341
+ again with the proof removed, and a forged accounts.google.com whose server
1342
+ recorded the DMARC failure — still flagged, as the escape is the server's
1343
+ verdict and never the From line's say-so.
1344
+
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@bobfrankston/rmfmail",
3
- "version": "1.2.298",
3
+ "version": "1.2.300",
4
4
  "description": "Local-first email client with IMAP sync and standalone native app",
5
5
  "type": "module",
6
6
  "main": "bin/mailx.js",
@@ -34,8 +34,8 @@
34
34
  "dependencies": {
35
35
  "@bobfrankston/iflow-direct": "^0.1.68",
36
36
  "@bobfrankston/mailx-host": "^0.1.15",
37
- "@bobfrankston/mailx-imap": "^0.1.170",
38
- "@bobfrankston/mailx-store-web": "^0.1.99",
37
+ "@bobfrankston/mailx-imap": "^0.1.172",
38
+ "@bobfrankston/mailx-store-web": "^0.1.101",
39
39
  "@bobfrankston/mailx-sync": "^0.1.29",
40
40
  "@bobfrankston/miscinfo": "^1.0.20",
41
41
  "@bobfrankston/msger": "^0.1.429",
@@ -116,8 +116,8 @@
116
116
  "dependencies": {
117
117
  "@bobfrankston/iflow-direct": "^0.1.68",
118
118
  "@bobfrankston/mailx-host": "^0.1.15",
119
- "@bobfrankston/mailx-imap": "^0.1.170",
120
- "@bobfrankston/mailx-store-web": "^0.1.99",
119
+ "@bobfrankston/mailx-imap": "^0.1.172",
120
+ "@bobfrankston/mailx-store-web": "^0.1.101",
121
121
  "@bobfrankston/mailx-sync": "^0.1.29",
122
122
  "@bobfrankston/miscinfo": "^1.0.20",
123
123
  "@bobfrankston/msger": "^0.1.429",
@@ -1,12 +1,12 @@
1
1
  {
2
2
  "name": "@bobfrankston/mailx-imap",
3
- "version": "0.1.171",
3
+ "version": "0.1.173",
4
4
  "lockfileVersion": 3,
5
5
  "requires": true,
6
6
  "packages": {
7
7
  "": {
8
8
  "name": "@bobfrankston/mailx-imap",
9
- "version": "0.1.171",
9
+ "version": "0.1.173",
10
10
  "license": "ISC",
11
11
  "dependencies": {
12
12
  "@bobfrankston/iflow-direct": "^0.1.27",
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@bobfrankston/mailx-imap",
3
- "version": "0.1.171",
3
+ "version": "0.1.173",
4
4
  "type": "module",
5
5
  "main": "index.js",
6
6
  "types": "index.d.ts",
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@bobfrankston/mailx-settings",
3
- "version": "0.1.74",
3
+ "version": "0.1.76",
4
4
  "type": "module",
5
5
  "main": "index.js",
6
6
  "types": "index.d.ts",
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@bobfrankston/mailx-store",
3
- "version": "0.1.110",
3
+ "version": "0.1.112",
4
4
  "type": "module",
5
5
  "main": "index.js",
6
6
  "types": "index.d.ts",
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@bobfrankston/mailx-store-web",
3
- "version": "0.1.100",
3
+ "version": "0.1.102",
4
4
  "type": "module",
5
5
  "main": "index.js",
6
6
  "types": "index.d.ts",
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@bobfrankston/mailx-types",
3
- "version": "0.1.78",
3
+ "version": "0.1.82",
4
4
  "type": "module",
5
5
  "main": "index.js",
6
6
  "types": "index.d.ts",
@@ -109,6 +109,10 @@ export interface SpamScore {
109
109
  * may not exist (Bob's own mail carries no Authentication-Results at
110
110
  * all). */
111
111
  provedBy: "dmarc" | "dkim" | "trusted" | "";
112
+ /** Every rule that scored is a bulk-mail or blocklist test. The chip's
113
+ * tooltip may say so ONLY when this is true — it is a claim about all of
114
+ * the rules, and the reader can read them underneath it. */
115
+ bulkOnly: boolean;
112
116
  /** Top scoring rules, named — "6.0 URIBL_SBL (Contains an URL's NS IP
113
117
  * listed in the Spamhaus SBL blocklist)". A number alone is unactionable;
114
118
  * this can be judged in a second. */
@@ -1 +1 @@
1
- {"version":3,"file":"trust.d.ts","sourceRoot":"","sources":["trust.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AAEH,wEAAwE;AACxE,MAAM,WAAW,YAAY;IACzB,0EAA0E;IAC1E,EAAE,EAAE,qBAAqB,GAAG,YAAY,GAAG,qBAAqB,GAC1D,wBAAwB,GAAG,qBAAqB,GAAG,iBAAiB,CAAC;IAC3E;;qEAEiE;IACjE,QAAQ,EAAE,QAAQ,GAAG,SAAS,GAAG,MAAM,CAAC;IACxC,2EAA2E;IAC3E,IAAI,EAAE,MAAM,CAAC;IACb,+DAA+D;IAC/D,MAAM,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,UAAU;IACvB;;qEAEiE;IACjE,WAAW,EAAE;QAAE,GAAG,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC;IAC7C,6BAA6B;IAC7B,WAAW,EAAE,MAAM,CAAC;IACpB;mDAC+C;IAC/C,YAAY,EAAE,MAAM,EAAE,CAAC;IACvB,0DAA0D;IAC1D,QAAQ,EAAE,MAAM,CAAC;IACjB;;;;;;8CAM0C;IAC1C,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB;;2EAEuE;IACvE,QAAQ,CAAC,EAAE,MAAM,CAAC;CACrB;AA2kBD;;;;;;GAMG;AACH,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,UAAU,GAAG,YAAY,EAAE,CAWpE;AA0FD;;;;;;;;;;;;;GAaG;AACH,MAAM,WAAW,SAAS;IACtB,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,MAAM,CAAC;IAClB,mEAAmE;IACnE,OAAO,EAAE,OAAO,CAAC;IACjB;;;yEAGqE;IACrE,IAAI,EAAE,SAAS,GAAG,aAAa,GAAG,MAAM,GAAG,cAAc,CAAC;IAC1D,uDAAuD;IACvD,MAAM,EAAE,OAAO,CAAC;IAChB;;;;gBAIY;IACZ,QAAQ,EAAE,OAAO,GAAG,MAAM,GAAG,SAAS,GAAG,EAAE,CAAC;IAC5C;;0CAEsC;IACtC,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB;8EAC0E;IAC1E,OAAO,EAAE,OAAO,CAAC;CACpB;AAED,wBAAgB,WAAW,CAAC,KAAK,EAAE,UAAU,GAAG,SAAS,CAaxD"}
1
+ {"version":3,"file":"trust.d.ts","sourceRoot":"","sources":["trust.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AAEH,wEAAwE;AACxE,MAAM,WAAW,YAAY;IACzB,0EAA0E;IAC1E,EAAE,EAAE,qBAAqB,GAAG,YAAY,GAAG,qBAAqB,GAC1D,wBAAwB,GAAG,qBAAqB,GAAG,iBAAiB,CAAC;IAC3E;;qEAEiE;IACjE,QAAQ,EAAE,QAAQ,GAAG,SAAS,GAAG,MAAM,CAAC;IACxC,2EAA2E;IAC3E,IAAI,EAAE,MAAM,CAAC;IACb,+DAA+D;IAC/D,MAAM,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,UAAU;IACvB;;qEAEiE;IACjE,WAAW,EAAE;QAAE,GAAG,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC;IAC7C,6BAA6B;IAC7B,WAAW,EAAE,MAAM,CAAC;IACpB;mDAC+C;IAC/C,YAAY,EAAE,MAAM,EAAE,CAAC;IACvB,0DAA0D;IAC1D,QAAQ,EAAE,MAAM,CAAC;IACjB;;;;;;8CAM0C;IAC1C,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB;;2EAEuE;IACvE,QAAQ,CAAC,EAAE,MAAM,CAAC;CACrB;AAwpBD;;;;;;GAMG;AACH,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,UAAU,GAAG,YAAY,EAAE,CAWpE;AAyFD;;;;;;;;;;;;;GAaG;AACH,MAAM,WAAW,SAAS;IACtB,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,MAAM,CAAC;IAClB,mEAAmE;IACnE,OAAO,EAAE,OAAO,CAAC;IACjB;;;yEAGqE;IACrE,IAAI,EAAE,SAAS,GAAG,aAAa,GAAG,MAAM,GAAG,cAAc,CAAC;IAC1D,uDAAuD;IACvD,MAAM,EAAE,OAAO,CAAC;IAChB;;;;gBAIY;IACZ,QAAQ,EAAE,OAAO,GAAG,MAAM,GAAG,SAAS,GAAG,EAAE,CAAC;IAC5C;;iEAE6D;IAC7D,QAAQ,EAAE,OAAO,CAAC;IAClB;;0CAEsC;IACtC,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB;8EAC0E;IAC1E,OAAO,EAAE,OAAO,CAAC;CACpB;AAED,wBAAgB,WAAW,CAAC,KAAK,EAAE,UAAU,GAAG,SAAS,CAcxD"}
@@ -56,6 +56,20 @@ function bare(addr) {
56
56
  const m = (addr || "").match(/[^\s<>,;]+@[^\s<>,;]+/);
57
57
  return (m ? m[0] : addr || "").toLowerCase().replace(/[.,;]+$/, "");
58
58
  }
59
+ /** Do two hostnames belong to the same organisation?
60
+ *
61
+ * Equality or a sub/parent-domain relation, never "the last two labels
62
+ * match": that would make paypal.co.uk and evil.co.uk relatives, which is
63
+ * the case this whole file exists to catch. A subdomain relationship cannot
64
+ * be forged across organisations, so it is safe in the other direction.
65
+ * Same test displayNameClaimsOtherAddress uses on addresses. */
66
+ function sameOrg(a, b) {
67
+ const x = (a || "").toLowerCase();
68
+ const y = (b || "").toLowerCase();
69
+ if (!x || !y)
70
+ return false;
71
+ return x === y || x.endsWith("." + y) || y.endsWith("." + x);
72
+ }
59
73
  /** Rules that say THIS message lies about who sent it. The only class that
60
74
  * earns the red banner. `KAM_DMARC_STATUS` is deliberately absent — it is a
61
75
  * 0.0-scoring status marker that fired on Mokin, a message the receiving
@@ -268,6 +282,16 @@ function analyzeServerSpam(input) {
268
282
  const unknownCouldFlagAlone = !unknown.length ? false
269
283
  : !Number.isFinite(unknownWeight) || !Number.isFinite(threshold) ? true
270
284
  : unknownWeight >= threshold;
285
+ // What the chip may claim about the rule set. "Every rule that scored is a
286
+ // bulk-mail test" is a statement about ALL of them, so it has to be
287
+ // checked against all of them — deriving it from `proved` (which says
288
+ // nothing about the rules) or from `kind` (the worst class, which says
289
+ // nothing about the rest) asserts something the code never looked at.
290
+ // The Altis Hotels welcome mail, 2026-09-03 (Bob: "marked as spam but is
291
+ // valid"): DMARC-proved, so the chip said "scored by bulk-mail or
292
+ // blocklist rules" — with 3.2 of its 8.3 coming from KAM_ACCOUNTPHISH,
293
+ // which is neither, listed directly underneath.
294
+ const bulkOnly = rules.every(r => !scored(r) || r.cls === "bulk" || r.cls === "neutral");
271
295
  const kind = (dmarc.authFailures.length || present("forgery")) ? "forgery"
272
296
  : present("association") ? "association"
273
297
  : unknownCouldFlagAlone ? "unclassified"
@@ -305,7 +329,7 @@ function analyzeServerSpam(input) {
305
329
  });
306
330
  return {
307
331
  score, threshold, flagged, rules, kind,
308
- proved: !!provedBy, provedBy,
332
+ proved: !!provedBy, provedBy, bulkOnly,
309
333
  provedDomain: dmarc.domain || fromDomain, provedPolicy: dmarc.policy,
310
334
  bayesHam: rules.some(r => r.name === "BAYES_00" || r.name === "BAYES_01"),
311
335
  authFailures: dmarc.authFailures,
@@ -387,11 +411,19 @@ function serverSpamVerdict(input) {
387
411
  : `Your mail server scored this as spam, but ${a.provedDomain} proved it sent this.`,
388
412
  detail: `${provedNote(a)} ${numbers}${why}${bayes}`,
389
413
  };
414
+ // Same discipline as the chip: "nothing that scored tests who sent it" is
415
+ // a claim about every rule, so it is made only when every rule was
416
+ // actually looked at and classified. `kind === "bulk"` does not establish
417
+ // that — an unclassified rule that could not have flagged the message on
418
+ // its own leaves the kind at bulk while remaining, by definition, a rule
419
+ // this file cannot say anything about.
390
420
  if (a.kind === "bulk")
391
421
  return {
392
422
  id: "server-spam-verdict",
393
423
  severity: "info",
394
- text: "Your mail server rates this bulk mail — nothing that scored tests who sent it.",
424
+ text: a.bulkOnly
425
+ ? "Your mail server rates this bulk mail — nothing that scored tests who sent it."
426
+ : "Your mail server rates this bulk mail.",
395
427
  detail: `${numbers}${why}${bayes}`,
396
428
  };
397
429
  const proof = a.proved ? `${provedNote(a)} ` : "";
@@ -514,6 +546,23 @@ function hiddenLinkOverlay(bodyHtml) {
514
546
  }
515
547
  return null;
516
548
  }
549
+ /** The domain the receiving server proved the From line for — "" when nothing
550
+ * did. One place answers "is this sender who they say they are", so the
551
+ * banner, the chip and the link checks can never disagree about it.
552
+ *
553
+ * dmarcProof is asked first because it needs no SpamAssassin: an
554
+ * Authentication-Results header alone is enough, which is what mail arriving
555
+ * through the Gmail API carries. analyzeServerSpam adds the two proofs
556
+ * SpamAssassin states in its own rule list instead (DKIM_VALID_AU,
557
+ * ALL_TRUSTED) and returns null when the server ran no filter at all. */
558
+ function provedSenderDomain(input) {
559
+ const fromDomain = (bare(input.fromAddress).split("@")[1] || "").toLowerCase();
560
+ if (!fromDomain)
561
+ return "";
562
+ if (dmarcProof(input).pass)
563
+ return fromDomain;
564
+ return analyzeServerSpam(input)?.proved ? fromDomain : "";
565
+ }
517
566
  /**
518
567
  * Does a link route through a redirector carrying its real destination in the
519
568
  * query string?
@@ -523,8 +572,30 @@ function hiddenLinkOverlay(bodyHtml) {
523
572
  * whose redirect script was left open, and the destination appears only
524
573
  * percent-encoded inside a parameter. Reporting the ENDPOINT is the point — a
525
574
  * reader cannot be expected to URL-decode a query string.
575
+ *
576
+ * Laundering needs a SECOND PARTY — someone whose reputation is being spent
577
+ * without their consent. Two ways a link has none, both checked below, and
578
+ * neither of them a threshold:
579
+ *
580
+ * 1. The redirector and the destination are the same organisation. A site
581
+ * bouncing through its own hostnames is routing, not hiding.
582
+ * 2. The redirector IS the proved sender. Google's account-security notice
583
+ * (2026-09-02, Bob: "this is valid") links through
584
+ * `accounts.google.com/AccountChooser?continue=https://myaccount.google.com/…`
585
+ * — two hostnames that are neither equal nor sub/parent of each other,
586
+ * so rule 1 alone does not save it. But the receiving server recorded
587
+ * `dmarc=pass header.from=accounts.google.com`: the host in the visible
588
+ * link belongs to the party that provably sent the mail, spending its
589
+ * own reputation. That the sender might itself be malicious is a
590
+ * different question than the one this check asks.
591
+ *
592
+ * The proof has to come from the topmost Authentication-Results, which the
593
+ * sender cannot write — otherwise the escape is a switch a forger flips by
594
+ * typing a domain into From. No proof means the check stays on.
526
595
  */
527
- function redirectorLink(bodyHtml) {
596
+ function redirectorLink(input) {
597
+ const bodyHtml = input.bodyHtml || "";
598
+ const senderDomain = provedSenderDomain(input);
528
599
  for (const m of bodyHtml.matchAll(/href\s*=\s*["']([^"']+)["']/gi)) {
529
600
  let url;
530
601
  try {
@@ -535,6 +606,8 @@ function redirectorLink(bodyHtml) {
535
606
  }
536
607
  if (!/^https?:$/.test(url.protocol))
537
608
  continue;
609
+ if (senderDomain && sameOrg(url.hostname, senderDomain))
610
+ continue; // the sender's own host
538
611
  for (const [, value] of url.searchParams) {
539
612
  let target;
540
613
  try {
@@ -545,8 +618,8 @@ function redirectorLink(bodyHtml) {
545
618
  }
546
619
  if (!/^https?:$/.test(target.protocol))
547
620
  continue;
548
- if (target.hostname === url.hostname)
549
- continue; // same-site, not laundering
621
+ if (sameOrg(target.hostname, url.hostname))
622
+ continue; // same site, not laundering
550
623
  return {
551
624
  id: "redirector-link",
552
625
  severity: "caution",
@@ -571,7 +644,7 @@ export function assessMessageTrust(input) {
571
644
  relayAuthMismatch(input),
572
645
  zeroWidthObfuscation(input.bodyText || ""),
573
646
  hiddenLinkOverlay(input.bodyHtml || ""),
574
- redirectorLink(input.bodyHtml || ""),
647
+ redirectorLink(input),
575
648
  ].filter(Boolean);
576
649
  const rank = { danger: 0, caution: 1, info: 2 };
577
650
  return findings.sort((a, b) => rank[a.severity] - rank[b.severity]);
@@ -614,11 +687,9 @@ function relayAuthMismatch(input) {
614
687
  for (const name of RELAY_IDENTITY_HEADERS) {
615
688
  const stamped = bare(header(input.headerLines, name));
616
689
  const stampedDomain = stamped.split("@")[1] || "";
617
- if (!stampedDomain || stampedDomain === fromDomain)
618
- continue;
619
690
  // Sub/parent-domain is the same organisation — mail.example.com
620
691
  // sending for example.com is ordinary. Cross-organisation is not.
621
- if (stampedDomain.endsWith("." + fromDomain) || fromDomain.endsWith("." + stampedDomain))
692
+ if (!stampedDomain || sameOrg(stampedDomain, fromDomain))
622
693
  continue;
623
694
  return {
624
695
  id: "relay-auth-mismatch",
@@ -675,6 +746,7 @@ export function spamScoreOf(input) {
675
746
  kind: a.kind,
676
747
  proved: a.proved,
677
748
  provedBy: a.provedBy,
749
+ bulkOnly: a.bulkOnly,
678
750
  trusted: !!input.senderTrusted && a.proved && a.kind !== "forgery" && !a.authFailures.length,
679
751
  reasons: a.reasons,
680
752
  };
@@ -1 +1 @@
1
- {"version":3,"file":"trust.js","sourceRoot":"","sources":["trust.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"trust.js","sourceRoot":"","sources":["trust.ts"],"names":[],"mappings":"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"}