forked from osmocom/wireshark
32d1d96721
androiddump determines encap type by reading the data link type value from pcap content generated by tcpdump running on the device. The data link type is converted from an uint type to an int type because int is what the pcap/wtap API expects. However the signed to unsigned conversion is performed on an 8-bit data value rather than the full 32-bit value making DLT values larger than 127 fail. Fix the unsigned to signed conversion by determining DLT from the full 32-bit "network" field from pcap global header instead of the 8-bit data char array. While at it also take caore of device to host endianness conversion. Fixes: v2.5.1rc0-65-gbfef57ebb7 ("androiddump: Fix and simplify tcpdump capture") Fixes: v2.9.0rc0-694-gafd0eef4f6 ("androiddump: Fix tcpdump encap type when libwiretap is used") Change-Id: I71629b166a6893763b16e9df33408fee8c99cbd2 Reviewed-on: https://code.wireshark.org/review/34788 Petri-Dish: Roland Knall <rknall@gmail.com> Tested-by: Petri Dish Buildbot Reviewed-by: Roland Knall <rknall@gmail.com> |
||
---|---|---|
.. | ||
.editorconfig | ||
CMakeLists.txt | ||
androiddump.c | ||
ciscodump.c | ||
dpauxmon.c | ||
dpauxmon_user.h | ||
extcap-base.c | ||
extcap-base.h | ||
randpktdump.c | ||
sdjournal.c | ||
ssh-base.c | ||
ssh-base.h | ||
sshdump.c | ||
udpdump.c |