Hello, Do you have any comment about this bug report? Thanks, Greg Rabil -----Original Message----- From: DHCP Bugs via RT [mailto:dhcp-confidential@isc.org] Sent: Tuesday, April 2, 2019 4:34 PM To: Rabil,AG,A Gregory,JTK2 R Subject: [ISC-Bugs #49169] AutoReply: DHCP 4.4.1 - Dynamic DNS updates are done via TCP instead of UDP Greetings, This message was automatically generated to acknowledge receipt of your recent email "DHCP 4.4.1 - Dynamic DNS updates are done via TCP instead of UDP", and to let you know that we have opened a ticket for your request (a summary of which appears below.) We do not need a further response from you at this time, but if you do respond, please include in the Subject of your reply the ID '[ISC-Bugs #49169]' so that we can match up your reply with the ticket in our system. What Happens Next ================= Bug reports submitted to us in this manner are handled based on perceived severity in relation to other bugs. We handle reports as time permits so there is no guaranteed response time for these reports. If you feel the issue you are reporting is a security issue, please see http://www.isc.org/security/reporting-issues for details on how to report it, including the PGP key you may use. If it is of a non-security yet still urgent matter, you may reply to this message to add further information. Public Visibility of Bugs ========================= Most bind and dhcp bug reports submitted since July 7, 2017 are visible to the public at https://bugs.isc.org after review by the developers. If you want this report to be withheld from public view, please reply to this message with your request. All reports submitted to bind9-confidential@isc.org and dhcp-confidential@isc.org are withheld from public view. Other Support Options ===================== If your organization requires more immediate attention, ISC offers paid support options. Please see http://www.isc.org/services/support for more information. If paid support is not an option, please consider making a donation to ISC. We don't require a donation -- we will work on your report just as quickly whether or not you can donate -- but we always need and welcome community support. See http://www.isc.org/donate/ Run a Supported Version ======================= If you are not running a supported version of our software, please upgrade. Bug reports against unsupported versions of BIND are discouraged, as your issue may have already been addressed. You can find the latest versions of our software here: https://www.isc.org/downloads/ For configuration help... ========================= Questions regarding configuration or setup are addressed on mailing lists - to subscribe, visit: https://lists.isc.org/mailman/listinfo/bind-users or https://lists.isc.org/mailman/listinfo/dhcp-users Thank you, dhcp-confidential@isc.org --------------------------------------------------------------------- Bug Report from www.isc.org: Name: Greg Rabil Email: greg.rabil@bt.com Software Version: DHCP 4.4.1 OS: Linux Subject:Dynamic DNS updates are done via TCP instead of UDP Bug Detail =========== In DHCP 4.3, all dynamic DNS updates are performed using UDP. In DHCP 4.4, that behavior has changed to use TCP. As far as I can tell, this change was not intentional, and instead is a bug caused by changes in the BIND library. In both DHCP 4.3 and 4.4, the common/dns.c source file contains a macro that maps ddns_update to dns_client_startupdate. When the ddns_modify_fwd function calls ddns_update (dns_client_startupdate), it passes DNS_CLIENTRESOPT_ALLOWRUN as the eight argument. The bind/include/dns/client.h file defines DNS_CLIENTRESOPT_ALLOWRUN as 0x02. The problem stems from the change in the implementation of the dns_client_startupdate function between the bind-9.9.11 package in DHCP 4.3 and the bind-9.11.2-p1 package in DHCP 4.4. Specifically, in bind-9.9.11, the implementation of dns_client_startupdate in lib/dns/client.c references the eight parameter (options) only in this line: UNUSED(options); However, in bind-9.11-2-p1, the implementation includes the line above, as well as this line: want_tcp = ISC_TF((options & DNS_CLIENTUPDOPT_TCP) != 0); Note that lib/dns/include/dns/client.h defines DNS_CLIENTUPDOPT_TCP as 0x02, which then sets the 'want_tcp' boolean to true. Since the caller (client.c in DHCP source code) is intending to set DNS_CLIENTRESOPT_ALLOWRUN flag via the options parameter, but not the DNS_CLIENTUPDOPT_TCP flag, this is the source of the problem, and a change in behavior with respect to the DDNS updates using UDP in DHCP 4.3 but TCP in DHCP 4.4. --- This email was received through isc.org Bug Submission Form