ReactOS 0.4.15-dev-7924-g5949c20
kerberos.c File Reference
#include "precomp.h"
#include <assert.h>
#include <wine/debug.h>
Include dependency graph for kerberos.c:

Go to the source code of this file.

Macros

#define KERBEROS_MAX_BUF   12000
 
#define KERBEROS_COMMENT    {'M','i','c','r','o','s','o','f','t',' ','K','e','r','b','e','r','o','s',' ','V','1','.','0',0}
 
#define KERBEROS_NAME   {'K','e','r','b','e','r','o','s',0}
 
#define CAPS
 

Functions

 WINE_DEFAULT_DEBUG_CHANNEL (secur32)
 
static SECURITY_STATUS SEC_ENTRY kerberos_QueryCredentialsAttributesA (CredHandle *phCredential, ULONG ulAttribute, void *pBuffer)
 
static SECURITY_STATUS SEC_ENTRY kerberos_QueryCredentialsAttributesW (CredHandle *phCredential, ULONG ulAttribute, void *pBuffer)
 
static SECURITY_STATUS SEC_ENTRY kerberos_AcquireCredentialsHandleW (SEC_WCHAR *pszPrincipal, SEC_WCHAR *pszPackage, ULONG fCredentialUse, LUID *pLogonID, void *pAuthData, SEC_GET_KEY_FN pGetKeyFn, void *pGetKeyArgument, CredHandle *phCredential, TimeStamp *ptsExpiry)
 
static SECURITY_STATUS SEC_ENTRY kerberos_AcquireCredentialsHandleA (SEC_CHAR *pszPrincipal, SEC_CHAR *pszPackage, ULONG fCredentialUse, LUID *pLogonID, void *pAuthData, SEC_GET_KEY_FN pGetKeyFn, void *pGetKeyArgument, CredHandle *phCredential, TimeStamp *ptsExpiry)
 
static SECURITY_STATUS SEC_ENTRY kerberos_InitializeSecurityContextW (CredHandle *phCredential, CtxtHandle *phContext, SEC_WCHAR *pszTargetName, ULONG fContextReq, ULONG Reserved1, ULONG TargetDataRep, SecBufferDesc *pInput, ULONG Reserved2, CtxtHandle *phNewContext, SecBufferDesc *pOutput, ULONG *pfContextAttr, TimeStamp *ptsExpiry)
 
static SECURITY_STATUS SEC_ENTRY kerberos_InitializeSecurityContextA (CredHandle *phCredential, CtxtHandle *phContext, SEC_CHAR *pszTargetName, ULONG fContextReq, ULONG Reserved1, ULONG TargetDataRep, SecBufferDesc *pInput, ULONG Reserved2, CtxtHandle *phNewContext, SecBufferDesc *pOutput, ULONG *pfContextAttr, TimeStamp *ptsExpiry)
 
static SECURITY_STATUS SEC_ENTRY kerberos_AcceptSecurityContext (CredHandle *phCredential, CtxtHandle *phContext, SecBufferDesc *pInput, ULONG fContextReq, ULONG TargetDataRep, CtxtHandle *phNewContext, SecBufferDesc *pOutput, ULONG *pfContextAttr, TimeStamp *ptsExpiry)
 
static SECURITY_STATUS SEC_ENTRY kerberos_CompleteAuthToken (CtxtHandle *phContext, SecBufferDesc *pToken)
 
static SECURITY_STATUS SEC_ENTRY kerberos_DeleteSecurityContext (CtxtHandle *phContext)
 
static SECURITY_STATUS SEC_ENTRY kerberos_QueryContextAttributesW (CtxtHandle *phContext, ULONG ulAttribute, void *pBuffer)
 
static SECURITY_STATUS SEC_ENTRY kerberos_QueryContextAttributesA (CtxtHandle *phContext, ULONG ulAttribute, void *pBuffer)
 
static SECURITY_STATUS SEC_ENTRY kerberos_ImpersonateSecurityContext (CtxtHandle *phContext)
 
static SECURITY_STATUS SEC_ENTRY kerberos_RevertSecurityContext (CtxtHandle *phContext)
 
static SECURITY_STATUS SEC_ENTRY kerberos_MakeSignature (CtxtHandle *phContext, ULONG fQOP, SecBufferDesc *pMessage, ULONG MessageSeqNo)
 
