Ethereal-dev: [Ethereal-dev] VJ compressed PPP packets ??

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

From: Diwakar Shetty <diwakar@xxxxxxxxxxxxxx>
Date: Tue, 27 Feb 2001 10:49:55 +0600
Hi all

Ethereal has a dissector for PPP which is dissect_ppp( ).
However, this dissector does not handle VJ (i.e Van Jacobson)
compressed packets as of now.

So we are in the stage of adding this capability.

Our algorithm for uncompressing expands the data pointer passed to it.
(uses memove( ) on "data_ptr" for that)
e.g: vj_uncompress(char *data_ptr);

However ethereal's function pointer for dissector requires a  const
char*. Not only that but another issue is frame_data.
e.g: dissect_vjuc(const u_char *pd, int offset, frame_data *fd,
proto_tree *tree)

Of course, ultimately, dissect_vjuc( ) will call vj_uncompress( ) to do
the actual decompression.

The following are the main doubths:
1) Can I ignore the "const char*" declrn. and force the data pointed to
by "pd" to change.
2) Do I have to take in account "frame_data *fd". Anyway what is the
significance of this "frame_data *fd"
3) Is there any other elegant solution?

Thanking in advance

Diwakar