# Bazaar merge directive format 2 (Bazaar 0.90)
# revision_id: dwayne@oscl.ca-20071219151414-ruvottqbh531hjkj
# target_branch: http://www.lag.net/paramiko/bzr/paramiko/
# testament_sha1: 2f844f2852ceec08f45d752b0286d4b9c8ffa69b
# timestamp: 2008-01-03 09:58:16 -0600
# source_branch: .
# base_revision_id: dwayne@oscl.ca-20071206194213-5p8f62gva4i6v9us
# 
# Begin patch
=== modified file 'paramiko/client.py'
--- paramiko/client.py	2007-12-06 19:42:13 +0000
+++ paramiko/client.py	2007-12-19 15:14:14 +0000
@@ -213,7 +213,7 @@
         self._policy = policy
 
     def connect(self, hostname, port=22, username=None, password=None, pkey=None,
-                key_filename=None, timeout=None):
+                key_filename=None, timeout=None, allow_agent=True):
         """
         Connect to an SSH server and authenticate to it.  The server's host key
         is checked against the system host keys (see L{load_system_host_keys})
@@ -249,7 +249,9 @@
         @type key_filename: str
         @param timeout: an optional timeout (in seconds) for the TCP connect
         @type timeout: float
-        
+        @param allow_agent: set to False to disable connecting to the SSH agent
+        @type allow_agent: bool
+
         @raise BadHostKeyException: if the server's host key could not be
             verified
         @raise AuthenticationException: if authentication failed
@@ -288,7 +290,8 @@
 
         if username is None:
             username = getpass.getuser()
-        self._auth(username, password, pkey, key_filename)
+        
+        self._auth(username, password, pkey, key_filename, allow_agent)
     
     def close(self):
         """
@@ -364,7 +367,7 @@
         """
         return self._transport
         
-    def _auth(self, username, password, pkey, key_filename):
+    def _auth(self, username, password, pkey, key_filename, allow_agent):
         """
         Try, in order:
         
@@ -394,14 +397,15 @@
                     return
                 except SSHException, e:
                     saved_exception = e
-
-        for key in Agent().get_keys():
-            try:
-                self._log(DEBUG, 'Trying SSH agent key %s' % hexlify(key.get_fingerprint()))
-                self._transport.auth_publickey(username, key)
-                return
-            except SSHException, e:
-                saved_exception = e
+        
+        if allow_agent:
+            for key in Agent().get_keys():
+                try:
+                    self._log(DEBUG, 'Trying SSH agent key %s' % hexlify(key.get_fingerprint()))
+                    self._transport.auth_publickey(username, key)
+                    return
+                except SSHException, e:
+                    saved_exception = e
 
         keyfiles = []
         rsa_key = os.path.expanduser('~/.ssh/id_rsa')

# Begin bundle
IyBCYXphYXIgcmV2aXNpb24gYnVuZGxlIHY0CiMKQlpoOTFBWSZTWT3fWkQAAfZ/gERUQABT5///
f8VeAL////BQBG7m28lU5lJe93e7MJJBIU3hU9qTzRqnsUBtFDTNQDPUQ9T1A9QNCU0GgAyA0B6g
GmjIAAAAJQIphPRTMgnqRkaZGgDTQA9T1GmQaCSUYqNpPKeTSHqNqHqekaaAAZAAA9QJKCTaMjKn
kIRmBGkbUNNGgGTQGjRIB45quazJle/5fbxLLtXNbN+aTk++J07DTp4yobnhB8ATqB0cscrPtwgh
QSVd3zZf2Tw3mZhYPUNR0I4ipqmIhW24zfRpZZLmsMuI3tTf7jfgPm6347Ir9Un69nD0Z2e7KpIh
4aAW5SimeGJTt4Jcnb6/Dldw96OfiWesRp63EOU30u3zueOyvn4M0XX9Ddpni7B6ubEMWjWvKBGr
QVBNjFqjaKm4khpJ6Y1SVUQn60PFkYOqYir08qFYRElg1ijkgUQykWmsgcaZadFoeDaxRXSsybKA
htsJXh8C8VCsVFVQmLc5XasWc7xVhN0SYsbodgKsJhUnOFeRKiowraVjKwoXBY+JDIDtaIwyuSGT
zizmaoKGovJpOdVYj56izFZATDMVGm40Ci8aTJjmqzWWF5M5CwcIwWkbC+KDJMFTUKY0dUOM4WPG
ObeZy8mOBgmn5MGlIJsSlZIgqMg2UrTOIY2l2EM6NJX0Wl6js03xx7AtwjEbWJxY5ODAqLRzTA/g
bTYzj1OM2WywzJ7EhHuLglmQ9h6FE6VMKYrMpyuy4HMqSddvyMPM8mMys8MiHUXUe5RVXcdXp8tm
6cqpdvYD9JA4OD/Hn2XdXt69nwq48Upt10VdXanDgj3QudJIRmSKCIXnYesLzaZig7T/UbaZD3QK
wzFyVbkuENADFTHdKkYLIccfKC0zOo4jAyk+o8RT/2Xf0gQNY7s2DyWKRoLeZT5L2GdIl1spayJq
ZyGF5JPHJtCSH9B+u+lhpLuLblqXKOTRo2Y+oz6OgkZNDYRWOGuRYD0jN9L280QmeddZr5zfPVq4
AkqXC0AwKoJiOCKfS2DTbEKswRLE+dQ6KD79OWK+qUhgV55MwDSbD0hiazyBA5jt120hn3vXTjgd
dAi9haYbDgdgVnP6ROdcDpp8BUpQzhMpq/QhgiYaR9lYoqUtCX3wjLo79WLJi5WZKbWBd4PnMW0X
CWjGbi9pz5kfYWvGCRJfvlqF0A3wyFnWAMsieRKWESsRgCPmcRRnTmosRGIRmQEwKJoIIPCyCZIt
Mjg93kNBOYEzJmQyx2ht6VzYLpKrwjibnmrGiWUMBy6R6uSOTWLLQluCvTibg1llieZDlkDjbPXj
baMmtelYidHQ1DQauF7jI8XjZvnFiPZ91qvsS+E+lJzCJqKp3cwjk1eru1Zpiry6zTWiFd5cfO8x
OWGIoJAGvrLKVDQRMOdTEPGDEyXaTnNWX1VsZvLWNk+ZZWm4yGqNw0IhBWCm31MIMXBaK55sfHrf
ulLvDiJyyqAvoGcHUVAMoq0u2aRcbpn7VDOvBp0uDCwQyDFAR3bB1f/i7kinChIHu+tIgA==
