summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJeff Forcier <jeff@bitprophet.org>2023-01-09 21:47:53 -0500
committerJeff Forcier <jeff@bitprophet.org>2023-01-09 23:26:00 -0500
commit7b8106e67c51e71fc4074f7851bbaebed4d5be0c (patch)
tree04d3db018d9c6df53fdecbd73a0593e533039b1f
parent76675c7c471c14ec0b3288cec2beaf400b757480 (diff)
downloadparamiko-7b8106e67c51e71fc4074f7851bbaebed4d5be0c.tar.gz
Remove or transmute all use of long()
- When wrapping literals: just go away - When wrapping variables whose values are already definitely integers (eg output of 'id()'): ditto - When wrapping variables of unknown provenance or which are definitely NOT integers: replaced with int()
-rw-r--r--paramiko/ber.py2
-rw-r--r--paramiko/kex_curve25519.py5
-rw-r--r--paramiko/kex_ecdh_nist.py9
-rw-r--r--paramiko/kex_group1.py7
-rw-r--r--paramiko/message.py8
-rw-r--r--paramiko/primes.py3
-rw-r--r--paramiko/sftp_attr.py6
-rw-r--r--paramiko/sftp_client.py2
-rw-r--r--paramiko/sftp_file.py12
-rw-r--r--paramiko/sftp_server.py2
-rw-r--r--paramiko/transport.py6
-rw-r--r--paramiko/util.py6
12 files changed, 32 insertions, 36 deletions
diff --git a/paramiko/ber.py b/paramiko/ber.py
index 28737c55..a59a0f93 100644
--- a/paramiko/ber.py
+++ b/paramiko/ber.py
@@ -16,7 +16,7 @@
# along with Paramiko; if not, write to the Free Software Foundation, Inc.,
# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
from paramiko.common import max_byte, zero_byte, byte_ord, byte_chr
-from paramiko.py3compat import b, long
+from paramiko.py3compat import b
import paramiko.util as util
diff --git a/paramiko/kex_curve25519.py b/paramiko/kex_curve25519.py
index 8f66609a..bb1b5423 100644
--- a/paramiko/kex_curve25519.py
+++ b/paramiko/kex_curve25519.py
@@ -10,7 +10,6 @@ from cryptography.hazmat.primitives.asymmetric.x25519 import (
from paramiko.message import Message
from paramiko.common import byte_chr
-from paramiko.py3compat import long
from paramiko.ssh_exception import SSHException
@@ -71,7 +70,7 @@ class KexCurve25519(object):
peer_key_bytes = m.get_string()
peer_key = X25519PublicKey.from_public_bytes(peer_key_bytes)
K = self._perform_exchange(peer_key)
- K = long(binascii.hexlify(K), 16)
+ K = int(binascii.hexlify(K), 16)
# compute exchange hash
hm = Message()
hm.add(
@@ -110,7 +109,7 @@ class KexCurve25519(object):
peer_key = X25519PublicKey.from_public_bytes(peer_key_bytes)
K = self._perform_exchange(peer_key)
- K = long(binascii.hexlify(K), 16)
+ K = int(binascii.hexlify(K), 16)
# compute exchange hash and verify signature
hm = Message()
hm.add(
diff --git a/paramiko/kex_ecdh_nist.py b/paramiko/kex_ecdh_nist.py
index eb9eff74..41fab46b 100644
--- a/paramiko/kex_ecdh_nist.py
+++ b/paramiko/kex_ecdh_nist.py
@@ -6,7 +6,6 @@ RFC 5656, Section 4
from hashlib import sha256, sha384, sha512
from paramiko.common import byte_chr
from paramiko.message import Message
-from paramiko.py3compat import long
from paramiko.ssh_exception import SSHException
from cryptography.hazmat.backends import default_backend
from cryptography.hazmat.primitives.asymmetric import ec
@@ -26,7 +25,7 @@ class KexNistp256:
def __init__(self, transport):
self.transport = transport
# private key, client public and server public keys
- self.P = long(0)
+ self.P = 0
self.Q_C = None
self.Q_S = None
@@ -70,7 +69,7 @@ class KexNistp256:
)
K_S = self.transport.get_server_key().asbytes()
K = self.P.exchange(ec.ECDH(), self.Q_C)
- K = long(hexlify(K), 16)
+ K = int(hexlify(K), 16)
# compute exchange hash
hm = Message()
hm.add(
@@ -88,7 +87,7 @@ class KexNistp256:
serialization.PublicFormat.UncompressedPoint,
)
)
- hm.add_mpint(long(K))
+ hm.add_mpint(int(K))
H = self.hash_algo(hm.asbytes()).digest()
self.transport._set_K_H(K, H)
sig = self.transport.get_server_key().sign_ssh_data(
@@ -116,7 +115,7 @@ class KexNistp256:
)
sig = m.get_binary()
K = self.P.exchange(ec.ECDH(), self.Q_S)
- K = long(hexlify(K), 16)
+ K = int(hexlify(K), 16)
# compute exchange hash and verify signature
hm = Message()
hm.add(
diff --git a/paramiko/kex_group1.py b/paramiko/kex_group1.py
index 0dd3c26f..1e3d55f6 100644
--- a/paramiko/kex_group1.py
+++ b/paramiko/kex_group1.py
@@ -27,7 +27,6 @@ from hashlib import sha1
from paramiko import util
from paramiko.common import max_byte, zero_byte, byte_chr, byte_mask
from paramiko.message import Message
-from paramiko.py3compat import long
from paramiko.ssh_exception import SSHException
@@ -49,9 +48,9 @@ class KexGroup1(object):
def __init__(self, transport):
self.transport = transport
- self.x = long(0)
- self.e = long(0)
- self.f = long(0)
+ self.x = 0
+ self.e = 0
+ self.f = 0
def start_kex(self):
self._generate_x()
diff --git a/paramiko/message.py b/paramiko/message.py
index 0927e529..2b5cfb0e 100644
--- a/paramiko/message.py
+++ b/paramiko/message.py
@@ -25,7 +25,7 @@ from io import BytesIO
from paramiko import util
from paramiko.common import zero_byte, max_byte, one_byte
-from paramiko.py3compat import long, u
+from paramiko.py3compat import u
class Message(object):
@@ -39,7 +39,7 @@ class Message(object):
paramiko doesn't support yet.
"""
- big_int = long(0xff000000)
+ big_int = 0xff000000
def __init__(self, content=None):
"""
@@ -152,7 +152,7 @@ class Message(object):
"""
Fetch a 64-bit int from the stream.
- :return: a 64-bit unsigned integer (`long`).
+ :return: a 64-bit unsigned integer (`int`).
"""
return struct.unpack(">Q", self.get_bytes(8))[0]
@@ -160,7 +160,7 @@ class Message(object):
"""
Fetch a long int (mpint) from the stream.
- :return: an arbitrary-length integer (`long`).
+ :return: an arbitrary-length integer (`int`).
"""
return util.inflate_long(self.get_binary())
diff --git a/paramiko/primes.py b/paramiko/primes.py
index cb7f8ca2..388029c9 100644
--- a/paramiko/primes.py
+++ b/paramiko/primes.py
@@ -24,7 +24,6 @@ import os
from paramiko import util
from paramiko.common import byte_mask
-from paramiko.py3compat import long
from paramiko.ssh_exception import SSHException
@@ -76,7 +75,7 @@ class ModulusPack(object):
tries = int(tries)
size = int(size)
generator = int(generator)
- modulus = long(modulus, 16)
+ modulus = int(modulus, 16)
# weed out primes that aren't at least:
# type 2 (meets basic structural requirements)
diff --git a/paramiko/sftp_attr.py b/paramiko/sftp_attr.py
index b1e3664e..8e4ca1b0 100644
--- a/paramiko/sftp_attr.py
+++ b/paramiko/sftp_attr.py
@@ -19,7 +19,7 @@
import stat
import time
from paramiko.common import x80000000, o700, o70, xffffffff
-from paramiko.py3compat import long, strftime
+from paramiko.py3compat import strftime
class SFTPAttributes(object):
@@ -134,8 +134,8 @@ class SFTPAttributes(object):
msg.add_int(self.st_mode)
if self._flags & self.FLAG_AMTIME:
# throw away any fractional seconds
- msg.add_int(long(self.st_atime))
- msg.add_int(long(self.st_mtime))
+ msg.add_int(int(self.st_atime))
+ msg.add_int(int(self.st_mtime))
if self._flags & self.FLAG_EXTENDED:
msg.add_int(len(self.attr))
for key, val in self.attr.items():
diff --git a/paramiko/sftp_client.py b/paramiko/sftp_client.py
index ec5704de..5bb86e54 100644
--- a/paramiko/sftp_client.py
+++ b/paramiko/sftp_client.py
@@ -28,7 +28,7 @@ from paramiko import util
from paramiko.channel import Channel
from paramiko.message import Message
from paramiko.common import INFO, DEBUG, o777
-from paramiko.py3compat import b, u, long
+from paramiko.py3compat import b, u
from paramiko.sftp import (
BaseSFTP,
CMD_OPENDIR,
diff --git a/paramiko/sftp_file.py b/paramiko/sftp_file.py
index 6c2a1336..74255708 100644
--- a/paramiko/sftp_file.py
+++ b/paramiko/sftp_file.py
@@ -30,7 +30,7 @@ import time
from paramiko.common import DEBUG
from paramiko.file import BufferedFile
-from paramiko.py3compat import u, long
+from paramiko.py3compat import u
from paramiko.sftp import (
CMD_CLOSE,
CMD_READ,
@@ -183,7 +183,7 @@ class SFTPFile(BufferedFile):
if data is not None:
return data
t, msg = self.sftp._request(
- CMD_READ, self.handle, long(self._realpos), int(size)
+ CMD_READ, self.handle, int(self._realpos), int(size)
)
if t != CMD_DATA:
raise SFTPError("Expected data")
@@ -196,7 +196,7 @@ class SFTPFile(BufferedFile):
type(None),
CMD_WRITE,
self.handle,
- long(self._realpos),
+ int(self._realpos),
data[:chunk],
)
self._reqs.append(sftp_async_request)
@@ -406,8 +406,8 @@ class SFTPFile(BufferedFile):
"check-file",
self.handle,
hash_algorithm,
- long(offset),
- long(length),
+ int(offset),
+ int(length),
block_size,
)
msg.get_text() # ext
@@ -535,7 +535,7 @@ class SFTPFile(BufferedFile):
# a lot of them, so it may block.
for offset, length in chunks:
num = self.sftp._async_request(
- self, CMD_READ, self.handle, long(offset), int(length)
+ self, CMD_READ, self.handle, int(offset), int(length)
)
with self._prefetch_lock:
self._prefetch_extents[num] = (offset, length)
diff --git a/paramiko/sftp_server.py b/paramiko/sftp_server.py
index f0db5765..34cb85cf 100644
--- a/paramiko/sftp_server.py
+++ b/paramiko/sftp_server.py
@@ -36,7 +36,7 @@ from paramiko.sftp import (
from paramiko.sftp_si import SFTPServerInterface
from paramiko.sftp_attr import SFTPAttributes
from paramiko.common import DEBUG
-from paramiko.py3compat import long, string_types, bytes_types, b
+from paramiko.py3compat import string_types, bytes_types, b
from paramiko.server import SubsystemHandler
diff --git a/paramiko/transport.py b/paramiko/transport.py
index 23eda83b..fae1babb 100644
--- a/paramiko/transport.py
+++ b/paramiko/transport.py
@@ -101,7 +101,7 @@ from paramiko.kex_gss import KexGSSGex, KexGSSGroup1, KexGSSGroup14
from paramiko.message import Message
from paramiko.packet import Packetizer, NeedRekeyException
from paramiko.primes import ModulusPack
-from paramiko.py3compat import string_types, long, b, input
+from paramiko.py3compat import string_types, b, input
from paramiko.rsakey import RSAKey
from paramiko.ecdsakey import ECDSAKey
from paramiko.server import ServerInterface
@@ -569,7 +569,7 @@ class Transport(threading.Thread, ClosingContextManager):
"""
Returns a string representation of this object, for debugging.
"""
- id_ = hex(long(id(self)) & xffffffff)
+ id_ = hex(id(self) & xffffffff)
out = "<paramiko.Transport at {}".format(id_)
if not self.active:
out += " (unconnected)"
@@ -2074,7 +2074,7 @@ class Transport(threading.Thread, ClosingContextManager):
# active=True occurs before the thread is launched, to avoid a race
_active_threads.append(self)
- tid = hex(long(id(self)) & xffffffff)
+ tid = hex(id(self) & xffffffff)
if self.server_mode:
self._log(DEBUG, "starting thread (server mode): {}".format(tid))
else:
diff --git a/paramiko/util.py b/paramiko/util.py
index c397a815..a9865ec3 100644
--- a/paramiko/util.py
+++ b/paramiko/util.py
@@ -36,7 +36,7 @@ from paramiko.config import SSHConfig
def inflate_long(s, always_positive=False):
"""turns a normalized byte string into a long-int
(adapted from Crypto.Util.number)"""
- out = long(0)
+ out = 0
negative = 0
if not always_positive and (len(s) > 0) and (byte_ord(s[0]) >= 0x80):
negative = 1
@@ -50,7 +50,7 @@ def inflate_long(s, always_positive=False):
for i in range(0, len(s), 4):
out = (out << 32) + struct.unpack(">I", s[i : i + 4])[0]
if negative:
- out -= long(1) << (8 * len(s))
+ out -= 1 << (8 * len(s))
return out
@@ -59,7 +59,7 @@ def deflate_long(n, add_sign_padding=True):
(adapted from Crypto.Util.number)"""
# after much testing, this algorithm was deemed to be the fastest
s = bytes()
- n = long(n)
+ n = int(n)
while (n != 0) and (n != -1):
s = struct.pack(">I", n & xffffffff) + s
n >>= 32