public inbox for pve-devel@lists.proxmox.com
 help / color / mirror / Atom feed
* [pve-devel] [PATCH manager 0/2] fix #3426: ui: parser: adapt parseSSHKey to accept "sk-" prefix
@ 2021-05-14 10:13 Lorenz Stechauner
  2021-05-14 10:13 ` [pve-devel] [PATCH manager 1/2] ui: cloudinit: use PVE.Parser.parseSSHKey Lorenz Stechauner
                   ` (2 more replies)
  0 siblings, 3 replies; 4+ messages in thread
From: Lorenz Stechauner @ 2021-05-14 10:13 UTC (permalink / raw)
  To: pve-devel

Backend check is performed by PVE::Tools::validate_ssh_public_keys
for both, qemu/cloudinit and container creation. This function in
turn runs `ssh-keygen -l -f <tmpfile>` to check validity.

Lorenz Stechauner (2):
  ui: cloudinit: use PVE.Parser.parseSSHKey
  fix #3426: ui: parser: adapt parseSSHKey to accept "sk-" prefix

 www/manager6/Parser.js         | 2 +-
 www/manager6/qemu/CloudInit.js | 9 +++------
 2 files changed, 4 insertions(+), 7 deletions(-)

-- 
2.20.1





^ permalink raw reply	[flat|nested] 4+ messages in thread

* [pve-devel] [PATCH manager 1/2] ui: cloudinit: use PVE.Parser.parseSSHKey
  2021-05-14 10:13 [pve-devel] [PATCH manager 0/2] fix #3426: ui: parser: adapt parseSSHKey to accept "sk-" prefix Lorenz Stechauner
@ 2021-05-14 10:13 ` Lorenz Stechauner
  2021-05-14 10:13 ` [pve-devel] [PATCH manager 2/2] fix #3426: ui: parser: adapt parseSSHKey to accept "sk-" prefix Lorenz Stechauner
  2021-05-17 13:44 ` [pve-devel] applied-series: [PATCH manager 0/2] " Thomas Lamprecht
  2 siblings, 0 replies; 4+ messages in thread
From: Lorenz Stechauner @ 2021-05-14 10:13 UTC (permalink / raw)
  To: pve-devel

Signed-off-by: Lorenz Stechauner <l.stechauner@proxmox.com>
---
 www/manager6/qemu/CloudInit.js | 9 +++------
 1 file changed, 3 insertions(+), 6 deletions(-)

diff --git a/www/manager6/qemu/CloudInit.js b/www/manager6/qemu/CloudInit.js
index ccd1840b..43405a67 100644
--- a/www/manager6/qemu/CloudInit.js
+++ b/www/manager6/qemu/CloudInit.js
@@ -264,13 +264,10 @@ Ext.define('PVE.qemu.CloudInit', {
 		    var text = [];
 		    keys.forEach(function(key) {
 			if (key.length) {
-			    // First erase all quoted strings (eg. command="foo"
-			    var v = key.replace(/"(?:\\.|[^"\\])*"/g, '');
-			    // Now try to detect the comment:
-			    var res = v.match(/^\s*(\S+\s+)?(?:ssh-(?:dss|rsa|ed25519)|ecdsa-sha2-nistp\d+)\s+\S+\s+(.*?)\s*$/, '');
+			    let res = PVE.Parser.parseSSHKey(key);
 			    if (res) {
-				key = Ext.String.htmlEncode(res[2]);
-				if (res[1]) {
+				key = Ext.String.htmlEncode(res.comment);
+				if (res.options) {
 				    key += ' <span style="color:gray">(' + gettext('with options') + ')</span>';
 				}
 				text.push(key);
-- 
2.20.1





^ permalink raw reply	[flat|nested] 4+ messages in thread

* [pve-devel] [PATCH manager 2/2] fix #3426: ui: parser: adapt parseSSHKey to accept "sk-" prefix
  2021-05-14 10:13 [pve-devel] [PATCH manager 0/2] fix #3426: ui: parser: adapt parseSSHKey to accept "sk-" prefix Lorenz Stechauner
  2021-05-14 10:13 ` [pve-devel] [PATCH manager 1/2] ui: cloudinit: use PVE.Parser.parseSSHKey Lorenz Stechauner
