1 | initial version |
The following isn't really a generic method of passing data between dissectors per se, but it can work in many cases. If the first dissector has already added a field, say, first.foo
, then the second dissector can use a field extractor to obtain the value of that field.
For example, within the second dissector, you might have something like this:
local first_foo_ex = Field.new("first.foo")
local second.dissector(tvbuf, pinfo, tree)
if first_foo_ex().value == 1 then
-- do something specific for this value
else
-- do something else for any other value
end
end
If this method doesn't work for you, or you're looking for a more generic method of passing data, then @grahamb's suggestion of opening a Wireshark bug report to add Lua support for passing data between dissectors is the better answer.
(Of course, if the data is needed for conversation tracking, then there's already a Wireshark enhancement bug filed for adding conversation support to Lua, namely Bug 15396, so a new bug report may not be appropriate in this case.)