static SECURITY_STATUS SEC_ENTRY kerberos_VerifySignature (CtxtHandle *phContext, SecBufferDesc *pMessage, ULONG MessageSeqNo, PULONG pfQOP)
 
static SECURITY_STATUS SEC_ENTRY kerberos_FreeCredentialsHandle (PCredHandle phCredential)
 
static SECURITY_STATUS SEC_ENTRY kerberos_EncryptMessage (CtxtHandle *phContext, ULONG fQOP, SecBufferDesc *pMessage, ULONG MessageSeqNo)
 
static SECURITY_STATUS SEC_ENTRY kerberos_DecryptMessage (CtxtHandle *phContext, SecBufferDesc *pMessage, ULONG MessageSeqNo, PULONG pfQOP)
 
void SECUR32_initKerberosSP (void)
 

Variables

static const SecurityFunctionTableA kerberosTableA
 
static const SecurityFunctionTableW kerberosTableW
 
static CHAR kerberos_comment_A [] = KERBEROS_COMMENT
 
static WCHAR kerberos_comment_W [] = KERBEROS_COMMENT
 
static char kerberos_name_A [] = KERBEROS_NAME
 
static WCHAR kerberos_name_W [] = KERBEROS_NAME
 
static const SecPkgInfoW infoW
 
static const SecPkgInfoA infoA
 

Macro Definition Documentation

◆ CAPS

#define CAPS
Value:
#define SECPKG_FLAG_APPCONTAINER_CHECKS
Definition: sspi.h:149
#define SECPKG_FLAG_TOKEN_ONLY
Definition: sspi.h:128
#define SECPKG_FLAG_IMPERSONATION
Definition: sspi.h:134
#define SECPKG_FLAG_EXTENDED_ERROR
Definition: sspi.h:133
#define SECPKG_FLAG_PRIVACY
Definition: sspi.h:127
#define SECPKG_FLAG_RESTRICTED_TOKENS
Definition: sspi.h:145
#define SECPKG_FLAG_MULTI_REQUIRED
Definition: sspi.h:131
#define SECPKG_FLAG_CONNECTION
Definition: sspi.h:130
#define SECPKG_FLAG_NEGOTIABLE
Definition: sspi.h:137
#define SECPKG_FLAG_DELEGATION
Definition: sspi.h:143
#define SECPKG_FLAG_INTEGRITY
Definition: sspi.h:126
#define SECPKG_FLAG_MUTUAL_AUTH
Definition: sspi.h:142
#define SECPKG_FLAG_DATAGRAM
Definition: sspi.h:129
#define SECPKG_FLAG_LOGON
Definition: sspi.h:139
#define SECPKG_FLAG_READONLY_WITH_CHECKSUM
Definition: sspi.h:144
#define SECPKG_FLAG_ACCEPT_WIN32_NAME
Definition: sspi.h:135
#define SECPKG_FLAG_GSS_COMPATIBLE
Definition: sspi.h:138

Definition at line 274 of file kerberos.c.

◆ KERBEROS_COMMENT

#define KERBEROS_COMMENT    {'M','i','c','r','o','s','o','f','t',' ','K','e','r','b','e','r','o','s',' ','V','1','.','0',0}

Definition at line 265 of file kerberos.c.

◆ KERBEROS_MAX_BUF

#define KERBEROS_MAX_BUF   12000

Definition at line 27 of file kerberos.c.

◆ KERBEROS_NAME

#define KERBEROS_NAME   {'K','e','r','b','e','r','o','s',0}

Definition at line 270 of file kerberos.c.

Function Documentation

◆ kerberos_AcceptSecurityContext()

static SECURITY_STATUS SEC_ENTRY kerberos_AcceptSecurityContext ( CredHandle phCredential,
CtxtHandle phContext,
SecBufferDesc pInput,
ULONG  fContextReq,
ULONG  TargetDataRep,
CtxtHandle phNewContext,
SecBufferDesc pOutput,
ULONG pfContextAttr,
TimeStamp ptsExpiry 
)
static

Definition at line 96 of file kerberos.c.

98{
99 FIXME("(%p %p %p %d %d %p %p %p %p)\n", phCredential, phContext, pInput, fContextReq, TargetDataRep, phNewContext, pOutput,
100 pfContextAttr, ptsExpiry);
102}
#define FIXME(fmt,...)
Definition: debug.h:111
#define SEC_E_UNSUPPORTED_FUNCTION
Definition: winerror.h:2911

