Skip to content
Snippets Groups Projects
Commit c39cd6de5d76 authored by Jeff Forcier's avatar Jeff Forcier
Browse files

Merge branch '2.10' into 2.11

No related branches found
No related tags found
No related merge requests found
......@@ -324,6 +324,8 @@
def _read_private_key(self, tag, f, password=None):
lines = f.readlines()
if not lines:
raise SSHException("no lines in {} private key file".format(tag))
# find the BEGIN tag
start = 0
......
......@@ -2,6 +2,10 @@
Changelog
=========
- bug:`1637` (via :issue:`1599`) Raise `SSHException` explicitly when blank
private key data is loaded, instead of the natural result of ``IndexError``.
This should help more bits of Paramiko or Paramiko-adjacent codebases to
correctly handle this class of error. Credit: Nicholas Dietz.
- :release:`2.11.0 <2022-05-16>`
- :release:`2.10.5 <2022-05-16>`
- :release:`2.9.5 <2022-05-16>`
......
......@@ -186,6 +186,11 @@
with pytest.raises(SSHException, match=str(exception)):
RSAKey.from_private_key_file(_support("test_rsa.key"))
def test_loading_empty_keys_errors_usefully(self):
# #1599 - raise SSHException instead of IndexError
with pytest.raises(SSHException, match="no lines"):
RSAKey.from_private_key_file(_support("blank_rsa.key"))
def test_load_rsa_password(self):
key = RSAKey.from_private_key_file(
_support("test_rsa_password.key"), "television"
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment