1818use digest:: Digest ;
1919use digest:: Update ;
2020use md5:: Md5 ;
21- use nom7 :: branch:: alt;
22- use nom7 :: bytes:: streaming:: { is_not, tag, take, take_while} ;
23- use nom7 :: character:: streaming:: char;
24- use nom7 :: combinator:: { complete, eof, not, rest, verify} ;
25- use nom7 :: multi:: length_data;
26- use nom7 :: number:: streaming:: { be_u32, be_u8} ;
27- use nom7 :: sequence:: terminated;
28- use nom7 :: IResult ;
21+ use nom8 :: branch:: alt;
22+ use nom8 :: bytes:: streaming:: { is_not, tag, take, take_while} ;
23+ use nom8 :: character:: streaming:: char;
24+ use nom8 :: combinator:: { complete, eof, not, rest, verify} ;
25+ use nom8 :: multi:: length_data;
26+ use nom8 :: number:: streaming:: { be_u32, be_u8} ;
27+ use nom8 :: sequence:: terminated;
28+ use nom8 :: { IResult , Parser } ;
2929use std:: fmt;
3030
3131#[ derive( PartialEq , Eq , Copy , Clone , Debug ) ]
@@ -74,13 +74,13 @@ fn is_not_lineend(b: u8) -> bool {
7474pub fn ssh_parse_line ( i : & [ u8 ] ) -> IResult < & [ u8 ] , & [ u8 ] > {
7575 fn parser ( i : & [ u8 ] ) -> IResult < & [ u8 ] , & [ u8 ] > {
7676 let ( i, bytes) = tag ( "\r " ) ( i) ?;
77- let ( i, _) = not ( eof) ( i) ?;
77+ let ( i, _) = not ( eof) . parse ( i) ?;
7878 Ok ( ( i, bytes) )
7979 }
8080 terminated (
8181 take_while ( is_not_lineend) ,
8282 alt ( ( tag ( "\n " ) , tag ( "\r \n " ) , parser) ) ,
83- ) ( i)
83+ ) . parse ( i)
8484}
8585
8686#[ derive( PartialEq , Eq ) ]
@@ -95,7 +95,7 @@ pub fn ssh_parse_banner(i: &[u8]) -> IResult<&[u8], SshBanner<'_>> {
9595 let ( i, _) = tag ( "SSH-" ) ( i) ?;
9696 let ( i, protover) = is_not ( "-" ) ( i) ?;
9797 let ( i, _) = char ( '-' ) ( i) ?;
98- let ( i, swver) = alt ( ( complete ( is_not ( " \r \n " ) ) , rest) ) ( i) ?;
98+ let ( i, swver) = alt ( ( complete ( is_not ( " \r \n " ) ) , rest) ) . parse ( i) ?;
9999 //remaining after space is comments
100100 Ok ( ( i, SshBanner { protover, swver } ) )
101101}
@@ -118,7 +118,7 @@ impl fmt::Display for SshRecordHeader {
118118}
119119
120120pub fn ssh_parse_record_header ( i : & [ u8 ] ) -> IResult < & [ u8 ] , SshRecordHeader > {
121- let ( i, pkt_len) = verify ( be_u32, |& val| val > 1 ) ( i) ?;
121+ let ( i, pkt_len) = verify ( be_u32, |& val| val > 1 ) . parse ( i) ?;
122122 let ( i, padding_len) = be_u8 ( i) ?;
123123 let ( i, msg_code) = be_u8 ( i) ?;
124124 Ok ( (
@@ -133,7 +133,7 @@ pub fn ssh_parse_record_header(i: &[u8]) -> IResult<&[u8], SshRecordHeader> {
133133
134134//test for evasion against pkt_len=0or1...
135135pub fn ssh_parse_record ( i : & [ u8 ] ) -> IResult < & [ u8 ] , SshRecordHeader > {
136- let ( i, pkt_len) = verify ( be_u32, |& val| val > 1 ) ( i) ?;
136+ let ( i, pkt_len) = verify ( be_u32, |& val| val > 1 ) . parse ( i) ?;
137137 let ( i, padding_len) = be_u8 ( i) ?;
138138 let ( i, msg_code) = be_u8 ( i) ?;
139139 let ( i, _) = take ( ( pkt_len - 2 ) as usize ) ( i) ?;
@@ -203,7 +203,7 @@ impl SshPacketKeyExchange<'_> {
203203
204204#[ inline]
205205fn parse_string ( i : & [ u8 ] ) -> IResult < & [ u8 ] , & [ u8 ] > {
206- length_data ( be_u32) ( i)
206+ length_data ( be_u32) . parse ( i)
207207}
208208
209209pub fn ssh_parse_key_exchange ( i : & [ u8 ] ) -> IResult < & [ u8 ] , SshPacketKeyExchange < ' _ > > {
@@ -244,7 +244,7 @@ pub fn ssh_parse_key_exchange(i: &[u8]) -> IResult<&[u8], SshPacketKeyExchange<'
244244mod tests {
245245
246246 use super :: * ;
247- use nom7 :: { Err , Needed } ;
247+ use nom8 :: { Err , Needed } ;
248248
249249 /// Simple test of some valid data.
250250 #[ test]
0 commit comments