◆ kerberos_AcquireCredentialsHandleA()

static SECURITY_STATUS SEC_ENTRY kerberos_AcquireCredentialsHandleA ( SEC_CHAR pszPrincipal,
SEC_CHAR pszPackage,
ULONG  fCredentialUse,
LUID pLogonID,
void pAuthData,
SEC_GET_KEY_FN  pGetKeyFn,
void pGetKeyArgument,
CredHandle phCredential,
TimeStamp ptsExpiry 
)
static

Definition at line 61 of file kerberos.c.

63{
64 FIXME("(%s %s 0x%08x %p %p %p %p %p %p)\n", debugstr_a(pszPrincipal), debugstr_a(pszPackage), fCredentialUse,
65 pLogonID, pAuthData, pGetKeyFn, pGetKeyArgument, phCredential, ptsExpiry);
67}
#define debugstr_a
Definition: kernel32.h:31

◆ kerberos_AcquireCredentialsHandleW()

static SECURITY_STATUS SEC_ENTRY kerberos_AcquireCredentialsHandleW ( SEC_WCHAR pszPrincipal,
SEC_WCHAR pszPackage,
ULONG  fCredentialUse,
LUID pLogonID,
void pAuthData,
SEC_GET_KEY_FN  pGetKeyFn,
void pGetKeyArgument,
CredHandle phCredential,
TimeStamp ptsExpiry 
)
static

Definition at line 50 of file kerberos.c.

52{
53 FIXME("(%s %s 0x%08x %p %p %p %p %p %p)\n", debugstr_w(pszPrincipal), debugstr_w(pszPackage), fCredentialUse,
54 pLogonID, pAuthData, pGetKeyFn, pGetKeyArgument, phCredential, ptsExpiry);
56}
#define debugstr_w
Definition: kernel32.h:32
#define SEC_E_NO_CREDENTIALS
Definition: winerror.h:2923

◆ kerberos_CompleteAuthToken()

static SECURITY_STATUS SEC_ENTRY kerberos_CompleteAuthToken ( CtxtHandle phContext,
SecBufferDesc pToken 
)
static

Definition at line 107 of file kerberos.c.

108{
109 FIXME("(%p %p)\n", phContext, pToken);
111}

◆ kerberos_DecryptMessage()

static SECURITY_STATUS SEC_ENTRY kerberos_DecryptMessage ( CtxtHandle phContext,
SecBufferDesc pMessage,
ULONG  MessageSeqNo,
PULONG  pfQOP 
)
static

Definition at line 197 of file kerberos.c.

198{
199 FIXME("(%p %p %d %p)\n", phContext, pMessage, MessageSeqNo, pfQOP);
201}

◆ kerberos_DeleteSecurityContext()

static SECURITY_STATUS SEC_ENTRY kerberos_DeleteSecurityContext ( CtxtHandle phContext)
static

Definition at line 116 of file kerberos.c.

117{
118 FIXME("(%p)\n", phContext);
120}

◆ kerberos_EncryptMessage()

static SECURITY_STATUS SEC_ENTRY kerberos_EncryptMessage ( CtxtHandle phContext,
ULONG  fQOP,
SecBufferDesc pMessage,
ULONG  MessageSeqNo 
)
static

Definition at line 188 of file kerberos.c.

189{
190 FIXME("(%p %d %p %d)\n", phContext, fQOP, pMessage, MessageSeqNo);
192}

◆ kerberos_FreeCredentialsHandle()

static SECURITY_STATUS SEC_ENTRY kerberos_FreeCredentialsHandle ( PCredHandle  phCredential)
static

Definition at line 179 of file kerberos.c.

180{
181 FIXME("(%p)\n", phCredential);
183}

◆ kerberos_ImpersonateSecurityContext()

static SECURITY_STATUS SEC_ENTRY kerberos_ImpersonateSecurityContext ( CtxtHandle phContext)
static

Definition at line 143 of file kerberos.c.

144{
145 FIXME("(%p)\n", phContext);
147}

◆ kerberos_InitializeSecurityContextA()

