Skip to content

Commit 16656a2

Browse files
committed
rust/ftp: update to nom 8
Ticket: OISF#8026
1 parent c327443 commit 16656a2

1 file changed

Lines changed: 37 additions & 37 deletions

File tree

rust/src/ftp/mod.rs

Lines changed: 37 additions & 37 deletions
Original file line numberDiff line numberDiff line change
@@ -17,11 +17,11 @@
1717

1818
//! FTP parser and application layer module.
1919
20-
use nom7::bytes::complete::{tag, take_until};
21-
use nom7::character::complete::{digit1, multispace0};
22-
use nom7::combinator::{complete, map_res, opt, verify};
23-
use nom7::sequence::{delimited, tuple};
24-
use nom7::{Err, IResult};
20+
use nom8::bytes::complete::{tag, take_until};
21+
use nom8::character::complete::{digit1, multispace0};
22+
use nom8::combinator::{complete, map_res, opt, verify};
23+
use nom8::sequence::delimited;
24+
use nom8::{Err, IResult, Parser};
2525
use std;
2626
use std::str;
2727
use std::str::FromStr;
@@ -39,38 +39,38 @@ fn getu16(i: &[u8]) -> IResult<&[u8], u16> {
3939
map_res(
4040
map_res(delimited(multispace0, digit1, multispace0), str::from_utf8),
4141
FromStr::from_str,
42-
)(i)
42+
).parse(i)
4343
}
4444

4545
fn parse_u16(i: &[u8]) -> IResult<&[u8], u16> {
46-
map_res(map_res(digit1, str::from_utf8), u16::from_str)(i)
46+
map_res(map_res(digit1, str::from_utf8), u16::from_str).parse(i)
4747
}
4848

4949
// PORT 192,168,0,13,234,10
5050
fn ftp_active_port(i: &[u8]) -> IResult<&[u8], u16> {
51-
let (i, _) = tag("PORT")(i)?;
52-
let (i, _) = delimited(multispace0, digit1, multispace0)(i)?;
53-
let (i, _) = tuple((
51+
let (i, _) = tag("PORT").parse(i)?;
52+
let (i, _) = delimited(multispace0, digit1, multispace0).parse(i)?;
53+
let (i, _) = (
5454
tag(","),
5555
digit1,
5656
tag(","),
5757
digit1,
5858
tag(","),
5959
digit1,
6060
tag(","),
61-
))(i)?;
62-
let (i, part1) = verify(parse_u16, |&v| v <= u8::MAX as u16)(i)?;
63-
let (i, _) = tag(",")(i)?;
64-
let (i, part2) = verify(parse_u16, |&v| v <= u8::MAX as u16)(i)?;
61+
).parse(i)?;
62+
let (i, part1) = verify(parse_u16, |&v| v <= u8::MAX as u16).parse(i)?;
63+
let (i, _) = tag(",").parse(i)?;
64+
let (i, part2) = verify(parse_u16, |&v| v <= u8::MAX as u16).parse(i)?;
6565
Ok((i, part1 * 256 + part2))
6666
}
6767

6868
// 227 Entering Passive Mode (212,27,32,66,221,243).
6969
fn ftp_pasv_response(i: &[u8]) -> IResult<&[u8], u16> {
70-
let (i, _) = tag("227")(i)?;
71-
let (i, _) = take_until("(")(i)?;
72-
let (i, _) = tag("(")(i)?;
73-
let (i, _) = tuple((
70+
let (i, _) = tag("227").parse(i)?;
71+
let (i, _) = take_until("(").parse(i)?;
72+
let (i, _) = tag("(").parse(i)?;
73+
let (i, _) = (
7474
digit1,
7575
tag(","),
7676
digit1,
@@ -79,13 +79,13 @@ fn ftp_pasv_response(i: &[u8]) -> IResult<&[u8], u16> {
7979
tag(","),
8080
digit1,
8181
tag(","),
82-
))(i)?;
83-
let (i, part1) = verify(getu16, |&v| v <= u8::MAX as u16)(i)?;
84-
let (i, _) = tag(",")(i)?;
85-
let (i, part2) = verify(getu16, |&v| v <= u8::MAX as u16)(i)?;
82+
).parse(i)?;
83+
let (i, part1) = verify(getu16, |&v| v <= u8::MAX as u16).parse(i)?;
84+
let (i, _) = tag(",").parse(i)?;
85+
let (i, part2) = verify(getu16, |&v| v <= u8::MAX as u16).parse(i)?;
8686
// may also be completed by a final point
87-
let (i, _) = tag(")")(i)?;
88-
let (i, _) = opt(complete(tag(".")))(i)?;
87+
let (i, _) = tag(")").parse(i)?;
88+
let (i, _) = opt(complete(tag("."))).parse(i)?;
8989
Ok((i, part1 * 256 + part2))
9090
}
9191

@@ -131,26 +131,26 @@ pub unsafe extern "C" fn SCFTPParsePortPasv(input: *const u8, len: u32) -> u16 {
131131

132132
// 229 Entering Extended Passive Mode (|||48758|).
133133
pub fn ftp_epsv_response(i: &[u8]) -> IResult<&[u8], u16> {
134-
let (i, _) = tag("229")(i)?;
135-
let (i, _) = take_until("|||")(i)?;
136-
let (i, _) = tag("|||")(i)?;
134+
let (i, _) = tag("229").parse(i)?;
135+
let (i, _) = take_until("|||").parse(i)?;
136+
let (i, _) = tag("|||").parse(i)?;
137137
let (i, port) = getu16(i)?;
138-
let (i, _) = tag("|)")(i)?;
139-
let (i, _) = opt(complete(tag(".")))(i)?;
138+
let (i, _) = tag("|)").parse(i)?;
139+
let (i, _) = opt(complete(tag("."))).parse(i)?;
140140
Ok((i, port))
141141
}
142142

143143
// EPRT |2|2a01:e34:ee97:b130:8c3e:45ea:5ac6:e301|41813|
144144
fn ftp_active_eprt(i: &[u8]) -> IResult<&[u8], u16> {
145-
let (i, _) = tag("EPRT")(i)?;
146-
let (i, _) = take_until("|")(i)?;
147-
let (i, _) = tag("|")(i)?;
148-
let (i, _) = take_until("|")(i)?;
149-
let (i, _) = tag("|")(i)?;
150-
let (i, _) = take_until("|")(i)?;
151-
let (i, _) = tag("|")(i)?;
145+
let (i, _) = tag("EPRT").parse(i)?;
146+
let (i, _) = take_until("|").parse(i)?;
147+
let (i, _) = tag("|").parse(i)?;
148+
let (i, _) = take_until("|").parse(i)?;
149+
let (i, _) = tag("|").parse(i)?;
150+
let (i, _) = take_until("|").parse(i)?;
151+
let (i, _) = tag("|").parse(i)?;
152152
let (i, port) = getu16(i)?;
153-
let (i, _) = tag("|")(i)?;
153+
let (i, _) = tag("|").parse(i)?;
154154
Ok((i, port))
155155
}
156156

0 commit comments

Comments
 (0)