@@ -8,8 +8,8 @@ use futures::{
88 FutureExt ,
99} ;
1010use netlink_packet_core:: {
11- NetlinkMessage , NetlinkPayload , NLM_F_ACK , NLM_F_CREATE , NLM_F_DUMP , NLM_F_EXCL , NLM_F_NONREC ,
12- NLM_F_REQUEST ,
11+ NetlinkMessage , NetlinkPayload , NLM_F_ACK , NLM_F_CREATE , NLM_F_DUMP ,
12+ NLM_F_EXCL , NLM_F_NONREC , NLM_F_REQUEST ,
1313} ;
1414use netlink_proto:: { sys:: SocketAddr , ConnectionHandle } ;
1515
@@ -62,7 +62,10 @@ impl Handle {
6262 /// Send a netlink message that expects an acknowledgement. The returned
6363 /// future resolved when that ACK is received. If anything else is
6464 /// received, the future resolves into an error.
65- async fn acked_request ( & mut self , message : NetlinkMessage < AuditMessage > ) -> Result < ( ) , Error > {
65+ async fn acked_request (
66+ & mut self ,
67+ message : NetlinkMessage < AuditMessage > ,
68+ ) -> Result < ( ) , Error > {
6669 let mut response = self . request ( message) ?;
6770 if let Some ( message) = response. next ( ) . await {
6871 let ( header, payload) = message. into_parts ( ) ;
@@ -83,7 +86,8 @@ impl Handle {
8386 /// Add the given rule
8487 pub async fn add_rule ( & mut self , rule : RuleMessage ) -> Result < ( ) , Error > {
8588 let mut req = NetlinkMessage :: from ( AuditMessage :: AddRule ( rule) ) ;
86- req. header . flags = NLM_F_REQUEST | NLM_F_ACK | NLM_F_EXCL | NLM_F_CREATE ;
89+ req. header . flags =
90+ NLM_F_REQUEST | NLM_F_ACK | NLM_F_EXCL | NLM_F_CREATE ;
8791 self . acked_request ( req) . await
8892 }
8993
@@ -95,24 +99,30 @@ impl Handle {
9599 }
96100
97101 /// List the current rules
98- pub fn list_rules ( & mut self ) -> impl TryStream < Ok = RuleMessage , Error = Error > {
102+ pub fn list_rules (
103+ & mut self ,
104+ ) -> impl TryStream < Ok = RuleMessage , Error = Error > {
99105 let mut req = NetlinkMessage :: from ( AuditMessage :: ListRules ( None ) ) ;
100106 req. header . flags = NLM_F_REQUEST | NLM_F_DUMP ;
101107
102108 match self . request ( req) {
103109 Ok ( response) => Either :: Left ( response. map ( move |msg| {
104110 let ( header, payload) = msg. into_parts ( ) ;
105111 match payload {
106- NetlinkPayload :: InnerMessage ( AuditMessage :: ListRules ( Some ( rule_msg) ) ) => {
107- Ok ( rule_msg)
112+ NetlinkPayload :: InnerMessage ( AuditMessage :: ListRules (
113+ Some ( rule_msg) ,
114+ ) ) => Ok ( rule_msg) ,
115+ NetlinkPayload :: Error ( err_msg) => {
116+ Err ( Error :: NetlinkError ( err_msg) )
108117 }
109- NetlinkPayload :: Error ( err_msg) => Err ( Error :: NetlinkError ( err_msg) ) ,
110118 _ => Err ( Error :: UnexpectedMessage ( NetlinkMessage :: new (
111119 header, payload,
112120 ) ) ) ,
113121 }
114122 } ) ) ,
115- Err ( e) => Either :: Right ( future:: err :: < RuleMessage , Error > ( e) . into_stream ( ) ) ,
123+ Err ( e) => Either :: Right (
124+ future:: err :: < RuleMessage , Error > ( e) . into_stream ( ) ,
125+ ) ,
116126 }
117127 }
118128
@@ -136,10 +146,15 @@ impl Handle {
136146 let response = request. next ( ) . await . ok_or ( Error :: RequestFailed ) ?;
137147
138148 match response. into_parts ( ) {
139- ( _, NetlinkPayload :: InnerMessage ( AuditMessage :: GetStatus ( Some ( status) ) ) ) => Ok ( status) ,
140- ( header, payload) => Err ( Error :: UnexpectedMessage ( NetlinkMessage :: new (
141- header, payload,
142- ) ) ) ,
149+ (
150+ _,
151+ NetlinkPayload :: InnerMessage ( AuditMessage :: GetStatus ( Some (
152+ status,
153+ ) ) ) ,
154+ ) => Ok ( status) ,
155+ ( header, payload) => Err ( Error :: UnexpectedMessage (
156+ NetlinkMessage :: new ( header, payload) ,
157+ ) ) ,
143158 }
144159 }
145160}
0 commit comments