Wireshark-dev: [Wireshark-dev] Fwd: Re: [Wireshark-bugs] [Bug 3422] New dissector for Genisys p
From: Simon Dreyer <simon2@xxxxxxxxxxxx>
Date: Wed, 31 Mar 2010 09:55:37 +0800
Simon Dreyer
Dreyer Automation
0417 952 563


----- Original Message ----- 
From: Bill Meier <wmeier@xxxxxxxxxxx>
To: Developer support list for Wireshark <wireshark-dev@xxxxxxxxxxxxx>
Sent: Tue Mar 30 23:41
Subject: Fwd: Re: [Wireshark-bugs] [Bug 3422] New dissector for Genisys protocol


Simon Dreyer wrote:
> Simon Dreyer
> Dreyer Automation
> 0417 952 563
> 
> On Mon Mar 29 15:54 , Bill Meier wmeier@xxxxxxxxxxx> sent:
> 
>>> --- Comment #6 from Simon Dreyer simon2@xxxxxxxxxxxx> 2010-03-28 19:31:52 PDT --
-
>>> Hi Folks I am trying to implement the genisys dissector without much success.
>>> Is the code that is linked to the "New patch to add genisys dissector" link a
>>> single file that must be saved as "packet-genisys.c" and compiled? or what must
>>> be done.
>>> Is there somewhere where I can get the group of files associated with this
>>> dissector eg Makefile.am, makefile.common, moduleinfo.h .... I am sorry if this
>>> is not the correct place for this type of request but this is all I could find.
>>> Many thanks Simon
>>>
>> (The wireshark-dev mailing list is the correct place for this discussion).
>>
>> You first need to be able to build Wireshark from source.
>>
>> The Developer's Guide has lots of information about the process of 
>> setting up a build environment, obtaining the sources and doing the build.
>>
>> See: http://www.wireshark.org:   Develop ! Developer's Guide
>>
>> Once you've accomplished that you can then apply the patch
>> attached to Bug #3422 (using the 'patch' program) and then rebuild 
>> Wireshark.
>>
>> The patch (presumably) has all the required source & Makefile changes to 
>> build the genisys dissector as part of Wireshark.
>>
>> I should note, however, that the patch is a year old so it may not apply 
>> cleanly against the current source tree or even the sources for the 
>> current 'stable' version of Wireshark (1.2.6).
>>
>>
> Hi Bill
> Thanks for the help. I have installed all the required programs and can compile 
and 
> run wireshark no problems. I have used the packet-genisys.c code published here in 
> an earlier post and attempted to compile it with suitably modified support files 
> like makefile.am etc. I can compile the packet-genisys.c without any problems but 
> when I put the genisys.dll file in the plugins directory and try to run wireshark 
it 
> crashes. There must be somthing wrong with ether the packet-genists.c code or the 
> support files that I have edited. Does the patch file create the support files and 
> Where do I find the patch program? I presume I have to copy the code attached to 
bug 
> #3422 and save it as some kind of file that the patch program can use?
> Lastly do I have to recompile wireshark? all the examples and tutorials seem to 
> indicate that all I have to do is copy the compiled genisys.dll file into the 
> plugins directory and run wireshark.
> Regards Simon 
> 
> 

(Note: Please send replies to wireshark-dev@xxxxxxxxxxxxx and not to my 
personal EMail).

1. Are you building on Windows or *nix ? What compiler are you using ?

    You speak of DLL's (which are Windows) yet you also speak of
    modifying makefile.am which is *nix.
    The two don't mix. Eg: You can't use makefile.am & etc when
    building on Windows.

2. The patch file attached to bug #3422 when applied to the Wireshark
    source does *not* add the dissector as a plugin
    but changes the source to build the dissector
    as an integral part of Wireshark; Therefore I don't
    understand what you are actually doing when you speak of generating
    a genisys.dll.

    Did you change things around to try to build the dissector as a DLL ?

    I suggest that the your first step is to build Wireshark using the
    genisys dissector (and changes to certain other source files) exactly
    as supplied in the patch.

    Trying to change things to build the dissector as a plugin is not the
    way to start if you're new to Wireshark development.

3. It appears that you are unfamiliar with the 'patch' program
    and how it works. Again I suggest you review the Developer's Guide as
    mentioned above. See sections 3.9, 3.10 and 4.14 for information on
    patch.


Hi Bill
Thanks again for your help. I am running on a windows XP machine and following this 
tutorial 

http://www.codeproject.com/KB/IP/custom_dissector.aspx

There are obviously two approaches to this:
1) incorporate the protocol as an integral part wireshark as I think you are 
describing or
2) run it as a .dll plugin as I was trying to do (as per the tutorial).

I presume that this genisys protocol has not been implemented into the general 
release of wireshark (it does not appear in the list of protocols) I only hope that 
this is because it is a rather obscure protocol and not because it doesn't work.

Getting back to the "Patch" thing, I have read all the stuff in the developers 
manual and hope I understand it, is this what I have to do?
1) Click on the "New patch for genisys dissector" link at 
https://bugs.wireshark.org/bugzilla/show_bug.cgi?id=3422
2) Copy the code and paste it into a text file
3) save it as "add_genisys_dissector.diff" (or something similar)
4) copy the file into the c:\wireshark directory
5) open a command window and go to the c:\wireshark directory
6) type "patch -p0 <add_genisys_dissector.diff"
7) re-compile wireshark

I will not try it until I hear back from you as I really don't want to stuff the 
existing wireshark files :)

Cheers Simon