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:
parent
54078ba524
commit
07507ea74a
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_
|
||||||
|
|
Loading…
Reference in New Issue
Block a user