Corrected the MSI and MSM packages to install the appropriate components. These components got broken during the migration to VS2005.

This commit is contained in:
Juan Carlos Luciani 2006-11-27 09:36:13 +00:00
parent 4bc612ca9b
commit 23bb4f7943
10 changed files with 984 additions and 762 deletions

View File

@ -51,13 +51,13 @@ namespace Novell.Casa.Client.Auth
public IntPtr ext; // points to the actual extension public IntPtr ext; // points to the actual extension
} ; } ;
[DllImport(AUTH_LIBRARY, CharSet=CharSet.None) ] [DllImport(AUTH_LIBRARY, CharSet=CharSet.None) ]
private static extern int ObtainAuthToken private static extern int ObtainAuthToken
( (
[In] byte[] baService, [In] byte[] baService,
[In] byte[] baHost, [In] byte[] baHost,
[In, Out] byte[] baToken, [In, Out] byte[] baToken,
[In, Out] ref int iTokenLength [In, Out] ref int iTokenLength
); );
[DllImport(AUTH_LIBRARY, CharSet=CharSet.None) ] [DllImport(AUTH_LIBRARY, CharSet=CharSet.None) ]

View File

@ -1,170 +1,170 @@
/*********************************************************************** /***********************************************************************
* *
* Copyright (C) 2006 Novell, Inc. All Rights Reserved. * Copyright (C) 2006 Novell, Inc. All Rights Reserved.
* *
* This library is free software; you can redistribute it and/or * This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public * modify it under the terms of the GNU Lesser General Public
* License as published by the Free Software Foundation; version 2.1 * License as published by the Free Software Foundation; version 2.1
* of the License. * of the License.
* *
* This library is distributed in the hope that it will be useful, * This library is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of * but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Library Lesser General Public License for more details. * Library Lesser General Public License for more details.
* *
* You should have received a copy of the GNU Lesser General Public * You should have received a copy of the GNU Lesser General Public
* License along with this library; if not, Novell, Inc. * License along with this library; if not, Novell, Inc.
* *
* To contact Novell about this file by physical or electronic mail, * To contact Novell about this file by physical or electronic mail,
* you may find current contact information at www.novell.com. * you may find current contact information at www.novell.com.
* *
* Author: Juan Carlos Luciani <jluciani@novell.com> * Author: Juan Carlos Luciani <jluciani@novell.com>
* *
***********************************************************************/ ***********************************************************************/
//===[ Include files ]===================================================== //===[ Include files ]=====================================================
#include "internal.h" #include "internal.h"
//===[ Type definitions ]================================================== //===[ Type definitions ]==================================================
// //
// Authentication Token Interface instance data // Authentication Token Interface instance data
// //
typedef struct _AuthTokenIfInstance typedef struct _AuthTokenIfInstance
{ {
int refCount; int refCount;
AuthTokenIf authTokenIf; AuthTokenIf authTokenIf;
} AuthTokenIfInstance, *PAuthTokenIfInstance; } AuthTokenIfInstance, *PAuthTokenIfInstance;
//===[ Function prototypes ]=============================================== //===[ Function prototypes ]===============================================
//===[ Global variables ]================================================== //===[ Global variables ]==================================================
// AuthTokenIf variables // AuthTokenIf variables
static static
int g_numAuthTokenIfObjs = 0; int g_numAuthTokenIfObjs = 0;
//++======================================================================= //++=======================================================================
static static
int SSCS_CALL int SSCS_CALL
AuthTokenIf_AddReference( AuthTokenIf_AddReference(
IN const void *pIfInstance) IN const void *pIfInstance)
// //
// Arguments: // Arguments:
// pIfInstance - // pIfInstance -
// Pointer to interface object. // Pointer to interface object.
// //
// Returns: // Returns:
// Interface reference count. // Interface reference count.
// //
// Description: // Description:
// Increases interface reference count. // Increases interface reference count.
// //
// L2 // L2
//=======================================================================-- //=======================================================================--
{ {
int refCount; int refCount;
AuthTokenIfInstance *pAuthTokenIfInstance = CONTAINING_RECORD(pIfInstance, AuthTokenIfInstance, authTokenIf); AuthTokenIfInstance *pAuthTokenIfInstance = CONTAINING_RECORD(pIfInstance, AuthTokenIfInstance, authTokenIf);
DbgTrace(2, "-AuthTokenIf_AddReference- Start\n", 0); DbgTrace(2, "-AuthTokenIf_AddReference- Start\n", 0);
// Increment the reference count on the object // Increment the reference count on the object
pAuthTokenIfInstance->refCount ++; pAuthTokenIfInstance->refCount ++;
refCount = pAuthTokenIfInstance->refCount; refCount = pAuthTokenIfInstance->refCount;
DbgTrace(2, "-AuthTokenIf_AddReference- End, refCount = %08X\n", refCount); DbgTrace(2, "-AuthTokenIf_AddReference- End, refCount = %08X\n", refCount);
return refCount; return refCount;
} }
//++======================================================================= //++=======================================================================
static static
void SSCS_CALL void SSCS_CALL
AuthTokenIf_ReleaseReference( AuthTokenIf_ReleaseReference(
IN const void *pIfInstance) IN const void *pIfInstance)
// //
// Arguments: // Arguments:
// pIfInstance - // pIfInstance -
// Pointer to interface object. // Pointer to interface object.
// //
// Returns: // Returns:
// Nothing. // Nothing.
// //
// Description: // Description:
// Decreases interface reference count. The interface is deallocated if // Decreases interface reference count. The interface is deallocated if
// the reference count becomes zero. // the reference count becomes zero.
// //
// L2 // L2
//=======================================================================-- //=======================================================================--
{ {
bool freeObj = false; bool freeObj = false;
AuthTokenIfInstance *pAuthTokenIfInstance = CONTAINING_RECORD(pIfInstance, AuthTokenIfInstance, authTokenIf); AuthTokenIfInstance *pAuthTokenIfInstance = CONTAINING_RECORD(pIfInstance, AuthTokenIfInstance, authTokenIf);
DbgTrace(2, "-AuthTokenIf_ReleaseReference- Start\n", 0); DbgTrace(2, "-AuthTokenIf_ReleaseReference- Start\n", 0);
// Decrement the reference count on the object and determine if it needs to // Decrement the reference count on the object and determine if it needs to
// be released. // be released.
pAuthTokenIfInstance->refCount --; pAuthTokenIfInstance->refCount --;
if (pAuthTokenIfInstance->refCount == 0) if (pAuthTokenIfInstance->refCount == 0)
{ {
// The object needs to be released, forget about it. // The object needs to be released, forget about it.
freeObj = true; freeObj = true;
g_numAuthTokenIfObjs --; g_numAuthTokenIfObjs --;
} }
// Free object if necessary // Free object if necessary
if (freeObj) if (freeObj)
free(pAuthTokenIfInstance); free(pAuthTokenIfInstance);
DbgTrace(2, "-AuthTokenIf_ReleaseReference- End\n", 0); DbgTrace(2, "-AuthTokenIf_ReleaseReference- End\n", 0);
} }
//++======================================================================= //++=======================================================================
CasaStatus SSCS_CALL CasaStatus SSCS_CALL
GET_AUTH_TOKEN_INTERFACE_RTN( GET_AUTH_TOKEN_INTERFACE_RTN(
IN const ConfigIf *pModuleConfigIf, IN const ConfigIf *pModuleConfigIf,
INOUT AuthTokenIf **ppAuthTokenIf) INOUT AuthTokenIf **ppAuthTokenIf)
// //
// Arguments: // Arguments:
// pModuleConfigIf - // pModuleConfigIf -
// Pointer to configuration interface instance for the module. // Pointer to configuration interface instance for the module.
// //
// ppAuthTokenIf - // ppAuthTokenIf -
// Pointer to variable that will receive pointer to AuthTokenIf // Pointer to variable that will receive pointer to AuthTokenIf
// instance. // instance.
// //
// Returns: // Returns:
// Casa Status // Casa Status
// //
// Description: // Description:
// Gets authentication token interface instance. // Gets authentication token interface instance.
// //
// L2 // L2
//=======================================================================-- //=======================================================================--
{ {
CasaStatus retStatus; CasaStatus retStatus;
AuthTokenIfInstance *pAuthTokenIfInstance; AuthTokenIfInstance *pAuthTokenIfInstance;
char *pDebugLevelSetting; char *pDebugLevelSetting;
DbgTrace(1, "-GetAuthTokenInterface- Start\n", 0); DbgTrace(1, "-GetAuthTokenInterface- Start\n", 0);
// Validate input parameters // Validate input parameters
if (pModuleConfigIf == NULL if (pModuleConfigIf == NULL
|| ppAuthTokenIf == NULL) || ppAuthTokenIf == NULL)
{ {
DbgTrace(0, "-GetAuthTokenInterface- Invalid input parameter\n", 0); DbgTrace(0, "-GetAuthTokenInterface- Invalid input parameter\n", 0);
retStatus = CasaStatusBuild(CASA_SEVERITY_ERROR, retStatus = CasaStatusBuild(CASA_SEVERITY_ERROR,
CASA_FACILITY_PWTOKEN, CASA_FACILITY_PWTOKEN,
CASA_STATUS_INVALID_PARAMETER); CASA_STATUS_INVALID_PARAMETER);
goto exit; goto exit;
} }
// Check if a DebugLevel has been configured // Check if a DebugLevel has been configured
pDebugLevelSetting = pModuleConfigIf->getEntryValue(pModuleConfigIf, "DebugLevel"); pDebugLevelSetting = pModuleConfigIf->getEntryValue(pModuleConfigIf, "DebugLevel");
if (pDebugLevelSetting != NULL) if (pDebugLevelSetting != NULL)
@ -177,44 +177,44 @@ GET_AUTH_TOKEN_INTERFACE_RTN(
// Free the buffer holding the debug level // Free the buffer holding the debug level
free(pDebugLevelSetting); free(pDebugLevelSetting);
} }
// Allocate space for the interface instance // Allocate space for the interface instance
pAuthTokenIfInstance = malloc(sizeof(*pAuthTokenIfInstance)); pAuthTokenIfInstance = malloc(sizeof(*pAuthTokenIfInstance));
if (pAuthTokenIfInstance) if (pAuthTokenIfInstance)
{ {
// Initialize the interface instance data // Initialize the interface instance data
pAuthTokenIfInstance->refCount = 1; pAuthTokenIfInstance->refCount = 1;
pAuthTokenIfInstance->authTokenIf.addReference = AuthTokenIf_AddReference; pAuthTokenIfInstance->authTokenIf.addReference = AuthTokenIf_AddReference;
pAuthTokenIfInstance->authTokenIf.releaseReference = AuthTokenIf_ReleaseReference; pAuthTokenIfInstance->authTokenIf.releaseReference = AuthTokenIf_ReleaseReference;
pAuthTokenIfInstance->authTokenIf.getAuthToken = AuthTokenIf_GetAuthToken; pAuthTokenIfInstance->authTokenIf.getAuthToken = AuthTokenIf_GetAuthToken;
// Keep track of this object // Keep track of this object
g_numAuthTokenIfObjs ++; g_numAuthTokenIfObjs ++;
// Return the interface to the caller // Return the interface to the caller
*ppAuthTokenIf = &pAuthTokenIfInstance->authTokenIf; *ppAuthTokenIf = &pAuthTokenIfInstance->authTokenIf;
// Success // Success
retStatus = CASA_STATUS_SUCCESS; retStatus = CASA_STATUS_SUCCESS;
} }
else else
{ {
DbgTrace(0, "-GetAuthTokenInterface- Buffer allocation failure\n", 0); DbgTrace(0, "-GetAuthTokenInterface- Buffer allocation failure\n", 0);
retStatus = CasaStatusBuild(CASA_SEVERITY_ERROR, retStatus = CasaStatusBuild(CASA_SEVERITY_ERROR,
CASA_FACILITY_PWTOKEN, CASA_FACILITY_PWTOKEN,
CASA_STATUS_INSUFFICIENT_RESOURCES); CASA_STATUS_INSUFFICIENT_RESOURCES);
} }
exit: exit:
DbgTrace(1, "-GetAuthTokenInterface- End, retStatus = %08X\n", retStatus); DbgTrace(1, "-GetAuthTokenInterface- End, retStatus = %08X\n", retStatus);
return retStatus; return retStatus;
} }
//++======================================================================= //++=======================================================================
//++======================================================================= //++=======================================================================
//++======================================================================= //++=======================================================================

