[PATCH BlueZ v2 0/1] Btmon: Fix handling not complete packets

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



When for security reasons or any other, packets in the btsnoop logs are
not complete, then Included length is smaller then Original size.

For the moment, Bluez always assumes to get complete packets.
If it not happen, then it stops decoding after fist packet which
Original size is bigger then Included lenght. e.g.
In the file where we had some ISO packets but with payload = 0,
btmon ended like that:

./btmon -r btsnoop.log 
Bluetooth monitor ver 5.66

After the fix logs looks like that (from the same btsnoop log)

> HCI Event: Number of Completed Packets (0x13) plen 5                                                                      #1 0.926288
        Num handles: 1
        Handle: 96
        Count: 2
> HCI Event: Number of Completed Packets (0x13) plen 5                                                                      #2 0.932776
        Num handles: 1
        Handle: 97
        Count: 2
> HCI Event: Number of Completed Packets (0x13) plen 5                                                                      #3 0.945915
        Num handles: 1
        Handle: 96
        Count: 2


And here is an example how truncated ACL packet will look after fix.
> ACL Data RX: Handle 64 flags 0x02 dlen 51                                                                               #138 7.118921
        invalid packet size (10 != 51)
        2f 00 04 00 1b 05 11 01 01 00                    /.........      


Łukasz Rymanowski (1):
  btmon: Fix decoding truncated data

 src/shared/btsnoop.c | 2 +-
 tools/btsnoop.c      | 6 +++---
 2 files changed, 4 insertions(+), 4 deletions(-)

-- 
2.34.1




[Index of Archives]     [Bluez Devel]     [Linux Wireless Networking]     [Linux Wireless Personal Area Networking]     [Linux ATH6KL]     [Linux USB Devel]     [Linux Media Drivers]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [Big List of Linux Books]

  Powered by Linux