Hi,

     I tried specifing new color filter for my dissector but it didnt
override the UDP one and still takes colorization of UDP itself.

Thanx,
Khushbu


On 1/3/08, Jaap Keuter <[EMAIL PROTECTED]> wrote:
>
> Hi,
>
> Good for you :)
>
> What happens when you enable colorfilters?
>
> Thanx,
> Jaap
>
> khushbu thakkar wrote:
> > Hi Jaap,
> >
> > After a long R&D i could fix the problem of crashing. And the reason was
> > too silly. The protocol handle was not maintained i.e "static" was
> > missing in "proto_reg_handoff_ipt_spy" for dissector handle.
> >
> > Anyways one new thing i could observed with Wireshark version 0.99.7 is
> > that it does not show(was showing in Wireshark version 0.99.6) the
> > name of the protocol (IPTWP in my case(UDP based)) in Protocol Column
> > and Info column  but its shows UDP. It shows the dissection of IPTWP
> > properly but not the Packet list pane.
> >
> > Could u please guide me what specifically needs to be changed
> > implementationally or some configuration,if its missing. I have attached
> > the screenshot for the same issue which shows the middle pane properly
> > but packet list pane wrongly.
> >
> > Please look on to the issue.
> >
> > Thank You,
> > Reply Soon.
> > Khushbu
> >
> >
> > On 12/22/07, *khushbu thakkar* <[EMAIL PROTECTED]
> > <mailto:[EMAIL PROTECTED]>> wrote:
> >
> >     Hi Jaap,
> >
> >        I tried with your suggestion but still the tool crash with the
> >     same sequence. But when i tried applying the same preference code to
> >     packet-udp.c and tried to build wireshark, then it worked fine on
> >     Applying the preference from udp. *So i doubt that the problem is
> >     there while* *Registering the Preference with Plugin*, it works fine
> >     with \epan\dissectors.
> >
> >     Would you please guide what else can be done. Actually my
> >     requirement is to read external .xml file path/location to decode
> >     some part within my plugin packet. So how can that file
> >     path/location can be read. At present i m setting an enviornment
> >     variable and reading it but i m searching if some setting could be
> >      given in Wireshark itself to read the file path/location.
> >
> >     Reply soon,
> >     Thank You,
> >     Khushbu
> >
> >
> >
> >
> >     On 12/17/07, *Jaap Keuter* <[EMAIL PROTECTED]
> >     <mailto:[EMAIL PROTECTED]>> wrote:
> >
> >         Hi,
> >
> >         Loose the ipt_config_preferencefile variable, just go with
> >         gbl_iptConfigDictionary. See packet-cigi.c where global_host_ip
> is
> >         handled similarly.
> >
> >         Thanx,
> >         Jaap
> >
> >         khushbu thakkar wrote:
> >         >  Hi Jaap,
> >         >
> >         >            Thanx for the response. Attached is the part of
> >         plugin code.
> >         >
> >         >  Reply Soon,
> >         >  Thank You,
> >         >  Khushbu
> >         >
> >         >  On 12/15/07, *Jaap Keuter* <[EMAIL PROTECTED]
> >         <mailto:[EMAIL PROTECTED]>
> >         >  <mailto:[EMAIL PROTECTED] <mailto:[EMAIL PROTECTED]
> >>>
> >         wrote:
> >         >
> >         >     Hi,
> >         >
> >         >     If you could post at least your proto_register and
> >         proto_handoff code we
> >         >     might be able to get some insight.
> >         >
> >         >     Thanx,
> >         >     Jaap
> >         >
> >         >     khushbu thakkar wrote:
> >         >      > Hello,
> >         >      >
> >         >      >          I am not actually new to Wireshark, i have
> >         build the
> >         >     plugin in
> >         >      > Wireshark which has to be decoded on the top of UDP. I
> m
> >         using
> >         >     this on
> >         >      > Window XP SP1 . I have build Wireshark with GTK+
> 2.10.12 and
> >         >     Wireshark
> >         >      > Version is 0.99.6.
> >         >      >
> >         >      >         The problem with me is *Wireshark Crash* when
> the
> >         >     "*Preference*"
> >         >      > of the my *plugin * is set. Whenever the preference
> >         value changes
> >         >     from
> >         >      > the initialized value and if we try to capture or load
> the
> >         >     recorded file
> >         >      > having packets of my plugin protocol it crashes. And
> one
> >         more
> >         >     thing is
> >         >      > if i disable the preference code n use the xxx.dll then
> >         it works
> >         >     fine
> >         >      > i.e . problem is due to preference code.
> >         >      >
> >         >      >           I m using the Standard code format for
> >         registering the
> >         >      > Preference as in Readme.developer. So anybody could
> >         please guide me
> >         >      > where should the problem actually be. Thank You in
> >         advance for
> >         >     the help.
> >         >      >
> >         >      > Reply Soon,
> >         >      > Best Regards,
> >         >      > Khushbu
> >         >      >
> >         >
> >         >     _______________________________________________
> >         >     Wireshark-dev mailing list
> >         >     Wireshark-dev@wireshark.org
> >         <mailto:Wireshark-dev@wireshark.org> <mailto:
> >         Wireshark-dev@wireshark.org <mailto:Wireshark-dev@wireshark.org
> >>
> >         >     http://www.wireshark.org/mailman/listinfo/wireshark-dev
> >         >
> >         >
> >         >
> >         >
> >
> ------------------------------------------------------------------------
> >
> >         >
> >         >
> >         >  /* Global sample preference ("controls" display of numbers)
> */
> >         >  static const char *gbl_iptConfigDictionary = NULL;
> >         >  static char *ipt_config_preferencefile           = NULL;
> >         >
> >         >  /* Register the protocol with Wireshark */
> >         >  /* this format is require because a script is used to build
> >         the C function
> >         >    that calls all the protocol registration.
> >         >  */
> >         >  void proto_register_ipt_spy(void)
> >         >  {
> >         >   module_t *ipt_spy_module;
> >         >  /* Setup list of header fields  See Section 1.6.1 for
> details*/
> >         >       static hf_register_info hf[] = {
> >         >               { &hf_ipt_spy_timestamp,
> >         >                       { "Time Stamp (microseconds)",
> >         " iptwp.timestamp",
> >         >                       FT_UINT32, BASE_DEC, NULL, 0x0,
> >         >                       "", HFILL }
> >         >               },
> >         >               { &hf_ipt_spy_protocolversion,
> >         >                       { "Protocol Version",
> >         "iptwp.protocolversion ",
> >         >                       FT_UINT32, BASE_HEX,
> >         VALS(ipt_spy_protocol_ver_vals)  , 0x0,
> >         >                       "", HFILL }
> >         >               },
> >         >                       .
> >         >                       .
> >         >                       .
> >         >                       .
> >         >       /* Setup protocol subtree array */
> >         >       static gint *ett[] = {
> >         >               &ett_ipt_spy,
> >         >               &ett_ipt_spy_dscpfield,
> >         >               &ett_ipt_spy_app_data,
> >         >               &ett_ipt_spy_nestd_app_data,
> >         >               &ett_ipt_spy_app_data_booleanfield,
> >         >               &ett_ipt_spy_multiple_app_data,
> >         >               &ett_ipt_spy_app_data_fcs,
> >         >       };
> >         >
> >         >       ipt_config_preferencefile = g_strdup("");
> >         >       gbl_iptConfigDictionary =
> >         g_strdup(ipt_config_preferencefile);
> >         >
> >         >  /* Register the protocol name and description */
> >         >       proto_ipt_spy = proto_register_protocol("IP Train Wire
> >         Protocol", "IPTWP", "iptwp");
> >         >
> >         >       register_dissector("IPTWP", dissect_ipt_spy,
> >         proto_ipt_spy); /*By Cisco*/
> >         >
> >         >  /* Required function calls to register the header fields and
> >         subtrees used */
> >         >       proto_register_field_array(proto_ipt_spy, hf,
> >         array_length(hf));
> >         >       proto_register_subtree_array(ett, array_length(ett));
> >         >
> >         >  /* Register preferences module (See Section 2.6 for more on
> >         preferences) */
> >         >     ipt_spy_module = prefs_register_protocol(proto_ipt_spy,
> >         proto_reg_handoff_ipt_spy);
> >         >
> >         >  /* Register a sample preference */
> >         >       prefs_register_string_preference(ipt_spy_module,
> "iptfile",
> >         >                                   "IPT configuration file",
> >         >                                   "IPT configuration file",
> >         >                                   &gbl_iptConfigDictionary);
> >         >
> >         >  }
> >         >
> >         >
> >         >  /* If this dissector uses sub-dissector registration add a
> >         registration routine.
> >         >    This exact format is required because a script is used to
> >         find these routines
> >         >    and create the code that calls these routines.
> >         >
> >         >    This function is also called by preferences whenever
> "Apply"
> >         is pressed
> >         >    (see prefs_register_protocol above) so it should
> accommodate
> >         being called
> >         >    more than once.
> >         >  */
> >         >  void proto_reg_handoff_ipt_spy(void)
> >         >  {
> >         >         static gboolean inited = FALSE;
> >         >               dissector_handle_t ipt_spy_handle;
> >         >
> >         >               //g_free(ipt_config_pref);
> >         >               // current_asn1 = g_strdup(asn1_filename);
> >         >               //ipt_config_pref =
> >         g_strdup(gbl_iptConfigDictionary);
> >         >         if(!inited )
> >         >               {
> >         >                       ipt_spy_handle =
> >         create_dissector_handle(dissect_ipt_spy, proto_ipt_spy);
> >         >                       inited = TRUE;
> >         >               }
> >         >               else
> >         >               {
> >         >                       dissector_delete("udp.port",
> >         ipt_spy_UDP_MD_PORT, ipt_spy_handle);
> >         >                       dissector_delete("udp.port",
> >         ipt_spy_UDP_PD_PORT, ipt_spy_handle);
> >         >               }
> >         >
> >         >               ipt_config_preferencefile =
> gbl_iptConfigDictionary;
> >         >
> >         >               dissector_add("udp.port", ipt_spy_UDP_MD_PORT,
> >         ipt_spy_handle);
> >         >               dissector_add("udp.port", ipt_spy_UDP_PD_PORT,
> >         ipt_spy_handle);
> >         >     /*
> >         >           If you perform registration functions which are
> >         dependant upon
> >         >           prefs the you should de-register everything which
> was
> >         associated
> >         >           with the previous settings and re-register using the
> >         new prefs settings
> >         >           here. In general this means you need to keep track
> of
> >         what value the
> >         >           preference had at the time you registered using a
> >         local static in this
> >         >           function. ie.
> >         >           static int currentPort = -1;
> >         >           if( -1 != currentPort ) {
> >         >               dissector_delete( " tcp.port", currentPort,
> >         ipt_spy_handle);
> >         >           }
> >         >           currentPort = gPortPref;
> >         >           dissector_add("tcp.port", currentPort,
> ipt_spy_handle);
> >         >       */
> >         >
> >         >
> >         >  }
> >         >
> >         >
> >
>
> _______________________________________________
> Wireshark-dev mailing list
> Wireshark-dev@wireshark.org
> http://www.wireshark.org/mailman/listinfo/wireshark-dev
>
_______________________________________________
Wireshark-dev mailing list
Wireshark-dev@wireshark.org
http://www.wireshark.org/mailman/listinfo/wireshark-dev

Reply via email to