View File

@ -87,10 +87,10 @@ DecodeData(
INOUT int32_t *pDataLen); INOUT int32_t *pDataLen);
extern extern
int int
dtoul( dtoul(
IN const char *cp, IN const char *cp,
IN const int len); IN const int len);
//========================================================================= //=========================================================================

View File

@ -1,14 +1,14 @@
####################################################### #######################################################
# # # #
# CASA Authentication Token System configuration file # # CASA Authentication Token System configuration file #
# for module: # # for module: #
# # # #
# Krb5Authenticate # # Krb5Authenticate #
# # # #
####################################################### #######################################################
LibraryName \Program Files\novell\casa\lib\krb5mech.dll LibraryName \Program Files\novell\casa\lib\krb5mech.dll
# #
# DebugLevel setting. # DebugLevel setting.
# #
@ -23,5 +23,5 @@ LibraryName \Program Files\novell\casa\lib\krb5mech.dll
# to /var/log/messages. # to /var/log/messages.
# #
#DebugLevel 0 #DebugLevel 0

View File

@ -1,170 +1,170 @@
/*********************************************************************** /***********************************************************************
* *
* Copyright (C) 2006 Novell, Inc. All Rights Reserved. * Copyright (C) 2006 Novell, Inc. All Rights Reserved.
* *
* This library is free software; you can redistribute it and/or * This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public * modify it under the terms of the GNU Lesser General Public
* License as published by the Free Software Foundation; version 2.1 * License as published by the Free Software Foundation; version 2.1
* of the License. * of the License.
* *
* This library is distributed in the hope that it will be useful, * This library is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of * but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Library Lesser General Public License for more details. * Library Lesser General Public License for more details.
* *
* You should have received a copy of the GNU Lesser General Public * You should have received a copy of the GNU Lesser General Public
* License along with this library; if not, Novell, Inc. * License along with this library; if not, Novell, Inc.
* *
* To contact Novell about this file by physical or electronic mail, * To contact Novell about this file by physical or electronic mail,
* you may find current contact information at www.novell.com. * you may find current contact information at www.novell.com.
* *
* Author: Juan Carlos Luciani <jluciani@novell.com> * Author: Juan Carlos Luciani <jluciani@novell.com>
* *
***********************************************************************/ ***********************************************************************/
//===[ Include files ]===================================================== //===[ Include files ]=====================================================
#include "internal.h" #include "internal.h"
//===[ Type definitions ]================================================== //===[ Type definitions ]==================================================
// //
// Authentication Token Interface instance data // Authentication Token Interface instance data
// //
typedef struct _AuthTokenIfInstance typedef struct _AuthTokenIfInstance
{ {
int refCount; int refCount;
AuthTokenIf authTokenIf; AuthTokenIf authTokenIf;
} AuthTokenIfInstance, *PAuthTokenIfInstance; } AuthTokenIfInstance, *PAuthTokenIfInstance;
//===[ Function prototypes ]=============================================== //===[ Function prototypes ]===============================================
//===[ Global variables ]================================================== //===[ Global variables ]==================================================
// AuthTokenIf variables // AuthTokenIf variables
static static
int g_numAuthTokenIfObjs = 0; int g_numAuthTokenIfObjs = 0;
//++======================================================================= //++=======================================================================
static static
int SSCS_CALL int SSCS_CALL
AuthTokenIf_AddReference( AuthTokenIf_AddReference(
IN const void *pIfInstance) IN const void *pIfInstance)
// //
// Arguments: // Arguments:
// pIfInstance - // pIfInstance -
// Pointer to interface object. // Pointer to interface object.
// //
// Returns: // Returns:
// Interface reference count. // Interface reference count.
// //
// Description: // Description:
// Increases interface reference count. // Increases interface reference count.
// //
// L2 // L2
//=======================================================================-- //=======================================================================--
{ {
int refCount; int refCount;
AuthTokenIfInstance *pAuthTokenIfInstance = CONTAINING_RECORD(pIfInstance, AuthTokenIfInstance, authTokenIf); AuthTokenIfInstance *pAuthTokenIfInstance = CONTAINING_RECORD(pIfInstance, AuthTokenIfInstance, authTokenIf);
DbgTrace(2, "-AuthTokenIf_AddReference- Start\n", 0); DbgTrace(2, "-AuthTokenIf_AddReference- Start\n", 0);
// Increment the reference count on the object // Increment the reference count on the object
pAuthTokenIfInstance->refCount ++; pAuthTokenIfInstance->refCount ++;
refCount = pAuthTokenIfInstance->refCount; refCount = pAuthTokenIfInstance->refCount;
DbgTrace(2, "-AuthTokenIf_AddReference- End, refCount = %08X\n", refCount); DbgTrace(2, "-AuthTokenIf_AddReference- End, refCount = %08X\n", refCount);
return refCount; return refCount;
} }
//++======================================================================= //++=======================================================================
static static
void SSCS_CALL void SSCS_CALL
AuthTokenIf_ReleaseReference( AuthTokenIf_ReleaseReference(
IN const void *pIfInstance) IN const void *pIfInstance)
// //
// Arguments: // Arguments:
// pIfInstance - // pIfInstance -
// Pointer to interface object. // Pointer to interface object.
// //
// Returns: // Returns:
// Nothing. // Nothing.
// //
// Description: // Description:
// Decreases interface reference count. The interface is deallocated if // Decreases interface reference count. The interface is deallocated if
// the reference count becomes zero. // the reference count becomes zero.
// //
// L2 // L2
//=======================================================================-- //=======================================================================--
{ {
bool freeObj = false; bool freeObj = false;
AuthTokenIfInstance *pAuthTokenIfInstance = CONTAINING_RECORD(pIfInstance, AuthTokenIfInstance, authTokenIf); AuthTokenIfInstance *pAuthTokenIfInstance = CONTAINING_RECORD(pIfInstance, AuthTokenIfInstance, authTokenIf);
DbgTrace(2, "-AuthTokenIf_ReleaseReference- Start\n", 0); DbgTrace(2, "-AuthTokenIf_ReleaseReference- Start\n", 0);
// Decrement the reference count on the object and determine if it needs to // Decrement the reference count on the object and determine if it needs to
// be released. // be released.
pAuthTokenIfInstance->refCount --; pAuthTokenIfInstance->refCount --;
if (pAuthTokenIfInstance->refCount == 0) if (pAuthTokenIfInstance->refCount == 0)
{ {
// The object needs to be released, forget about it. // The object needs to be released, forget about it.
freeObj = true; freeObj = true;
g_numAuthTokenIfObjs --; g_numAuthTokenIfObjs --;
} }
// Free object if necessary // Free object if necessary
if (freeObj) if (freeObj)
free(pAuthTokenIfInstance); free(pAuthTokenIfInstance);
DbgTrace(2, "-AuthTokenIf_ReleaseReference- End\n", 0); DbgTrace(2, "-AuthTokenIf_ReleaseReference- End\n", 0);
} }
//++======================================================================= //++=======================================================================
CasaStatus SSCS_CALL CasaStatus SSCS_CALL
GET_AUTH_TOKEN_INTERFACE_RTN( GET_AUTH_TOKEN_INTERFACE_RTN(
IN const ConfigIf *pModuleConfigIf, IN const ConfigIf *pModuleConfigIf,
INOUT AuthTokenIf **ppAuthTokenIf) INOUT AuthTokenIf **ppAuthTokenIf)
// //
// Arguments: // Arguments:
// pModuleConfigIf - // pModuleConfigIf -
// Pointer to configuration interface instance for the module. // Pointer to configuration interface instance for the module.
// //
// ppAuthTokenIf - // ppAuthTokenIf -
// Pointer to variable that will receive pointer to AuthTokenIf // Pointer to variable that will receive pointer to AuthTokenIf
// instance. // instance.
// //
// Returns: // Returns:
// Casa Status // Casa Status
// //
// Description: // Description:
// Gets authentication token interface instance. // Gets authentication token interface instance.
// //
// L2 // L2
//=======================================================================-- //=======================================================================--
{ {
CasaStatus retStatus; CasaStatus retStatus;
AuthTokenIfInstance *pAuthTokenIfInstance; AuthTokenIfInstance *pAuthTokenIfInstance;
char *pDebugLevelSetting; char *pDebugLevelSetting;
DbgTrace(1, "-GetAuthTokenInterface- Start\n", 0); DbgTrace(1, "-GetAuthTokenInterface- Start\n", 0);
// Validate input parameters // Validate input parameters
if (pModuleConfigIf == NULL if (pModuleConfigIf == NULL
|| ppAuthTokenIf == NULL) || ppAuthTokenIf == NULL)
{ {
DbgTrace(0, "-GetAuthTokenInterface- Invalid input parameter\n", 0); DbgTrace(0, "-GetAuthTokenInterface- Invalid input parameter\n", 0);
retStatus = CasaStatusBuild(CASA_SEVERITY_ERROR, retStatus = CasaStatusBuild(CASA_SEVERITY_ERROR,
CASA_FACILITY_PWTOKEN, CASA_FACILITY_PWTOKEN,
CASA_STATUS_INVALID_PARAMETER); CASA_STATUS_INVALID_PARAMETER);
goto exit; goto exit;
} }
// Check if a DebugLevel has been configured // Check if a DebugLevel has been configured
pDebugLevelSetting = pModuleConfigIf->getEntryValue(pModuleConfigIf, "DebugLevel"); pDebugLevelSetting = pModuleConfigIf->getEntryValue(pModuleConfigIf, "DebugLevel");
if (pDebugLevelSetting != NULL) if (pDebugLevelSetting != NULL)
@ -177,44 +177,44 @@ GET_AUTH_TOKEN_INTERFACE_RTN(
// Free the buffer holding the debug level // Free the buffer holding the debug level
free(pDebugLevelSetting); free(pDebugLevelSetting);
} }
// Allocate space for the interface instance // Allocate space for the interface instance
pAuthTokenIfInstance = malloc(sizeof(*pAuthTokenIfInstance)); pAuthTokenIfInstance = malloc(sizeof(*pAuthTokenIfInstance));
if (pAuthTokenIfInstance) if (pAuthTokenIfInstance)
{ {
// Initialize the interface instance data // Initialize the interface instance data
pAuthTokenIfInstance->refCount = 1; pAuthTokenIfInstance->refCount = 1;
pAuthTokenIfInstance->authTokenIf.addReference = AuthTokenIf_AddReference; pAuthTokenIfInstance->authTokenIf.addReference = AuthTokenIf_AddReference;
pAuthTokenIfInstance->authTokenIf.releaseReference = AuthTokenIf_ReleaseReference; pAuthTokenIfInstance->authTokenIf.releaseReference = AuthTokenIf_ReleaseReference;
pAuthTokenIfInstance->authTokenIf.getAuthToken = AuthTokenIf_GetAuthToken; pAuthTokenIfInstance->authTokenIf.getAuthToken = AuthTokenIf_GetAuthToken;
// Keep track of this object // Keep track of this object
g_numAuthTokenIfObjs ++; g_numAuthTokenIfObjs ++;
// Return the interface to the caller // Return the interface to the caller
*ppAuthTokenIf = &pAuthTokenIfInstance->authTokenIf; *ppAuthTokenIf = &pAuthTokenIfInstance->authTokenIf;
// Success // Success
retStatus = CASA_STATUS_SUCCESS; retStatus = CASA_STATUS_SUCCESS;
} }
else else
{ {
DbgTrace(0, "-GetAuthTokenInterface- Buffer allocation failure\n", 0); DbgTrace(0, "-GetAuthTokenInterface- Buffer allocation failure\n", 0);
retStatus = CasaStatusBuild(CASA_SEVERITY_ERROR, retStatus = CasaStatusBuild(CASA_SEVERITY_ERROR,
CASA_FACILITY_PWTOKEN, CASA_FACILITY_PWTOKEN,
CASA_STATUS_INSUFFICIENT_RESOURCES); CASA_STATUS_INSUFFICIENT_RESOURCES);
} }
exit: exit:
DbgTrace(1, "-GetAuthTokenInterface- End, retStatus = %08X\n", retStatus); DbgTrace(1, "-GetAuthTokenInterface- End, retStatus = %08X\n", retStatus);
return retStatus; return retStatus;
} }
//++======================================================================= //++=======================================================================
//++======================================================================= //++=======================================================================
//++======================================================================= //++=======================================================================

