mirror of
https://github.com/xemu-project/xemu.git
synced 2025-02-08 05:07:39 +00:00
give a new address at DHCPREQUEST too (useful if the OS remembers its IP address
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@1081 c046a42c-6fe2-441c-8c8c-71466251a162
This commit is contained in:
parent
4a4883b84d
commit
d981b88344
@ -150,6 +150,7 @@ static void bootp_reply(struct bootp_t *bp)
|
||||
memset(rbp, 0, sizeof(struct bootp_t));
|
||||
|
||||
if (dhcp_msg_type == DHCPDISCOVER) {
|
||||
new_addr:
|
||||
bc = get_new_addr(&daddr.sin_addr);
|
||||
if (!bc) {
|
||||
dprintf("no address left\n");
|
||||
@ -159,8 +160,9 @@ static void bootp_reply(struct bootp_t *bp)
|
||||
} else {
|
||||
bc = find_addr(&daddr.sin_addr, bp->bp_hwaddr);
|
||||
if (!bc) {
|
||||
dprintf("no address assigned\n");
|
||||
return;
|
||||
/* if never assigned, behaves as if it was already
|
||||
assigned (windows fix because it remembers its address) */
|
||||
goto new_addr;
|
||||
}
|
||||
}
|
||||
dprintf("offered addr=%08x\n", ntohl(daddr.sin_addr.s_addr));
|
||||
|
Loading…
x
Reference in New Issue
Block a user