[attributs] Des test sur la correction syntaxique de ce qu'on met dans un sshFingerprint
En gros de ce que le script qui génère le dns s'attend à trouver : la clef publique en entière sous la forme type base64 commentaire
This commit is contained in:
parent
b882c41683
commit
78b50415fe
1 changed files with 8 additions and 0 deletions
|
@ -39,6 +39,7 @@ import re
|
||||||
import sys
|
import sys
|
||||||
import netaddr
|
import netaddr
|
||||||
import time
|
import time
|
||||||
|
import base64
|
||||||
import datetime
|
import datetime
|
||||||
import functools
|
import functools
|
||||||
import smtplib
|
import smtplib
|
||||||
|
@ -1285,6 +1286,13 @@ class sshFingerprint(Attr):
|
||||||
'key' : details[1],
|
'key' : details[1],
|
||||||
'comm' : ' '.join(details[2:]),
|
'comm' : ' '.join(details[2:]),
|
||||||
}
|
}
|
||||||
|
if not self.value['type'] in config.sshfs_ralgo.keys():
|
||||||
|
raise ValueError("Seul les clefs ssh de type %s sont supportées" % ', '.join(config.sshfs_ralgo.keys()))
|
||||||
|
try:
|
||||||
|
base64.b64decode(self.value['key'])
|
||||||
|
except:
|
||||||
|
raise ValueError("La partie centrale de la clef ssh devrait être du base64 valide")
|
||||||
|
|
||||||
def __getitem__(self, attr):
|
def __getitem__(self, attr):
|
||||||
return self.value.__getitem__(attr)
|
return self.value.__getitem__(attr)
|
||||||
|
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue