b01ee2624c
svn path=/trunk/; revision=7334
112 lines
2.4 KiB
Text
112 lines
2.4 KiB
Text
|
|
=head1 NAME
|
|
|
|
idl2eth - CORBA IDL to Ethereal Plugin Generator
|
|
|
|
=head1 SYNOPSYS
|
|
|
|
B<idl2eth> filename
|
|
|
|
=head1 DESCRIPTION
|
|
|
|
B<idl2eth> is a program that takes a user specified B<CORBA IDL>
|
|
file and generates B<"C"> source code for an B<Ethereal> "plugin".
|
|
|
|
This resulting file can be compiled as an B<Ethereal> plugin, and
|
|
used to monitor B<GIOP/IIOP> traffic that is using this IDL.
|
|
|
|
B<idl2eth> is actually a shell script wrapper for two B<Python> programs.
|
|
|
|
These programs are:
|
|
|
|
=over 4
|
|
|
|
B<ethereal_be.py> - Contains the main IDL Visitor Class
|
|
|
|
B<ethereal_gen.py> - Contains the Source Code Generator Class
|
|
|
|
|
|
B<idl2eth> supports heuristic dissection of GIOP/IIOP traffic,
|
|
and some experimental code for explicit dissection, based on
|
|
Object Key <-> Repository Id mapping.
|
|
However, code for heuristic based plugins is
|
|
generated by default, and users should consider this the preferred
|
|
method unless you have some namespace collisions.
|
|
|
|
|
|
=head1 OPTIONS
|
|
|
|
Currently there are no options. B<idl2eth> can be invoked as follows.
|
|
|
|
1. To write the C code to stdout.
|
|
|
|
idl2eth <your_file.idl>
|
|
|
|
eg: idl2eth echo.idl
|
|
|
|
|
|
2. To write to a file, just redirect the output.
|
|
|
|
idl2eth echo.idl > packet-test.c
|
|
|
|
|
|
|
|
|
|
=head1 ENVIRONMENT
|
|
|
|
B<idl2eth> will look for B<ethereal_be.py> and B<ethereal_gen.py> in
|
|
B<$PYTHONPATH/site-packages/> and if not found, will try the current
|
|
directory B<./>
|
|
|
|
The B<-p> option passed to omniidl (inside B<idl2eth>) indicates where
|
|
B<ethereal_be.py> and B<ethereal_gen.py> will be searched. This may
|
|
need tweaking if you place these files somewhere else.
|
|
|
|
If it complains about being unable to find some modules (eg tempfile.py),
|
|
you may want to check if PYTHONPATH is set correctly.
|
|
|
|
eg: PYTHONPATH=/usr/lib/python1.5/
|
|
|
|
|
|
=head1 SEE ALSO
|
|
|
|
I<ethereal(1)>
|
|
|
|
|
|
=head1 NOTES
|
|
|
|
B<idl2eth> (including B<ethereal_be.py> and B<ethereal_gen.py>) are part of
|
|
the B<Ethereal> distribution. The latest version of B<Ethereal> can
|
|
be found at B<http://www.ethereal.com>.
|
|
|
|
B<idl2eth> uses B<omniidl>, and IDL parser, and can be found at
|
|
B<http://www.uk.research.att.com/omniORB/omniORB.html>
|
|
|
|
=head1 TODO
|
|
|
|
Some of the more important things to do are:
|
|
|
|
=over 4
|
|
|
|
=item *
|
|
Improve Explicit dissection code.
|
|
|
|
=item *
|
|
Improve command line options.
|
|
|
|
=item *
|
|
Improve decode algorithm when we have operation name collision.
|
|
|
|
=back 4
|
|
|
|
=head1 AUTHORS
|
|
|
|
Original Author
|
|
-------- ------
|
|
Frank Singleton <frank.singleton[AT]ericsson.com>
|
|
|
|
|
|
Contributors
|
|
------------
|
|
|