Changeset df7de6e in Klonkt for test


Ignore:
Timestamp:
08/24/2026 03:42:41 PM (2 weeks ago)
Author:
Robin <roboburr@…>
Branches:
main
Children:
1d5ffc0
Parents:
d7d2ede
Message:

Opsplitsing stap 3 (shaer-drc): het transport naar ap-transport.js

De SSRF-poort, de RSA-sleutels per actor, HTTP Signatures (tekenen en
controleren), de bezorging met wachtrij en backoff en de ondertekende GET
verhuizen als een blok -- 381 regels, byte-voor-byte -- uit
ActivityPubService.js. Die her-exporteert alles, dus elke bestaande
importeur blijft werken; het uitvoeroppervlak is voor en na identiek
gemeten (199 named exports, 180 sleutels op het default-object), en de
afhankelijkheden van het nieuwe bestand wijzen alleen omlaag (db, ap-core,
Node zelf).

Eén toets moest mee: de cache-gebuste herimport in ssrf-allowlist.test.js
moet het bestand raken waar AP_ALLOW_HOSTS bij het laden bevroren wordt,
en dat is nu ap-transport.js.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • test/ssrf-allowlist.test.js

    rd7d2ede rdf7de6e  
    5151  // De lijst is leeg tenzij iemand hem expliciet vult. Dit is de stand waarin
    5252  // elke productie-instance draait.
     53  //
     54  // De verse import moet het bestand raken waar AP_ALLOW_HOSTS bij het LADEN
     55  // wordt bevroren, en dat is sinds de opsplitsing ap-transport.js. Een
     56  // gebuste import van ActivityPubService.js zou niets bewijzen: zijn eigen
     57  // `import './ap-transport.js'` (zonder query) komt uit de modulecache, met
     58  // de lijst van hierboven er nog in.
    5359  const eerder = process.env.AP_ALLOW_HOSTS;
    5460  delete process.env.AP_ALLOW_HOSTS;
    55   const mod = await import(`../src/services/ActivityPubService.js?leeg=${Date.now()}`);
     61  const mod = await import(`../src/services/ap-transport.js?leeg=${Date.now()}`);
    5662  let fout = null;
    5763  try { await mod.safeFetch('http://[::1]:59321/niets'); } catch (e) { fout = e.message; }
Note: See TracChangeset for help on using the changeset viewer.