Les lignes TXT ont une longueur limite théorique de 255 caractères
This commit is contained in:
parent
50415d4a90
commit
ba6baa40dc
1 changed files with 13 additions and 3 deletions
|
@ -151,13 +151,17 @@ class TXT(ResourceRecord):
|
||||||
"""Entrée DNS pour un champ TXT"""
|
"""Entrée DNS pour un champ TXT"""
|
||||||
def __init__(self, name, value, ttl=None):
|
def __init__(self, name, value, ttl=None):
|
||||||
super(TXT, self).__init__('TXT', name, value, ttl)
|
super(TXT, self).__init__('TXT', name, value, ttl)
|
||||||
|
if len(self.value) > 200:
|
||||||
|
self.value = '( "' + '"\n\t\t\t\t"'.join([self.value[x:x+200] for x in xrange(0, len(self.value), 200)]) + '" )'
|
||||||
|
else:
|
||||||
|
self.value = '"%s"' % (self.value,)
|
||||||
|
|
||||||
def __str__(self):
|
def __str__(self):
|
||||||
"""Retourne une chaîne printable dans un fichier bind"""
|
"""Retourne une chaîne printable dans un fichier bind"""
|
||||||
if self._ttl:
|
if self._ttl:
|
||||||
return '%s\t%s\tIN\t%s\t"%s"' % (self.name, self._ttl, self.r_type, self.value)
|
return '%s\t%s\tIN\t%s\t%s' % (self.name, self._ttl, self.r_type, self.value)
|
||||||
else:
|
else:
|
||||||
return '%s\tIN\t%s\t"%s"' % (self.name, self.r_type, self.value)
|
return '%s\tIN\t%s\t%s' % (self.name, self.r_type, self.value)
|
||||||
|
|
||||||
class CNAME(ResourceRecord):
|
class CNAME(ResourceRecord):
|
||||||
"""Entrée DNS pour un alias (toto -> redisdead)"""
|
"""Entrée DNS pour un alias (toto -> redisdead)"""
|
||||||
|
@ -620,6 +624,12 @@ class dns(gen_config):
|
||||||
],
|
],
|
||||||
}
|
}
|
||||||
|
|
||||||
|
DKIM = {
|
||||||
|
'crans.org': [
|
||||||
|
TXT('mail._domainkey', 'v=DKIM1; k=rsa; p=MIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEAtwkNVd9Mmz8S4WcfuPk0X2drG39gS8+uxAv8igRILgzWeN8j2hjeZesl8pm/1UTVU87bYcdfUgXiGfQy9nR5p/Vmt2kS7sXk9nsJ/VYENgb3IJQ6paWupSTFMyeKycJ4ZHCEZB/bVvifoG6vLKqW5jpsfCiOcfdcgXATn0UPuVx9t93yRrhoEMntMv9TSodjqd3FKCtJUoh5cNQHo0T6dWKtxoIgNi/mvZ92D/IACwu/XOU+Rq9fnoEI8GukBQUR5AkP0B/JrvwWXWX/3EjY8X37ljEX0XUdq/ShzTl5iK+CM83stgkFUQh/rpww5mnxYEW3X4uirJ7VJHmY4KPoIU+2DPjLQj9Hz63CMWY3Ks2pXWzxD3V+GI1aJTMFOv2LeHnI3ScqFaKj9FR4ZKMb0OW2BEFBIY3J3aeo/paRwdbVCMM7twDtZY9uInR/NhVa1v9hlOxwp4/2pGSKQYoN2CkAZ1Alzwf8M3EONLKeiC43JLYwKH1uBB1oikSVhMnLjG0219XvfG/tphyoOqJR/bCc2rdv5pLwKUl4wVuygfpvOw12bcvnTfYuk/BXzVHg9t4H8k/DJR6GAoeNAapXIS8AfAScF8QdKfplhKLJyQGJ6lQ75YD9IwRAN0oV+8NTjl46lI/C+b7mpfXCew+p6YPwfNvV2shiR0Ez8ZGUQIcCAwEAAQ==')
|
||||||
|
],
|
||||||
|
}
|
||||||
|
|
||||||
NON_CLONABLE_SPFs = {
|
NON_CLONABLE_SPFs = {
|
||||||
'crans.org': [
|
'crans.org': [
|
||||||
TXT(short_name(_mx), 'v=spf1 mx:crans.org ~all') for _mx in config.dns.MXs
|
TXT(short_name(_mx), 'v=spf1 mx:crans.org ~all') for _mx in config.dns.MXs
|
||||||
|
@ -673,7 +683,7 @@ class dns(gen_config):
|
||||||
# On met les mêmes MX pour toutes les zones.
|
# On met les mêmes MX pour toutes les zones.
|
||||||
zone.extend(self.MXs)
|
zone.extend(self.MXs)
|
||||||
# Les RR définis ici sont ajoutés aux zones idoines, de façon à se simplifier la vie.
|
# Les RR définis ici sont ajoutés aux zones idoines, de façon à se simplifier la vie.
|
||||||
for rr_type in [self.SRVs, self.NAPTRs, self.DSs, self.EXTRAS, self.SPFs, self.NON_CLONABLE_SPFs]:
|
for rr_type in [self.SRVs, self.NAPTRs, self.DSs, self.EXTRAS, self.SPFs, self.NON_CLONABLE_SPFs, self.DKIM]:
|
||||||
if zone.zone_name in rr_type.keys():
|
if zone.zone_name in rr_type.keys():
|
||||||
zone.extend(rr_type[zone.zone_name])
|
zone.extend(rr_type[zone.zone_name])
|
||||||
for m in machines:
|
for m in machines:
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue