@blamejs/core 0.14.1 → 0.14.2
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/CHANGELOG.md +2 -0
- package/lib/_test/crypto-fixtures.js +3 -3
- package/lib/a2a-tasks.js +18 -18
- package/lib/a2a.js +4 -4
- package/lib/acme.js +3 -3
- package/lib/agent-idempotency.js +1 -1
- package/lib/agent-orchestrator.js +8 -8
- package/lib/agent-posture-chain.js +2 -2
- package/lib/agent-saga.js +1 -1
- package/lib/agent-snapshot.js +1 -1
- package/lib/agent-stream.js +1 -1
- package/lib/agent-tenant.js +1 -1
- package/lib/agent-trace.js +3 -3
- package/lib/ai-capability.js +1 -1
- package/lib/ai-dp.js +4 -4
- package/lib/ai-input.js +3 -3
- package/lib/ai-model-manifest.js +7 -7
- package/lib/ai-pref.js +3 -3
- package/lib/archive-gz.js +2 -2
- package/lib/archive-read.js +25 -25
- package/lib/archive-tar-read.js +2 -2
- package/lib/archive-tar.js +20 -20
- package/lib/archive-wrap.js +10 -10
- package/lib/argon2-builtin.js +1 -1
- package/lib/asn1-der.js +34 -34
- package/lib/atomic-file.js +2 -2
- package/lib/audit-daily-review.js +3 -3
- package/lib/audit-sign.js +5 -5
- package/lib/audit-tools.js +1 -1
- package/lib/audit.js +2 -2
- package/lib/auth/acr-vocabulary.js +2 -2
- package/lib/auth/bot-challenge.js +3 -3
- package/lib/auth/ciba.js +7 -7
- package/lib/auth/dpop.js +3 -3
- package/lib/auth/fido-mds3.js +8 -8
- package/lib/auth/jwt-external.js +5 -5
- package/lib/auth/oauth.js +2 -2
- package/lib/auth/oid4vci.js +9 -9
- package/lib/auth/oid4vp.js +2 -2
- package/lib/auth/openid-federation.js +2 -2
- package/lib/auth/passkey.js +3 -3
- package/lib/auth/saml.js +23 -23
- package/lib/auth/sd-jwt-vc-disclosure.js +1 -1
- package/lib/auth/sd-jwt-vc.js +4 -4
- package/lib/auth/status-list.js +10 -10
- package/lib/auth/step-up.js +1 -1
- package/lib/auth-bot-challenge.js +1 -1
- package/lib/backup/index.js +7 -7
- package/lib/base32.js +8 -8
- package/lib/budr.js +2 -2
- package/lib/cache-status.js +2 -2
- package/lib/calendar.js +23 -23
- package/lib/cbor.js +12 -12
- package/lib/cdn-cache-control.js +1 -1
- package/lib/cert.js +5 -5
- package/lib/cloud-events.js +5 -5
- package/lib/cms-codec.js +21 -21
- package/lib/codepoint-class.js +12 -12
- package/lib/compliance-sanctions-fuzzy.js +4 -4
- package/lib/compliance-sanctions.js +4 -4
- package/lib/compliance.js +29 -29
- package/lib/content-credentials.js +36 -36
- package/lib/cookies.js +1 -1
- package/lib/cose.js +13 -13
- package/lib/cra-report.js +1 -1
- package/lib/crdt.js +1 -1
- package/lib/crypto-field.js +2 -2
- package/lib/crypto-xwing.js +7 -7
- package/lib/crypto.js +6 -6
- package/lib/csp.js +2 -2
- package/lib/cwt.js +4 -4
- package/lib/dark-patterns.js +2 -2
- package/lib/data-act.js +2 -2
- package/lib/db-file-lifecycle.js +4 -4
- package/lib/db-query.js +1 -1
- package/lib/db.js +6 -6
- package/lib/dbsc.js +13 -13
- package/lib/did.js +17 -17
- package/lib/dora.js +4 -4
- package/lib/dsr.js +1 -1
- package/lib/early-hints.js +2 -2
- package/lib/eat.js +4 -4
- package/lib/external-db-migrate.js +1 -1
- package/lib/external-db.js +1 -1
- package/lib/flag-cache.js +1 -1
- package/lib/flag-evaluation-context.js +2 -2
- package/lib/graphql-federation.js +4 -4
- package/lib/guard-agent-registry.js +5 -5
- package/lib/guard-archive.js +24 -24
- package/lib/guard-cidr.js +33 -33
- package/lib/guard-csv.js +1 -1
- package/lib/guard-domain.js +10 -10
- package/lib/guard-dsn.js +4 -4
- package/lib/guard-email.js +19 -19
- package/lib/guard-event-bus-payload.js +4 -4
- package/lib/guard-event-bus-topic.js +6 -6
- package/lib/guard-filename.js +7 -7
- package/lib/guard-graphql.js +9 -9
- package/lib/guard-html-wcag-tagwalk.js +1 -1
- package/lib/guard-html-wcag.js +4 -4
- package/lib/guard-html.js +7 -7
- package/lib/guard-idempotency-key.js +6 -6
- package/lib/guard-image.js +4 -4
- package/lib/guard-imap-command.js +17 -17
- package/lib/guard-jmap.js +20 -20
- package/lib/guard-json.js +12 -12
- package/lib/guard-jsonpath.js +3 -3
- package/lib/guard-jwt.js +4 -4
- package/lib/guard-list-id.js +7 -7
- package/lib/guard-list-unsubscribe.js +8 -8
- package/lib/guard-mail-compose.js +4 -4
- package/lib/guard-mail-move.js +5 -5
- package/lib/guard-mail-query.js +3 -3
- package/lib/guard-mail-reply.js +3 -3
- package/lib/guard-mail-sieve.js +6 -6
- package/lib/guard-managesieve-command.js +25 -25
- package/lib/guard-markdown.js +31 -31
- package/lib/guard-message-id.js +5 -5
- package/lib/guard-mime.js +1 -1
- package/lib/guard-oauth.js +3 -3
- package/lib/guard-pdf.js +6 -6
- package/lib/guard-pop3-command.js +11 -11
- package/lib/guard-posture-chain.js +5 -5
- package/lib/guard-regex.js +10 -10
- package/lib/guard-saga-config.js +5 -5
- package/lib/guard-smtp-command.js +6 -6
- package/lib/guard-snapshot-envelope.js +3 -3
- package/lib/guard-stream-args.js +4 -4
- package/lib/guard-svg.js +11 -11
- package/lib/guard-tenant-id.js +5 -5
- package/lib/guard-time.js +15 -15
- package/lib/guard-trace-context.js +4 -4
- package/lib/guard-uuid.js +11 -11
- package/lib/guard-xml.js +12 -12
- package/lib/guard-yaml.js +16 -16
- package/lib/honeytoken.js +5 -5
- package/lib/http-client.js +1 -1
- package/lib/http-message-signature.js +2 -2
- package/lib/iab-mspa.js +3 -3
- package/lib/iab-tcf.js +70 -70
- package/lib/inbox.js +4 -4
- package/lib/ip-utils.js +15 -15
- package/lib/jose-jwe-experimental.js +2 -2
- package/lib/json-path.js +3 -3
- package/lib/json-schema.js +1 -1
- package/lib/jsonapi.js +3 -3
- package/lib/jtd.js +2 -2
- package/lib/link-header.js +1 -1
- package/lib/local-db-thin.js +1 -1
- package/lib/log.js +1 -1
- package/lib/lro.js +4 -4
- package/lib/mail-agent.js +1 -1
- package/lib/mail-arc-sign.js +6 -6
- package/lib/mail-auth.js +43 -43
- package/lib/mail-bimi.js +3 -3
- package/lib/mail-crypto-pgp.js +31 -31
- package/lib/mail-crypto-smime.js +5 -5
- package/lib/mail-dav.js +1 -1
- package/lib/mail-deploy.js +39 -39
- package/lib/mail-dkim.js +11 -11
- package/lib/mail-greylist.js +12 -12
- package/lib/mail-helo.js +1 -1
- package/lib/mail-journal.js +8 -8
- package/lib/mail-rbl.js +7 -7
- package/lib/mail-scan.js +7 -7
- package/lib/mail-send-deliver.js +2 -2
- package/lib/mail-server-imap.js +12 -12
- package/lib/mail-server-jmap.js +16 -16
- package/lib/mail-server-managesieve.js +4 -4
- package/lib/mail-server-mx.js +17 -17
- package/lib/mail-server-pop3.js +4 -4
- package/lib/mail-server-rate-limit.js +2 -2
- package/lib/mail-server-submission.js +21 -21
- package/lib/mail-sieve.js +2 -2
- package/lib/mail-spam-score.js +5 -5
- package/lib/mail-srs.js +12 -12
- package/lib/mail-store-fts.js +2 -2
- package/lib/mail-store.js +8 -8
- package/lib/mail-unsubscribe.js +4 -4
- package/lib/mail.js +4 -4
- package/lib/mcp-tool-registry.js +4 -4
- package/lib/mcp.js +8 -8
- package/lib/mdoc.js +2 -2
- package/lib/metrics.js +8 -8
- package/lib/middleware/age-gate.js +1 -1
- package/lib/middleware/api-encrypt.js +7 -7
- package/lib/middleware/assetlinks.js +2 -2
- package/lib/middleware/asyncapi-serve.js +2 -2
- package/lib/middleware/bearer-auth.js +5 -5
- package/lib/middleware/body-parser.js +5 -5
- package/lib/middleware/compose-pipeline.js +15 -15
- package/lib/middleware/csp-report.js +4 -4
- package/lib/middleware/daily-byte-quota.js +1 -1
- package/lib/middleware/dpop.js +1 -1
- package/lib/middleware/headers.js +2 -2
- package/lib/middleware/host-allowlist.js +1 -1
- package/lib/middleware/idempotency-key.js +12 -12
- package/lib/middleware/nel.js +1 -1
- package/lib/middleware/openapi-serve.js +2 -2
- package/lib/middleware/protected-resource-metadata.js +2 -2
- package/lib/middleware/require-aal.js +1 -1
- package/lib/middleware/require-bound-key.js +2 -2
- package/lib/middleware/require-content-type.js +1 -1
- package/lib/middleware/require-methods.js +1 -1
- package/lib/middleware/require-step-up.js +2 -2
- package/lib/middleware/scim-server.js +1 -1
- package/lib/middleware/security-txt.js +3 -3
- package/lib/middleware/tus-upload.js +12 -12
- package/lib/middleware/web-app-manifest.js +2 -2
- package/lib/network-byte-quota.js +1 -1
- package/lib/network-dns-resolver.js +23 -23
- package/lib/network-dns.js +29 -29
- package/lib/network-dnssec.js +33 -33
- package/lib/network-smtp-policy.js +10 -10
- package/lib/network-tls.js +87 -87
- package/lib/network-tsig.js +33 -33
- package/lib/nis2-report.js +1 -1
- package/lib/ntp-check.js +3 -3
- package/lib/observability-otlp-exporter.js +17 -17
- package/lib/observability-tracer.js +6 -6
- package/lib/observability.js +8 -8
- package/lib/openapi-yaml.js +1 -1
- package/lib/openapi.js +1 -1
- package/lib/outbox.js +6 -6
- package/lib/pqc-agent.js +4 -4
- package/lib/pqc-software.js +1 -1
- package/lib/privacy-pass.js +5 -5
- package/lib/problem-details.js +5 -5
- package/lib/promise-pool.js +1 -1
- package/lib/protobuf-encoder.js +1 -1
- package/lib/redact.js +2 -2
- package/lib/request-helpers.js +1 -1
- package/lib/router.js +10 -10
- package/lib/safe-async.js +2 -2
- package/lib/safe-dns.js +71 -71
- package/lib/safe-ical.js +19 -19
- package/lib/safe-icap.js +24 -24
- package/lib/safe-jsonpath.js +2 -2
- package/lib/safe-mime.js +10 -10
- package/lib/safe-mount-info.js +3 -3
- package/lib/safe-redirect.js +1 -1
- package/lib/safe-sieve.js +23 -23
- package/lib/safe-smtp.js +1 -1
- package/lib/safe-vcard.js +14 -14
- package/lib/sandbox.js +5 -5
- package/lib/sec-cyber.js +1 -1
- package/lib/self-update-standalone-verifier.js +3 -3
- package/lib/self-update.js +3 -3
- package/lib/server-timing.js +3 -3
- package/lib/session-device-binding.js +7 -7
- package/lib/session.js +8 -8
- package/lib/standard-webhooks.js +4 -4
- package/lib/storage.js +2 -2
- package/lib/stream-throttle.js +1 -1
- package/lib/structured-fields.js +15 -15
- package/lib/subject.js +1 -1
- package/lib/tcpa-10dlc.js +1 -1
- package/lib/tenant-quota.js +3 -3
- package/lib/test-harness.js +1 -1
- package/lib/tracing.js +1 -1
- package/lib/tsa.js +5 -5
- package/lib/uri-template.js +5 -5
- package/lib/vault/index.js +2 -2
- package/lib/vault/seal-pem-file.js +4 -4
- package/lib/vc.js +2 -2
- package/lib/vendor-data.js +1 -1
- package/lib/watcher.js +4 -4
- package/lib/web-push-vapid.js +21 -21
- package/lib/webhook.js +2 -2
- package/lib/websocket.js +3 -3
- package/lib/worker-pool.js +3 -3
- package/lib/ws-client.js +24 -24
- package/lib/xml-c14n.js +2 -2
- package/package.json +1 -1
- package/sbom.cdx.json +6 -6
package/lib/websocket.js
CHANGED
|
@@ -189,7 +189,7 @@ var CLOSE_GRACE_MS = C.TIME.seconds(2);
|
|
|
189
189
|
// IANA-registered. 4000..4999 are private-use. Anything else is
|
|
190
190
|
// invalid.
|
|
191
191
|
function _isValidCloseCode(code) {
|
|
192
|
-
if (code === 1004 || code === 1005 || code === 1006 || code === 1015) return false; //
|
|
192
|
+
if (code === 1004 || code === 1005 || code === 1006 || code === 1015) return false; // RFC 6455 §7.4.2 reserved codes
|
|
193
193
|
if (code >= 1000 && code <= 1011) return true; // allow:raw-byte-literal — RFC 6455 §7.4.2 spec range / allow:raw-time-literal — code is a numeric, not seconds
|
|
194
194
|
if (code >= 3000 && code <= 4999) return true; // allow:raw-byte-literal — RFC 6455 §7.4.2 IANA / private range / allow:raw-time-literal — code is a numeric, not seconds
|
|
195
195
|
return false;
|
|
@@ -1322,7 +1322,7 @@ function handleUpgrade(req, socket, head, opts) {
|
|
|
1322
1322
|
// breaking the upgrade in a way that's hard to diagnose; the format
|
|
1323
1323
|
// check at the top of handleUpgrade catches it loudly. Empty /
|
|
1324
1324
|
// undefined falls through to the RFC default in computeAcceptKey.
|
|
1325
|
-
var GUID_MAX_LENGTH = C.BYTES.bytes(64); //
|
|
1325
|
+
var GUID_MAX_LENGTH = C.BYTES.bytes(64); // UUID is 36 chars; 64 is a tolerant upper bound for the regex engine.
|
|
1326
1326
|
if (opts.handshakeGuid !== undefined && opts.handshakeGuid !== null) {
|
|
1327
1327
|
// Length cap before the regex test — UUIDs are exactly 36 chars so
|
|
1328
1328
|
// a > GUID_MAX_LENGTH input never matches the format and shouldn't
|
|
@@ -1341,7 +1341,7 @@ function handleUpgrade(req, socket, head, opts) {
|
|
|
1341
1341
|
// consumer would expect for a malformed request.
|
|
1342
1342
|
var v = validateUpgradeRequest(req, opts);
|
|
1343
1343
|
if (!v.ok) {
|
|
1344
|
-
_refuseUpgrade(socket, v.status || 400, v.reason); //
|
|
1344
|
+
_refuseUpgrade(socket, v.status || 400, v.reason); // HTTP 400 fallback
|
|
1345
1345
|
return null;
|
|
1346
1346
|
}
|
|
1347
1347
|
|
package/lib/worker-pool.js
CHANGED
|
@@ -77,9 +77,9 @@ var { WorkerPoolError } = require("./framework-error");
|
|
|
77
77
|
var audit = lazyRequire(function () { return require("./audit"); });
|
|
78
78
|
|
|
79
79
|
var MIN_SIZE = 1;
|
|
80
|
-
var MAX_SIZE = 256; //
|
|
81
|
-
var DEFAULT_MAX_QUEUE_DEPTH = 1024; //
|
|
82
|
-
var MAX_QUEUE_DEPTH_CAP = 1048576; //
|
|
80
|
+
var MAX_SIZE = 256; // sanity ceiling on worker count, not bytes
|
|
81
|
+
var DEFAULT_MAX_QUEUE_DEPTH = 1024; // task-queue depth, not bytes
|
|
82
|
+
var MAX_QUEUE_DEPTH_CAP = 1048576; // task-queue depth ceiling, not bytes
|
|
83
83
|
var DEFAULT_TASK_TIMEOUT_MS = C.TIME.minutes(5);
|
|
84
84
|
var MAX_TASK_TIMEOUT_MS = C.TIME.hours(1);
|
|
85
85
|
|
package/lib/ws-client.js
CHANGED
|
@@ -76,16 +76,16 @@ var DEFAULT_RECONNECT_BASE_MS = C.TIME.seconds(1) / 2;
|
|
|
76
76
|
var DEFAULT_RECONNECT_MAX_MS = C.TIME.seconds(30);
|
|
77
77
|
var DEFAULT_RECONNECT_MAX_ATTEMPTS = 10;
|
|
78
78
|
|
|
79
|
-
var OPCODE_CONT = 0x00; //
|
|
80
|
-
var OPCODE_TEXT = 0x01; //
|
|
81
|
-
var OPCODE_BINARY = 0x02; //
|
|
82
|
-
var OPCODE_CLOSE = 0x08; //
|
|
83
|
-
var OPCODE_PING = 0x09; //
|
|
84
|
-
var OPCODE_PONG = 0x0A; //
|
|
79
|
+
var OPCODE_CONT = 0x00; // RFC 6455 opcode
|
|
80
|
+
var OPCODE_TEXT = 0x01; // RFC 6455 opcode
|
|
81
|
+
var OPCODE_BINARY = 0x02; // RFC 6455 opcode
|
|
82
|
+
var OPCODE_CLOSE = 0x08; // RFC 6455 opcode
|
|
83
|
+
var OPCODE_PING = 0x09; // RFC 6455 opcode
|
|
84
|
+
var OPCODE_PONG = 0x0A; // RFC 6455 opcode
|
|
85
85
|
|
|
86
|
-
var CLOSE_NORMAL = 1000; //
|
|
87
|
-
var CLOSE_GOING_AWAY = 1001; //
|
|
88
|
-
var CLOSE_ABNORMAL = 1006; //
|
|
86
|
+
var CLOSE_NORMAL = 1000; // RFC 6455 close code
|
|
87
|
+
var CLOSE_GOING_AWAY = 1001; // RFC 6455 close code
|
|
88
|
+
var CLOSE_ABNORMAL = 1006; // RFC 6455 close code (synthetic — never on wire)
|
|
89
89
|
|
|
90
90
|
// Permanent vs transient error classifier — used by reconnect logic
|
|
91
91
|
// so client doesn't hammer the server on credentials / handshake
|
|
@@ -360,7 +360,7 @@ class WsClient extends EventEmitter {
|
|
|
360
360
|
|
|
361
361
|
var parsed = dialParsed;
|
|
362
362
|
var port = parsed.port ? parseInt(parsed.port, 10) :
|
|
363
|
-
(parsed.protocol === "wss:" ? 443 : 80); //
|
|
363
|
+
(parsed.protocol === "wss:" ? 443 : 80); // TLS / HTTP default port
|
|
364
364
|
var host = parsed.hostname;
|
|
365
365
|
|
|
366
366
|
function _onError(err) { self._handleSocketError(err); }
|
|
@@ -443,7 +443,7 @@ class WsClient extends EventEmitter {
|
|
|
443
443
|
"Upgrade: websocket",
|
|
444
444
|
"Connection: Upgrade",
|
|
445
445
|
"Sec-WebSocket-Key: " + key,
|
|
446
|
-
"Sec-WebSocket-Version: 13", //
|
|
446
|
+
"Sec-WebSocket-Version: 13", // RFC 6455 §1.9
|
|
447
447
|
];
|
|
448
448
|
if (opts.origin) {
|
|
449
449
|
if (safeBuffer.hasCrlf(opts.origin)) {
|
|
@@ -510,7 +510,7 @@ class WsClient extends EventEmitter {
|
|
|
510
510
|
return;
|
|
511
511
|
}
|
|
512
512
|
var status = parseInt(match[1], 10);
|
|
513
|
-
if (status !== 101) { //
|
|
513
|
+
if (status !== 101) { // HTTP 101
|
|
514
514
|
// Body bytes after the header section are the server's
|
|
515
515
|
// explanation. Surface them on the error so callers can branch
|
|
516
516
|
// on the status code and inspect the body without re-parsing
|
|
@@ -560,7 +560,7 @@ class WsClient extends EventEmitter {
|
|
|
560
560
|
this._negotiatedSubprotocol = negotiatedSubprotocol;
|
|
561
561
|
|
|
562
562
|
this._negotiatedDeflate = false;
|
|
563
|
-
this._negotiatedWindowBits = 15; //
|
|
563
|
+
this._negotiatedWindowBits = 15; // RFC 7692 default windowBits
|
|
564
564
|
if (this._opts.permessageDeflate &&
|
|
565
565
|
(headers["sec-websocket-extensions"] || "").indexOf("permessage-deflate") !== -1) {
|
|
566
566
|
this._negotiatedDeflate = true;
|
|
@@ -572,7 +572,7 @@ class WsClient extends EventEmitter {
|
|
|
572
572
|
var smwbMatch = extLine.match(/server_max_window_bits\s*=\s*"?(\d+)"?/); // allow:regex-no-length-cap — bounded by header line + RFC 7692 §7.1
|
|
573
573
|
if (smwbMatch) {
|
|
574
574
|
var smwb = parseInt(smwbMatch[1], 10);
|
|
575
|
-
if (smwb < 8 || smwb > 15) { //
|
|
575
|
+
if (smwb < 8 || smwb > 15) { // RFC 7692 windowBits range
|
|
576
576
|
this._handleSocketError(new WsClientError("ws-client/deflate-error",
|
|
577
577
|
"server_max_window_bits=" + smwb + " is outside RFC 7692 range [8, 15]"));
|
|
578
578
|
return;
|
|
@@ -635,7 +635,7 @@ class WsClient extends EventEmitter {
|
|
|
635
635
|
frame.opcode === OPCODE_PONG ||
|
|
636
636
|
frame.opcode === OPCODE_CLOSE;
|
|
637
637
|
if (isControl) {
|
|
638
|
-
if (frame.payload.length > 125) { //
|
|
638
|
+
if (frame.payload.length > 125) { // RFC 6455 §5.5 control-frame cap
|
|
639
639
|
this._handleSocketError(new WsClientError("ws-client/control-too-big",
|
|
640
640
|
"control-frame payload exceeds 125 bytes (RFC 6455 §5.5)"));
|
|
641
641
|
return;
|
|
@@ -665,7 +665,7 @@ class WsClient extends EventEmitter {
|
|
|
665
665
|
var code = CLOSE_NORMAL, reason = "";
|
|
666
666
|
if (frame.payload.length >= 2) {
|
|
667
667
|
code = frame.payload.readUInt16BE(0);
|
|
668
|
-
var reasonBytes = frame.payload.subarray(2); //
|
|
668
|
+
var reasonBytes = frame.payload.subarray(2); // RFC 6455 close-frame layout
|
|
669
669
|
try {
|
|
670
670
|
reason = new TextDecoder("utf-8", { fatal: true }).decode(reasonBytes);
|
|
671
671
|
} catch (_e) {
|
|
@@ -711,7 +711,7 @@ class WsClient extends EventEmitter {
|
|
|
711
711
|
if (this._negotiatedDeflate && firstFrameRsv1) {
|
|
712
712
|
try {
|
|
713
713
|
var zlib = require("node:zlib"); // allow:inline-require — zlib only on deflate-negotiated path
|
|
714
|
-
var compressed = Buffer.concat([fullPayload, Buffer.from([0x00, 0x00, 0xff, 0xff])]); //
|
|
714
|
+
var compressed = Buffer.concat([fullPayload, Buffer.from([0x00, 0x00, 0xff, 0xff])]); // RFC 7692 §7.2.2 deflate trailer
|
|
715
715
|
// Decompression-bomb defense: zlib.inflateRawSync's
|
|
716
716
|
// `maxOutputLength` aborts the inflate the moment the
|
|
717
717
|
// output would exceed maxMessageBytes — never decode GBs
|
|
@@ -828,26 +828,26 @@ class WsClient extends EventEmitter {
|
|
|
828
828
|
// mid-codepoint — to be RFC-safe we truncate at code-point
|
|
829
829
|
// boundaries.
|
|
830
830
|
var rb = Buffer.from(reason, "utf8");
|
|
831
|
-
if (rb.length > 123) { //
|
|
831
|
+
if (rb.length > 123) { // RFC 6455 §5.5 (125 - 2)
|
|
832
832
|
// Truncate at last complete codepoint within 123 bytes. Use a
|
|
833
833
|
// fatal TextDecoder to validate; back off one byte at a time
|
|
834
834
|
// until the slice decodes cleanly. Bounded by [123 - 3, 123]
|
|
835
835
|
// since a single UTF-8 codepoint is at most 4 bytes.
|
|
836
836
|
var fatal = new TextDecoder("utf-8", { fatal: true });
|
|
837
|
-
var truncated = rb.subarray(0, 123); //
|
|
838
|
-
for (var bi = 0; bi < 4; bi += 1) { //
|
|
837
|
+
var truncated = rb.subarray(0, 123); // RFC 6455 §5.5
|
|
838
|
+
for (var bi = 0; bi < 4; bi += 1) { // max UTF-8 codepoint width
|
|
839
839
|
try { fatal.decode(truncated); break; }
|
|
840
840
|
catch (_e) { truncated = truncated.subarray(0, truncated.length - 1); }
|
|
841
841
|
}
|
|
842
842
|
rb = truncated;
|
|
843
843
|
}
|
|
844
|
-
var payload = Buffer.alloc(2 + rb.length); //
|
|
844
|
+
var payload = Buffer.alloc(2 + rb.length); // RFC 6455 close-frame layout
|
|
845
845
|
payload.writeUInt16BE(code, 0);
|
|
846
|
-
rb.copy(payload, 2); //
|
|
846
|
+
rb.copy(payload, 2); // RFC 6455 close-frame layout
|
|
847
847
|
this._readyState = "closing";
|
|
848
848
|
this._sendFrame(OPCODE_CLOSE, payload, { fin: true });
|
|
849
849
|
var self = this;
|
|
850
|
-
setTimeout(function () { self._teardown(code, reason, false); }, 1000).unref(); //
|
|
850
|
+
setTimeout(function () { self._teardown(code, reason, false); }, 1000).unref(); // graceful close grace window
|
|
851
851
|
}
|
|
852
852
|
|
|
853
853
|
_teardown(code, reason, willReconnect) {
|
|
@@ -921,7 +921,7 @@ class WsClient extends EventEmitter {
|
|
|
921
921
|
_scheduleReconnect() {
|
|
922
922
|
var rOpts = this._opts.reconnectOpts;
|
|
923
923
|
this._reconnectAttempt += 1;
|
|
924
|
-
var attempt = Math.min(this._reconnectAttempt, 30); //
|
|
924
|
+
var attempt = Math.min(this._reconnectAttempt, 30); // clamp 2^attempt overflow
|
|
925
925
|
var ceiling = Math.min(rOpts.maxMs, rOpts.baseMs * Math.pow(2, attempt - 1));
|
|
926
926
|
var delay = Math.floor(Math.random() * ceiling); // allow:math-random-noncrypto — backoff jitter, not security
|
|
927
927
|
var self = this;
|
package/lib/xml-c14n.js
CHANGED
|
@@ -62,7 +62,7 @@ var XmlC14nError = defineClass("XmlC14nError", { alwaysPermanent: true });
|
|
|
62
62
|
function _xmlErr(code, message) { return new XmlC14nError(code, message); }
|
|
63
63
|
|
|
64
64
|
var MAX_INPUT_BYTES = 8 * 1024 * 1024; // allow:raw-byte-literal — XML doc cap (8 MiB)
|
|
65
|
-
var MAX_DEPTH = 200; //
|
|
65
|
+
var MAX_DEPTH = 200; // element nesting depth ceiling
|
|
66
66
|
|
|
67
67
|
/**
|
|
68
68
|
* @primitive b.xmlC14n.parse
|
|
@@ -172,7 +172,7 @@ function parse(xml) {
|
|
|
172
172
|
if (name.charAt(0) === "#") {
|
|
173
173
|
var code;
|
|
174
174
|
if (name.charAt(1) === "x" || name.charAt(1) === "X") {
|
|
175
|
-
code = parseInt(name.slice(2), 16); //
|
|
175
|
+
code = parseInt(name.slice(2), 16); // hex radix
|
|
176
176
|
} else {
|
|
177
177
|
code = parseInt(name.slice(1), 10);
|
|
178
178
|
}
|
package/package.json
CHANGED
package/sbom.cdx.json
CHANGED
|
@@ -2,10 +2,10 @@
|
|
|
2
2
|
"$schema": "http://cyclonedx.org/schema/bom-1.5.schema.json",
|
|
3
3
|
"bomFormat": "CycloneDX",
|
|
4
4
|
"specVersion": "1.5",
|
|
5
|
-
"serialNumber": "urn:uuid:
|
|
5
|
+
"serialNumber": "urn:uuid:95f2c7cc-00a1-4b32-bc6e-c58843b25ec2",
|
|
6
6
|
"version": 1,
|
|
7
7
|
"metadata": {
|
|
8
|
-
"timestamp": "2026-05-
|
|
8
|
+
"timestamp": "2026-05-30T07:09:18.952Z",
|
|
9
9
|
"lifecycles": [
|
|
10
10
|
{
|
|
11
11
|
"phase": "build"
|
|
@@ -19,14 +19,14 @@
|
|
|
19
19
|
}
|
|
20
20
|
],
|
|
21
21
|
"component": {
|
|
22
|
-
"bom-ref": "@blamejs/core@0.14.
|
|
22
|
+
"bom-ref": "@blamejs/core@0.14.2",
|
|
23
23
|
"type": "application",
|
|
24
24
|
"name": "blamejs",
|
|
25
|
-
"version": "0.14.
|
|
25
|
+
"version": "0.14.2",
|
|
26
26
|
"scope": "required",
|
|
27
27
|
"author": "blamejs contributors",
|
|
28
28
|
"description": "The Node framework that owns its stack.",
|
|
29
|
-
"purl": "pkg:npm/%40blamejs/core@0.14.
|
|
29
|
+
"purl": "pkg:npm/%40blamejs/core@0.14.2",
|
|
30
30
|
"properties": [],
|
|
31
31
|
"externalReferences": [
|
|
32
32
|
{
|
|
@@ -54,7 +54,7 @@
|
|
|
54
54
|
"components": [],
|
|
55
55
|
"dependencies": [
|
|
56
56
|
{
|
|
57
|
-
"ref": "@blamejs/core@0.14.
|
|
57
|
+
"ref": "@blamejs/core@0.14.2",
|
|
58
58
|
"dependsOn": []
|
|
59
59
|
}
|
|
60
60
|
]
|