<rdar://problem/7237146> Allow service types up to 15 characters instead of only 14
authorcheshire@apple.com <cheshire@apple.com@214c2c4a-bf3b-4dcf-9390-e4dd3010487d>
Sat, 19 Sep 2009 01:12:59 +0000 (01:12 +0000)
committercheshire@apple.com <cheshire@apple.com@214c2c4a-bf3b-4dcf-9390-e4dd3010487d>
Sat, 19 Sep 2009 01:12:59 +0000 (01:12 +0000)
git-svn-id: http://svn.macosforge.org/repository/mDNSResponder/trunk@6681 214c2c4a-bf3b-4dcf-9390-e4dd3010487d

mDNSCore/DNSCommon.c
mDNSShared/dns_sd.h

index cb79204..e80bead 100644 (file)
@@ -731,16 +731,16 @@ mDNSexport mDNSu8 *ConstructServiceName(domainname *const fqdn,
 
        src = type->c;                                                                          // Put the service type into the domain name
        len = *src;
-       if (len < 2 || len > 15)
+       if (len < 2 || len > 16)
                {
-               LogMsg("Bad service type in %#s.%##s%##s Application protocol name must be underscore plus 1-14 characters. "
+               LogMsg("Bad service type in %#s.%##s%##s Application protocol name must be underscore plus 1-15 characters. "
                        "See <http://www.dns-sd.org/ServiceTypes.html>", name->c, type->c, domain->c);
 #if APPLE_OSX_mDNSResponder
                ConvertDomainNameToCString(type, typeBuf);
                mDNSASLLog(mDNSNULL, "serviceType.nameTooLong", "noop", typeBuf, "");
 #endif
                }
-       if (len < 2 || len >= 0x40 || (len > 15 && !SameDomainName(domain, &localdomain))) return(mDNSNULL);
+       if (len < 2 || len >= 0x40 || (len > 16 && !SameDomainName(domain, &localdomain))) return(mDNSNULL);
        if (src[1] != '_') { errormsg = "Application protocol name must begin with underscore"; goto fail; }
        for (i=2; i<=len; i++)
                {
index 6b7c669..7ffd3b3 100644 (file)
@@ -514,7 +514,7 @@ enum
  *
  * The servicename may be up to 63 bytes of UTF-8 text (not counting the C-String
  * terminating NULL at the end). The regtype is of the form _service._tcp or
- * _service._udp, where the "service" part is 1-14 characters, which may be
+ * _service._udp, where the "service" part is 1-15 characters, which may be
  * letters, digits, or hyphens. The domain part of the three-part name may be
  * any legal domain, providing that the resulting servicename+regtype+domain
  * name does not exceed 256 bytes.
@@ -886,7 +886,7 @@ typedef void (DNSSD_API *DNSServiceRegisterReply)
  *
  * regtype:         The service type followed by the protocol, separated by a dot
  *                  (e.g. "_ftp._tcp"). The service type must be an underscore, followed
- *                  by 1-14 characters, which may be letters, digits, or hyphens.
+ *                  by 1-15 characters, which may be letters, digits, or hyphens.
  *                  The transport protocol must be "_tcp" or "_udp". New service types
  *                  should be registered at <http://www.dns-sd.org/ServiceTypes.html>.
  *