aboutsummaryrefslogtreecommitdiff
path: root/net
diff options
context:
space:
mode:
authorBas van Sisseren <bas@quarantainenet.nl>2013-06-03 15:11:49 +0200
committerJan Kiszka <jan.kiszka@siemens.com>2013-06-19 12:44:38 +0200
commit68756ba8be2127b6ea30a466af9f78a5c97bc15f (patch)
treee149482469b82d471b74c92d36fcefe3d9175584 /net
parentc1990468d5a13c8f1d9111fcca0a78a6adad062b (diff)
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.c12
1 files changed, 6 insertions, 6 deletions
diff --git a/net/slirp.c b/net/slirp.c
index b3f35d5861..124e953d9c 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;
}