diff options
author | Bas van Sisseren <bas@quarantainenet.nl> | 2013-06-03 15:11:49 +0200 |
---|---|---|
committer | Jan Kiszka <jan.kiszka@siemens.com> | 2013-06-19 12:44:38 +0200 |
commit | 68756ba8be2127b6ea30a466af9f78a5c97bc15f (patch) | |
tree | e149482469b82d471b74c92d36fcefe3d9175584 /net | |
parent | c1990468d5a13c8f1d9111fcca0a78a6adad062b (diff) | |
download | qemu-68756ba8be2127b6ea30a466af9f78a5c97bc15f.zip qemu-68756ba8be2127b6ea30a466af9f78a5c97bc15f.tar.gz qemu-68756ba8be2127b6ea30a466af9f78a5c97bc15f.tar.bz2 |
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: Bas van Sisseren <bas@quarantainenet.nl>
Signed-off-by: Jan Kiszka <jan.kiszka@siemens.com>
Diffstat (limited to 'net')
-rw-r--r-- | net/slirp.c | 12 |
1 files changed, 6 insertions, 6 deletions
diff --git a/net/slirp.c b/net/slirp.c index b3f35d5..124e953 100644 --- a/net/slirp.c +++ b/net/slirp.c @@ -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; } |