From 1851134e9283c49f6558a8514c39ba2e23778b49 Mon Sep 17 00:00:00 2001 From: Herman van Rink Date: Sun, 12 Nov 2023 21:26:48 +0100 Subject: [PATCH 1/8] Enhance ssh keys textarea with Javascript, #6604 --- .../web/sites/templates/shell_user_edit.htm | 176 +++++++++++++++++- 1 file changed, 174 insertions(+), 2 deletions(-) diff --git a/interface/web/sites/templates/shell_user_edit.htm b/interface/web/sites/templates/shell_user_edit.htm index e96986a9fd..9360715476 100644 --- a/interface/web/sites/templates/shell_user_edit.htm +++ b/interface/web/sites/templates/shell_user_edit.htm @@ -66,8 +66,18 @@
- -
+ +
+ +
+ +
+ + +
+
@@ -84,3 +94,165 @@
+ + + + + -- GitLab From 2a3fbddf65cd6a2bb0971844584a5805d17cb0e7 Mon Sep 17 00:00:00 2001 From: Herman van Rink Date: Fri, 12 Jan 2024 21:10:05 +0100 Subject: [PATCH 2/8] Handle whitespace prefixes --- interface/web/sites/templates/shell_user_edit.htm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/interface/web/sites/templates/shell_user_edit.htm b/interface/web/sites/templates/shell_user_edit.htm index 9360715476..a3e632de8d 100644 --- a/interface/web/sites/templates/shell_user_edit.htm +++ b/interface/web/sites/templates/shell_user_edit.htm @@ -132,7 +132,7 @@ const publicKeys = textarea.value.trim().split('\n'); for (let i = 0; i < publicKeys.length; i++) { - const publicKey = publicKeys[i]; + const publicKey = publicKeys[i].trim();; const parts = publicKey.split(/\s+/); const type = parts[0]; const comment = parts[parts.length - 1]; -- GitLab From ab4b7c6d0c32e8dce09261a19e35ba63b618b46d Mon Sep 17 00:00:00 2001 From: Herman van Rink Date: Fri, 12 Jan 2024 21:10:18 +0100 Subject: [PATCH 3/8] Skip empty lines --- interface/web/sites/templates/shell_user_edit.htm | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/interface/web/sites/templates/shell_user_edit.htm b/interface/web/sites/templates/shell_user_edit.htm index a3e632de8d..5f1a43efa4 100644 --- a/interface/web/sites/templates/shell_user_edit.htm +++ b/interface/web/sites/templates/shell_user_edit.htm @@ -133,6 +133,12 @@ const publicKeys = textarea.value.trim().split('\n'); for (let i = 0; i < publicKeys.length; i++) { const publicKey = publicKeys[i].trim();; + + // Skip empty lines + if (publicKey === '') { + continue; + } + const parts = publicKey.split(/\s+/); const type = parts[0]; const comment = parts[parts.length - 1]; -- GitLab From d01b45363982ba35fb14b54672f638585508583e Mon Sep 17 00:00:00 2001 From: Herman van Rink Date: Fri, 12 Jan 2024 21:10:42 +0100 Subject: [PATCH 4/8] Handle comments with spaces --- interface/web/sites/templates/shell_user_edit.htm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/interface/web/sites/templates/shell_user_edit.htm b/interface/web/sites/templates/shell_user_edit.htm index 5f1a43efa4..6626eaabfd 100644 --- a/interface/web/sites/templates/shell_user_edit.htm +++ b/interface/web/sites/templates/shell_user_edit.htm @@ -141,7 +141,7 @@ const parts = publicKey.split(/\s+/); const type = parts[0]; - const comment = parts[parts.length - 1]; + const comment = parts.slice(2).join(' '); // Handle comments with spaces const widget = createSSHWidget(type, comment, i, textarea); widgetContainer.appendChild(widget); -- GitLab From c41aac18de9b187fdf801733a4ed47dcd9854e35 Mon Sep 17 00:00:00 2001 From: Herman van Rink Date: Fri, 12 Jan 2024 21:18:21 +0100 Subject: [PATCH 5/8] Also skip comments --- interface/web/sites/templates/shell_user_edit.htm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/interface/web/sites/templates/shell_user_edit.htm b/interface/web/sites/templates/shell_user_edit.htm index 6626eaabfd..aba9e3c498 100644 --- a/interface/web/sites/templates/shell_user_edit.htm +++ b/interface/web/sites/templates/shell_user_edit.htm @@ -134,8 +134,8 @@ for (let i = 0; i < publicKeys.length; i++) { const publicKey = publicKeys[i].trim();; - // Skip empty lines - if (publicKey === '') { + // Skip empty lines and comments + if (publicKey === '' || publicKey.startsWith('#')) { continue; } -- GitLab From a62abdb1b9c524548d10e634d08ac3448546293e Mon Sep 17 00:00:00 2001 From: Herman van Rink Date: Sun, 14 Jan 2024 21:26:08 +0100 Subject: [PATCH 6/8] Styling --- interface/web/sites/templates/shell_user_edit.htm | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/interface/web/sites/templates/shell_user_edit.htm b/interface/web/sites/templates/shell_user_edit.htm index aba9e3c498..2c931d4579 100644 --- a/interface/web/sites/templates/shell_user_edit.htm +++ b/interface/web/sites/templates/shell_user_edit.htm @@ -73,9 +73,11 @@
-
- - +
+ + + +
-- GitLab From 11869b77be78aef956e9a01cf904aebebf75d047 Mon Sep 17 00:00:00 2001 From: Herman van Rink Date: Wed, 27 Mar 2024 12:31:28 +0100 Subject: [PATCH 7/8] Add support for options such as command=/bin/something --- .../web/sites/templates/shell_user_edit.htm | 46 +++++++++++++++---- 1 file changed, 38 insertions(+), 8 deletions(-) diff --git a/interface/web/sites/templates/shell_user_edit.htm b/interface/web/sites/templates/shell_user_edit.htm index 2c931d4579..e3a8103d6e 100644 --- a/interface/web/sites/templates/shell_user_edit.htm +++ b/interface/web/sites/templates/shell_user_edit.htm @@ -98,14 +98,21 @@