• Gaetan Bisson's avatar
    libdns: Hack to skip negation term. · d4c0187d
    Gaetan Bisson authored
    * dirmngr/dns.c (dns_nssconf_loadfile): Skip negation terms in
    nsswitch.conf parser.
    --
    
    This small patch was submitted along with this comment:
    
      We've been having issues over at Arch Linux with the new libdns
      code.  Our /etc/nsswitch.conf contains the following line:
    
        hosts: files mymachines resolve [!UNAVAIL=return] dns myhostname
    
      And it turns out dirmngr fails to parse the negation statement (the
      bang in !UNAVAIL). This results in gnupg not being able to resolve
      any name.
    
      Looking at dirmngr/dns.c it was unclear to me how to properly handle
      such negations. The dns_anyconf_scan calls used in
      dns_nssconf_loadfile do not allow to store a negation bit easily...
    
      In the meantime, I wrote the attached patch which ignores those
      statements altogether. It makes libdns work as expected for us.
    
    Commit log written by wk
    d4c0187d
dns.c 257 KB