zeek/testing/btest/Traces/mysql
Arne Welzel 672602dae7 MySQL: Fix endianness, introduce mysql_eof() event
We were parsing MySQL using bigendian even though the protocol is
specified as with "least significant byte first" [1]. This is most
problematic when parsing length encoded strings with 2 byte length
fields...

Further, I think, the EOF_Packet parsing was borked, either due to
testing the CLIENT_DEPRECATE_EOF with the wrong endianness, or due to
the workaround in Resultset processing raising mysql_ok(). Introduce a
new mysql_eof() that triggers for EOF_Packet's and remove the fake
mysql_ok() Resultset invocation to fix. Adapt the mysql script and tests
to account for the new event.

This is a quite backwards incompatible change on the event level, but
due to being quite buggy in general, doubt this matters to many.

I think there is more buried, but this fixes the violation of the simple
"SHOW ENGINE INNODB STATUS" and the existing tests continue to
succeed...

[1] https://dev.mysql.com/doc/dev/mysql-server/latest/page_protocol_basic_dt_integers.html
2023-01-27 10:59:23 +01:00
..
auth.trace Add memleak and auth btests. 2014-08-06 10:13:22 -05:00
encrypted.trace Add a test with an encrypted MySQL connection 2018-10-29 15:58:06 -05:00
mysql-show-engine-innodb-status-no-password.pcap MySQL: Fix endianness, introduce mysql_eof() event 2023-01-27 10:59:23 +01:00
mysql.trace Add a btest for the Wireshark sample MySQL PCAP 2014-08-08 15:02:18 -05:00
selects_with_new_proto.trace Add btest for GH-1084 2020-07-24 09:28:11 -05:00