netutils: fix missing parameter list in DHCPDISCOVER
This commit is contained in:
parent
0a46e6f57c
commit
8db05f304e
@ -53,7 +53,7 @@ enum DhcpOption {
|
||||
SubnetMask(u32),
|
||||
Router(Ipv4Addr),
|
||||
ServerId(Ipv4Addr),
|
||||
// ParameterRequestList(Vec<u8>),
|
||||
ParameterRequestList(Vec<u8>),
|
||||
RequestedAddress(Ipv4Addr),
|
||||
}
|
||||
|
||||
@ -117,7 +117,10 @@ impl DhcpOption {
|
||||
Self::MessageType(ty) => {
|
||||
buffer.extend_from_slice(&[53, 0x01, (*ty).into()]);
|
||||
}
|
||||
// Self::ParameterRequestList(list) => todo!(),
|
||||
Self::ParameterRequestList(list) => {
|
||||
buffer.extend_from_slice(&[55, list.len() as u8]);
|
||||
buffer.extend_from_slice(list);
|
||||
}
|
||||
Self::RequestedAddress(addr) => {
|
||||
buffer.extend_from_slice(&[50, 0x04]);
|
||||
buffer.extend_from_slice(&u32::from(*addr).to_be_bytes());
|
||||
@ -469,7 +472,11 @@ fn attempt_request(
|
||||
cookie: 0x63825363u32.to_be(),
|
||||
..DhcpMessageHeader::zeroed()
|
||||
},
|
||||
options: vec![DhcpOption::MessageType(DhcpMessageType::Discover)],
|
||||
options: vec![
|
||||
DhcpOption::MessageType(DhcpMessageType::Discover),
|
||||
// Request subnet mask and router
|
||||
DhcpOption::ParameterRequestList(vec![0x01, 0x03]),
|
||||
],
|
||||
};
|
||||
message.header.chaddr[..6].copy_from_slice(&iface_mac_bytes);
|
||||
let data = message.to_vec();
|
||||
|
Loading…
x
Reference in New Issue
Block a user