summaryrefslogtreecommitdiffstats
path: root/src/lib/ccapi/include/CredentialsCache.h
diff options
context:
space:
mode:
authorSam Hartman <hartmans@mit.edu>2006-10-21 20:20:30 +0000
committerSam Hartman <hartmans@mit.edu>2006-10-21 20:20:30 +0000
commitfaa68ad5ae7d1504b8be9e8a7bedb0b6e533d3cd (patch)
tree314105a642beca7c1117bd24b069719e37ac3b35 /src/lib/ccapi/include/CredentialsCache.h
parentc1c08a16cde35a876a8c7fd36470cc7a1f2536c3 (diff)
downloadkrb5-faa68ad5ae7d1504b8be9e8a7bedb0b6e533d3cd.tar.gz
krb5-faa68ad5ae7d1504b8be9e8a7bedb0b6e533d3cd.tar.xz
krb5-faa68ad5ae7d1504b8be9e8a7bedb0b6e533d3cd.zip
Delete src/lib/ccapi.
The ccapi shipped in 1.6 will not be based off this code and will live in src/ccapi. It will be copied onto the trunk and branch when ready, but this code is being removed before the branch cut. git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@18731 dc483132-0cff-0310-8789-dd5450dbe970
Diffstat (limited to 'src/lib/ccapi/include/CredentialsCache.h')
-rw-r--r--src/lib/ccapi/include/CredentialsCache.h584
1 files changed, 0 insertions, 584 deletions
diff --git a/src/lib/ccapi/include/CredentialsCache.h b/src/lib/ccapi/include/CredentialsCache.h
deleted file mode 100644
index aa800bd2f..000000000
--- a/src/lib/ccapi/include/CredentialsCache.h
+++ /dev/null
@@ -1,584 +0,0 @@
-/* $Copyright:
- *
- * Copyright 1998-2006 by the Massachusetts Institute of Technology.
- *
- * All rights reserved.
- *
- * Export of this software from the United States of America may require a
- * specific license from the United States Government. It is the
- * responsibility of any person or organization contemplating export to
- * obtain such a license before exporting.
- *
- * WITHIN THAT CONSTRAINT, permission to use, copy, modify, and distribute
- * this software and its documentation for any purpose and without fee is
- * hereby granted, provided that the above copyright notice appear in all
- * copies and that both that copyright notice and this permission notice
- * appear in supporting documentation, and that the name of M.I.T. not be
- * used in advertising or publicity pertaining to distribution of the
- * software without specific, written prior permission. Furthermore if you
- * modify this software you must label your software as modified software
- * and not distribute it in such a fashion that it might be confused with
- * the original MIT software. M.I.T. makes no representations about the
- * suitability of this software for any purpose. It is provided "as is"
- * without express or implied warranty.
- *
- * THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR IMPLIED
- * WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED WARRANTIES OF
- * MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE.
- *
- * Individual source code files are copyright MIT, Cygnus Support,
- * OpenVision, Oracle, Sun Soft, FundsXpress, and others.
- *
- * Project Athena, Athena, Athena MUSE, Discuss, Hesiod, Kerberos, Moira,
- * and Zephyr are trademarks of the Massachusetts Institute of Technology
- * (MIT). No commercial use of these trademarks may be made without prior
- * written permission of MIT.
- *
- * "Commercial use" means use of a name in a product or other for-profit
- * manner. It does NOT prevent a commercial firm from referring to the MIT
- * trademarks in order to convey information (although in doing so,
- * recognition of their trademark status should be given).
- * $
- */
-
-/* $Header$ */
-
-/*
- * Declarations for Credentials Cache API Library
- *
- * API specification: <http://web.mit.edu/pismere/kerberos/ccache-api-v3.html>
- *
- * Revision 1: Frank Dabek, 6/4/1998
- * Revision 2: meeroh, 2/24/1999
- * Revision 3: meeroh, 11/12/1999
- * Revision 6: jaltman, 10/27/2004
- *
- */
-
-#ifndef __CREDENTIALSCACHE__
-#define __CREDENTIALSCACHE__
-
-#if defined(macintosh) || (defined(__MACH__) && defined(__APPLE__))
-#include <TargetConditionals.h>
-#endif
-
-#if defined(_WIN32)
-#include <winsock.h>
-#endif
-
-#ifdef __cplusplus
-extern "C" {
-#endif /* __cplusplus */
-
-#if TARGET_OS_MAC
-#pragma pack(push,2)
-#endif
-
-#if defined(_WIN32)
-#define CCACHE_API __declspec(dllexport)
-
-#if _INTEGRAL_MAX_BITS >= 64 && _MSC_VER >= 1400 && !defined(_WIN64) && !defined(_USE_32BIT_TIME_T)
-#if defined(_TIME_T_DEFINED) || defined(_INC_IO) || defined(_INC_TIME) || defined(_INC_WCHAR)
-#error time_t has been defined as a 64-bit integer which is incompatible with Kerberos on this platform.
-#endif /* _TIME_T_DEFINED */
-#define _USE_32BIT_TIME_T
-#endif
-#else
-#define CCACHE_API
-#endif
-
-#include <time.h>
-
-/*
- * Constants
- */
-
-/* API versions */
-enum {
- ccapi_version_2 = 2,
- ccapi_version_3 = 3,
- ccapi_version_4 = 4,
- ccapi_version_5 = 5,
- ccapi_version_6 = 6,
- ccapi_version_max = ccapi_version_6
-};
-
-/* Errors */
-enum {
- ccNoError = 0,
-
- ccIteratorEnd = 201,
- ccErrBadParam,
- ccErrNoMem,
- ccErrInvalidContext,
- ccErrInvalidCCache,
-
- ccErrInvalidString, /* 206 */
- ccErrInvalidCredentials,
- ccErrInvalidCCacheIterator,
- ccErrInvalidCredentialsIterator,
- ccErrInvalidLock,
-
- ccErrBadName, /* 211 */
- ccErrBadCredentialsVersion,
- ccErrBadAPIVersion,
- ccErrContextLocked,
- ccErrContextUnlocked,
-
- ccErrCCacheLocked, /* 216 */
- ccErrCCacheUnlocked,
- ccErrBadLockType,
- ccErrNeverDefault,
- ccErrCredentialsNotFound,
-
- ccErrCCacheNotFound, /* 221 */
- ccErrContextNotFound,
- ccErrServerUnavailable,
- ccErrServerInsecure,
- ccErrServerCantBecomeUID,
-
- ccErrTimeOffsetNotSet, /* 226 */
- ccErrBadInternalMessage,
- ccErrNotImplemented
-};
-
-/* Credentials versions */
-enum cc_credential_versions {
- cc_credentials_v4 = 1,
- cc_credentials_v5 = 2,
- cc_credentials_v4_v5 = 3
-};
-
-/* Lock types */
-enum cc_lock_types {
- cc_lock_read = 0,
- cc_lock_write = 1,
- cc_lock_upgrade = 2,
- cc_lock_downgrade = 3
-};
-
-/* Locking Modes */
-enum cc_lock_modes {
- cc_lock_noblock = 0,
- cc_lock_block = 1
-};
-
-/*
- * Basic types
- */
-
-typedef char cc_int8;
-typedef unsigned char cc_uint8;
-typedef int cc_int32;
-typedef unsigned int cc_uint32;
-#if defined (WIN32)
-typedef __int64 cc_int64;
-typedef unsigned __int64 cc_uint64;
-#else
-typedef long long cc_int64;
-typedef unsigned long long cc_uint64;
-#endif
-typedef time_t cc_time;
-typedef cc_int64 cc_time64;
-typedef cc_uint64 cc_handle;
-
-/*
- * API types
- */
-
-/* Forward declarations */
-struct cc_context_f;
-typedef struct cc_context_f cc_context_f;
-
-struct cc_ccache_f;
-typedef struct cc_ccache_f cc_ccache_f;
-
-struct cc_ccache_iterator_f;
-typedef struct cc_ccache_iterator_f cc_ccache_iterator_f;
-
-struct cc_ccache_iterator_f;
-typedef struct cc_credentials_iterator_f cc_credentials_iterator_f;
-
-struct cc_string_f;
-typedef struct cc_string_f cc_string_f;
-
-struct cc_credentials_f;
-typedef struct cc_credentials_f cc_credentials_f;
-
-/* Credentials types */
-
-enum { /* Make sure all of these are multiples of four (for alignment sanity) */
- cc_v4_name_size = 40,
- cc_v4_instance_size = 40,
- cc_v4_realm_size = 40,
- cc_v4_ticket_size = 1254,
- cc_v4_key_size = 8
-};
-
-enum cc_string_to_key_type {
- cc_v4_stk_afs = 0,
- cc_v4_stk_des = 1,
- cc_v4_stk_columbia_special = 2,
- cc_v4_stk_krb5 = 3,
- cc_v4_stk_unknown = 4
-};
-
-struct cc_credentials_v4_t {
- cc_uint32 version;
- char principal [cc_v4_name_size];
- char principal_instance [cc_v4_instance_size];
- char service [cc_v4_name_size];
- char service_instance [cc_v4_instance_size];
- char realm [cc_v4_realm_size];
- unsigned char session_key [cc_v4_key_size];
- cc_int32 kvno;
- cc_int32 string_to_key_type;
- cc_time issue_date;
- cc_int32 lifetime;
- cc_uint32 address;
- cc_int32 ticket_size;
- unsigned char ticket [cc_v4_ticket_size];
-};
-typedef struct cc_credentials_v4_t cc_credentials_v4_t;
-
-struct cc_data {
- cc_uint32 type;
- cc_uint32 length;
- void* data;
-};
-typedef struct cc_data cc_data;
-
-struct cc_credentials_v5_t {
- char* client;
- char* server;
- cc_data keyblock;
- cc_time authtime;
- cc_time starttime;
- cc_time endtime;
- cc_time renew_till;
- cc_uint32 is_skey;
- cc_uint32 ticket_flags;
- cc_data** addresses;
- cc_data ticket;
- cc_data second_ticket;
- cc_data** authdata;
-};
-typedef struct cc_credentials_v5_t cc_credentials_v5_t;
-
-struct cc_credentials_union {
- cc_int32 version;
- union {
- cc_credentials_v4_t* credentials_v4;
- cc_credentials_v5_t* credentials_v5;
- } credentials;
-};
-typedef struct cc_credentials_union cc_credentials_union;
-
-/* Exposed parts */
-
-struct cc_context_d {
- const cc_context_f *functions;
-#if TARGET_OS_MAC
- const cc_context_f *otherFunctions;
-#endif
-};
-typedef struct cc_context_d cc_context_d;
-typedef cc_context_d *cc_context_t;
-
-struct cc_ccache_d {
- const cc_ccache_f *functions;
-#if TARGET_OS_MAC
- const cc_ccache_f *otherFunctions;
-#endif
-};
-typedef struct cc_ccache_d cc_ccache_d;
-typedef cc_ccache_d *cc_ccache_t;
-
-struct cc_ccache_iterator_d {
- const cc_ccache_iterator_f *functions;
-#if TARGET_OS_MAC
- const cc_ccache_iterator_f *otherFunctions;
-#endif
-};
-typedef struct cc_ccache_iterator_d cc_ccache_iterator_d;
-typedef cc_ccache_iterator_d *cc_ccache_iterator_t;
-
-struct cc_credentials_iterator_d {
- const cc_credentials_iterator_f *functions;
-#if TARGET_OS_MAC
- const cc_credentials_iterator_f *otherFunctions;
-#endif
-};
-typedef struct cc_credentials_iterator_d cc_credentials_iterator_d;
-typedef cc_credentials_iterator_d *cc_credentials_iterator_t;
-
-struct cc_string_d {
- const char *data;
- const cc_string_f *functions;
-#if TARGET_OS_MAC
- const cc_string_f *otherFunctions;
-#endif
-};
-typedef struct cc_string_d cc_string_d;
-typedef cc_string_d *cc_string_t;
-
-struct cc_credentials_d {
- const cc_credentials_union *data;
- const cc_credentials_f *functions;
-#if TARGET_OS_MAC
- const cc_credentials_f *otherFunctions;
-#endif
-};
-typedef struct cc_credentials_d cc_credentials_d;
-typedef cc_credentials_d *cc_credentials_t;
-
-/* Function pointer structs */
-
-struct cc_context_f {
- cc_int32 (*release) (cc_context_t in_context);
-
- cc_int32 (*get_change_time) (cc_context_t in_context,
- cc_time *out_time);
-
- cc_int32 (*get_default_ccache_name) (cc_context_t in_context,
- cc_string_t *out_name);
-
- cc_int32 (*open_ccache) (cc_context_t in_context,
- const char *in_name,
- cc_ccache_t *out_ccache);
-
- cc_int32 (*open_default_ccache) (cc_context_t in_context,
- cc_ccache_t *out_ccache);
-
- cc_int32 (*create_ccache) (cc_context_t in_context,
- const char *in_name,
- cc_uint32 in_cred_vers,
- const char *in_principal,
- cc_ccache_t *out_ccache);
-
- cc_int32 (*create_default_ccache) (cc_context_t in_context,
- cc_uint32 in_cred_vers,
- const char *in_principal,
- cc_ccache_t *out_ccache);
-
- cc_int32 (*create_new_ccache) (cc_context_t in_context,
- cc_uint32 in_cred_vers,
- const char *in_principal,
- cc_ccache_t *out_ccache);
-
- cc_int32 (*new_ccache_iterator) (cc_context_t in_context,
- cc_ccache_iterator_t *out_iterator);
-
- cc_int32 (*lock) (cc_context_t in_context,
- cc_uint32 in_lock_type,
- cc_uint32 in_block);
-
- cc_int32 (*unlock) (cc_context_t in_cc_context);
-
- cc_int32 (*compare) (cc_context_t in_cc_context,
- cc_context_t in_compare_to_context,
- cc_uint32 *out_equal);
-};
-
-struct cc_ccache_f {
- cc_int32 (*release) (cc_ccache_t io_ccache);
-
- cc_int32 (*destroy) (cc_ccache_t io_ccache);
-
- cc_int32 (*set_default) (cc_ccache_t io_ccache);
-
- cc_int32 (*get_credentials_version) (cc_ccache_t in_ccache,
- cc_uint32 *in_credentials_version);
-
- cc_int32 (*get_name) (cc_ccache_t in_ccache,
- cc_string_t *out_name);
-
- cc_int32 (*get_principal) (cc_ccache_t in_ccache,
- cc_uint32 in_credentials_version,
- cc_string_t *out_principal);
-
- cc_int32 (*set_principal) (cc_ccache_t io_ccache,
- cc_uint32 in_credentials_version,
- const char *in_principal);
-
- cc_int32 (*store_credentials) (cc_ccache_t io_ccache,
- const cc_credentials_union *in_credentials_union);
-
- cc_int32 (*remove_credentials) (cc_ccache_t io_ccache,
- cc_credentials_t in_credentials);
-
- cc_int32 (*new_credentials_iterator) (cc_ccache_t in_ccache,
- cc_credentials_iterator_t *out_credentials_iterator);
-
- cc_int32 (*move) (cc_ccache_t io_source_ccache,
- cc_ccache_t io_destination_ccache);
-
- cc_int32 (*lock) (cc_ccache_t io_ccache,
- cc_uint32 in_lock_type,
- cc_uint32 in_block);
-
- cc_int32 (*unlock) (cc_ccache_t io_ccache);
-
- cc_int32 (*get_last_default_time) (cc_ccache_t in_ccache,
- cc_time *out_last_default_time);
-
- cc_int32 (*get_change_time) (cc_ccache_t in_ccache,
- cc_time *out_change_time);
-
- cc_int32 (*compare) (cc_ccache_t in_ccache,
- cc_ccache_t in_compare_to_ccache,
- cc_uint32 *out_equal);
-
- cc_int32 (*get_kdc_time_offset) (cc_ccache_t in_ccache,
- cc_int32 in_credentials_version,
- cc_time *out_time_offset);
-
- cc_int32 (*set_kdc_time_offset) (cc_ccache_t io_ccache,
- cc_int32 in_credentials_version,
- cc_time in_time_offset);
-
- cc_int32 (*clear_kdc_time_offset) (cc_ccache_t in_ccache,
- cc_int32 in_credentials_version);
-};
-
-struct cc_string_f {
- cc_int32 (*release) (cc_string_t in_string);
-};
-
-struct cc_credentials_f {
- cc_int32 (*release) (cc_credentials_t io_credentials);
-
- cc_int32 (*compare) (cc_credentials_t in_credentials,
- cc_credentials_t in_compare_to_credentials,
- cc_uint32 *out_equal);
-};
-
-
-struct cc_ccache_iterator_f {
- cc_int32 (*release) (cc_ccache_iterator_t io_ccache_iterator);
-
- cc_int32 (*next) (cc_ccache_iterator_t in_ccache_iterator,
- cc_ccache_t *out_ccache);
-
- cc_int32 (*clone) (cc_ccache_iterator_t in_ccache_iterator,
- cc_ccache_iterator_t *out_ccache_iterator);
-};
-
-struct cc_credentials_iterator_f {
- cc_int32 (*release) (cc_credentials_iterator_t io_credentials_iterator);
-
- cc_int32 (*next) (cc_credentials_iterator_t in_credentials_iterator,
- cc_credentials_t *out_credentials);
-
- cc_int32 (*clone) (cc_credentials_iterator_t in_credentials_iterator,
- cc_credentials_iterator_t *out_credentials_iterator);
-};
-
-/*
- * API functions
- */
-
-CCACHE_API cc_int32 cc_initialize (cc_context_t *out_context,
- cc_int32 in_version,
- cc_int32 *out_supported_version,
- char const **out_vendor);
-
-/*
- * Convenience macros
- */
-
-#define cc_context_release(context) \
- ((context) -> functions -> release (context))
-#define cc_context_get_change_time(context, time) \
- ((context) -> functions -> get_change_time (context, time))
-#define cc_context_get_default_ccache_name(context, name) \
- ((context) -> functions -> get_default_ccache_name (context, name))
-#define cc_context_open_ccache(context, name, ccache) \
- ((context) -> functions -> open_ccache (context, name, ccache))
-#define cc_context_open_default_ccache(context, ccache) \
- ((context) -> functions -> open_default_ccache (context, ccache))
-#define cc_context_create_ccache(context, name, version, principal, ccache) \
- ((context) -> functions -> create_ccache (context, name, version, principal, ccache))
-#define cc_context_create_default_ccache(context, version, principal, ccache) \
- ((context) -> functions -> create_default_ccache (context, version, principal, ccache))
-#define cc_context_create_new_ccache(context, version, principal, ccache) \
- ((context) -> functions -> create_new_ccache (context, version, principal, ccache))
-#define cc_context_new_ccache_iterator(context, iterator) \
- ((context) -> functions -> new_ccache_iterator (context, iterator))
-#define cc_context_lock(context, type, block) \
- ((context) -> functions -> lock (context, type, block))
-#define cc_context_unlock(context) \
- ((context) -> functions -> unlock (context))
-#define cc_context_compare(context, compare_to, equal) \
- ((context) -> functions -> compare (context, compare_to, equal))
-
-#define cc_ccache_release(ccache) \
- ((ccache) -> functions -> release (ccache))
-#define cc_ccache_destroy(ccache) \
- ((ccache) -> functions -> destroy (ccache))
-#define cc_ccache_set_default(ccache) \
- ((ccache) -> functions -> set_default (ccache))
-#define cc_ccache_get_credentials_version(ccache, version) \
- ((ccache) -> functions -> get_credentials_version (ccache, version))
-#define cc_ccache_get_name(ccache, name) \
- ((ccache) -> functions -> get_name (ccache, name))
-#define cc_ccache_get_principal(ccache, version, principal) \
- ((ccache) -> functions -> get_principal (ccache, version, principal))
-#define cc_ccache_set_principal(ccache, version, principal) \
- ((ccache) -> functions -> set_principal (ccache, version, principal))
-#define cc_ccache_store_credentials(ccache, credentials) \
- ((ccache) -> functions -> store_credentials (ccache, credentials))
-#define cc_ccache_remove_credentials(ccache, credentials) \
- ((ccache) -> functions -> remove_credentials (ccache, credentials))
-#define cc_ccache_new_credentials_iterator(ccache, iterator) \
- ((ccache) -> functions -> new_credentials_iterator (ccache, iterator))
-#define cc_ccache_lock(ccache, type, block) \
- ((ccache) -> functions -> lock (ccache, type, block))
-#define cc_ccache_unlock(ccache, unlock) \
- ((ccache) -> functions -> unlock (ccache, unlock))
-#define cc_ccache_get_last_default_time(ccache, time) \
- ((ccache) -> functions -> get_last_default_time (ccache, time))
-#define cc_ccache_get_change_time(ccache, time) \
- ((ccache) -> functions -> get_change_time (ccache, time))
-#define cc_ccache_move(source, destination) \
- ((source) -> functions -> move (source, destination))
-#define cc_ccache_compare(ccache, compare_to, equal) \
- ((ccache) -> functions -> compare (ccache, compare_to, equal))
-#define cc_ccache_get_kdc_time_offset(ccache, version, time) \
- ((ccache) -> functions -> get_kdc_time_offset (version, time))
-#define cc_ccache_set_kdc_time_offset(ccache, version, time) \
- ((ccache) -> functions -> set_kdc_time_offset (version, time))
-#define cc_ccache_clear_kdc_time_offset(ccache, version) \
- ((ccache) -> functions -> clear_kdc_time_offset (version))
-
-#define cc_string_release(string) \
- ((string) -> functions -> release (string))
-
-#define cc_credentials_release(credentials) \
- ((credentials) -> functions -> release (credentials))
-#define cc_credentials_compare(credentials, compare_to, equal) \
- ((credentials) -> functions -> compare (credentials, compare_to, equal))
-
-#define cc_ccache_iterator_release(iterator) \
- ((iterator) -> functions -> release (iterator))
-#define cc_ccache_iterator_next(iterator, ccache) \
- ((iterator) -> functions -> next (iterator, ccache))
-#define cc_ccache_iterator_clone(iterator, new_iter) \
- ((iterator) -> functions -> clone (iterator, new_iter))
-
-#define cc_credentials_iterator_release(iterator) \
- ((iterator) -> functions -> release (iterator))
-#define cc_credentials_iterator_next(iterator, credentials) \
- ((iterator) -> functions -> next (iterator, credentials))
-#define cc_credentials_iterator_clone(iterator, new_iter) \
- ((iterator) -> functions -> clone (iterator, new_iter))
-
-#if TARGET_OS_MAC
-#pragma pack(pop)
-#endif
-
-#ifdef __cplusplus
-}
-#endif /* __cplusplus */
-
-#endif /* __CREDENTIALSCACHE__ */