static SECURITY_STATUS SEC_ENTRY kerberos_InitializeSecurityContextA ( CredHandle phCredential,
CtxtHandle phContext,
SEC_CHAR pszTargetName,
ULONG  fContextReq,
ULONG  Reserved1,
ULONG  TargetDataRep,
SecBufferDesc pInput,
ULONG  Reserved2,
CtxtHandle phNewContext,
SecBufferDesc pOutput,
ULONG pfContextAttr,
TimeStamp ptsExpiry 
)
static

Definition at line 84 of file kerberos.c.

87{
88 FIXME("%p %p %s %d %d %d %p %d %p %p %p %p\n", phCredential, phContext, debugstr_a(pszTargetName), fContextReq,
89 Reserved1, TargetDataRep, pInput, Reserved1, phNewContext, pOutput, pfContextAttr, ptsExpiry);
91}
@ Reserved1
Definition: bcd.h:201

◆ kerberos_InitializeSecurityContextW()

static SECURITY_STATUS SEC_ENTRY kerberos_InitializeSecurityContextW ( CredHandle phCredential,
CtxtHandle phContext,
SEC_WCHAR pszTargetName,
ULONG  fContextReq,
ULONG  Reserved1,
ULONG  TargetDataRep,
SecBufferDesc pInput,
ULONG  Reserved2,
CtxtHandle phNewContext,
SecBufferDesc pOutput,
ULONG pfContextAttr,
TimeStamp ptsExpiry 
)
static

Definition at line 72 of file kerberos.c.

75{
76 FIXME("(%p %p %s 0x%08x %d %d %p %d %p %p %p %p)\n", phCredential, phContext, debugstr_w(pszTargetName),
77 fContextReq, Reserved1, TargetDataRep, pInput, Reserved1, phNewContext, pOutput, pfContextAttr, ptsExpiry);
79}

◆ kerberos_MakeSignature()

static SECURITY_STATUS SEC_ENTRY kerberos_MakeSignature ( CtxtHandle phContext,
ULONG  fQOP,
SecBufferDesc pMessage,
ULONG  MessageSeqNo 
)
static

Definition at line 161 of file kerberos.c.

162{
163 FIXME("(%p %d %p %d)\n", phContext, fQOP, pMessage, MessageSeqNo);
165}

◆ kerberos_QueryContextAttributesA()

static SECURITY_STATUS SEC_ENTRY kerberos_QueryContextAttributesA ( CtxtHandle phContext,
ULONG  ulAttribute,
void pBuffer 
)
static

Definition at line 134 of file kerberos.c.

135{
136 FIXME("(%p %d %p)\n", phContext, ulAttribute, pBuffer);
138}
PVOID pBuffer

◆ kerberos_QueryContextAttributesW()

static SECURITY_STATUS SEC_ENTRY kerberos_QueryContextAttributesW ( CtxtHandle phContext,
ULONG  ulAttribute,
void pBuffer 
)
static

Definition at line 125 of file kerberos.c.

126{
127 FIXME("(%p %d %p)\n", phContext, ulAttribute, pBuffer);
129}

◆ kerberos_QueryCredentialsAttributesA()

static SECURITY_STATUS SEC_ENTRY kerberos_QueryCredentialsAttributesA ( CredHandle phCredential,
ULONG  ulAttribute,
void pBuffer 
)
static

Definition at line 32 of file kerberos.c.

33{
34 FIXME("(%p %d %p)\n", phCredential, ulAttribute, pBuffer);
36}

◆ kerberos_QueryCredentialsAttributesW()

static SECURITY_STATUS SEC_ENTRY kerberos_QueryCredentialsAttributesW ( CredHandle phCredential,
ULONG  ulAttribute,
void pBuffer 
)
static

Definition at line 41 of file kerberos.c.

42{
43 FIXME("(%p, %d, %p)\n", phCredential, ulAttribute, pBuffer);
45}

◆ kerberos_RevertSecurityContext()

static SECURITY_STATUS SEC_ENTRY kerberos_RevertSecurityContext ( CtxtHandle phContext)
static

Definition at line 152 of file kerberos.c.

153{
154 FIXME("(%p)\n", phContext);
156}

◆ kerberos_VerifySignature()

static SECURITY_STATUS SEC_ENTRY kerberos_VerifySignature ( CtxtHandle phContext,
SecBufferDesc pMessage,
ULONG  MessageSeqNo,
PULONG  pfQOP 
)
static

Definition at line 170 of file kerberos.c.

171{
172 FIXME("(%p %p %d %p)\n", phContext, pMessage, MessageSeqNo, pfQOP);
174}

◆ SECUR32_initKerberosSP()

void SECUR32_initKerberosSP ( void  )

Definition at line 311 of file kerberos.c.

312{
314 SECUR32_addPackages(provider, 1, &infoA, &infoW);
315}
#define NULL
Definition: types.h:112
static const SecPkgInfoW infoW
Definition: kerberos.c:293
static const SecPkgInfoA infoA
Definition: kerberos.c:302
static const SecurityFunctionTableA kerberosTableA
Definition: kerberos.c:203
static const SecurityFunctionTableW kerberosTableW
Definition: kerberos.c:234
SecureProvider * SECUR32_addProvider(const SecurityFunctionTableA *fnTableA, const SecurityFunctionTableW *fnTableW, PCWSTR moduleName) DECLSPEC_HIDDEN
Definition: secur32_wine.c:314
void SECUR32_addPackages(SecureProvider *provider, ULONG toAdd, const SecPkgInfoA *infoA, const SecPkgInfoW *infoW) DECLSPEC_HIDDEN
Definition: secur32_wine.c:362

Referenced by SECUR32_initializeProviders().

◆ WINE_DEFAULT_DEBUG_CHANNEL()

WINE_DEFAULT_DEBUG_CHANNEL ( secur32  )

Variable Documentation

◆ infoA

const SecPkgInfoA infoA
static
Initial value:
= {
1,
}
#define CAPS
Definition: kerberos.c:274
static CHAR kerberos_comment_A[]
Definition: kerberos.c:267
#define KERBEROS_MAX_BUF
Definition: kerberos.c:27
static char kerberos_name_A[]
Definition: kerberos.c:271
#define RPC_C_AUTHN_GSS_KERBEROS
Definition: rpcdce.h:160

Definition at line 302 of file kerberos.c.

Referenced by _copyPackageInfoFlatAToW(), _tryLoadProvider(), ldap_get_optionA(), SECUR32_addPackages(), SECUR32_initKerberosSP(), SECUR32_initNegotiateSP(), test_GetVersionEx(), test_MRUListA(), and test_set_getsockopt().

◆ infoW

◆ kerberos_comment_A

CHAR kerberos_comment_A[] = KERBEROS_COMMENT
static

Definition at line 267 of file kerberos.c.

◆ kerberos_comment_W

WCHAR kerberos_comment_W[] = KERBEROS_COMMENT
static

Definition at line 268 of file kerberos.c.

◆ kerberos_name_A

char kerberos_name_A[] = KERBEROS_NAME
static

Definition at line 271 of file kerberos.c.

◆ kerberos_name_W

WCHAR kerberos_name_W[] = KERBEROS_NAME
static

Definition at line 272 of file kerberos.c.

◆ kerberosTableA

