Commit 68756ba8 authored by Bas van Sisseren's avatar Bas van Sisseren Committed by Jan Kiszka
Browse files

fix -net user checks by reordering checks



reorder slirp config options. first check the dns-server-address,
then check the first-dhcp-address. the original code was comparing
the first-dhcp-address with the default dns-server-address, not
the configured dns-server-address.

Signed-off-by: default avatarBas van Sisseren <bas@quarantainenet.nl>
Signed-off-by: default avatarJan Kiszka <jan.kiszka@siemens.com>
parent c1990468
Loading
Loading
Loading
Loading
+6 −6
Original line number Diff line number Diff line
@@ -212,19 +212,19 @@ static int net_slirp_init(NetClientState *peer, const char *model,
        return -1;
    }

    if (vdhcp_start && !inet_aton(vdhcp_start, &dhcp)) {
    if (vnameserver && !inet_aton(vnameserver, &dns)) {
        return -1;
    }
    if ((dhcp.s_addr & mask.s_addr) != net.s_addr ||
        dhcp.s_addr == host.s_addr || dhcp.s_addr == dns.s_addr) {
    if ((dns.s_addr & mask.s_addr) != net.s_addr ||
        dns.s_addr == host.s_addr) {
        return -1;
    }

    if (vnameserver && !inet_aton(vnameserver, &dns)) {
    if (vdhcp_start && !inet_aton(vdhcp_start, &dhcp)) {
        return -1;
    }
    if ((dns.s_addr & mask.s_addr) != net.s_addr ||
        dns.s_addr == host.s_addr) {
    if ((dhcp.s_addr & mask.s_addr) != net.s_addr ||
        dhcp.s_addr == host.s_addr || dhcp.s_addr == dns.s_addr) {
        return -1;
    }