def check_name(cls, name, dns_domain, ignore_name_check=False): """ Validate the name parameter """ if not isinstance(name, basestring): # pragma: no cover raise TypeError("%s: name must be a string." % cls.name) if not isinstance(dns_domain, DnsDomain): # pragma: no cover raise TypeError("%s: dns_domain must be a DnsDomain." % cls.name) # Allow SRV records to opt out from this test if not ignore_name_check: DnsDomain.check_label(name) # The limit for DNS name length is 255, assuming wire format. This # translates to 253 for simple ASCII text; see: # http://www.ops.ietf.org/lists/namedroppers/namedroppers.2003/msg00964.html if len(name) + 1 + len(dns_domain.name) > 253: raise ArgumentError('The fully qualified domain name is too long.')