Opened 4 years ago

Closed 4 years ago

#12235 closed bug (duplicate)

DHCP OPTION_SERVER_ADDRESS corruption leading to broken DHCP

Reported by: kallisti5 Owned by: zooey
Priority: critical Milestone: Unscheduled
Component: Network & Internet/IPv4 Version: R1/Development
Keywords: DHCP Cc:
Blocked By: #12208 Blocking:
Has a Patch: no Platform: x86-64

Description

http://cgit.haiku-os.org/haiku/tree/src/servers/net/DHCPClient.cpp#n765

The Option Server Address is corrupted on x86_64 resulting in broken DHCPClient functionality.

Not enough time to fix, opening for tracking purposes.

Attachments (2)

1.png (191.2 KB ) - added by kallisti5 4 years ago.
2.png (210.8 KB ) - added by kallisti5 4 years ago.

Download all attachments as: .zip

Change History (6)

by kallisti5, 4 years ago

Attachment: 1.png added

by kallisti5, 4 years ago

Attachment: 2.png added

comment:1 by waddlesplash, 4 years ago

Can you attach a debugger to the net_server and dump the contents of data right there?

comment:2 by kallisti5, 4 years ago

(screenshot 2 shows DHCP Server ID as 55.0.0.0 which isn't 192.168.1.1. My syslogs show server address as the correct 192.168.1.1.

We're casting data (uint8) to in_addr_t to BNetworkAddress (fServer.SetAddress)

http://xref.plausible.coop/source/xref/haiku/headers/posix/netinet/in.h#23 http://xref.plausible.coop/source/xref/haiku/headers/posix/netinet/in.h#82

os/net/NetworkAddress.h: status_t SetAddress(in_addr_t address); os/net/NetworkAddress.h: status_t SetAddress(const in6_addr& address); os/net/NetworkInterface.h: void SetAddress(const BNetworkAddress& address); os/net/NetworkInterface.h: status_t SetAddress(

comment:3 by kallisti5, 4 years ago

duplicate of #12208 :-) However this outlines the details of what's going on

comment:4 by diver, 4 years ago

Blocked By: 12208 added
Resolution: duplicate
Status: newclosed
Note: See TracTickets for help on using tickets.