Let SSH public key user fields have a bit more varied content.
This commit is contained in:
parent
19d507c754
commit
e7a1cc68c7
|
@ -25,7 +25,7 @@ def read_ssh_pubkey(fp=None):
|
|||
line = fp.readline()
|
||||
return line
|
||||
|
||||
_ACCEPTABLE_USER_RE = re.compile(r'^[a-z][a-z0-9]*@[a-z][a-z0-9]*$')
|
||||
_ACCEPTABLE_USER_RE = re.compile(r'^[a-z][a-z0-9]*(@[a-z][a-z0-9.-]*)?$')
|
||||
|
||||
class InsecureSSHKeyUsername(Exception):
|
||||
"""Username contains not allowed characters"""
|
||||
|
|
|
@ -18,6 +18,33 @@ def test_ssh_extract_user_simple():
|
|||
+'AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA= fakeuser@fakehost')
|
||||
eq(got, 'fakeuser@fakehost')
|
||||
|
||||
def test_ssh_extract_user_domain():
|
||||
got = init.ssh_extract_user(
|
||||
'ssh-somealgo '
|
||||
+'0123456789ABCDEFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA'
|
||||
+'AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA'
|
||||
+'AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA'
|
||||
+'AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA= fakeuser@fakehost.example.com')
|
||||
eq(got, 'fakeuser@fakehost.example.com')
|
||||
|
||||
def test_ssh_extract_user_domain_dashes():
|
||||
got = init.ssh_extract_user(
|
||||
'ssh-somealgo '
|
||||
+'0123456789ABCDEFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA'
|
||||
+'AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA'
|
||||
+'AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA'
|
||||
+'AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA= fakeuser@ridiculously-long.example.com')
|
||||
eq(got, 'fakeuser@ridiculously-long.example.com')
|
||||
|
||||
def test_ssh_extract_user_no_at():
|
||||
got = init.ssh_extract_user(
|
||||
'ssh-somealgo '
|
||||
+'0123456789ABCDEFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA'
|
||||
+'AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA'
|
||||
+'AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA'
|
||||
+'AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA= fakeuser')
|
||||
eq(got, 'fakeuser')
|
||||
|
||||
def test_ssh_extract_user_bad():
|
||||
e = assert_raises(
|
||||
init.InsecureSSHKeyUsername,
|
||||
|
|
Loading…
Reference in a new issue