• Brian Carlstrom's avatar
    DNS Proxy should not hang on addresses containing null bytes · 0475ae98
    Brian Carlstrom authored
    Two bugs here:
    
    1.) The gethostbyaddr netd protocol was passing a binary address value
        but the arguments are expected to be strings not containing
        embedded nulls (or probably other special characters). This
        happened reliably with IPv6 addresses which contained nulls. It
        now expects an inet_ntop formatted address.
    
    2.) Although the gethostbyaddr code detected something was wrong, it
        wasn't doing any proper error handling, leaving clients hanging
        waiting for a response. It now sends back an empty response so
        that clients can continue.
    
    A corresponding change will be necesssary in bionic for #1 for DNS
    proxying to work, but given the fix for #2, the existing bionic code
    will fall back to performing its own gethostbyaddr call.
    
    Bug: 4344448
    Change-Id: I2d03bfec0093c67e8052717c0f499f8871bcfb85
    0475ae98