Skip to content

Commit 47dc619

Browse files
committed
Upgrade several dependencies to latest version
These are all nominally incompatible changes. The only one requiring code changes is etherparse.
1 parent 97a5942 commit 47dc619

File tree

3 files changed

+48
-67
lines changed

3 files changed

+48
-67
lines changed

Cargo.lock

Lines changed: 34 additions & 54 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

Cargo.toml

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -55,24 +55,24 @@ serde = { version = "1.0.159", features = ["derive"] }
5555
async-std = "1.12.0"
5656
async-trait = "0.1.57"
5757
chrono = { version = "0.4.22", default-features = false, features = ["std"] }
58-
chrono-tz = { version = "0.8.2", features = ["serde"], optional = true }
58+
chrono-tz = { version = "0.10.0", features = ["serde"], optional = true }
5959
clap = { version = "4.0.10", features = ["derive"] }
60-
env_logger = "0.10.0"
61-
etherparse = { version = "0.13.0", optional = true }
60+
env_logger = "0.11.5"
61+
etherparse = { version = "0.16.0", optional = true }
6262
futures = "0.3.28"
63-
influxdb2 = { version = "0.4.0", default-features = false, features = ["rustls"], optional = true }
63+
influxdb2 = { version = "0.5.2", default-features = false, features = ["rustls"], optional = true }
6464
log = "0.4.17"
6565
modbus-robust = { version = "0.1.0", optional = true }
6666
mqtt-async-client = { version = "0.3.1", optional = true }
67-
pcap = { version = "1.0.0", features = ["capture-stream"], optional = true }
67+
pcap = { version = "2.2.0", features = ["capture-stream"], optional = true }
6868
phf = { version = "0.11.2", default-features = false }
6969
serde = { version = "1.0.159", features = ["derive"] }
7070
serde_json = { version = "1.0.95", optional = true }
7171
serde_with = { version = "3.2.0", optional = true }
7272
tokio = { version = "1.21.2", features = ["macros", "rt"] }
7373
tokio-modbus = { version = "0.9.0", default-features = false, features = ["rtu", "tcp"], optional = true }
7474
tokio-serial = { version = "5.4.4", optional = true }
75-
toml = "0.7.3"
75+
toml = "0.8.19"
7676

7777
[dev-dependencies]
7878
assert_approx_eq = "1.1.0"

src/pcap.rs

Lines changed: 8 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,7 @@
1717
use chrono::{DateTime, LocalResult, NaiveDate};
1818
use chrono_tz::Tz;
1919
use etherparse::SlicedPacket;
20+
use etherparse::TransportSlice::Tcp;
2021
use futures::prelude::*;
2122
use log::{error, info};
2223
use pcap::{Capture, Device, Packet, PacketCodec};
@@ -77,14 +78,14 @@ fn parse_timestamp(payload: &[u8], tz: Tz) -> Option<DateTime<Tz>> {
7778

7879
impl Codec {
7980
fn decode_data(&self, packet_data: &[u8]) -> Option<Arc<Update<'static>>> {
80-
if let Ok(sliced) = SlicedPacket::from_ethernet(packet_data) {
81-
if let Some(field_table) = FIELDS.get(&sliced.payload.len()) {
82-
if sliced.payload[0] != MAGIC_HEADER {
81+
if let Tcp(transport) = SlicedPacket::from_ethernet(packet_data).ok()?.transport? {
82+
let payload = transport.payload();
83+
if let Some(field_table) = FIELDS.get(&payload.len()) {
84+
if payload[0] != MAGIC_HEADER {
8385
return None;
8486
}
85-
let dt = parse_timestamp(sliced.payload, self.tz)?;
86-
let serial =
87-
std::str::from_utf8(&sliced.payload[SERIAL_RANGE]).unwrap_or("unknown");
87+
let dt = parse_timestamp(payload, self.tz)?;
88+
let serial = std::str::from_utf8(&payload[SERIAL_RANGE]).unwrap_or("unknown");
8889
info!(
8990
"Received packet with timestamp {:?} for inverter {}",
9091
dt, serial
@@ -93,7 +94,7 @@ impl Codec {
9394
for (&offsets, field) in field_table.offsets.iter().zip(field_table.fields.iter()) {
9495
let value = if !offsets.is_empty() {
9596
let parts = offsets.iter().cloned().map(|offset| {
96-
let bytes = &sliced.payload[offset..offset + 2];
97+
let bytes = &payload[offset..offset + 2];
9798
let bytes = <&[u8; 2]>::try_from(bytes).unwrap();
9899
u16::from_be_bytes(*bytes)
99100
});

0 commit comments

Comments
 (0)