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:
		| @@ -51,13 +51,13 @@ namespace Novell.Casa.Client.Auth | ||||
| 			public IntPtr		ext;			// points to the actual extension | ||||
| 		} ; | ||||
|  | ||||
| 		[DllImport(AUTH_LIBRARY, CharSet=CharSet.None) ] | ||||
| 		private static extern int ObtainAuthToken | ||||
| 		( | ||||
| 			[In]		byte[] 			baService,		 | ||||
| 			[In]		byte[]  		baHost, | ||||
| 			[In, Out]	byte[]	 		baToken,							 | ||||
| 			[In, Out]	ref int 		iTokenLength | ||||
| 		[DllImport(AUTH_LIBRARY, CharSet=CharSet.None) ] | ||||
| 		private static extern int ObtainAuthToken | ||||
| 		( | ||||
| 			[In]		byte[] 			baService,		 | ||||
| 			[In]		byte[]  		baHost, | ||||
| 			[In, Out]	byte[]	 		baToken,							 | ||||
| 			[In, Out]	ref int 		iTokenLength | ||||
| 		); | ||||
|  | ||||
| 		[DllImport(AUTH_LIBRARY, CharSet=CharSet.None) ] | ||||
|   | ||||
| @@ -1,170 +1,170 @@ | ||||
| /*********************************************************************** | ||||
|  *  | ||||
|  *  Copyright (C) 2006 Novell, Inc. All Rights Reserved. | ||||
|  * | ||||
|  *  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 Lesser 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, Novell, Inc. | ||||
|  *  | ||||
|  *  To contact Novell about this file by physical or electronic mail,  | ||||
|  *  you may find current contact information at www.novell.com. | ||||
|  *  | ||||
|  *  Author: Juan Carlos Luciani <jluciani@novell.com> | ||||
|  * | ||||
|  ***********************************************************************/ | ||||
|  | ||||
| //===[ Include files ]===================================================== | ||||
|  | ||||
| #include "internal.h" | ||||
|  | ||||
| //===[ Type definitions ]================================================== | ||||
|  | ||||
| // | ||||
| // Authentication Token Interface instance data | ||||
| //  | ||||
| typedef struct _AuthTokenIfInstance | ||||
| { | ||||
|    int            refCount; | ||||
|    AuthTokenIf    authTokenIf; | ||||
|  | ||||
| } AuthTokenIfInstance, *PAuthTokenIfInstance; | ||||
|  | ||||
| //===[ Function prototypes ]=============================================== | ||||
|  | ||||
| //===[ Global variables ]================================================== | ||||
|  | ||||
| // AuthTokenIf variables | ||||
| static | ||||
| int   g_numAuthTokenIfObjs = 0; | ||||
|  | ||||
|  | ||||
| //++======================================================================= | ||||
| static | ||||
| int SSCS_CALL | ||||
| AuthTokenIf_AddReference( | ||||
|    IN       const void  *pIfInstance) | ||||
| // | ||||
| // Arguments:   | ||||
| //    pIfInstance - | ||||
| //       Pointer to interface object. | ||||
| //    | ||||
| // Returns: | ||||
| //    Interface reference count. | ||||
| //                            | ||||
| // Description: | ||||
| //    Increases interface reference count. | ||||
| // | ||||
| // L2 | ||||
| //=======================================================================-- | ||||
| { | ||||
|    int                  refCount; | ||||
|    AuthTokenIfInstance  *pAuthTokenIfInstance = CONTAINING_RECORD(pIfInstance, AuthTokenIfInstance, authTokenIf); | ||||
|  | ||||
|    DbgTrace(2, "-AuthTokenIf_AddReference- Start\n", 0); | ||||
|  | ||||
|    // Increment the reference count on the object | ||||
|    pAuthTokenIfInstance->refCount ++; | ||||
|    refCount = pAuthTokenIfInstance->refCount; | ||||
|  | ||||
|    DbgTrace(2, "-AuthTokenIf_AddReference- End, refCount = %08X\n", refCount); | ||||
|  | ||||
|    return refCount; | ||||
| } | ||||
|  | ||||
|  | ||||
| //++======================================================================= | ||||
| static | ||||
| void SSCS_CALL | ||||
| AuthTokenIf_ReleaseReference( | ||||
|    IN       const void  *pIfInstance) | ||||
| // | ||||
| // Arguments:   | ||||
| //    pIfInstance - | ||||
| //       Pointer to interface object. | ||||
| //    | ||||
| // Returns: | ||||
| //    Nothing. | ||||
| //                            | ||||
| // Description: | ||||
| //    Decreases interface reference count. The interface is deallocated if | ||||
| //    the reference count becomes zero. | ||||
| // | ||||
| // L2 | ||||
| //=======================================================================-- | ||||
| { | ||||
|    bool                 freeObj = false; | ||||
|    AuthTokenIfInstance  *pAuthTokenIfInstance = CONTAINING_RECORD(pIfInstance, AuthTokenIfInstance, authTokenIf); | ||||
|  | ||||
|    DbgTrace(2, "-AuthTokenIf_ReleaseReference- Start\n", 0); | ||||
|  | ||||
|    // Decrement the reference count on the object and determine if it needs to | ||||
|    // be released. | ||||
|    pAuthTokenIfInstance->refCount --; | ||||
|    if (pAuthTokenIfInstance->refCount == 0) | ||||
|    { | ||||
|       // The object needs to be released, forget about it. | ||||
|       freeObj = true; | ||||
|       g_numAuthTokenIfObjs --; | ||||
|    } | ||||
|  | ||||
|    // Free object if necessary | ||||
|    if (freeObj) | ||||
|       free(pAuthTokenIfInstance); | ||||
|  | ||||
|    DbgTrace(2, "-AuthTokenIf_ReleaseReference- End\n", 0); | ||||
| } | ||||
|  | ||||
|  | ||||
| //++======================================================================= | ||||
| CasaStatus SSCS_CALL | ||||
| GET_AUTH_TOKEN_INTERFACE_RTN( | ||||
|    IN       const ConfigIf    *pModuleConfigIf, | ||||
|    INOUT    AuthTokenIf       **ppAuthTokenIf) | ||||
| // | ||||
| // Arguments:   | ||||
| //    pModuleConfigIf - | ||||
| //       Pointer to configuration interface instance for the module. | ||||
| //                | ||||
| //    ppAuthTokenIf - | ||||
| //       Pointer to variable that will receive pointer to AuthTokenIf | ||||
| //       instance. | ||||
| // | ||||
| // Returns: | ||||
| //    Casa Status | ||||
| //                            | ||||
| // Description: | ||||
| //    Gets authentication token interface instance. | ||||
| // | ||||
| // L2 | ||||
| //=======================================================================-- | ||||
| { | ||||
|    CasaStatus           retStatus; | ||||
|    AuthTokenIfInstance  *pAuthTokenIfInstance; | ||||
|    char                 *pDebugLevelSetting; | ||||
|  | ||||
|    DbgTrace(1, "-GetAuthTokenInterface- Start\n", 0); | ||||
|  | ||||
|    // Validate input parameters | ||||
|    if (pModuleConfigIf == NULL | ||||
|        || ppAuthTokenIf == NULL) | ||||
|    { | ||||
|       DbgTrace(0, "-GetAuthTokenInterface- Invalid input parameter\n", 0); | ||||
|  | ||||
|       retStatus = CasaStatusBuild(CASA_SEVERITY_ERROR, | ||||
|                                   CASA_FACILITY_PWTOKEN, | ||||
|                                   CASA_STATUS_INVALID_PARAMETER); | ||||
|       goto exit; | ||||
|    } | ||||
|  | ||||
| /*********************************************************************** | ||||
|  *  | ||||
|  *  Copyright (C) 2006 Novell, Inc. All Rights Reserved. | ||||
|  * | ||||
|  *  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 Lesser 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, Novell, Inc. | ||||
|  *  | ||||
|  *  To contact Novell about this file by physical or electronic mail,  | ||||
|  *  you may find current contact information at www.novell.com. | ||||
|  *  | ||||
|  *  Author: Juan Carlos Luciani <jluciani@novell.com> | ||||
|  * | ||||
|  ***********************************************************************/ | ||||
|  | ||||
| //===[ Include files ]===================================================== | ||||
|  | ||||
| #include "internal.h" | ||||
|  | ||||
| //===[ Type definitions ]================================================== | ||||
|  | ||||
| // | ||||
| // Authentication Token Interface instance data | ||||
| //  | ||||
| typedef struct _AuthTokenIfInstance | ||||
| { | ||||
|    int            refCount; | ||||
|    AuthTokenIf    authTokenIf; | ||||
|  | ||||
| } AuthTokenIfInstance, *PAuthTokenIfInstance; | ||||
|  | ||||
| //===[ Function prototypes ]=============================================== | ||||
|  | ||||
| //===[ Global variables ]================================================== | ||||
|  | ||||
| // AuthTokenIf variables | ||||
| static | ||||
| int   g_numAuthTokenIfObjs = 0; | ||||
|  | ||||
|  | ||||
| //++======================================================================= | ||||
| static | ||||
| int SSCS_CALL | ||||
| AuthTokenIf_AddReference( | ||||
|    IN       const void  *pIfInstance) | ||||
| // | ||||
| // Arguments:   | ||||
| //    pIfInstance - | ||||
| //       Pointer to interface object. | ||||
| //    | ||||
| // Returns: | ||||
| //    Interface reference count. | ||||
| //                            | ||||
| // Description: | ||||
| //    Increases interface reference count. | ||||
| // | ||||
| // L2 | ||||
| //=======================================================================-- | ||||
| { | ||||
|    int                  refCount; | ||||
|    AuthTokenIfInstance  *pAuthTokenIfInstance = CONTAINING_RECORD(pIfInstance, AuthTokenIfInstance, authTokenIf); | ||||
|  | ||||
|    DbgTrace(2, "-AuthTokenIf_AddReference- Start\n", 0); | ||||
|  | ||||
|    // Increment the reference count on the object | ||||
|    pAuthTokenIfInstance->refCount ++; | ||||
|    refCount = pAuthTokenIfInstance->refCount; | ||||
|  | ||||
|    DbgTrace(2, "-AuthTokenIf_AddReference- End, refCount = %08X\n", refCount); | ||||
|  | ||||
|    return refCount; | ||||
| } | ||||
|  | ||||
|  | ||||
| //++======================================================================= | ||||
| static | ||||
| void SSCS_CALL | ||||
| AuthTokenIf_ReleaseReference( | ||||
|    IN       const void  *pIfInstance) | ||||
| // | ||||
| // Arguments:   | ||||
| //    pIfInstance - | ||||
| //       Pointer to interface object. | ||||
| //    | ||||
| // Returns: | ||||
| //    Nothing. | ||||
| //                            | ||||
| // Description: | ||||
| //    Decreases interface reference count. The interface is deallocated if | ||||
| //    the reference count becomes zero. | ||||
| // | ||||
| // L2 | ||||
| //=======================================================================-- | ||||
| { | ||||
|    bool                 freeObj = false; | ||||
|    AuthTokenIfInstance  *pAuthTokenIfInstance = CONTAINING_RECORD(pIfInstance, AuthTokenIfInstance, authTokenIf); | ||||
|  | ||||
|    DbgTrace(2, "-AuthTokenIf_ReleaseReference- Start\n", 0); | ||||
|  | ||||
|    // Decrement the reference count on the object and determine if it needs to | ||||
|    // be released. | ||||
|    pAuthTokenIfInstance->refCount --; | ||||
|    if (pAuthTokenIfInstance->refCount == 0) | ||||
|    { | ||||
|       // The object needs to be released, forget about it. | ||||
|       freeObj = true; | ||||
|       g_numAuthTokenIfObjs --; | ||||
|    } | ||||
|  | ||||
|    // Free object if necessary | ||||
|    if (freeObj) | ||||
|       free(pAuthTokenIfInstance); | ||||
|  | ||||
|    DbgTrace(2, "-AuthTokenIf_ReleaseReference- End\n", 0); | ||||
| } | ||||
|  | ||||
|  | ||||
| //++======================================================================= | ||||
| CasaStatus SSCS_CALL | ||||
| GET_AUTH_TOKEN_INTERFACE_RTN( | ||||
|    IN       const ConfigIf    *pModuleConfigIf, | ||||
|    INOUT    AuthTokenIf       **ppAuthTokenIf) | ||||
| // | ||||
| // Arguments:   | ||||
| //    pModuleConfigIf - | ||||
| //       Pointer to configuration interface instance for the module. | ||||
| //                | ||||
| //    ppAuthTokenIf - | ||||
| //       Pointer to variable that will receive pointer to AuthTokenIf | ||||
| //       instance. | ||||
| // | ||||
| // Returns: | ||||
| //    Casa Status | ||||
| //                            | ||||
| // Description: | ||||
| //    Gets authentication token interface instance. | ||||
| // | ||||
| // L2 | ||||
| //=======================================================================-- | ||||
| { | ||||
|    CasaStatus           retStatus; | ||||
|    AuthTokenIfInstance  *pAuthTokenIfInstance; | ||||
|    char                 *pDebugLevelSetting; | ||||
|  | ||||
|    DbgTrace(1, "-GetAuthTokenInterface- Start\n", 0); | ||||
|  | ||||
|    // Validate input parameters | ||||
|    if (pModuleConfigIf == NULL | ||||
|        || ppAuthTokenIf == NULL) | ||||
|    { | ||||
|       DbgTrace(0, "-GetAuthTokenInterface- Invalid input parameter\n", 0); | ||||
|  | ||||
|       retStatus = CasaStatusBuild(CASA_SEVERITY_ERROR, | ||||
|                                   CASA_FACILITY_PWTOKEN, | ||||
|                                   CASA_STATUS_INVALID_PARAMETER); | ||||
|       goto exit; | ||||
|    } | ||||
|  | ||||
|    // Check if a DebugLevel has been configured | ||||
|    pDebugLevelSetting = pModuleConfigIf->getEntryValue(pModuleConfigIf, "DebugLevel"); | ||||
|    if (pDebugLevelSetting != NULL) | ||||
| @@ -177,44 +177,44 @@ GET_AUTH_TOKEN_INTERFACE_RTN( | ||||
|       // Free the buffer holding the debug level | ||||
|       free(pDebugLevelSetting); | ||||
|    } | ||||
|  | ||||
|    // Allocate space for the interface instance | ||||
|    pAuthTokenIfInstance = malloc(sizeof(*pAuthTokenIfInstance)); | ||||
|    if (pAuthTokenIfInstance) | ||||
|    { | ||||
|       // Initialize the interface instance data | ||||
|       pAuthTokenIfInstance->refCount = 1; | ||||
|       pAuthTokenIfInstance->authTokenIf.addReference = AuthTokenIf_AddReference; | ||||
|       pAuthTokenIfInstance->authTokenIf.releaseReference = AuthTokenIf_ReleaseReference; | ||||
|       pAuthTokenIfInstance->authTokenIf.getAuthToken = AuthTokenIf_GetAuthToken; | ||||
|  | ||||
|       // Keep track of this object | ||||
|       g_numAuthTokenIfObjs ++; | ||||
|  | ||||
|       // Return the interface to the caller | ||||
|       *ppAuthTokenIf = &pAuthTokenIfInstance->authTokenIf; | ||||
|  | ||||
|       // Success | ||||
|       retStatus = CASA_STATUS_SUCCESS; | ||||
|    } | ||||
|    else | ||||
|    { | ||||
|       DbgTrace(0, "-GetAuthTokenInterface- Buffer allocation failure\n", 0); | ||||
|  | ||||
|       retStatus = CasaStatusBuild(CASA_SEVERITY_ERROR, | ||||
|                                   CASA_FACILITY_PWTOKEN, | ||||
|                                   CASA_STATUS_INSUFFICIENT_RESOURCES); | ||||
|    } | ||||
|  | ||||
| exit: | ||||
|  | ||||
|    DbgTrace(1, "-GetAuthTokenInterface- End, retStatus = %08X\n", retStatus); | ||||
|  | ||||
|    return retStatus; | ||||
| } | ||||
|  | ||||
|  | ||||
| //++======================================================================= | ||||
| //++======================================================================= | ||||
| //++======================================================================= | ||||
|  | ||||
|  | ||||
|    // Allocate space for the interface instance | ||||
|    pAuthTokenIfInstance = malloc(sizeof(*pAuthTokenIfInstance)); | ||||
|    if (pAuthTokenIfInstance) | ||||
|    { | ||||
|       // Initialize the interface instance data | ||||
|       pAuthTokenIfInstance->refCount = 1; | ||||
|       pAuthTokenIfInstance->authTokenIf.addReference = AuthTokenIf_AddReference; | ||||
|       pAuthTokenIfInstance->authTokenIf.releaseReference = AuthTokenIf_ReleaseReference; | ||||
|       pAuthTokenIfInstance->authTokenIf.getAuthToken = AuthTokenIf_GetAuthToken; | ||||
|  | ||||
|       // Keep track of this object | ||||
|       g_numAuthTokenIfObjs ++; | ||||
|  | ||||
|       // Return the interface to the caller | ||||
|       *ppAuthTokenIf = &pAuthTokenIfInstance->authTokenIf; | ||||
|  | ||||
|       // Success | ||||
|       retStatus = CASA_STATUS_SUCCESS; | ||||
|    } | ||||
|    else | ||||
|    { | ||||
|       DbgTrace(0, "-GetAuthTokenInterface- Buffer allocation failure\n", 0); | ||||
|  | ||||
|       retStatus = CasaStatusBuild(CASA_SEVERITY_ERROR, | ||||
|                                   CASA_FACILITY_PWTOKEN, | ||||
|                                   CASA_STATUS_INSUFFICIENT_RESOURCES); | ||||
|    } | ||||
|  | ||||
| exit: | ||||
|  | ||||
|    DbgTrace(1, "-GetAuthTokenInterface- End, retStatus = %08X\n", retStatus); | ||||
|  | ||||
|    return retStatus; | ||||
| } | ||||
|  | ||||
|  | ||||
| //++======================================================================= | ||||
| //++======================================================================= | ||||
| //++======================================================================= | ||||
|  | ||||
|   | ||||
| @@ -87,10 +87,10 @@ DecodeData( | ||||
|    INOUT int32_t *pDataLen); | ||||
|  | ||||
| extern | ||||
| int | ||||
| dtoul( | ||||
|    IN    const char *cp, | ||||
|    IN    const int len); | ||||
| int | ||||
| dtoul( | ||||
|    IN    const char *cp, | ||||
|    IN    const int len); | ||||
|  | ||||
| //========================================================================= | ||||
|  | ||||
|   | ||||
| @@ -1,14 +1,14 @@ | ||||
| ####################################################### | ||||
| #                                                     # | ||||
| # CASA Authentication Token System configuration file # | ||||
| # for module:                                         # | ||||
| #                                                     # | ||||
| #     Krb5Authenticate                                # | ||||
| #                                                     # | ||||
| ####################################################### | ||||
|  | ||||
| LibraryName		\Program Files\novell\casa\lib\krb5mech.dll | ||||
|  | ||||
| ####################################################### | ||||
| #                                                     # | ||||
| # CASA Authentication Token System configuration file # | ||||
| # for module:                                         # | ||||
| #                                                     # | ||||
| #     Krb5Authenticate                                # | ||||
| #                                                     # | ||||
| ####################################################### | ||||
|  | ||||
| LibraryName		\Program Files\novell\casa\lib\krb5mech.dll | ||||
|  | ||||
| # | ||||
| # DebugLevel setting. | ||||
| # | ||||
| @@ -23,5 +23,5 @@ LibraryName		\Program Files\novell\casa\lib\krb5mech.dll | ||||
| #              to /var/log/messages. | ||||
| # | ||||
| #DebugLevel	0 | ||||
|  | ||||
|  | ||||
|  | ||||
|  | ||||
|   | ||||
| @@ -1,170 +1,170 @@ | ||||
| /*********************************************************************** | ||||
|  *  | ||||
|  *  Copyright (C) 2006 Novell, Inc. All Rights Reserved. | ||||
|  * | ||||
|  *  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 Lesser 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, Novell, Inc. | ||||
|  *  | ||||
|  *  To contact Novell about this file by physical or electronic mail,  | ||||
|  *  you may find current contact information at www.novell.com. | ||||
|  *  | ||||
|  *  Author: Juan Carlos Luciani <jluciani@novell.com> | ||||
|  * | ||||
|  ***********************************************************************/ | ||||
|  | ||||
| //===[ Include files ]===================================================== | ||||
|  | ||||
| #include "internal.h" | ||||
|  | ||||
| //===[ Type definitions ]================================================== | ||||
|  | ||||
| // | ||||
| // Authentication Token Interface instance data | ||||
| //  | ||||
| typedef struct _AuthTokenIfInstance | ||||
| { | ||||
|    int            refCount; | ||||
|    AuthTokenIf    authTokenIf; | ||||
|  | ||||
| } AuthTokenIfInstance, *PAuthTokenIfInstance; | ||||
|  | ||||
| //===[ Function prototypes ]=============================================== | ||||
|  | ||||
| //===[ Global variables ]================================================== | ||||
|  | ||||
| // AuthTokenIf variables | ||||
| static | ||||
| int   g_numAuthTokenIfObjs = 0; | ||||
|  | ||||
|  | ||||
| //++======================================================================= | ||||
| static | ||||
| int SSCS_CALL | ||||
| AuthTokenIf_AddReference( | ||||
|    IN       const void  *pIfInstance) | ||||
| // | ||||
| // Arguments:   | ||||
| //    pIfInstance - | ||||
| //       Pointer to interface object. | ||||
| //    | ||||
| // Returns: | ||||
| //    Interface reference count. | ||||
| //                            | ||||
| // Description: | ||||
| //    Increases interface reference count. | ||||
| // | ||||
| // L2 | ||||
| //=======================================================================-- | ||||
| { | ||||
|    int                  refCount; | ||||
|    AuthTokenIfInstance  *pAuthTokenIfInstance = CONTAINING_RECORD(pIfInstance, AuthTokenIfInstance, authTokenIf); | ||||
|  | ||||
|    DbgTrace(2, "-AuthTokenIf_AddReference- Start\n", 0); | ||||
|  | ||||
|    // Increment the reference count on the object | ||||
|    pAuthTokenIfInstance->refCount ++; | ||||
|    refCount = pAuthTokenIfInstance->refCount; | ||||
|  | ||||
|    DbgTrace(2, "-AuthTokenIf_AddReference- End, refCount = %08X\n", refCount); | ||||
|  | ||||
|    return refCount; | ||||
| } | ||||
|  | ||||
|  | ||||
| //++======================================================================= | ||||
| static | ||||
| void SSCS_CALL | ||||
| AuthTokenIf_ReleaseReference( | ||||
|    IN       const void  *pIfInstance) | ||||
| // | ||||
| // Arguments:   | ||||
| //    pIfInstance - | ||||
| //       Pointer to interface object. | ||||
| //    | ||||
| // Returns: | ||||
| //    Nothing. | ||||
| //                            | ||||
| // Description: | ||||
| //    Decreases interface reference count. The interface is deallocated if | ||||
| //    the reference count becomes zero. | ||||
| // | ||||
| // L2 | ||||
| //=======================================================================-- | ||||
| { | ||||
|    bool                 freeObj = false; | ||||
|    AuthTokenIfInstance  *pAuthTokenIfInstance = CONTAINING_RECORD(pIfInstance, AuthTokenIfInstance, authTokenIf); | ||||
|  | ||||
|    DbgTrace(2, "-AuthTokenIf_ReleaseReference- Start\n", 0); | ||||
|  | ||||
|    // Decrement the reference count on the object and determine if it needs to | ||||
|    // be released. | ||||
|    pAuthTokenIfInstance->refCount --; | ||||
|    if (pAuthTokenIfInstance->refCount == 0) | ||||
|    { | ||||
|       // The object needs to be released, forget about it. | ||||
|       freeObj = true; | ||||
|       g_numAuthTokenIfObjs --; | ||||
|    } | ||||
|  | ||||
|    // Free object if necessary | ||||
|    if (freeObj) | ||||
|       free(pAuthTokenIfInstance); | ||||
|  | ||||
|    DbgTrace(2, "-AuthTokenIf_ReleaseReference- End\n", 0); | ||||
| } | ||||
|  | ||||
|  | ||||
| //++======================================================================= | ||||
| CasaStatus SSCS_CALL | ||||
| GET_AUTH_TOKEN_INTERFACE_RTN( | ||||
|    IN       const ConfigIf    *pModuleConfigIf, | ||||
|    INOUT    AuthTokenIf       **ppAuthTokenIf) | ||||
| // | ||||
| // Arguments:   | ||||
| //    pModuleConfigIf - | ||||
| //       Pointer to configuration interface instance for the module. | ||||
| //                | ||||
| //    ppAuthTokenIf - | ||||
| //       Pointer to variable that will receive pointer to AuthTokenIf | ||||
| //       instance. | ||||
| // | ||||
| // Returns: | ||||
| //    Casa Status | ||||
| //                            | ||||
| // Description: | ||||
| //    Gets authentication token interface instance. | ||||
| // | ||||
| // L2 | ||||
| //=======================================================================-- | ||||
| { | ||||
|    CasaStatus           retStatus; | ||||
|    AuthTokenIfInstance  *pAuthTokenIfInstance; | ||||
|    char                 *pDebugLevelSetting; | ||||
|  | ||||
|    DbgTrace(1, "-GetAuthTokenInterface- Start\n", 0); | ||||
|  | ||||
|    // Validate input parameters | ||||
|    if (pModuleConfigIf == NULL | ||||
|        || ppAuthTokenIf == NULL) | ||||
|    { | ||||
|       DbgTrace(0, "-GetAuthTokenInterface- Invalid input parameter\n", 0); | ||||
|  | ||||
|       retStatus = CasaStatusBuild(CASA_SEVERITY_ERROR, | ||||
|                                   CASA_FACILITY_PWTOKEN, | ||||
|                                   CASA_STATUS_INVALID_PARAMETER); | ||||
|       goto exit; | ||||
|    } | ||||
|  | ||||
| /*********************************************************************** | ||||
|  *  | ||||
|  *  Copyright (C) 2006 Novell, Inc. All Rights Reserved. | ||||
|  * | ||||
|  *  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 Lesser 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, Novell, Inc. | ||||
|  *  | ||||
|  *  To contact Novell about this file by physical or electronic mail,  | ||||
|  *  you may find current contact information at www.novell.com. | ||||
|  *  | ||||
|  *  Author: Juan Carlos Luciani <jluciani@novell.com> | ||||
|  * | ||||
|  ***********************************************************************/ | ||||
|  | ||||
| //===[ Include files ]===================================================== | ||||
|  | ||||
| #include "internal.h" | ||||
|  | ||||
| //===[ Type definitions ]================================================== | ||||
|  | ||||
| // | ||||
| // Authentication Token Interface instance data | ||||
| //  | ||||
| typedef struct _AuthTokenIfInstance | ||||
| { | ||||
|    int            refCount; | ||||
|    AuthTokenIf    authTokenIf; | ||||
|  | ||||
| } AuthTokenIfInstance, *PAuthTokenIfInstance; | ||||
|  | ||||
| //===[ Function prototypes ]=============================================== | ||||
|  | ||||
| //===[ Global variables ]================================================== | ||||
|  | ||||
| // AuthTokenIf variables | ||||
| static | ||||
| int   g_numAuthTokenIfObjs = 0; | ||||
|  | ||||
|  | ||||
| //++======================================================================= | ||||
| static | ||||
| int SSCS_CALL | ||||
| AuthTokenIf_AddReference( | ||||
|    IN       const void  *pIfInstance) | ||||
| // | ||||
| // Arguments:   | ||||
| //    pIfInstance - | ||||
| //       Pointer to interface object. | ||||
| //    | ||||
| // Returns: | ||||
| //    Interface reference count. | ||||
| //                            | ||||
| // Description: | ||||
| //    Increases interface reference count. | ||||
| // | ||||
| // L2 | ||||
| //=======================================================================-- | ||||
| { | ||||
|    int                  refCount; | ||||
|    AuthTokenIfInstance  *pAuthTokenIfInstance = CONTAINING_RECORD(pIfInstance, AuthTokenIfInstance, authTokenIf); | ||||
|  | ||||
|    DbgTrace(2, "-AuthTokenIf_AddReference- Start\n", 0); | ||||
|  | ||||
|    // Increment the reference count on the object | ||||
|    pAuthTokenIfInstance->refCount ++; | ||||
|    refCount = pAuthTokenIfInstance->refCount; | ||||
|  | ||||
|    DbgTrace(2, "-AuthTokenIf_AddReference- End, refCount = %08X\n", refCount); | ||||
|  | ||||
|    return refCount; | ||||
| } | ||||
|  | ||||
|  | ||||
| //++======================================================================= | ||||
| static | ||||
| void SSCS_CALL | ||||
| AuthTokenIf_ReleaseReference( | ||||
|    IN       const void  *pIfInstance) | ||||
| // | ||||
| // Arguments:   | ||||
| //    pIfInstance - | ||||
| //       Pointer to interface object. | ||||
| //    | ||||
| // Returns: | ||||
| //    Nothing. | ||||
| //                            | ||||
| // Description: | ||||
| //    Decreases interface reference count. The interface is deallocated if | ||||
| //    the reference count becomes zero. | ||||
| // | ||||
| // L2 | ||||
| //=======================================================================-- | ||||
| { | ||||
|    bool                 freeObj = false; | ||||
|    AuthTokenIfInstance  *pAuthTokenIfInstance = CONTAINING_RECORD(pIfInstance, AuthTokenIfInstance, authTokenIf); | ||||
|  | ||||
|    DbgTrace(2, "-AuthTokenIf_ReleaseReference- Start\n", 0); | ||||
|  | ||||
|    // Decrement the reference count on the object and determine if it needs to | ||||
|    // be released. | ||||
|    pAuthTokenIfInstance->refCount --; | ||||
|    if (pAuthTokenIfInstance->refCount == 0) | ||||
|    { | ||||
|       // The object needs to be released, forget about it. | ||||
|       freeObj = true; | ||||
|       g_numAuthTokenIfObjs --; | ||||
|    } | ||||
|  | ||||
|    // Free object if necessary | ||||
|    if (freeObj) | ||||
|       free(pAuthTokenIfInstance); | ||||
|  | ||||
|    DbgTrace(2, "-AuthTokenIf_ReleaseReference- End\n", 0); | ||||
| } | ||||
|  | ||||
|  | ||||
| //++======================================================================= | ||||
| CasaStatus SSCS_CALL | ||||
| GET_AUTH_TOKEN_INTERFACE_RTN( | ||||
|    IN       const ConfigIf    *pModuleConfigIf, | ||||
|    INOUT    AuthTokenIf       **ppAuthTokenIf) | ||||
| // | ||||
| // Arguments:   | ||||
| //    pModuleConfigIf - | ||||
| //       Pointer to configuration interface instance for the module. | ||||
| //                | ||||
| //    ppAuthTokenIf - | ||||
| //       Pointer to variable that will receive pointer to AuthTokenIf | ||||
| //       instance. | ||||
| // | ||||
| // Returns: | ||||
| //    Casa Status | ||||
| //                            | ||||
| // Description: | ||||
| //    Gets authentication token interface instance. | ||||
| // | ||||
| // L2 | ||||
| //=======================================================================-- | ||||
| { | ||||
|    CasaStatus           retStatus; | ||||
|    AuthTokenIfInstance  *pAuthTokenIfInstance; | ||||
|    char                 *pDebugLevelSetting; | ||||
|  | ||||
|    DbgTrace(1, "-GetAuthTokenInterface- Start\n", 0); | ||||
|  | ||||
|    // Validate input parameters | ||||
|    if (pModuleConfigIf == NULL | ||||
|        || ppAuthTokenIf == NULL) | ||||
|    { | ||||
|       DbgTrace(0, "-GetAuthTokenInterface- Invalid input parameter\n", 0); | ||||
|  | ||||
|       retStatus = CasaStatusBuild(CASA_SEVERITY_ERROR, | ||||
|                                   CASA_FACILITY_PWTOKEN, | ||||
|                                   CASA_STATUS_INVALID_PARAMETER); | ||||
|       goto exit; | ||||
|    } | ||||
|  | ||||
|    // Check if a DebugLevel has been configured | ||||
|    pDebugLevelSetting = pModuleConfigIf->getEntryValue(pModuleConfigIf, "DebugLevel"); | ||||
|    if (pDebugLevelSetting != NULL) | ||||
| @@ -177,44 +177,44 @@ GET_AUTH_TOKEN_INTERFACE_RTN( | ||||
|       // Free the buffer holding the debug level | ||||
|       free(pDebugLevelSetting); | ||||
|    } | ||||
|  | ||||
|    // Allocate space for the interface instance | ||||
|    pAuthTokenIfInstance = malloc(sizeof(*pAuthTokenIfInstance)); | ||||
|    if (pAuthTokenIfInstance) | ||||
|    { | ||||
|       // Initialize the interface instance data | ||||
|       pAuthTokenIfInstance->refCount = 1; | ||||
|       pAuthTokenIfInstance->authTokenIf.addReference = AuthTokenIf_AddReference; | ||||
|       pAuthTokenIfInstance->authTokenIf.releaseReference = AuthTokenIf_ReleaseReference; | ||||
|       pAuthTokenIfInstance->authTokenIf.getAuthToken = AuthTokenIf_GetAuthToken; | ||||
|  | ||||
|       // Keep track of this object | ||||
|       g_numAuthTokenIfObjs ++; | ||||
|  | ||||
|       // Return the interface to the caller | ||||
|       *ppAuthTokenIf = &pAuthTokenIfInstance->authTokenIf; | ||||
|  | ||||
|       // Success | ||||
|       retStatus = CASA_STATUS_SUCCESS; | ||||
|    } | ||||
|    else | ||||
|    { | ||||
|       DbgTrace(0, "-GetAuthTokenInterface- Buffer allocation failure\n", 0); | ||||
|  | ||||
|       retStatus = CasaStatusBuild(CASA_SEVERITY_ERROR, | ||||
|                                   CASA_FACILITY_PWTOKEN, | ||||
|                                   CASA_STATUS_INSUFFICIENT_RESOURCES); | ||||
|    } | ||||
|  | ||||
| exit: | ||||
|  | ||||
|    DbgTrace(1, "-GetAuthTokenInterface- End, retStatus = %08X\n", retStatus); | ||||
|  | ||||
|    return retStatus; | ||||
| } | ||||
|  | ||||
|  | ||||
| //++======================================================================= | ||||
| //++======================================================================= | ||||
| //++======================================================================= | ||||
|  | ||||
|  | ||||
|    // Allocate space for the interface instance | ||||
|    pAuthTokenIfInstance = malloc(sizeof(*pAuthTokenIfInstance)); | ||||
|    if (pAuthTokenIfInstance) | ||||
|    { | ||||
|       // Initialize the interface instance data | ||||
|       pAuthTokenIfInstance->refCount = 1; | ||||
|       pAuthTokenIfInstance->authTokenIf.addReference = AuthTokenIf_AddReference; | ||||
|       pAuthTokenIfInstance->authTokenIf.releaseReference = AuthTokenIf_ReleaseReference; | ||||
|       pAuthTokenIfInstance->authTokenIf.getAuthToken = AuthTokenIf_GetAuthToken; | ||||
|  | ||||
|       // Keep track of this object | ||||
|       g_numAuthTokenIfObjs ++; | ||||
|  | ||||
|       // Return the interface to the caller | ||||
|       *ppAuthTokenIf = &pAuthTokenIfInstance->authTokenIf; | ||||
|  | ||||
|       // Success | ||||
|       retStatus = CASA_STATUS_SUCCESS; | ||||
|    } | ||||
|    else | ||||
|    { | ||||
|       DbgTrace(0, "-GetAuthTokenInterface- Buffer allocation failure\n", 0); | ||||
|  | ||||
|       retStatus = CasaStatusBuild(CASA_SEVERITY_ERROR, | ||||
|                                   CASA_FACILITY_PWTOKEN, | ||||
|                                   CASA_STATUS_INSUFFICIENT_RESOURCES); | ||||
|    } | ||||
|  | ||||
| exit: | ||||
|  | ||||
|    DbgTrace(1, "-GetAuthTokenInterface- End, retStatus = %08X\n", retStatus); | ||||
|  | ||||
|    return retStatus; | ||||
| } | ||||
|  | ||||
|  | ||||
| //++======================================================================= | ||||
| //++======================================================================= | ||||
| //++======================================================================= | ||||
|  | ||||
|   | ||||
| @@ -85,10 +85,10 @@ DecodeData( | ||||
|    INOUT int32_t *pDataLen); | ||||
|  | ||||
| extern | ||||
| int | ||||
| dtoul( | ||||
|    IN    const char *cp, | ||||
|    IN    const int len); | ||||
| int | ||||
| dtoul( | ||||
|    IN    const char *cp, | ||||
|    IN    const int len); | ||||
|  | ||||
| //========================================================================= | ||||
|  | ||||
|   | ||||
| @@ -51,6 +51,7 @@ | ||||
| 				WarningLevel="3" | ||||
| 				Detect64BitPortabilityProblems="true" | ||||
| 				DebugInformationFormat="4" | ||||
| 				CallingConvention="2" | ||||
| 			/> | ||||
| 			<Tool | ||||
| 				Name="VCManagedResourceCompilerTool" | ||||
|   | ||||
| @@ -1,107 +1,107 @@ | ||||
| /*********************************************************************** | ||||
|  *  | ||||
|  *  Copyright (C) 2006 Novell, Inc. All Rights Reserved. | ||||
|  * | ||||
|  *  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 Lesser 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, Novell, Inc. | ||||
|  *  | ||||
|  *  To contact Novell about this file by physical or electronic mail,  | ||||
|  *  you may find current contact information at www.novell.com. | ||||
|  *  | ||||
|  *  Author: Juan Carlos Luciani <jluciani@novell.com> | ||||
|  * | ||||
|  ***********************************************************************/ | ||||
|  | ||||
| //===[ Include files ]===================================================== | ||||
|  | ||||
| #include "internal.h" | ||||
| #include <shlobj.h> | ||||
| #include <shlwapi.h> | ||||
| #include "casa_c_authtoken_ex.h" | ||||
|  | ||||
| //===[ External data ]===================================================== | ||||
| extern | ||||
| /*********************************************************************** | ||||
|  *  | ||||
|  *  Copyright (C) 2006 Novell, Inc. All Rights Reserved. | ||||
|  * | ||||
|  *  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 Lesser 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, Novell, Inc. | ||||
|  *  | ||||
|  *  To contact Novell about this file by physical or electronic mail,  | ||||
|  *  you may find current contact information at www.novell.com. | ||||
|  *  | ||||
|  *  Author: Juan Carlos Luciani <jluciani@novell.com> | ||||
|  * | ||||
|  ***********************************************************************/ | ||||
|  | ||||
| //===[ Include files ]===================================================== | ||||
|  | ||||
| #include "internal.h" | ||||
| #include <shlobj.h> | ||||
| #include <shlwapi.h> | ||||
| #include "casa_c_authtoken_ex.h" | ||||
|  | ||||
| //===[ External data ]===================================================== | ||||
| extern | ||||
| char  clientConfigFolderPartialPath[]; | ||||
|  | ||||
| extern | ||||
|  | ||||
| extern | ||||
| char  mechConfigFolderPartialPath[]; | ||||
|  | ||||
| //===[ Manifest constants ]================================================ | ||||
|  | ||||
| //===[ Type definitions ]================================================== | ||||
|  | ||||
| //===[ Function prototypes ]=============================================== | ||||
|  | ||||
| //===[ Global variables ]================================================== | ||||
|  | ||||
| UINT32 g_ulCount  = 0; | ||||
| UINT32 g_ulLock = 0; | ||||
| HANDLE g_hModule; | ||||
| HANDLE g_hModuleMutex; | ||||
|  | ||||
|  | ||||
| //++======================================================================= | ||||
| CasaStatus SSCS_CALL | ||||
| ObtainAuthTokenEx( | ||||
|    IN    const char *pServiceName, | ||||
|    IN    const char *pHostName, | ||||
|    INOUT char *pAuthTokenBuf, | ||||
|    INOUT int *pAuthTokenBufLen, | ||||
|    IN    void *pCredStoreScope) | ||||
| // | ||||
| //  Arguments:  | ||||
| //    pServiceName - | ||||
| //       Pointer to NULL terminated string that contains the | ||||
| //       name of the service to which the client is trying to | ||||
| //       authenticate. | ||||
| //                | ||||
| //    pHostName - | ||||
| //       Pointer to NULL terminated string that contains the | ||||
| //       name of the host where resides the service to which the | ||||
| //       client is trying to authenticate. Note that the name | ||||
| //       can either be a DNS name or a dotted IP address. | ||||
| //                | ||||
| //    pAuthTokenBuf - | ||||
| //       Pointer to buffer that will receive the authentication | ||||
| //       token. The length of this buffer is specified by the | ||||
| //       pAuthTokenBufLen parameter. Note that the the authentication | ||||
| //       token will be in the form of a NULL terminated string. | ||||
| // | ||||
| //    pAuthTokenBufLen - | ||||
| //       Pointer to integer that contains the length of the | ||||
| //       buffer pointed at by pAuthTokenBuf. Upon return of the | ||||
| //       function, the integer will contain the actual length | ||||
| //       of the authentication token if the function successfully | ||||
| //       completes or the buffer length required if the function | ||||
| //       fails because the buffer pointed at by pAuthTokenBuf is | ||||
| //       not large enough. | ||||
| // | ||||
| //    pCredStoreScope - | ||||
| //       Pointer to CASA structure for scoping credential store access | ||||
| //       to specific users. This can only be leveraged by applications | ||||
| //       running in the context of System. | ||||
| //    | ||||
| // Returns: | ||||
| //    Casa Status | ||||
| //                            | ||||
| // Description: | ||||
| //    Get authentication token to authenticate user to specified | ||||
| //    service at host. The user is scoped using the info associated | ||||
| //    with the magic cookie. | ||||
|  | ||||
| //===[ Manifest constants ]================================================ | ||||
|  | ||||
| //===[ Type definitions ]================================================== | ||||
|  | ||||
| //===[ Function prototypes ]=============================================== | ||||
|  | ||||
| //===[ Global variables ]================================================== | ||||
|  | ||||
| UINT32 g_ulCount  = 0; | ||||
| UINT32 g_ulLock = 0; | ||||
| HANDLE g_hModule; | ||||
| HANDLE g_hModuleMutex; | ||||
|  | ||||
|  | ||||
| //++======================================================================= | ||||
| CasaStatus SSCS_CALL | ||||
| ObtainAuthTokenEx( | ||||
|    IN    const char *pServiceName, | ||||
|    IN    const char *pHostName, | ||||
|    INOUT char *pAuthTokenBuf, | ||||
|    INOUT int *pAuthTokenBufLen, | ||||
|    IN    void *pCredStoreScope) | ||||
| // | ||||
| //  Arguments:  | ||||
| //    pServiceName - | ||||
| //       Pointer to NULL terminated string that contains the | ||||
| //       name of the service to which the client is trying to | ||||
| //       authenticate. | ||||
| //                | ||||
| //    pHostName - | ||||
| //       Pointer to NULL terminated string that contains the | ||||
| //       name of the host where resides the service to which the | ||||
| //       client is trying to authenticate. Note that the name | ||||
| //       can either be a DNS name or a dotted IP address. | ||||
| //                | ||||
| //    pAuthTokenBuf - | ||||
| //       Pointer to buffer that will receive the authentication | ||||
| //       token. The length of this buffer is specified by the | ||||
| //       pAuthTokenBufLen parameter. Note that the the authentication | ||||
| //       token will be in the form of a NULL terminated string. | ||||
| // | ||||
| //    pAuthTokenBufLen - | ||||
| //       Pointer to integer that contains the length of the | ||||
| //       buffer pointed at by pAuthTokenBuf. Upon return of the | ||||
| //       function, the integer will contain the actual length | ||||
| //       of the authentication token if the function successfully | ||||
| //       completes or the buffer length required if the function | ||||
| //       fails because the buffer pointed at by pAuthTokenBuf is | ||||
| //       not large enough. | ||||
| // | ||||
| //    pCredStoreScope - | ||||
| //       Pointer to CASA structure for scoping credential store access | ||||
| //       to specific users. This can only be leveraged by applications | ||||
| //       running in the context of System. | ||||
| //    | ||||
| // Returns: | ||||
| //    Casa Status | ||||
| //                            | ||||
| // Description: | ||||
| //    Get authentication token to authenticate user to specified | ||||
| //    service at host. The user is scoped using the info associated | ||||
| //    with the magic cookie. | ||||
| // | ||||
| // L2 | ||||
| //=======================================================================-- | ||||
| { | ||||
| //=======================================================================-- | ||||
| { | ||||
|    CasaStatus        retStatus; | ||||
|  | ||||
|    DbgTrace(1, "-ObtainAuthTokenEx- Start\n", 0); | ||||
| @@ -116,118 +116,118 @@ ObtainAuthTokenEx( | ||||
|    DbgTrace(1, "-ObtainAuthTokenEx- End, retStatus = %08X\n", retStatus); | ||||
|  | ||||
|    return retStatus; | ||||
| } | ||||
|  | ||||
|  | ||||
| //++======================================================================= | ||||
| BOOL APIENTRY DllMain( | ||||
|    HANDLE hModule, | ||||
|    DWORD  ul_reason_for_call, | ||||
|    LPVOID lpReserved    | ||||
|    ) | ||||
| //=======================================================================-- | ||||
| { | ||||
|    BOOL  retStatus = TRUE; | ||||
| } | ||||
|  | ||||
|  | ||||
| //++======================================================================= | ||||
| BOOL APIENTRY DllMain( | ||||
|    HANDLE hModule, | ||||
|    DWORD  ul_reason_for_call, | ||||
|    LPVOID lpReserved    | ||||
|    ) | ||||
| //=======================================================================-- | ||||
| { | ||||
|    BOOL  retStatus = TRUE; | ||||
|    char  programFilesFolder[MAX_PATH]; | ||||
|  | ||||
|    switch (ul_reason_for_call) | ||||
|    { | ||||
|       case DLL_PROCESS_ATTACH: | ||||
|       { | ||||
|          g_hModule = hModule; | ||||
|  | ||||
|          // Setup the path to the client and auth mechanisms config folders | ||||
|          if (SHGetFolderPath(NULL, | ||||
|                              CSIDL_PROGRAM_FILES, | ||||
|                              NULL, | ||||
|                              0, | ||||
|                              programFilesFolder) == 0) | ||||
|          { | ||||
|             strcpy(clientConfigFolder, programFilesFolder); | ||||
|             PathAppend(clientConfigFolder, clientConfigFolderPartialPath); | ||||
|  | ||||
|             strcpy(mechConfigFolder, programFilesFolder); | ||||
|             PathAppend(mechConfigFolder, mechConfigFolderPartialPath); | ||||
|  | ||||
|             // Allocate module mutex | ||||
|             g_hModuleMutex = CreateMutex(NULL, FALSE, NULL); | ||||
|             if (! g_hModuleMutex) | ||||
|             { | ||||
|                // Module initialization failed | ||||
|                OutputDebugString("CASAAUTH -DllMain- Failed to create mutex\n"); | ||||
|                retStatus = FALSE; | ||||
|             } | ||||
|          } | ||||
|          else | ||||
|          { | ||||
|             // Failed to obtain the Program Files path | ||||
|             OutputDebugString("CASAAUTH -DllMain- Failed to obtain the Program Files path\n"); | ||||
|             retStatus = FALSE; | ||||
|          } | ||||
|  | ||||
|          break; | ||||
|       } | ||||
|  | ||||
|       case DLL_THREAD_ATTACH: | ||||
|       { | ||||
|          g_hModule = hModule; | ||||
|          break; | ||||
|       } | ||||
|  | ||||
|       case DLL_THREAD_DETACH: | ||||
|          break; | ||||
|  | ||||
|       case DLL_PROCESS_DETACH: | ||||
|       { | ||||
|          /* Don't uninitialize on windows | ||||
|          tbd | ||||
|          */ | ||||
|          break; | ||||
|       } | ||||
|     } | ||||
|  | ||||
|     return retStatus; | ||||
| } | ||||
|  | ||||
| //++======================================================================= | ||||
| // | ||||
| // DllCanUnloadNow | ||||
| // | ||||
| // Synopsis | ||||
| // | ||||
| // | ||||
| STDAPI | ||||
| DllCanUnloadNow() | ||||
| // | ||||
| // Input Arguments | ||||
| // | ||||
| // Ouput Arguments | ||||
| // | ||||
| // Return Value | ||||
| //    S_OK    The DLL can be unloaded. | ||||
| //    S_FALSE The DLL cannot be unloaded now. | ||||
| // | ||||
| // Description | ||||
| //    An Exported Function. | ||||
| //    DLLs that support the OLE Component Object Model (COM) should implement | ||||
| //    and export DllCanUnloadNow. | ||||
| //    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 | ||||
| //    managing  any existing objects (the reference count on all of its objects | ||||
| //    is 0). | ||||
| //    DllCanUnloadNow returns S_FALSE if there are any existing references to | ||||
| //    objects that the DLL manages. | ||||
| // | ||||
| // Environment | ||||
| // | ||||
| // See Also | ||||
| // | ||||
| //=======================================================================-- | ||||
| { | ||||
|    // tbd | ||||
|    return ((g_ulCount == 0 && g_ulLock == 0) ? S_OK : S_FALSE); | ||||
| } | ||||
|  | ||||
| //========================================================================= | ||||
| //========================================================================= | ||||
|  | ||||
|  | ||||
|    switch (ul_reason_for_call) | ||||
|    { | ||||
|       case DLL_PROCESS_ATTACH: | ||||
|       { | ||||
|          g_hModule = hModule; | ||||
|  | ||||
|          // Setup the path to the client and auth mechanisms config folders | ||||
|          if (SHGetFolderPath(NULL, | ||||
|                              CSIDL_PROGRAM_FILES, | ||||
|                              NULL, | ||||
|                              0, | ||||
|                              programFilesFolder) == 0) | ||||
|          { | ||||
|             strcpy(clientConfigFolder, programFilesFolder); | ||||
|             PathAppend(clientConfigFolder, clientConfigFolderPartialPath); | ||||
|  | ||||
|             strcpy(mechConfigFolder, programFilesFolder); | ||||
|             PathAppend(mechConfigFolder, mechConfigFolderPartialPath); | ||||
|  | ||||
|             // Allocate module mutex | ||||
|             g_hModuleMutex = CreateMutex(NULL, FALSE, NULL); | ||||
|             if (! g_hModuleMutex) | ||||
|             { | ||||
|                // Module initialization failed | ||||
|                OutputDebugString("CASAAUTH -DllMain- Failed to create mutex\n"); | ||||
|                retStatus = FALSE; | ||||
|             } | ||||
|          } | ||||
|          else | ||||
|          { | ||||
|             // Failed to obtain the Program Files path | ||||
|             OutputDebugString("CASAAUTH -DllMain- Failed to obtain the Program Files path\n"); | ||||
|             retStatus = FALSE; | ||||
|          } | ||||
|  | ||||
|          break; | ||||
|       } | ||||
|  | ||||
|       case DLL_THREAD_ATTACH: | ||||
|       { | ||||
|          g_hModule = hModule; | ||||
|          break; | ||||
|       } | ||||
|  | ||||
|       case DLL_THREAD_DETACH: | ||||
|          break; | ||||
|  | ||||
|       case DLL_PROCESS_DETACH: | ||||
|       { | ||||
|          /* Don't uninitialize on windows | ||||
|          tbd | ||||
|          */ | ||||
|          break; | ||||
|       } | ||||
|     } | ||||
|  | ||||
|     return retStatus; | ||||
| } | ||||
|  | ||||
| //++======================================================================= | ||||
| // | ||||
| // DllCanUnloadNow | ||||
| // | ||||
| // Synopsis | ||||
| // | ||||
| // | ||||
| STDAPI | ||||
| DllCanUnloadNow() | ||||
| // | ||||
| // Input Arguments | ||||
| // | ||||
| // Ouput Arguments | ||||
| // | ||||
| // Return Value | ||||
| //    S_OK    The DLL can be unloaded. | ||||
| //    S_FALSE The DLL cannot be unloaded now. | ||||
| // | ||||
| // Description | ||||
| //    An Exported Function. | ||||
| //    DLLs that support the OLE Component Object Model (COM) should implement | ||||
| //    and export DllCanUnloadNow. | ||||
| //    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 | ||||
| //    managing  any existing objects (the reference count on all of its objects | ||||
| //    is 0). | ||||
| //    DllCanUnloadNow returns S_FALSE if there are any existing references to | ||||
| //    objects that the DLL manages. | ||||
| // | ||||
| // Environment | ||||
| // | ||||
| // See Also | ||||
| // | ||||
| //=======================================================================-- | ||||
| { | ||||
|    // tbd | ||||
|    return ((g_ulCount == 0 && g_ulLock == 0) ? S_OK : S_FALSE); | ||||
| } | ||||
|  | ||||
| //========================================================================= | ||||
| //========================================================================= | ||||
|  | ||||
|   | ||||
| @@ -15,44 +15,44 @@ | ||||
|     { | ||||
|         "Entry" | ||||
|         { | ||||
|         "MsmKey" = "8:_0505C87EECE146AF8F0A3C894F185425" | ||||
|         "MsmKey" = "8:_4744A4EB6B904673B8897294AB8C6162" | ||||
|         "OwnerKey" = "8:_UNDEFINED" | ||||
|         "MsmSig" = "8:_UNDEFINED" | ||||
|         } | ||||
|         "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" | ||||
|         "OwnerKey" = "8:_UNDEFINED" | ||||
|         "MsmSig" = "8:_UNDEFINED" | ||||
|         } | ||||
|         "Entry" | ||||
|         { | ||||
|         "MsmKey" = "8:_92336612AC7D083F97ED302BB7674A2D" | ||||
|         "OwnerKey" = "8:_0505C87EECE146AF8F0A3C894F185425" | ||||
|         "MsmKey" = "8:_50C15B4896B94AAD8CF7A676F541BD89" | ||||
|         "OwnerKey" = "8:_UNDEFINED" | ||||
|         "MsmSig" = "8:_UNDEFINED" | ||||
|         } | ||||
|         "Entry" | ||||
|         { | ||||
|         "MsmKey" = "8:_92336612AC7D083F97ED302BB7674A2D" | ||||
|         "OwnerKey" = "8:_1F1797B2A5414369AA88069D5E88BC5F" | ||||
|         "MsmKey" = "8:_71C343EBC4935F8914C3145115EDEC4A" | ||||
|         "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" | ||||
|         } | ||||
|         "Entry" | ||||
| @@ -63,8 +63,8 @@ | ||||
|         } | ||||
|         "Entry" | ||||
|         { | ||||
|         "MsmKey" = "8:_E35F46E021184676375C6223ED1BDFCF" | ||||
|         "OwnerKey" = "8:_0505C87EECE146AF8F0A3C894F185425" | ||||
|         "MsmKey" = "8:_C1C37E2154994C29B02FDD9C90635B26" | ||||
|         "OwnerKey" = "8:_UNDEFINED" | ||||
|         "MsmSig" = "8:_UNDEFINED" | ||||
|         } | ||||
|         "Entry" | ||||
| @@ -73,6 +73,18 @@ | ||||
|         "OwnerKey" = "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" | ||||
|     { | ||||
| @@ -144,26 +156,6 @@ | ||||
|         } | ||||
|         "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" | ||||
|             { | ||||
|             "SourcePath" = "8:..\\..\\..\\lib\\client.conf" | ||||
| @@ -184,12 +176,32 @@ | ||||
|             "IsDependency" = "11:FALSE" | ||||
|             "IsolateTo" = "8:" | ||||
|             } | ||||
|             "{1FB2D0AE-D3B9-43D4-B9DD-F88EC61E35DE}:_92336612AC7D083F97ED302BB7674A2D" | ||||
|             "{1FB2D0AE-D3B9-43D4-B9DD-F88EC61E35DE}:_71C343EBC4935F8914C3145115EDEC4A" | ||||
|             { | ||||
|             "SourcePath" = "8:micasa.dll" | ||||
|             "TargetName" = "8:micasa.dll" | ||||
|             "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:" | ||||
|             "Transitive" = "11:FALSE" | ||||
|             "Vital" = "11:TRUE" | ||||
| @@ -224,26 +236,6 @@ | ||||
|             "IsDependency" = "11:FALSE" | ||||
|             "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" | ||||
|             { | ||||
|             "SourcePath" = "8:..\\..\\..\\lib\\mechanisms\\pwd\\windows\\PwdAuthenticate.conf" | ||||
| @@ -264,6 +256,26 @@ | ||||
|             "IsDependency" = "11:FALSE" | ||||
|             "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" | ||||
|         { | ||||
| @@ -419,12 +431,12 @@ | ||||
|         } | ||||
|         "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:" | ||||
|             "Tag" = "8:" | ||||
|             "Folder" = "8:_F5F5F604B81645F8B6463F7A7D6A53AD" | ||||
|             "Folder" = "8:_8E0BBDD021EA45308BD98380F28EB7F6" | ||||
|             "Condition" = "8:" | ||||
|             "Transitive" = "11:FALSE" | ||||
|             "Vital" = "11:TRUE" | ||||
| @@ -441,46 +453,18 @@ | ||||
|             "ProjectOutputGroupRegister" = "3:1" | ||||
|             "OutputConfiguration" = "8:" | ||||
|             "OutputGroupCanonicalName" = "8:Built" | ||||
|             "OutputProjectGuid" = "8:{7BD9A5DB-DE7D-40B7-A397-04182DC2F632}" | ||||
|             "ShowKeyOutput" = "11:FALSE" | ||||
|             "OutputProjectGuid" = "8:{1BA1FC97-5AF1-4506-A7FD-EBFD46D361A0}" | ||||
|             "ShowKeyOutput" = "11:TRUE" | ||||
|                 "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:" | ||||
|             "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: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" | ||||
|             "Folder" = "8:_01897726E7804A3B875B67A1C2692147" | ||||
|             "Condition" = "8:" | ||||
|             "Transitive" = "11:FALSE" | ||||
|             "Vital" = "11:TRUE" | ||||
| @@ -498,7 +482,63 @@ | ||||
|             "OutputConfiguration" = "8:" | ||||
|             "OutputGroupCanonicalName" = "8:Built" | ||||
|             "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" | ||||
|                 { | ||||
|                 } | ||||
|   | ||||
| @@ -13,12 +13,42 @@ | ||||
| "SccProvider" = "8:" | ||||
|     "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" | ||||
|         { | ||||
|         "MsmKey" = "8:_FD0A8D57CFD64B5CADAF19B3B9BCB7B8" | ||||
|         "OwnerKey" = "8:_UNDEFINED" | ||||
|         "MsmSig" = "8:_UNDEFINED" | ||||
|         } | ||||
|         "Entry" | ||||
|         { | ||||
|         "MsmKey" = "8:_UNDEFINED" | ||||
|         "OwnerKey" = "8:_6C3DD45AD8C1483F86D675A90FED869A" | ||||
|         "MsmSig" = "8:_UNDEFINED" | ||||
|         } | ||||
|     } | ||||
|     "Configurations" | ||||
|     { | ||||
| @@ -112,16 +142,139 @@ | ||||
|         { | ||||
|             "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" | ||||
|         { | ||||
|             "{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" | ||||
|         { | ||||
|         } | ||||
|         "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" | ||||
|             { | ||||
|             "Name" = "8:#1919" | ||||
| @@ -690,6 +843,34 @@ | ||||
|         } | ||||
|         "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" | ||||
|             { | ||||
|             "SourcePath" = "8:..\\authtokenclientdevel_msm\\Debug\\authtokenclientdevel-msm.msm" | ||||
|   | ||||
		Reference in New Issue
	
	Block a user