Commit Graph

171 Commits

Author SHA1 Message Date
Markus Unterwaditzer b43217ef35 Fix compilation errors 2026-02-04 10:54:23 -08:00
Cooper Quintin 40a0dec361 appease clippy 2026-02-04 10:54:23 -08:00
Cooper Quintin b2d5ed356f cargo fmt 2026-02-04 10:54:23 -08:00
Cooper Quintin 6033757ddb compare gsm and 3g priorities to LTE priorities and only alert if higher priority or only non LTE neighbors exist 2026-02-04 10:54:23 -08:00
kmille bd2329d6cc Show tracking area code for test heuristic in UI (#843) 2026-02-03 10:59:15 +01:00
Markus Unterwaditzer 81a193959c fix another diff in behavior 2026-01-06 17:42:26 +01:00
Markus Unterwaditzer 7209910c11 Fix deku 0.20 discriminant double-read in Nas4GMessage
Applied workaround from sharksforarms/deku#305 using:
  #[deku(skip, default = "log_type")]

Found using differential fuzzing.

This may be a bug in deku.
2026-01-06 17:42:26 +01:00
Markus Unterwaditzer 3615cbf2dd Upgrade deku to 0.20
Fix #748
2026-01-05 14:32:32 -08:00
Markus Unterwaditzer 61793179e5 Fix Message parser crashes found by fuzzing
These payloads would previous cause panic on underflow.

The fuzzing setup lives in
https://github.com/untitaker/rayhunter/tree/fuzz-wip -- I can eventually
upstream it though right now it runs very inefficiently.
2025-12-09 21:31:08 +01:00
Cooper Quintin f65e5708fc downgarde incomplete sib heuristic to informational 2025-09-24 11:07:48 -07:00
Cooper Quintin 15c0ba3805 cargo fmt 2025-09-05 13:22:42 -07:00
Cooper Quintin de4a622c68 decode with correct byte order. Fixes #562 2025-09-05 13:22:42 -07:00
Cooper Quintin a582715177 handle 2 digit MNC. Fixes #580 2025-09-05 13:22:42 -07:00
Brad Warren e216043a14 make analyze_information_element private 2025-09-02 15:18:33 -07:00
Brad Warren e2bc3a0a67 append packet num in harness & fix packet count 2025-09-02 15:18:33 -07:00
Brad Warren 87d6d1691a track packet num in analysis harness 2025-09-02 15:18:33 -07:00
Cooper Quintin bbab29ae0b Update lib/src/analysis/imsi_requested.rs
Co-authored-by: Markus Unterwaditzer <markus-tarpit+git@unterwaditzer.net>
2025-08-22 15:37:18 -07:00
Cooper Quintin 2a620fd1fb cargo fmt 2025-08-22 15:37:18 -07:00
Cooper Quintin 515bb40a76 fix false positive on identity requested without attach described in #557 2025-08-22 15:37:18 -07:00
Cooper Quintin 85f7b2cc81 refactor test analyzer for new format 2025-08-20 17:11:04 -07:00
Markus Unterwaditzer 781d11ed72 Expose severity to display
See https://github.com/EFForg/rayhunter/issues/334

Severity levels low, medium, high are now exposed to the UI in form of
dotted, dashed and solid lines. The line on the UI represents the
highest-so-far severity seen.

Originally this was intended to be represented by Yellow/Orange/Red, but
this would mean yet another divergence for colorblind mode. This is
colorblind-friendly by default (I think...)

As part of this, simplify EventType so that it becomes a flat "level"
enum without nested variants.

There is also a new debug endpoint that allows one to overwrite the
display level directly for testing.
2025-08-20 17:11:04 -07:00
Cooper Quintin 6927da49b4 cargo fmt 2025-08-20 14:48:47 -07:00
Cooper Quintin 479505f738 appease clippy 2025-08-20 14:48:47 -07:00
Cooper Quintin 468b07faf0 proper formatting for CID and PLMN 2025-08-20 14:48:47 -07:00
Cooper Quintin 493fdfa227 add docs 2025-08-20 14:48:47 -07:00
Cooper Quintin ffdad4aed8 add test analyzer 2025-08-20 14:48:47 -07:00
Markus Unterwaditzer 85b50bc301 Remove unpack! macro 2025-08-08 03:12:38 +02:00
Markus Unterwaditzer 5249714717 Fix clippy lints and warnings in Rust 1.89
This will also require Rust 1.89 due to if-let.
2025-08-08 03:02:07 +02:00
Andrej 7a053a4f89 uz801: cargo fmt run 2025-08-02 21:03:28 -04:00
Andrej c697773244 uz801: Add initial (experimental) support 2025-08-02 20:58:19 -04:00
Cooper Quintin ccce63e90c address comments 2025-07-24 16:44:59 -07:00
Cooper Quintin 68b13ea09e Update lib/src/analysis/incomplete_sib.rs
Co-authored-by: Will Greenberg <willg@eff.org>
2025-07-24 16:44:59 -07:00
Cooper Quintin fd216ecb72 add incomplete sib heuristic 2025-07-24 16:44:59 -07:00
Cooper Quintin 07d43b5924 remove unused heuristic 2025-07-24 16:44:59 -07:00
oopsbagel 8583064e46 installer: add pinephone and pinephonepro support 2025-07-24 09:48:41 -07:00
Cooper Quintin a346449ec5 cargo fmt 2025-07-18 11:19:07 -07:00
Cooper Quintin 464740a1a7 fix another false positive 2025-07-18 11:19:07 -07:00
Cooper Quintin e07b0b05e7 imsi requested version 2; remove most false positives 2025-07-17 18:43:07 -07:00
oopsbagel 29c944af45 diag_device: accept rayhunter::Device arg
Move daemon's config::Device to lib and toggle the extra tplink ioctl
based on Device::Tplink rather than passing a boolean.
2025-07-17 16:06:09 -07:00
oopsbagel 22d927aa25 unified rayhunter-daemon binary for all devices
Replace per-device features with config "display" field with the value
set at install time.
2025-07-17 16:06:09 -07:00
oopsbagel a72e4b2234 docs: minor fixes for <links>, npm from daemon/web 2025-07-16 17:29:38 -07:00
Cooper Quintin f9b621bde9 Update lib/src/analysis/nas_null_cipher.rs
Co-authored-by: Will Greenberg <willg@eff.org>
2025-07-16 15:25:11 -07:00
Cooper Quintin a4cb9454bd add version 2025-07-16 15:25:11 -07:00
Cooper Quintin b923d9d5a6 cargo fmt 2025-07-16 15:25:11 -07:00
Cooper Quintin 790c0963cd add nas null cipher analyzer 2025-07-16 15:25:11 -07:00
Will Greenberg 1a4deb7524 appease clippy 2025-07-16 13:20:14 -07:00
Will Greenberg 0585e0f996 run cargo fmt 2025-07-16 13:20:14 -07:00
Will Greenberg c783831e78 check: support pcaps
rayhunter-check will now analyze any PCAP files it finds in addition to
QMDL
2025-07-16 13:20:14 -07:00
Will Greenberg 83f246e9af lib: bump the analysis report version 2025-07-16 13:20:14 -07:00
Will Greenberg 0915103ede Flattens analysis structure a bit
Instead of mirroring the QMDL container format exactly, let our analysis
files just be flat lists of packet analysis. Also removes the dummy
analyzer and adds version numbers to analysis reports and Analyzers
2025-07-16 13:20:14 -07:00