From: Jeffrey Altman Date: Tue, 22 Mar 2005 05:43:12 +0000 (+0000) Subject: STABLE14-windows-smb-fix-20050322 X-Git-Tag: openafs-devel-1_3_80a~1 X-Git-Url: https://git.michaelhowe.org/gitweb/?a=commitdiff_plain;h=c9d561e321d856ef9087efccce4eed94e5ea3a01;p=packages%2Fo%2Fopenafs.git STABLE14-windows-smb-fix-20050322 the use logon cache hack only works on xp and above. do not give up use of smb auth simply because it fails fix the smb_vc_t refCount fix to smb_CopyPacket. Only hold a smb_vc_t if there is one. (cherry picked from commit 46f7713f16c8c96983872a801cf1ce9cf7b80530) --- diff --git a/src/WINNT/afsd/smb.c b/src/WINNT/afsd/smb.c index 22657df07..bddb0df22 100644 --- a/src/WINNT/afsd/smb.c +++ b/src/WINNT/afsd/smb.c @@ -1841,7 +1841,8 @@ smb_packet_t *smb_CopyPacket(smb_packet_t *pkt) tbp = GetPacket(); memcpy(tbp, pkt, sizeof(smb_packet_t)); tbp->wctp = tbp->data + ((unsigned int)pkt->wctp - (unsigned int)pkt->data); - smb_HoldVC(tbp->vcp); + if (tbp->vcp) + smb_HoldVC(tbp->vcp); return tbp; } @@ -8090,18 +8091,23 @@ void smb_Init(osi_log_t *logp, char *snamep, int useV3, int LANadapt, smb_lsaLogonOrigin.MaximumLength = smb_lsaLogonOrigin.Length + 1; } else { afsi_log("Can't determine security package name for NTLM!! NTSTATUS=[%l]",nts); + + /* something went wrong. We report the error and revert back to no authentication + because we can't perform any auth requests without a successful lsa handle + or sec package id. */ + afsi_log("Reverting to NO SMB AUTH"); + smb_authType = SMB_AUTH_NONE; } } else { afsi_log("Can't register logon process!! NTSTATUS=[%l]",nts); - } - if (nts != STATUS_SUCCESS) { /* something went wrong. We report the error and revert back to no authentication because we can't perform any auth requests without a successful lsa handle or sec package id. */ afsi_log("Reverting to NO SMB AUTH"); smb_authType = SMB_AUTH_NONE; - } + } + #ifdef COMMENT /* Don't fallback to SMB_AUTH_NTLM. Apparently, allowing SPNEGO to be used each * time prevents the failure of authentication when logged into Windows with an