(merge from HEAD)
authorAndrew Bartlett <abartlet@samba.org>
Mon, 24 Mar 2003 09:54:13 +0000 (09:54 +0000)
committerAndrew Bartlett <abartlet@samba.org>
Mon, 24 Mar 2003 09:54:13 +0000 (09:54 +0000)
commitec071ca3dcbd3881dc08e6a8d7ac2ff0bcd57664
tree17ae0e845f587de52c9dfa29f205a0b47c2b6f34
parent339c14906802db6ddb59f07a0c71dcc3c73cc3d6
(merge from HEAD)

NTLM Authentication:

- Add a 'privileged' mode to Winbindd.  This is achieved by means of a directory
  under lockdir, that the admin can change the group access for.

- This mode is now required to access with 'CRAP' authentication feature.
- This *will* break the current SQUID helper, so I've fixed up our ntlm_auth
  replacement:
 - Update our NTLMSSP code to cope with 'datagram' mode, where we don't get a
   challenge.
 - Use this to make our ntlm_auth utility suitable for use in current Squid 2.5
   servers.
 - Tested - works for Win2k clients, but not Win9X at present.  NTLMSSP updates
   are needed.
 - Now uses fgets(), not x_fgets() to cope with Squid environment (I think
   somthing to do with non-blocking stdin).

- Add much more robust connection code to wb_common.c - it will not connect to
  a server of a different protocol version, and it will automatically try and
  reconnect to the 'privileged' pipe if possible.
  - This could help with 'privileged' idmap operations etc in future.

- Add a generic HEX encode routine to util_str.c,
- fix a small line of dodgy C in StrnCpy_fn()

- Correctly pull our 'session key' out of the info3 from th the DC.  This is
  used in both the auth code, and in for export over the winbind pipe to
  ntlm_auth.

- Given the user's challenge/response and access to the privileged pipe,
  allow external access to the 'session key'.  To be used for MSCHAPv2
  integration.

Andrew Bartlett
14 files changed:
source/auth/auth_domain.c
source/auth/auth_util.c
source/include/rpc_netlogon.h
source/lib/util_str.c
source/libsmb/ntlmssp.c
source/nsswitch/wb_common.c
source/nsswitch/winbindd.c
source/nsswitch/winbindd.h
source/nsswitch/winbindd_misc.c
source/nsswitch/winbindd_nss.h
source/nsswitch/winbindd_pam.c
source/nsswitch/winbindd_util.c
source/rpc_client/cli_netlogon.c
source/utils/ntlm_auth.c