Skip to content

Commit 4947a50

Browse files
author
Ruslan Iusupov
committed
update etherparse
1 parent 3e2f227 commit 4947a50

File tree

5 files changed

+97
-33
lines changed

5 files changed

+97
-33
lines changed

Cargo.lock

+82-17
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

Cargo.toml

+3-3
Original file line numberDiff line numberDiff line change
@@ -11,10 +11,10 @@ readme = "README.md"
1111
exclude = [".*", "rustfmt.toml"]
1212

1313
[dependencies]
14-
etherparse = "0.13.0"
15-
indexmap = "2.2.6"
14+
etherparse = "0.16.0"
15+
indexmap = "2.6.0"
1616

1717
[dev-dependencies]
18-
httparse = "1.9.4"
18+
httparse = "1.9.5"
1919
rand = "0.8.5"
2020
rpcap = "1.0.0"

examples/extract_http.rs

+1-1
Original file line numberDiff line numberDiff line change
@@ -44,7 +44,7 @@ fn parse_packet<'a>(captured_packet: &'a CapturedPacket<'a>) -> Option<(Ipv4Head
4444
eprintln!("Cannot parse IPv4 header");
4545
return None;
4646
};
47-
if ipv4_header_slice.protocol() != IpNumber::Tcp as u8 {
47+
if ipv4_header_slice.protocol() != IpNumber::TCP {
4848
return None;
4949
}
5050
let ipv4_header_size = ipv4_header_slice.slice().len();

src/pcap_tcp_assembler.rs

+4-5
Original file line numberDiff line numberDiff line change
@@ -176,11 +176,10 @@ impl<'a> PcapTcpAssembler<'a> {
176176
/* trace */ Option<&str>,
177177
),
178178
) {
179-
// TODO: Adapt to etherparse 0.15.0
180-
// let Ok(ip_payload_len) = ipv4_header_slice.payload_len() else {
181-
// return;
182-
// };
183-
let tcp_segment_size: u32 = ipv4_header_slice.payload_len() as u32 - tcp_header_slice.data_offset() as u32 * 4;
179+
let Ok(ip_payload_len) = ipv4_header_slice.payload_len() else {
180+
return;
181+
};
182+
let tcp_segment_size: u32 = ip_payload_len as u32 - tcp_header_slice.data_offset() as u32 * 4;
184183
let with_payload =
185184
tcp_segment_size > 0 && (tcp_payload.len() as u32) >= tcp_segment_size && !tcp_header_slice.syn() && !tcp_header_slice.rst();
186185

tests/integration_test.rs

+7-7
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@ fn generate_headers_buffers(sequence_number: u32, tcp_payload: &[u8]) -> (Vec<u8
2121
tcp_header_buf.extend_from_slice(&tcp_payload);
2222

2323
let mut ipv4_header_buf = BufWriter::new(Vec::new());
24-
let ipv4_header = Ipv4Header::new(tcp_header_buf.len() as u16, 64, IpNumber::Tcp as u8, [192, 168, 1, 1], [192, 168, 1, 2]);
24+
let ipv4_header = Ipv4Header::new(tcp_header_buf.len() as u16, 64, IpNumber::TCP, [192, 168, 1, 1], [192, 168, 1, 2]).unwrap();
2525
ipv4_header.write(&mut ipv4_header_buf).unwrap();
2626
let ipv4_header_buf = ipv4_header_buf.into_inner().unwrap();
2727

@@ -753,7 +753,7 @@ fn test_flags_rst() {
753753
let tcp_header_slice1 = TcpHeaderSlice::from_slice(&tcp_header_buf1).unwrap();
754754

755755
let mut ipv4_header_buf1 = BufWriter::new(Vec::new());
756-
let ipv4_header1 = Ipv4Header::new(tcp_header_buf1.len() as u16, 64, IpNumber::Tcp as u8, [192, 168, 1, 1], [192, 168, 1, 2]);
756+
let ipv4_header1 = Ipv4Header::new(tcp_header_buf1.len() as u16, 64, IpNumber::TCP, [192, 168, 1, 1], [192, 168, 1, 2]).unwrap();
757757
ipv4_header1.write(&mut ipv4_header_buf1).unwrap();
758758
let ipv4_header_buf1 = ipv4_header_buf1.into_inner().unwrap();
759759
let ipv4_header_slice1 = Ipv4HeaderSlice::from_slice(&ipv4_header_buf1).unwrap();
@@ -786,7 +786,7 @@ fn test_flags_rst() {
786786
let tcp_header_slice2 = TcpHeaderSlice::from_slice(&tcp_header_buf2).unwrap();
787787

788788
let mut ipv4_header_buf2 = BufWriter::new(Vec::new());
789-
let ipv4_header2 = Ipv4Header::new(tcp_header_buf2.len() as u16, 64, IpNumber::Tcp as u8, [192, 168, 1, 2], [192, 168, 1, 1]);
789+
let ipv4_header2 = Ipv4Header::new(tcp_header_buf2.len() as u16, 64, IpNumber::TCP, [192, 168, 1, 2], [192, 168, 1, 1]).unwrap();
790790
ipv4_header2.write(&mut ipv4_header_buf2).unwrap();
791791
let ipv4_header_buf2 = ipv4_header_buf2.into_inner().unwrap();
792792
let ipv4_header_slice2 = Ipv4HeaderSlice::from_slice(&ipv4_header_buf2).unwrap();
@@ -882,7 +882,7 @@ fn test_flags_syn() {
882882
let tcp_header_slice1 = TcpHeaderSlice::from_slice(&tcp_header_buf1).unwrap();
883883

884884
let mut ipv4_header_buf1 = BufWriter::new(Vec::new());
885-
let ipv4_header1 = Ipv4Header::new(tcp_header_buf1.len() as u16, 64, IpNumber::Tcp as u8, [192, 168, 1, 1], [192, 168, 1, 2]);
885+
let ipv4_header1 = Ipv4Header::new(tcp_header_buf1.len() as u16, 64, IpNumber::TCP, [192, 168, 1, 1], [192, 168, 1, 2]).unwrap();
886886
ipv4_header1.write(&mut ipv4_header_buf1).unwrap();
887887
let ipv4_header_buf1 = ipv4_header_buf1.into_inner().unwrap();
888888
let ipv4_header_slice1 = Ipv4HeaderSlice::from_slice(&ipv4_header_buf1).unwrap();
@@ -915,7 +915,7 @@ fn test_flags_syn() {
915915
let tcp_header_slice2 = TcpHeaderSlice::from_slice(&tcp_header_buf2).unwrap();
916916

917917
let mut ipv4_header_buf2 = BufWriter::new(Vec::new());
918-
let ipv4_header2 = Ipv4Header::new(tcp_header_buf2.len() as u16, 64, IpNumber::Tcp as u8, [192, 168, 1, 2], [192, 168, 1, 1]);
918+
let ipv4_header2 = Ipv4Header::new(tcp_header_buf2.len() as u16, 64, IpNumber::TCP, [192, 168, 1, 2], [192, 168, 1, 1]).unwrap();
919919
ipv4_header2.write(&mut ipv4_header_buf2).unwrap();
920920
let ipv4_header_buf2 = ipv4_header_buf2.into_inner().unwrap();
921921
let ipv4_header_slice2 = Ipv4HeaderSlice::from_slice(&ipv4_header_buf2).unwrap();
@@ -1011,7 +1011,7 @@ fn test_flags_fin() {
10111011
let tcp_header_slice1 = TcpHeaderSlice::from_slice(&tcp_header_buf1).unwrap();
10121012

10131013
let mut ipv4_header_buf1 = BufWriter::new(Vec::new());
1014-
let ipv4_header1 = Ipv4Header::new(tcp_header_buf1.len() as u16, 64, IpNumber::Tcp as u8, [192, 168, 1, 1], [192, 168, 1, 2]);
1014+
let ipv4_header1 = Ipv4Header::new(tcp_header_buf1.len() as u16, 64, IpNumber::TCP, [192, 168, 1, 1], [192, 168, 1, 2]).unwrap();
10151015
ipv4_header1.write(&mut ipv4_header_buf1).unwrap();
10161016
let ipv4_header_buf1 = ipv4_header_buf1.into_inner().unwrap();
10171017
let ipv4_header_slice1 = Ipv4HeaderSlice::from_slice(&ipv4_header_buf1).unwrap();
@@ -1044,7 +1044,7 @@ fn test_flags_fin() {
10441044
let tcp_header_slice2 = TcpHeaderSlice::from_slice(&tcp_header_buf2).unwrap();
10451045

10461046
let mut ipv4_header_buf2 = BufWriter::new(Vec::new());
1047-
let ipv4_header2 = Ipv4Header::new(tcp_header_buf2.len() as u16, 64, IpNumber::Tcp as u8, [192, 168, 1, 2], [192, 168, 1, 1]);
1047+
let ipv4_header2 = Ipv4Header::new(tcp_header_buf2.len() as u16, 64, IpNumber::TCP, [192, 168, 1, 2], [192, 168, 1, 1]).unwrap();
10481048
ipv4_header2.write(&mut ipv4_header_buf2).unwrap();
10491049
let ipv4_header_buf2 = ipv4_header_buf2.into_inner().unwrap();
10501050
let ipv4_header_slice2 = Ipv4HeaderSlice::from_slice(&ipv4_header_buf2).unwrap();

0 commit comments

Comments
 (0)