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

Commit ef82338e authored by David Duarte's avatar David Duarte
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

Test: Look at pcap with wireshark
Change-Id: Iad2247e90fb77f29a830066243fa2066c3606315
parent fbc2d570
Loading
Loading
Loading
Loading
+2 −2
Original line number Diff line number Diff line
@@ -45,10 +45,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();