const SecurityFunctionTableA kerberosTableA
static
Initial value:
= {
1,
NULL,
NULL,
NULL,
NULL,
NULL,
NULL,
NULL,
NULL,
NULL,
NULL,
NULL,
NULL,
}
static SECURITY_STATUS SEC_ENTRY kerberos_QueryCredentialsAttributesA(CredHandle *phCredential, ULONG ulAttribute, void *pBuffer)
Definition: kerberos.c:32
static SECURITY_STATUS SEC_ENTRY kerberos_VerifySignature(CtxtHandle *phContext, SecBufferDesc *pMessage, ULONG MessageSeqNo, PULONG pfQOP)
Definition: kerberos.c:170
static SECURITY_STATUS SEC_ENTRY kerberos_InitializeSecurityContextA(CredHandle *phCredential, CtxtHandle *phContext, SEC_CHAR *pszTargetName, ULONG fContextReq, ULONG Reserved1, ULONG TargetDataRep, SecBufferDesc *pInput, ULONG Reserved2, CtxtHandle *phNewContext, SecBufferDesc *pOutput, ULONG *pfContextAttr, TimeStamp *ptsExpiry)
Definition: kerberos.c:84
static SECURITY_STATUS SEC_ENTRY kerberos_QueryContextAttributesA(CtxtHandle *phContext, ULONG ulAttribute, void *pBuffer)
Definition: kerberos.c:134
static SECURITY_STATUS SEC_ENTRY kerberos_EncryptMessage(CtxtHandle *phContext, ULONG fQOP, SecBufferDesc *pMessage, ULONG MessageSeqNo)
Definition: kerberos.c:188
static SECURITY_STATUS SEC_ENTRY kerberos_AcquireCredentialsHandleA(SEC_CHAR *pszPrincipal, SEC_CHAR *pszPackage, ULONG fCredentialUse, LUID *pLogonID, void *pAuthData, SEC_GET_KEY_FN pGetKeyFn, void *pGetKeyArgument, CredHandle *phCredential, TimeStamp *ptsExpiry)
Definition: kerberos.c:61
static SECURITY_STATUS SEC_ENTRY kerberos_AcceptSecurityContext(CredHandle *phCredential, CtxtHandle *phContext, SecBufferDesc *pInput, ULONG fContextReq, ULONG TargetDataRep, CtxtHandle *phNewContext, SecBufferDesc *pOutput, ULONG *pfContextAttr, TimeStamp *ptsExpiry)
Definition: kerberos.c:96
static SECURITY_STATUS SEC_ENTRY kerberos_DecryptMessage(CtxtHandle *phContext, SecBufferDesc *pMessage, ULONG MessageSeqNo, PULONG pfQOP)
Definition: kerberos.c:197
static SECURITY_STATUS SEC_ENTRY kerberos_RevertSecurityContext(CtxtHandle *phContext)
Definition: kerberos.c:152
static SECURITY_STATUS SEC_ENTRY kerberos_MakeSignature(CtxtHandle *phContext, ULONG fQOP, SecBufferDesc *pMessage, ULONG MessageSeqNo)
Definition: kerberos.c:161
static SECURITY_STATUS SEC_ENTRY kerberos_FreeCredentialsHandle(PCredHandle phCredential)
Definition: kerberos.c:179
static SECURITY_STATUS SEC_ENTRY kerberos_ImpersonateSecurityContext(CtxtHandle *phContext)
Definition: kerberos.c:143
static SECURITY_STATUS SEC_ENTRY kerberos_CompleteAuthToken(CtxtHandle *phContext, SecBufferDesc *pToken)
Definition: kerberos.c:107
static SECURITY_STATUS SEC_ENTRY kerberos_DeleteSecurityContext(CtxtHandle *phContext)
Definition: kerberos.c:116
SECURITY_STATUS WINAPI FreeContextBuffer(PVOID pv)
Definition: sspi.c:699

Definition at line 203 of file kerberos.c.

Referenced by SECUR32_initKerberosSP().

◆ kerberosTableW

const SecurityFunctionTableW kerberosTableW
static
Initial value:
= {
1,
NULL,
NULL,
NULL,
NULL,
NULL,
NULL,
NULL,
NULL,
NULL,
NULL,
NULL,
NULL,
}
static SECURITY_STATUS SEC_ENTRY kerberos_InitializeSecurityContextW(CredHandle *phCredential, CtxtHandle *phContext, SEC_WCHAR *pszTargetName, ULONG fContextReq, ULONG Reserved1, ULONG TargetDataRep, SecBufferDesc *pInput, ULONG Reserved2, CtxtHandle *phNewContext, SecBufferDesc *pOutput, ULONG *pfContextAttr, TimeStamp *ptsExpiry)
Definition: kerberos.c:72
static SECURITY_STATUS SEC_ENTRY kerberos_QueryContextAttributesW(CtxtHandle *phContext, ULONG ulAttribute, void *pBuffer)
Definition: kerberos.c:125
static SECURITY_STATUS SEC_ENTRY kerberos_QueryCredentialsAttributesW(CredHandle *phCredential, ULONG ulAttribute, void *pBuffer)
Definition: kerberos.c:41
static SECURITY_STATUS SEC_ENTRY kerberos_AcquireCredentialsHandleW(SEC_WCHAR *pszPrincipal, SEC_WCHAR *pszPackage, ULONG fCredentialUse, LUID *pLogonID, void *pAuthData, SEC_GET_KEY_FN pGetKeyFn, void *pGetKeyArgument, CredHandle *phCredential, TimeStamp *ptsExpiry)
Definition: kerberos.c:50

Definition at line 234 of file kerberos.c.

Referenced by SECUR32_initKerberosSP().