/*********************************************************************** * * Copyright (C) 2005-2006 Novell, Inc. * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public * License as published by the Free Software Foundation; version 2.1 * of the License. * * This library is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * Library General Public License for more details. * * You should have received a copy of the GNU Lesser General Public * License along with this library; if not, write to the Free * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. * * To contact Novell about this file by physical or electronic mail, * you may find current contact information at www.novell.com. * ***********************************************************************/ //===[ Include files ]===================================================== #include #include #include #include #include #include #include #include #include #include #include #include //===[ Type definitions ]================================================== #define CONTAINING_RECORD(address, type, field) ((type *)( \ (char*)(address) - \ (char*)(&((type *)0)->field))) // // DbgTrace macro define // #define DbgTrace(LEVEL, X, Y) { \ if (LEVEL == 0) \ printf(X, Y); \ else if (DebugLevel >= LEVEL) \ printf(X, Y); \ } //===[ Inlines functions ]=============================================== //===[ Function prototypes ]=============================================== //===[ Global variables ]================================================== //===[ Global externals ]================================================== extern int DebugLevel; extern gss_OID g_mechOid; //===[ External prototypes ]=============================================== extern void LogGssStatuses( IN char *operation, IN OM_uint32 majorGssStatus, IN OM_uint32 minorGssStatus); extern CasaStatus EncodeData( IN const void *pData, IN const int32_t dataLen, INOUT char **ppEncodedData, INOUT int32_t *pEncodedDataLen); extern CasaStatus DecodeData( IN const char *pEncodedData, IN const int32_t encodedDataLen, INOUT void **ppData, INOUT int32_t *pDataLen); extern CasaStatus CSAPI Krb5AuthTokenIf_GetAuthTokenCredentials( IN const void *pIfInstance, IN const ConfigIf *pServiceConfigIf, INOUT const char *pUserNameBuf, INOUT int *pUserNameBufLen, INOUT const char *pTokenBuf, INOUT int *pTokenBufLen); extern CasaStatus CSAPI Krb5AuthTokenIf_ValidateAuthTokenCredentials( IN const void *pIfInstance, IN const ConfigIf *pServiceConfigIf, IN const char *pUserName, IN const int userNameLen, IN const char *pTokenBuf, IN const int tokenBufLen); //=========================================================================