RE: [PATCH v6 0/2] Implement SSH commands in QEMU GA for Windows

Aidan Leuck posted 2 patches 1 week, 6 days ago
Only 0 patches received!
There is a newer version of this series
qga/commands-common-ssh.c  |  50 +++
qga/commands-common-ssh.h  |  10 +
qga/commands-posix-ssh.c   |  47 +--
qga/commands-windows-ssh.c | 789 +++++++++++++++++++++++++++++++++++++
qga/commands-windows-ssh.h |  26 ++
qga/meson.build            |  12 +-
qga/qapi-schema.json       |  17 +-
7 files changed, 893 insertions(+), 58 deletions(-)  create mode 100644 qga/commands-common-ssh.c  create mode 100644 qga/commands-common-ssh.h  create mode 100644 qga/commands-windows-ssh.c  create mode 100644 qga/commands-windows-ssh.h
RE: [PATCH v6 0/2] Implement SSH commands in QEMU GA for Windows
Posted by Aidan Leuck 1 week, 6 days ago
Hello Konstantin, 

Is there anything you would like to see addresses in this patch before it merges? This patch has been up for a bit and there hasn't been any activity in a while. Our team is motivated to get this merged, so let me know if there is anything I can do on my end to make the review easier for you. I understand as a maintainer your position is voluntary and unpaid so if you just haven't had time to look it over and validate it, I completely understand. 

Thank you,
Aidan Leuck

-----Original Message-----
From: aidan_leuck@selinc.com <aidan_leuck@selinc.com> 
Sent: Friday, March 29, 2024 9:32 AM
To: qemu-devel@nongnu.org
Cc: kkostiuk@redhat.com; philmd@linaro.org; Aidan Leuck <aidan_leuck@selinc.com>
Subject: [PATCH v6 0/2] Implement SSH commands in QEMU GA for Windows

From: aidaleuc <aidan_leuck@selinc.com>

This patch aims to implement guest-ssh-add-authorized-keys, guest-ssh-remove-authorized-keys, and guest-ssh-get-authorized-keys for Windows. This PR is based on Microsoft's OpenSSH implementation https://github.com/PowerShell/Win32-OpenSSH. The guest agents will support Kubevirt and allow guest agent propagation to be used to dynamically inject SSH keys. 
https://kubevirt.io/user-guide/virtual_machines/accessing_virtual_machines/#dynamic-ssh-public-key-injection-via-qemu-guest-agent

Changes since v5
* Fixed spurious formatting 

Changes since v4
* Moved qapi/error.h to commands-common-ssh.c
* Changed <qga-qapi-types.h> to "qapi/qapi-builtin-types.h" 
* Removed stbool.h from commands-common-ssh.h

Changes since v3
* Renamed commands-ssh-core.c/h to commands-common-ssh.c/h
* Fixed styling errors discovered by checkpatch.pl
* Moved some header includes to the commands-common-ssh.h

Changes since v2
* Set indent to 4 spaces
* Moved all comments to C style comments
* Fixed a segfault bug in get_user_info function related to non zeroed memory when a user did not exist.
* Used g_new0 instead of g_malloc where applicable
* Modified newlines in qapi-schema.json
* Added newlines at the end of all files
* GError functions now use g_autoptr instead of being freed manually.
* Refactored get_ssh_folder to remove goto error statement
* Fixed uninitialized variable pgDataW
* Modified patch order so that the generalization patch is the first patch
* Removed unnecssary ZeroMemory calls

Changes since v1
* Fixed styling errors
* Moved from wcstombs to g_utf functions
* Removed unnecessary if checks on calls to free
* Fixed copyright headers
* Refactored create_acl functions into base function, admin function and user function
* Removed unused user count function
* Split up refactor of existing code into a separate patch

aidaleuc (2):
  Refactor common functions between POSIX and Windows implementation
  Implement SSH commands in QEMU GA for Windows

 qga/commands-common-ssh.c  |  50 +++
 qga/commands-common-ssh.h  |  10 +
 qga/commands-posix-ssh.c   |  47 +--
 qga/commands-windows-ssh.c | 789 +++++++++++++++++++++++++++++++++++++
 qga/commands-windows-ssh.h |  26 ++
 qga/meson.build            |  12 +-
 qga/qapi-schema.json       |  17 +-
 7 files changed, 893 insertions(+), 58 deletions(-)  create mode 100644 qga/commands-common-ssh.c  create mode 100644 qga/commands-common-ssh.h  create mode 100644 qga/commands-windows-ssh.c  create mode 100644 qga/commands-windows-ssh.h

--
2.34.1
Re: [PATCH v6 0/2] Implement SSH commands in QEMU GA for Windows
Posted by Konstantin Kostiuk 1 week, 5 days ago
 Hi Aidan,

Thank you for these patches. Currently, I don't have any comments.
I asked QE from my team to test this patch and wait for feedback.
Also, QEMU is in the code freeze stage now, so I plan to merge all QGA
patches after release.

Best Regards,
Konstantin Kostiuk.


