Wireshark-dev: Re: [Wireshark-dev] Lua 5.3

From: João Valverde <joao.valverde@xxxxxxxxxxxxxxxxxx>
Date: Sat, 20 Aug 2016 21:27:35 +0100

If 5.3 compatibility is added it should be no problem. After looking at
the actual changes (https://www.lua.org/manual/5.3/readme.html#changes
and also the linked incompatibilities), I see the following changes to
the Lua code:

 - 64-bit integer support. Nice!

A bit more than nice. I'm seeing lots of "warning: this loses precision" in the wslua code.

 - Bitwise operators. Cool, but we would have to add a compatibility
   library to keep old dissectors working.
 - UTF-8 "support". This just adds some helper functions that can
   calculate lengths, converts between codepoints and chars and adds a
   %U format specifier. It adds no new data type so won't really affect
   the WSLUA API.

It it useful to anyone who wants to calculate an UTF-8 string length in Lua (wireshark's lua, that is). That's a huge feature IMO. String lengths are kind of a basic thing to have in a programming language.

So you are right that there are not many changes in that area. On the
C library side we have also have no really window shattering changes
other than the integer stuff. Of course you would have to recompile any
C libraries, but I realize that it is probably a special case.

Overall I am positive with *adding* compatibility for 5.3, but at the
same time we should proceed carefully in order not to break existing
dissectors.

Things like replacing the regex library is not related to 5.3
compatibility and should be out of scope for above discussion.  Since it
breaks older dissectors in a more severe way, it would need some
convincing arguments and alternatives though.