View File

@ -85,10 +85,10 @@ DecodeData(
INOUT int32_t *pDataLen); INOUT int32_t *pDataLen);
extern extern
int int
dtoul( dtoul(
IN const char *cp, IN const char *cp,
IN const int len); IN const int len);
//========================================================================= //=========================================================================

View File

@ -51,6 +51,7 @@
WarningLevel="3" WarningLevel="3"
Detect64BitPortabilityProblems="true" Detect64BitPortabilityProblems="true"
DebugInformationFormat="4" DebugInformationFormat="4"
CallingConvention="2"
/> />
<Tool <Tool
Name="VCManagedResourceCompilerTool" Name="VCManagedResourceCompilerTool"

View File

@ -1,107 +1,107 @@
/*********************************************************************** /***********************************************************************
* *
* Copyright (C) 2006 Novell, Inc. All Rights Reserved. * Copyright (C) 2006 Novell, Inc. All Rights Reserved.
* *
* This library is free software; you can redistribute it and/or * This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public * modify it under the terms of the GNU Lesser General Public
* License as published by the Free Software Foundation; version 2.1 * License as published by the Free Software Foundation; version 2.1
* of the License. * of the License.
* *
* This library is distributed in the hope that it will be useful, * This library is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of * but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Library Lesser General Public License for more details. * Library Lesser General Public License for more details.
* *
* You should have received a copy of the GNU Lesser General Public * You should have received a copy of the GNU Lesser General Public
* License along with this library; if not, Novell, Inc. * License along with this library; if not, Novell, Inc.
* *
* To contact Novell about this file by physical or electronic mail, * To contact Novell about this file by physical or electronic mail,
* you may find current contact information at www.novell.com. * you may find current contact information at www.novell.com.
* *
* Author: Juan Carlos Luciani <jluciani@novell.com> * Author: Juan Carlos Luciani <jluciani@novell.com>
* *
***********************************************************************/ ***********************************************************************/
//===[ Include files ]===================================================== //===[ Include files ]=====================================================
#include "internal.h" #include "internal.h"
#include <shlobj.h> #include <shlobj.h>
#include <shlwapi.h> #include <shlwapi.h>
#include "casa_c_authtoken_ex.h" #include "casa_c_authtoken_ex.h"
//===[ External data ]===================================================== //===[ External data ]=====================================================
extern extern
char clientConfigFolderPartialPath[]; char clientConfigFolderPartialPath[];
extern extern
char mechConfigFolderPartialPath[]; char mechConfigFolderPartialPath[];
//===[ Manifest constants ]================================================ //===[ Manifest constants ]================================================
//===[ Type definitions ]================================================== //===[ Type definitions ]==================================================
//===[ Function prototypes ]=============================================== //===[ Function prototypes ]===============================================
//===[ Global variables ]================================================== //===[ Global variables ]==================================================
UINT32 g_ulCount = 0; UINT32 g_ulCount = 0;
UINT32 g_ulLock = 0; UINT32 g_ulLock = 0;
HANDLE g_hModule; HANDLE g_hModule;
HANDLE g_hModuleMutex; HANDLE g_hModuleMutex;
//++======================================================================= //++=======================================================================
CasaStatus SSCS_CALL CasaStatus SSCS_CALL
ObtainAuthTokenEx( ObtainAuthTokenEx(
IN const char *pServiceName, IN const char *pServiceName,
IN const char *pHostName, IN const char *pHostName,
INOUT char *pAuthTokenBuf, INOUT char *pAuthTokenBuf,
INOUT int *pAuthTokenBufLen, INOUT int *pAuthTokenBufLen,
IN void *pCredStoreScope) IN void *pCredStoreScope)
// //
// Arguments: // Arguments:
// pServiceName - // pServiceName -
// Pointer to NULL terminated string that contains the // Pointer to NULL terminated string that contains the
// name of the service to which the client is trying to // name of the service to which the client is trying to
// authenticate. // authenticate.
// //
// pHostName - // pHostName -
// Pointer to NULL terminated string that contains the // Pointer to NULL terminated string that contains the
// name of the host where resides the service to which the // name of the host where resides the service to which the
// client is trying to authenticate. Note that the name // client is trying to authenticate. Note that the name
// can either be a DNS name or a dotted IP address. // can either be a DNS name or a dotted IP address.
// //
// pAuthTokenBuf - // pAuthTokenBuf -
// Pointer to buffer that will receive the authentication // Pointer to buffer that will receive the authentication
// token. The length of this buffer is specified by the // token. The length of this buffer is specified by the
// pAuthTokenBufLen parameter. Note that the the authentication // pAuthTokenBufLen parameter. Note that the the authentication
// token will be in the form of a NULL terminated string. // token will be in the form of a NULL terminated string.
// //
// pAuthTokenBufLen - // pAuthTokenBufLen -
// Pointer to integer that contains the length of the // Pointer to integer that contains the length of the
// buffer pointed at by pAuthTokenBuf. Upon return of the // buffer pointed at by pAuthTokenBuf. Upon return of the
// function, the integer will contain the actual length // function, the integer will contain the actual length
// of the authentication token if the function successfully // of the authentication token if the function successfully
// completes or the buffer length required if the function // completes or the buffer length required if the function
// fails because the buffer pointed at by pAuthTokenBuf is // fails because the buffer pointed at by pAuthTokenBuf is
// not large enough. // not large enough.
// //
// pCredStoreScope - // pCredStoreScope -
// Pointer to CASA structure for scoping credential store access // Pointer to CASA structure for scoping credential store access
// to specific users. This can only be leveraged by applications // to specific users. This can only be leveraged by applications
// running in the context of System. // running in the context of System.
// //
// Returns: // Returns:
// Casa Status // Casa Status
// //
// Description: // Description:
// Get authentication token to authenticate user to specified // Get authentication token to authenticate user to specified
// service at host. The user is scoped using the info associated // service at host. The user is scoped using the info associated
// with the magic cookie. // with the magic cookie.
// //
// L2 // L2
//=======================================================================-- //=======================================================================--
{ {
CasaStatus retStatus; CasaStatus retStatus;
DbgTrace(1, "-ObtainAuthTokenEx- Start\n", 0); DbgTrace(1, "-ObtainAuthTokenEx- Start\n", 0);
@ -116,118 +116,118 @@ ObtainAuthTokenEx(
DbgTrace(1, "-ObtainAuthTokenEx- End, retStatus = %08X\n", retStatus); DbgTrace(1, "-ObtainAuthTokenEx- End, retStatus = %08X\n", retStatus);
return retStatus; return retStatus;
} }
//++======================================================================= //++=======================================================================
BOOL APIENTRY DllMain( BOOL APIENTRY DllMain(
HANDLE hModule, HANDLE hModule,
DWORD ul_reason_for_call, DWORD ul_reason_for_call,
LPVOID lpReserved LPVOID lpReserved
) )
//=======================================================================-- //=======================================================================--
{ {
BOOL retStatus = TRUE; BOOL retStatus = TRUE;
char programFilesFolder[MAX_PATH]; char programFilesFolder[MAX_PATH];
switch (ul_reason_for_call) switch (ul_reason_for_call)
{ {
case DLL_PROCESS_ATTACH: case DLL_PROCESS_ATTACH:
{ {
g_hModule = hModule; g_hModule = hModule;
// Setup the path to the client and auth mechanisms config folders // Setup the path to the client and auth mechanisms config folders
if (SHGetFolderPath(NULL, if (SHGetFolderPath(NULL,
CSIDL_PROGRAM_FILES, CSIDL_PROGRAM_FILES,
NULL, NULL,
0, 0,
programFilesFolder) == 0) programFilesFolder) == 0)
{ {
strcpy(clientConfigFolder, programFilesFolder); strcpy(clientConfigFolder, programFilesFolder);
PathAppend(clientConfigFolder, clientConfigFolderPartialPath); PathAppend(clientConfigFolder, clientConfigFolderPartialPath);
strcpy(mechConfigFolder, programFilesFolder); strcpy(mechConfigFolder, programFilesFolder);
PathAppend(mechConfigFolder, mechConfigFolderPartialPath); PathAppend(mechConfigFolder, mechConfigFolderPartialPath);
// Allocate module mutex // Allocate module mutex
g_hModuleMutex = CreateMutex(NULL, FALSE, NULL); g_hModuleMutex = CreateMutex(NULL, FALSE, NULL);
if (! g_hModuleMutex) if (! g_hModuleMutex)
{ {
// Module initialization failed // Module initialization failed
OutputDebugString("CASAAUTH -DllMain- Failed to create mutex\n"); OutputDebugString("CASAAUTH -DllMain- Failed to create mutex\n");
retStatus = FALSE; retStatus = FALSE;
} }
} }
else else
{ {
// Failed to obtain the Program Files path // Failed to obtain the Program Files path
OutputDebugString("CASAAUTH -DllMain- Failed to obtain the Program Files path\n"); OutputDebugString("CASAAUTH -DllMain- Failed to obtain the Program Files path\n");
retStatus = FALSE; retStatus = FALSE;
} }
break; break;
} }
case DLL_THREAD_ATTACH: case DLL_THREAD_ATTACH:
{ {
g_hModule = hModule; g_hModule = hModule;
break; break;
} }
case DLL_THREAD_DETACH: case DLL_THREAD_DETACH:
break; break;
case DLL_PROCESS_DETACH: case DLL_PROCESS_DETACH:
{ {
/* Don't uninitialize on windows /* Don't uninitialize on windows
tbd tbd
*/ */
break; break;
} }
} }
return retStatus; return retStatus;
} }
//++======================================================================= //++=======================================================================
// //
// DllCanUnloadNow // DllCanUnloadNow
// //
// Synopsis // Synopsis
// //
// //
STDAPI STDAPI
DllCanUnloadNow() DllCanUnloadNow()
// //
// Input Arguments // Input Arguments
// //
// Ouput Arguments // Ouput Arguments
// //
// Return Value // Return Value
// S_OK The DLL can be unloaded. // S_OK The DLL can be unloaded.
// S_FALSE The DLL cannot be unloaded now. // S_FALSE The DLL cannot be unloaded now.
// //
// Description // Description
// An Exported Function. // An Exported Function.
// DLLs that support the OLE Component Object Model (COM) should implement // DLLs that support the OLE Component Object Model (COM) should implement
// and export DllCanUnloadNow. // and export DllCanUnloadNow.
// A call to DllCanUnloadNow determines whether the DLL from which it is // A call to DllCanUnloadNow determines whether the DLL from which it is
// exported is still in use. A DLL is no longer in use when it is not // exported is still in use. A DLL is no longer in use when it is not
// managing any existing objects (the reference count on all of its objects // managing any existing objects (the reference count on all of its objects
// is 0). // is 0).
// DllCanUnloadNow returns S_FALSE if there are any existing references to // DllCanUnloadNow returns S_FALSE if there are any existing references to
// objects that the DLL manages. // objects that the DLL manages.
// //
// Environment // Environment
// //
// See Also // See Also
// //
//=======================================================================-- //=======================================================================--
{ {
// tbd // tbd
return ((g_ulCount == 0 && g_ulLock == 0) ? S_OK : S_FALSE); return ((g_ulCount == 0 && g_ulLock == 0) ? S_OK : S_FALSE);
} }
//========================================================================= //=========================================================================
//========================================================================= //=========================================================================

View File

@ -15,44 +15,44 @@
{ {
"Entry" "Entry"
{ {
"MsmKey" = "8:_0505C87EECE146AF8F0A3C894F185425" "MsmKey" = "8:_4744A4EB6B904673B8897294AB8C6162"
"OwnerKey" = "8:_UNDEFINED" "OwnerKey" = "8:_UNDEFINED"
"MsmSig" = "8:_UNDEFINED" "MsmSig" = "8:_UNDEFINED"
} }
"Entry" "Entry"
{ {
"MsmKey" = "8:_1F1797B2A5414369AA88069D5E88BC5F"
"OwnerKey" = "8:_UNDEFINED"
"MsmSig" = "8:_UNDEFINED"
}
"Entry"
{
"MsmKey" = "8:_219AE52645264DED864B7ACD8A4E4DF8"
"OwnerKey" = "8:_UNDEFINED"
"MsmSig" = "8:_UNDEFINED"
}
"Entry"
{
"MsmKey" = "8:_313DE095D13281AF91A64E3F3D472413"
"OwnerKey" = "8:_219AE52645264DED864B7ACD8A4E4DF8"
"MsmSig" = "8:_UNDEFINED"
}
"Entry"
{
"MsmKey" = "8:_4E73B42DD7BB4E5C8B309F197D94C7F2" "MsmKey" = "8:_4E73B42DD7BB4E5C8B309F197D94C7F2"
"OwnerKey" = "8:_UNDEFINED" "OwnerKey" = "8:_UNDEFINED"
"MsmSig" = "8:_UNDEFINED" "MsmSig" = "8:_UNDEFINED"
} }
"Entry" "Entry"
{ {
"MsmKey" = "8:_92336612AC7D083F97ED302BB7674A2D" "MsmKey" = "8:_50C15B4896B94AAD8CF7A676F541BD89"
"OwnerKey" = "8:_0505C87EECE146AF8F0A3C894F185425" "OwnerKey" = "8:_UNDEFINED"
"MsmSig" = "8:_UNDEFINED" "MsmSig" = "8:_UNDEFINED"
} }
"Entry" "Entry"
{ {
"MsmKey" = "8:_92336612AC7D083F97ED302BB7674A2D" "MsmKey" = "8:_71C343EBC4935F8914C3145115EDEC4A"
"OwnerKey" = "8:_1F1797B2A5414369AA88069D5E88BC5F" "OwnerKey" = "8:_C1C37E2154994C29B02FDD9C90635B26"
"MsmSig" = "8:_UNDEFINED"
}
"Entry"
{
"MsmKey" = "8:_71C343EBC4935F8914C3145115EDEC4A"
"OwnerKey" = "8:_8E623C85FD4143F3B09460457E8ED6CA"
"MsmSig" = "8:_UNDEFINED"
}
"Entry"
{
"MsmKey" = "8:_7F67D8557F592D43809C494C4B7E2552"
"OwnerKey" = "8:_50C15B4896B94AAD8CF7A676F541BD89"
"MsmSig" = "8:_UNDEFINED"
}
"Entry"
{
"MsmKey" = "8:_8E623C85FD4143F3B09460457E8ED6CA"
"OwnerKey" = "8:_UNDEFINED"
"MsmSig" = "8:_UNDEFINED" "MsmSig" = "8:_UNDEFINED"
} }
"Entry" "Entry"
@ -63,8 +63,8 @@
} }
"Entry" "Entry"
{ {
"MsmKey" = "8:_E35F46E021184676375C6223ED1BDFCF" "MsmKey" = "8:_C1C37E2154994C29B02FDD9C90635B26"
"OwnerKey" = "8:_0505C87EECE146AF8F0A3C894F185425" "OwnerKey" = "8:_UNDEFINED"
"MsmSig" = "8:_UNDEFINED" "MsmSig" = "8:_UNDEFINED"
} }
"Entry" "Entry"
@ -73,6 +73,18 @@
"OwnerKey" = "8:_UNDEFINED" "OwnerKey" = "8:_UNDEFINED"
"MsmSig" = "8:_UNDEFINED" "MsmSig" = "8:_UNDEFINED"
} }
"Entry"
{
"MsmKey" = "8:_FE85A5D48B5A23F3077871E9FD2378DE"
"OwnerKey" = "8:_C1C37E2154994C29B02FDD9C90635B26"
"MsmSig" = "8:_UNDEFINED"
}
"Entry"
{
"MsmKey" = "8:_UNDEFINED"
"OwnerKey" = "8:_4744A4EB6B904673B8897294AB8C6162"
"MsmSig" = "8:_UNDEFINED"
}
} }
"Configurations" "Configurations"
{ {
@ -144,26 +156,6 @@
} }
"File" "File"
{ {
"{1FB2D0AE-D3B9-43D4-B9DD-F88EC61E35DE}:_313DE095D13281AF91A64E3F3D472413"
{
"SourcePath" = "8:Secur32.dll"
"TargetName" = "8:Secur32.dll"
"Tag" = "8:"
"Folder" = "8:_F5F5F604B81645F8B6463F7A7D6A53AD"
"Condition" = "8:"
"Transitive" = "11:FALSE"
"Vital" = "11:TRUE"
"ReadOnly" = "11:FALSE"
"Hidden" = "11:FALSE"
"System" = "11:FALSE"
"Permanent" = "11:FALSE"
"SharedLegacy" = "11:FALSE"
"PackageAs" = "3:1"
"Register" = "3:1"
"Exclude" = "11:TRUE"
"IsDependency" = "11:TRUE"
"IsolateTo" = "8:"
}
"{1FB2D0AE-D3B9-43D4-B9DD-F88EC61E35DE}:_4E73B42DD7BB4E5C8B309F197D94C7F2" "{1FB2D0AE-D3B9-43D4-B9DD-F88EC61E35DE}:_4E73B42DD7BB4E5C8B309F197D94C7F2"
{ {
"SourcePath" = "8:..\\..\\..\\lib\\client.conf" "SourcePath" = "8:..\\..\\..\\lib\\client.conf"
@ -184,12 +176,32 @@
"IsDependency" = "11:FALSE" "IsDependency" = "11:FALSE"
"IsolateTo" = "8:" "IsolateTo" = "8:"
} }
"{1FB2D0AE-D3B9-43D4-B9DD-F88EC61E35DE}:_92336612AC7D083F97ED302BB7674A2D" "{1FB2D0AE-D3B9-43D4-B9DD-F88EC61E35DE}:_71C343EBC4935F8914C3145115EDEC4A"
{ {
"SourcePath" = "8:micasa.dll" "SourcePath" = "8:micasa.dll"
"TargetName" = "8:micasa.dll" "TargetName" = "8:micasa.dll"
"Tag" = "8:" "Tag" = "8:"
"Folder" = "8:_F5F5F604B81645F8B6463F7A7D6A53AD" "Folder" = "8:_01897726E7804A3B875B67A1C2692147"
"Condition" = "8:"
"Transitive" = "11:FALSE"
"Vital" = "11:TRUE"
"ReadOnly" = "11:FALSE"
"Hidden" = "11:FALSE"
"System" = "11:FALSE"
"Permanent" = "11:FALSE"
"SharedLegacy" = "11:FALSE"
"PackageAs" = "3:1"
"Register" = "3:1"
"Exclude" = "11:TRUE"
"IsDependency" = "11:TRUE"
"IsolateTo" = "8:"
}
"{1FB2D0AE-D3B9-43D4-B9DD-F88EC61E35DE}:_7F67D8557F592D43809C494C4B7E2552"
{
"SourcePath" = "8:Secur32.dll"
"TargetName" = "8:Secur32.dll"
"Tag" = "8:"
"Folder" = "8:_01897726E7804A3B875B67A1C2692147"
"Condition" = "8:" "Condition" = "8:"
"Transitive" = "11:FALSE" "Transitive" = "11:FALSE"
"Vital" = "11:TRUE" "Vital" = "11:TRUE"
@ -224,26 +236,6 @@
"IsDependency" = "11:FALSE" "IsDependency" = "11:FALSE"
"IsolateTo" = "8:" "IsolateTo" = "8:"
} }
"{1FB2D0AE-D3B9-43D4-B9DD-F88EC61E35DE}:_E35F46E021184676375C6223ED1BDFCF"
{
"SourcePath" = "8:WINHTTP.dll"
"TargetName" = "8:WINHTTP.dll"
"Tag" = "8:"
"Folder" = "8:_F5F5F604B81645F8B6463F7A7D6A53AD"
"Condition" = "8:"
"Transitive" = "11:FALSE"
"Vital" = "11:TRUE"
"ReadOnly" = "11:FALSE"
"Hidden" = "11:FALSE"
"System" = "11:FALSE"
"Permanent" = "11:FALSE"
"SharedLegacy" = "11:FALSE"
"PackageAs" = "3:1"
"Register" = "3:1"
"Exclude" = "11:TRUE"
"IsDependency" = "11:TRUE"
"IsolateTo" = "8:"
}
"{1FB2D0AE-D3B9-43D4-B9DD-F88EC61E35DE}:_F0C46E8F1B5048179188E62D91BA91EB" "{1FB2D0AE-D3B9-43D4-B9DD-F88EC61E35DE}:_F0C46E8F1B5048179188E62D91BA91EB"
{ {
"SourcePath" = "8:..\\..\\..\\lib\\mechanisms\\pwd\\windows\\PwdAuthenticate.conf" "SourcePath" = "8:..\\..\\..\\lib\\mechanisms\\pwd\\windows\\PwdAuthenticate.conf"
@ -264,6 +256,26 @@
"IsDependency" = "11:FALSE" "IsDependency" = "11:FALSE"
"IsolateTo" = "8:" "IsolateTo" = "8:"
} }
"{1FB2D0AE-D3B9-43D4-B9DD-F88EC61E35DE}:_FE85A5D48B5A23F3077871E9FD2378DE"
{
"SourcePath" = "8:WINHTTP.dll"
"TargetName" = "8:WINHTTP.dll"
"Tag" = "8:"
"Folder" = "8:_01897726E7804A3B875B67A1C2692147"
"Condition" = "8:"
"Transitive" = "11:FALSE"
"Vital" = "11:TRUE"
"ReadOnly" = "11:FALSE"
"Hidden" = "11:FALSE"
"System" = "11:FALSE"
"Permanent" = "11:FALSE"
"SharedLegacy" = "11:FALSE"
"PackageAs" = "3:1"
"Register" = "3:1"
"Exclude" = "11:TRUE"
"IsDependency" = "11:TRUE"
"IsolateTo" = "8:"
}
} }
"FileType" "FileType"
{ {
@ -419,12 +431,12 @@
} }
"ProjectOutput" "ProjectOutput"
{ {
"{5259A561-127C-4D43-A0A1-72F10C7B3BF8}:_0505C87EECE146AF8F0A3C894F185425" "{5259A561-127C-4D43-A0A1-72F10C7B3BF8}:_4744A4EB6B904673B8897294AB8C6162"
{ {
"SourcePath" = "8:..\\..\\..\\lib\\windows\\debug\\authtoken.dll" "SourcePath" = "8:..\\..\\..\\csharp-api\\Novell.Casa.Authtoken\\obj\\Debug\\Novell.Casa.Client.Auth.dll"
"TargetName" = "8:" "TargetName" = "8:"
"Tag" = "8:" "Tag" = "8:"
"Folder" = "8:_F5F5F604B81645F8B6463F7A7D6A53AD" "Folder" = "8:_8E0BBDD021EA45308BD98380F28EB7F6"
"Condition" = "8:" "Condition" = "8:"
"Transitive" = "11:FALSE" "Transitive" = "11:FALSE"
"Vital" = "11:TRUE" "Vital" = "11:TRUE"
@ -441,46 +453,18 @@
"ProjectOutputGroupRegister" = "3:1" "ProjectOutputGroupRegister" = "3:1"
"OutputConfiguration" = "8:" "OutputConfiguration" = "8:"
"OutputGroupCanonicalName" = "8:Built" "OutputGroupCanonicalName" = "8:Built"
"OutputProjectGuid" = "8:{7BD9A5DB-DE7D-40B7-A397-04182DC2F632}" "OutputProjectGuid" = "8:{1BA1FC97-5AF1-4506-A7FD-EBFD46D361A0}"
"ShowKeyOutput" = "11:FALSE" "ShowKeyOutput" = "11:TRUE"
"ExcludeFilters" "ExcludeFilters"
{ {
} }
} }
"{5259A561-127C-4D43-A0A1-72F10C7B3BF8}:_1F1797B2A5414369AA88069D5E88BC5F" "{5259A561-127C-4D43-A0A1-72F10C7B3BF8}:_50C15B4896B94AAD8CF7A676F541BD89"
{ {
"SourcePath" = "8:..\\..\\..\\lib\\mechanisms\\pwd\\windows\\debug\\pwmech.dll" "SourcePath" = "8:..\\..\\..\\lib\\mechanisms\\krb5\\windows\\Debug\\krb5mech.dll"
"TargetName" = "8:" "TargetName" = "8:"
"Tag" = "8:" "Tag" = "8:"
"Folder" = "8:_F5F5F604B81645F8B6463F7A7D6A53AD" "Folder" = "8:_01897726E7804A3B875B67A1C2692147"
"Condition" = "8:"
"Transitive" = "11:FALSE"
"Vital" = "11:TRUE"
"ReadOnly" = "11:FALSE"
"Hidden" = "11:FALSE"
"System" = "11:FALSE"
"Permanent" = "11:FALSE"
"SharedLegacy" = "11:FALSE"
"PackageAs" = "3:1"
"Register" = "3:1"
"Exclude" = "11:FALSE"
"IsDependency" = "11:FALSE"
"IsolateTo" = "8:"
"ProjectOutputGroupRegister" = "3:1"
"OutputConfiguration" = "8:"
"OutputGroupCanonicalName" = "8:Built"
"OutputProjectGuid" = "8:{CBD168E8-1D5F-4D75-9E2D-6970CCEB652E}"
"ShowKeyOutput" = "11:FALSE"
"ExcludeFilters"
{
}
}
"{5259A561-127C-4D43-A0A1-72F10C7B3BF8}:_219AE52645264DED864B7ACD8A4E4DF8"
{
"SourcePath" = "8:..\\..\\..\\lib\\mechanisms\\krb5\\windows\\debug\\krb5mech.dll"
"TargetName" = "8:"
"Tag" = "8:"
"Folder" = "8:_F5F5F604B81645F8B6463F7A7D6A53AD"
"Condition" = "8:" "Condition" = "8:"
"Transitive" = "11:FALSE" "Transitive" = "11:FALSE"
"Vital" = "11:TRUE" "Vital" = "11:TRUE"
@ -498,7 +482,63 @@
"OutputConfiguration" = "8:" "OutputConfiguration" = "8:"
"OutputGroupCanonicalName" = "8:Built" "OutputGroupCanonicalName" = "8:Built"
"OutputProjectGuid" = "8:{5499F624-F371-4559-B4C2-A484BCE892FD}" "OutputProjectGuid" = "8:{5499F624-F371-4559-B4C2-A484BCE892FD}"
"ShowKeyOutput" = "11:FALSE" "ShowKeyOutput" = "11:TRUE"
"ExcludeFilters"
{
}
}
"{5259A561-127C-4D43-A0A1-72F10C7B3BF8}:_8E623C85FD4143F3B09460457E8ED6CA"
{
"SourcePath" = "8:..\\..\\..\\lib\\mechanisms\\pwd\\windows\\Debug\\pwmech.dll"
"TargetName" = "8:"
"Tag" = "8:"
"Folder" = "8:_01897726E7804A3B875B67A1C2692147"
"Condition" = "8:"
"Transitive" = "11:FALSE"
"Vital" = "11:TRUE"
"ReadOnly" = "11:FALSE"
"Hidden" = "11:FALSE"
"System" = "11:FALSE"
"Permanent" = "11:FALSE"
"SharedLegacy" = "11:FALSE"
"PackageAs" = "3:1"
"Register" = "3:1"
"Exclude" = "11:FALSE"
"IsDependency" = "11:FALSE"
"IsolateTo" = "8:"
"ProjectOutputGroupRegister" = "3:1"
"OutputConfiguration" = "8:"
"OutputGroupCanonicalName" = "8:Built"
"OutputProjectGuid" = "8:{CBD168E8-1D5F-4D75-9E2D-6970CCEB652E}"
"ShowKeyOutput" = "11:TRUE"
"ExcludeFilters"
{
}
}
"{5259A561-127C-4D43-A0A1-72F10C7B3BF8}:_C1C37E2154994C29B02FDD9C90635B26"
{
"SourcePath" = "8:..\\..\\..\\lib\\windows\\Debug\\authtoken.dll"
"TargetName" = "8:"
"Tag" = "8:"
"Folder" = "8:_01897726E7804A3B875B67A1C2692147"
"Condition" = "8:"
"Transitive" = "11:FALSE"
"Vital" = "11:TRUE"
"ReadOnly" = "11:FALSE"
"Hidden" = "11:FALSE"
"System" = "11:FALSE"
"Permanent" = "11:FALSE"
"SharedLegacy" = "11:FALSE"
"PackageAs" = "3:1"
"Register" = "3:1"
"Exclude" = "11:FALSE"
"IsDependency" = "11:FALSE"
"IsolateTo" = "8:"
"ProjectOutputGroupRegister" = "3:1"
"OutputConfiguration" = "8:"
"OutputGroupCanonicalName" = "8:Built"
"OutputProjectGuid" = "8:{7BD9A5DB-DE7D-40B7-A397-04182DC2F632}"
"ShowKeyOutput" = "11:TRUE"
"ExcludeFilters" "ExcludeFilters"
{ {
} }

View File

@ -13,12 +13,42 @@
"SccProvider" = "8:" "SccProvider" = "8:"
"Hierarchy" "Hierarchy"
{ {
"Entry"
{
"MsmKey" = "8:_46B706EF7F254AE89B820252D7E5A634"
"OwnerKey" = "8:_UNDEFINED"
"MsmSig" = "8:_UNDEFINED"
}
"Entry"
{
"MsmKey" = "8:_6C3DD45AD8C1483F86D675A90FED869A"
"OwnerKey" = "8:_UNDEFINED"
"MsmSig" = "8:_UNDEFINED"
}
"Entry"
{
"MsmKey" = "8:_E81BA356D9F8490196AD0D8DFCEE3C65"
"OwnerKey" = "8:_UNDEFINED"
"MsmSig" = "8:_UNDEFINED"
}
"Entry"
{
"MsmKey" = "8:_F0E27FD8FB8442078E86B253A1D4FF5C"
"OwnerKey" = "8:_UNDEFINED"
"MsmSig" = "8:_UNDEFINED"
}
"Entry" "Entry"
{ {
"MsmKey" = "8:_FD0A8D57CFD64B5CADAF19B3B9BCB7B8" "MsmKey" = "8:_FD0A8D57CFD64B5CADAF19B3B9BCB7B8"
"OwnerKey" = "8:_UNDEFINED" "OwnerKey" = "8:_UNDEFINED"
"MsmSig" = "8:_UNDEFINED" "MsmSig" = "8:_UNDEFINED"
} }
"Entry"
{
"MsmKey" = "8:_UNDEFINED"
"OwnerKey" = "8:_6C3DD45AD8C1483F86D675A90FED869A"
"MsmSig" = "8:_UNDEFINED"
}
} }
"Configurations" "Configurations"
{ {
@ -112,16 +142,139 @@
{ {
"LaunchCondition" "LaunchCondition"
{ {
"{A06ECF26-33A3-4562-8140-9B0E340D4F24}:_CE9EE2C4C22F40F097FCFC2DF54026CA"
{
"Name" = "8:.NET Framework"
"Message" = "8:[VSDNETMSG]"
"Version" = "8:2.0.50727"
"AllowLaterVersions" = "11:FALSE"
"InstallUrl" = "8:http://go.microsoft.com/fwlink/?LinkId=9832"
}
} }
} }
"File" "File"
{ {
"{1FB2D0AE-D3B9-43D4-B9DD-F88EC61E35DE}:_46B706EF7F254AE89B820252D7E5A634"
{
"SourcePath" = "8:..\\..\\..\\lib\\windows\\authtoken.lib"
"TargetName" = "8:authtoken.lib"
"Tag" = "8:"
"Folder" = "8:_031A08D93F304AE690C6F4EF4BBC46D6"
"Condition" = "8:"
"Transitive" = "11:FALSE"
"Vital" = "11:TRUE"
"ReadOnly" = "11:FALSE"
"Hidden" = "11:FALSE"
"System" = "11:FALSE"
"Permanent" = "11:FALSE"
"SharedLegacy" = "11:FALSE"
"PackageAs" = "3:1"
"Register" = "3:1"
"Exclude" = "11:FALSE"
"IsDependency" = "11:FALSE"
"IsolateTo" = "8:"
}
"{1FB2D0AE-D3B9-43D4-B9DD-F88EC61E35DE}:_E81BA356D9F8490196AD0D8DFCEE3C65"
{
"SourcePath" = "8:..\\..\\..\\include\\casa_c_authtoken.h"
"TargetName" = "8:casa_c_authtoken.h"
"Tag" = "8:"
"Folder" = "8:_1EBAF38843F146888065150901409A34"
"Condition" = "8:"
"Transitive" = "11:FALSE"
"Vital" = "11:TRUE"
"ReadOnly" = "11:FALSE"
"Hidden" = "11:FALSE"
"System" = "11:FALSE"
"Permanent" = "11:FALSE"
"SharedLegacy" = "11:FALSE"
"PackageAs" = "3:1"
"Register" = "3:1"
"Exclude" = "11:FALSE"
"IsDependency" = "11:FALSE"
"IsolateTo" = "8:"
}
"{1FB2D0AE-D3B9-43D4-B9DD-F88EC61E35DE}:_F0E27FD8FB8442078E86B253A1D4FF5C"
{
"SourcePath" = "8:..\\..\\..\\include\\windows\\casa_c_authtoken_ex.h"
"TargetName" = "8:casa_c_authtoken_ex.h"
"Tag" = "8:"
"Folder" = "8:_1EBAF38843F146888065150901409A34"
"Condition" = "8:"
"Transitive" = "11:FALSE"
"Vital" = "11:TRUE"
"ReadOnly" = "11:FALSE"
"Hidden" = "11:FALSE"
"System" = "11:FALSE"
"Permanent" = "11:FALSE"
"SharedLegacy" = "11:FALSE"
"PackageAs" = "3:1"
"Register" = "3:1"
"Exclude" = "11:FALSE"
"IsDependency" = "11:FALSE"
"IsolateTo" = "8:"
}
} }
"FileType" "FileType"
{ {
} }
"Folder" "Folder"
{ {
"{1525181F-901A-416C-8A58-119130FE478E}:_086CD404D81144F49C696CB67821A786"
{
"Name" = "8:#1912"
"AlwaysCreate" = "11:FALSE"
"Condition" = "8:"
"Transitive" = "11:FALSE"
"Property" = "8:ProgramFilesFolder"
"Folders"
{
"{9EF0B969-E518-4E46-987F-47570745A589}:_C18B52CC94CC4F4787402522D71091E6"
{
"Name" = "8:Novell"
"AlwaysCreate" = "11:FALSE"
"Condition" = "8:"
"Transitive" = "11:FALSE"
"Property" = "8:_2E77FB52104B4FEA85F5AC6F3FDF0578"
"Folders"
{
"{9EF0B969-E518-4E46-987F-47570745A589}:_04FF82461AF84E0384C69DAB48F3F10B"
{
"Name" = "8:CASA"
"AlwaysCreate" = "11:FALSE"
"Condition" = "8:"
"Transitive" = "11:FALSE"
"Property" = "8:_7B540A0907FE473E9586530424711B0A"
"Folders"
{
"{9EF0B969-E518-4E46-987F-47570745A589}:_031A08D93F304AE690C6F4EF4BBC46D6"
{
"Name" = "8:lib"
"AlwaysCreate" = "11:FALSE"
"Condition" = "8:"
"Transitive" = "11:FALSE"
"Property" = "8:_1F4992C0E7064A248F2957569F468825"
"Folders"
{
}
}
"{9EF0B969-E518-4E46-987F-47570745A589}:_1EBAF38843F146888065150901409A34"
{
"Name" = "8:include"
"AlwaysCreate" = "11:FALSE"
"Condition" = "8:"
"Transitive" = "11:FALSE"
"Property" = "8:_EAF3E4781AE6475F9A786D5C899D6139"
"Folders"
{
}
}
}
}
}
}
}
}
"{1525181F-901A-416C-8A58-119130FE478E}:_2774FA6C0DA14A308EE37D42F79E1E12" "{1525181F-901A-416C-8A58-119130FE478E}:_2774FA6C0DA14A308EE37D42F79E1E12"
{ {
"Name" = "8:#1919" "Name" = "8:#1919"
@ -690,6 +843,34 @@
} }
"ProjectOutput" "ProjectOutput"
{ {
"{5259A561-127C-4D43-A0A1-72F10C7B3BF8}:_6C3DD45AD8C1483F86D675A90FED869A"
{
"SourcePath" = "8:..\\..\\..\\csharp-api\\Novell.Casa.Authtoken\\obj\\Debug\\Novell.Casa.Client.Auth.dll"
"TargetName" = "8:"
"Tag" = "8:"
"Folder" = "8:_031A08D93F304AE690C6F4EF4BBC46D6"
"Condition" = "8:"
"Transitive" = "11:FALSE"
"Vital" = "11:TRUE"
"ReadOnly" = "11:FALSE"
"Hidden" = "11:FALSE"
"System" = "11:FALSE"
"Permanent" = "11:FALSE"
"SharedLegacy" = "11:FALSE"
"PackageAs" = "3:1"
"Register" = "3:1"
"Exclude" = "11:FALSE"
"IsDependency" = "11:FALSE"
"IsolateTo" = "8:"
"ProjectOutputGroupRegister" = "3:1"
"OutputConfiguration" = "8:"
"OutputGroupCanonicalName" = "8:Built"
"OutputProjectGuid" = "8:{1BA1FC97-5AF1-4506-A7FD-EBFD46D361A0}"
"ShowKeyOutput" = "11:TRUE"
"ExcludeFilters"
{
}
}
"{5259A561-127C-4D43-A0A1-72F10C7B3BF8}:_FD0A8D57CFD64B5CADAF19B3B9BCB7B8" "{5259A561-127C-4D43-A0A1-72F10C7B3BF8}:_FD0A8D57CFD64B5CADAF19B3B9BCB7B8"
{ {
"SourcePath" = "8:..\\authtokenclientdevel_msm\\Debug\\authtokenclientdevel-msm.msm" "SourcePath" = "8:..\\authtokenclientdevel_msm\\Debug\\authtokenclientdevel-msm.msm"