@ 2021-05-14 10:13 ` Lorenz Stechauner
  2021-05-17 13:44 ` [pve-devel] applied-series: [PATCH manager 0/2] " Thomas Lamprecht
  2 siblings, 0 replies; 4+ messages in thread
From: Lorenz Stechauner @ 2021-05-14 10:13 UTC (permalink / raw)
  To: pve-devel

Signed-off-by: Lorenz Stechauner <l.stechauner@proxmox.com>
---
 www/manager6/Parser.js | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/www/manager6/Parser.js b/www/manager6/Parser.js
index 1a5fe1c2..18e49912 100644
--- a/www/manager6/Parser.js
+++ b/www/manager6/Parser.js
@@ -675,7 +675,7 @@ Ext.define('PVE.Parser', {
     parseSSHKey: function(key) {
 	//                |--- options can have quotes--|     type    key        comment
 	var keyre = /^(?:((?:[^\s"]|\"(?:\\.|[^"\\])*")+)\s+)?(\S+)\s+(\S+)(?:\s+(.*))?$/;
-	var typere = /^(?:ssh-(?:dss|rsa|ed25519)|ecdsa-sha2-nistp\d+)$/;
+	var typere = /^(?:(?:sk-)?ssh-(?:dss|rsa|ed25519)|ecdsa-sha2-nistp\d+)$/;
 
 	var m = key.match(keyre);
 	if (!m) {
-- 
2.20.1





^ permalink raw reply	[flat|nested] 4+ messages in thread

* [pve-devel] applied-series: [PATCH manager 0/2] fix #3426: ui: parser: adapt parseSSHKey to accept "sk-" prefix
  2021-05-14 10:13 [pve-devel] [PATCH manager 0/2] fix #3426: ui: parser: adapt parseSSHKey to accept "sk-" prefix Lorenz Stechauner
  2021-05-14 10:13 ` [pve-devel] [PATCH manager 1/2] ui: cloudinit: use PVE.Parser.parseSSHKey Lorenz Stechauner
  2021-05-14 10:13 ` [pve-devel] [PATCH manager 2/2] fix #3426: ui: parser: adapt parseSSHKey to accept "sk-" prefix Lorenz Stechauner
@ 2021-05-17 13:44 ` Thomas Lamprecht
  2 siblings, 0 replies; 4+ messages in thread
From: Thomas Lamprecht @ 2021-05-17 13:44 UTC (permalink / raw)
  To: Proxmox VE development discussion, Lorenz Stechauner

On 14.05.21 12:13, Lorenz Stechauner wrote:
> Backend check is performed by PVE::Tools::validate_ssh_public_keys
> for both, qemu/cloudinit and container creation. This function in
> turn runs `ssh-keygen -l -f <tmpfile>` to check validity.
> 
> Lorenz Stechauner (2):
>   ui: cloudinit: use PVE.Parser.parseSSHKey
>   fix #3426: ui: parser: adapt parseSSHKey to accept "sk-" prefix
> 
>  www/manager6/Parser.js         | 2 +-
>  www/manager6/qemu/CloudInit.js | 9 +++------
>  2 files changed, 4 insertions(+), 7 deletions(-)
> 



applied both patches, thanks!




^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2021-05-17 13:45 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-05-14 10:13 [pve-devel] [PATCH manager 0/2] fix #3426: ui: parser: adapt parseSSHKey to accept "sk-" prefix Lorenz Stechauner
2021-05-14 10:13 ` [pve-devel] [PATCH manager 1/2] ui: cloudinit: use PVE.Parser.parseSSHKey Lorenz Stechauner
2021-05-14 10:13 ` [pve-devel] [PATCH manager 2/2] fix #3426: ui: parser: adapt parseSSHKey to accept "sk-" prefix Lorenz Stechauner
2021-05-17 13:44 ` [pve-devel] applied-series: [PATCH manager 0/2] " Thomas Lamprecht

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox
Service provided by Proxmox Server Solutions GmbH | Privacy | Legal