[X2Go-Commits] python-x2go.git - brokerclient (branch) updated: 0.4.0.8-5-gc74e718

X2Go dev team git-admin at x2go.org
Tue Jan 7 16:21:46 CET 2014


The branch, brokerclient has been updated
       via  c74e7181b1a71a95fa74b72bd7724a6f6729d19e (commit)
      from  8a48422fa568620d612901dcd064275122b794e0 (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
-----------------------------------------------------------------------

Summary of changes:
 debian/changelog        |    3 ++-
 x2go/sshproxy.py        |   30 ++++++++++++++++++++++++++++--
 x2go/x2go_exceptions.py |    1 +
 3 files changed, 31 insertions(+), 3 deletions(-)

The diff of changes is:
diff --git a/debian/changelog b/debian/changelog
index 6dfa5f8..48badf3 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -6,7 +6,8 @@ python-x2go (0.4.0.9-0~x2go1) UNRELEASED; urgency=low
     - Store the session password in base64 encoded string in order to make 
       it harder spotting the long term stored (for the duration of the session)
       plain text password.
-    - Support encryption passphrases on SSH private key files.
+    - Support encryption passphrases on SSH private key files (X2Go SSH connections
+      as well as SSH proxy connections).
 
  -- Mike Gabriel <mike.gabriel at das-netzwerkteam.de>  Wed, 07 Aug 2013 12:18:46 +0200
 
diff --git a/x2go/sshproxy.py b/x2go/sshproxy.py
index 7bdb5e5..5aaba51 100644
--- a/x2go/sshproxy.py
+++ b/x2go/sshproxy.py
@@ -226,7 +226,7 @@ class X2GoSSHProxy(paramiko.SSHClient, threading.Thread):
                                     )
                     elif (key_filename and os.path.exists(os.path.normpath(key_filename))) or pkey:
                         self.connect(_hostname, port=self.port,
-                                     username=self.username, 
+                                     username=self.username,
                                      key_filename=key_filename,
                                      pkey=pkey,
                                      look_for_keys=look_for_keys,
@@ -234,12 +234,38 @@ class X2GoSSHProxy(paramiko.SSHClient, threading.Thread):
                                     )
                     else:
                         self.connect(_hostname, port=self.port,
-                                     username=self.username, 
+                                     username=self.username,
                                      look_for_keys=look_for_keys,
                                      allow_agent=allow_agent,
                                     )
 
+                except x2go_exceptions.PasswordRequiredException, e:
+                    self.close()
+                    if password:
+                        try:
+                            if (key_filename and os.path.exists(os.path.normpath(key_filename))) or pkey:
+                                self.connect(_hostname, port=self.port,
+                                             username=self.username,
+                                             key_filename=key_filename,
+                                             pkey=pkey,
+                                             look_for_keys=look_for_keys,
+                                             allow_agent=allow_agent,
+                                             password=password,
+                                            )
+                            else:
+                                self.connect(_hostname, port=self.port,
+                                             username=self.username,
+                                             look_for_keys=look_for_keys,
+                                             allow_agent=allow_agent,
+                                             password=password,
+                                            )
+                        except x2go_exceptions.AuthenticationException, e:
+                            raise x2go_exceptions.X2GoSSHProxyPasswordRequiredException(str(e))
+
+                    else:
+                        raise x2go_exceptions.X2GoSSHProxyPasswordRequiredException(str(e))
                 except x2go_exceptions.AuthenticationException, e:
+
                     self.close()
                     raise x2go_exceptions.X2GoSSHProxyAuthenticationException('pubkey auth mechanisms both failed')
                 except x2go_exceptions.SSHException, e:
diff --git a/x2go/x2go_exceptions.py b/x2go/x2go_exceptions.py
index 688a8ba..70a5e8c 100644
--- a/x2go/x2go_exceptions.py
+++ b/x2go/x2go_exceptions.py
@@ -47,6 +47,7 @@ class X2GoSessionException(_X2GoException): pass
 class X2GoControlSessionException(_X2GoException): pass
 class X2GoRemoteHomeException(_X2GoException): pass
 class X2GoHostKeyException(_X2GoException): pass
+class X2GoSSHProxyPasswordRequiredException(_X2GoException): pass
 class X2GoSSHProxyHostKeyException(_X2GoException): pass
 class X2GoTerminalSessionException(_X2GoException): pass
 class X2GoSessionCacheException(_X2GoException): pass


hooks/post-receive
-- 
python-x2go.git (Python X2Go Client API)

This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "python-x2go.git" (Python X2Go Client API).




More information about the x2go-commits mailing list