diff --git a/lib/entry-points.js b/lib/entry-points.js index 7ff11d2666..5d3940112e 100644 --- a/lib/entry-points.js +++ b/lib/entry-points.js @@ -34203,6 +34203,33 @@ var require_constants6 = __commonJS({ 9007199254740991; var MAX_SAFE_COMPONENT_LENGTH = 16; var MAX_SAFE_BUILD_LENGTH = MAX_LENGTH - 6; + var WHITESPACE_CHARACTERS = [ + " ", + "\n", + "\v", + "\f", + "\r", + " ", + "\xA0", + "\u1680", + "\u2000", + "\u2001", + "\u2002", + "\u2003", + "\u2004", + "\u2005", + "\u2006", + "\u2007", + "\u2008", + "\u2009", + "\u200A", + "\u2028", + "\u2029", + "\u202F", + "\u205F", + "\u3000", + "\uFEFF" + ]; var RELEASE_TYPES = [ "major", "premajor", @@ -34217,6 +34244,7 @@ var require_constants6 = __commonJS({ MAX_SAFE_COMPONENT_LENGTH, MAX_SAFE_BUILD_LENGTH, MAX_SAFE_INTEGER, + WHITESPACE_CHARACTERS, RELEASE_TYPES, SEMVER_SPEC_VERSION, FLAG_INCLUDE_PRERELEASE: 1, @@ -35117,6 +35145,197 @@ var require_lrucache = __commonJS({ } }); +// node_modules/semver/internal/trim-comparator-whitespace.js +var require_trim_comparator_whitespace = __commonJS({ + "node_modules/semver/internal/trim-comparator-whitespace.js"(exports2, module2) { + "use strict"; + var { + MAX_LENGTH, + MAX_SAFE_BUILD_LENGTH, + WHITESPACE_CHARACTERS + } = require_constants6(); + var whitespace = new Uint8Array(65536); + for (const char of WHITESPACE_CHARACTERS) { + whitespace[char.charCodeAt(0)] = 1; + } + var isWhitespace = (char) => char !== void 0 && whitespace[char.charCodeAt(0)] === 1; + var isVersionPrefix = (char) => char === "v" || char === "=" || isWhitespace(char); + var isDigit = (char) => char !== void 0 && char >= "0" && char <= "9"; + var isLetter = (char) => char !== void 0 && (char >= "a" && char <= "z" || char >= "A" && char <= "Z"); + var isIdentifierCharacter = (char) => isDigit(char) || isLetter(char) || char === "-"; + var isVersionStart = (char) => isDigit(char) || char === "x" || char === "X" || char === "*"; + var findDigitsEndIndex = (range2, start, limit, digitRuns) => { + if (!isDigit(range2[start])) { + return start; + } + if (start >= digitRuns.start && start < digitRuns.end) { + return Math.min(start + limit, digitRuns.end); + } + if (start >= digitRuns.previousStart && start < digitRuns.previousEnd) { + return Math.min(start + limit, digitRuns.previousEnd); + } + let end = start + 1; + while (isDigit(range2[end])) { + end++; + } + digitRuns.previousStart = digitRuns.start; + digitRuns.previousEnd = digitRuns.end; + digitRuns.start = start; + digitRuns.end = end; + return Math.min(start + limit, end); + }; + var findVersionNumberEndIndex = (range2, start, loose, digitRuns) => { + if (!loose && range2[start] === "0") { + return start + 1; + } + return findDigitsEndIndex(range2, start, loose ? MAX_LENGTH : MAX_LENGTH + 1, digitRuns); + }; + var findPrereleaseIdentifierEndIndex = (range2, start, loose, digitRuns) => { + const digitsEnd = findDigitsEndIndex(range2, start, MAX_LENGTH, digitRuns); + if (isLetter(range2[digitsEnd]) || range2[digitsEnd] === "-") { + let end = digitsEnd + 1; + const limit = end + MAX_SAFE_BUILD_LENGTH; + while (end < limit && isIdentifierCharacter(range2[end])) { + end++; + } + return end; + } + return findVersionNumberEndIndex(range2, start, loose, digitRuns); + }; + var findPrereleaseEndIndex = (range2, start, loose, digitRuns) => { + const hyphen = range2[start] === "-"; + if (!loose && !hyphen) { + return start; + } + const identifierStart = start + (hyphen ? 1 : 0); + let end = findPrereleaseIdentifierEndIndex(range2, identifierStart, loose, digitRuns); + if (end === identifierStart) { + if (!loose || !hyphen) { + return start; + } + end = findPrereleaseIdentifierEndIndex(range2, start, loose, digitRuns); + } + while (range2[end] === ".") { + const next = findPrereleaseIdentifierEndIndex(range2, end + 1, loose, digitRuns); + if (next === end + 1) { + break; + } + end = next; + } + return end; + }; + var findBuildIdentifierEndIndex = (range2, start) => { + let end = start; + while (end - start < MAX_SAFE_BUILD_LENGTH && isIdentifierCharacter(range2[end])) { + end++; + } + return end; + }; + var findBuildEndIndex = (range2, start) => { + if (range2[start] !== "+") { + return start; + } + let end = findBuildIdentifierEndIndex(range2, start + 1); + if (end === start + 1) { + return start; + } + while (range2[end] === ".") { + const next = findBuildIdentifierEndIndex(range2, end + 1); + if (next === end + 1) { + break; + } + end = next; + } + return end; + }; + var findLooseFullVersionEndIndex = (range2, start, digitRuns) => { + let end = start; + for (let component = 0; component < 3; component++) { + const next = findVersionNumberEndIndex(range2, end, true, digitRuns); + if (next === end) { + return start; + } + end = next; + if (component < 2) { + if (range2[end] !== ".") { + return start; + } + end++; + } + } + const prereleaseEnd = findPrereleaseEndIndex(range2, end, true, digitRuns); + return findBuildEndIndex(range2, prereleaseEnd); + }; + var findPartialVersionComponentEndIndex = (range2, start, digitRuns) => { + if (isDigit(range2[start])) { + return findVersionNumberEndIndex(range2, start, false, digitRuns); + } + return isVersionStart(range2[start]) ? start + 1 : start; + }; + var findPartialVersionEndIndex = (range2, start, digitRuns) => { + let end = findPartialVersionComponentEndIndex(range2, start, digitRuns); + for (let component = 0; component < 2; component++) { + if (range2[end] !== ".") { + return end; + } + const next = findPartialVersionComponentEndIndex(range2, end + 1, digitRuns); + if (next === end + 1) { + return end; + } + end = next; + } + const prereleaseEnd = findPrereleaseEndIndex(range2, end, false, digitRuns); + return findBuildEndIndex(range2, prereleaseEnd); + }; + var findVersionEndIndex = (range2, start, digitRuns) => { + const fullVersionEnd = findLooseFullVersionEndIndex(range2, start, digitRuns); + return fullVersionEnd !== start ? fullVersionEnd : findPartialVersionEndIndex(range2, start, digitRuns); + }; + var findRemovableWhitespaceIndex = (range2, matchStart) => { + let position = matchStart; + if (isWhitespace(range2[position])) { + position++; + } + if (range2[position] === "<" || range2[position] === ">") { + position++; + } + if (range2[position] === "=") { + position++; + } + return isWhitespace(range2[position]) ? position : -1; + }; + var trimComparatorWhitespace = (range2) => { + let result = ""; + let copyFrom = 0; + let cursor = 0; + const digitRuns = { start: -1, end: -1, previousStart: -1, previousEnd: -1 }; + while (cursor < range2.length) { + const matchStart = cursor; + if (range2[cursor] === "<" || range2[cursor] === ">") { + cursor++; + } else if (!isVersionPrefix(range2[cursor]) && !isVersionStart(range2[cursor])) { + cursor++; + continue; + } + while (cursor < range2.length && isVersionPrefix(range2[cursor])) { + cursor++; + } + if (!isVersionStart(range2[cursor])) { + continue; + } + const whitespacePosition = findRemovableWhitespaceIndex(range2, matchStart); + if (whitespacePosition !== -1) { + result += range2.slice(copyFrom, whitespacePosition); + copyFrom = whitespacePosition + 1; + } + cursor = findVersionEndIndex(range2, cursor, digitRuns); + } + return result + range2.slice(copyFrom); + }; + module2.exports = trimComparatorWhitespace; + } +}); + // node_modules/semver/classes/range.js var require_range = __commonJS({ "node_modules/semver/classes/range.js"(exports2, module2) { @@ -35198,7 +35417,7 @@ var require_range = __commonJS({ const hr = loose ? re[t.HYPHENRANGELOOSE] : re[t.HYPHENRANGE]; range2 = range2.replace(hr, hyphenReplace(this.options.includePrerelease)); debug6("hyphen replace", range2); - range2 = range2.replace(re[t.COMPARATORTRIM], comparatorTrimReplace); + range2 = trimComparatorWhitespace(range2); debug6("comparator trim", range2); range2 = range2.replace(re[t.TILDETRIM], tildeTrimReplace); debug6("tilde trim", range2); @@ -35268,11 +35487,11 @@ var require_range = __commonJS({ var Comparator = require_comparator(); var debug6 = require_debug(); var SemVer = require_semver(); + var trimComparatorWhitespace = require_trim_comparator_whitespace(); var { safeRe: re, src, t, - comparatorTrimReplace, tildeTrimReplace, caretTrimReplace } = require_re(); @@ -115079,7 +115298,7 @@ var require_follow_redirects = __commonJS({ options.headers[headerList[i]] = headerList[i + 1]; } } - if (!isArray2(options.sensitiveHeaders)) { + if (!Array.isArray(options.sensitiveHeaders)) { options.sensitiveHeaders = []; } if (options.host) { @@ -115336,9 +115555,6 @@ var require_follow_redirects = __commonJS({ var dot = subdomain.length - domain.length - 1; return dot > 0 && subdomain[dot] === "." && subdomain.endsWith(domain); } - function isArray2(value) { - return value instanceof Array; - } function isString3(value) { return typeof value === "string" || value instanceof String; } @@ -160398,6 +160614,7 @@ var require_pem = __commonJS({ }; pem.decode = function(str) { var rval = []; + str = String(str); var messages = _pemMessageScanner(str); var rHeader = /(?:^|[^\x21-\x7e])([\x21-\x7e]+):\s*([\x21-\x7e\s^:]+)/; var rCRLF = /\r?\n/; @@ -167261,6 +167478,14 @@ var require_x509 = __commonJS({ default: } } + } else if (e.name === "nameConstraints" && e.id === "2.5.29.30") { + try { + var nc = _readNameConstraints(asn1.fromDer(e.value)); + e.permittedSubtrees = nc.permittedSubtrees; + e.excludedSubtrees = nc.excludedSubtrees; + e.unsupportedSubtreeRange = nc.unsupportedSubtreeRange; + } catch (ex) { + } } else if (e.name === "subjectKeyIdentifier") { var ev = asn1.fromDer(e.value); e.subjectKeyIdentifier = forge.util.bytesToHex(ev.value); @@ -167268,6 +167493,60 @@ var require_x509 = __commonJS({ } return e; }; + function _readNameConstraints(ev) { + var rval = { + permittedSubtrees: [], + excludedSubtrees: [], + unsupportedSubtreeRange: false + }; + if (ev.tagClass !== asn1.Class.UNIVERSAL || ev.type !== asn1.Type.SEQUENCE || !forge.util.isArray(ev.value)) { + throw new Error("Invalid nameConstraints extension."); + } + for (var i = 0; i < ev.value.length; ++i) { + var trees = ev.value[i]; + var list; + if (trees.tagClass === asn1.Class.CONTEXT_SPECIFIC && trees.type === 0) { + list = rval.permittedSubtrees; + } else if (trees.tagClass === asn1.Class.CONTEXT_SPECIFIC && trees.type === 1) { + list = rval.excludedSubtrees; + } else { + throw new Error("Invalid nameConstraints extension."); + } + if (!forge.util.isArray(trees.value)) { + throw new Error("Invalid nameConstraints extension."); + } + for (var n = 0; n < trees.value.length; ++n) { + var subtree = trees.value[n]; + if (subtree.type !== asn1.Type.SEQUENCE || !forge.util.isArray(subtree.value) || subtree.value.length === 0 || subtree.value[0].tagClass !== asn1.Class.CONTEXT_SPECIFIC) { + throw new Error("Invalid nameConstraints extension."); + } + var gn = subtree.value[0]; + var base = { + type: gn.type, + value: gn.value + }; + if (gn.type === 4 && forge.util.isArray(gn.value) && gn.value.length === 1 && gn.value[0].type === asn1.Type.SEQUENCE && forge.util.isArray(gn.value[0].value)) { + base.attributes = pki2.RDNAttributesAsArray(gn.value[0]); + } + for (var m = 1; m < subtree.value.length; ++m) { + var bd = subtree.value[m]; + if (bd.tagClass === asn1.Class.CONTEXT_SPECIFIC && bd.type === 0) { + base.minimum = asn1.derToInteger(bd.value); + if (base.minimum !== 0) { + rval.unsupportedSubtreeRange = true; + } + } else if (bd.tagClass === asn1.Class.CONTEXT_SPECIFIC && bd.type === 1) { + base.maximum = asn1.derToInteger(bd.value); + rval.unsupportedSubtreeRange = true; + } else { + throw new Error("Invalid nameConstraints extension."); + } + } + list.push(base); + } + } + return rval; + } pki2.certificationRequestFromAsn1 = function(obj, computeHash) { var capture = {}; var errors = []; @@ -168201,6 +168480,382 @@ var require_x509 = __commonJS({ certificate_unknown: "forge.pki.CertificateUnknown", unknown_ca: "forge.pki.UnknownCertificateAuthority" }; + var _generalNameTypes = { + 0: "otherName", + 1: "rfc822Name", + 2: "dNSName", + 3: "x400Address", + 4: "directoryName", + 5: "ediPartyName", + 6: "uniformResourceIdentifier", + 7: "iPAddress", + 8: "registeredID" + }; + var _maxNameConstraintChecks = 1 << 20; + function _getNameConstraints(cert) { + var rval = []; + for (var i = 0; i < cert.extensions.length; ++i) { + var ext2 = cert.extensions[i]; + if (ext2.id !== "2.5.29.30") { + continue; + } + var nc; + try { + var value = ext2.value; + if (typeof value === "string") { + value = asn1.fromDer(value); + } + nc = _readNameConstraints(value); + } catch (ex) { + rval.push({ invalid: true }); + continue; + } + rval.push({ + permitted: _prepareSubtrees(nc.permittedSubtrees), + excluded: _prepareSubtrees(nc.excludedSubtrees) + }); + } + return rval; + } + function _prepareSubtrees(subtrees) { + var rval = []; + for (var i = 0; i < subtrees.length; ++i) { + var subtree = subtrees[i]; + var st = { type: subtree.type, supported: _isSupportedSubtree(subtree) }; + if (st.supported) { + switch (st.type) { + case 1: + var at = subtree.value.lastIndexOf("@"); + st.local = at === -1 ? null : subtree.value.substr(0, at); + st.host = subtree.value.substr(at + 1).toLowerCase(); + break; + case 2: + case 6: + st.host = subtree.value.toLowerCase(); + break; + case 4: + st.attributes = _canonicalAttributes(subtree.attributes); + break; + case 7: + st.value = subtree.value; + break; + } + } + rval.push(st); + } + return rval; + } + function _isSupportedSubtree(subtree) { + if (subtree.minimum && subtree.minimum !== 0 || "maximum" in subtree) { + return false; + } + switch (subtree.type) { + case 1: + case 2: + case 6: + return typeof subtree.value === "string"; + case 4: + return forge.util.isArray(subtree.attributes); + case 7: + return typeof subtree.value === "string" && (subtree.value.length === 8 || subtree.value.length === 32); + } + return false; + } + function _canonicalAttributes(attrs) { + var rval = []; + for (var i = 0; i < attrs.length; ++i) { + var value = attrs[i].value; + if (typeof value === "string") { + value = value.replace(/[ \t\n\v\f\r]+/g, " "); + if (value.charAt(0) === " ") { + value = value.substr(1); + } + if (value.charAt(value.length - 1) === " ") { + value = value.substr(0, value.length - 1); + } + value = value.replace(/[A-Z]+/g, function(s) { + return s.toLowerCase(); + }); + } + rval.push({ type: attrs[i].type, value }); + } + return rval; + } + function _isHostName(value) { + if (typeof value !== "string") { + return false; + } + var labels = false; + for (var i = 0; i < value.length; ++i) { + var c = value.charAt(i); + if (/[a-zA-Z0-9_]/.test(c)) { + continue; + } + if (i > 0 && i < value.length - 1) { + if (c === "-") { + continue; + } + var next = value.charAt(i + 1); + if (c === "." && next !== "." && next !== "-" && value.charAt(i - 1) !== "-") { + labels = true; + continue; + } + } + return false; + } + return labels; + } + function _getConstrainedNames(cert, leaf) { + var rval = { names: [], unsupported: {}, types: {} }; + var attrs = cert.subject.attributes; + var i; + if (attrs.length > 0) { + _addConstrainedName(rval, 4, attrs); + } + for (i = 0; i < attrs.length; ++i) { + if (attrs[i].type === oids.emailAddress) { + _addConstrainedName(rval, 1, attrs[i].value); + } + } + var hasDnsName = false; + for (i = 0; i < cert.extensions.length; ++i) { + var san = cert.extensions[i]; + if (san.id !== "2.5.29.17") { + continue; + } + var altNames = san.altNames || []; + for (var n = 0; n < altNames.length; ++n) { + var altName = altNames[n]; + var value = altName.value; + if (altName.type === 2) { + hasDnsName = true; + } + switch (altName.type) { + case 4: + value = null; + if (forge.util.isArray(altName.value) && altName.value.length === 1 && altName.value[0].type === asn1.Type.SEQUENCE && forge.util.isArray(altName.value[0].value)) { + value = pki2.RDNAttributesAsArray(altName.value[0]); + } + break; + case 7: + if (altName.ip) { + value = forge.util.bytesFromIP(altName.ip); + } + break; + } + _addConstrainedName(rval, altName.type, value); + } + } + if (leaf && !hasDnsName) { + for (i = 0; i < attrs.length; ++i) { + if (attrs[i].type === oids.commonName && _isHostName(attrs[i].value)) { + _addConstrainedName(rval, 2, attrs[i].value); + } + } + } + return rval; + } + function _addConstrainedName(names, type, value) { + var name = { type, value }; + var ok = false; + names.types[type] = true; + switch (type) { + case 1: + ok = typeof value === "string" && value.lastIndexOf("@") !== -1; + if (ok) { + var at = value.lastIndexOf("@"); + name.local = value.substr(0, at); + name.host = value.substr(at + 1).toLowerCase(); + } + break; + case 2: + ok = typeof value === "string"; + if (ok) { + name.host = value.toLowerCase(); + } + break; + case 4: + ok = forge.util.isArray(value); + if (ok) { + name.attributes = _canonicalAttributes(value); + } + break; + case 6: + var m = typeof value === "string" && /^[a-zA-Z][a-zA-Z0-9+.\-]*:\/\/([^\/?#]*)/.exec(value); + if (m) { + var host = m[1].substr(m[1].lastIndexOf("@") + 1); + if (host.charAt(0) === "[") { + name.host = null; + } else { + var colon = host.indexOf(":"); + if (colon !== -1) { + host = host.substr(0, colon); + } + name.host = host.toLowerCase(); + } + ok = host.length > 0; + } + break; + case 7: + ok = typeof value === "string" && (value.length === 4 || value.length === 16); + break; + } + if (ok) { + names.names.push(name); + } else { + names.unsupported[type] = true; + } + } + function _hostMatchesConstraint(host, base) { + if (base.length === 0) { + return true; + } + if (base.charAt(0) === ".") { + return host.length > base.length && host.substr(host.length - base.length) === base; + } + return host === base; + } + function _nameMatchesConstraint(name, subtree) { + var value = name.host; + var base = subtree.host; + var i; + switch (name.type) { + case 1: + if (subtree.local !== null) { + return (subtree.local === "" || name.local === subtree.local) && value === base; + } + return _hostMatchesConstraint(value, base); + case 2: + if (base.length === 0) { + return true; + } + if (base.charAt(0) === ".") { + return value.length > base.length && value.substr(value.length - base.length) === base; + } + return value === base || value.length > base.length && value.substr(value.length - base.length - 1) === "." + base; + case 6: + return value !== null && _hostMatchesConstraint(value, base); + case 4: + var battrs = subtree.attributes; + var attrs = name.attributes; + if (battrs.length > attrs.length) { + return false; + } + for (i = 0; i < battrs.length; ++i) { + if (battrs[i].type !== attrs[i].type || battrs[i].value !== attrs[i].value) { + return false; + } + } + return true; + case 7: + value = name.value; + base = subtree.value; + if (base.length !== value.length * 2) { + return false; + } + for (i = 0; i < value.length; ++i) { + var mask = base.charCodeAt(value.length + i); + if ((value.charCodeAt(i) & mask) !== (base.charCodeAt(i) & mask)) { + return false; + } + } + return true; + } + return false; + } + function _nameToString(name) { + if (name.type === 4) { + var parts = []; + for (var i = 0; i < name.value.length; ++i) { + var attr = name.value[i]; + parts.push((attr.shortName || attr.name || attr.type) + "=" + attr.value); + } + return parts.join(", "); + } + if (name.type === 7) { + return forge.util.bytesToIP(name.value); + } + return name.value; + } + function _checkNameConstraints(cert, constraints, count, leaf, work) { + if (count === 0) { + return null; + } + var subject = _getConstrainedNames(cert, leaf); + var names = subject.names; + var i; + var n; + var k; + var nc; + var subtree; + var typeName; + for (i = 0; i < count && work.checks <= _maxNameConstraintChecks; ++i) { + nc = constraints[i]; + work.checks += (names.length + 1) * (nc.invalid ? 1 : nc.permitted.length + nc.excluded.length + 1); + } + if (work.checks > _maxNameConstraintChecks) { + return { + message: "Certificate name constraints require too many checks.", + error: pki2.certificateError.unsupported_certificate + }; + } + for (i = 0; i < count; ++i) { + nc = constraints[i]; + if (nc.invalid) { + return { + message: "Certificate name constraint could not be parsed.", + error: pki2.certificateError.unsupported_certificate + }; + } + var all = nc.permitted.concat(nc.excluded); + for (n = 0; n < all.length; ++n) { + subtree = all[n]; + if (subtree.type in subject.unsupported || !subtree.supported && subtree.type in subject.types) { + typeName = _generalNameTypes[subtree.type] || String(subtree.type); + return { + message: "Certificate name constraint of type " + typeName + " is not supported.", + error: pki2.certificateError.unsupported_certificate, + nameType: typeName + }; + } + } + } + for (k = 0; k < names.length; ++k) { + var name = names[k]; + for (i = 0; i < count; ++i) { + nc = constraints[i]; + var found = false; + var matched = false; + for (n = 0; !matched && n < nc.permitted.length; ++n) { + subtree = nc.permitted[n]; + if (subtree.type === name.type) { + found = true; + matched = _nameMatchesConstraint(name, subtree); + } + } + if (found && !matched) { + return { + message: "Certificate subject name is not permitted by a name constraint.", + error: pki2.certificateError.bad_certificate, + nameValue: _nameToString(name), + nameType: _generalNameTypes[name.type] + }; + } + for (n = 0; n < nc.excluded.length; ++n) { + subtree = nc.excluded[n]; + if (subtree.type === name.type && _nameMatchesConstraint(name, subtree)) { + return { + message: "Certificate subject name is excluded by a name constraint.", + error: pki2.certificateError.bad_certificate, + nameValue: _nameToString(name), + nameType: _generalNameTypes[name.type] + }; + } + } + } + } + return null; + } pki2.verifyCertificateChain = function(caStore, chain, options) { if (typeof options === "function") { options = { verify: options }; @@ -168212,6 +168867,34 @@ var require_x509 = __commonJS({ if (typeof validityCheckDate === "undefined") { validityCheckDate = /* @__PURE__ */ new Date(); } + var ncList = []; + var ncCount = []; + var ncWork = { checks: 0 }; + var last = certs[certs.length - 1]; + if (last && !last.isIssuer(last)) { + var anchors = caStore.getIssuer(last); + anchors = anchors ? forge.util.isArray(anchors) ? anchors.slice() : [anchors] : []; + for (var ai = 0; ai < anchors.length; ++ai) { + var anchorNc = _getNameConstraints(anchors[ai]); + if (anchorNc.length > 0) { + var anchorVerified = false; + try { + anchorVerified = anchors[ai].verify(last); + } catch (ex) { + } + for (var an = 0; anchorVerified && an < anchorNc.length; ++an) { + ncList.push(anchorNc[an]); + } + } + } + } + for (var ci = certs.length - 1; ci >= 0; --ci) { + ncCount[ci] = ncList.length; + var certNc = ci > 0 ? _getNameConstraints(certs[ci]) : []; + for (var cn = 0; cn < certNc.length; ++cn) { + ncList.push(certNc[cn]); + } + } var first = true; var error3 = null; var depth = 0; @@ -168270,14 +168953,24 @@ var require_x509 = __commonJS({ error: pki2.certificateError.bad_certificate }; } + if (error3 === null && (first || !cert.isIssuer(cert))) { + error3 = _checkNameConstraints( + cert, + ncList, + ncCount[depth], + first, + ncWork + ); + } if (error3 === null) { var se = { keyUsage: true, - basicConstraints: true + basicConstraints: true, + nameConstraints: true }; for (var i = 0; error3 === null && i < cert.extensions.length; ++i) { var ext2 = cert.extensions[i]; - if (ext2.critical && !(ext2.name in se)) { + if (ext2.critical && (!(ext2.name in se) || ext2.name === "nameConstraints" && ext2.id !== "2.5.29.30")) { error3 = { message: "Certificate has an unsupported critical extension.", error: pki2.certificateError.unsupported_certificate @@ -169604,6 +170297,16 @@ var require_tls = __commonJS({ }); } if (client) { + if (msg.compression_method !== tls.CompressionMethod.none) { + return c.error(c, { + message: "Unsupported compression method.", + send: true, + alert: { + level: tls.Alert.Level.fatal, + description: tls.Alert.Description.illegal_parameter + } + }); + } c.session.compressionMethod = msg.compression_method; } else { c.session.compressionMethod = tls.CompressionMethod.none; @@ -170199,7 +170902,7 @@ var require_tls = __commonJS({ b.read -= 4; var bytes = b.bytes(length + 4); b.read += 4; - if (type in hsTable[c.entity][c.expect]) { + if (type in hsTable[c.entity][c.expect] && (c.session || c.entity === tls.ConnectionEnd.server)) { if (c.entity === tls.ConnectionEnd.server && !c.open && !c.fail) { c.handshaking = true; c.session = { @@ -172381,6 +173084,9 @@ var require_ed25519 = __commonJS({ if (unpackneg(q, pk)) { return -1; } + if (_isSmallOrder(q)) { + return -1; + } if (!_isCanonicalSignatureScalar(sm, 32)) { return -1; } @@ -172421,6 +173127,24 @@ var require_ed25519 = __commonJS({ } return false; } + function _isSmallOrder(p) { + var i; + var t = new NativeBuffer(32); + var r = [gf(p[0]), gf(p[1]), gf(p[2]), gf(p[3])]; + for (i = 0; i < 3; ++i) { + add2(r, r); + } + pack(t, r); + if (t[0] !== 1) { + return false; + } + for (i = 1; i < 32; ++i) { + if (t[i] !== 0) { + return false; + } + } + return true; + } function modL(r, x) { var carry, i, j, k; for (i = 63; i >= 32; --i) { diff --git a/package-lock.json b/package-lock.json index 12306cdd7f..6f17e00a39 100644 --- a/package-lock.json +++ b/package-lock.json @@ -27,14 +27,14 @@ "@octokit/plugin-rest-endpoint-methods": "^18.0.0", "@octokit/plugin-retry": "^8.1.1", "archiver": "^8.0.0", - "follow-redirects": "^1.16.1", + "follow-redirects": "^1.16.2", "get-folder-size": "^5.0.0", "https-proxy-agent": "^7.0.6", "js-yaml": "^5.5.0", "jsonschema": "1.5.0", "long": "^5.3.2", - "node-forge": "^1.4.1", - "semver": "^7.8.5", + "node-forge": "^1.4.3", + "semver": "^7.8.6", "undici": "^7.30.1", "uuid": "^14.0.3" }, @@ -50,22 +50,22 @@ "@types/node-forge": "^1.3.14", "@types/sarif": "^2.1.7", "@types/semver": "^7.8.0", - "@types/sinon": "^22.0.1", + "@types/sinon": "^22.0.2", "ava": "^6.4.1", "esbuild": "^0.28.2", "eslint": "^9.39.5", "eslint-import-resolver-typescript": "^4.4.5", "eslint-plugin-github": "^6.1.2", "eslint-plugin-import-x": "^4.17.1", - "eslint-plugin-jsdoc": "^65.4.0", + "eslint-plugin-jsdoc": "^65.4.3", "eslint-plugin-no-async-foreach": "^0.1.1", "glob": "^14.0.3", - "globals": "^17.13.0", + "globals": "^17.14.0", "nock": "^14.0.17", "prettier": "^3.9.10", "sinon": "^22.1.0", "typescript": "^6.0.3", - "typescript-eslint": "^8.72.0" + "typescript-eslint": "^8.72.1" } }, "node_modules/@actions/artifact": { @@ -1023,9 +1023,9 @@ } }, "node_modules/@es-joy/jsdoccomment": { - "version": "0.100.0", - "resolved": "https://registry.npmjs.org/@es-joy/jsdoccomment/-/jsdoccomment-0.100.0.tgz", - "integrity": "sha512-QuIT5kMg3XWN22Wa1rcXmR/GkfSg6Ygs/ikMiHihdSpu+o3O59LygkFV9srKa5xHplBFwNd5ZCo3bywL4k7qMQ==", + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/@es-joy/jsdoccomment/-/jsdoccomment-1.0.0.tgz", + "integrity": "sha512-jiVfUnvMioo3upHpAoxE4XkqfrL6nc/XQx7Uw7tQL6QbQDJcALm+fhdj6tjiORDF7uADJbTlmnYWR9DvJE/eiw==", "dev": true, "license": "MIT", "dependencies": { @@ -1033,7 +1033,7 @@ "@typescript-eslint/types": "^8.72.0", "comment-parser": "1.4.9", "esquery": "^1.7.0", - "jsdoc-type-pratt-parser": "~9.3.0" + "jsdoc-type-pratt-parser": "~9.4.0" }, "engines": { "node": "^22.22.2 || >=24.15.0" @@ -2751,9 +2751,9 @@ "license": "MIT" }, "node_modules/@types/sinon": { - "version": "22.0.1", - "resolved": "https://registry.npmjs.org/@types/sinon/-/sinon-22.0.1.tgz", - "integrity": "sha512-MThluJXPmpBY+Z5S3565F2z+hjkCXnBrr36j2mitVQ7JUtxA+A+YQhs+0Q6J8jxb0SVJvydO+6NWfj9EBzpiBQ==", + "version": "22.0.2", + "resolved": "https://registry.npmjs.org/@types/sinon/-/sinon-22.0.2.tgz", + "integrity": "sha512-2qLRFlluKkn6mci189eKhlOsHcdFpsn/9+29S4VmwKCpfb+vseKrZSSOSy5259yzIpP/y4gLfqQfIIR/lZn4Ng==", "dev": true, "license": "MIT", "dependencies": { @@ -2767,17 +2767,17 @@ "license": "MIT" }, "node_modules/@typescript-eslint/eslint-plugin": { - "version": "8.72.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-8.72.0.tgz", - "integrity": "sha512-aysKgysPX9XOv/dk95UkvUDe++Q3n3dJPG9CEWT3RUccxfkPJ+Qn6nhKPDhZXU6Ofo9kgwGWwKyQCnZIXTgngg==", + "version": "8.72.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-8.72.1.tgz", + "integrity": "sha512-5CokTWXpmbylfFabsbvHC0CAw3XLaGnoa+nFJX5FR592h/LoZsENUE6p/rg5xvkKrFEXz6pYmgI29AgXc2N3BQ==", "dev": true, "license": "MIT", "dependencies": { "@eslint-community/regexpp": "^4.12.2", - "@typescript-eslint/scope-manager": "8.72.0", - "@typescript-eslint/type-utils": "8.72.0", - "@typescript-eslint/utils": "8.72.0", - "@typescript-eslint/visitor-keys": "8.72.0", + "@typescript-eslint/scope-manager": "8.72.1", + "@typescript-eslint/type-utils": "8.72.1", + "@typescript-eslint/utils": "8.72.1", + "@typescript-eslint/visitor-keys": "8.72.1", "ignore": "^7.0.5", "natural-compare": "^1.4.0", "ts-api-utils": "^2.5.0" @@ -2790,7 +2790,7 @@ "url": "https://opencollective.com/typescript-eslint" }, "peerDependencies": { - "@typescript-eslint/parser": "^8.72.0", + "@typescript-eslint/parser": "^8.72.1", "eslint": "^8.57.0 || ^9.0.0 || ^10.0.0", "typescript": ">=4.8.4 <6.1.0" } @@ -2806,16 +2806,16 @@ } }, "node_modules/@typescript-eslint/parser": { - "version": "8.72.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-8.72.0.tgz", - "integrity": "sha512-0O+x3ynciD6zuXb1CKSu165haQV6ey53DKhHHUnujP7U+XlltJG+/keT0Xhd1HXCze+IHf7Tvt39ovyepX/LNw==", + "version": "8.72.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-8.72.1.tgz", + "integrity": "sha512-ZGwZP4OCfyA0AQTpEAMWz+rtX01DRhQWW5hB0ucKDEIX5U7jdmPSaMx94rQfaPAQzIYz2BimOgKOJtjfpRFQ9g==", "dev": true, "license": "MIT", "dependencies": { - "@typescript-eslint/scope-manager": "8.72.0", - "@typescript-eslint/types": "8.72.0", - "@typescript-eslint/typescript-estree": "8.72.0", - "@typescript-eslint/visitor-keys": "8.72.0", + "@typescript-eslint/scope-manager": "8.72.1", + "@typescript-eslint/types": "8.72.1", + "@typescript-eslint/typescript-estree": "8.72.1", + "@typescript-eslint/visitor-keys": "8.72.1", "debug": "^4.4.3" }, "engines": { @@ -2849,14 +2849,14 @@ } }, "node_modules/@typescript-eslint/project-service": { - "version": "8.72.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/project-service/-/project-service-8.72.0.tgz", - "integrity": "sha512-bzHngBbmIgzj6TsTjVUCntGx6FFLgE7mPjpO0PzHycOaZHXqS43XnrkFIHRS16LLr/xO6FHSXG3GJFo/F4bSBQ==", + "version": "8.72.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/project-service/-/project-service-8.72.1.tgz", + "integrity": "sha512-fAuVMkwdO/huI8nyo/WKnNKf6Gag93S56Rh3Ts5mGcavwSdaN8tRg1gCeIGX8PF+nzp1BjGfO4gHhGzW1J6jTg==", "dev": true, "license": "MIT", "dependencies": { - "@typescript-eslint/tsconfig-utils": "^8.72.0", - "@typescript-eslint/types": "^8.72.0", + "@typescript-eslint/tsconfig-utils": "^8.72.1", + "@typescript-eslint/types": "^8.72.1", "debug": "^4.4.3" }, "engines": { @@ -2889,14 +2889,14 @@ } }, "node_modules/@typescript-eslint/scope-manager": { - "version": "8.72.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-8.72.0.tgz", - "integrity": "sha512-JewPyJOYcXBSAS7PIgufscHOwZqhTGyBRiQJhhuDln66tMchxvvt7nJ90JKKIoOelmdHA3kAQbm9cEUHc4JSEA==", + "version": "8.72.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-8.72.1.tgz", + "integrity": "sha512-lC/t6eMCZZQAAKZEYGL6RDVSuFehpdmMT6h+nJIjIa6oylN/PwDgDVtEIbB7O9xFfZYtZAYLoLlDNWKJhtF+uQ==", "dev": true, "license": "MIT", "dependencies": { - "@typescript-eslint/types": "8.72.0", - "@typescript-eslint/visitor-keys": "8.72.0" + "@typescript-eslint/types": "8.72.1", + "@typescript-eslint/visitor-keys": "8.72.1" }, "engines": { "node": "^18.18.0 || ^20.9.0 || >=21.1.0" @@ -2907,9 +2907,9 @@ } }, "node_modules/@typescript-eslint/tsconfig-utils": { - "version": "8.72.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/tsconfig-utils/-/tsconfig-utils-8.72.0.tgz", - "integrity": "sha512-0vbxCf7xLVPSjcOdm6eQbgViH8EDJ8xnl1laLT9yoqSz2YmcSfSg5Vdl0JUvZf6rcuJ0ZivJIuMD4edTg8obaA==", + "version": "8.72.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/tsconfig-utils/-/tsconfig-utils-8.72.1.tgz", + "integrity": "sha512-e4D5R5vpeAEPBxT2BAzsFQL3sbwyeeeo5+aczgNSRK1V734jE7pTqaGFU+fXapWEQwnZbpFaTn32+Z8DwS6OTg==", "dev": true, "license": "MIT", "engines": { @@ -2924,15 +2924,15 @@ } }, "node_modules/@typescript-eslint/type-utils": { - "version": "8.72.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-8.72.0.tgz", - "integrity": "sha512-gEXxmmbSTSOVTC37IYYvremOM31v+UN2W772bJxmVYPhAOPSUxtacyb7wkm1EhkYKU6KzFJsdU44DCV4to0LWw==", + "version": "8.72.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-8.72.1.tgz", + "integrity": "sha512-iY2wlmyrXJmx4yxUGP3aYCFF3cA/6ShddOKmLU2dx7LnEykbAM8WThlxZEfd1NddqceF6eJmZUayxx9oKIYNlg==", "dev": true, "license": "MIT", "dependencies": { - "@typescript-eslint/types": "8.72.0", - "@typescript-eslint/typescript-estree": "8.72.0", - "@typescript-eslint/utils": "8.72.0", + "@typescript-eslint/types": "8.72.1", + "@typescript-eslint/typescript-estree": "8.72.1", + "@typescript-eslint/utils": "8.72.1", "debug": "^4.4.3", "ts-api-utils": "^2.5.0" }, @@ -2967,9 +2967,9 @@ } }, "node_modules/@typescript-eslint/types": { - "version": "8.72.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-8.72.0.tgz", - "integrity": "sha512-Adfoy59kxNEjT5E5fnyrp7GpHYuWs8ONbdohu4ez6IU46qDq8LltG90tLmkucZB2uhYL8mqBjtXqGd8yhfjXqQ==", + "version": "8.72.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-8.72.1.tgz", + "integrity": "sha512-LmE5IhQet1BWOWEXqBrVtBPsMAOQ6Nzk35d+WLh3mk4EUF33sqlfxjio1MdYeSvKSG5skactKKuixBIKXhL4Rw==", "dev": true, "license": "MIT", "engines": { @@ -2981,16 +2981,16 @@ } }, "node_modules/@typescript-eslint/typescript-estree": { - "version": "8.72.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-8.72.0.tgz", - "integrity": "sha512-gwLfFgWcw15tN2KXDCJvxEOQjPn+P3j/n3eSqkZ5sX4VpW9Cosodr+tWwBZRvJT3TcKx6HnPRGZMCNAiP1Xhug==", + "version": "8.72.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-8.72.1.tgz", + "integrity": "sha512-DAlUoUV93hIvrtIQLwCbmZQYVZwOMhiHJrOVUUIWicFZaIYjTRqlY3I/NZevfkLmSqkNHRu2qYDcq9lrn16oOQ==", "dev": true, "license": "MIT", "dependencies": { - "@typescript-eslint/project-service": "8.72.0", - "@typescript-eslint/tsconfig-utils": "8.72.0", - "@typescript-eslint/types": "8.72.0", - "@typescript-eslint/visitor-keys": "8.72.0", + "@typescript-eslint/project-service": "8.72.1", + "@typescript-eslint/tsconfig-utils": "8.72.1", + "@typescript-eslint/types": "8.72.1", + "@typescript-eslint/visitor-keys": "8.72.1", "debug": "^4.4.3", "minimatch": "^10.2.2", "semver": "^7.7.3", @@ -3066,16 +3066,16 @@ } }, "node_modules/@typescript-eslint/utils": { - "version": "8.72.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-8.72.0.tgz", - "integrity": "sha512-0up3oArJZBYnzOaEXKo8DmI43QvMZyPoFEt9LWzRJcyl/RcJjfKKPebknN1VbTgXBf3M/KggUh5uUMdURLnseg==", + "version": "8.72.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-8.72.1.tgz", + "integrity": "sha512-5v5liypurJBFHCBNqh/RjsymAD+VWcE0djuGY/BUqp5fC3Qn+luWDEksjuTtWjPn6i5zQlUtkZCRG/CYG0yCkA==", "dev": true, "license": "MIT", "dependencies": { "@eslint-community/eslint-utils": "^4.9.1", - "@typescript-eslint/scope-manager": "8.72.0", - "@typescript-eslint/types": "8.72.0", - "@typescript-eslint/typescript-estree": "8.72.0" + "@typescript-eslint/scope-manager": "8.72.1", + "@typescript-eslint/types": "8.72.1", + "@typescript-eslint/typescript-estree": "8.72.1" }, "engines": { "node": "^18.18.0 || ^20.9.0 || >=21.1.0" @@ -3090,13 +3090,13 @@ } }, "node_modules/@typescript-eslint/visitor-keys": { - "version": "8.72.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-8.72.0.tgz", - "integrity": "sha512-E2mroviasaWecDzTGiGMtuEguuLVOeRggnrIn93CJuxYJzQBHbyymlT08aVQydbBal5538o+JkBKXh2sRuCyIA==", + "version": "8.72.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-8.72.1.tgz", + "integrity": "sha512-SB8xqipSzZHUePCCLNeYxqnxq83X61/qzNhjQGbTfjxGZIeOEP7tBgWYX05Tcd6CgE02WdTJnh5b8kMZJ/+bnQ==", "dev": true, "license": "MIT", "dependencies": { - "@typescript-eslint/types": "8.72.0", + "@typescript-eslint/types": "8.72.1", "eslint-visitor-keys": "^5.0.0" }, "engines": { @@ -3530,6 +3530,7 @@ }, "node_modules/ansi-regex": { "version": "5.0.1", + "dev": true, "license": "MIT", "engines": { "node": ">=8" @@ -3539,6 +3540,7 @@ "version": "6.2.3", "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-6.2.3.tgz", "integrity": "sha512-4Dj6M28JB+oAH8kFkTLUo+a2jwOFkuqb3yucU0CANcRRUbxS0cP0nZYCGjcc3BNXwRIsUVmDGgzawme7zvJHvg==", + "dev": true, "license": "MIT", "engines": { "node": ">=12" @@ -4443,6 +4445,7 @@ }, "node_modules/color-convert": { "version": "2.0.1", + "dev": true, "license": "MIT", "dependencies": { "color-name": "~1.1.4" @@ -4453,6 +4456,7 @@ }, "node_modules/color-name": { "version": "1.1.4", + "dev": true, "license": "MIT" }, "node_modules/comment-parser": { @@ -4577,6 +4581,7 @@ "version": "7.0.6", "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.6.tgz", "integrity": "sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==", + "dev": true, "dependencies": { "path-key": "^3.1.0", "shebang-command": "^2.0.0", @@ -4831,6 +4836,7 @@ }, "node_modules/emoji-regex": { "version": "8.0.0", + "dev": true, "license": "MIT" }, "node_modules/es-abstract": { @@ -5425,14 +5431,14 @@ } }, "node_modules/eslint-plugin-jsdoc": { - "version": "65.4.0", - "resolved": "https://registry.npmjs.org/eslint-plugin-jsdoc/-/eslint-plugin-jsdoc-65.4.0.tgz", - "integrity": "sha512-bRiU6LfCFmLL7GuePKvA6ZIcXLonhZGCg2TgQLmkcExeVdAirQp2Hsf3xeSUTmlKwAAsREVEOLbZYD8F7oA69g==", + "version": "65.4.3", + "resolved": "https://registry.npmjs.org/eslint-plugin-jsdoc/-/eslint-plugin-jsdoc-65.4.3.tgz", + "integrity": "sha512-eTVR8r6Bc9/aZgvqOzaFSiTNDfjULHVO69FTl4POhciCgjS6MLH6S8OsQ23+uGaeFoan8emz89WnMRTox389Xw==", "dev": true, "license": "BSD-3-Clause", "dependencies": { "@es-joy/escodegen": "^4.2.0", - "@es-joy/jsdoccomment": "~0.100.0", + "@es-joy/jsdoccomment": "~1.0.0", "@es-joy/resolve.exports": "1.2.0", "@typescript-eslint/utils": "^8.72.0", "are-docs-informative": "^0.1.1", @@ -6053,9 +6059,9 @@ "license": "ISC" }, "node_modules/follow-redirects": { - "version": "1.16.1", - "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.16.1.tgz", - "integrity": "sha512-FNvFGzoMLWmE6Yj9spb/zjd7yiNCHiAW9/Tg9CXrQ8wuu32HtlJOwWO11OJafl5FfY3DxTdQ0vj42zU1kvv5jg==", + "version": "1.16.2", + "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.16.2.tgz", + "integrity": "sha512-/kVP2U8z596Ia0gwFrwyIeo74ta5aVmSeU1FfAUMAmcEP5EP7zydmag3SLiN64NaRKef3lxsq7i/g7ltJQDGow==", "funding": [ { "type": "individual", @@ -6340,9 +6346,9 @@ } }, "node_modules/globals": { - "version": "17.13.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-17.13.0.tgz", - "integrity": "sha512-RwMTC61u7hrG3ZJMkZQOK4JLJrKS8QtoTii63EmWvFXHqycY9FObBJQCbsLxSO8kjKhWE5kV1GC+Vb1g3RI0Zg==", + "version": "17.14.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-17.14.0.tgz", + "integrity": "sha512-UtdkTVyAJePQv0J2M9Xe4L0ruNSDV314XiIJsADI2Zf40bcdAonE/D/OhAU8AT99oij9mhLByb+NvA3QWZYgCg==", "dev": true, "license": "MIT", "engines": { @@ -6859,6 +6865,7 @@ }, "node_modules/is-fullwidth-code-point": { "version": "3.0.0", + "dev": true, "license": "MIT", "engines": { "node": ">=8" @@ -7169,6 +7176,7 @@ }, "node_modules/isexe": { "version": "2.0.0", + "dev": true, "license": "ISC" }, "node_modules/js-string-escape": { @@ -7229,9 +7237,9 @@ } }, "node_modules/jsdoc-type-pratt-parser": { - "version": "9.3.0", - "resolved": "https://registry.npmjs.org/jsdoc-type-pratt-parser/-/jsdoc-type-pratt-parser-9.3.0.tgz", - "integrity": "sha512-JZ8lKMCZXDlM1jAjAK5tTmtFJtgv6iFQQfjE3Fza6jBRACUueaEXLY17n1u05JO1lcPkNxgP+ddEDtiPsk5ktg==", + "version": "9.4.0", + "resolved": "https://registry.npmjs.org/jsdoc-type-pratt-parser/-/jsdoc-type-pratt-parser-9.4.0.tgz", + "integrity": "sha512-orXhi2Y06rag47r4SW4JPII6WlUJbp0xe9cIcqLaSbb/8tREcEZSq99Lu3AFfra6PAlMqTYIxV+ZHxl1dFUrWw==", "dev": true, "license": "MIT", "dependencies": { @@ -8198,9 +8206,9 @@ } }, "node_modules/node-forge": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/node-forge/-/node-forge-1.4.1.tgz", - "integrity": "sha512-w5/MfWaeMrpR/5ba6fZyAUTLSuE6aYz7H/3cYrqwZEmf5eQS3IaaLgJt4MBv7HglGFWmV22K8h4U18RJQmw/ow==", + "version": "1.4.3", + "resolved": "https://registry.npmjs.org/node-forge/-/node-forge-1.4.3.tgz", + "integrity": "sha512-P6wzfh6t70avmV8FrVEAd/36sOPJQ+hkaJVX1Laap9J/77m7M0eyozDvc8SwnDf4P7MP94gwbAAo0rg3YVXT+g==", "license": "(BSD-3-Clause OR GPL-2.0)", "engines": { "node": ">= 6.13.0" @@ -8571,6 +8579,7 @@ }, "node_modules/path-key": { "version": "3.1.1", + "dev": true, "license": "MIT", "engines": { "node": ">=8" @@ -9082,9 +9091,9 @@ } }, "node_modules/semver": { - "version": "7.8.5", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.8.5.tgz", - "integrity": "sha512-Y7/KDsb8LjooZpwaqGyulO6DQlksgCncchHGk+sZIY4SBvUocMBEFH5Ur1fI4dV+Jvl0w6cjvucaIi40puRioA==", + "version": "7.8.6", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.8.6.tgz", + "integrity": "sha512-9lpSSU4Mly3mrtruwLs1eLK6+gzbzqeBFwRNjIjE+9LuDpWdYctrQlQ3ej1Ilgi7gknpsTRnPoLP8DpCHqHIJw==", "license": "ISC", "bin": { "semver": "bin/semver.js" @@ -9170,6 +9179,7 @@ }, "node_modules/shebang-command": { "version": "2.0.0", + "dev": true, "license": "MIT", "dependencies": { "shebang-regex": "^3.0.0" @@ -9180,6 +9190,7 @@ }, "node_modules/shebang-regex": { "version": "3.0.0", + "dev": true, "license": "MIT", "engines": { "node": ">=8" @@ -9265,6 +9276,7 @@ "version": "4.1.0", "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-4.1.0.tgz", "integrity": "sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==", + "dev": true, "engines": { "node": ">=14" }, @@ -9451,6 +9463,7 @@ }, "node_modules/string-width": { "version": "4.2.3", + "dev": true, "license": "MIT", "dependencies": { "emoji-regex": "^8.0.0", @@ -9536,6 +9549,7 @@ }, "node_modules/strip-ansi": { "version": "6.0.1", + "dev": true, "license": "MIT", "dependencies": { "ansi-regex": "^5.0.1" @@ -10046,16 +10060,16 @@ } }, "node_modules/typescript-eslint": { - "version": "8.72.0", - "resolved": "https://registry.npmjs.org/typescript-eslint/-/typescript-eslint-8.72.0.tgz", - "integrity": "sha512-r26Fkc8As+mZvqp7SLsMmNFyYUup/6CjK7/eHBHmhOw6GH6n6YFxHVFrG0jN1c5CMpDzelLPxvgeCOzx7BjN+A==", + "version": "8.72.1", + "resolved": "https://registry.npmjs.org/typescript-eslint/-/typescript-eslint-8.72.1.tgz", + "integrity": "sha512-3Li9FfPmQp45nxEtFD1ZCrYFI3cYK5kpyNtmm1H7lMagm8u9sy6PTjy3ytwQZs7KNukOyKFHAZ6z6GjYFeaeXw==", "dev": true, "license": "MIT", "dependencies": { - "@typescript-eslint/eslint-plugin": "8.72.0", - "@typescript-eslint/parser": "8.72.0", - "@typescript-eslint/typescript-estree": "8.72.0", - "@typescript-eslint/utils": "8.72.0" + "@typescript-eslint/eslint-plugin": "8.72.1", + "@typescript-eslint/parser": "8.72.1", + "@typescript-eslint/typescript-estree": "8.72.1", + "@typescript-eslint/utils": "8.72.1" }, "engines": { "node": "^18.18.0 || ^20.9.0 || >=21.1.0" @@ -10273,6 +10287,7 @@ }, "node_modules/which": { "version": "2.0.2", + "dev": true, "license": "ISC", "dependencies": { "isexe": "^2.0.0" @@ -10565,7 +10580,7 @@ "glob": "^14.0.3", "lite-matter": "^0.1.2", "mdast-util-from-markdown": "^2.1.0", - "semver": "^7.8.5", + "semver": "^7.8.6", "yaml": "^2.9.1" }, "devDependencies": { diff --git a/package.json b/package.json index 5fed5cccd4..3958a4a2f4 100644 --- a/package.json +++ b/package.json @@ -37,14 +37,14 @@ "@octokit/plugin-rest-endpoint-methods": "^18.0.0", "@octokit/plugin-retry": "^8.1.1", "archiver": "^8.0.0", - "follow-redirects": "^1.16.1", + "follow-redirects": "^1.16.2", "get-folder-size": "^5.0.0", "https-proxy-agent": "^7.0.6", "js-yaml": "^5.5.0", "jsonschema": "1.5.0", "long": "^5.3.2", - "node-forge": "^1.4.1", - "semver": "^7.8.5", + "node-forge": "^1.4.3", + "semver": "^7.8.6", "undici": "^7.30.1", "uuid": "^14.0.3" }, @@ -60,22 +60,22 @@ "@types/node-forge": "^1.3.14", "@types/sarif": "^2.1.7", "@types/semver": "^7.8.0", - "@types/sinon": "^22.0.1", + "@types/sinon": "^22.0.2", "ava": "^6.4.1", "esbuild": "^0.28.2", "eslint": "^9.39.5", "eslint-import-resolver-typescript": "^4.4.5", "eslint-plugin-github": "^6.1.2", "eslint-plugin-import-x": "^4.17.1", - "eslint-plugin-jsdoc": "^65.4.0", + "eslint-plugin-jsdoc": "^65.4.3", "eslint-plugin-no-async-foreach": "^0.1.1", "glob": "^14.0.3", - "globals": "^17.13.0", + "globals": "^17.14.0", "nock": "^14.0.17", "prettier": "^3.9.10", "sinon": "^22.1.0", "typescript": "^6.0.3", - "typescript-eslint": "^8.72.0" + "typescript-eslint": "^8.72.1" }, "overrides": { "@actions/tool-cache": { diff --git a/pr-checks/package.json b/pr-checks/package.json index 3ad65382f5..e18e433d47 100644 --- a/pr-checks/package.json +++ b/pr-checks/package.json @@ -17,7 +17,7 @@ "glob": "^14.0.3", "lite-matter": "^0.1.2", "mdast-util-from-markdown": "^2.1.0", - "semver": "^7.8.5", + "semver": "^7.8.6", "yaml": "^2.9.1" }, "devDependencies": {