outsourcing DCE/RPC to alternate programs -
runtime config option
Stefan (metze) Metzmacher
metze at samba.org
Fri Dec 10 15:04:31 GMT 2004
tridge at samba.org schrieb:
> Metze,
>
> > for samba 4 this could be easily done by implenting another
> > ntvfs_ipc module that passes the data to a pipe and the epmapper
> > module should be extented to return mappings which are registered
> > by other applications via a private socket and a epm_Insert() call
> > and we should then store the mapping in a persitent db
>
> I don't think it is so useful to do this at the ntvfs level. The ntvfs
> level is before the bind, so you could only switch based on pipe name
> for ncacn_np, and you could not handle ncacn_ip_tcp or other
> transports at all. As a single ncacn_np pipe name is often used to
> handle many rpc interfaces (such as with lsass), this would not allow
> external implementations much flexibility in what interfaces they
> handle.
>
> I think it would be much more appropriate to handle this using hooks
> in the rpc_server code. Something based on similar ideas to your
> dcesrv_remote.c code would perhaps be a good place to start. Maybe
> using an interface based on unix domain sockets for the forwarding of
> packets.
>
> Of course, some external users might just want the raw pipe data, as
> not all named pipes are used for DCE/RPC, so a ntvfs level forwarding
> module isn't a bad thing to have, but I suspect the majority of
> external users will want to use it for DCE/RPC so something that suits
> that and allows support of all rpc transports is probably more widely
> useful.
other transports are not bound to smbd they can directly listen on the socket,
but you're right for the pipe vs. interface problem
--
metze
Stefan Metzmacher <metze at samba.org> www.samba.org
More information about the samba-technical
mailing list