@bobfrankston/rmfmail 1.2.309 → 1.2.310

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/.commitmsg CHANGED
@@ -1,11 +1,13 @@
1
- Trust banner names the intermediary and the action that trusts it
1
+ Redirector warning: a link that ends at the proved sender hides nothing
2
2
 
3
- "Is there a 'trust this intermediary' operation or do I need to edit it
4
- manually? If so the banner should tell which and how" (Bob 2026-09-08). The
5
- button existed since v1.2.308 but the finding text did not mention it. The
6
- spam-verdict note now ends with: Sent on the author's behalf by google.com,
7
- which signed it; "Trust google.com as an intermediary" stops this note for
8
- mail google.com signs. The redirector warning ends the same way, naming the
9
- signer or, when nobody signed for the redirector host, says plainly that
10
- there is no intermediary to trust and only the sender could vouch for the
11
- link. mailx-types 0.1.85.
3
+ "Another safe message flagged" (Bob 2026-09-08): Microsoft 365 Message
4
+ center, dmarc=pass header.from=microsoft.com policy reject, every link
5
+ through Microsoft's click-tracker nam.safelink.emails.azure.net ending at
6
+ admin.microsoft.com. The three existing escapes all miss azure.net and
7
+ microsoft.com are different organisations by hostname, nobody signed for
8
+ azure.net, and the redirector is not the sender. Rule 4: when the link ENDS
9
+ at the party that provably sent the mail, the reader lands exactly where a
10
+ plain link would have taken them; the hop hides nothing from them. Requires
11
+ proof (DMARC pass, or DKIM_VALID_AU / ALL_TRUSTED per the existing proof
12
+ logic); an unproved message with the same links stays flagged. mailx-types
13
+ 0.1.87.
@@ -2533,6 +2533,8 @@ function redirectorLink(input) {
2533
2533
  continue;
2534
2534
  if (sameOrg(target.hostname, url.hostname))
2535
2535
  continue;
2536
+ if (senderDomain && sameOrg(target.hostname, senderDomain))
2537
+ continue;
2536
2538
  const signer = signers.find((s) => sameOrg(s, url.hostname));
2537
2539
  const how = signer ? ` ${signer} signed this message; "Trust ${signer} as an intermediary" stops this warning for links through ${signer} in mail it signs.` : ` Nobody signed this message for ${url.hostname}, so there is no intermediary to trust; only the sender could vouch for the link.`;
2538
2540
  return {