From 3dcc6c2a5d7f20f1ac3d2cbd772d51bbd02a2f45 Mon Sep 17 00:00:00 2001 From: zhangyao2022 Date: Mon, 27 Nov 2023 10:44:12 +0800 Subject: [PATCH] fix: fixed ListenNetlink parsing --- core/coms/socket/src/config.rs | 2 +- core/coms/socket/src/rentry.rs | 8 ++++++-- 2 files changed, 7 insertions(+), 3 deletions(-) diff --git a/core/coms/socket/src/config.rs b/core/coms/socket/src/config.rs index 3ef412f3..c53e275a 100644 --- a/core/coms/socket/src/config.rs +++ b/core/coms/socket/src/config.rs @@ -206,7 +206,7 @@ impl SocketConfig { let config = &self.data.borrow().Socket; self.parse_sockets(config.ListenStream.as_ref(), ListenItem::Stream)?; self.parse_sockets(config.ListenDatagram.as_ref(), ListenItem::Datagram)?; - self.parse_sockets(&[config.ListenNetlink.clone()], ListenItem::Netlink)?; + self.parse_sockets(config.ListenNetlink.as_ref(), ListenItem::Netlink)?; self.parse_sockets( config.ListenSequentialPacket.as_ref(), ListenItem::SequentialPacket, diff --git a/core/coms/socket/src/rentry.rs b/core/coms/socket/src/rentry.rs index b6165249..50b0b0e5 100644 --- a/core/coms/socket/src/rentry.rs +++ b/core/coms/socket/src/rentry.rs @@ -42,6 +42,10 @@ fn deserialize_pathbuf_vec(s: &str) -> Result, core::error::Error> Ok(res) } +fn deserialize_netlink_vec(s: &str) -> Result, core::error::Error> { + Ok(vec![s.to_string()]) +} + #[derive(UnitSection, Default, Clone, Debug, Serialize, Deserialize)] #[allow(dead_code)] pub(super) struct SectionSocket { @@ -60,8 +64,8 @@ pub(super) struct SectionSocket { pub ListenStream: Vec, #[entry(append)] pub ListenDatagram: Vec, - #[entry(default = String::new())] - pub ListenNetlink: String, + #[entry(append, parser = deserialize_netlink_vec)] + pub ListenNetlink: Vec, #[entry(append)] pub ListenSequentialPacket: Vec, #[entry(append)] -- Gitee