I started adding NetInfo support to ethereal today.
I've got a pretty complete packet-netinfobind.[ch] set of files and will
probably start on packet-netinfo.[ch] once I get the netinfobind
protocol stuff working.
I need a feature added to packet-portmap.c: CALLIT call decoding. This
is because NetInfo relies on indirect RPC calls via the portmapper for
the most interesting (from a debugging point of view) operational aspect
of NetInfo: binding (i.e., one domain finding servers for its parent
domain).
Briefly, CALLIT is a portmapper procedure which takes 4 arguments:
- an RPC protocol number
- an RPC protocol version number
- the number of a procedure of that protocol to call
- encapsulated arguments to the indirect call (a string of bytes which
is the XDR representation of the arguments to the indirect call)
The portmapper will perform the RPC on the client's behalf. This feature
of the portmapper is used to implement RPC broadcast protocols, where a
client broadcasts a CALLIT portmapper call encapsulating the call they
really want to make; since the portmapper has a well known UDP port
(111) this features is extremely useful for RPC broadcasts.
Examples of protocols that use CALLIT:
- bootparams
- ypbind (when not hardcoding a list of ypservers)
- NetInfo (for finding parent domain servers)
Currently there is no dissection done on CALLIT calls. I figure I can
add a function to do it, but I need to know how to use the protocol,
version and procedure numbers to find the dissection function for the
encapsulated arguments. That and how to add a protocol sub-tree for the
portmapper packet.
Any help would be much appreciated. Thanks,
Nico
This message contains confidential information and is intended only
for the individual named. If you are not the named addressee you
should not disseminate, distribute or copy this e-mail. Please
notify the sender immediately by e-mail if you have received this
e-mail by mistake and delete this e-mail from your system.
E-mail transmission cannot be guaranteed to be secure or error-free
as information could be intercepted, corrupted, lost, destroyed,
arrive late or incomplete, or contain viruses. The sender therefore
does not accept liability for any errors or omissions in the contents
of this message which arise as a result of e-mail transmission. If
verification is required please request a hard-copy version. This
message is provided for informational purposes and should not be
construed as a solicitation or offer to buy or sell any securities or
related financial instruments.