Commit Graph

95 Commits

Author SHA1 Message Date
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
Markus Unterwaditzer e320874854 Remove PartialEq, Clone, Serialize from LTE RRC parser
Compiling telecom-parser takes 2 minutes on my machine. After removing
those derives it takes 1:15. I suspect it's mostly serde though.
2025-07-15 15:21:02 -07:00
Simon Fondrie-Teitler 5019f2a9d1 Bump Rust edition to 2024
Includes new cargo fmt changes
2025-06-28 00:13:15 +02:00
Simon Fondrie-Teitler ed3072eb8e also run formatter 2025-06-27 23:23:27 +02:00
Simon Fondrie-Teitler 94289dcad5 Fix clippy complaints 2025-06-27 23:23:27 +02:00
Cooper Quintin 23a0f72c2f cargo fmt 2025-06-24 12:52:33 -07:00
Will Greenberg efae6203a9 rm unneeded comment 2025-06-24 12:52:33 -07:00
Will Greenberg 2e4de4a2df lib: Use pycrate-rs NAS parser 2025-06-24 12:52:33 -07:00
Markus Unterwaditzer be6f29dcf1 Add exponential backoff 2025-06-23 22:47:34 +02:00
Markus Unterwaditzer d166dfc13d get config and set config 2025-06-20 11:47:40 +02:00
Markus Unterwaditzer 9b759e6b42 add basic restart endpoint 2025-06-20 11:47:40 +02:00
Cooper Quintin 2634271715 re-enable null cipher and update docs 2025-06-17 16:30:22 -07:00
Markus Unterwaditzer 86e08f9a85 Allow enabling/disabling analyzers from config file (#382)
Co-authored-by: Will Greenberg <willg@eff.org>
2025-06-10 21:37:38 +02:00
Markus Unterwaditzer 2915dea9e9 Remove dead code and default features 2025-05-30 10:21:30 -07:00
Markus Unterwaditzer 6941bc57b6 Fix issues on TP-Link v9
* Fix autostart by adding another port trigger for rayhunter-daemon
* Use Orbic's IOCTL params as fallback
* Fix sdcard path and make it configurable
* Update docs to indicate support
* Add uninstalling instructions for TP-Link
2025-05-30 10:14:51 -07:00
Cooper Quintin c569101c36 Merge branch 'main' into frontend-rework 2025-04-28 17:19:28 -07:00
Markus Unterwaditzer 32b67df55d Fix clippy lints and upgrade deku
Old version of deku was throwing clippy lints in generated code
2025-04-25 11:57:33 -07:00
oopsbagel e04b78f0e0 ci: use rust-lld for all release targets
Removes dependency on gcc-based cross-compilation toolchain.
2025-04-25 11:55:23 -07:00
Will Greenberg b95ff90e5e cargo fmt 2025-04-24 13:23:29 -07:00
Will Greenberg 057c9acb40 wip 2025-04-14 11:59:54 -07:00
oopsbagel 9fe75ac961 chore: cargo fmt 2025-04-14 11:49:24 -07:00
Cooper Quintin 1b29cf0dee Merge branch 'main' into build-features 2025-04-11 10:38:49 -07:00
oopsbagel 01e762a3d6 fix(lib): enable building for windows targets
- conditionally build diag_device.rs only for unix
- use build time target for runtime metadata on unix
2025-04-11 10:07:02 -07:00
Markus Unterwaditzer 3dc373f0d3 add code comment 2025-04-08 21:21:20 +02:00
Markus Unterwaditzer 499b86aca6 Add build features for multiple device types
The bin crate now has two features, one for each supported device.

* The IOCTL change from #142 is compiled in conditionally.
* Tp-link display is supported & tested for HW rev 3 and HW rev 5.

The release tarballs now contain two rayhunter-daemon binaries, for
orbic and tplink. An installer for tplink is not yet included.

Co-authored-by: m0veax <m0veax@chaospott.de>
2025-04-07 21:15:32 +02:00
Sashanoraa 04652d2097 Add implement Default on types with ::new
This fixes a clippy lint warning
2025-03-27 11:57:01 -07:00
Sashanoraa 034e0632e4 Box some of the larger information element enum variants
An enum is always the size needed to store its largest variant. Some of
the variants of the InformationElement and LteInformationElement are
substantially larger than the rest. Boxing the larger variants reduces
the size of the enum, in some cases by several kilobytes.

Since Rust does not currently support destructing a Box via pattern
matching, some code that destructures these enums had to be modified.
2025-03-27 11:57:01 -07:00