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

From: Jeff Morriss <jeff.morriss.ws@xxxxxxxxx>
Date: Mon, 22 Aug 2016 14:55:06 -0400


On Sat, Aug 20, 2016 at 9:47 AM, João Valverde <joao.valverde@tecnico.ulisboa.pt> wrote:

On 08/20/2016 02:06 PM, João Valverde wrote:

On 08/20/2016 02:03 PM, João Valverde wrote:
I think there is a disconnect here because you are seeing Lua as a
system dependency. I see it as Wireshark's own embedded language
interpreter (although developed by the Lua team under a suitable
license).

(Sorry for my brevity, I really appreciate your input).

I also meant to add that it would be better to rip-off the compatibility
band-aid, IMO, if the 5.3 features justify the upgrade.

I'm not aware of any policy that says our Lua dialect and APIs must be stable forever. That's nice, I don't like fixing working code as much as the next person, but sometimes reality intervenes. It would be difficult to provide that guarantee, seeing as Lua 5.2 is already unmaintained upstreams.

 I think you're correct that there isn't any policy.  Maybe there should be.

I really don't have a problem with C API changes.  For many years I maintained a set of C dissectors for proprietary protocols that were not really of general interest (and anyway I really did not want to even think about jumping through the hoops that would be necessary to get my employer to allow submitting the changes).  I figured that my penance for that "sin" was having to update them regularly as the API changed.  (IOW in general I think C dissectors should be contributed to Wireshark--if you don't then you get to live with the pain. :-))

But I think Lua dissectors are different.  (I would think) it's a different type of person writing them and the distribution model is different--I think it would be painful if Lua dissector writers have to start saying "this version is compatible with Wireshark 2.0-2.2, this other version is compatible with 2.4-2.6."  Would it even make sense to have a Lua equivalent to the VERSION_MAJOR, etc., macros (that I used in C code to make one dissector compatible with several versions of Wireshark)?