As I am using a Lua dissector to debug the implementation of a proprietary protocol, I am having trouble getting TCP reassembly to work. End user stuff such as allowing reassembly seems OK, but currently my dissector still sees each TCP segment/packet as a new stream, giving wrong results for data crossing segment bounds.
The documentation I have been able to find is confusing and seems self-contradictory:
The current Wiki says to use pinfo OR signed return values, some other documents are more confusing.
Some other docs suggest figuring out how to install "Alien" for Lua (Alien's own documentation page just says to use some Lua-specific package manager which is presumably only available for standalone Lua) then figuring out how to specify a Lua prototype for a C API which takes two callback pointers amongst its args.
It is unclear how to access the reassembled data once called with enough bytes.
My own experiments have come up short, resulting in bad reassembly.
Where can I get clarity on how to write a reassembled TCP dissector in Lua?