CRC6: Fixed CRC lookup table and functions
authorRoss <whim42+github@gmail.com>
Thu, 3 Jan 2019 22:19:59 +0000 (14:19 -0800)
committerAnders Broman <a.broman58@gmail.com>
Fri, 4 Jan 2019 06:04:07 +0000 (06:04 +0000)
commit29bfeccc8db0a880ad3aff282389298852c02323
tree615f4ace49432bbf31630c767d960604e513543d
parent9aa63d2406dc8248f6220e62bf0359ade597c309
CRC6: Fixed CRC lookup table and functions

* Generated code and 256-element lookup table with pycrc
* Combined 2 crc6 functions which both have same poly 0x6f and lookup table
* Using the example file from the bug report,

    $ tshark -r ~/Downloads/M1_header_crc.pcapng -V | grep "Calculated CRC"
    1101 00.. = Header CRC: 0x34 [Calculated CRC 0x34]

Header and Calculated CRC are now both 0x34 (correct value)

* pycrc settings for generation:
    $ python pycrc.py --reflect-in False \
                      --reflect-out False \
                      --xor-in 0 \
                      --xor-out 0 \
                      --algorithm table-driven
                      --width 6 \
                      --poly 0x2f

* To manually check 3GPP protocol header CRCs, use above command with flag

    --check-hexstring=<HEADER HEX>

Bug: 14875
Change-Id: I283f52fcae10b2f92f107df6988629d49d692428
Reviewed-on: https://code.wireshark.org/review/31356
Reviewed-by: Ross Jacobs <rossbjacobs@gmail.com>
Petri-Dish: Anders Broman <a.broman58@gmail.com>
Tested-by: Petri Dish Buildbot
Reviewed-by: Anders Broman <a.broman58@gmail.com>
debian/libwsutil0.symbols
epan/crc6-tvb.c
epan/dissectors/packet-iuup.c
wsutil/crc6.c
wsutil/crc6.h