Ethereal-dev: Re: [Ethereal-dev] dissect_ndr_pointer() experimental unfinished implementat

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

From: Tim Potter <tpot@xxxxxxxxx>
Date: Mon, 14 Jan 2002 09:07:53 +1100
On Mon, Jan 14, 2002 at 12:12:15AM +1100, Ronnie Sahlberg wrote:

> Hi Todd, hi list
> 
> After reading up a bit on how dcerpc encodes pointers into the pdu's I came
> up with
> a crude dissect_ndr_pointer() function.
> 
> Note that this is an early attempt and does not even compile (since memory
> allocations have not
> been implemented yet).
> I would though want comments as to if this approach would work and if it
> would dissect deferred pointers
> properly as per the dcerpc specification.

Hi Ronnie.  I might steal some of your ideas for the dcerpc over smb
code.  (-:  In particular the idea of passing a pointer type in is
probably better than my long-winded prs_struct_and_referents() function.

The problem I found that was slightly difficult to deal with is that
you need to pass back return data from each of the parse functions if
you want to have nice dissection of things.  So parsing a list of
embedded pointers should return a list of return data.

> This is somewhat redundant compared to what currently is in
> packet-dcerpc-spoolss.c but I am not sure that implementation
> can handle the full ndr semantics.

My implementation doesn't handle reference or NDR linked lists either.


Tim.