Moved files casa_c_authtoken.h and casa_s_authtoken.h into this folder
since it does not make sense for them to be under the CASA include folder after the re-structure.
This commit is contained in:
		
							
								
								
									
										102
									
								
								CASA-auth-token/include/casa_c_authtoken.h
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										102
									
								
								CASA-auth-token/include/casa_c_authtoken.h
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,102 @@ | |||||||
|  | /*********************************************************************** | ||||||
|  |  *  | ||||||
|  |  *  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> | ||||||
|  |  * | ||||||
|  |  ***********************************************************************/ | ||||||
|  |  | ||||||
|  | #ifndef _CASA_C_AUTHTOKEN_H_ | ||||||
|  | #define _CASA_C_AUTHTOKEN_H_ | ||||||
|  |  | ||||||
|  | #if defined(__cplusplus) || defined(c_plusplus) | ||||||
|  | extern "C"  | ||||||
|  | { | ||||||
|  | #endif | ||||||
|  |  | ||||||
|  | //===[ Include files ]===================================================== | ||||||
|  |  | ||||||
|  | #include <micasa_types.h> | ||||||
|  | #include <casa_status.h> | ||||||
|  |  | ||||||
|  | //===[ Type definitions ]================================================== | ||||||
|  |  | ||||||
|  | #ifndef SSCS_CALL | ||||||
|  | #if defined(WIN32) | ||||||
|  | #define SSCS_CALL __stdcall | ||||||
|  | #else | ||||||
|  | #define SSCS_CALL | ||||||
|  | #endif | ||||||
|  | #endif | ||||||
|  |  | ||||||
|  | //===[ Function prototypes ]=============================================== | ||||||
|  |  | ||||||
|  | //===[ Global variables ]================================================== | ||||||
|  |  | ||||||
|  |  | ||||||
|  | //++======================================================================= | ||||||
|  | extern CasaStatus SSCS_CALL | ||||||
|  | ObtainAuthToken( | ||||||
|  |    IN    const char *pServiceName, | ||||||
|  |    IN    const char *pHostName, | ||||||
|  |    INOUT char *pAuthTokenBuf, | ||||||
|  |    INOUT int *pAuthTokenBufLen); | ||||||
|  | // | ||||||
|  | //  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. | ||||||
|  | //    | ||||||
|  | // Returns: | ||||||
|  | //    Casa Status | ||||||
|  | //                            | ||||||
|  | // Description: | ||||||
|  | //    Get authentication token to authenticate user to specified | ||||||
|  | //    service at host. | ||||||
|  | //=======================================================================-- | ||||||
|  |  | ||||||
|  |  | ||||||
|  | #if defined(__cplusplus) || defined(c_plusplus) | ||||||
|  | } | ||||||
|  | #endif // #if defined(__cplusplus) || defined(c_plusplus) | ||||||
|  |  | ||||||
|  | #endif // #ifndef _CASA_C_AUTHTOKEN_H_ | ||||||
|  |  | ||||||
							
								
								
									
										305
									
								
								CASA-auth-token/include/casa_s_authtoken.h
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										305
									
								
								CASA-auth-token/include/casa_s_authtoken.h
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,305 @@ | |||||||
|  | /*********************************************************************** | ||||||
|  |  *  | ||||||
|  |  *  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> | ||||||
|  |  * | ||||||
|  |  ***********************************************************************/ | ||||||
|  |  | ||||||
|  | #ifndef _CASA_S_AUTHTOKEN_H_ | ||||||
|  | #define _CASA_S_AUTHTOKEN_H_ | ||||||
|  |  | ||||||
|  | #if defined(__cplusplus) || defined(c_plusplus) | ||||||
|  | extern "C"  | ||||||
|  | { | ||||||
|  | #endif | ||||||
|  |  | ||||||
|  | //===[ Include files ]===================================================== | ||||||
|  |  | ||||||
|  | #include <micasa_types.h> | ||||||
|  | #include <casa_status.h> | ||||||
|  |  | ||||||
|  | //===[ Type definitions ]================================================== | ||||||
|  |  | ||||||
|  | #ifndef SSCS_CALL | ||||||
|  | #if defined(WIN32) | ||||||
|  | #define SSCS_CALL __stdcall | ||||||
|  | #else | ||||||
|  | #define SSCS_CALL | ||||||
|  | #endif | ||||||
|  | #endif | ||||||
|  |  | ||||||
|  | //===[ Function prototypes ]=============================================== | ||||||
|  |  | ||||||
|  | //===[ Global variables ]================================================== | ||||||
|  |  | ||||||
|  |  | ||||||
|  | /************************************************************************** | ||||||
|  | *************************************************************************** | ||||||
|  | **                                                                       ** | ||||||
|  | **    Principal Interface Definition                                     ** | ||||||
|  | **                                                                       ** | ||||||
|  | *************************************************************************** | ||||||
|  | **************************************************************************/ | ||||||
|  |  | ||||||
|  |  | ||||||
|  | //++======================================================================= | ||||||
|  | typedef | ||||||
|  | int        | ||||||
|  | (SSCS_CALL *PFNPrincipalIf_AddReference)( | ||||||
|  |    IN       const void  *pIfInstance); | ||||||
|  | // | ||||||
|  | // Arguments:   | ||||||
|  | //    pIfInstance - | ||||||
|  | //       Pointer to interface object. | ||||||
|  | //    | ||||||
|  | // Returns: | ||||||
|  | //    Interface reference count. | ||||||
|  | //                            | ||||||
|  | // Description: | ||||||
|  | //    Increases interface reference count. | ||||||
|  | //=======================================================================-- | ||||||
|  |  | ||||||
|  |  | ||||||
|  | //++======================================================================= | ||||||
|  | typedef | ||||||
|  | void        | ||||||
|  | (SSCS_CALL *PFNPrincipalIf_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. | ||||||
|  | //=======================================================================-- | ||||||
|  |  | ||||||
|  |  | ||||||
|  | //++======================================================================= | ||||||
|  | typedef | ||||||
|  | CasaStatus  | ||||||
|  | (SSCS_CALL *PFNPrincipalIf_GetIdentityId)( | ||||||
|  |    IN       const void  *pIfInstance, | ||||||
|  |    INOUT    char        *pIdentIdBuf, | ||||||
|  |    INOUT    int         *pIdentIdLen); | ||||||
|  | // | ||||||
|  | // Arguments:   | ||||||
|  | //    pIfInstance - | ||||||
|  | //       Pointer to interface object. | ||||||
|  | //    | ||||||
|  | //    pIdentIdBuf - | ||||||
|  | //       Pointer to buffer that will receive the identity id. The returned | ||||||
|  | //       id will be in the form of a NULL terminated string. | ||||||
|  | // | ||||||
|  | //    pIdentIdBufLen - | ||||||
|  | //       Pointer to variable with the length of the buffer pointed by | ||||||
|  | //       pIdentIdBuf. On exit it contains the length of the returned id | ||||||
|  | //       (including the NULL terminator). | ||||||
|  | // | ||||||
|  | //    | ||||||
|  | // Returns: | ||||||
|  | //    Casa Status | ||||||
|  | //                            | ||||||
|  | // Description: | ||||||
|  | //    Get the identity id associated with the identity token. | ||||||
|  | //=======================================================================-- | ||||||
|  |  | ||||||
|  |  | ||||||
|  | //++======================================================================= | ||||||
|  | typedef | ||||||
|  | CasaStatus  | ||||||
|  | (SSCS_CALL *PFNPrincipalIf_GetSourceName)( | ||||||
|  |    IN       const void  *pIfInstance, | ||||||
|  |    INOUT    char        *pSourceNameBuf, | ||||||
|  |    INOUT    int         *pSourceNameLen); | ||||||
|  | // | ||||||
|  | // Arguments:   | ||||||
|  | //    pIfInstance - | ||||||
|  | //       Pointer to interface object. | ||||||
|  | //    | ||||||
|  | //    pSourceNameBuf - | ||||||
|  | //       Pointer to buffer that will receive the name associated with the | ||||||
|  | //       identity information source. The returned name will be in the form | ||||||
|  | //       of a NULL terminated string. | ||||||
|  | // | ||||||
|  | //    pSourceNameBufLen - | ||||||
|  | //       Pointer to variable with the length of the buffer pointed by | ||||||
|  | //       pSourceNameBuf. On exit it contains the length of the returned | ||||||
|  | //       name (including the NULL terminator). | ||||||
|  | // | ||||||
|  | //    | ||||||
|  | // Returns: | ||||||
|  | //    Casa Status | ||||||
|  | //                            | ||||||
|  | // Description: | ||||||
|  | //    Get the name of the identity source associated with the identity token. | ||||||
|  | //=======================================================================-- | ||||||
|  |  | ||||||
|  |  | ||||||
|  | //++======================================================================= | ||||||
|  | typedef | ||||||
|  | CasaStatus  | ||||||
|  | (SSCS_CALL *PFNPrincipalIf_GetSourceUrl)( | ||||||
|  |    IN       const void  *pIfInstance, | ||||||
|  |    INOUT    char        *pSourceUrlBuf, | ||||||
|  |    INOUT    int         *pSourceUrlLen); | ||||||
|  | // | ||||||
|  | // Arguments:   | ||||||
|  | //    pIfInstance - | ||||||
|  | //       Pointer to interface object. | ||||||
|  | //    | ||||||
|  | //    pSourceUrlBuf - | ||||||
|  | //       Pointer to buffer that will receive the URL associated with the | ||||||
|  | //       identity information source. The returned URL will be in the form | ||||||
|  | //       of a NULL terminated string. | ||||||
|  | // | ||||||
|  | //    pSourceUrlBufLen - | ||||||
|  | //       Pointer to variable with the length of the buffer pointed by | ||||||
|  | //       pSourceUrlBuf. On exit it contains the length of the returned | ||||||
|  | //       URL (including the NULL terminator). | ||||||
|  | // | ||||||
|  | //    | ||||||
|  | // Returns: | ||||||
|  | //    Casa Status | ||||||
|  | //                            | ||||||
|  | // Description: | ||||||
|  | //    Get the URL to the identity source associated with the identity token. | ||||||
|  | //=======================================================================-- | ||||||
|  |  | ||||||
|  |  | ||||||
|  | //++======================================================================= | ||||||
|  | typedef | ||||||
|  | CasaStatus  | ||||||
|  | (SSCS_CALL *PFNPrincipalIf_AttributeEnumerate)( | ||||||
|  |    IN       const void  *pIfInstance, | ||||||
|  |    INOUT    int         *pEnumHandle,        | ||||||
|  |    INOUT    char        *pAttribNameBuf, | ||||||
|  |    INOUT    int         *pAttribNameLen, | ||||||
|  |    INOUT    char        *pAttribValueBuf, | ||||||
|  |    INOUT    int         *pAttribValueLen); | ||||||
|  | // | ||||||
|  | // Arguments:   | ||||||
|  | //    pIfInstance - | ||||||
|  | //       Pointer to interface object. | ||||||
|  | //    | ||||||
|  | //    pEnumHandle - | ||||||
|  | //       Pointer to enumeration handle. Must be set to 0 to start an | ||||||
|  | //       enumeration. Note the enumeration handle advances if the | ||||||
|  | //       function returns success. | ||||||
|  | // | ||||||
|  | //    pAttribNameBuf - | ||||||
|  | //       Pointer to buffer that will receive the identity attribute name. The | ||||||
|  | //       returned name will be in the form of a NULL terminated string. | ||||||
|  | // | ||||||
|  | //    pAttribNameLen - | ||||||
|  | //       Pointer to variable with the length of the buffer pointed by | ||||||
|  | //       pAttribNameBuf. On exit it contains the length of the returned | ||||||
|  | //       name (including the NULL terminator). | ||||||
|  | // | ||||||
|  | //    pAttribValueBuf - | ||||||
|  | //       Pointer to buffer that will receive the identity attribute value. The | ||||||
|  | //       returned value will be in the form of a NULL terminated string. | ||||||
|  | // | ||||||
|  | //    pAttribValueLen - | ||||||
|  | //       Pointer to variable with the length of the buffer pointed by | ||||||
|  | //       pAttribValueBuf. On exit it contains the length of the returned | ||||||
|  | //       value (including the NULL terminator). | ||||||
|  | // | ||||||
|  | //    | ||||||
|  | // Returns: | ||||||
|  | //    Casa Status | ||||||
|  | //                            | ||||||
|  | // Description: | ||||||
|  | //    Enumerates through the attributes associated with the identity token. | ||||||
|  | //=======================================================================-- | ||||||
|  |  | ||||||
|  |  | ||||||
|  | // | ||||||
|  | // Principal Interface Object | ||||||
|  | //  | ||||||
|  | typedef struct _PrincipalIf | ||||||
|  | { | ||||||
|  |    PFNPrincipalIf_AddReference         addReference; | ||||||
|  |    PFNPrincipalIf_ReleaseReference     releaseReference; | ||||||
|  |    PFNPrincipalIf_GetIdentityId        getIdentityId; | ||||||
|  |    PFNPrincipalIf_GetSourceName        getSourceName; | ||||||
|  |    PFNPrincipalIf_GetSourceUrl         getSourceUrl; | ||||||
|  |    PFNPrincipalIf_AttributeEnumerate   attributeEnumerate; | ||||||
|  |  | ||||||
|  | } PrincipalIf, *PPrincipalIf; | ||||||
|  |  | ||||||
|  |  | ||||||
|  | /************************************************************************** | ||||||
|  | *************************************************************************** | ||||||
|  | **                                                                       ** | ||||||
|  | **    Validate Authentication Token API                                 ** | ||||||
|  | **                                                                       ** | ||||||
|  | *************************************************************************** | ||||||
|  | **************************************************************************/ | ||||||
|  |  | ||||||
|  |  | ||||||
|  | //++======================================================================= | ||||||
|  | extern CasaStatus SSCS_CALL | ||||||
|  | ValidateAuthToken( | ||||||
|  |    IN       const char  *pServiceName, | ||||||
|  |    IN       const char  *pTokenBuf, | ||||||
|  |    IN       const int   tokenBufLen, | ||||||
|  |    INOUT    PrincipalIf **ppPrincipalIf); | ||||||
|  | // | ||||||
|  | // Arguments:   | ||||||
|  | //    pServiceName - | ||||||
|  | //       Pointer to NULL terminated string that contains the | ||||||
|  | //       name of the service targeted by the token. | ||||||
|  | //                | ||||||
|  | //    pTokenBuf - | ||||||
|  | //       Pointer to buffer that will receive the authentication | ||||||
|  | //       token. The length of this buffer is specified by the | ||||||
|  | //       pTokenBufLen parameter. Note that the the authentication | ||||||
|  | //       token will be in the form of a NULL terminated string. | ||||||
|  | // | ||||||
|  | //    tokenBufLen - | ||||||
|  | //       Length of the data contained within the buffer pointed | ||||||
|  | //       at by pTokenBuf. | ||||||
|  | //    | ||||||
|  | //    ppPrincipalIf - | ||||||
|  | //       Pointer to variable that will receive a pointer to a principal | ||||||
|  | //       interface with information about the authenticated entity. | ||||||
|  | //       IMPORTANT NOTE: The caller is responsible for releasing the | ||||||
|  | //       interface after it is done with it to avoid a resource leak. | ||||||
|  | //    | ||||||
|  | // Returns: | ||||||
|  | //    Casa status. | ||||||
|  | //                            | ||||||
|  | // Description: | ||||||
|  | //    Validates authentication token. | ||||||
|  | // | ||||||
|  | //=======================================================================-- | ||||||
|  |  | ||||||
|  |  | ||||||
|  | #if defined(__cplusplus) || defined(c_plusplus) | ||||||
|  | } | ||||||
|  | #endif // #if defined(__cplusplus) || defined(c_plusplus) | ||||||
|  |  | ||||||
|  | #endif // #ifndef _CASA_S_AUTHTOKEN_H_ | ||||||
|  |  | ||||||
		Reference in New Issue
	
	Block a user