[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&#039;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