This patch makes the 'winbind use default domain' code interact better with
commite870f0e727952aeb8599cf93ad2650ae56eca033
authorAndrew Bartlett <abartlet@samba.org>
Sun, 20 Jan 2002 01:24:59 +0000 (20 01:24 +0000)
committerAndrew Bartlett <abartlet@samba.org>
Sun, 20 Jan 2002 01:24:59 +0000 (20 01:24 +0000)
tree7d1bd14caac6b16a428aedf8d34eea3b230b5ab4
parent7c5c035e417b45acebc3580c4fdc80a7ef3306ce
This patch makes the 'winbind use default domain' code interact better with
smbd, and also makes it much cleaner inside winbindd.

It is mostly my code, with a few changes and testing performed by Alexander
Bokovoy <a.bokovoy@sam-solutions.net>.  ab has tested it in security=domain and
security=ads, but more testing is always appricatiated.

The idea is that we no longer cart around a 'domain\user' string, we keep them
seperate until the last moment - when we push that string into a pwent on onto
the socket.

This removes the need to be constantly parsing that string - the domain prefix
is almost always already provided, (only a couple of functions actually changed
arguments in all this).

Some consequential changes to the RPC client code, to stop it concatonating the
two strings (it now passes them both back as params).

I havn't changed the cache code, however the usernames will no longer have a
double domain prefix in the key string.  The actual structures are unchanged
 - but the meaning of 'username' in the 'rid' will have changed.  (The cache is
invalidated at startup, so on-disk formats are not an issue here).

Andrew Bartlett
16 files changed:
source/lib/util_getent.c
source/libsmb/cli_lsarpc.c
source/nsswitch/wbinfo.c
source/nsswitch/winbindd_ads.c
source/nsswitch/winbindd_group.c
source/nsswitch/winbindd_proto.h
source/nsswitch/winbindd_rpc.c
source/nsswitch/winbindd_sid.c
source/nsswitch/winbindd_user.c
source/nsswitch/winbindd_util.c
source/rpc_parse/parse_lsa.c
source/rpc_server/srv_samr_nt.c
source/rpc_server/srv_util.c
source/rpcclient/cmd_lsarpc.c
source/smbd/uid.c
source/utils/smbcacls.c