Merge lp:~rvb/maas/bug-1270052 into lp:~maas-committers/maas/trunk

Proposed by Raphaël Badin
Status: Merged
Approved by: Graham Binns
Approved revision: no longer in the source branch.
Merged at revision: 1821
Proposed branch: lp:~rvb/maas/bug-1270052
Merge into: lp:~maas-committers/maas/trunk
Diff against target: 45 lines (+11/-3)
3 files modified
src/maasserver/models/sshkey.py (+1/-1)
src/maasserver/models/tests/test_sshkey.py (+8/-0)
src/provisioningserver/pxe/config.py (+2/-2)
To merge this branch: bzr merge lp:~rvb/maas/bug-1270052
Reviewer Review Type Date Requested Status
Graham Binns (community) Approve
Review via email: mp+202052@code.launchpad.net

Commit message

Make sshkey.py:validate_ssh_public_key cope with UnicodeEncodeError.

Description of the change

Drive-by fix: fix lint.

To post a comment you must log in.
Revision history for this message
Graham Binns (gmb) wrote :

Nice work!

review: Approve

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
1=== modified file 'src/maasserver/models/sshkey.py'
2--- src/maasserver/models/sshkey.py 2013-10-07 09:12:40 +0000
3+++ src/maasserver/models/sshkey.py 2014-01-17 08:45:45 +0000
4@@ -52,7 +52,7 @@
5 if not key.isPublic():
6 raise ValidationError(
7 "Invalid SSH public key (this key is a private key).")
8- except (BadKeyError, binascii.Error):
9+ except (BadKeyError, binascii.Error, UnicodeEncodeError):
10 raise ValidationError("Invalid SSH public key.")
11
12
13
14=== modified file 'src/maasserver/models/tests/test_sshkey.py'
15--- src/maasserver/models/tests/test_sshkey.py 2013-10-07 09:12:40 +0000
16+++ src/maasserver/models/tests/test_sshkey.py 2014-01-17 08:45:45 +0000
17@@ -55,6 +55,14 @@
18 self.assertRaises(
19 ValidationError, validate_ssh_public_key, key_string)
20
21+ def test_does_not_validate_non_ascii_key(self):
22+ non_ascii_key = 'AAB3NzaC' + u'\u2502' + 'mN6Lo2I9w=='
23+ key_string = 'ssh-rsa %s %s@%s' % (
24+ non_ascii_key, factory.getRandomString(),
25+ factory.getRandomString())
26+ self.assertRaises(
27+ ValidationError, validate_ssh_public_key, key_string)
28+
29 def test_does_not_validate_rsa_private_key(self):
30 key_string = get_data('data/test_rsa')
31 self.assertRaises(
32
33=== modified file 'src/provisioningserver/pxe/config.py'
34--- src/provisioningserver/pxe/config.py 2014-01-16 09:35:02 +0000
35+++ src/provisioningserver/pxe/config.py 2014-01-17 08:45:45 +0000
36@@ -77,8 +77,8 @@
37 "This can happen if you manually power up a node when its "
38 "state is not one that allows it. Is the node in the 'Declared' "
39 "or 'Ready' states? It needs to be Enlisting, Commissioning or "
40- "Allocated."
41- % (pxe_templates_dir, purpose, arch, subarch))
42+ "Allocated." % (
43+ pxe_templates_dir, purpose, arch, subarch))
44
45 raise AssertionError(error)
46