secondary_refresh = 6*hour, secondary_retry = 1*hour, secondary_expire = 7*day,
# Here come the actual domains. Each takes records as argument, either individually or as lists.
domains = {
- '@': Name(one, mail, HTTPS('0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef')), # this will all all records from the list "one" and the list "mail" to this name
+ '@': Name(one, mail, HTTPS('0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef')), # this will add all records from the list "one" and the list "mail" to this name
+ '@': Name(CAA(0, CAA.Tag.Issue, "letsencrypt.org")),
'ns': Name(one),
'ipv4.ns': Name(one4), # just a single record
'ipv6.ns': Name(one6),
def generate_rr(self):
return RR('_{}._{}'.format(self._port, self._protocol), 'TLSA', '{} {} {} {}'.format(self._usage, self._selector, self._matching_type, self._data))
+class CAA:
+ class Tag:
+ Issue = "issue"
+ IssueWild = "issuewild"
+
+ def __init__(self, flag: int, tag: str, value: str) -> None:
+ self._flag = int(flag)
+ self._tag = str(tag)
+ self._value = str(value)
+
+ def generate_rr(self):
+ return RR('@', 'CAA', '{} {} {}'.format(self._flag, self._tag, self._value))
+
class CNAME:
def __init__(self, name: str) -> None: