SYSKEY, TNG freeze, 2.0.x->TNG merge and other thoughts

Luke Kenneth Casson Leighton lkcl at samba.org
Wed Feb 9 18:57:51 GMT 2000


heere we go again.

srv_lookup.c

out-of-date concepts.  broken concepts.  broken code.  e.g contains
hard-code table of the BUILTIN domain's Aliases.  make_dom_gids is
redundant.  lookup_xxx_xxx() functions  were a first implementation
attempt at a time when i didn't understand what was going on.  this code
should be abandoned and replaced (including in tng, what is left of it).

conclusion: replace.

srv_lsa.c

open_policy2 also exists in tng.  open_policy and open_policy2 use of
for-loop to create policy handles is not acceptable.  elrond has totally
rewritten tng instance-implementation to be UNICODE and also i not do
direct database-lookups but to use SAM database calls instead.

conclusion: replace

srv_lsa_hnd.c

out-of-date policy handling, not suitable for use in thg.

conclusion: replace

srv_netlog.c

same as before.  code only does NTLMv1.  doesn't generate user session
keys.  susceptible to client-side behaviour.  doesn't handle
pass-through-to-trusted-domain-controllers.
  doesn't handle cases where SSAM database can handle UNICODE.  doesn't
have net_trust_dom_list, net_logon_ctrl2 or net_sam_sync of tng.

conclusion: replace

srv_pipe.c

doesn't handle netlogon secure channel.  ntlmssp hard-coded, should be
abstracted. shouldn't be processing anonymous users (or making decisions
about them) that's the job of the NETLOGON process, not srv_pipe.c

doesn't handle NTLMv2 sign-seal, but neither does tng.  we're missing some
constants.  i know they exist, i just don't know what they are.

_does_ do bind_nak, which is really good.  _doesn't_ do a fault pdu, which
is not.

conclusion: replace, use bind_nak code from 2_0, put into tng.

srv_pipe_hnd.c

code deals with dce/rpc which it shouldn't.  tng is a data-redirector

conclusino: replace

srv_reg.c

only does ProductOptions not NETLOGON\Control as well.  NG responds
LanmanNT, 2_0 responsds ServerNT.  need to resolve this

conclusion: replace with lars conversion, resolve unknown issues.

srv_samr.c

nothing useful at all.

conclusion: replace

srv_srvsvc.c:

there's a considerable amount of formatting-changes that make it difficult
to review this.  nothing new except in net_srv_get_info that andrew added
code to truncate the server name to 48 chars.  the hard-coded 0x4100b (a
pdc) server-type has already also been added to tng nset_srv_get_info.

init_share_info looks like it's had a pstring_sub("%S",
lp_servicename(snum)) processing.

conclusion: replace, add seerver-truncate-to-48-chars code.  write decent
code that takes account of connection-state from smbd.  this is going to
be really tricky to get right.  may have to stick with the pstring_sub()
hack for now.  ask elrond to make srv_srvsvc_nt.c code
dynamically-allocated.

srv_util.c

hard-coded BUILTIN domain's aliases not acceptable.
get_domain_users_groups() isunacceptable, it uses hacked-up parameters i
created just for the sheer hell of it because i needed something to put in
the user's groups.  lookup_xxx_xxx() is a broken design, broken concept,
broken code, and also unacceptable.

conclusion: replace

ok, that's it.

overall: api_reply_xxx()  code should check that marshalling succeeded,
this is a good idea (add totng's rpc_server/srv_*.c marshalling/dispatcher
code).

conclusion: no significant "reliability" changes noticed that are vitally
important except the server-truncate-to-48-chars and the init_share_info()
being dynamically allocated.

jeremy, i think tht you may be considering that the server-implementation
code in 2_0 is "considerably more reliable" because of about... four
changes in functionality.  the tng code DWARFS the 2_0 code in comparison
-- 7,655 lines of code compared to 21,511.

so no, i do _not_ want to keep the tng server-side implementation code, it
too out-of-date.  i hope that this message will help you realise, now, WHY
i kept telling you that using the 2_0 code is not a good idea, and also
why i persistently asked you to keep 2_0 mods and tng mods up-to-date.

thx,

luke

<a href="mailto:lkcl at samba.org"   > Luke Kenneth Casson Leighton    </a>
<a href="http://www.cb1.com/~lkcl"> Samba and Network Development   </a>
<a href="http://samba.org"        > Samba Web site                  </a>
<a href="http://www.iss.net"      > Internet Security Systems, Inc. </a>
<a href="http://mcp.com"          > Macmillan Technical Publishing  </a>

 ISBN1578701503 DCE/RPC over SMB: Samba and Windows NT Domain Internals





More information about the samba-ntdom mailing list