BIND 10 #2841: deal with inet_pton that doesn't recognize AF_INET6

BIND 10 Development do-not-reply at isc.org
Tue Mar 12 16:58:05 UTC 2013


#2841: deal with inet_pton that doesn't recognize AF_INET6
-------------------------------------+-------------------------------------
            Reporter:  jinmei        |                        Owner:
                Type:  defect        |  UnAssigned
            Priority:  medium        |                       Status:  new
           Component:  build system  |                    Milestone:  Next-
            Keywords:                |  Sprint-Proposed
           Sensitive:  0             |                   Resolution:
         Sub-Project:  DNS           |                 CVSS Scoring:
Estimated Difficulty:  0             |              Defect Severity:
         Total Hours:  0             |  Medium
                                     |  Feature Depending on Ticket:
                                     |          Add Hours to Ticket:  0
                                     |                    Internal?:  0
-------------------------------------+-------------------------------------
Description changed by jinmei:

Old description:

> I've received a feedback from a user who tried to build and used BIND 10.
> The OS is CentOS6 (reportedly), disables IPv6 in the kernel, and
> apparently its inet_pton doesn't recognize AF_INET6 (not sure it's
> related to the kernel support of IPv6; API-wise it should be
> independent).
>
> This caused at least two known issues:
>
> - some test data (generated by src/lib/util/python/gen_wiredata.py)
>   can't be generated because the genetator script fails to create AAAA
>   rdata.
> - b10-resolver (and I suspect b10-auth also) failed to start up
>   because its default config has ::1/53 for listen_on, which is
>   considered a syntax error.
>
> I'm not sure whether we want to help such environment; it seems to me
> inet_pton that doesn't recognize AF_INET6 is so broken and wouldn't
> worth introducing another layer of complexity in our code.  But if
> such a deployment is actually not so uncommon, we may have to do
> something in our side.
>
> Based on discussions at the Mar12 2003 team call, specific suggestion
> is:
> - Do #2842 (this will "hide" the first problem for most ordinary users)
> - Document the second issue with workaround somewhere
>
> Regarding the second (the main task of this ticket), my suggestion is
> to update the description of SRVCOMM_EXCEPTION_ALLOC log message which
> currently reads:
> {{{
> The process tried to allocate a socket using the socket creator, but an
> error
> occurred. But it is not one of the errors we are sure are "safe". In this
> case
> it is unclear if the unsuccessful communication left the process and the
> bind10
> process in inconsistent state, so the process is going to abort to
> prevent
> further problems in that area.
>
> This is probably a bug in the code, but it could be caused by other
> unusual
> conditions (like insufficient memory, deleted socket file used for
> communication).
> }}}
> so it will mention the issue.  As a workaround we should be able to
> avoid it by editting the installed resolver/auth.spec excluding IPv6
> addresses from listen_on.  We document it there, too.  And provide
> some text in ChangeLog.

New description:

 I've received a feedback from a user who tried to build and used BIND 10.
 The OS is CentOS6 (reportedly), disables IPv6 in the kernel, and
 apparently its inet_pton doesn't recognize AF_INET6 (not sure it's
 related to the kernel support of IPv6; API-wise it should be
 independent).

 This caused at least two known issues:

 - some test data (generated by src/lib/util/python/gen_wiredata.py)
   can't be generated because the genetator script fails to create AAAA
   rdata.
 - b10-resolver (and I suspect b10-auth also) failed to start up
   because its default config has ::1/53 for listen_on, which is
   considered a syntax error.

 I'm not sure whether we want to help such environment; it seems to me
 inet_pton that doesn't recognize AF_INET6 is so broken and wouldn't
 be worth introducing another layer of complexity in our code.  But if
 such a deployment is actually not so uncommon, we may have to do
 something in our side.

 Based on discussions at the Mar12 2013 team call, specific suggestion
 is:
 - Do #2842 (this will "hide" the first problem for most ordinary users)
 - Document the second issue with workaround somewhere

 Regarding the second (the main task of this ticket), my suggestion is
 to update the description of SRVCOMM_EXCEPTION_ALLOC log message which
 currently reads:
 {{{
 The process tried to allocate a socket using the socket creator, but an
 error
 occurred. But it is not one of the errors we are sure are "safe". In this
 case
 it is unclear if the unsuccessful communication left the process and the
 bind10
 process in inconsistent state, so the process is going to abort to prevent
 further problems in that area.

 This is probably a bug in the code, but it could be caused by other
 unusual
 conditions (like insufficient memory, deleted socket file used for
 communication).
 }}}
 so it will mention the issue.  As a workaround we should be able to
 avoid it by editting the installed resolver/auth.spec excluding IPv6
 addresses from listen_on.  We document it there, too.  And provide
 some text in ChangeLog.

--

-- 
Ticket URL: <http://bind10.isc.org/ticket/2841#comment:5>
BIND 10 Development <http://bind10.isc.org>
BIND 10 Development


More information about the bind10-tickets mailing list