Patch for reporting correctly offset when object has relative pointers

Jelmer Vernooij jelmer at samba.org
Thu Nov 19 00:47:01 MST 2009


On Thu, 2009-11-19 at 08:40 +0100, Stefan (metze) Metzmacher wrote: 
> Jelmer Vernooij schrieb:
> > On Thu, 2009-11-19 at 01:46 +0300, Matthieu Patou wrote: 
> >> It's mostly done by metze, I just corrected a few typos and regenerated 
> >> files.
> >>
> >> I tested with my python xattr libs and now it works (thanks metze).
> > Thanks!
> > 
> > If we're doing this, is there any reason why we still need the hack to
> > deal with relative pointers in pidl? We should be able to always call
> > _blob_all now.
> 
> Yes, we can remove the hack that tries to autodetect relative pointers.
> But I think we should expose an api that allows the caller to force the
> usage of just _blob(). Remember sometimes windows sends garbage at the
> end of NDR encoded DCERPC pakets. That might also happen in other parts.
> It would be bad if only C code can work arround this problem.
> 
> I think a keyword parameter to the ndr_unpack method would be good for this.
I don't think we should do this until we actually have a need for this.
Python is generally used for scripting, I don't think every single
method that is available in C needs to be exposed in Python (of course,
there can be good reasons to expose low-level stuff anyway, but I
haven't heard a practical situation for this argument where that is the
case).

Even if we would do this, we should support it in other places than
__ndr_unpack__ as well. Functions starting with __ are generally
considered private, and in this particular case users should be using
samba.ndr.unpack().

Cheers,

Jelmer


More information about the samba-technical mailing list