Comment # 6
              on bug 10805
              from  Yang Liu
        I am trying to create a dissector above websocket protocol, but websocket
didn't pass payload to my dissector each time. my protocol is running on port
32123, each time websocket dissector is called pinfo->match_uint = 6, so my
dissector never called.
I guess here pinfo->match_uint could be used only if "we.port" is defined in
websocket dissector, but I didn't find it.
handle = dissector_get_uint_handle(port_subdissector_table,
pinfo->match_uint);
(In reply to Martin Kaiser from comment #5)
> > File packet-websocket.c
> > 
> > Websocket dissector registered dissector table port_subdissector_table
> > 
> > 
> > port_subdissector_table = register_dissector_table("ws.port",
> >       "TCP port for protocols using WebSocket", FT_UINT16, BASE_DEC);
> > 
> > 
> > but no "ws.port" defined in websocket protocol.
> 
> That's true. Nobody adds an entry to the table. But it's not a bug.
> 
> > When finding subdissector using:
> > 
> > 
> > 
> > handle = dissector_get_uint_handle(port_subdissector_table,
> > pinfo->match_uint);
> > 
> > 
> > 
> > pinfo->match_uint value is not correct.
> 
> That's what I thought as well. But I think I was wrong. match_uint is the
> port that was used by the previous dissector for selecting websocket. We're
> using the same port for finding the next dissector. 
> 
> If http is on port 80 and http passed the packet to websocket, we check if
> an upper layer protocol registered itselft for websocket payload on port 80.
         
      
      
      You are receiving this mail because:
      
      
          - You are watching all bug changes.