* Thomas Weidenmueller wine-patches@reactsoft.com [19/06/06, 11:38:54]:
Index: dlls/secur32/negotiate.c
RCS file: /home/wine/wine/dlls/secur32/negotiate.c,v retrieving revision 1.3 diff -u -r1.3 negotiate.c --- dlls/secur32/negotiate.c 23 May 2006 12:48:34 -0000 1.3 +++ dlls/secur32/negotiate.c 19 Jun 2006 09:10:31 -0000 @@ -110,7 +110,10 @@ phCredential->dwUpper = fCredentialsUse; /* Same here, shamelessly stolen from schannel.c */ if (ptsExpiry)
ptsExpiry->QuadPart = 0;
{
ptsExpiry->LowPart = 0;
ptsExpiry->HighPart = 0;
} return ret;} ret = SEC_E_OK;
Be aware that negotiate.c is a complete stub. If this function is changed, it should be changed like this:
diff --git a/dlls/secur32/negotiate.c b/dlls/secur32/negotiate.c index b8531aa..586e559 100644 --- a/dlls/secur32/negotiate.c +++ b/dlls/secur32/negotiate.c @@ -93,28 +93,6 @@ static SECURITY_STATUS SEC_ENTRY nego_Qu return ret; }
-static SECURITY_STATUS nego_AcquireCredentialsHandle(ULONG fCredentialsUse, - PCredHandle phCredential, PTimeStamp ptsExpiry) -{ - SECURITY_STATUS ret; - - if(fCredentialsUse == SECPKG_CRED_BOTH) - { - ret = SEC_E_NO_CREDENTIALS; - } - else - { - /* Ok, just store the direction like schannel does for now. - * FIXME: This should probably do something useful later on - */ - phCredential->dwUpper = fCredentialsUse; - /* Same here, shamelessly stolen from schannel.c */ - if (ptsExpiry) - ptsExpiry->QuadPart = 0; - ret = SEC_E_OK; - } - return ret; -}
/*********************************************************************** * AcquireCredentialsHandleA @@ -124,11 +102,10 @@ static SECURITY_STATUS SEC_ENTRY nego_Ac PLUID pLogonID, PVOID pAuthData, SEC_GET_KEY_FN pGetKeyFn, PVOID pGetKeyArgument, PCredHandle phCredential, PTimeStamp ptsExpiry) { - TRACE("(%s, %s, 0x%08lx, %p, %p, %p, %p, %p, %p)\n", + TRACE("(%s, %s, 0x%08lx, %p, %p, %p, %p, %p, %p) stub\n", debugstr_a(pszPrincipal), debugstr_a(pszPackage), fCredentialUse, pLogonID, pAuthData, pGetKeyFn, pGetKeyArgument, phCredential, ptsExpiry); - return nego_AcquireCredentialsHandle(fCredentialUse, phCredential, - ptsExpiry); + return SEC_E_UNSUPPORTED_FUNCTION; }
/*********************************************************************** @@ -139,11 +116,10 @@ static SECURITY_STATUS SEC_ENTRY nego_Ac PLUID pLogonID, PVOID pAuthData, SEC_GET_KEY_FN pGetKeyFn, PVOID pGetKeyArgument, PCredHandle phCredential, PTimeStamp ptsExpiry) { - TRACE("(%s, %s, 0x%08lx, %p, %p, %p, %p, %p, %p)\n", + TRACE("(%s, %s, 0x%08lx, %p, %p, %p, %p, %p, %p) stub\n", debugstr_w(pszPrincipal), debugstr_w(pszPackage), fCredentialUse, pLogonID, pAuthData, pGetKeyFn, pGetKeyArgument, phCredential, ptsExpiry); - return nego_AcquireCredentialsHandle(fCredentialUse, phCredential, - ptsExpiry); + return SEC_E_UNSUPPORTED_FUNCTION; }
/***********************************************************************
There's just no use in fixing negotiate.c as long as ntlm.c is in flux. Negotiate will use the same solution as NTLM.
Cheers, Kai
Kai Blin wrote:
Be aware that negotiate.c is a complete stub. If this function is changed, it should be changed like this:
I didn't intend to fix the logic or implementation, just the fact that the structure was defined incorrectly. The fixes in the .c files are just neccessary because the structure is defined differently. I just noticed I forgot to fix the usage in schannel.c, I'll resend a fixed patch.
There's just no use in fixing negotiate.c as long as ntlm.c is in flux. Negotiate will use the same solution as NTLM.
See above.
- Thomas