use hexlify instead of home-grown hexify
This commit is contained in:
parent
074dc36e6b
commit
05de66db6d
|
@ -20,6 +20,7 @@
|
|||
L{SSHClient}.
|
||||
"""
|
||||
|
||||
from binascii import hexlify
|
||||
import getpass
|
||||
import os
|
||||
|
||||
|
@ -30,7 +31,6 @@ from paramiko.hostkeys import HostKeys
|
|||
from paramiko.rsakey import RSAKey
|
||||
from paramiko.ssh_exception import SSHException, BadHostKeyException
|
||||
from paramiko.transport import Transport
|
||||
from paramiko.util import hexify
|
||||
|
||||
|
||||
class MissingHostKeyPolicy (object):
|
||||
|
@ -65,7 +65,7 @@ class AutoAddPolicy (MissingHostKeyPolicy):
|
|||
if client._host_keys_filename is not None:
|
||||
client.save_host_keys(client._host_keys_filename)
|
||||
client._log(DEBUG, 'Adding %s host key for %s: %s' %
|
||||
(key.get_name(), hostname, hexify(key.get_fingerprint())))
|
||||
(key.get_name(), hostname, hexlify(key.get_fingerprint())))
|
||||
|
||||
|
||||
class RejectPolicy (MissingHostKeyPolicy):
|
||||
|
@ -76,7 +76,7 @@ class RejectPolicy (MissingHostKeyPolicy):
|
|||
|
||||
def missing_host_key(self, client, hostname, key):
|
||||
client._log(DEBUG, 'Rejecting %s host key for %s: %s' %
|
||||
(key.get_name(), hostname, hexify(key.get_fingerprint())))
|
||||
(key.get_name(), hostname, hexlify(key.get_fingerprint())))
|
||||
raise SSHException('Unknown server %s' % hostname)
|
||||
|
||||
|
||||
|
@ -350,7 +350,7 @@ class SSHClient (object):
|
|||
|
||||
if pkey is not None:
|
||||
try:
|
||||
self._log(DEBUG, 'Trying SSH key %s' % hexify(pkey.get_fingerprint()))
|
||||
self._log(DEBUG, 'Trying SSH key %s' % hexlify(pkey.get_fingerprint()))
|
||||
self._transport.auth_publickey(username, pkey)
|
||||
return
|
||||
except SSHException, e:
|
||||
|
@ -360,7 +360,7 @@ class SSHClient (object):
|
|||
for pkey_class in (RSAKey, DSSKey):
|
||||
try:
|
||||
key = pkey_class.from_private_key_file(key_filename, password)
|
||||
self._log(DEBUG, 'Trying key %s from %s' % (hexify(key.get_fingerprint()), key_filename))
|
||||
self._log(DEBUG, 'Trying key %s from %s' % (hexlify(key.get_fingerprint()), key_filename))
|
||||
self._transport.auth_publickey(username, key)
|
||||
return
|
||||
except SSHException, e:
|
||||
|
@ -368,7 +368,7 @@ class SSHClient (object):
|
|||
|
||||
for key in Agent().get_keys():
|
||||
try:
|
||||
self._log(DEBUG, 'Trying SSH agent key %s' % hexify(key.get_fingerprint()))
|
||||
self._log(DEBUG, 'Trying SSH agent key %s' % hexlify(key.get_fingerprint()))
|
||||
self._transport.auth_publickey(username, key)
|
||||
return
|
||||
except SSHException, e:
|
||||
|
@ -379,7 +379,7 @@ class SSHClient (object):
|
|||
filename = os.path.expanduser('~/.ssh/' + filename)
|
||||
try:
|
||||
key = pkey_class.from_private_key_file(filename, password)
|
||||
self._log(DEBUG, 'Trying discovered key %s in %s' % (hexify(key.get_fingerprint()), filename))
|
||||
self._log(DEBUG, 'Trying discovered key %s in %s' % (hexlify(key.get_fingerprint()), filename))
|
||||
self._transport.auth_publickey(username, key)
|
||||
return
|
||||
except SSHException, e:
|
||||
|
|
|
@ -21,6 +21,7 @@ Common API for all public keys.
|
|||
"""
|
||||
|
||||
import base64
|
||||
from binascii import hexlify, unhexlify
|
||||
import os
|
||||
|
||||
from Crypto.Hash import MD5
|
||||
|
@ -322,7 +323,7 @@ class PKey (object):
|
|||
cipher = self._CIPHER_TABLE[encryption_type]['cipher']
|
||||
keysize = self._CIPHER_TABLE[encryption_type]['keysize']
|
||||
mode = self._CIPHER_TABLE[encryption_type]['mode']
|
||||
salt = util.unhexify(saltstr)
|
||||
salt = unhexlify(saltstr)
|
||||
key = util.generate_key_bytes(MD5, salt, password, keysize)
|
||||
return cipher.new(key, mode, salt).decrypt(data)
|
||||
|
||||
|
@ -368,7 +369,7 @@ class PKey (object):
|
|||
data += '\0' * n
|
||||
data = cipher.new(key, mode, salt).encrypt(data)
|
||||
f.write('Proc-Type: 4,ENCRYPTED\n')
|
||||
f.write('DEK-Info: %s,%s\n' % (cipher_name, util.hexify(salt)))
|
||||
f.write('DEK-Info: %s,%s\n' % (cipher_name, hexlify(salt).upper()))
|
||||
f.write('\n')
|
||||
s = base64.encodestring(data)
|
||||
# re-wrap to 64-char lines
|
||||
|
|
|
@ -20,11 +20,13 @@
|
|||
Client-mode SFTP support.
|
||||
"""
|
||||
|
||||
from binascii import hexlify
|
||||
import errno
|
||||
import os
|
||||
import threading
|
||||
import time
|
||||
import weakref
|
||||
|
||||
from paramiko.sftp import *
|
||||
from paramiko.sftp_attr import SFTPAttributes
|
||||
from paramiko.ssh_exception import SSHException
|
||||
|
@ -220,7 +222,7 @@ class SFTPClient (BaseSFTP):
|
|||
if t != CMD_HANDLE:
|
||||
raise SFTPError('Expected handle')
|
||||
handle = msg.get_string()
|
||||
self._log(DEBUG, 'open(%r, %r) -> %s' % (filename, mode, util.hexify(handle)))
|
||||
self._log(DEBUG, 'open(%r, %r) -> %s' % (filename, mode, hexlify(handle)))
|
||||
return SFTPFile(self, handle, mode, bufsize)
|
||||
|
||||
# python has migrated toward file() instead of open().
|
||||
|
|
|
@ -20,9 +20,11 @@
|
|||
L{SFTPFile}
|
||||
"""
|
||||
|
||||
from binascii import hexlify
|
||||
import socket
|
||||
import threading
|
||||
import time
|
||||
|
||||
from paramiko.common import *
|
||||
from paramiko.sftp import *
|
||||
from paramiko.file import BufferedFile
|
||||
|
@ -66,7 +68,7 @@ class SFTPFile (BufferedFile):
|
|||
# __del__.)
|
||||
if self._closed:
|
||||
return
|
||||
self.sftp._log(DEBUG, 'close(%s)' % util.hexify(self.handle))
|
||||
self.sftp._log(DEBUG, 'close(%s)' % hexlify(self.handle))
|
||||
if self.pipelined:
|
||||
self.sftp._finish_responses(self)
|
||||
BufferedFile.close(self)
|
||||
|
@ -232,7 +234,7 @@ class SFTPFile (BufferedFile):
|
|||
@param mode: new permissions
|
||||
@type mode: int
|
||||
"""
|
||||
self.sftp._log(DEBUG, 'chmod(%s, %r)' % (util.hexify(self.handle), mode))
|
||||
self.sftp._log(DEBUG, 'chmod(%s, %r)' % (hexlify(self.handle), mode))
|
||||
attr = SFTPAttributes()
|
||||
attr.st_mode = mode
|
||||
self.sftp._request(CMD_FSETSTAT, self.handle, attr)
|
||||
|
@ -249,7 +251,7 @@ class SFTPFile (BufferedFile):
|
|||
@param gid: new group id
|
||||
@type gid: int
|
||||
"""
|
||||
self.sftp._log(DEBUG, 'chown(%s, %r, %r)' % (util.hexify(self.handle), uid, gid))
|
||||
self.sftp._log(DEBUG, 'chown(%s, %r, %r)' % (hexlify(self.handle), uid, gid))
|
||||
attr = SFTPAttributes()
|
||||
attr.st_uid, attr.st_gid = uid, gid
|
||||
self.sftp._request(CMD_FSETSTAT, self.handle, attr)
|
||||
|
@ -269,7 +271,7 @@ class SFTPFile (BufferedFile):
|
|||
"""
|
||||
if times is None:
|
||||
times = (time.time(), time.time())
|
||||
self.sftp._log(DEBUG, 'utime(%s, %r)' % (util.hexify(self.handle), times))
|
||||
self.sftp._log(DEBUG, 'utime(%s, %r)' % (hexlify(self.handle), times))
|
||||
attr = SFTPAttributes()
|
||||
attr.st_atime, attr.st_mtime = times
|
||||
self.sftp._request(CMD_FSETSTAT, self.handle, attr)
|
||||
|
@ -283,7 +285,7 @@ class SFTPFile (BufferedFile):
|
|||
@param size: the new size of the file
|
||||
@type size: int or long
|
||||
"""
|
||||
self.sftp._log(DEBUG, 'truncate(%s, %r)' % (util.hexify(self.handle), size))
|
||||
self.sftp._log(DEBUG, 'truncate(%s, %r)' % (hexlify(self.handle), size))
|
||||
attr = SFTPAttributes()
|
||||
attr.st_size = size
|
||||
self.sftp._request(CMD_FSETSTAT, self.handle, attr)
|
||||
|
@ -402,7 +404,7 @@ class SFTPFile (BufferedFile):
|
|||
|
||||
@since: 1.5.4
|
||||
"""
|
||||
self.sftp._log(DEBUG, 'readv(%s, %r)' % (util.hexify(self.handle), chunks))
|
||||
self.sftp._log(DEBUG, 'readv(%s, %r)' % (hexlify(self.handle), chunks))
|
||||
|
||||
read_chunks = []
|
||||
for offset, size in chunks:
|
||||
|
|
|
@ -22,6 +22,7 @@ Useful functions used by the rest of paramiko.
|
|||
|
||||
from __future__ import generators
|
||||
|
||||
from binascii import hexlify, unhexlify
|
||||
import sys
|
||||
import struct
|
||||
import traceback
|
||||
|
@ -115,12 +116,10 @@ def format_binary_line(data):
|
|||
return '%-50s %s' % (left, right)
|
||||
|
||||
def hexify(s):
|
||||
"turn a string into a hex sequence"
|
||||
return ''.join(['%02X' % ord(c) for c in s])
|
||||
return hexlify(s).upper()
|
||||
|
||||
def unhexify(s):
|
||||
"turn a hex sequence back into a string"
|
||||
return ''.join([chr(int(s[i:i+2], 16)) for i in range(0, len(s), 2)])
|
||||
return unhexlify(s)
|
||||
|
||||
def safe_string(s):
|
||||
out = ''
|
||||
|
|
Loading…
Reference in New Issue