NamedPipe DCE/RPC struct split

Luke Kenneth Casson Leighton lkcl at samba-tng.org
Wed Jan 16 15:05:28 GMT 2002


On Thu, Jan 17, 2002 at 09:45:54AM +1100, Andrew Bartlett wrote:
> Luke Kenneth Casson Leighton wrote:
> > 
> > third version.
> > 
> > this one contains a more-obvious split-out of read_data_outstanding()
> > as well, as a separate patch.
> > 
> > comments included on the next stage which is to add dso capabilities.
> > 
> > put five functions into smb_np_struct to make it easier / obvious
> > as to where / how to do that [make dso].
> > 
> > api_reply_trans really _does_ have to use namedpipe_transact
> > and then namedpipe_read no longer needs that extra parameter.
> > [see patch comments]
> > 
> > the only reason it's there is because smbd/ipc.c calls write,
> > then read, then finds out if there is any more data outstanding,
> > manually, when in fact that's namedpipe_transact's job.
> 
> MUCH better:  Thanks!.   I'll give this a good looking over, but you
> have addressed most of this issues I had with the previous versions.

cool.

once that's in, then there's really just the two jobs remaining:

- add in dso module-selecting logic.

i can write something simple ["namedpipe module=xxxx"],
it would then be up to you to add in more significant
logic, namedpipe module = samr:thisone.so lsarpc:thatone.so *:therest.so

with default builtin.so or something.

- make smbd/ipc.c call namedpipe_transact.  remove arg.


the third stage is to cleanup the namedpipe_proxy example and
to write the (NDR format, using net_io_userinfo_3() amongst
other things)

this will mean that the authentication modules will have to
return a NET_USERINFO_3 structure, which is easy to do, andrew:
it's one of the arguments returned by NetrSamLogon, so you
just have to return and store a copy of that, associated
with the current_user.

i explained the other reasons why this is needed, too, in a 
separate message.

but we can cover that when we get there.

lukes





More information about the samba-technical mailing list