outsourcing DCE/RPC to alternate programs - runtime config
option
Jeremy Allison
jra at samba.org
Wed Dec 8 00:05:41 GMT 2004
On Tue, Dec 07, 2004 at 11:38:40PM +0000, Luke Kenneth Casson Leighton wrote:
> dear samba team,
>
> please could you add an option to allow "outsourcing" of dce/rpc
> traffic into samba 3 and samba 4?
>
> this is called a compromise design decision.
>
> for example code not written by me that is in production use, you may
> examine luke howard's work at:
>
> http://lists.samba.org/archive/samba-technical/2002-October/024614.html
>
> an ideal solution would be to have an smb.conf option that specifies
> a list of pipe names and their .so libraries in which the four
> functions (or one function which returns a pointer to a table of four
> functions) make_pipe, read_from, write_to and close_pipe.
>
> this is a trivial programming exercise that can easily be written by
> any competent programmer, and the benefits to the samba community are
> numerous:
Yep - very true. The code in the current SVN reads :
/* add a dso mechanism instead of this, here */
p->namedpipe_create = make_internal_rpc_pipe_p;
p->namedpipe_read = read_from_internal_pipe;
p->namedpipe_write = write_to_internal_pipe;
p->namedpipe_close = close_internal_rpc_pipe_hnd;
So it just needs a decent patch to be submitted to load a shared
library to fill in these function pointers based on a pipe name.
I think all we need, rather than an smb.conf option, is for the
current code to explicitly look in an explicit directory such
as $SAMBA/lib/named_pipes/ and load a libsmbnp_${PIPENAME}.so
shared library found there.
I'd suggest the function names to be exported from the .so be :
pipe_create, pipe_read, pipe_write, pipe_close.
Sound good ? I can probably get to this, but I have to work on
the scalable directory problem first - so if anyone wants to
donate a suitable patch I'll integrate it.
Cheers,
Jeremy.
More information about the samba-technical
mailing list