[prev in list] [next in list] [prev in thread] [next in thread]
List: kde-panel-devel
Subject: D14035: Unbreak SSH agent support for SSH VPN tunnels.
From: whitequark <noreply () phabricator ! kde ! org>
Date: 2018-07-10 22:49:44
Message-ID: 006f46695d3582108d04fec93d199cab () localhost ! localdomain
[Download RAW message or body]
[Attachment #2 (text/plain)]
catherinez created this revision.
catherinez added a reviewer: Plasma.
catherinez added a project: Plasma.
Restricted Application added a subscriber: plasma-devel.
catherinez requested review of this revision.
REVISION SUMMARY
Right now selecting SSH agent as authentication method for SSH VPNs
results in a password dialog being shown and then a failure no matter
what is entered. This is because the agent authentication method
does not expect a password to be returned but instead expects
a path to the agent socket to be sent. The upstream nm-ssh implements
this, but KDE's plasma-nm does not.
This change implements the behavior that nm-ssh-service expects
from the frontend, and allows using SSH agent authentication with
SSH VPNs set up by plasma-nm.
I fully admit that this change is a bit hacky in that it hardcodes nm-ssh
specific functionality in the core of plasma-nm, but I feel it could be
fine for the following reasons:
It fixes completely broken functionality at a relatively low cost.
There is similar hardcoded behavior already e.g. for OpenConnect
in PasswordDialog::initializeUi().
Doing this properly requires a major refactor of plasma-nm, that is
pulling VpnUiPlugin creation into SecretAgent instead of
PasswordDialog where it is now, and I have neither time nor
grasp of plasma-nm codebase to do this.
Fixes https://github.com/danfruehauf/NetworkManager-ssh/issues/37.
Fixes https://github.com/danfruehauf/NetworkManager-ssh/issues/54.
REPOSITORY
R116 Plasma Network Management Applet
REVISION DETAIL
https://phabricator.kde.org/D14035
AFFECTED FILES
kded/secretagent.cpp
To: catherinez, #plasma
Cc: plasma-devel, #plasma, ragreen, Pitel, ZrenBot, lesliezhai, ali-mohamed, \
jensreuterberg, abetts, sebas, apol, mart
[Attachment #3 (text/html)]
<table><tr><td style="">catherinez created this revision.<br />catherinez added a \
reviewer: Plasma.<br />catherinez added a project: Plasma.<br />Restricted \
Application added a subscriber: plasma-devel.<br />catherinez requested review of \
this revision. </td><a style="text-decoration: none; padding: 4px 8px; margin: 0 8px \
8px; float: right; color: #464C5C; font-weight: bold; border-radius: 3px; \
background-color: #F7F7F9; background-image: linear-gradient(to bottom,#fff,#f1f0f1); \
display: inline-block; border: 1px solid rgba(71,87,120,.2);" \
href="https://phabricator.kde.org/D14035">View Revision</a></tr></table><br \
/><div><strong>REVISION SUMMARY</strong><div><p>Right now selecting SSH agent as \
authentication method for SSH VPNs<br /> results in a password dialog being shown and \
then a failure no matter<br /> what is entered. This is because the agent \
authentication method<br /> does not expect a password to be returned but instead \
expects<br /> a path to the agent socket to be sent. The upstream nm-ssh \
implements<br /> this, but KDE's plasma-nm does not.</p>
<p>This change implements the behavior that nm-ssh-service expects<br />
from the frontend, and allows using SSH agent authentication with<br />
SSH VPNs set up by plasma-nm.</p>
<p>I fully admit that this change is a bit hacky in that it hardcodes nm-ssh<br />
specific functionality in the core of plasma-nm, but I feel it could be<br />
fine for the following reasons:</p>
<p>It fixes completely broken functionality at a relatively low cost.<br />
There is similar hardcoded behavior already e.g. for OpenConnect<br />
in PasswordDialog::initializeUi().<br />
Doing this properly requires a major refactor of plasma-nm, that is<br />
pulling VpnUiPlugin creation into SecretAgent instead of<br />
PasswordDialog where it is now, and I have neither time nor<br />
grasp of plasma-nm codebase to do this.</p>
<p>Fixes <a href="https://github.com/danfruehauf/NetworkManager-ssh/issues/37" \
class="remarkup-link" target="_blank" \
rel="noreferrer">https://github.com/danfruehauf/NetworkManager-ssh/issues/37</a>.<br \
/> Fixes <a href="https://github.com/danfruehauf/NetworkManager-ssh/issues/54" \
class="remarkup-link" target="_blank" \
rel="noreferrer">https://github.com/danfruehauf/NetworkManager-ssh/issues/54</a>.</p></div></div><br \
/><div><strong>REPOSITORY</strong><div><div>R116 Plasma Network Management \
Applet</div></div></div><br /><div><strong>REVISION DETAIL</strong><div><a \
href="https://phabricator.kde.org/D14035">https://phabricator.kde.org/D14035</a></div></div><br \
/><div><strong>AFFECTED \
FILES</strong><div><div>kded/secretagent.cpp</div></div></div><br /><div><strong>To: \
</strong>catherinez, Plasma<br /><strong>Cc: </strong>plasma-devel, Plasma, ragreen, \
Pitel, ZrenBot, lesliezhai, ali-mohamed, jensreuterberg, abetts, sebas, apol, mart<br \
/></div>
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic