b9fa3eab0c
1. Provided SetATSHostList() API for changing the ATS address dynamically 2. Not using CASA enabled server as ATS. ATS address has to be explicitly set in client.conf or through SetATSHostList() 3. Not normalizing CASA enabled server's host name while obtaining CASA tokens. Callers of ObtainAuthTokenEx() have to pass normalized name as argument
134 lines
4.3 KiB
C
134 lines
4.3 KiB
C
/***********************************************************************
|
|
*
|
|
* 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.
|
|
//=======================================================================--
|
|
|
|
|
|
//++=======================================================================
|
|
extern void SSCS_CALL
|
|
CleanUpAuthTokenCache(void);
|
|
//
|
|
// Arguments: None.
|
|
//
|
|
// Returns:
|
|
// Nothing
|
|
//
|
|
// Description:
|
|
// Flush the AuthToken cache.
|
|
//=======================================================================--
|
|
|
|
//++=======================================================================
|
|
extern CasaStatus SSCS_CALL
|
|
SetATSHostList(
|
|
IN const char * const ATSHostList[]);
|
|
//
|
|
// Arguments:
|
|
// ATSHostList -
|
|
// Pointer to NULL terminated array of ATS servers of form <server>:<port>
|
|
//
|
|
// Returns:
|
|
// Casa Status
|
|
//
|
|
// Description:
|
|
// Set the list of ATS servers contacted. Can be used to override the
|
|
// 'ATSHostList' parameter in client.conf.
|
|
//=======================================================================--
|
|
|
|
|
|
#if defined(__cplusplus) || defined(c_plusplus)
|
|
}
|
|
#endif // #if defined(__cplusplus) || defined(c_plusplus)
|
|
|
|
#endif // #ifndef _CASA_C_AUTHTOKEN_H_
|
|
|