Log if h4 type is unknown

This commit is contained in:
Jackson Coxson
2025-10-14 10:53:05 -06:00
parent 7507b9609c
commit b0f871af99
2 changed files with 3 additions and 8 deletions

View File

@@ -5,7 +5,7 @@
use std::pin::Pin; use std::pin::Pin;
use futures::Stream; use futures::Stream;
use log::{debug, warn}; use log::warn;
use crate::{Idevice, IdeviceError, IdeviceService, obf}; use crate::{Idevice, IdeviceError, IdeviceService, obf};
@@ -148,13 +148,6 @@ impl BtPacketLoggerClient {
let kind = BtPacketKind::from_byte(frame[off]); let kind = BtPacketKind::from_byte(frame[off]);
let payload = &frame[off + 1..]; let payload = &frame[off + 1..];
// soft advisory check
let advisory = hdr.length as usize;
let actual = 1 + payload.len();
if advisory != actual {
debug!("BTPacketLogger advisory length {} != actual {}", advisory, actual);
}
// make H4 buffer // make H4 buffer
let mut h4 = Vec::with_capacity(1 + payload.len()); let mut h4 = Vec::with_capacity(1 + payload.len());
if let Some(t) = kind.h4_type() { if let Some(t) = kind.h4_type() {

View File

@@ -1,4 +1,5 @@
use idevice::bt_packet_logger::BtPacketKind; use idevice::bt_packet_logger::BtPacketKind;
use log::warn;
use tokio::io::{AsyncWrite, AsyncWriteExt}; use tokio::io::{AsyncWrite, AsyncWriteExt};
// Classic PCAP (big-endian) global header for DLT_BLUETOOTH_HCI_H4_WITH_PHDR (201) // Classic PCAP (big-endian) global header for DLT_BLUETOOTH_HCI_H4_WITH_PHDR (201)
@@ -40,6 +41,7 @@ pub async fn write_pcap_record<W: AsyncWrite + Unpin>(
) -> std::io::Result<()> { ) -> std::io::Result<()> {
// Prepend 4-byte direction flag to the packet body // Prepend 4-byte direction flag to the packet body
let Some(dir) = dir_flag(kind) else { let Some(dir) = dir_flag(kind) else {
warn!("Unknown H4 packet type: {kind:?}");
return Ok(()); return Ok(());
}; };
let cap_len = 4u32 + h4_payload.len() as u32; let cap_len = 4u32 + h4_payload.len() as u32;