Wireshark-bugs: [Wireshark-bugs] [Bug 3513] Lua dissector field registration broken
Date: Fri, 05 Apr 2013 07:47:56 +0000

Comment # 10 on bug 3513 from
Sorry, it's not a TextWindow, it's a menu.

(In reply to comment #9)
> I am using this workarround. Creage a TextWindow, add Field.New to the
> callback method. now you need to click the menu first before you capture
> anything. if you have start capture or onpened a capture file, you have to
> restart wireshark/tshark.
> 
> -- test.lua
> do		
> 	local f_ua = nil
> 	local f_cg = nil
> 	
> 	local function menuable_tap()
> 		-- ***** the following code is used to set up text windows *****
> 		-- Declare the window we will use
> 		tw = TextWindow.new("xxxx")
> 
> 		function remove()
> 			-- this way we remove the listener that otherwise will remain running
> indefinitely
> 			f_ua = nil
> 			f_cg = nil
> 			tap:remove()
> 		end
> 
> 		-- we tell the window to call the remove() function when closed
> 		tw:set_atclose(remove)
> 	
> 		-- tap defination
> 		local tap = Listener.new(tap, "filter");
> 		
> 		-- Field references
> 		-- workaround for re-click menu item.
> 		if not f_ua and not f_cg then
> 			f_ua = Field.new("xxxx")
> 			f_cg = Field.new("xxxx")
> 		end
> 		
> 		-- this function will be called once for each packet
> 		function tap.packet(pinfo,tvb)
> 
> 			-- get field values
> 			local ua = f_ua().value
> 			local cg = f_cg().value
> 
> 			-- dosomething
> 		end
> 
> 		-- this function will be called once every few seconds to update our window
> 		function tap.draw(t)
> 		end
> 
> 		-- this function will be called whenever a reset is needed
> 		-- e.g. when reloading the capture file
> 		function tap.reset()
> 			tw:clear()
> 		end
> 	end
> 	
> 	-- using this function we register our function
> 	-- to be called when the user selects the Tools->Test->Super Group Address
> Counter menu
> 	register_menu("Test/xxxx", menuable_tap, MENU_TOOLS_UNSORTED)
> end


You are receiving this mail because:
  • You are the assignee for the bug.
  • You are watching all bug changes.