outsourcing DCE/RPC to alternate programs - runtime config option

Luke Kenneth Casson Leighton lkcl at lkcl.net
Sun Dec 12 13:02:11 GMT 2004


> The more I think about it, the more I come to the conclusion that the
> right approach for projects that wish to hook into our rpc server
> infrastructure is to build upon your existing rpc_server/remote/
> capability, along with the additional rpc transport support that
> Jelmer has added recently.
 
 what about projects that don't want to hook into the samba 4 rpc
 infrastructure, but purely need to leverage the IPC$ "named pipe"
 interface and also the SMB authentication context that gets carried
 along to the "named pipe"?

 what you are describing is a totally different ballgame, totally
 different problem, totally different set of solutions, that has
 nothing to do with the original proposal.

 the original proposal is solved in samba 3 - job done, dusted - with
 anthony's 68 line patch.

 THAT'S IT!  that's all that was ever needed!!!

 what you are describing is very very different - to help people and
 projects who may wish to utilise the samba 4 rpc infrastructure to
 simplify their projects.

 that's completely completely different.

 i cannot overemphasise this enough.



> I've CCd Luke Howard on this, as he is the only one who has real
> experience with building external rpc servers for Samba3. 

 andrew, andrew, andrew.

> I'd be interested in whether he thinks the above system would
> be workable for a potential future version of XAD combined
> with Samba4.

 the alternative solution that you propose is to strip out all
 signing, sealing and authentication information, yes?

 so that immediately makes samba the controlling party over all past,
 present and future signing, sealing and authentication mechanisms.

 that will be a lot of work for luke, and the developers of FreeDCE, to
 cater for.

 by contrast, the approach that i proposed is, as jeremy will no doubt
 tell you, "minimum necessary change" to achieve the desired goal
 [interoperability with other projects].


 the key to the approach that i proposed is as follows:
 
	 to outsource the security context and the name of the
	 ncacn_np transport as a "connection establishing" function
	 (in samba 3 that's namedpipe_create)

 you can then implement, SHOULD YOU SO WISH in samba 4, a version that
 does what you suggest: namely that you have a .dso that will strip out
 and manage and handle signing, sealing and authentication on behalf of
 those projects who do not wish to use it.

 and for a large number of projects who wish to use samba 4 as their
 infrastructure, that may well turn out to be extremely valuable.

 ... but for interoperability with existing DCE/RPC projects (samba tng,
 XAD and FreeDCE) it is an inappropriate solution.

 and as such, it is inappropriate for you to enforce that onto people.

 i would much appreciate it if people who understand and appreciate this
 could reinforce it and impress upon andrew, who has unfortunately
 disregarded my advice many times in the past, just how critical it is
 that this simple 68-line patch of anthony's be applied, and that samba
 4 adopt something that achieves the same results.

 

 for example: if you implement a version of this
 namedpipe_create+read+write+close dso for samba 3 that
 implements the samba 4 ncalrpc transport, you can start
 using samba 3 for its RPC services and samba 4 for SMB almost
 straight away.

 l.




More information about the samba-technical mailing list