From 1e4b812273680d548cc97240aaff677a31089177 Mon Sep 17 00:00:00 2001 From: Will Greenberg Date: Wed, 24 Jun 2026 12:24:01 -0700 Subject: [PATCH] lib: refactor gsmtap/gsmtap_parser into a single module This'll allow us to break out more specific GSMTAP parsing into submodules more easily. --- check/src/main.rs | 2 +- daemon/src/pcap.rs | 2 +- lib/src/analysis/analyzer.rs | 2 +- lib/src/{gsmtap.rs => gsmtap/mod.rs} | 2 ++ lib/src/{gsmtap_parser.rs => gsmtap/parser.rs} | 0 lib/src/lib.rs | 1 - lib/tests/test_lte_parsing.rs | 2 +- 7 files changed, 6 insertions(+), 5 deletions(-) rename lib/src/{gsmtap.rs => gsmtap/mod.rs} (99%) rename lib/src/{gsmtap_parser.rs => gsmtap/parser.rs} (100%) diff --git a/check/src/main.rs b/check/src/main.rs index 93db6da..7faa356 100644 --- a/check/src/main.rs +++ b/check/src/main.rs @@ -3,7 +3,7 @@ use log::{debug, error, info, warn}; use pcap_file_tokio::pcapng::{Block, PcapNgReader}; use rayhunter::{ analysis::analyzer::{AnalysisRow, AnalyzerConfig, EventType, Harness}, - gsmtap_parser, + gsmtap::parser as gsmtap_parser, pcap::GsmtapPcapWriter, qmdl::QmdlMessageReader, }; diff --git a/daemon/src/pcap.rs b/daemon/src/pcap.rs index 8af85e3..50a4c30 100644 --- a/daemon/src/pcap.rs +++ b/daemon/src/pcap.rs @@ -10,7 +10,7 @@ use axum::http::StatusCode; use axum::http::header::CONTENT_TYPE; use axum::response::{IntoResponse, Response}; use log::error; -use rayhunter::gsmtap_parser; +use rayhunter::gsmtap::parser as gsmtap_parser; use rayhunter::pcap::{GpsPoint, GsmtapPcapWriter}; use rayhunter::qmdl::QmdlMessageReader; use std::sync::Arc; diff --git a/lib/src/analysis/analyzer.rs b/lib/src/analysis/analyzer.rs index bd6db9a..52e97ac 100644 --- a/lib/src/analysis/analyzer.rs +++ b/lib/src/analysis/analyzer.rs @@ -8,7 +8,7 @@ use crate::analysis::diagnostic::DiagnosticAnalyzer; use crate::diag::{DiagParsingError, Message}; use crate::gsmtap::{GsmtapHeader, GsmtapMessage, GsmtapType}; use crate::util::RuntimeMetadata; -use crate::{diag::MessagesContainer, gsmtap_parser}; +use crate::{diag::MessagesContainer, gsmtap::parser as gsmtap_parser}; use super::{ connection_redirect_downgrade::ConnectionRedirect2GDowngradeAnalyzer, diff --git a/lib/src/gsmtap.rs b/lib/src/gsmtap/mod.rs similarity index 99% rename from lib/src/gsmtap.rs rename to lib/src/gsmtap/mod.rs index 0503edd..d40c82d 100644 --- a/lib/src/gsmtap.rs +++ b/lib/src/gsmtap/mod.rs @@ -3,6 +3,8 @@ use deku::prelude::*; use num_enum::TryFromPrimitive; +pub mod parser; + #[derive(Debug, Copy, Clone, PartialEq)] pub enum GsmtapType { Um(UmSubtype), diff --git a/lib/src/gsmtap_parser.rs b/lib/src/gsmtap/parser.rs similarity index 100% rename from lib/src/gsmtap_parser.rs rename to lib/src/gsmtap/parser.rs diff --git a/lib/src/lib.rs b/lib/src/lib.rs index 0dae5e0..a649960 100644 --- a/lib/src/lib.rs +++ b/lib/src/lib.rs @@ -15,7 +15,6 @@ pub mod analysis; pub mod clock; pub mod diag; pub mod gsmtap; -pub mod gsmtap_parser; pub mod hdlc; pub mod log_codes; pub mod pcap; diff --git a/lib/tests/test_lte_parsing.rs b/lib/tests/test_lte_parsing.rs index f35ce9e..fc913a3 100644 --- a/lib/tests/test_lte_parsing.rs +++ b/lib/tests/test_lte_parsing.rs @@ -2,7 +2,7 @@ use deku::prelude::*; use rayhunter::{ diag::Message, diag::diaglog::{LogBody, rrc::LteRrcOtaPacket, Timestamp}, - gsmtap_parser, + gsmtap::parser as gsmtap_parser, }; // Tests here are based on https://github.com/fgsect/scat/blob/97442580e628de414c9f7c2a185f4e28d0ee7523/tests/test_diagltelogparser.py