VirtualBox

Changeset 43641 in vbox


Ignore:
Timestamp:
Oct 15, 2012 12:58:23 PM (13 years ago)
Author:
vboxsync
svn:sync-xref-src-repo-rev:
81391
Message:

NAT: handles registration of DNS servers in 127.0.0.0/8 range.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/VBox/Devices/Network/slirp/slirp_dns.c

    r42137 r43641  
    259259            if ((pDns->de_addr.s_addr & RT_H2N_U32_C(IN_CLASSA_NET)) == RT_N2H_U32_C(INADDR_LOOPBACK & IN_CLASSA_NET))
    260260            {
    261                 pDns->de_addr.s_addr = RT_H2N_U32(RT_N2H_U32(pData->special_addr.s_addr) | CTL_ALIAS);
     261                if ((pDns->de_addr.s_addr) == RT_N2H_U32_C(INADDR_LOOPBACK))
     262                    pDns->de_addr.s_addr = RT_H2N_U32(RT_N2H_U32(pData->special_addr.s_addr) | CTL_ALIAS);
     263                else
     264                {
     265                    /* Modern Ubuntu register 127.0.1.1 as DNS server */
     266                    LogRel(("NAT: DNS server %RTnaipv4 registration detected switching to host resolver case forcebly.\n",
     267                            pDns->de_addr.s_addr));
     268                    RTMemFree(pDns);
     269                    /* Releasing fetched DNS information. */
     270                    slirpReleaseDnsSettings(pData);
     271                    pData->fUseHostResolver = 1;
     272                    return VINF_SUCCESS;
     273                }
    262274            }
    263275            TAILQ_INSERT_HEAD(&pData->pDnsList, pDns, de_list);
Note: See TracChangeset for help on using the changeset viewer.

© 2025 Oracle Support Privacy / Do Not Sell My Info Terms of Use Trademark Policy Automated Access Etiquette