diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 1705a58..11d158d 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -19,15 +19,6 @@ jobs: run: | rustup override set stable rustup update stable - rustup component add llvm-tools-preview - - name: Install cargo-llvm-cov - uses: taiki-e/install-action@cargo-llvm-cov - - - name: Test and Generate code coverage - run: cargo llvm-cov --all-features --workspace --lcov --output-path lcov.info - - name: Upload coverage to Codecov - uses: codecov/codecov-action@v3 - with: - files: lcov.info - fail_ci_if_error: true + - name: Test + run: cargo test diff --git a/.rustfmt.toml b/.rustfmt.toml index 8415ed1..ac12122 100644 --- a/.rustfmt.toml +++ b/.rustfmt.toml @@ -1,4 +1,7 @@ max_width = 80 wrap_comments = true reorder_imports = true +format_strings = true +group_imports = "StdExternalCrate" +imports_granularity = "Crate" edition = "2021" diff --git a/Cargo.toml b/Cargo.toml index b436869..f6870c6 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -2,7 +2,7 @@ name = "netlink-packet-xfrm" version = "0.3.1" authors = ["Scott Zuk "] -edition = "2018" +edition = "2021" homepage = "https://github.com/rust-netlink/netlink-packet-xfrm" repository = "https://github.com/rust-netlink/netlink-packet-xfrm" keywords = ["netlink", "linux", "ipsec", "xfrm"] @@ -11,13 +11,10 @@ readme = "README.md" description = "netlink xfrm packet types for IPsec" [dependencies] -anyhow = "1.0.39" -byteorder = "1.4.2" -libc= "0.2.86" -netlink-packet-core = { version = "0.7.0" } -netlink-packet-utils = { version = "0.5.2" } +libc= "0.2.177" +netlink-packet-core = { version = "0.8.1" } [dev-dependencies] -lazy_static = "1.4.0" -netlink-proto = { version = "0.11.2" } -netlink-sys = { version = "0.8.4" } +lazy_static = "1.5.0" +netlink-proto = { version = "0.12" } +netlink-sys = { version = "0.8.7" } diff --git a/src/address.rs b/src/address.rs index 6819aa0..e94bacf 100644 --- a/src/address.rs +++ b/src/address.rs @@ -2,7 +2,7 @@ use std::net::{IpAddr, Ipv4Addr, Ipv6Addr}; -use netlink_packet_utils::{buffer, traits::*, DecodeError}; +use netlink_packet_core::{DecodeError, Emitable, Parseable}; pub const XFRM_ADDRESS_LEN: usize = 16; diff --git a/src/async_event_id.rs b/src/async_event_id.rs index b486cfb..a07a85d 100644 --- a/src/async_event_id.rs +++ b/src/async_event_id.rs @@ -1,16 +1,14 @@ // SPDX-License-Identifier: MIT -use anyhow::Context; - use core::ops::Range; +use netlink_packet_core::{DecodeError, Emitable, ErrorContext, Parseable}; + use crate::{ Address, AddressBuffer, UserSaId, UserSaIdBuffer, XFRM_ADDRESS_LEN, XFRM_USER_SA_ID_LEN, }; -use netlink_packet_utils::{buffer, traits::*, DecodeError}; - #[derive(Debug, Clone, Copy, Eq, PartialEq, Default)] pub struct AsyncEventId { pub sa_id: UserSaId, diff --git a/src/buffer.rs b/src/buffer.rs index f45de21..a7d66bd 100644 --- a/src/buffer.rs +++ b/src/buffer.rs @@ -1,6 +1,8 @@ // SPDX-License-Identifier: MIT -use anyhow::Context; +use netlink_packet_core::{ + DecodeError, ErrorContext, Parseable, ParseableParametrized, +}; use crate::{ constants::*, @@ -35,8 +37,6 @@ use crate::{ XfrmMessage, }; -use netlink_packet_utils::{traits::*, DecodeError}; - pub struct XfrmBuffer { buffer: T, } @@ -61,7 +61,7 @@ impl<'a, T: AsRef<[u8]> + ?Sized> XfrmBuffer<&'a T> { } } -impl<'a, T: AsRef<[u8]> + AsMut<[u8]> + ?Sized> XfrmBuffer<&'a mut T> { +impl + AsMut<[u8]> + ?Sized> XfrmBuffer<&mut T> { pub fn inner_mut(&mut self) -> &mut [u8] { self.buffer.as_mut() } diff --git a/src/id.rs b/src/id.rs index 273c061..2099b94 100644 --- a/src/id.rs +++ b/src/id.rs @@ -1,11 +1,9 @@ // SPDX-License-Identifier: MIT -use anyhow::Context; +use netlink_packet_core::{DecodeError, Emitable, ErrorContext, Parseable}; use crate::{Address, AddressBuffer, XFRM_ADDRESS_LEN}; -use netlink_packet_utils::{buffer, traits::*, DecodeError}; - #[derive(Debug, Clone, Copy, Eq, PartialEq, Default)] pub struct Id { pub daddr: Address, diff --git a/src/lib.rs b/src/lib.rs index 853a9da..c7e41b1 100644 --- a/src/lib.rs +++ b/src/lib.rs @@ -73,6 +73,9 @@ pub use user_sa_info::*; pub mod user_spi_info; pub use user_spi_info::*; +#[macro_use] +extern crate netlink_packet_core; + #[cfg(test)] mod tests; #[cfg(test)] diff --git a/src/lifetime.rs b/src/lifetime.rs index 2761084..be2577f 100644 --- a/src/lifetime.rs +++ b/src/lifetime.rs @@ -1,8 +1,8 @@ // SPDX-License-Identifier: MIT -use crate::XFRM_INF; +use netlink_packet_core::{DecodeError, Emitable, Parseable}; -use netlink_packet_utils::{buffer, traits::*, DecodeError}; +use crate::XFRM_INF; // Lifetime config diff --git a/src/message.rs b/src/message.rs index f898f31..f17a6f6 100644 --- a/src/message.rs +++ b/src/message.rs @@ -1,5 +1,10 @@ // SPDX-License-Identifier: MIT +use netlink_packet_core::{ + DecodeError, Emitable, NetlinkDeserializable, NetlinkHeader, + NetlinkPayload, NetlinkSerializable, ParseableParametrized, +}; + use crate::{ constants::*, monitor::{ @@ -20,11 +25,6 @@ use crate::{ XfrmBuffer, }; -use netlink_packet_core::{ - NetlinkDeserializable, NetlinkHeader, NetlinkPayload, NetlinkSerializable, -}; -use netlink_packet_utils::{traits::*, DecodeError}; - #[derive(Debug, PartialEq, Eq, Clone)] pub enum XfrmMessage { AddPolicy(PolicyModifyMessage), diff --git a/src/monitor/acquire/buffer.rs b/src/monitor/acquire/buffer.rs index 99e7040..62a1ff6 100644 --- a/src/monitor/acquire/buffer.rs +++ b/src/monitor/acquire/buffer.rs @@ -1,12 +1,8 @@ // SPDX-License-Identifier: MIT -use crate::XFRM_USER_ACQUIRE_LEN; +use netlink_packet_core::{DecodeError, NlaBuffer, NlasIterator}; -use netlink_packet_utils::{ - buffer, - nla::{NlaBuffer, NlasIterator}, - DecodeError, -}; +use crate::XFRM_USER_ACQUIRE_LEN; pub const MONITOR_ACQUIRE_HEADER_LEN: usize = XFRM_USER_ACQUIRE_LEN; diff --git a/src/monitor/acquire/message.rs b/src/monitor/acquire/message.rs index 284ab0f..9d47edd 100644 --- a/src/monitor/acquire/message.rs +++ b/src/monitor/acquire/message.rs @@ -1,11 +1,9 @@ // SPDX-License-Identifier: MIT -use anyhow::Context; +use netlink_packet_core::{DecodeError, Emitable, ErrorContext, Parseable}; use crate::{AcquireMessageBuffer, UserAcquire, UserAcquireBuffer, XfrmAttrs}; -use netlink_packet_utils::{traits::*, DecodeError}; - #[derive(Debug, PartialEq, Eq, Clone, Default)] pub struct AcquireMessage { pub acquire: UserAcquire, diff --git a/src/monitor/expire/buffer.rs b/src/monitor/expire/buffer.rs index f438ce5..1a6b8bd 100644 --- a/src/monitor/expire/buffer.rs +++ b/src/monitor/expire/buffer.rs @@ -1,8 +1,8 @@ // SPDX-License-Identifier: MIT -use crate::XFRM_USER_EXPIRE_LEN; +use netlink_packet_core::buffer; -use netlink_packet_utils::{buffer, DecodeError}; +use crate::XFRM_USER_EXPIRE_LEN; pub const MONITOR_EXPIRE_HEADER_LEN: usize = XFRM_USER_EXPIRE_LEN; diff --git a/src/monitor/expire/message.rs b/src/monitor/expire/message.rs index dd74248..96f4d27 100644 --- a/src/monitor/expire/message.rs +++ b/src/monitor/expire/message.rs @@ -1,11 +1,9 @@ // SPDX-License-Identifier: MIT -use anyhow::Context; +use netlink_packet_core::{DecodeError, Emitable, ErrorContext, Parseable}; use crate::{ExpireMessageBuffer, UserExpire, UserExpireBuffer}; -use netlink_packet_utils::{traits::*, DecodeError}; - #[derive(Debug, PartialEq, Eq, Clone, Default)] pub struct ExpireMessage { pub expire: UserExpire, diff --git a/src/monitor/get_async_event/buffer.rs b/src/monitor/get_async_event/buffer.rs index 11a891a..c3b28e1 100644 --- a/src/monitor/get_async_event/buffer.rs +++ b/src/monitor/get_async_event/buffer.rs @@ -1,8 +1,8 @@ // SPDX-License-Identifier: MIT -use crate::XFRM_ASYNC_EVENT_ID_LEN; +use netlink_packet_core::buffer; -use netlink_packet_utils::{buffer, DecodeError}; +use crate::XFRM_ASYNC_EVENT_ID_LEN; pub const MONITOR_GET_ASYNC_EVENT_HEADER_LEN: usize = XFRM_ASYNC_EVENT_ID_LEN; diff --git a/src/monitor/get_async_event/message.rs b/src/monitor/get_async_event/message.rs index 2a37b77..02e0826 100644 --- a/src/monitor/get_async_event/message.rs +++ b/src/monitor/get_async_event/message.rs @@ -1,11 +1,9 @@ // SPDX-License-Identifier: MIT -use anyhow::Context; +use netlink_packet_core::{DecodeError, Emitable, ErrorContext, Parseable}; use crate::{AsyncEventId, AsyncEventIdBuffer, GetAsyncEventMessageBuffer}; -use netlink_packet_utils::{traits::*, DecodeError}; - #[derive(Debug, PartialEq, Eq, Clone, Default)] pub struct GetAsyncEventMessage { pub id: AsyncEventId, diff --git a/src/monitor/mapping/buffer.rs b/src/monitor/mapping/buffer.rs index 229e7da..539f42f 100644 --- a/src/monitor/mapping/buffer.rs +++ b/src/monitor/mapping/buffer.rs @@ -1,8 +1,8 @@ // SPDX-License-Identifier: MIT -use crate::XFRM_USER_MAPPING_LEN; +use netlink_packet_core::buffer; -use netlink_packet_utils::{buffer, DecodeError}; +use crate::XFRM_USER_MAPPING_LEN; pub const MONITOR_MAPPING_HEADER_LEN: usize = XFRM_USER_MAPPING_LEN; diff --git a/src/monitor/mapping/message.rs b/src/monitor/mapping/message.rs index 339788a..7edb108 100644 --- a/src/monitor/mapping/message.rs +++ b/src/monitor/mapping/message.rs @@ -1,11 +1,9 @@ // SPDX-License-Identifier: MIT -use anyhow::Context; +use netlink_packet_core::{DecodeError, Emitable, ErrorContext, Parseable}; use crate::{MappingMessageBuffer, UserMapping, UserMappingBuffer}; -use netlink_packet_utils::{traits::*, DecodeError}; - #[derive(Debug, PartialEq, Eq, Clone, Default)] pub struct MappingMessage { pub map: UserMapping, diff --git a/src/monitor/migrate/buffer.rs b/src/monitor/migrate/buffer.rs index 7d7e6cf..214cd98 100644 --- a/src/monitor/migrate/buffer.rs +++ b/src/monitor/migrate/buffer.rs @@ -1,12 +1,8 @@ // SPDX-License-Identifier: MIT -use crate::XFRM_USER_POLICY_ID_LEN; +use netlink_packet_core::{DecodeError, NlaBuffer, NlasIterator}; -use netlink_packet_utils::{ - buffer, - nla::{NlaBuffer, NlasIterator}, - DecodeError, -}; +use crate::XFRM_USER_POLICY_ID_LEN; pub const MONITOR_MIGRATE_HEADER_LEN: usize = XFRM_USER_POLICY_ID_LEN; diff --git a/src/monitor/migrate/message.rs b/src/monitor/migrate/message.rs index d1821af..05c3434 100644 --- a/src/monitor/migrate/message.rs +++ b/src/monitor/migrate/message.rs @@ -1,13 +1,11 @@ // SPDX-License-Identifier: MIT -use anyhow::Context; +use netlink_packet_core::{DecodeError, Emitable, ErrorContext, Parseable}; use crate::{ MigrateMessageBuffer, UserPolicyId, UserPolicyIdBuffer, XfrmAttrs, }; -use netlink_packet_utils::{traits::*, DecodeError}; - #[derive(Debug, PartialEq, Eq, Clone, Default)] pub struct MigrateMessage { pub user_policy_id: UserPolicyId, diff --git a/src/monitor/new_async_event/buffer.rs b/src/monitor/new_async_event/buffer.rs index 7efd703..c13b384 100644 --- a/src/monitor/new_async_event/buffer.rs +++ b/src/monitor/new_async_event/buffer.rs @@ -1,12 +1,8 @@ // SPDX-License-Identifier: MIT -use crate::XFRM_ASYNC_EVENT_ID_LEN; +use netlink_packet_core::{buffer, DecodeError, NlaBuffer, NlasIterator}; -use netlink_packet_utils::{ - buffer, - nla::{NlaBuffer, NlasIterator}, - DecodeError, -}; +use crate::XFRM_ASYNC_EVENT_ID_LEN; pub const MONITOR_NEW_ASYNC_EVENT_HEADER_LEN: usize = XFRM_ASYNC_EVENT_ID_LEN; diff --git a/src/monitor/new_async_event/message.rs b/src/monitor/new_async_event/message.rs index e9ca28a..4b29cbe 100644 --- a/src/monitor/new_async_event/message.rs +++ b/src/monitor/new_async_event/message.rs @@ -1,13 +1,11 @@ // SPDX-License-Identifier: MIT -use anyhow::Context; +use netlink_packet_core::{DecodeError, Emitable, ErrorContext, Parseable}; use crate::{ AsyncEventId, AsyncEventIdBuffer, NewAsyncEventMessageBuffer, XfrmAttrs, }; -use netlink_packet_utils::{traits::*, DecodeError}; - #[derive(Debug, PartialEq, Eq, Clone, Default)] pub struct NewAsyncEventMessage { pub id: AsyncEventId, diff --git a/src/monitor/polexpire/buffer.rs b/src/monitor/polexpire/buffer.rs index 9b72d3e..52a7a3f 100644 --- a/src/monitor/polexpire/buffer.rs +++ b/src/monitor/polexpire/buffer.rs @@ -1,12 +1,8 @@ // SPDX-License-Identifier: MIT -use crate::XFRM_USER_POLICY_EXPIRE_LEN; +use netlink_packet_core::{buffer, DecodeError, NlaBuffer, NlasIterator}; -use netlink_packet_utils::{ - buffer, - nla::{NlaBuffer, NlasIterator}, - DecodeError, -}; +use crate::XFRM_USER_POLICY_EXPIRE_LEN; pub const MONITOR_POLICY_EXPIRE_HEADER_LEN: usize = XFRM_USER_POLICY_EXPIRE_LEN; diff --git a/src/monitor/polexpire/message.rs b/src/monitor/polexpire/message.rs index 3847e59..a679516 100644 --- a/src/monitor/polexpire/message.rs +++ b/src/monitor/polexpire/message.rs @@ -1,14 +1,12 @@ // SPDX-License-Identifier: MIT -use anyhow::Context; +use netlink_packet_core::{DecodeError, Emitable, ErrorContext, Parseable}; use crate::{ PolicyExpireMessageBuffer, UserPolicyExpire, UserPolicyExpireBuffer, XfrmAttrs, }; -use netlink_packet_utils::{traits::*, DecodeError}; - #[derive(Debug, PartialEq, Eq, Clone, Default)] pub struct PolicyExpireMessage { pub expire: UserPolicyExpire, diff --git a/src/monitor/report/buffer.rs b/src/monitor/report/buffer.rs index 85c377b..d1c118a 100644 --- a/src/monitor/report/buffer.rs +++ b/src/monitor/report/buffer.rs @@ -1,12 +1,8 @@ // SPDX-License-Identifier: MIT -use crate::XFRM_USER_REPORT_LEN; +use netlink_packet_core::{buffer, DecodeError, NlaBuffer, NlasIterator}; -use netlink_packet_utils::{ - buffer, - nla::{NlaBuffer, NlasIterator}, - DecodeError, -}; +use crate::XFRM_USER_REPORT_LEN; pub const MONITOR_REPORT_HEADER_LEN: usize = XFRM_USER_REPORT_LEN; diff --git a/src/monitor/report/message.rs b/src/monitor/report/message.rs index 7abffd3..3d26c51 100644 --- a/src/monitor/report/message.rs +++ b/src/monitor/report/message.rs @@ -1,11 +1,9 @@ // SPDX-License-Identifier: MIT -use anyhow::Context; +use netlink_packet_core::{DecodeError, Emitable, ErrorContext, Parseable}; use crate::{ReportMessageBuffer, UserReport, UserReportBuffer, XfrmAttrs}; -use netlink_packet_utils::{traits::*, DecodeError}; - #[derive(Debug, PartialEq, Eq, Clone, Default)] pub struct ReportMessage { pub report: UserReport, diff --git a/src/nlas/address_filter.rs b/src/nlas/address_filter.rs index d4e6c7a..5380483 100644 --- a/src/nlas/address_filter.rs +++ b/src/nlas/address_filter.rs @@ -1,18 +1,16 @@ // SPDX-License-Identifier: MIT -use anyhow::Context; - use core::ops::Range; use std::net::IpAddr; +use netlink_packet_core::{DecodeError, Emitable, ErrorContext, Parseable}; + use crate::{ address::XFRM_ADDRESS_LEN, constants::{AF_INET, AF_INET6}, Address, AddressBuffer, }; -use netlink_packet_utils::{buffer, traits::*, DecodeError}; - #[derive(Debug, Clone, Copy, Eq, PartialEq, Default)] pub struct AddressFilter { pub saddr: Address, diff --git a/src/nlas/alg.rs b/src/nlas/alg.rs index feb44cb..1e760f4 100644 --- a/src/nlas/alg.rs +++ b/src/nlas/alg.rs @@ -2,7 +2,7 @@ use core::ops::Range; -use netlink_packet_utils::{buffer, traits::*, DecodeError}; +use netlink_packet_core::{DecodeError, Emitable, Parseable}; pub const XFRM_ALG_NAME_LEN: usize = 64; diff --git a/src/nlas/alg_aead.rs b/src/nlas/alg_aead.rs index 9132fe5..953e710 100644 --- a/src/nlas/alg_aead.rs +++ b/src/nlas/alg_aead.rs @@ -2,7 +2,7 @@ use core::ops::Range; -use netlink_packet_utils::{buffer, traits::*, DecodeError}; +use netlink_packet_core::{DecodeError, Emitable, Parseable}; pub const XFRM_ALG_AEAD_NAME_LEN: usize = 64; diff --git a/src/nlas/alg_auth.rs b/src/nlas/alg_auth.rs index 70e0c2f..d603201 100644 --- a/src/nlas/alg_auth.rs +++ b/src/nlas/alg_auth.rs @@ -2,7 +2,7 @@ use core::ops::Range; -use netlink_packet_utils::{buffer, traits::*, DecodeError}; +use netlink_packet_core::{DecodeError, Emitable, Parseable}; pub const XFRM_ALG_AUTH_NAME_LEN: usize = 64; diff --git a/src/nlas/encap_tmpl.rs b/src/nlas/encap_tmpl.rs index 1e168a6..75bd3c2 100644 --- a/src/nlas/encap_tmpl.rs +++ b/src/nlas/encap_tmpl.rs @@ -1,12 +1,10 @@ // SPDX-License-Identifier: MIT -use anyhow::Context; - use core::ops::Range; -use crate::{Address, AddressBuffer, XFRM_ADDRESS_LEN}; +use netlink_packet_core::{DecodeError, Emitable, ErrorContext, Parseable}; -use netlink_packet_utils::{buffer, traits::*, DecodeError}; +use crate::{Address, AddressBuffer, XFRM_ADDRESS_LEN}; #[derive(Debug, Clone, Copy, Eq, PartialEq, Default)] pub struct EncapTmpl { diff --git a/src/nlas/mark.rs b/src/nlas/mark.rs index 98d5b37..48e5837 100644 --- a/src/nlas/mark.rs +++ b/src/nlas/mark.rs @@ -1,6 +1,6 @@ // SPDX-License-Identifier: MIT -use netlink_packet_utils::{buffer, traits::*, DecodeError}; +use netlink_packet_core::{DecodeError, Emitable, Parseable}; #[derive(Debug, Clone, Copy, Eq, PartialEq, Default)] pub struct Mark { diff --git a/src/nlas/mod.rs b/src/nlas/mod.rs index 5228a5f..159bf93 100644 --- a/src/nlas/mod.rs +++ b/src/nlas/mod.rs @@ -38,25 +38,20 @@ pub mod user_offload; pub use user_offload::*; pub mod user_template; -pub use user_template::*; - -use anyhow::Context; -use byteorder::{ByteOrder, NativeEndian}; use std::mem::size_of; +use netlink_packet_core::{ + emit_u32, emit_u64, parse_u32, parse_u64, parse_u8, DecodeError, + DefaultNla, Emitable, ErrorContext, Nla, NlaBuffer, Parseable, +}; +pub use user_template::*; + use crate::{ constants::*, Address, AddressBuffer, Lifetime, LifetimeBuffer, UserPolicyInfo, UserPolicyInfoBuffer, UserPolicyType, UserPolicyTypeBuffer, UserSaInfo, UserSaInfoBuffer, }; -use netlink_packet_utils::{ - nla::{DefaultNla, Nla, NlaBuffer}, - parsers::*, - traits::*, - DecodeError, -}; - #[derive(Debug, PartialEq, Eq, Clone)] pub enum XfrmAttrs { AddressFilter(address_filter::AddressFilter), @@ -151,16 +146,16 @@ impl Nla for XfrmAttrs { EncapsulationTemplate(ref v) => v.emit(buffer), EncryptionAlg(ref v) => v.emit(buffer), EncryptionAlgAead(ref v) => v.emit(buffer), - EventTimeThreshold(ref v) => NativeEndian::write_u32(buffer, *v), - ExtraFlags(ref v) => NativeEndian::write_u32(buffer, *v), - IfId(ref v) => NativeEndian::write_u32(buffer, *v), + EventTimeThreshold(ref v) => emit_u32(buffer, *v).unwrap(), + ExtraFlags(ref v) => emit_u32(buffer, *v).unwrap(), + IfId(ref v) => emit_u32(buffer, *v).unwrap(), KmAddress(ref v) => v.emit(buffer), - LastUsed(ref v) => NativeEndian::write_u64(buffer, *v), + LastUsed(ref v) => emit_u64(buffer, *v).unwrap(), LifetimeBytes(ref v) => v.emit(buffer), - MappingTimeThreshold(ref v) => NativeEndian::write_u32(buffer, *v), + MappingTimeThreshold(ref v) => emit_u32(buffer, *v).unwrap(), Mark(ref v) => v.emit(buffer), - MarkMask(ref v) => NativeEndian::write_u32(buffer, *v), - MarkVal(ref v) => NativeEndian::write_u32(buffer, *v), + MarkMask(ref v) => emit_u32(buffer, *v).unwrap(), + MarkVal(ref v) => emit_u32(buffer, *v).unwrap(), Migrate(ref v) => v.emit(buffer), OffloadDevice(ref v) => v.emit(buffer), Pad() => @@ -171,7 +166,7 @@ impl Nla for XfrmAttrs { Proto(ref v) => buffer[0] = *v, ReplayState(ref v) => v.emit(buffer), ReplayStateEsn(ref v) => v.emit(buffer), - ReplayThreshold(ref v) => NativeEndian::write_u32(buffer, *v), + ReplayThreshold(ref v) => emit_u32(buffer, *v).unwrap(), SaInfo(ref v) => v.emit(buffer), SecurityContext(ref v) => v.emit(buffer), SrcAddr(ref v) => v.emit(buffer), @@ -185,7 +180,7 @@ impl Nla for XfrmAttrs { tmpl.emit(buf); } } - TfcPadding(ref v) => NativeEndian::write_u32(buffer, *v), + TfcPadding(ref v) => emit_u32(buffer, *v).unwrap(), Unspec(ref bytes) => buffer.copy_from_slice(bytes.as_slice()), Other(ref attr) => attr.emit_value(buffer), diff --git a/src/nlas/replay.rs b/src/nlas/replay.rs index 6d7ba33..fe174c9 100644 --- a/src/nlas/replay.rs +++ b/src/nlas/replay.rs @@ -1,6 +1,6 @@ // SPDX-License-Identifier: MIT -use netlink_packet_utils::{buffer, traits::*, DecodeError}; +use netlink_packet_core::{DecodeError, Emitable, Parseable}; #[derive(Debug, Clone, Copy, Eq, PartialEq, Default)] pub struct Replay { diff --git a/src/nlas/replay_esn.rs b/src/nlas/replay_esn.rs index af6dc4b..0d21126 100644 --- a/src/nlas/replay_esn.rs +++ b/src/nlas/replay_esn.rs @@ -1,8 +1,8 @@ // SPDX-License-Identifier: MIT -use byteorder::{ByteOrder, NativeEndian}; - -use netlink_packet_utils::{buffer, traits::*, DecodeError}; +use netlink_packet_core::{ + buffer, emit_u32, parse_u32, DecodeError, Emitable, Parseable, +}; pub const XFRM_REPLAY_ESN_LEN: usize = 24; @@ -29,10 +29,10 @@ buffer!(ReplayEsnBuffer(XFRM_REPLAY_ESN_LEN) { impl + ?Sized> Parseable> for ReplayEsn { fn parse(buf: &ReplayEsnBuffer<&T>) -> Result { - if buf.bmp().len() % 4 != 0 { + if !buf.bmp().len().is_multiple_of(4) { return Err(DecodeError::from("invalid ReplayEsnBuffer bmp")); } - let bmp = buf.bmp().chunks(4).map(NativeEndian::read_u32).collect(); + let bmp = buf.bmp().chunks(4).map(|v| parse_u32(v).unwrap()).collect(); Ok(ReplayEsn { bmp_len: buf.bmp_len(), @@ -60,7 +60,7 @@ impl Emitable for ReplayEsn { buffer.set_seq_hi(self.seq_hi); buffer.set_replay_window(self.replay_window); for (i, v) in self.bmp.iter().enumerate() { - NativeEndian::write_u32(&mut buffer.bmp_mut()[i * 4..], *v); + emit_u32(&mut buffer.bmp_mut()[i * 4..], *v).unwrap(); } } } diff --git a/src/nlas/security_ctx.rs b/src/nlas/security_ctx.rs index 0cdf107..cecc14a 100644 --- a/src/nlas/security_ctx.rs +++ b/src/nlas/security_ctx.rs @@ -1,6 +1,6 @@ // SPDX-License-Identifier: MIT -use netlink_packet_utils::{buffer, traits::*, DecodeError}; +use netlink_packet_core::{DecodeError, Emitable, Parseable}; use crate::constants::*; diff --git a/src/nlas/user_kmaddress.rs b/src/nlas/user_kmaddress.rs index df303f3..354b670 100644 --- a/src/nlas/user_kmaddress.rs +++ b/src/nlas/user_kmaddress.rs @@ -1,12 +1,10 @@ // SPDX-License-Identifier: MIT -use anyhow::Context; - use core::ops::Range; -use crate::{Address, AddressBuffer, XFRM_ADDRESS_LEN}; +use netlink_packet_core::{DecodeError, Emitable, ErrorContext, Parseable}; -use netlink_packet_utils::{buffer, traits::*, DecodeError}; +use crate::{Address, AddressBuffer, XFRM_ADDRESS_LEN}; #[derive(Debug, Clone, Copy, Eq, PartialEq, Default)] pub struct UserKmAddress { diff --git a/src/nlas/user_migrate.rs b/src/nlas/user_migrate.rs index cbdbf59..57ef38e 100644 --- a/src/nlas/user_migrate.rs +++ b/src/nlas/user_migrate.rs @@ -1,12 +1,10 @@ // SPDX-License-Identifier: MIT -use anyhow::Context; - use core::ops::Range; -use crate::{Address, AddressBuffer, XFRM_ADDRESS_LEN}; +use netlink_packet_core::{DecodeError, Emitable, ErrorContext, Parseable}; -use netlink_packet_utils::{buffer, traits::*, DecodeError}; +use crate::{Address, AddressBuffer, XFRM_ADDRESS_LEN}; #[derive(Debug, Clone, Copy, Eq, PartialEq, Default)] pub struct UserMigrate { diff --git a/src/nlas/user_offload.rs b/src/nlas/user_offload.rs index 1bd4be0..215a31d 100644 --- a/src/nlas/user_offload.rs +++ b/src/nlas/user_offload.rs @@ -1,6 +1,6 @@ // SPDX-License-Identifier: MIT -use netlink_packet_utils::{buffer, traits::*, DecodeError}; +use netlink_packet_core::{DecodeError, Emitable, Parseable}; #[derive(Debug, Clone, Copy, Eq, PartialEq, Default)] pub struct UserOffloadDev { diff --git a/src/nlas/user_template.rs b/src/nlas/user_template.rs index d3228c6..8712c73 100644 --- a/src/nlas/user_template.rs +++ b/src/nlas/user_template.rs @@ -1,15 +1,14 @@ // SPDX-License-Identifier: MIT -use anyhow::Context; +use core::ops::Range; +use std::net::IpAddr; + +use netlink_packet_core::{DecodeError, Emitable, ErrorContext, Parseable}; use crate::{ constants::{AF_INET, AF_INET6}, Address, AddressBuffer, Id, IdBuffer, XFRM_ADDRESS_LEN, XFRM_ID_LEN, }; -use core::ops::Range; -use std::net::IpAddr; - -use netlink_packet_utils::{buffer, traits::*, DecodeError}; #[derive(Debug, Clone, Copy, Eq, PartialEq)] pub struct UserTemplate { diff --git a/src/policy/default/buffer.rs b/src/policy/default/buffer.rs index ac200e9..9bce52e 100644 --- a/src/policy/default/buffer.rs +++ b/src/policy/default/buffer.rs @@ -1,8 +1,8 @@ // SPDX-License-Identifier: MIT -use crate::XFRM_USER_POLICY_DEFAULT_LEN; +use netlink_packet_core::buffer; -use netlink_packet_utils::{buffer, DecodeError}; +use crate::XFRM_USER_POLICY_DEFAULT_LEN; pub const POLICY_DEFAULT_HEADER_LEN: usize = XFRM_USER_POLICY_DEFAULT_LEN; diff --git a/src/policy/default/message.rs b/src/policy/default/message.rs index 18a326b..8915150 100644 --- a/src/policy/default/message.rs +++ b/src/policy/default/message.rs @@ -1,11 +1,11 @@ // SPDX-License-Identifier: MIT -use anyhow::Context; +use netlink_packet_core::{DecodeError, Emitable, ErrorContext, Parseable}; -use crate::policy::{DefaultMessageBuffer, POLICY_DEFAULT_HEADER_LEN}; -use crate::{UserPolicyDefault, UserPolicyDefaultBuffer}; - -use netlink_packet_utils::{traits::*, DecodeError}; +use crate::{ + policy::{DefaultMessageBuffer, POLICY_DEFAULT_HEADER_LEN}, + UserPolicyDefault, UserPolicyDefaultBuffer, +}; #[derive(Debug, PartialEq, Eq, Clone, Default)] pub struct DefaultMessage { diff --git a/src/policy/delget/buffer.rs b/src/policy/delget/buffer.rs index 39b0b3b..289d115 100644 --- a/src/policy/delget/buffer.rs +++ b/src/policy/delget/buffer.rs @@ -1,12 +1,8 @@ // SPDX-License-Identifier: MIT -use crate::XFRM_USER_POLICY_ID_LEN; +use netlink_packet_core::{buffer, DecodeError, NlaBuffer, NlasIterator}; -use netlink_packet_utils::{ - buffer, - nla::{NlaBuffer, NlasIterator}, - DecodeError, -}; +use crate::XFRM_USER_POLICY_ID_LEN; // Same buffer handles policy delete and get messages diff --git a/src/policy/delget/message.rs b/src/policy/delget/message.rs index 244fc45..d62c101 100644 --- a/src/policy/delget/message.rs +++ b/src/policy/delget/message.rs @@ -1,13 +1,11 @@ // SPDX-License-Identifier: MIT -use anyhow::Context; +use netlink_packet_core::{DecodeError, Emitable, ErrorContext, Parseable}; use crate::{ policy::DelGetMessageBuffer, UserPolicyId, UserPolicyIdBuffer, XfrmAttrs, }; -use netlink_packet_utils::{traits::*, DecodeError}; - #[derive(Debug, PartialEq, Eq, Clone, Default)] pub struct DelGetMessage { pub user_policy_id: UserPolicyId, diff --git a/src/policy/flush/buffer.rs b/src/policy/flush/buffer.rs index 4707af4..0ac8f9c 100644 --- a/src/policy/flush/buffer.rs +++ b/src/policy/flush/buffer.rs @@ -1,10 +1,6 @@ // SPDX-License-Identifier: MIT -use netlink_packet_utils::{ - buffer, - nla::{NlaBuffer, NlasIterator}, - DecodeError, -}; +use netlink_packet_core::{buffer, DecodeError, NlaBuffer, NlasIterator}; pub const POLICY_FLUSH_HEADER_LEN: usize = 0; // no message data, just potential attributes diff --git a/src/policy/flush/message.rs b/src/policy/flush/message.rs index df6bff7..5d16977 100644 --- a/src/policy/flush/message.rs +++ b/src/policy/flush/message.rs @@ -1,11 +1,9 @@ // SPDX-License-Identifier: MIT -use anyhow::Context; +use netlink_packet_core::{DecodeError, Emitable, ErrorContext, Parseable}; use crate::{policy::FlushMessageBuffer, XfrmAttrs}; -use netlink_packet_utils::{traits::*, DecodeError}; - #[derive(Debug, PartialEq, Eq, Clone, Default)] pub struct FlushMessage { pub nlas: Vec, diff --git a/src/policy/modify/buffer.rs b/src/policy/modify/buffer.rs index 5211039..6f71f23 100644 --- a/src/policy/modify/buffer.rs +++ b/src/policy/modify/buffer.rs @@ -1,12 +1,8 @@ // SPDX-License-Identifier: MIT -use crate::XFRM_USER_POLICY_INFO_LEN; +use netlink_packet_core::{buffer, DecodeError, NlaBuffer, NlasIterator}; -use netlink_packet_utils::{ - buffer, - nla::{NlaBuffer, NlasIterator}, - DecodeError, -}; +use crate::XFRM_USER_POLICY_INFO_LEN; pub const POLICY_MODIFY_HEADER_LEN: usize = XFRM_USER_POLICY_INFO_LEN; diff --git a/src/policy/modify/message.rs b/src/policy/modify/message.rs index 6af3203..6cea2b3 100644 --- a/src/policy/modify/message.rs +++ b/src/policy/modify/message.rs @@ -1,14 +1,12 @@ // SPDX-License-Identifier: MIT -use anyhow::Context; +use netlink_packet_core::{DecodeError, Emitable, ErrorContext, Parseable}; use crate::{ policy::ModifyMessageBuffer, UserPolicyInfo, UserPolicyInfoBuffer, XfrmAttrs, }; -use netlink_packet_utils::{traits::*, DecodeError}; - #[derive(Debug, PartialEq, Eq, Clone, Default)] pub struct ModifyMessage { pub user_policy_info: UserPolicyInfo, diff --git a/src/policy/spdinfo/buffer.rs b/src/policy/spdinfo/buffer.rs index 9f517be..a3df4d3 100644 --- a/src/policy/spdinfo/buffer.rs +++ b/src/policy/spdinfo/buffer.rs @@ -1,10 +1,6 @@ // SPDX-License-Identifier: MIT -use netlink_packet_utils::{ - buffer, - nla::{NlaBuffer, NlasIterator}, - DecodeError, -}; +use netlink_packet_core::{buffer, DecodeError, NlaBuffer, NlasIterator}; pub const POLICY_NEW_SPD_INFO_HEADER_LEN: usize = 4; diff --git a/src/policy/spdinfo/message.rs b/src/policy/spdinfo/message.rs index c84a654..88b57b7 100644 --- a/src/policy/spdinfo/message.rs +++ b/src/policy/spdinfo/message.rs @@ -1,14 +1,12 @@ // SPDX-License-Identifier: MIT -use anyhow::Context; +use netlink_packet_core::{DecodeError, Emitable, ErrorContext, Parseable}; use crate::policy::{ GetSpdInfoMessageBuffer, NewSpdInfoMessageBuffer, SpdInfoAttrs, POLICY_GET_SPD_INFO_HEADER_LEN, POLICY_NEW_SPD_INFO_HEADER_LEN, }; -use netlink_packet_utils::{traits::*, DecodeError}; - #[derive(Debug, PartialEq, Eq, Clone, Default)] pub struct NewSpdInfoMessage { pub flags: u32, diff --git a/src/policy/spdinfo/nlas/mod.rs b/src/policy/spdinfo/nlas/mod.rs index 3ae57ae..902f71b 100644 --- a/src/policy/spdinfo/nlas/mod.rs +++ b/src/policy/spdinfo/nlas/mod.rs @@ -1,18 +1,13 @@ // SPDX-License-Identifier: MIT pub mod spd_info; +use netlink_packet_core::{ + DecodeError, DefaultNla, Emitable, ErrorContext, Nla, NlaBuffer, Parseable, +}; pub use spd_info::*; -use anyhow::Context; - use crate::constants::*; -use netlink_packet_utils::{ - nla::{DefaultNla, Nla, NlaBuffer}, - traits::*, - DecodeError, -}; - #[derive(Debug, PartialEq, Eq, Clone)] pub enum SpdInfoAttrs { Unspec(Vec), diff --git a/src/policy/spdinfo/nlas/spd_info.rs b/src/policy/spdinfo/nlas/spd_info.rs index cf30124..b4b6779 100644 --- a/src/policy/spdinfo/nlas/spd_info.rs +++ b/src/policy/spdinfo/nlas/spd_info.rs @@ -1,6 +1,6 @@ // SPDX-License-Identifier: MIT -use netlink_packet_utils::{buffer, traits::*, DecodeError}; +use netlink_packet_core::{DecodeError, Emitable, Parseable}; #[derive(Debug, Clone, Copy, Eq, PartialEq, Default)] pub struct SpdInfo { diff --git a/src/selector.rs b/src/selector.rs index 2f557ee..aaffc73 100644 --- a/src/selector.rs +++ b/src/selector.rs @@ -1,17 +1,15 @@ // SPDX-License-Identifier: MIT -use anyhow::Context; - use core::ops::Range; use std::net::IpAddr; +use netlink_packet_core::{DecodeError, Emitable, ErrorContext, Parseable}; + use crate::{ constants::{AF_INET, AF_INET6}, Address, AddressBuffer, XFRM_ADDRESS_LEN, }; -use netlink_packet_utils::{buffer, traits::*, DecodeError}; - #[derive(Debug, Clone, Copy, Eq, PartialEq, Default)] pub struct Selector { pub daddr: Address, diff --git a/src/state/allocspi/buffer.rs b/src/state/allocspi/buffer.rs index 3bd8efe..cc31a88 100644 --- a/src/state/allocspi/buffer.rs +++ b/src/state/allocspi/buffer.rs @@ -1,12 +1,8 @@ // SPDX-License-Identifier: MIT -use crate::XFRM_USER_SPI_INFO_LEN; +use netlink_packet_core::{buffer, DecodeError, NlaBuffer, NlasIterator}; -use netlink_packet_utils::{ - buffer, - nla::{NlaBuffer, NlasIterator}, - DecodeError, -}; +use crate::XFRM_USER_SPI_INFO_LEN; pub const STATE_ALLOC_SPI_HEADER_LEN: usize = XFRM_USER_SPI_INFO_LEN; diff --git a/src/state/allocspi/message.rs b/src/state/allocspi/message.rs index aa99d7d..b624f0d 100644 --- a/src/state/allocspi/message.rs +++ b/src/state/allocspi/message.rs @@ -1,11 +1,10 @@ // SPDX-License-Identifier: MIT -use anyhow::Context; +use netlink_packet_core::{DecodeError, Emitable, ErrorContext, Parseable}; -use crate::state::AllocSpiMessageBuffer; -use crate::{UserSpiInfo, UserSpiInfoBuffer, XfrmAttrs}; - -use netlink_packet_utils::{traits::*, DecodeError}; +use crate::{ + state::AllocSpiMessageBuffer, UserSpiInfo, UserSpiInfoBuffer, XfrmAttrs, +}; #[derive(Debug, PartialEq, Eq, Clone, Default)] pub struct AllocSpiMessage { diff --git a/src/state/delget/buffer.rs b/src/state/delget/buffer.rs index 5b942fa..2edbcf4 100644 --- a/src/state/delget/buffer.rs +++ b/src/state/delget/buffer.rs @@ -1,12 +1,8 @@ // SPDX-License-Identifier: MIT -use crate::XFRM_USER_SA_ID_LEN; +use netlink_packet_core::{buffer, DecodeError, NlaBuffer, NlasIterator}; -use netlink_packet_utils::{ - buffer, - nla::{NlaBuffer, NlasIterator}, - DecodeError, -}; +use crate::XFRM_USER_SA_ID_LEN; // The same buffer handles state delete and get messages diff --git a/src/state/delget/message.rs b/src/state/delget/message.rs index 08af0ff..7a40756 100644 --- a/src/state/delget/message.rs +++ b/src/state/delget/message.rs @@ -1,14 +1,12 @@ // SPDX-License-Identifier: MIT -use anyhow::Context; +use netlink_packet_core::{DecodeError, Emitable, ErrorContext, Parseable}; use crate::{ state::{DelGetMessageBuffer, GetDumpMessageBuffer}, UserSaId, UserSaIdBuffer, XfrmAttrs, }; -use netlink_packet_utils::{traits::*, DecodeError}; - #[derive(Debug, PartialEq, Eq, Clone, Default)] pub struct DelGetMessage { pub user_sa_id: UserSaId, diff --git a/src/state/flush/buffer.rs b/src/state/flush/buffer.rs index 89c99a9..c116a82 100644 --- a/src/state/flush/buffer.rs +++ b/src/state/flush/buffer.rs @@ -1,6 +1,6 @@ // SPDX-License-Identifier: MIT -use netlink_packet_utils::{buffer, DecodeError}; +use netlink_packet_core::buffer; pub const STATE_FLUSH_HEADER_LEN: usize = 1; diff --git a/src/state/flush/message.rs b/src/state/flush/message.rs index e4ed25a..a58a590 100644 --- a/src/state/flush/message.rs +++ b/src/state/flush/message.rs @@ -1,8 +1,8 @@ // SPDX-License-Identifier: MIT -use crate::state::{FlushMessageBuffer, STATE_FLUSH_HEADER_LEN}; +use netlink_packet_core::{DecodeError, Emitable, Parseable}; -use netlink_packet_utils::{traits::*, DecodeError}; +use crate::state::{FlushMessageBuffer, STATE_FLUSH_HEADER_LEN}; #[derive(Debug, PartialEq, Eq, Clone, Default)] pub struct FlushMessage { diff --git a/src/state/modify/buffer.rs b/src/state/modify/buffer.rs index 2a01be5..61d1377 100644 --- a/src/state/modify/buffer.rs +++ b/src/state/modify/buffer.rs @@ -1,12 +1,8 @@ // SPDX-License-Identifier: MIT -use crate::XFRM_USER_SA_INFO_LEN; +use netlink_packet_core::{buffer, DecodeError, NlaBuffer, NlasIterator}; -use netlink_packet_utils::{ - buffer, - nla::{NlaBuffer, NlasIterator}, - DecodeError, -}; +use crate::XFRM_USER_SA_INFO_LEN; pub const STATE_MODIFY_HEADER_LEN: usize = XFRM_USER_SA_INFO_LEN; diff --git a/src/state/modify/message.rs b/src/state/modify/message.rs index c02c57c..1720ffc 100644 --- a/src/state/modify/message.rs +++ b/src/state/modify/message.rs @@ -1,13 +1,11 @@ // SPDX-License-Identifier: MIT -use anyhow::Context; +use netlink_packet_core::{DecodeError, Emitable, ErrorContext, Parseable}; use crate::{ state::ModifyMessageBuffer, UserSaInfo, UserSaInfoBuffer, XfrmAttrs, }; -use netlink_packet_utils::{traits::*, DecodeError}; - #[derive(Debug, PartialEq, Eq, Clone, Default)] pub struct ModifyMessage { pub user_sa_info: UserSaInfo, diff --git a/src/state/sadinfo/buffer.rs b/src/state/sadinfo/buffer.rs index a91238e..cdcf4a3 100644 --- a/src/state/sadinfo/buffer.rs +++ b/src/state/sadinfo/buffer.rs @@ -1,10 +1,6 @@ // SPDX-License-Identifier: MIT -use netlink_packet_utils::{ - buffer, - nla::{NlaBuffer, NlasIterator}, - DecodeError, -}; +use netlink_packet_core::{buffer, DecodeError, NlaBuffer, NlasIterator}; pub const STATE_NEW_SAD_INFO_HEADER_LEN: usize = 4; diff --git a/src/state/sadinfo/message.rs b/src/state/sadinfo/message.rs index 1fb14a7..0129234 100644 --- a/src/state/sadinfo/message.rs +++ b/src/state/sadinfo/message.rs @@ -1,14 +1,12 @@ // SPDX-License-Identifier: MIT -use anyhow::Context; +use netlink_packet_core::{DecodeError, Emitable, ErrorContext, Parseable}; use crate::state::{ GetSadInfoMessageBuffer, NewSadInfoMessageBuffer, SadInfoAttrs, STATE_GET_SAD_INFO_HEADER_LEN, STATE_NEW_SAD_INFO_HEADER_LEN, }; -use netlink_packet_utils::{traits::*, DecodeError}; - #[derive(Debug, PartialEq, Eq, Clone, Default)] pub struct NewSadInfoMessage { pub flags: u32, diff --git a/src/state/sadinfo/nlas/mod.rs b/src/state/sadinfo/nlas/mod.rs index b77170d..a9d8af9 100644 --- a/src/state/sadinfo/nlas/mod.rs +++ b/src/state/sadinfo/nlas/mod.rs @@ -1,20 +1,15 @@ // SPDX-License-Identifier: MIT pub mod sad_info; -pub use sad_info::*; - -use anyhow::Context; -use byteorder::{ByteOrder, NativeEndian}; use std::mem::size_of; -use crate::constants::*; - -use netlink_packet_utils::{ - nla::{DefaultNla, Nla, NlaBuffer}, - parsers::*, - traits::*, - DecodeError, +use netlink_packet_core::{ + emit_u32, parse_u32, DecodeError, DefaultNla, Emitable, ErrorContext, Nla, + NlaBuffer, Parseable, }; +pub use sad_info::*; + +use crate::constants::*; #[derive(Debug, PartialEq, Eq, Clone)] pub enum SadInfoAttrs { @@ -41,7 +36,7 @@ impl Nla for SadInfoAttrs { use self::SadInfoAttrs::*; match *self { Unspec(ref bytes) => buffer.copy_from_slice(bytes.as_slice()), - SadCount(ref value) => NativeEndian::write_u32(buffer, *value), + SadCount(ref value) => emit_u32(buffer, *value).unwrap(), SadHInfo(ref v) => v.emit(buffer), Other(ref attr) => attr.emit_value(buffer), } diff --git a/src/state/sadinfo/nlas/sad_info.rs b/src/state/sadinfo/nlas/sad_info.rs index deadf46..8bdb040 100644 --- a/src/state/sadinfo/nlas/sad_info.rs +++ b/src/state/sadinfo/nlas/sad_info.rs @@ -1,6 +1,6 @@ // SPDX-License-Identifier: MIT -use netlink_packet_utils::{buffer, traits::*, DecodeError}; +use netlink_packet_core::{DecodeError, Emitable, Parseable}; #[derive(Debug, Clone, Copy, Eq, PartialEq, Default)] pub struct SadHInfo { diff --git a/src/stats.rs b/src/stats.rs index 1adc36d..f0585a2 100644 --- a/src/stats.rs +++ b/src/stats.rs @@ -1,6 +1,6 @@ // SPDX-License-Identifier: MIT -use netlink_packet_utils::{buffer, traits::*, DecodeError}; +use netlink_packet_core::{DecodeError, Emitable, Parseable}; #[derive(Debug, Clone, Copy, Eq, PartialEq, Default)] pub struct Stats { diff --git a/src/tests.rs b/src/tests.rs index 8c9739f..92c1d88 100644 --- a/src/tests.rs +++ b/src/tests.rs @@ -1,24 +1,27 @@ // SPDX-License-Identifier: MIT -use std::net::{Ipv4Addr, Ipv6Addr}; -use std::str::FromStr; - -use netlink_packet_core::{NetlinkHeader, NetlinkMessage, NetlinkPayload}; - -use crate::{ - constants::*, policy::FlushMessage, policy::ModifyMessage, - policy::SpdInfoAttrs::*, state::SadInfoAttrs::*, Address, AsyncEventId, - EncapTmpl, GetAsyncEventMessage, Id, Lifetime, LifetimeConfig, - MappingMessage, Mark, MigrateMessage, ReportMessage, Selector, - UserKmAddress, UserMapping, UserMigrate, UserPolicyId, UserPolicyInfo, - UserPolicyType, UserReport, UserSaId, UserTemplate, XfrmAttrs, - XfrmAttrs::*, XfrmMessage, +use std::{ + net::{Ipv4Addr, Ipv6Addr}, + str::FromStr, }; -use netlink_packet_core::*; +use netlink_packet_core::{NetlinkHeader, NetlinkMessage, NetlinkPayload, *}; use netlink_proto::sys::protocols::NETLINK_XFRM; use netlink_sys::{Socket, SocketAddr}; +use crate::{ + constants::*, + policy::{FlushMessage, ModifyMessage, SpdInfoAttrs::*}, + state::SadInfoAttrs::*, + Address, AsyncEventId, EncapTmpl, GetAsyncEventMessage, Id, Lifetime, + LifetimeConfig, MappingMessage, Mark, MigrateMessage, ReportMessage, + Selector, UserKmAddress, UserMapping, UserMigrate, UserPolicyId, + UserPolicyInfo, UserPolicyType, UserReport, UserSaId, UserTemplate, + XfrmAttrs, + XfrmAttrs::*, + XfrmMessage, +}; + #[test] fn parse_xfrm_pol_1() { let deserialized_packet = diff --git a/src/user_acquire.rs b/src/user_acquire.rs index 9dff9db..6bbfb3f 100644 --- a/src/user_acquire.rs +++ b/src/user_acquire.rs @@ -1,17 +1,15 @@ // SPDX-License-Identifier: MIT -use anyhow::Context; - use core::ops::Range; +use netlink_packet_core::{DecodeError, Emitable, ErrorContext, Parseable}; + use crate::{ Address, AddressBuffer, Id, IdBuffer, Selector, SelectorBuffer, UserPolicyInfo, UserPolicyInfoBuffer, XFRM_ADDRESS_LEN, XFRM_ID_LEN, XFRM_SELECTOR_LEN, XFRM_USER_POLICY_INFO_LEN, }; -use netlink_packet_utils::{buffer, traits::*, DecodeError}; - #[derive(Debug, Clone, Copy, Eq, PartialEq, Default)] pub struct UserAcquire { pub id: Id, diff --git a/src/user_expire.rs b/src/user_expire.rs index aa1936d..8242795 100644 --- a/src/user_expire.rs +++ b/src/user_expire.rs @@ -1,12 +1,10 @@ // SPDX-License-Identifier: MIT -use anyhow::Context; - use core::ops::Range; -use crate::{UserSaInfo, UserSaInfoBuffer, XFRM_USER_SA_INFO_LEN}; +use netlink_packet_core::{DecodeError, Emitable, ErrorContext, Parseable}; -use netlink_packet_utils::{buffer, traits::*, DecodeError}; +use crate::{UserSaInfo, UserSaInfoBuffer, XFRM_USER_SA_INFO_LEN}; #[derive(Debug, Clone, Copy, Eq, PartialEq, Default)] pub struct UserExpire { diff --git a/src/user_mapping.rs b/src/user_mapping.rs index 49408e6..874b51f 100644 --- a/src/user_mapping.rs +++ b/src/user_mapping.rs @@ -1,16 +1,14 @@ // SPDX-License-Identifier: MIT -use anyhow::Context; - use core::ops::Range; +use netlink_packet_core::{DecodeError, Emitable, ErrorContext, Parseable}; + use crate::{ Address, AddressBuffer, UserSaId, UserSaIdBuffer, XFRM_ADDRESS_LEN, XFRM_USER_SA_ID_LEN, }; -use netlink_packet_utils::{buffer, traits::*, DecodeError}; - #[derive(Debug, Clone, Copy, Eq, PartialEq, Default)] pub struct UserMapping { pub id: UserSaId, diff --git a/src/user_polexpire.rs b/src/user_polexpire.rs index 304e64c..181f729 100644 --- a/src/user_polexpire.rs +++ b/src/user_polexpire.rs @@ -1,12 +1,10 @@ // SPDX-License-Identifier: MIT -use anyhow::Context; - use core::ops::Range; -use crate::{UserPolicyInfo, UserPolicyInfoBuffer, XFRM_USER_POLICY_INFO_LEN}; +use netlink_packet_core::{DecodeError, Emitable, ErrorContext, Parseable}; -use netlink_packet_utils::{buffer, traits::*, DecodeError}; +use crate::{UserPolicyInfo, UserPolicyInfoBuffer, XFRM_USER_POLICY_INFO_LEN}; #[derive(Debug, Clone, Copy, Eq, PartialEq, Default)] pub struct UserPolicyExpire { diff --git a/src/user_policy_default.rs b/src/user_policy_default.rs index 1d0cbcf..b6b2b24 100644 --- a/src/user_policy_default.rs +++ b/src/user_policy_default.rs @@ -1,6 +1,6 @@ // SPDX-License-Identifier: MIT -use netlink_packet_utils::{buffer, traits::*, DecodeError}; +use netlink_packet_core::{DecodeError, Emitable, Parseable}; #[derive(Debug, Clone, Copy, Eq, PartialEq, Default)] pub struct UserPolicyDefault { diff --git a/src/user_policy_id.rs b/src/user_policy_id.rs index a3f0242..72cb291 100644 --- a/src/user_policy_id.rs +++ b/src/user_policy_id.rs @@ -1,12 +1,10 @@ // SPDX-License-Identifier: MIT -use anyhow::Context; - use core::ops::Range; -use crate::{Selector, SelectorBuffer, XFRM_SELECTOR_LEN}; +use netlink_packet_core::{DecodeError, Emitable, ErrorContext, Parseable}; -use netlink_packet_utils::{buffer, traits::*, DecodeError}; +use crate::{Selector, SelectorBuffer, XFRM_SELECTOR_LEN}; #[derive(Debug, Clone, Copy, Eq, PartialEq, Default)] pub struct UserPolicyId { diff --git a/src/user_policy_info.rs b/src/user_policy_info.rs index 3956b4b..d014f64 100644 --- a/src/user_policy_info.rs +++ b/src/user_policy_info.rs @@ -1,17 +1,15 @@ // SPDX-License-Identifier: MIT -use anyhow::Context; - use core::ops::Range; +use netlink_packet_core::{DecodeError, Emitable, ErrorContext, Parseable}; + use crate::{ Lifetime, LifetimeBuffer, LifetimeConfig, LifetimeConfigBuffer, Selector, SelectorBuffer, XFRM_LIFETIME_CONFIG_LEN, XFRM_LIFETIME_LEN, XFRM_SELECTOR_LEN, }; -use netlink_packet_utils::{buffer, traits::*, DecodeError}; - #[derive(Debug, Clone, Copy, Eq, PartialEq, Default)] pub struct UserPolicyInfo { pub selector: Selector, diff --git a/src/user_policy_type.rs b/src/user_policy_type.rs index 7f3cc35..b20e056 100644 --- a/src/user_policy_type.rs +++ b/src/user_policy_type.rs @@ -1,6 +1,6 @@ // SPDX-License-Identifier: MIT -use netlink_packet_utils::{buffer, traits::*, DecodeError}; +use netlink_packet_core::{DecodeError, Emitable, Parseable}; #[derive(Debug, Clone, Copy, Eq, PartialEq, Default)] pub struct UserPolicyType { diff --git a/src/user_report.rs b/src/user_report.rs index ca4ef75..60e4eea 100644 --- a/src/user_report.rs +++ b/src/user_report.rs @@ -1,12 +1,10 @@ // SPDX-License-Identifier: MIT -use anyhow::Context; - use core::ops::Range; -use crate::{Selector, SelectorBuffer, XFRM_SELECTOR_LEN}; +use netlink_packet_core::{DecodeError, Emitable, ErrorContext, Parseable}; -use netlink_packet_utils::{buffer, traits::*, DecodeError}; +use crate::{Selector, SelectorBuffer, XFRM_SELECTOR_LEN}; #[derive(Debug, Clone, Copy, Eq, PartialEq, Default)] pub struct UserReport { diff --git a/src/user_sa_id.rs b/src/user_sa_id.rs index b8c220f..7924997 100644 --- a/src/user_sa_id.rs +++ b/src/user_sa_id.rs @@ -1,15 +1,14 @@ // SPDX-License-Identifier: MIT -use anyhow::Context; +use core::ops::Range; +use std::net::IpAddr; + +use netlink_packet_core::{DecodeError, Emitable, ErrorContext, Parseable}; use crate::{ constants::{AF_INET, AF_INET6}, Address, AddressBuffer, XFRM_ADDRESS_LEN, }; -use core::ops::Range; -use std::net::IpAddr; - -use netlink_packet_utils::{buffer, traits::*, DecodeError}; #[derive(Debug, Clone, Copy, Eq, PartialEq, Default)] pub struct UserSaId { diff --git a/src/user_sa_info.rs b/src/user_sa_info.rs index 0deb967..2664fbd 100644 --- a/src/user_sa_info.rs +++ b/src/user_sa_info.rs @@ -1,8 +1,9 @@ // SPDX-License-Identifier: MIT -use anyhow::Context; - use core::ops::Range; +use std::net::IpAddr; + +use netlink_packet_core::{DecodeError, Emitable, ErrorContext, Parseable}; use crate::{ constants::{AF_INET, AF_INET6}, @@ -11,8 +12,6 @@ use crate::{ StatsBuffer, XFRM_ADDRESS_LEN, XFRM_ID_LEN, XFRM_LIFETIME_CONFIG_LEN, XFRM_LIFETIME_LEN, XFRM_SELECTOR_LEN, XFRM_STATS_LEN, }; -use netlink_packet_utils::{buffer, traits::*, DecodeError}; -use std::net::IpAddr; #[derive(Debug, Clone, Copy, Eq, PartialEq, Default)] pub struct UserSaInfo { diff --git a/src/user_spi_info.rs b/src/user_spi_info.rs index a4d8556..939ab38 100644 --- a/src/user_spi_info.rs +++ b/src/user_spi_info.rs @@ -1,16 +1,14 @@ // SPDX-License-Identifier: MIT -use anyhow::Context; - use core::ops::Range; +use netlink_packet_core::{DecodeError, Emitable, ErrorContext, Parseable}; + use crate::{ constants::IPPROTO_COMP, UserSaInfo, UserSaInfoBuffer, XFRM_USER_SA_INFO_LEN, }; -use netlink_packet_utils::{buffer, traits::*, DecodeError}; - #[derive(Debug, Clone, Copy, Eq, PartialEq)] pub struct UserSpiInfo { pub info: UserSaInfo,