[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:
Valentin Samir 2014-02-21 18:02:34 +01:00
parent b882c41683
commit 78b50415fe

View file

@ -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)