On Tue, Apr 16, 2024 at 5:46 PM Aidan Leuck <aidan_leuck@selinc.com> wrote:

> Hello Konstantin,
>
> Is there anything you would like to see addresses in this patch before it
> merges? This patch has been up for a bit and there hasn't been any activity
> in a while. Our team is motivated to get this merged, so let me know if
> there is anything I can do on my end to make the review easier for you. I
> understand as a maintainer your position is voluntary and unpaid so if you
> just haven't had time to look it over and validate it, I completely
> understand.
>
> Thank you,
> Aidan Leuck
>
> -----Original Message-----
> From: aidan_leuck@selinc.com <aidan_leuck@selinc.com>
> Sent: Friday, March 29, 2024 9:32 AM
> To: qemu-devel@nongnu.org
> Cc: kkostiuk@redhat.com; philmd@linaro.org; Aidan Leuck <
> aidan_leuck@selinc.com>
> Subject: [PATCH v6 0/2] Implement SSH commands in QEMU GA for Windows
>
> From: aidaleuc <aidan_leuck@selinc.com>
>
> This patch aims to implement guest-ssh-add-authorized-keys,
> guest-ssh-remove-authorized-keys, and guest-ssh-get-authorized-keys for
> Windows. This PR is based on Microsoft's OpenSSH implementation
> https://github.com/PowerShell/Win32-OpenSSH. The guest agents will
> support Kubevirt and allow guest agent propagation to be used to
> dynamically inject SSH keys.
>
> https://kubevirt.io/user-guide/virtual_machines/accessing_virtual_machines/#dynamic-ssh-public-key-injection-via-qemu-guest-agent
>
> Changes since v5
> * Fixed spurious formatting
>
> Changes since v4
> * Moved qapi/error.h to commands-common-ssh.c
> * Changed <qga-qapi-types.h> to "qapi/qapi-builtin-types.h"
> * Removed stbool.h from commands-common-ssh.h
>
> Changes since v3
> * Renamed commands-ssh-core.c/h to commands-common-ssh.c/h
> * Fixed styling errors discovered by checkpatch.pl
> * Moved some header includes to the commands-common-ssh.h
>
> Changes since v2
> * Set indent to 4 spaces
> * Moved all comments to C style comments
> * Fixed a segfault bug in get_user_info function related to non zeroed
> memory when a user did not exist.
> * Used g_new0 instead of g_malloc where applicable
> * Modified newlines in qapi-schema.json
> * Added newlines at the end of all files
> * GError functions now use g_autoptr instead of being freed manually.
> * Refactored get_ssh_folder to remove goto error statement
> * Fixed uninitialized variable pgDataW
> * Modified patch order so that the generalization patch is the first patch
> * Removed unnecssary ZeroMemory calls
>
> Changes since v1
> * Fixed styling errors
> * Moved from wcstombs to g_utf functions
> * Removed unnecessary if checks on calls to free
> * Fixed copyright headers
> * Refactored create_acl functions into base function, admin function and
> user function
> * Removed unused user count function
> * Split up refactor of existing code into a separate patch
>
> aidaleuc (2):
>   Refactor common functions between POSIX and Windows implementation
>   Implement SSH commands in QEMU GA for Windows
>
>  qga/commands-common-ssh.c  |  50 +++
>  qga/commands-common-ssh.h  |  10 +
>  qga/commands-posix-ssh.c   |  47 +--
>  qga/commands-windows-ssh.c | 789 +++++++++++++++++++++++++++++++++++++
>  qga/commands-windows-ssh.h |  26 ++
>  qga/meson.build            |  12 +-
>  qga/qapi-schema.json       |  17 +-
>  7 files changed, 893 insertions(+), 58 deletions(-)  create mode 100644
> qga/commands-common-ssh.c  create mode 100644 qga/commands-common-ssh.h
> create mode 100644 qga/commands-windows-ssh.c  create mode 100644
> qga/commands-windows-ssh.h
>
> --
> 2.34.1
>
>
RE: [PATCH v6 0/2] Implement SSH commands in QEMU GA for Windows
Posted by Aidan Leuck 1 week, 5 days ago
Hi Konstantin,

Thank you for the quick response. I didn’t realize the QEMU was in a code freeze, thank you for letting me know. Let me know if you find any defects in the patch and I will fix them promptly.

Aidan Leuck

From: Konstantin Kostiuk <kkostiuk@redhat.com>
Sent: Wednesday, April 17, 2024 10:33 AM
To: Aidan Leuck <aidan_leuck@selinc.com>
Cc: qemu-devel@nongnu.org; philmd@linaro.org
Subject: Re: [PATCH v6 0/2] Implement SSH commands in QEMU GA for Windows

[Caution - External]
 Hi Aidan,

Thank you for these patches. Currently, I don't have any comments.
I asked QE from my team to test this patch and wait for feedback.
Also, QEMU is in the code freeze stage now, so I plan to merge all QGA
patches after release.

Best Regards,
Konstantin Kostiuk.


On Tue, Apr 16, 2024 at 5:46 PM Aidan Leuck <aidan_leuck@selinc.com<mailto:aidan_leuck@selinc.com>> wrote:
Hello Konstantin,

Is there anything you would like to see addresses in this patch before it merges? This patch has been up for a bit and there hasn't been any activity in a while. Our team is motivated to get this merged, so let me know if there is anything I can do on my end to make the review easier for you. I understand as a maintainer your position is voluntary and unpaid so if you just haven't had time to look it over and validate it, I completely understand.

Thank you,
Aidan Leuck

-----Original Message-----
From: aidan_leuck@selinc.com<mailto:aidan_leuck@selinc.com> <aidan_leuck@selinc.com<mailto:aidan_leuck@selinc.com>>
Sent: Friday, March 29, 2024 9:32 AM
To: qemu-devel@nongnu.org<mailto:qemu-devel@nongnu.org>
Cc: kkostiuk@redhat.com<mailto:kkostiuk@redhat.com>; philmd@linaro.org<mailto:philmd@linaro.org>; Aidan Leuck <aidan_leuck@selinc.com<mailto:aidan_leuck@selinc.com>>
Subject: [PATCH v6 0/2] Implement SSH commands in QEMU GA for Windows

From: aidaleuc <aidan_leuck@selinc.com<mailto:aidan_leuck@selinc.com>>

This patch aims to implement guest-ssh-add-authorized-keys, guest-ssh-remove-authorized-keys, and guest-ssh-get-authorized-keys for Windows. This PR is based on Microsoft's OpenSSH implementation https://github.com/PowerShell/Win32-OpenSSH [github.com]<https://urldefense.com/v3/__https:/github.com/PowerShell/Win32-OpenSSH__;!!O7uE89YCNVw!OtAz8IOcaKX6FC4kqD0qGgiKokfHlyEGjGWl5enCkQcfU4aDtP4YC4sFPy3W0hTOvg1t7eOVMcJtx7GLhZk$>. The guest agents will support Kubevirt and allow guest agent propagation to be used to dynamically inject SSH keys.
https://kubevirt.io/user-guide/virtual_machines/accessing_virtual_machines/#dynamic-ssh-public-key-injection-via-qemu-guest-agent [kubevirt.io]<https://urldefense.com/v3/__https:/kubevirt.io/user-guide/virtual_machines/accessing_virtual_machines/*dynamic-ssh-public-key-injection-via-qemu-guest-agent__;Iw!!O7uE89YCNVw!OtAz8IOcaKX6FC4kqD0qGgiKokfHlyEGjGWl5enCkQcfU4aDtP4YC4sFPy3W0hTOvg1t7eOVMcJtGQmdmLI$>

Changes since v5
* Fixed spurious formatting

Changes since v4
* Moved qapi/error.h to commands-common-ssh.c
* Changed <qga-qapi-types.h> to "qapi/qapi-builtin-types.h"
* Removed stbool.h from commands-common-ssh.h

Changes since v3
* Renamed commands-ssh-core.c/h to commands-common-ssh.c/h
* Fixed styling errors discovered by checkpatch.pl [checkpatch.pl]<https://urldefense.com/v3/__http:/checkpatch.pl__;!!O7uE89YCNVw!OtAz8IOcaKX6FC4kqD0qGgiKokfHlyEGjGWl5enCkQcfU4aDtP4YC4sFPy3W0hTOvg1t7eOVMcJtHKff5AQ$>
* Moved some header includes to the commands-common-ssh.h

Changes since v2
* Set indent to 4 spaces
* Moved all comments to C style comments
* Fixed a segfault bug in get_user_info function related to non zeroed memory when a user did not exist.
* Used g_new0 instead of g_malloc where applicable
* Modified newlines in qapi-schema.json
* Added newlines at the end of all files
* GError functions now use g_autoptr instead of being freed manually.
* Refactored get_ssh_folder to remove goto error statement
* Fixed uninitialized variable pgDataW
* Modified patch order so that the generalization patch is the first patch
* Removed unnecssary ZeroMemory calls

Changes since v1
* Fixed styling errors
* Moved from wcstombs to g_utf functions
* Removed unnecessary if checks on calls to free
* Fixed copyright headers
* Refactored create_acl functions into base function, admin function and user function
* Removed unused user count function
* Split up refactor of existing code into a separate patch

aidaleuc (2):
  Refactor common functions between POSIX and Windows implementation
  Implement SSH commands in QEMU GA for Windows

 qga/commands-common-ssh.c  |  50 +++
 qga/commands-common-ssh.h  |  10 +
 qga/commands-posix-ssh.c   |  47 +--
 qga/commands-windows-ssh.c | 789 +++++++++++++++++++++++++++++++++++++
 qga/commands-windows-ssh.h |  26 ++
 qga/meson.build            |  12 +-
 qga/qapi-schema.json       |  17 +-
 7 files changed, 893 insertions(+), 58 deletions(-)  create mode 100644 qga/commands-common-ssh.c  create mode 100644 qga/commands-common-ssh.h  create mode 100644 qga/commands-windows-ssh.c  create mode 100644 qga/commands-windows-ssh.h

--
2.34.1