samba netbios / namedpipes domination: a comparison with linu x having a proprietary web server built-in
Luke Kenneth Casson Leighton
lkcl at samba-tng.org
Wed Jan 9 17:15:04 GMT 2002
On Wed, Jan 09, 2002 at 02:51:38PM +0100, Jean Francois Micouleau wrote:
> that's your opinion. The fact is that the rpc parser code in samba is
> better than in TNG, it's been like that for more than a year. And the rpc
> server code too, some of us have spend huge quantity of time improving it.
yes, and i have to say, sadly, it's time wasted.
the point of that code was to find out what was going on.
it proved the point, and somemadhow it turned into an
80,000 loc _monster_.
now, from that, we learned a lot.
and freedce wasn't anything _like_ as viable an option as it
was, from when it first came out in 1998 even up until one
year ago. i did investigate, back as early as mid-1998,
because even then, the rpc parsing code was clearly
getting out of hand.
now, freedce does a hell of a better job than anything
that even _i_ could write in a decade of full-time,
and it's a far superior job to either TNG _or_ SAMBA's
parsing and runtime environment support - code [both
in TNG _and_ SAMBA] which is based 95% on _my_ ideas
and initiative, i have to add.
so, i'll say it again: anyone wanting to do hand-coded
dce/rpc is COMPLETELY MAD.
now, as andrew says, the freedce option is not really
appropriate on certain operating systems. or, more
it needs special circumstances such as inter-process-communication
with non-threaded services / separate daemons
to get round the limitations of most posix threading
libraries not having proper security context support.
funnily enough, it's ironic that there are special
circumstances under which a forking model is inappropriate
and require work-around code to deal with, and
funnily enough there are special circumstances
under which a threading model is inappropriate.
if this was the best of all worlds, we'd use the ASF
"Apache Portable Runtime" library and the apache
framework, porting freedce or doing a total new
rpc-runtime project rewrite, and be done with it.
but that's a massive job.
so, swings and roundabouts. a religious war is
inappropriate: it's a case-by-case tradeoff that
needs careful technical analysis of what you want
use the right tools for the right job, iow.
> talking about. Even in native mode, W2K does use RPC.
[jf is correct here: 2000 is just basically a vastly improved
- read, totally rewritten - nt4 dcerpc subsystem plus krb5
plus ldap. modified ldap. modified krb5. *sigh*]
More information about the samba-technical