Skip to content

Commit ca06fdd

Browse files
committed
rust/dns: convert to nom 8.0
1 parent 698052e commit ca06fdd

2 files changed

Lines changed: 12 additions & 12 deletions

File tree

rust/src/dns/dns.rs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -29,8 +29,8 @@ use crate::dns::parser;
2929
use crate::flow::Flow;
3030
use crate::frames::Frame;
3131

32-
use nom7::number::streaming::be_u16;
33-
use nom7::{Err, IResult};
32+
use nom8::number::streaming::be_u16;
33+
use nom8::{Err, IResult};
3434
use suricata_sys::sys::{
3535
AppLayerParserState, AppProto, DetectEngineThreadCtx, SCAppLayerParserConfParserEnabled,
3636
SCAppLayerProtoDetectConfProtoDetectionEnabled,

rust/src/dns/parser.rs

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -19,11 +19,11 @@
1919
2020
use crate::detect::EnumString;
2121
use crate::dns::dns::*;
22-
use nom7::combinator::rest;
23-
use nom7::error::ErrorKind;
24-
use nom7::multi::{count, length_data};
25-
use nom7::number::streaming::{be_u16, be_u32, be_u8};
26-
use nom7::{error_position, Err, IResult};
22+
use nom8::combinator::rest;
23+
use nom8::error::ErrorKind;
24+
use nom8::multi::{count, length_data};
25+
use nom8::number::streaming::{be_u16, be_u32, be_u8};
26+
use nom8::{error_position, Err, IResult, Parser};
2727

2828
// Set a maximum assembled hostname length of 1025, this value was
2929
// chosen as its what DNSMasq uses, a popular DNS server, even if most
@@ -81,7 +81,7 @@ fn dns_parse_name<'b>(
8181
pos = &pos[1..];
8282
break;
8383
} else if len & 0b1100_0000 == 0 {
84-
let (rem, label) = length_data(be_u8)(pos)?;
84+
let (rem, label) = length_data(be_u8).parse(pos)?;
8585
if !flags.contains(DNSNameFlags::TRUNCATED) {
8686
if !name.is_empty() {
8787
name.push(b'.');
@@ -192,7 +192,7 @@ fn dns_parse_answer<'a>(
192192
let (i, rrtype) = be_u16(i)?;
193193
let (i, rrclass) = be_u16(i)?;
194194
let (i, ttl) = be_u32(i)?;
195-
let (i, data) = length_data(be_u16)(i)?;
195+
let (i, data) = length_data(be_u16).parse(i)?;
196196
let answer = Answer {
197197
name,
198198
rrtype,
@@ -345,7 +345,7 @@ fn dns_parse_rdata_txt(input: &[u8]) -> IResult<&[u8], DNSRData> {
345345
let mut i = input;
346346

347347
while !i.is_empty() {
348-
let (j, txt) = length_data(be_u8)(i)?;
348+
let (j, txt) = length_data(be_u8).parse(i)?;
349349
txt_strings.push(txt.to_vec());
350350
i = j;
351351
}
@@ -378,7 +378,7 @@ fn dns_parse_rdata_opt(input: &[u8]) -> IResult<&[u8], DNSRData> {
378378

379379
while !i.is_empty() {
380380
let (j, code) = be_u16(i)?;
381-
let (j, data) = length_data(be_u16)(j)?;
381+
let (j, data) = length_data(be_u16).parse(j)?;
382382
i = j;
383383
dns_rdata_opt_vec.push(DNSRDataOPT {
384384
code,
@@ -440,7 +440,7 @@ pub fn dns_parse_body<'a>(
440440
let (i, queries) = count(
441441
|b| dns_parse_query(b, message, &mut flags),
442442
header.questions as usize,
443-
)(i)?;
443+
).parse(i)?;
444444
let (i, answers) = dns_parse_answer(i, message, header.answer_rr as usize, &mut flags)?;
445445

446446
let mut invalid_authorities = false;

0 commit comments

Comments
 (0)