fix(configure): reject literal "undefined" and "null" gateway auth tokens (#13767)

* fix(configure): reject literal "undefined" and "null" gateway auth tokens

* fix(configure): reject literal "undefined" and "null" gateway auth tokens

* fix(configure): validate gateway password prompt and harden token coercion (#13767) (thanks @omair445)

* test: remove unused vitest imports in baseline lint fixtures (#13767)

---------

Co-authored-by: Luna AI <luna@coredirection.ai>
Co-authored-by: Peter Steinberger <steipete@gmail.com>
This commit is contained in:
Omair Afzal
2026-02-13 21:04:41 +05:00
committed by GitHub
parent 4dc93f40d5
commit 59733a02c8
9 changed files with 118 additions and 11 deletions

View File

@@ -73,7 +73,27 @@ export function normalizeGatewayTokenInput(value: unknown): string {
if (typeof value !== "string") {
return "";
}
return value.trim();
const trimmed = value.trim();
// Reject the literal string "undefined" — a common bug when JS undefined
// gets coerced to a string via template literals or String(undefined).
if (trimmed === "undefined" || trimmed === "null") {
return "";
}
return trimmed;
}
export function validateGatewayPasswordInput(value: unknown): string | undefined {
if (typeof value !== "string") {
return "Required";
}
const trimmed = value.trim();
if (!trimmed) {
return "Required";
}
if (trimmed === "undefined" || trimmed === "null") {
return 'Cannot be the literal string "undefined" or "null"';
}
return undefined;
}
export function printWizardHeader(runtime: RuntimeEnv) {