Zone adm.crans.org

darcs-hash:20050514110606-41617-4d13b3e28e0736eccdb5b40e7a2a3234830b04fe.gz
This commit is contained in:
pauget 2005-05-14 13:06:06 +02:00
parent e8c6e4eda3
commit 9b82ccfe75

View file

@ -35,7 +35,7 @@ la base LDAP
### Sur quelles zones on a autorité ?
# Résolution directe
zones_direct = [ 'crans.org' , 'crans.ens-cachan.fr', 'wifi.crans.org' , 'ferme.crans.org' , 'clubs.ens-cachan.fr' ]
zones_direct = [ 'crans.org' , 'crans.ens-cachan.fr', 'wifi.crans.org' , 'ferme.crans.org' , 'clubs.ens-cachan.fr', 'adm.crans.org' ]
# Résolution inverse
zones_reverse = [ '138.231.136.0/21', '138.231.148.0/22' ]
@ -111,8 +111,8 @@ zone "%(NOM_zone)s" {
for zone in zones :
fd.write(self.zone_template_slave % { 'NOM_zone' : zone,
'FICHIER_zone' : self.DNS_DIR + 'db.' + zone })
fd.close()
def _gen(self) :
### Génération du numéro de série
@ -135,7 +135,6 @@ zone "%(NOM_zone)s" {
### Tri des machines
direct = {} # format : { zone : [ lignes correspondantes] }
direct['ariane'] = "" # Pour Ariane
reverse = {}
warnings = ''
@ -156,9 +155,6 @@ zone "%(NOM_zone)s" {
ligne = "%s\tIN\tA\t%s\n" % ( nom, machine.ip() )
try : direct[zone] += ligne
except : direct[zone] = ligne
if zone[-9:] == "crans.org":
direct['ariane'] += ("%s\tIN\tA\t%s\n" % ((nom + "." + zone)[:-10],
machine.ip() )).encode('iso-8859-15')
elif self.verbose :
warnings += u'Résolution directe ignorée (mid=%s) : zone non autoritaire (%s)\n' % ( machine.id().encode('iso-8859-1'), zone.encode('iso-8859-1') )
@ -171,10 +167,6 @@ zone "%(NOM_zone)s" {
alias = alias.encode('iso-8859-1')
try : direct[alias] += ligne
except : direct[alias] = ligne
if alias == "crans.org":
direct['ariane'] += ("@\tIN\tA\t%s\n" % machine.ip()).encode('iso-8859-15')
elif alias[-9:] == "crans.org":
direct['ariane'] += ("%s\tIN\tA\t%s\n" % (alias[:-10], machine.ip())).encode('iso-8859-15')
continue
# Bon format ?
@ -196,9 +188,6 @@ zone "%(NOM_zone)s" {
ligne = "%s\tIN\tCNAME\t%s.\n" % ( nom, machine.nom() )
try : direct[zone] += ligne
except : direct[zone] = ligne
if zone[-9:] == "crans.org":
direct['ariane'] += ("%s\tIN\tCNAME\t%s.\n" % ((nom + "." + zone)[:-10],
machine.nom() )).encode('iso-8859-15')
# Le reverse
if AddrInNets(machine.ip(), self.zones_reverse) :
@ -213,27 +202,17 @@ zone "%(NOM_zone)s" {
warnings += u'Résolution inverse ignorée (mid=%s) : ip sur zone non autoritaire (%s)\n' % ( machine.id().encode('iso-8859-1'), machine.ip().encode('iso-8859-1') )
### Ajouts pour les fichiers de résolution directs
for zone in filter(lambda x: x != 'ariane', direct.keys()) :
for zone in direct.keys() :
# MXs
direct[zone] = MX % { 'zone' : zone } + direct[zone]
if zone[-9:] == "crans.org":
direct['ariane'] = MX % { 'zone' : zone } + direct['ariane']
### Ecriture des fichiers de zone et préparation du fichier de définition
f = ''
for zone, lignes in direct.items() + reverse.items() :
if zone == 'ariane':
continue
file = self.DNS_DIR + 'db.' + zone
fd = self._open_conf(file,';')
if zone != 'ariane':
fd.write(self.zone_entete % \
{ 'zone' : zone, 'serveur_autoritaire' : self.DNSs[0] ,
'serial' : serial } )
else:
fd.write(self.zone_entete % \
{ 'zone' : 'crans.org', 'serveur_autoritaire' : self.DNSs[0] ,
'serial' : serial } )
fd.write(self.zone_entete % \
{ 'zone' : zone, 'serveur_autoritaire' : self.DNSs[0] , 'serial' : serial } )
fd.write('\n')
fd.write(DNS)
fd.write(lignes)
@ -244,20 +223,6 @@ zone "%(NOM_zone)s" {
fd = self._open_conf(self.DNS_CONF,'//')
fd.write(f)
fd.close()
# Pour ariane
fd = self._open_conf("%s.ariane" % self.DNS_CONF, '//')
for zone in filter(lambda x: x!= 'ariane', direct):
if zone == "crans.org":
fd.write(self.zone_template % { 'NOM_zone' : zone,
'FICHIER_zone' : self.DNS_DIR + 'db.ariane' })
elif zone[-9:] != "crans.org":
fd.write(self.zone_template % { 'NOM_zone' : zone,
'FICHIER_zone' : self.DNS_DIR + 'db.' + zone })
for zone in reverse :
fd.write(self.zone_template % { 'NOM_zone' : zone,
'FICHIER_zone' : self.DNS_DIR + 'db.' + zone })
fd.close()
return warnings