major architectural "split"

Luke Kenneth Casson Leighton lkcl at
Wed Dec 8 22:28:21 GMT 1999

i liked unix sockets so much when i wrote smb-agent that i decided to
write an msrpc-agent too.

the purpose of this is to be able to split the currently massive smbd
program into several smaller daemons, such as lsarpc, netlogond, spoolssd,
svcctld etc.  if people want to add their own daemons (both client and
server side) then this should be very, very easy to do.

it should also be possible to mix-and-match development MSRPC daemons with
stable releases.  why do this?  so that the core SMB file code is
unaffected by developments in progress in, say, lsarpcd.  a replacement
lsarpcd that adds, for example, LDAP as the back-end database instead, can
simply be plugged in... WITHOUT even having to terminate smbd or any of
the other MSRPC daemons.

this is the plan.

the only thing that is a pain is having to transfer unix and nt
credentials (unix user name, nt domain name, unix uids, gid, groups, NT
SID and NT Security Descriptor) across a unix pipe from smbd to an msrpc
daemon (e.g lsarpcd) so that the lsarpcd can inherit the unix and nt
credentials of the smbd process that fired it up.

i am not looking forward to having to modify 2.0.x and cvs main to do
this, but once it is done, it will DEFINITELY make development of samba
MSRPC services _so_ much easier.


More information about the samba-technical mailing list