fix: harden plugin sockets, public routes, prebuilt binaries and login fallback

This commit is contained in:
LukeGus committed 2026-10-05 19:50:19 -05:00
1 parent efb4259438
commit 5e54d95e71
16 files changed
+318 -23

No files matched your search

+6 -2
View File
@@ -339,6 +339,9 @@ export interface PluginRouterOptions {
* and matched exactly ("/callback", not "/plugin-api/<id>/callback"). A
* ":name" segment matches one segment, and a trailing "/*" matches any
* number of further segments, for a proxied page ("/chooser/:id/*").
* An entry only opens the route registered with that same path, for the
* methods it was registered with, so a literal route beside a ":param"
* ("/webhook/config" next to "/webhook/:token") still needs a login.
*
* For the handful of routes an unauthenticated third party has to reach: an
* OIDC callback, an inbound webhook. Every entry is audited when the router
@@ -1859,8 +1862,9 @@ export interface PluginBinarySpec {
/** Hex SHA-256 the file must have. */
sha256: string;
/**
* Paths checked before downloading, such as a copy baked into the Docker
* image. One whose checksum matches is used in place.
* Absolute paths checked before downloading, such as a copy baked into the
* Docker image. Only a regular file named `name` is considered, and one
* whose checksum matches is used in place.
*/
prebuilt?: readonly string[];
}
+2 -1
View File
@@ -434,7 +434,8 @@ export interface PluginProtocolContribution {
defaultPort?: number;
/**
* What the owner's login falls back to from the host's own SSH login
* when the protocol login leaves it empty.
* when the protocol login leaves it empty. The password only falls back
* while the host signs in to SSH with a password.
*/
hostLoginFallback?: Array<"username" | "password">;
}