mirror of
https://github.com/Termix-SSH/Termix.git
synced 2026-10-30 07:05:24 +00:00
feat: store rdp, vnc and telnet logins in a generic per-protocol table
This commit is contained in:
1 parent
e0c30a4e6f
commit
bba06f7ff6
107 files changed
+18750
-1224
No files matched your search
BIN
Binary file not shown.
+10
@@ -117,6 +117,8 @@ export const ENCRYPTED_COLUMNS: Array<[string, string, string, string]> = [
|
||||
["ssh_data", "key_password", "keyPassword", "user_id"],
|
||||
["ssh_data", "sudo_password", "sudoPassword", "user_id"],
|
||||
["ssh_data", "rdp_password", "rdpPassword", "user_id"],
|
||||
["ssh_data", "vnc_password", "vncPassword", "user_id"],
|
||||
["ssh_data", "telnet_password", "telnetPassword", "user_id"],
|
||||
["ssh_credentials", "password", "password", "user_id"],
|
||||
["ssh_credentials", "private_key", "privateKey", "user_id"],
|
||||
["ssh_credentials", "key", "key", "user_id"],
|
||||
@@ -251,6 +253,14 @@ const HOST_ROWS: Row[] = [
|
||||
telnet_port: 2323,
|
||||
rdp_user: "d4-rdp-user",
|
||||
rdp_password: "d4-rdp-password",
|
||||
rdp_domain: "D4-DOMAIN",
|
||||
rdp_auth_type: "direct",
|
||||
vnc_user: "d4-vnc-user",
|
||||
vnc_password: "d4-vnc-password",
|
||||
vnc_auth_type: "direct",
|
||||
// Telnet through the saved credential, which has no password of its own.
|
||||
telnet_auth_type: "credential",
|
||||
telnet_credential_id: 1,
|
||||
rdp_security: "nla",
|
||||
rdp_ignore_cert: 1,
|
||||
guacamole_config: JSON.stringify({ colorDepth: 24 }),
|
||||
|
||||
@@ -415,6 +415,34 @@ ALTER TABLE `plugin_settings` MODIFY COLUMN `scope` enum('admin','user','host','
|
||||
-- ==== core 0062_smooth_speed ====
|
||||
ALTER TABLE `ssh_data` ADD `ssh_options` text;
|
||||
|
||||
-- ==== core 0063_needy_radioactive_man ====
|
||||
-- The RDP, VNC and Telnet logins moved out of ssh_data into host_protocol_auth.
|
||||
-- A boot migration copies them after this runs, so the old ssh_data columns
|
||||
-- and their foreign keys stay in place, unused, until 3.0.0.
|
||||
CREATE TABLE `host_protocol_auth` (
|
||||
`id` int AUTO_INCREMENT NOT NULL,
|
||||
`host_id` int NOT NULL,
|
||||
`user_id` varchar(255) NOT NULL,
|
||||
`protocol` varchar(255) NOT NULL,
|
||||
`auth_type` text NOT NULL DEFAULT ('direct'),
|
||||
`credential_id` int,
|
||||
`username` text,
|
||||
`password` text,
|
||||
`fields` text,
|
||||
`secret_fields` text,
|
||||
`created_at` text NOT NULL DEFAULT (CURRENT_TIMESTAMP),
|
||||
`updated_at` text NOT NULL DEFAULT (CURRENT_TIMESTAMP),
|
||||
CONSTRAINT `host_protocol_auth_id` PRIMARY KEY(`id`),
|
||||
CONSTRAINT `idx_host_protocol_auth_host_protocol` UNIQUE(`host_id`,`protocol`)
|
||||
);
|
||||
--> statement-breakpoint
|
||||
ALTER TABLE `shared_host_secrets` ADD `encrypted_fields` text;--> statement-breakpoint
|
||||
ALTER TABLE `host_protocol_auth` ADD CONSTRAINT `host_protocol_auth_host_id_ssh_data_id_fk` FOREIGN KEY (`host_id`) REFERENCES `ssh_data`(`id`) ON DELETE cascade ON UPDATE no action;--> statement-breakpoint
|
||||
ALTER TABLE `host_protocol_auth` ADD CONSTRAINT `host_protocol_auth_user_id_users_id_fk` FOREIGN KEY (`user_id`) REFERENCES `users`(`id`) ON DELETE cascade ON UPDATE no action;--> statement-breakpoint
|
||||
ALTER TABLE `host_protocol_auth` ADD CONSTRAINT `host_protocol_auth_credential_id_ssh_credentials_id_fk` FOREIGN KEY (`credential_id`) REFERENCES `ssh_credentials`(`id`) ON DELETE set null ON UPDATE no action;--> statement-breakpoint
|
||||
CREATE INDEX `idx_host_protocol_auth_user` ON `host_protocol_auth` (`user_id`);--> statement-breakpoint
|
||||
CREATE INDEX `idx_host_protocol_auth_credential` ON `host_protocol_auth` (`credential_id`);
|
||||
|
||||
-- ==== plugin workspaces 0001_adopt_user_workspaces.sql ====
|
||||
-- workspaces 0001: adopt_user_workspaces
|
||||
-- Generated by termix-plugin migrations. Review before committing.
|
||||
|
||||
@@ -435,6 +435,33 @@ DROP TABLE "sync_tombstones" CASCADE;
|
||||
-- ==== core 0062_curvy_killmonger ====
|
||||
ALTER TABLE "ssh_data" ADD COLUMN "ssh_options" text;
|
||||
|
||||
-- ==== core 0063_giant_starfox ====
|
||||
-- The RDP, VNC and Telnet logins moved out of ssh_data into host_protocol_auth.
|
||||
-- A boot migration copies them after this runs, so the old ssh_data columns
|
||||
-- and their foreign keys stay in place, unused, until 3.0.0.
|
||||
CREATE TABLE "host_protocol_auth" (
|
||||
"id" serial PRIMARY KEY NOT NULL,
|
||||
"host_id" integer NOT NULL,
|
||||
"user_id" varchar(255) NOT NULL,
|
||||
"protocol" varchar(255) NOT NULL,
|
||||
"auth_type" text DEFAULT 'direct' NOT NULL,
|
||||
"credential_id" integer,
|
||||
"username" text,
|
||||
"password" text,
|
||||
"fields" text,
|
||||
"secret_fields" text,
|
||||
"created_at" text DEFAULT CURRENT_TIMESTAMP NOT NULL,
|
||||
"updated_at" text DEFAULT CURRENT_TIMESTAMP NOT NULL
|
||||
);
|
||||
--> statement-breakpoint
|
||||
ALTER TABLE "shared_host_secrets" ADD COLUMN "encrypted_fields" text;--> statement-breakpoint
|
||||
ALTER TABLE "host_protocol_auth" ADD CONSTRAINT "host_protocol_auth_host_id_ssh_data_id_fk" FOREIGN KEY ("host_id") REFERENCES "public"."ssh_data"("id") ON DELETE cascade ON UPDATE no action;--> statement-breakpoint
|
||||
ALTER TABLE "host_protocol_auth" ADD CONSTRAINT "host_protocol_auth_user_id_users_id_fk" FOREIGN KEY ("user_id") REFERENCES "public"."users"("id") ON DELETE cascade ON UPDATE no action;--> statement-breakpoint
|
||||
ALTER TABLE "host_protocol_auth" ADD CONSTRAINT "host_protocol_auth_credential_id_ssh_credentials_id_fk" FOREIGN KEY ("credential_id") REFERENCES "public"."ssh_credentials"("id") ON DELETE set null ON UPDATE no action;--> statement-breakpoint
|
||||
CREATE UNIQUE INDEX "idx_host_protocol_auth_host_protocol" ON "host_protocol_auth" USING btree ("host_id","protocol");--> statement-breakpoint
|
||||
CREATE INDEX "idx_host_protocol_auth_user" ON "host_protocol_auth" USING btree ("user_id");--> statement-breakpoint
|
||||
CREATE INDEX "idx_host_protocol_auth_credential" ON "host_protocol_auth" USING btree ("credential_id");
|
||||
|
||||
-- ==== plugin workspaces 0001_adopt_user_workspaces.sql ====
|
||||
-- workspaces 0001: adopt_user_workspaces
|
||||
-- Generated by termix-plugin migrations. Review before committing.
|
||||
|
||||
Reference in new issue
Block a user