wire/udp: clearer HEADER_LEN usage

This commit is contained in:
Dario Nieuwenhuis 2021-05-28 17:47:02 +02:00
parent a916888ab8
commit 284f5bc834
1 changed files with 5 additions and 5 deletions

View File

@ -57,13 +57,13 @@ impl<T: AsRef<[u8]>> Packet<T> {
/// [set_len]: #method.set_len /// [set_len]: #method.set_len
pub fn check_len(&self) -> Result<()> { pub fn check_len(&self) -> Result<()> {
let buffer_len = self.buffer.as_ref().len(); let buffer_len = self.buffer.as_ref().len();
if buffer_len < field::CHECKSUM.end { if buffer_len < HEADER_LEN {
Err(Error::Truncated) Err(Error::Truncated)
} else { } else {
let field_len = self.len() as usize; let field_len = self.len() as usize;
if buffer_len < field_len { if buffer_len < field_len {
Err(Error::Truncated) Err(Error::Truncated)
} else if field_len < field::CHECKSUM.end { } else if field_len < HEADER_LEN {
Err(Error::Malformed) Err(Error::Malformed)
} else { } else {
Ok(()) Ok(())
@ -234,9 +234,9 @@ impl Repr {
}) })
} }
/// Return the length of a packet that will be emitted from this high-level representation. /// Return the length of the packet header that will be emitted from this high-level representation.
pub fn header_len(&self) -> usize { pub fn header_len(&self) -> usize {
field::CHECKSUM.end HEADER_LEN
} }
/// Emit a high-level representation into an User Datagram Protocol packet. /// Emit a high-level representation into an User Datagram Protocol packet.
@ -249,7 +249,7 @@ impl Repr {
where T: AsRef<[u8]> + AsMut<[u8]> { where T: AsRef<[u8]> + AsMut<[u8]> {
packet.set_src_port(self.src_port); packet.set_src_port(self.src_port);
packet.set_dst_port(self.dst_port); packet.set_dst_port(self.dst_port);
packet.set_len((field::CHECKSUM.end + payload_len) as u16); packet.set_len((HEADER_LEN + payload_len) as u16);
emit_payload(packet.payload_mut()); emit_payload(packet.payload_mut());
if checksum_caps.udp.tx() { if checksum_caps.udp.tx() {