Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit b2b49176 authored by David Duarte's avatar David Duarte Committed by Charlie Boutier
Browse files

RootCanal: Fix hci sniffer packet direction endianness

As specified on https://www.tcpdump.org/linktypes.html
LINKTYPE_BLUETOOTH_HCI_H4_WITH_PHDR, the direction should
be in big endian

Bug: 241962982
Bug: 242184809
Test: Look at pcap with wireshark
Ignore-AOSP-First: Cherry-picked from AOSP
Merged-In: Iad2247e90fb77f29a830066243fa2066c3606315
Change-Id: Iad2247e90fb77f29a830066243fa2066c3606315
parent aa58fe0b
Loading
Loading
Loading
Loading
+2 −2
Original line number Diff line number Diff line
@@ -42,10 +42,10 @@ void HciSniffer::AppendRecord(PacketDirection packet_direction,
  pcap::WriteRecordHeader(*output_, 4 + 1 + packet.size());

  // http://www.tcpdump.org/linktypes.html LINKTYPE_BLUETOOTH_HCI_H4_WITH_PHDR
  uint32_t direction = static_cast<uint32_t>(packet_direction);
  char direction[4] = {0, 0, 0, static_cast<char>(packet_direction)};
  uint8_t idc = static_cast<uint8_t>(packet_type);

  output_->write((char*)&direction, 4);
  output_->write(direction, sizeof(direction));
  output_->write((char*)&idc, 1);
  output_->write((char*)packet.data(), packet.size());
  output_->flush();