outsourcing DCE/RPC to alternate programs - runtime config option

tridge at samba.org tridge at samba.org
Mon Dec 13 12:32:29 GMT 2004


Luke,

 > > I don't consider that much of a problem at all - what is the issue with
 > > implementing 3 interfaces in one daemon? 
 > 
 >  it's just a design decision that i would consider to be closing down a
 >  few strategic options (hinted at below)

You've been going on about this "all separate daemons" idea for far
too many years. Did you actually ever check that windows does
implement them all as separate daemons? It doesn't.

If you look at
 http://www.hsc.fr/ressources/articles/win_net_srv/ch04s05s03.html
or run the RPC-MGMT test from Samba4 smbtorture then you can see that
samr, lsarpc, drsuapi and protected_storage, along with a pile of
other interfaces are all implemented inside lsass.exe, as a single
daemon in Win2003. 

NT has never implemented RPC as "every rpc service in a separate
daemon". Some daemons implement more than 20 separate rpc interfaces.
My test win2003 box exports about 150 rpc interfaces from 10 server
daemons.

It does use internal rpc calls between _some_ of its rpc services,
such as between netlogon and samr, but this is certainly not
essential. You can tell it happens by running the RPC-MGMT test and
looking at the calls_in element of the interface statistics from the
mgmt_inq_stats() rpc call, querying both the samr and netlogon
endpoints.

For Samba4 we looked into this properly and thought carefully about
the design. That's why Samba4 uses a common indexed ldb backend to
allow its RPC services to internally communicate. That backend plays
the same role as the jet database does in Windows, and gives a _much_
more sane internal interface than using ncalrpc.

As for your comments about posix and NTFS, if you'd actually followed
the development we've been doing for the last few years then you'd
know that we already use nt-like file sharing interfaces internally,
and have had discussions with the Linux ntfs people about working
together. You would also know that Samba4 is almost completely
independent of posix, except for 8k lines of "glue" code that
implements the posix backend.

You keep assuming we have been doing nothing for the last 4 years
since you left the Samba project. In fact, development has accelerated
a lot in that time, and if you want your comments to be meaningful
then you need to actually read the Samba4 code. Samba4 is as different
from Samba3 as Linux is from Minix.

If your only contribution is "wise words" based on 4 year old
information then please just go away.

Cheers, Tridge


More information about the samba-technical mailing list