Ethereal-dev: [Ethereal-dev] Re: need your suggestion

Note: This archive is from the project's previous web site, ethereal.com. This list is no longer active.

From: ronnie sahlberg <ronniesahlberg@xxxxxxxxx>
Date: Fri, 28 Oct 2005 17:28:57 -0400
Hi,

So you want to start working on ethereal? But you dont really know
what to work on?

Great,  you are more than welcome.
But what do YOU want to work on?
Anything/Everything?


The first thing you should do is to read the README files a few times
and look at some of the existing dissectors. Preferably some
dissectors for a protocol you are interested in and see how we do
certain things and what the style looks like.


As far as new protocols not yet implemented in ethereal, I think we
already implement almost all popular and common protocols, but some
dissectors are in less than perfect shape.


One thing that is pretty boring work but needs to be done and allows
you to go and youch a lot of dissectors and get an overview of the
codebase are

strcat()

In the directory epan/dissectors  where most of the actual dissectors
live there are still a lot of dissectors that use strcat  to build
ascii strings to be displayed in the dissection. Often in relation to
decoding bitfields and flags.

All of these arrays and strings should be
changed as far as possible into building the output in the dissection
pane using
proto_tree_append_text() item by item
and get rid of the temporary string array completely.
All the bits in the bitmask should also be properly dissected using
proto_item_add_boolean() and use a filter field of the type FT_BOOLEAN.

This is something that really needs to be done.

I recently did similar work replacing all the strcpy() calls   but we
still need to remove the strcat() calls.

For examples on what  I did to do some of the refactoring for the
strcpy() removals   please see some of the recent checkings for
packet-fcdns.c   or the other fibre channel dissectors packet-fc*.c

If you can send small patches to the list that removes a handful
strat() at a time that would be great.



Other areas that need work are to go through and find all
arrays/strings that are allocated on the stack and replace them with
heap allocated arrays using the ep_alloc/se_alloc calls.



We need help to populate the WIKI with more content.


Maybe go through the WISHLIST in the wiki and see if there is anything
there you want to work on?
(though many of the items in the wishlist are more infrastructure than
dissector related  so they might be difficult to approach before you
get some feeling of how ethereal works internally)



For CIFS related protocols   it would be nice with a new type : FT_SID
   instead of using as we currently do FT_STRING to represent a SID.



There was a current discussion on the list regarding ACCESSABILITY,  
that would be a useful area to work in as well.



Or maybe a new statistics function, that would provide a tap to
collect and display SCSI statistics for the different command sets
like SPB/SBC/MMS/SSC
similar to the response time statistics for ONC-RPC and SMB.
Many SAN and SCSI people would find such a responsetime statistic for
SCSI very very useful.




There is no end to things you can work on   but please tell us more
about what you want to work on so it is easier to give you a
suggestion you would find interesting.

I would really really like to have some help removing all the unsafe
strcat() calls and arrays though...



On 10/27/05, Harender Bisht <harendra.bisht@xxxxxxxxx> wrote:
> hello everyone ,
>  I am new to this group , I want your suggestion which new protocol
>  can be implement in this model . so i can work in that area .
>  thanks
> harendra
>
>