Bug 14576 - unsupported DNS update requests "Can't handle updates of type 255 yet" from OS X/macOS clients
Summary: unsupported DNS update requests "Can't handle updates of type 255 yet" from O...
Status: NEW
Alias: None
Product: Samba 4.1 and newer
Classification: Unclassified
Component: DNS server (internal) (show other bugs)
Version: 4.12.6
Hardware: All All
: P5 normal (vote)
Target Milestone: ---
Assignee: Samba QA Contact
QA Contact: Samba QA Contact
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2020-11-17 17:40 UTC by Björn Jacke
Modified: 2020-11-17 19:33 UTC (History)
0 users

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Björn Jacke 2020-11-17 17:40:23 UTC
OS X clients (seen this with 10.13.6), that are AD joined will trigger unsuported DNS update requests:

[2020/11/16 15:10:42.626088,  0] ../../source4/dns_server/dns_update.c:419(handle_one_update)
  Can't handle updates of type 255 yet

(type 255 is TYPE_ANY). I don't have a network sniff or more information yet.
Comment 1 Jeremy Allison 2020-11-17 19:33:38 UTC
Interestingly enough, looking at source4/dns_server/dns_update.c:handle_one_update()

We have:

406         switch (update->rr_type) {
407         case DNS_QTYPE_A:
408         case DNS_QTYPE_NS:
409         case DNS_QTYPE_CNAME:
410         case DNS_QTYPE_SOA:
411         case DNS_QTYPE_PTR:
412         case DNS_QTYPE_MX:
413         case DNS_QTYPE_AAAA:
414         case DNS_QTYPE_SRV:
415         case DNS_QTYPE_TXT:
416                 break;
417         default:
418                 DEBUG(0, ("Can't handle updates of type %u yet\n",
419                           update->rr_type));
420                 return DNS_ERR(NOT_IMPLEMENTED);
421         }

But then later in that function:

572         } else if (update->rr_class == DNS_QCLASS_ANY) {
573                 if (update->rr_type == DNS_QTYPE_ALL) {

So it looks like (rr_class == DNS_QCLASS_ANY && rr_type == DNS_QTYPE_ALL) should be added as a supported case in the switch statement above, as we have code to deal with it.