diff options
author | Luke Leighton <lkcl@samba.org> | 1999-10-07 22:10:29 +0000 |
---|---|---|
committer | Luke Leighton <lkcl@samba.org> | 1999-10-07 22:10:29 +0000 |
commit | cba7662da1fd9ed8bd9f9969417adf1fe5f0d33b (patch) | |
tree | eae7890b1c9c03c86e86dd86a2966fc5a585b99a /source3/libsmb/pwd_cache.c | |
parent | eb9268550f2330d4a9a3381f560bd7d70743e19a (diff) | |
download | samba-cba7662da1fd9ed8bd9f9969417adf1fe5f0d33b.tar.gz samba-cba7662da1fd9ed8bd9f9969417adf1fe5f0d33b.tar.bz2 samba-cba7662da1fd9ed8bd9f9969417adf1fe5f0d33b.zip |
- added rudimentary CAP_UNICODE support because i thought it was part of
a problem i was having.
- added rudimentary CAP_STATUS32 support for same reason.
- added hard-coded, copy-the-same-data-from-over-the-wire version of
CAP_EXTENDED_SECURITY, which is a security-blob to encapsulate
GSSAPI which encodes
SPNEGO which is used to negotiate
Kerberos or NTLMSSP. i have implemented
NTLMSSP which negotiates
NTLMv1 or NTLMv2 and 40-bit or 128-bit etc. i have implemented
NTLMv1 / 40-bit.
*whew*.
(This used to be commit e5b80bd2f76fda70e41e4a9007eb035dab92ed8e)
Diffstat (limited to 'source3/libsmb/pwd_cache.c')
-rw-r--r-- | source3/libsmb/pwd_cache.c | 21 |
1 files changed, 21 insertions, 0 deletions
diff --git a/source3/libsmb/pwd_cache.c b/source3/libsmb/pwd_cache.c index 655df5be8a..c8b0e6a442 100644 --- a/source3/libsmb/pwd_cache.c +++ b/source3/libsmb/pwd_cache.c @@ -34,6 +34,7 @@ void pwd_init(struct pwd_info *pwd) bzero(pwd->smb_nt_pwd, sizeof(pwd->smb_nt_pwd)); bzero(pwd->smb_lm_owf, sizeof(pwd->smb_lm_owf)); bzero(pwd->smb_nt_owf, sizeof(pwd->smb_nt_owf)); + pwd->nt_owf_len = 0; pwd->null_pwd = True; /* safest option... */ pwd->cleartext = False; @@ -259,6 +260,14 @@ void pwd_make_lm_nt_owf2(struct pwd_info *pwd, const uchar srv_key[8], ****************************************************************************/ void pwd_make_lm_nt_owf(struct pwd_info *pwd, uchar cryptkey[8]) { + if (pwd->null_pwd) + { +#ifdef DEBUG_PASSWORD + DEBUG(100,("pwd_make_lm_nt_owf: NULL password\n")); +#endif + pwd->nt_owf_len = 0; + return; + } pwd_deobfuscate(pwd); SMBOWFencrypt(pwd->smb_lm_pwd, cryptkey, pwd->smb_lm_owf); @@ -291,6 +300,18 @@ void pwd_make_lm_nt_owf(struct pwd_info *pwd, uchar cryptkey[8]) void pwd_get_lm_nt_owf(struct pwd_info *pwd, uchar lm_owf[24], uchar *nt_owf, size_t *nt_owf_len) { + if (pwd->null_pwd) + { +#ifdef DEBUG_PASSWORD + DEBUG(100,("pwd_get_lm_nt_owf: NULL password\n")); +#endif + if (nt_owf_len != NULL) + { + *nt_owf_len = 0; + } + return; + } + pwd_deobfuscate(pwd); if (lm_owf != NULL) { |