From 3f1712e908e9627a8bd83d6947c982253623f2d9 Mon Sep 17 00:00:00 2001 From: Valentin Samir Date: Sun, 23 Feb 2014 00:00:32 +0100 Subject: [PATCH] [services] reconfiguration du dns si modification d'un certificat avec du TLSA --- services.py | 15 +++++++++++++-- 1 file changed, 13 insertions(+), 2 deletions(-) diff --git a/services.py b/services.py index 8288adb..fbdfc9b 100644 --- a/services.py +++ b/services.py @@ -17,7 +17,7 @@ import gestion.config as config # liste des attributs dont dépend un service services_to_attrs = {} services_to_attrs['macip'] = [ attributs.ipHostNumber, attributs.ip6HostNumber, attributs.macAddress, attributs.paiement, attributs.carteEtudiant ] -services_to_attrs['dns'] = [ attributs.ipHostNumber, attributs.ip6HostNumber, attributs.sshFingerprint, attributs.host, attributs.hostAlias, attributs.dnsIpv6 ] +services_to_attrs['dns'] = [ attributs.ipHostNumber, attributs.ip6HostNumber, attributs.sshFingerprint, attributs.host, attributs.hostAlias, attributs.dnsIpv6 , attributs.hostCert, attributs.portTCPin, attributs.portUDPin ] services_to_attrs['blacklist'] = [ attributs.blacklist, attributs.chbre, attributs.mailInvalide ] + services_to_attrs['macip'] services_to_attrs['ports'] = [ attributs.portUDPout, attributs.portUDPin, attributs.portTCPout, attributs.portTCPin ] services_to_attrs['droits'] = [ attributs.droits ] @@ -57,8 +57,18 @@ def services_to_args_macip(x): def services_to_args_port(x): if isinstance(x, attributs.ipHostNumber) or isinstance(x, attributs.ip6HostNumber): return [str(x)] - else: + elif isinstance(x.parent, objets.machine): return [ str(ip) for ip in x.parent.get('ipHostNumber',[]) ] + else: + return [] + +def services_to_args_dns(x): + if isinstance(x.parent, objets.machine): + return [ str(x.parent['mid'][0]) ] + elif isinstance(x.parent, objets.baseCert): + return [ str(x.parent.machine()['mid'][0]) ] + else: + return [] # Trouver comment faire le cas où on ajoute une redirection mail (il faut alors retourner un quadruplet "homedir,uidNumber,uid,mail") def services_to_args_home(x): @@ -131,6 +141,7 @@ services_to_args['macip']=services_to_args_macip ## Inutile pour blackliste pour le moment #services_to_args['blacklist']=services_to_args_blacklist services_to_args['port']=services_to_args_port +services_to_args['dns']=services_to_args_dns services_to_args['home']=services_to_args_home services_to_args['mail_ajout_droits'] = lambda x: "%s:%s" % (x.parent['uid'][0], x) services_to_args['del_user']=services_to_args_del_user