From 5f56eefcf0017d6c0c574e667f55f827b226b295 Mon Sep 17 00:00:00 2001 From: Robbie Harwood Date: Thu, 4 Apr 2019 14:15:58 -0400 Subject: [PATCH] Remove doxygen-generated HTML output for ccapi (cherry picked from commit d4f90b750d6d81cc001f6b00266c82c1c916bbf4) --- doc/ccapi/Doxyfile | 281 ---- doc/ccapi/ccache-api-v2.html | 1217 --------------- doc/ccapi/html/doxygen.css | 310 ---- doc/ccapi/html/doxygen.png | Bin 1281 -> 0 bytes ...roup__cc__ccache__iterator__reference.html | 96 -- .../html/group__cc__ccache__reference.html | 96 -- .../html/group__cc__context__reference.html | 161 -- ..._cc__credentials__iterator__reference.html | 133 -- .../group__cc__credentials__reference.html | 197 --- .../html/group__cc__string__reference.html | 96 -- .../group__ccapi__constants__reference.html | 407 ----- .../html/group__ccapi__types__reference.html | 138 -- doc/ccapi/html/group__helper__macros.html | 1377 ----------------- doc/ccapi/html/index.html | 85 - doc/ccapi/html/structcc__ccache__d.html | 43 - doc/ccapi/html/structcc__ccache__f.html | 722 --------- .../html/structcc__ccache__iterator__d.html | 43 - .../html/structcc__ccache__iterator__f.html | 117 -- doc/ccapi/html/structcc__context__d.html | 43 - doc/ccapi/html/structcc__context__f.html | 513 ------ doc/ccapi/html/structcc__credentials__d.html | 67 - doc/ccapi/html/structcc__credentials__f.html | 85 - .../structcc__credentials__iterator__d.html | 43 - .../structcc__credentials__iterator__f.html | 85 - .../html/structcc__credentials__union.html | 118 -- .../html/structcc__credentials__v4__t.html | 358 ----- .../html/structcc__credentials__v5__t.html | 334 ---- doc/ccapi/html/structcc__data.html | 94 -- doc/ccapi/html/structcc__string__d.html | 67 - doc/ccapi/html/structcc__string__f.html | 51 - 30 files changed, 7377 deletions(-) delete mode 100644 doc/ccapi/Doxyfile delete mode 100755 doc/ccapi/ccache-api-v2.html delete mode 100644 doc/ccapi/html/doxygen.css delete mode 100644 doc/ccapi/html/doxygen.png delete mode 100644 doc/ccapi/html/group__cc__ccache__iterator__reference.html delete mode 100644 doc/ccapi/html/group__cc__ccache__reference.html delete mode 100644 doc/ccapi/html/group__cc__context__reference.html delete mode 100644 doc/ccapi/html/group__cc__credentials__iterator__reference.html delete mode 100644 doc/ccapi/html/group__cc__credentials__reference.html delete mode 100644 doc/ccapi/html/group__cc__string__reference.html delete mode 100644 doc/ccapi/html/group__ccapi__constants__reference.html delete mode 100644 doc/ccapi/html/group__ccapi__types__reference.html delete mode 100644 doc/ccapi/html/group__helper__macros.html delete mode 100644 doc/ccapi/html/index.html delete mode 100644 doc/ccapi/html/structcc__ccache__d.html delete mode 100644 doc/ccapi/html/structcc__ccache__f.html delete mode 100644 doc/ccapi/html/structcc__ccache__iterator__d.html delete mode 100644 doc/ccapi/html/structcc__ccache__iterator__f.html delete mode 100644 doc/ccapi/html/structcc__context__d.html delete mode 100644 doc/ccapi/html/structcc__context__f.html delete mode 100644 doc/ccapi/html/structcc__credentials__d.html delete mode 100644 doc/ccapi/html/structcc__credentials__f.html delete mode 100644 doc/ccapi/html/structcc__credentials__iterator__d.html delete mode 100644 doc/ccapi/html/structcc__credentials__iterator__f.html delete mode 100644 doc/ccapi/html/structcc__credentials__union.html delete mode 100644 doc/ccapi/html/structcc__credentials__v4__t.html delete mode 100644 doc/ccapi/html/structcc__credentials__v5__t.html delete mode 100644 doc/ccapi/html/structcc__data.html delete mode 100644 doc/ccapi/html/structcc__string__d.html delete mode 100644 doc/ccapi/html/structcc__string__f.html diff --git a/doc/ccapi/Doxyfile b/doc/ccapi/Doxyfile deleted file mode 100644 index 734c29c90..000000000 --- a/doc/ccapi/Doxyfile +++ /dev/null @@ -1,281 +0,0 @@ -# Doxyfile 1.5.3 - -#--------------------------------------------------------------------------- -# Project related configuration options -#--------------------------------------------------------------------------- -DOXYFILE_ENCODING = UTF-8 -PROJECT_NAME = "Credentials Cache API " -PROJECT_NUMBER = -OUTPUT_DIRECTORY = . -CREATE_SUBDIRS = NO -OUTPUT_LANGUAGE = English -BRIEF_MEMBER_DESC = YES -REPEAT_BRIEF = YES -ABBREVIATE_BRIEF = "The $name class " \ - "The $name widget " \ - "The $name file " \ - is \ - provides \ - specifies \ - contains \ - represents \ - a \ - an \ - the -ALWAYS_DETAILED_SEC = YES -INLINE_INHERITED_MEMB = NO -FULL_PATH_NAMES = NO -STRIP_FROM_PATH = -STRIP_FROM_INC_PATH = -SHORT_NAMES = NO -JAVADOC_AUTOBRIEF = NO -QT_AUTOBRIEF = NO -MULTILINE_CPP_IS_BRIEF = NO -DETAILS_AT_TOP = YES -INHERIT_DOCS = YES -SEPARATE_MEMBER_PAGES = NO -TAB_SIZE = 8 -ALIASES = -OPTIMIZE_OUTPUT_FOR_C = YES -OPTIMIZE_OUTPUT_JAVA = NO -BUILTIN_STL_SUPPORT = NO -CPP_CLI_SUPPORT = NO -DISTRIBUTE_GROUP_DOC = NO -SUBGROUPING = YES -#--------------------------------------------------------------------------- -# Build related configuration options -#--------------------------------------------------------------------------- -EXTRACT_ALL = YES -EXTRACT_PRIVATE = NO -EXTRACT_STATIC = NO -EXTRACT_LOCAL_CLASSES = NO -EXTRACT_LOCAL_METHODS = NO -EXTRACT_ANON_NSPACES = NO -HIDE_UNDOC_MEMBERS = NO -HIDE_UNDOC_CLASSES = NO -HIDE_FRIEND_COMPOUNDS = NO -HIDE_IN_BODY_DOCS = YES -INTERNAL_DOCS = NO -CASE_SENSE_NAMES = YES -HIDE_SCOPE_NAMES = YES -SHOW_INCLUDE_FILES = NO -INLINE_INFO = YES -SORT_MEMBER_DOCS = NO -SORT_BRIEF_DOCS = NO -SORT_BY_SCOPE_NAME = NO -GENERATE_TODOLIST = YES -GENERATE_TESTLIST = YES -GENERATE_BUGLIST = YES -GENERATE_DEPRECATEDLIST= YES -ENABLED_SECTIONS = -MAX_INITIALIZER_LINES = 30 -SHOW_USED_FILES = NO -SHOW_DIRECTORIES = NO -FILE_VERSION_FILTER = -#--------------------------------------------------------------------------- -# configuration options related to warning and progress messages -#--------------------------------------------------------------------------- -QUIET = NO -WARNINGS = YES -WARN_IF_UNDOCUMENTED = YES -WARN_IF_DOC_ERROR = YES -WARN_NO_PARAMDOC = YES -WARN_FORMAT = "$file:$line: $text " -WARN_LOGFILE = -#--------------------------------------------------------------------------- -# configuration options related to the input files -#--------------------------------------------------------------------------- -INPUT = ../../Sources/include/CredentialsCache.h -INPUT_ENCODING = UTF-8 -FILE_PATTERNS = *.c \ - *.cc \ - *.cxx \ - *.cpp \ - *.c++ \ - *.d \ - *.java \ - *.ii \ - *.ixx \ - *.ipp \ - *.i++ \ - *.inl \ - *.h \ - *.hh \ - *.hxx \ - *.hpp \ - *.h++ \ - *.idl \ - *.odl \ - *.cs \ - *.php \ - *.php3 \ - *.inc \ - *.m \ - *.mm \ - *.dox \ - *.py \ - *.C \ - *.CC \ - *.C++ \ - *.II \ - *.I++ \ - *.H \ - *.HH \ - *.H++ \ - *.CS \ - *.PHP \ - *.PHP3 \ - *.M \ - *.MM \ - *.PY -RECURSIVE = YES -EXCLUDE = -EXCLUDE_SYMLINKS = NO -EXCLUDE_PATTERNS = -EXCLUDE_SYMBOLS = -EXAMPLE_PATH = -EXAMPLE_PATTERNS = * -EXAMPLE_RECURSIVE = NO -IMAGE_PATH = -INPUT_FILTER = -FILTER_PATTERNS = -FILTER_SOURCE_FILES = NO -#--------------------------------------------------------------------------- -# configuration options related to source browsing -#--------------------------------------------------------------------------- -SOURCE_BROWSER = NO -INLINE_SOURCES = NO -STRIP_CODE_COMMENTS = YES -REFERENCED_BY_RELATION = YES -REFERENCES_RELATION = YES -REFERENCES_LINK_SOURCE = YES -USE_HTAGS = NO -VERBATIM_HEADERS = NO -#--------------------------------------------------------------------------- -# configuration options related to the alphabetical class index -#--------------------------------------------------------------------------- -ALPHABETICAL_INDEX = NO -COLS_IN_ALPHA_INDEX = 5 -IGNORE_PREFIX = -#--------------------------------------------------------------------------- -# configuration options related to the HTML output -#--------------------------------------------------------------------------- -GENERATE_HTML = YES -HTML_OUTPUT = html -HTML_FILE_EXTENSION = .html -HTML_HEADER = -HTML_FOOTER = -HTML_STYLESHEET = -HTML_ALIGN_MEMBERS = NO -GENERATE_HTMLHELP = NO -HTML_DYNAMIC_SECTIONS = NO -CHM_FILE = -HHC_LOCATION = -GENERATE_CHI = NO -BINARY_TOC = NO -TOC_EXPAND = NO -DISABLE_INDEX = YES -ENUM_VALUES_PER_LINE = 4 -GENERATE_TREEVIEW = NO -TREEVIEW_WIDTH = 250 -#--------------------------------------------------------------------------- -# configuration options related to the LaTeX output -#--------------------------------------------------------------------------- -GENERATE_LATEX = NO -LATEX_OUTPUT = latex -LATEX_CMD_NAME = latex -MAKEINDEX_CMD_NAME = makeindex -COMPACT_LATEX = NO -PAPER_TYPE = letter -EXTRA_PACKAGES = -LATEX_HEADER = -PDF_HYPERLINKS = YES -USE_PDFLATEX = YES -LATEX_BATCHMODE = NO -LATEX_HIDE_INDICES = NO -#--------------------------------------------------------------------------- -# configuration options related to the RTF output -#--------------------------------------------------------------------------- -GENERATE_RTF = YES -RTF_OUTPUT = rtf -COMPACT_RTF = YES -RTF_HYPERLINKS = YES -RTF_STYLESHEET_FILE = -RTF_EXTENSIONS_FILE = -#--------------------------------------------------------------------------- -# configuration options related to the man page output -#--------------------------------------------------------------------------- -GENERATE_MAN = NO -MAN_OUTPUT = man -MAN_EXTENSION = .3 -MAN_LINKS = NO -#--------------------------------------------------------------------------- -# configuration options related to the XML output -#--------------------------------------------------------------------------- -GENERATE_XML = NO -XML_OUTPUT = xml -XML_SCHEMA = -XML_DTD = -XML_PROGRAMLISTING = YES -#--------------------------------------------------------------------------- -# configuration options for the AutoGen Definitions output -#--------------------------------------------------------------------------- -GENERATE_AUTOGEN_DEF = NO -#--------------------------------------------------------------------------- -# configuration options related to the Perl module output -#--------------------------------------------------------------------------- -GENERATE_PERLMOD = NO -PERLMOD_LATEX = NO -PERLMOD_PRETTY = YES -PERLMOD_MAKEVAR_PREFIX = -#--------------------------------------------------------------------------- -# Configuration options related to the preprocessor -#--------------------------------------------------------------------------- -ENABLE_PREPROCESSING = YES -MACRO_EXPANSION = NO -EXPAND_ONLY_PREDEF = NO -SEARCH_INCLUDES = NO -INCLUDE_PATH = -INCLUDE_FILE_PATTERNS = -PREDEFINED = -EXPAND_AS_DEFINED = -SKIP_FUNCTION_MACROS = YES -#--------------------------------------------------------------------------- -# Configuration::additions related to external references -#--------------------------------------------------------------------------- -TAGFILES = -GENERATE_TAGFILE = -ALLEXTERNALS = NO -EXTERNAL_GROUPS = NO -PERL_PATH = /usr/bin/perl -#--------------------------------------------------------------------------- -# Configuration options related to the dot tool -#--------------------------------------------------------------------------- -CLASS_DIAGRAMS = NO -MSCGEN_PATH = /Volumes/Ragna-Blade/Developer/Doxygen/Doxygen.app/Contents/Resources/ -HIDE_UNDOC_RELATIONS = YES -HAVE_DOT = NO -CLASS_GRAPH = YES -COLLABORATION_GRAPH = YES -GROUP_GRAPHS = YES -UML_LOOK = NO -TEMPLATE_RELATIONS = NO -INCLUDE_GRAPH = YES -INCLUDED_BY_GRAPH = YES -CALL_GRAPH = NO -CALLER_GRAPH = NO -GRAPHICAL_HIERARCHY = YES -DIRECTORY_GRAPH = YES -DOT_IMAGE_FORMAT = png -DOT_PATH = -DOTFILE_DIRS = -DOT_GRAPH_MAX_NODES = 50 -MAX_DOT_GRAPH_DEPTH = 1000 -DOT_TRANSPARENT = NO -DOT_MULTI_TARGETS = NO -GENERATE_LEGEND = YES -DOT_CLEANUP = YES -#--------------------------------------------------------------------------- -# Configuration::additions related to the search engine -#--------------------------------------------------------------------------- -SEARCHENGINE = NO diff --git a/doc/ccapi/ccache-api-v2.html b/doc/ccapi/ccache-api-v2.html deleted file mode 100755 index b8d3f06e5..000000000 --- a/doc/ccapi/ccache-api-v2.html +++ /dev/null @@ -1,1217 +0,0 @@ - - - - Credentials Cache API v2 Specification - - -

Credentials Cache API v2 Specification

-

This version of the API is deprecated.
-Please refer to CCAPI version 3 or later for the current API.

- - - -

-


- - -

Abstract

- -

This is the specification for an API which provides Credentials -Cache services for both -Kerberos V5 and V4. -The idea behind this API is that multiple Kerberos implementations -can share a single Credentials Cache, mediated by this API -specification. On the Microsoft Windows platform this will allow -single-signon, even when more than one Kerberos DLL is in use on a -particular system. Ideally, this problem could be solved by -standardizing the Kerberos V5 API library interface. However, the -Kerberos API is complicated enough that this would be hard to -accomplish. Standardizing the interface for credentials cache access -is much simpler. This API has also been adopted in the MIT Kerberos -for the Macintosh implementation. - -

This specification has been revised to allow storage and -manipulation of both V4 and V5 tickets. A cache contains one or more -"Named Cache"s. It is assumed that V4 and V5 credentials would each -be stored in separate "Named Cache"s and not mixed in a single "Named -Cache". - -

Below, "NC" refers to "Named Cache".
- - - -

-


- - -

Revision History/Notes

- -

Original version (Draft Version 1)

- -

1/27/96 by -Theodore Ts'o - -

Revision 2 (Draft Version 1)

- -

970628 by Steve Rothwell -for the V4Cache Team (Paul Hill, Jenny Khuon, Jean Luker, Dave -Detlefs, Allan Bjorklund, & Steve Rothwell) - -

- -

Revision 3 (Draft Version 1)

- -

970725 by Steve Rothwell after initial implementation and alpha -release. The term "credentials cache" was previously used to mean -both "the main cache" and individual "named cache"s within the main -cache. I have started using the term "NC" for "named cache" to make -the distinction clearer and to reduce the overloading of the word -"cache". - -

Changes made for revision 3 of this API:
- - - -

Revision 4 (Draft Version 1)

- -

970908 by Steve Rothwell to incorporate changes initiated by Ted -Tso. Further changes are expected in the comments for cc_create() and -cc_get_change_time(). - -

Revision 4a (Final Version 1)

- -

980603 by Scott McGuire to -correct typographical errors, HTML errors, and minor clarifications. -Final API Version 1 spec. - -

Revision 5 (Draft Version 2)

- -

990201 by Scott McGuire. - -

- -

Revsion 5a (Final Version 2)

- -

990723 by Scott McGuire. - -

- -

Ideas for Future Versions

- - - -


- - -


- - -

Type definitions

- -
// enums for API versions used in cc_initialize()
-enum {
-   CC_API_VER_1 = 1,
-   CC_API_VER_2 = 2
-};
- 
-
-// cc_int32 and cc_uint32 are not exactly defined in this API due
-// to a lack of standard 32-bit integer size between platforms
-// (although there is the C9X standard).
-// However, we will place the following constraints:
-//
-// cc_int32 is a signed integer that is at least 32 bits wide.
-// cc_uint32 is an unsigned integer that is at least 32 bits wide
- 
-
-typedef cc_int32 cc_time_t;  //see notes below
-
-typedef cc_uint32 cc_nc_flags;
- 
- 
-
-typedef struct opaque_dll_control_block_type* apiCB;
-typedef struct opaque_ccache_pointer_type* ccache_p;
-typedef struct opaque_credential_iterator_type* ccache_cit;
- 
-// These really are intended to be opaque. All implementations of the cache API must have
-// them but what they are is implementation specific. In the case of SGR's implementation,
-// the cc_ctx returned available after a call to cc_initialize, is a CCache_ctx class object. The 
-// code that normally calls the cc_initialize function is straight C, which means the calling
-// application doesn't have a chance in hell of manipulating this directly. The API is designed
-// so that it does not have to. It does have to pass the pointer to the class around, one reason 
-// being so that the destructor can eventually be called.
- 
- 
-
-typedef struct _cc_data {
-    cc_uint32            type;
-    cc_uint32            length;
-    unsigned char*      data;
-} cc_data;
- 
-
-typedef struct _cc_creds {
-    char*       client; /* client's principal identifier */
-    char*       server; /* server's principal identifier */
-    cc_data     keyblock;       /* session encryption key info */
-    cc_time_t   authtime;
-    cc_time_t   starttime;
-    cc_time_t   endtime;
-    cc_time_t   renew_till;
-    cc_uint32    is_skey;        /* true if ticket is encrypted in
-                                   another ticket's skey */
-    cc_uint32    ticket_flags;   /* flags in ticket */
-    cc_data**   addresses;      /* addrs in ticket */
-    cc_data     ticket;         /* ticket string itself */
-    cc_data     second_ticket;  /* second ticket, if related to
-                                   ticket (via DUPLICATE-SKEY or
-                                   ENC-TKT-IN-SKEY) */
-    cc_data**   authdata;       /* authorization data */
-} cc_creds;
- 
- 
-// use an enumerated type so all callers infer the same meaning
-// these values are what krbv4win uses internally.
-
-enum StringToKey_Type { STK_AFS = 0, STK_DES = 1 };
- 
-enum { MAX_V4_CRED_LEN = 1250 };
- 
- 
-// V4 Credentials
-
-enum {
-  KRB_NAME_SZ = 40,
-  KRB_INSTANCE_SZ = 40,
-  KRB_REALM_SZ = 40
-};
- 
-typedef struct _V4credential {
-    unsigned char              kversion;
-    char                       principal[KRB_NAME_SZ+1];
-    char                       principal_instance[KRB_INSTANCE_SZ+1];
-    char                       service[KRB_NAME_SZ+1];
-    char                       service_instance[KRB_INSTANCE_SZ+1];
-    char                       realm[KRB_REALM_SZ+1];
-    unsigned char              session_key[8];
-    cc_int32                   kvno;                   // k95 used BYTE skvno
-    cc_int32                   str_to_key;             // k4 infers dynamically, k95 stores; of type enum StringToKey_Type
-    long                       issue_date;             // k95 called this issue_time
-    cc_int32                   lifetime;               // k95 used LONG expiration_time
-    cc_uint32                  address;                // IP Address of local host as an unsigned 32-bit integer
-    cc_int32                   ticket_sz;              // k95 used BYTE, k4 ktext uses int to hold up to 1250
-    unsigned char              ticket[MAX_V4_CRED_LEN];
-    unsigned long              oops;                   // zero to catch runaways
-} V4Cred_type;
- 
-
-enum cc_cred_vers {  
-    CC_CRED_VUNKNOWN = 0,       // For validation
-    CC_CRED_V4 = 1,
-    CC_CRED_V5 = 2,
-    CC_CRED_VMAX = 3            // For validation
-};
- 
-
-typedef union cred_ptr_union_type {
-    V4Cred_type* pV4Cred;
-    cc_creds*    pV5Cred;
-} cred_ptr_union;
- 
-
-typedef struct cred_union_type {
-    cc_int32 cred_type;  // cc_cred_vers
-    cred_ptr_union cred;
-} cred_union;
- 
-
-typedef struct _infoNC {
-        char*   name;
-        char*   principal;
-        cc_int32 vers;   // cc_cred_vers
-} infoNC;
- -

The cc_data structure

- -

The cc_data structure is used to store the following elements: - -

- -

For cc_creds.ticket and cc_creds.second_ticket, the cc_data.type -field MUST be zero. For the cc_creds.addresses, cc_creds.authdata, -and cc_data.keyblock, the cc_data.type field should be the address -type, authorization data type, and encryption type, as defined by the -Kerberos V5 protocol definition. - -

cc_time_t

- -

The cc_time_t fields are used to represent time. The time must be -stored as the number of seconds since midnight GMT on January 1, -1970. - -

Principal names

- -

Principal names are stored as C strings in this API. The C strings -may contain UTF-8 encoded strings for internationalization -purposes.
- - -


- - -

Error Codes Definition

- -

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-

0  -

-

CC_NOERROR  -

-

"Successful return"  -

-

1  -

-

CC_BADNAME  -

-

"Bad credential cache name format"  -

-

2  -

-

CC_NOTFOUD  -

-

"Matching credential not found"  -

-

3  -

-

CC_END  -

-

"End of credential cache reached"  -

-

4  -

-

CC_IO  -

-

"Credentials cache I/O operation failed"  -

-

5  -

-

CC_WRITE  -

-

"Error writing to credentials cache file"  -

-

6  -

-

CC_NOMEM  -

-

"No memory"  -

-

7  -

-

CC_FORMAT  -

-

"Corrupted credentials cache"  -

-

8  -

-

CC_LOCKED  -

-

"The credentials cache or NC is locked"  -

-

9  -

-

CC_BAD_API_VERSION  -

-

"Unsupported API version"  -

-

10  -

-

CC_NO_EXIST  -

-

"Credentials cache or NC does not exist"  -

-

11  -

-

CC_NOT_SUPP  -

-

"Function not supported"  -

-

12  -

-

CC_BAD_PARM  -

-

"Bad Paramter Passed"  -

-

13  -

-

CC_ERR_CACHE_ATTACH  -

-

"Failed to attach cache"  -

-

14  -

-

CC_ERR_CACHE_RELEASE  -

-

"Failed to release cache"  -

-

15  -

-

CC_ERR_CACHE_FULL  -

-

"Cache FULL"  -

-

16  -

-

CC_ERR_CRED_VERSION  -

-

"Wrong Cred Version"  -

- -

-


- - -

Implementation Notes

- -

All functions are atomic

- -

All Credentials Cache API functions must be atomic. - -

Windows - -

DLLs should be named KrbCC16.dll and KrbCC32.dll. - -

-


- - -

Function definitions

- -

- -

Main Cache Functions

- -

- - -

- -

cc_initialize

- -
cc_int32 cc_initialize(apiCB** cc_ctx, cc_int32 api_version, cc_int32* api_supported, char** vendor)
- -

This function performs any initialization required by the -API. It must be called before any other function in the -API is called. The cc_ctx returned by this function must be -passed to all other API functions as the first argument. - -

The application must pass in the maximum version number of the API -it supports in the api_version parameter. - -

If api_supported non-NULL, then cc_initialize will store -the maximum API version number supported by the library implementing -the API there. - -

If the version requested by api_version is not equal to the -version supported by the library, CC_BAD_API_VERSION will be returned -as the error code (along with the version the library does support in -api_supported) and cc_initialize should not allocate any -memory. - -

If the vendor is non-NULL, then cc_initialize will store a -pointer to a read/only C string which contains a string describing -the vendor which implemented the credentials cache API. - -

Possible error codes: CC_NOERROR, CC_NOMEM, CC_BAD_API_VERSION, -CC_BAD_PARM - -


- - - -

cc_shutdown

- -
cc_int32 cc_shutdown(apiCB** cc_ctx)
- -

This function performs any cleanup required by the API. -cc_ctx will be NULL on return. The application program must call -cc_initialize() again before making any credentials cache API -calls. - -

Possible error codes: CC_NOERROR, CC_NO_EXIST, CC_BAD_PARM - -


- - - -

cc_get_change_time

- -
cc_int32 cc_get_change_time(apiCB* cc_ctx, cc_time_t* time)
- -

This function returns the time of the most recent change for the -entire cache. There is ONE timestamp maintained for the entire cache. -By maintaining a local copy the caller can deduce whether "something -changed" or not. - -

Possible error codes: CC_NOERROR, CC_NO_EXIST, CC_NOMEM, -CC_BAD_PARM - -


- - - -

cc_get_NC_info

- -
cc_int32 cc_get_NC_info(apiCB* cc_ctx, infoNC*** ppNCi)
- -

cc_get_NC_info() is a wrapper for cc_seq_fetch_NCs(), -cc_get_name() cc_get_cred_version(), and cc_get_principal(). It -returns all the information needed to uniquely identify each NC in -the cache (name and cred_version) and the associated principal. -Specifically it returns a null terminated list of pointers to infoNC -structs. Each infoNC struct contain a pointer to the NC's name, a -pointer to the the principal associated with the NC, and the version -number (as an enumerated type) of the credentials stored in this NC. - -

The ppNCi (the entire data structure) aquired by this routine -should be freed with cc_free_NC_info(). - -

Possible error codes: CC_NOERROR, CC_NO_EXIST, CC_NOMEM, -CC_BAD_PARM - -


- - - -

cc_open

- -
cc_int32 cc_open(apiCB* cc_ctx, const char* name, cc_int32 cred_vers, cc_uint32 cc_flags,
-                 ccache_p** ccache_pointer)
- -

Opens an already exising NC identified by both name, and -cred_vers. It fills in the parameter **ccache_pointer with a -pointer to the NC. - -

The list of cache names, principals, and credentials versions may -be retrieved via cc_seq_fetch_NCs(), cc_get_name(), -cc_get_cred_version(), & cc_get_principal() OR via -cc_get_NC_info(). - -

Possible error codes: CC_NOERROR, CC_BADNAME, CC_NO_EXIST, -CC_NOMEM, CC_ERR_CRED_VERSION, CC_BAD_PARM - -


- - - -

cc_create

- -
cc_int32 cc_create(apiCB* cc_ctx, const char* name, const char* principal,
-                cc_int32 cred_vers, cc_uint32 cc_flags, ccache_p** ccache_pointer)
- -

Create a new NC. The NC is uniquely identified by the combination -of it's name and the "cc_creds_vers" (i.e. which credentials version -it holds). The principal given is also associated with the NC. A NULL -name is not allowed (and CC_BADNAME should be returned if one -is passed in). If name is non-null and there is already a NC -named name, all credentials in the cache are removed, and -handle for the existing cache is returned. If there is already a NC -named name, all existing handles for this cache remain valid. The NC -is created with a primary principal specified by principal. - -

(Removed text about the "expected" form of the NC name.) - -

An NC is intended to hold credentials for a single principal in a -single realm, and for a single credentials version (i.e. V4 or V5). -The cache can contain credentials for other credential versions, -other realms, and even other principals, but each in a separate NC. -This rule will allow callers that can only handle a single principal -in a single realm to continue to work by dealing with only one NC. -Callers that can deal with multiple principals, multiple realms, -and/or multiple credentials versions can do so by dealing with -multiple NCs. By doing it this way, the callers that are able to -handle multiple principals, realms, and/or versions can do so without -interfering with "differently abled" code. - -

The list of cache names, principals, & cred_versions may be -retrieved via cc_get_NC_info(). - -

Possible error codes: CC_NOERROR, CC_BADNAME, CC_BAD_PARM, -CC_NO_EXIST, CC_NOMEM, CC_ERR_CRED_VERSION - -


- - - -

cc_close

- -
cc_int32 cc_close(apiCB* cc_ctx, ccache_p** ccache_pointer)
- -

Close the NC. The ccache_pointer related memory is -deallocated, and ccache_pointer is set to NULL before being returned -to caller. - -

Possible error codes: CC_NOERROR, CC_NO_EXIST, CC_BAD_PARM - -


- - - -

cc_destroy

- -
cc_int32 cc_destroy(apiCB* cc_ctx, ccache_p** ccache_pointer)
- -

Destroy the NC pointed to by ccache_pointer. The -ccache_pointer related memory is deallocated, and -ccache_pointer is set to NULL before being returned to caller. The -caller does not need to call cc_close() on the cache_pointer -afterwards. - -

Possible error codes: CC_NOERROR, CC_NO_EXIST, CC_BAD_PARM - -


- - - -

- -

cc_seq_fetch_NCs_begin

- -
cc_int32 cc_seq_fetch_NCs_begin(apiCB* cc_ctx, ccache_cit** itNCs)
- -

Used to allocate memory and initialize the iterator *itNCs. Use -cc_seq_fetch_NCs_end() to deallocate the memory used by *itNCs. - -

Possible error codes: CC_NOERROR, CC_NO_EXIST, CC_BAD_PARM, -CC_NOMEM - -

- -

cc_seq_fetch_NCs_next

- -
cc_int32 cc_seq_fetch_NCs_next(apiCB* cc_ctx, ccache_p** ccache_pointer, ccache_cit* itNCs)
- -

Used to sequentially open every NC in the cache. - -

Ccache_pointer must be a pointer to a ccache_p*. The -ccache_pointer returned may be used to get information about the NC -by calling cc_get_name(), cc_get_cred_version(), and -cc_get_principal(). Ccache_pointer's returned must be freed via -cc_close() between calls to cc_seq_fetch_NCs_next(). - -

itNCs must be a pointer to a ccache_cit* variable provided by the -calling application and which is used by cc_seq_fetch_NCs_next() to -determine the next NC to return. It must have been initialized by -cc_seq_fetch_NCs_begin(). - -

If changes are made to the credentials cache while it iterator is -being used, it must return at least the intersection, and at most the -union, of the set of NC's that were in the cache when the iteration -began and the set of NC's that are in the cache when it ends. - -

When the last NC in the sequence is returned, the return code from -cc_seq_fetch_NCs_next() will be CC_END. - -

Possible error codes: CC_NOERROR, CC_END, CC_NO_EXIST. -CC_BAD_PARM, CC_NOMEM - -

 

- -

- -

cc_seq_fetch_NCs_end

- -
cc_int32 cc_seq_fetch_NCs_end(apiCB* cc_ctx, ccache_cit** itNCs)
- -

Deallocates the memory used by *itNCs, and sets *itNCs to NULL. - -

Possible error codes: CC_NOERROR, CC_NO_EXIST, CC_BAD_PARM - -

  - -

- -

NC Functions

- -

- - -

cc_get_name

- -
cc_int32 cc_get_name(apiCB* cc_ctx, const ccache_p* ccache_pointer, char** name)
- -

cc_get_name() returns the name of the NC indicated by -ccache_pointer. The name can be used in cc_open() or cc_create(). The -combination of the name and the credentials version uniqeuly identify -an NC. The returned name should be freed via cc_free_name(). - -

Possible error codes: CC_NOERROR, CC_NOMEM, CC_NO_EXIST, -CC_BAD_PARM - -


- - - -

cc_get_cred_version

- -
cc_int32 cc_get_cred_version(apiCB* cc_ctx, const ccache_p* ccache_pointer, cc_int32* cred_vers)
- -

cc_get_cred_version() returns one of the enumerated type -cc_cred_vers in cred_vers. The expected values are CC_CRED_V4, or -CC_CRED_V5. The combination of the name and the credentials version -uniquely identify an NC. - -

Possible error codes: CC_NOERROR, CC_NO_EXIST, CC_BAD_PARM - -


- - - -

cc_set_principal

- -
cc_int32 cc_set_principal(apiCB* cc_ctx, const ccache_p* ccache_pointer, const cc_int32 cred_vers,
-                          const char* principal)
- -

Set the primary principal for the NC indicated by ccache_pointer. -This is the complement to cc_get_principal(). - -

cred_vers is used as a double check. - -

principal points to a null terminated string that will be copied -into the NC. This new principal will be returned if you call -cc_get_principal() for this NC. - -

Possible error codes: CC_NOERROR, CC_NOMEM, CC_NO_EXIST, -CC_ERR_CRED_VERSION, CC_BAD_PARM
- -  - -


- - - -

cc_get_principal

- -
cc_int32 cc_get_principal(apiCB* cc_ctx, const ccache_p* ccache_pointer, char** principal)
- -

Return the primary principal for the NC that was set via -cc_create() or cc_set_principal(). The returned principal should be -freed via cc_free_principal() . - -

Possible error codes: CC_NOERROR, CC_NOMEM, CC_NO_EXIST, -CC_BAD_PARM
- - - -


- - - -

cc_store

- -
cc_int32 cc_store(apiCB* cc_ctx, ccache_p* ccache_pointer, const cred_union cred)
- -

Store (make a copy of) cred in the NC indicated by -ccache_pointer. - -

A cred_union contains a cred_type indicator and a cred_ptr_union. -A cred_ptr_union can contain either a V4Cred_type pointer or a -cc_creds (V5 creds) pointer. Cred_type indicates which type of -pointer is in the cred_ptr_union. This also allows the API to -enforce the credentials version declared in cc_create() or cc_open(). - - -

Possible error codes: CC_NOERROR, CC_NO_EXIST, CC_ERR_CACHE_FULL, -CC_ERR_CRED_VERSION, CC_BAD_PARM - -


- - - -

cc_remove_cred

- -
cc_int32 cc_remove_cred(apiCB* cc_ctx, ccache_p* ccache_pointer, const cred_union cred)
- -

Removes the credential cred from ccache_pointer. The -credentials in the NC indicated by ccache_pointer are searched to -find a matching credential. If found, that credential is removed from -the NC. The cred parameter is not modified and should be freed via -cc_free_creds(). It is legitimate to call this function during a -sequential fetch, and the deletion of a credential already returned -by cc_seq_fetch_creds() should not disturb sequence of credentials -returned by cc_seq_fetch_creds(). - -

Use of cred_union is the same as is explained in cc_store(). - -

Possible error codes: CC_NOERROR, CC_NO_EXIST, CC_NOTFOUND, -CC_ERR_CRED_VERSION, CC_BAD_PARM - -


- - - -

cc_seq_fetch_creds_begin

- -
cc_int32 cc_seq_fetch_creds_begin(apiCB* cc_ctx, const ccache_p* ccache_pointer, ccache_cit** itCreds)
- -

Allocates memory for and initializes *itCreds. This memory must be -deallocated using cc_seq_fetch_creds_end(). - -

Ccache_pointer must be a valid pointer to the NC containing the -creds to be returned by the iterator. - -

Possible error codes: CC_NOERROR, CC_NO_EXIST, CC_BAD_PARM, -CC_NOMEM - -

  - -

- -

cc_seq_fetch_creds_next

- -
cc_int32 cc_seq_fetch_creds_next(apiCB* cc_ctx, cred_union** cred, ccache_cit* itCreds)
- -

cc_seq_fetch_creds_next() is used to sequentially read every set -of credentials in an NC. The NC has been indicated in the call to -cc_seq_fetch_creds_begin(). - -

itCreds must be a pointer to a ccache_cit* variable provided by -the calling application and which is used by -cc_seq_fetch_creds_next() to determine the next cached credential to -return. The ccache_cit* variable must be initialized by calling -cc_seq_fetch_creds_begin(). - -

The credentials are filled into the cred_union pointed to by -creds. Note that the cred_union contains elements which are -dynamically allocated, so must be freed using cc_free_creds() between -calls to cc_seq_fetch_creds_next(). - -

If changes are made to the NC while it iterator is being used, it -must return at least the intersection, and at most the union, of the -set of credentials that were in the NC when the iteration began and -the set of credentials that are in the NC when it ends. - -

When the last credential in the sequence is returned, the return -code from cc_seq_fetch_creds_next() will be CC_END. - -

Possible error codes: CC_NOERROR, CC_END, CC_NO_EXIST, -CC_BAD_PARM, CC_NOMEM - -

  - -

- -

cc_seq_fetch_creds_end

- -
cc_int32 cc_seq_fetch_creds_end(apiCB* cc_ctx, ccache_cit** itCreds)
- -

Deallocates memory used by *itCreds and sets *itCreds to NULL. - -

Possible error codes: CC_NOERROR, CC_NO_EXIST, CC_BAD_PARM - -


- - - -

cc_lock_request

- -
cc_int32 cc_lock_request(apiCB* cc_ctx, const ccache_p* ccache_pointer, cc_int32 lock_type)
- -
-
99/02/11 - smcguire - -
As of this date there is no locking in the Win NT/95 - or Machintosh implementations. The description below may not be - completely accurate as to how this function should be - implemented. -
- -

This function is currently NOT IMPLEMENTED. All functions attach -to the cache, take action, and detach from the cache before returning -to the caller. - -

This function will lock or unlock the NC based on the argument -value of lock_type: - -

        CC_LOCK_UNLOCK  1       Unlock the NC
-        CC_LOCK_READER  2       Lock the NC for reading
-        CC_LOCK_WRITER  3       Lock the NC for writing
- 
-        CC_LOCK_NOBLOCK 16      Don't block, but return an error code if
-                                the request cannot be satisfied.
- 
- -

Locking is done on a per-thread basis. At most one thread may have -the credentials locked for writing; if so, there must not be any -threads that have the credentials locked for reading. - -

Multiple threads may have the cache locked for reading, as long as -there is not a writer lock asserted on the cache. - -

If a thread has a cache locked for reading, that lock may be -upgraded to a writer lock by calling cc_lock_request() with a -lock_type of CC_LOCK_WRITER. If a thread has the cache locked for -reading or writing, a request to cc_lock_request() for a reader or -writer lock, respectively, is a no-op. If a thread does not have the -cache locked, and calls cc_lock_request() with a lock_type of -CC_LOCK_UNLOCK, this is also a no-op. - -

A request for CC_LOCK_READER and CC_LOCK_WRITER may be made -non-blocking by logical or'ing the value CC_LOCK_NOBLOCK. In that -case, if it is not possible to satisfy the lock request, the error -CC_LOCKED will be returned. - -

  - -

- -

Liberation Functions

- -

- - -

cc_free_principal

- -
cc_int32 cc_free_principal(apiCB* cc_ctx, char** principal)
- -

This function frees the principal returned by -cc_get_principal() and sets *principal to NULL. - -

Possible error codes: CC_NOERROR, CC_NO_EXIST, CC_BAD_PARM - -


- - - -

cc_free_name

- -
cc_int32 cc_free_name(apiCB* cc_ctx, char** name)
- -

This function frees the name returned by cc_get_name() and -sets *name to NULL. - -

Possible error codes: CC_NOERROR, CC_NO_EXIST, CC_BAD_PARM - -


- - - -

cc_free_creds

- -
cc_int32 cc_free_creds(apiCB* cc_ctx, cred_union** creds)
- -

This function frees all storage associated with creds returned by -cc_seq_fetch_creds() and sets the creds pointer to NULL. - -

Possible error codes: CC_NOERROR, CC_NO_EXIST, CC_BAD_PARM - -


- - - -

cc_free_NC_info

- -
cc_int32 cc_free_NC_info(apiCB* cc_ctx, infoNC*** ppNCi)
- -

This routine frees all storage aquired by cc_get_NC_info() and -sets ppNCi to NULL. - -

Possible error codes: CC_NOERROR, CC_NO_EXIST, CC_BAD_PARM - - - - - diff --git a/doc/ccapi/html/doxygen.css b/doc/ccapi/html/doxygen.css deleted file mode 100644 index 05615b2e6..000000000 --- a/doc/ccapi/html/doxygen.css +++ /dev/null @@ -1,310 +0,0 @@ -BODY,H1,H2,H3,H4,H5,H6,P,CENTER,TD,TH,UL,DL,DIV { - font-family: Geneva, Arial, Helvetica, sans-serif; -} -BODY,TD { - font-size: 90%; -} -H1 { - text-align: center; - font-size: 160%; -} -H2 { - font-size: 120%; -} -H3 { - font-size: 100%; -} -CAPTION { font-weight: bold } -DIV.qindex { - width: 100%; - background-color: #e8eef2; - border: 1px solid #84b0c7; - text-align: center; - margin: 2px; - padding: 2px; - line-height: 140%; -} -DIV.nav { - width: 100%; - background-color: #e8eef2; - border: 1px solid #84b0c7; - text-align: center; - margin: 2px; - padding: 2px; - line-height: 140%; -} -DIV.navtab { - background-color: #e8eef2; - border: 1px solid #84b0c7; - text-align: center; - margin: 2px; - margin-right: 15px; - padding: 2px; -} -TD.navtab { - font-size: 70%; -} -A.qindex { - text-decoration: none; - font-weight: bold; - color: #1A419D; -} -A.qindex:visited { - text-decoration: none; - font-weight: bold; - color: #1A419D -} -A.qindex:hover { - text-decoration: none; - background-color: #ddddff; -} -A.qindexHL { - text-decoration: none; - font-weight: bold; - background-color: #6666cc; - color: #ffffff; - border: 1px double #9295C2; -} -A.qindexHL:hover { - text-decoration: none; - background-color: #6666cc; - color: #ffffff; -} -A.qindexHL:visited { text-decoration: none; background-color: #6666cc; color: #ffffff } -A.el { text-decoration: none; font-weight: bold } -A.elRef { font-weight: bold } -A.code:link { text-decoration: none; font-weight: normal; color: #0000FF} -A.code:visited { text-decoration: none; font-weight: normal; color: #0000FF} -A.codeRef:link { font-weight: normal; color: #0000FF} -A.codeRef:visited { font-weight: normal; color: #0000FF} -A:hover { text-decoration: none; background-color: #f2f2ff } -DL.el { margin-left: -1cm } -.fragment { - font-family: Fixed, monospace; - font-size: 95%; -} -PRE.fragment { - border: 1px solid #CCCCCC; - background-color: #f5f5f5; - margin-top: 4px; - margin-bottom: 4px; - margin-left: 2px; - margin-right: 8px; - padding-left: 6px; - padding-right: 6px; - padding-top: 4px; - padding-bottom: 4px; -} -DIV.ah { background-color: black; font-weight: bold; color: #ffffff; margin-bottom: 3px; margin-top: 3px } -TD.md { background-color: #F4F4FB; font-weight: bold; } -TD.mdPrefix { - background-color: #F4F4FB; - color: #606060; - font-size: 80%; -} -TD.mdname1 { background-color: #F4F4FB; font-weight: bold; color: #602020; } -TD.mdname { background-color: #F4F4FB; font-weight: bold; color: #602020; width: 600px; } -DIV.groupHeader { - margin-left: 16px; - margin-top: 12px; - margin-bottom: 6px; - font-weight: bold; -} -DIV.groupText { margin-left: 16px; font-style: italic; font-size: 90% } -BODY { - background: white; - color: black; - margin-right: 20px; - margin-left: 20px; -} -TD.indexkey { - background-color: #e8eef2; - font-weight: bold; - padding-right : 10px; - padding-top : 2px; - padding-left : 10px; - padding-bottom : 2px; - margin-left : 0px; - margin-right : 0px; - margin-top : 2px; - margin-bottom : 2px; - border: 1px solid #CCCCCC; -} -TD.indexvalue { - background-color: #e8eef2; - font-style: italic; - padding-right : 10px; - padding-top : 2px; - padding-left : 10px; - padding-bottom : 2px; - margin-left : 0px; - margin-right : 0px; - margin-top : 2px; - margin-bottom : 2px; - border: 1px solid #CCCCCC; -} -TR.memlist { - background-color: #f0f0f0; -} -P.formulaDsp { text-align: center; } -IMG.formulaDsp { } -IMG.formulaInl { vertical-align: middle; } -SPAN.keyword { color: #008000 } -SPAN.keywordtype { color: #604020 } -SPAN.keywordflow { color: #e08000 } -SPAN.comment { color: #800000 } -SPAN.preprocessor { color: #806020 } -SPAN.stringliteral { color: #002080 } -SPAN.charliteral { color: #008080 } -.mdTable { - border: 1px solid #868686; - background-color: #F4F4FB; -} -.mdRow { - padding: 8px 10px; -} -.mdescLeft { - padding: 0px 8px 4px 8px; - font-size: 80%; - font-style: italic; - background-color: #FAFAFA; - border-top: 1px none #E0E0E0; - border-right: 1px none #E0E0E0; - border-bottom: 1px none #E0E0E0; - border-left: 1px none #E0E0E0; - margin: 0px; -} -.mdescRight { - padding: 0px 8px 4px 8px; - font-size: 80%; - font-style: italic; - background-color: #FAFAFA; - border-top: 1px none #E0E0E0; - border-right: 1px none #E0E0E0; - border-bottom: 1px none #E0E0E0; - border-left: 1px none #E0E0E0; - margin: 0px; -} -.memItemLeft { - padding: 1px 0px 0px 8px; - margin: 4px; - border-top-width: 1px; - border-right-width: 1px; - border-bottom-width: 1px; - border-left-width: 1px; - border-top-color: #E0E0E0; - border-right-color: #E0E0E0; - border-bottom-color: #E0E0E0; - border-left-color: #E0E0E0; - border-top-style: solid; - border-right-style: none; - border-bottom-style: none; - border-left-style: none; - background-color: #FAFAFA; - font-size: 80%; -} -.memItemRight { - padding: 1px 8px 0px 8px; - margin: 4px; - border-top-width: 1px; - border-right-width: 1px; - border-bottom-width: 1px; - border-left-width: 1px; - border-top-color: #E0E0E0; - border-right-color: #E0E0E0; - border-bottom-color: #E0E0E0; - border-left-color: #E0E0E0; - border-top-style: solid; - border-right-style: none; - border-bottom-style: none; - border-left-style: none; - background-color: #FAFAFA; - font-size: 80%; -} -.memTemplItemLeft { - padding: 1px 0px 0px 8px; - margin: 4px; - border-top-width: 1px; - border-right-width: 1px; - border-bottom-width: 1px; - border-left-width: 1px; - border-top-color: #E0E0E0; - border-right-color: #E0E0E0; - border-bottom-color: #E0E0E0; - border-left-color: #E0E0E0; - border-top-style: none; - border-right-style: none; - border-bottom-style: none; - border-left-style: none; - background-color: #FAFAFA; - font-size: 80%; -} -.memTemplItemRight { - padding: 1px 8px 0px 8px; - margin: 4px; - border-top-width: 1px; - border-right-width: 1px; - border-bottom-width: 1px; - border-left-width: 1px; - border-top-color: #E0E0E0; - border-right-color: #E0E0E0; - border-bottom-color: #E0E0E0; - border-left-color: #E0E0E0; - border-top-style: none; - border-right-style: none; - border-bottom-style: none; - border-left-style: none; - background-color: #FAFAFA; - font-size: 80%; -} -.memTemplParams { - padding: 1px 0px 0px 8px; - margin: 4px; - border-top-width: 1px; - border-right-width: 1px; - border-bottom-width: 1px; - border-left-width: 1px; - border-top-color: #E0E0E0; - border-right-color: #E0E0E0; - border-bottom-color: #E0E0E0; - border-left-color: #E0E0E0; - border-top-style: solid; - border-right-style: none; - border-bottom-style: none; - border-left-style: none; - color: #606060; - background-color: #FAFAFA; - font-size: 80%; -} -.search { color: #003399; - font-weight: bold; -} -FORM.search { - margin-bottom: 0px; - margin-top: 0px; -} -INPUT.search { font-size: 75%; - color: #000080; - font-weight: normal; - background-color: #e8eef2; -} -TD.tiny { font-size: 75%; -} -a { - color: #1A41A8; -} -a:visited { - color: #2A3798; -} -.dirtab { padding: 4px; - border-collapse: collapse; - border: 1px solid #84b0c7; -} -TH.dirtab { background: #e8eef2; - font-weight: bold; -} -HR { height: 1px; - border: none; - border-top: 1px solid black; -} - diff --git a/doc/ccapi/html/doxygen.png b/doc/ccapi/html/doxygen.png deleted file mode 100644 index f0a274bbaffdd67f6d784c894d9cf28729db0e14..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1281 zcmaJ>ZA?>F7(Vx-ms?uoS`b@hdRtpo6o^%HU>M$hfGrBvQnk$LE?p^P!kn&ikhyq! zX~V@&tPF5Qt@V?oTL96Bi%aRiwbe1)9DWQI#?)=HxS7QSw`J`5fAJ*eJbB;uNuKA& zdERDo*{Y<(If(#(B$Lr#;nB(8Y#ia=ZCeW?JfPLuQY`=@cW$k}Rivq|vbxGrRq1Tl9;+(gNt?}UtVKM2`T5t1jLzuL@0UIs`S#vlhl4)^ zLgSYrPj@$+`|j?eSbXTmiHGkWxV8V}BzNR?pl9k_s4pDu9vd5a_UzZEPk)}Ad{AV_ zzddrjrh4=Imr`E06;LY{)YYt?o}L~H@7C}F^WB!Ra=v`Q0bj{>5&$66CWF>mf6vjP z2N>RRY6ZYa=K`76>+|_)Xdwko+7wv}7cN|btOhWb(*{sta~6b?S8Omrxw}!4`NhGr zZVpNqpu1@BE`QGWNTpEpcJVW5izu~2B^GlM?1(OPg)zwW;QcP@Ltcclm>XbJL9C|j z=9!2?ua=uIlf0%AndzHsRC}IyTL$EhAee(fdKB`?27KeS^2M8M_7b~PiCFO&r5LC7 z7gl1*a<8;SjNaw#h=843_AV9iZbWQOAp5YOC^&_F*9K0> zB|6%IDb?aM#3viTxkLU4aXg&@+CkNTOnQ1iMP*^?b|^lJy$4C)Zk4isV!|RZ*XhXh zw8q3$=*0LeGC!XI_Wc?dkT~3+*Gu%%yIqP+Wr3H$=&ROMQU6q}Ag^P~>c5vAEO;a- z_dK-3PPeKar%)6$j~vI2#*-YH!1h6HYVtwCX5_wM`iF#UKz&&@9Oo5w3%XGYrX zW>dY~)SG-((Yim%`InwgTvyRC?e=Wh^8KCao!R6Eg&TpVWUY1sN~4G}V?nFnEGo-; zHZ_$eW9-GnC%^WS9b z@p;-$oH#MtC0v>Q$HX%4^JdFdO$0cbv-W)Q TtK}Eh@>>I#ipmV1>S*>q-hkC} diff --git a/doc/ccapi/html/group__cc__ccache__iterator__reference.html b/doc/ccapi/html/group__cc__ccache__iterator__reference.html deleted file mode 100644 index 2c8bfe27b..000000000 --- a/doc/ccapi/html/group__cc__ccache__iterator__reference.html +++ /dev/null @@ -1,96 +0,0 @@ - - -Credentials Cache API : cc_ccache_iterator_t Overview - - - - -

cc_ccache_iterator_t Overview


Detailed Description

-The cc_ccache_iterator_t type represents an iterator that iterates over a set of ccaches and returns them in all in some order. A new instance of this type can be obtained by calling cc_context_new_ccache_iterator().

-For API function documentation see cc_ccache_iterator_f. -

-

Data Structures

- -

Typedefs

- -

Typedef Documentation

-

- - - - -
- - - - -
typedef struct cc_ccache_iterator_f cc_ccache_iterator_f
-
- - - - - -
-   - - -

-

-

- - - - -
- - - - -
typedef struct cc_ccache_iterator_d cc_ccache_iterator_d
-
- - - - - -
-   - - -

-

-

- - - - -
- - - - -
typedef cc_ccache_iterator_d* cc_ccache_iterator_t
-
- - - - - -
-   - - -

-

-


Generated on Tue Oct 2 17:16:06 2007 for Credentials Cache API by  - -doxygen 1.4.6
- - diff --git a/doc/ccapi/html/group__cc__ccache__reference.html b/doc/ccapi/html/group__cc__ccache__reference.html deleted file mode 100644 index ce47b73c6..000000000 --- a/doc/ccapi/html/group__cc__ccache__reference.html +++ /dev/null @@ -1,96 +0,0 @@ - - -Credentials Cache API : cc_ccache_t Overview - - - - -

cc_ccache_t Overview


Detailed Description

-The cc_ccache_t type represents a reference to a ccache. Callers can access a ccache and the credentials stored in it via a cc_ccache_t. A cc_ccache_t can be acquired via cc_context_open_ccache(), cc_context_open_default_ccache(), or cc_ccache_iterator_next().

-For API function documentation see cc_ccache_f. -

-

Data Structures

- -

Typedefs

- -

Typedef Documentation

-

- - - - -
- - - - -
typedef struct cc_ccache_f cc_ccache_f
-
- - - - - -
-   - - -

-

-

- - - - -
- - - - -
typedef struct cc_ccache_d cc_ccache_d
-
- - - - - -
-   - - -

-

-

- - - - -
- - - - -
typedef cc_ccache_d* cc_ccache_t
-
- - - - - -
-   - - -

-

-


Generated on Tue Oct 2 17:16:06 2007 for Credentials Cache API by  - -doxygen 1.4.6
- - diff --git a/doc/ccapi/html/group__cc__context__reference.html b/doc/ccapi/html/group__cc__context__reference.html deleted file mode 100644 index cd7e6be3d..000000000 --- a/doc/ccapi/html/group__cc__context__reference.html +++ /dev/null @@ -1,161 +0,0 @@ - - -Credentials Cache API : cc_context_t Overview - - - - -

cc_context_t Overview


Detailed Description

-The cc_context_t type gives the caller access to a ccache collection. Before being able to call any functions in the CCache API, the caller needs to acquire an instance of cc_context_t by calling cc_initialize().

-For API function documentation see cc_context_f. -

-

Data Structures

- -

Typedefs

- -

Functions

- -

Typedef Documentation

-

- - - - -
- - - - -
typedef struct cc_context_f cc_context_f
-
- - - - - -
-   - - -

-

-

- - - - -
- - - - -
typedef struct cc_context_d cc_context_d
-
- - - - - -
-   - - -

-

-

- - - - -
- - - - -
typedef cc_context_d* cc_context_t
-
- - - - - -
-   - - -

-

-


Function Documentation

-

- - - - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
CCACHE_API cc_int32 cc_initialize cc_context_t out_context,
cc_int32  in_version,
cc_int32 out_supported_version,
char const **  out_vendor
-
- - - - - -
-   - - -

-Initialize a new cc_context. -

-

Parameters:
- - - - - -
out_context on exit, a new context object. Must be free with cc_context_release().
in_version the requested API version. This should be the maximum version the application supports.
out_supported_version if non-NULL, on exit contains the maximum API version supported by the implementation.
out_vendor if non-NULL, on exit contains a pointer to a read-only C string which contains a string describing the vendor which implemented the credentials cache API.
-
-
Returns:
On success, ccNoError. On failure, an error code representing the failure. May return CCAPI v2 error CC_BAD_API_VERSION if ccapi_version_2 is passed in.
-
-


Generated on Tue Oct 2 17:16:06 2007 for Credentials Cache API by  - -doxygen 1.4.6
- - diff --git a/doc/ccapi/html/group__cc__credentials__iterator__reference.html b/doc/ccapi/html/group__cc__credentials__iterator__reference.html deleted file mode 100644 index 41ba42f86..000000000 --- a/doc/ccapi/html/group__cc__credentials__iterator__reference.html +++ /dev/null @@ -1,133 +0,0 @@ - - -Credentials Cache API : cc_credentials_iterator_t - - - - -

cc_credentials_iterator_t


Detailed Description

-The cc_credentials_iterator_t type represents an iterator that iterates over a set of credentials. A new instance of this type can be obtained by calling cc_ccache_new_credentials_iterator().

-For API function documentation see cc_credentials_iterator_f. -

-

Data Structures

- -

Typedefs

- -

Variables

- -

Typedef Documentation

-

- - - - -
- - - - -
typedef struct cc_credentials_iterator_f cc_credentials_iterator_f
-
- - - - - -
-   - - -

-

-

- - - - -
- - - - -
typedef struct cc_credentials_iterator_d cc_credentials_iterator_d
-
- - - - - -
-   - - -

-

-

- - - - -
- - - - -
typedef cc_credentials_iterator_d* cc_credentials_iterator_t
-
- - - - - -
-   - - -

-

-


Variable Documentation

-

- - - - -
- - - - -
cc_int32(* clone)(cc_credentials_iterator_t in_credentials_iterator, cc_credentials_iterator_t *out_credentials_iterator) [inherited]
-
- - - - - -
-   - - -

-cc_credentials_iterator_clone(): Make a copy of a credentials iterator. -

-

Parameters:
- - - -
in_credentials_iterator a credentials iterator object.
out_credentials_iterator on exit, a copy of in_credentials_iterator.
-
-
Returns:
On success, ccNoError. On failure, an error code representing the failure.
-
-


Generated on Tue Oct 2 17:16:06 2007 for Credentials Cache API by  - -doxygen 1.4.6
- - diff --git a/doc/ccapi/html/group__cc__credentials__reference.html b/doc/ccapi/html/group__cc__credentials__reference.html deleted file mode 100644 index d083e6c07..000000000 --- a/doc/ccapi/html/group__cc__credentials__reference.html +++ /dev/null @@ -1,197 +0,0 @@ - - -Credentials Cache API : cc_credentials_t Overview - - - - -

cc_credentials_t Overview


Detailed Description

-The cc_credentials_t type is used to store a single set of credentials for either Kerberos v4 or Kerberos v5. In addition to its only function, release(), it contains a pointer to a cc_credentials_union structure. A cc_credentials_union structure contains an integer of the enumerator type cc_credentials_version, which is either cc_credentials_v4 or cc_credentials_v5, and a pointer union, which contains either a cc_credentials_v4_t pointer or a cc_credentials_v5_t pointer, depending on the value in version.

-Variables of the type cc_credentials_t are allocated by the CCAPI implementation, and should be released with their release() function. API functions which receive credentials structures from the caller always accept cc_credentials_union, which is allocated by the caller, and accordingly disposed by the caller.

-For API functions see cc_credentials_f. -

-

Data Structures

- -

Typedefs

- -

Typedef Documentation

-

- - - - -
- - - - -
typedef struct cc_credentials_v4_t cc_credentials_v4_t
-
- - - - - -
-   - - -

-

-

- - - - -
- - - - -
typedef struct cc_data cc_data
-
- - - - - -
-   - - -

-

-

- - - - -
- - - - -
typedef struct cc_credentials_v5_t cc_credentials_v5_t
-
- - - - - -
-   - - -

-

-

- - - - -
- - - - -
typedef struct cc_credentials_union cc_credentials_union
-
- - - - - -
-   - - -

-

-

- - - - -
- - - - -
typedef struct cc_credentials_f cc_credentials_f
-
- - - - - -
-   - - -

-

-

- - - - -
- - - - -
typedef struct cc_credentials_d cc_credentials_d
-
- - - - - -
-   - - -

-

-

- - - - -
- - - - -
typedef cc_credentials_d* cc_credentials_t
-
- - - - - -
-   - - -

-

-


Generated on Tue Oct 2 17:16:06 2007 for Credentials Cache API by  - -doxygen 1.4.6
- - diff --git a/doc/ccapi/html/group__cc__string__reference.html b/doc/ccapi/html/group__cc__string__reference.html deleted file mode 100644 index 9ce3b7195..000000000 --- a/doc/ccapi/html/group__cc__string__reference.html +++ /dev/null @@ -1,96 +0,0 @@ - - -Credentials Cache API : cc_string_t Overview - - - - -

cc_string_t Overview


Detailed Description

-The cc_string_t represents a C string returned by the API. It has a pointer to the string data and a release() function. This type is used for both principal names and ccache names returned by the API. Principal names may contain UTF-8 encoded strings for internationalization purposes.

-For API function documentation see cc_string_f. -

-

Data Structures

- -

Typedefs

- -

Typedef Documentation

-

- - - - -
- - - - -
typedef struct cc_string_f cc_string_f
-
- - - - - -
-   - - -

-

-

- - - - -
- - - - -
typedef struct cc_string_d cc_string_d
-
- - - - - -
-   - - -

-

-

- - - - -
- - - - -
typedef cc_string_d* cc_string_t
-
- - - - - -
-   - - -

-

-


Generated on Tue Oct 2 17:16:06 2007 for Credentials Cache API by  - -doxygen 1.4.6
- - diff --git a/doc/ccapi/html/group__ccapi__constants__reference.html b/doc/ccapi/html/group__ccapi__constants__reference.html deleted file mode 100644 index 87ec30b83..000000000 --- a/doc/ccapi/html/group__ccapi__constants__reference.html +++ /dev/null @@ -1,407 +0,0 @@ - - -Credentials Cache API : Constants - - - - -

Constants

-

-

Enumerations

- -

Enumeration Type Documentation

-

- - - - -
- - - - -
anonymous enum
-
- - - - - -
-   - - -

-API version numbers

-These constants are passed into cc_initialize() to indicate the version of the API the caller wants to use.

-CCAPI v1 and v2 are deprecated and should not be used.

Enumerator:
- - - - - - - - -
ccapi_version_2  -
ccapi_version_3  -
ccapi_version_4  -
ccapi_version_5  -
ccapi_version_6  -
ccapi_version_7  -
ccapi_version_max  -
-
-
-

- - - - -
- - - - -
anonymous enum
-
- - - - - -
-   - - -

-Error codes

Enumerator:
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
ccNoError  -Success.
ccIteratorEnd  -Iterator is done iterating.
ccErrBadParam  -Bad parameter (NULL or invalid pointer where valid pointer expected).
ccErrNoMem  -Not enough memory to complete the operation.
ccErrInvalidContext  -Context is invalid (e.g., it was released).
ccErrInvalidCCache  -CCache is invalid (e.g., it was released or destroyed).
ccErrInvalidString  -String is invalid (e.g., it was released).
ccErrInvalidCredentials  -Credentials are invalid (e.g., they were released), or they have a bad version.
ccErrInvalidCCacheIterator  -CCache iterator is invalid (e.g., it was released).
ccErrInvalidCredentialsIterator  -Credentials iterator is invalid (e.g., it was released).
ccErrInvalidLock  -Lock is invalid (e.g., it was released).
ccErrBadName  -Bad credential cache name format.
ccErrBadCredentialsVersion  -Credentials version is invalid.
ccErrBadAPIVersion  -Unsupported API version.
ccErrContextLocked  -Context is already locked.
ccErrContextUnlocked  -Context is not locked by the caller.
ccErrCCacheLocked  -CCache is already locked.
ccErrCCacheUnlocked  -CCache is not locked by the caller.
ccErrBadLockType  -Bad lock type.
ccErrNeverDefault  -CCache was never default.
ccErrCredentialsNotFound  -Matching credentials not found in the ccache.
ccErrCCacheNotFound  -Matching ccache not found in the collection.
ccErrContextNotFound  -Matching cache collection not found.
ccErrServerUnavailable  -CCacheServer is unavailable.
ccErrServerInsecure  -CCacheServer has detected that it is running as the wrong user.
ccErrServerCantBecomeUID  -CCacheServer failed to start running as the user.
ccErrTimeOffsetNotSet  -KDC time offset not set for this ccache.
ccErrBadInternalMessage  -The client and CCacheServer can't communicate (e.g., a version mismatch).
ccErrNotImplemented  -API function not supported by this implementation.
ccErrClientNotFound  -CCacheServer has no record of the caller's process (e.g., the server crashed).
-
-
-

- - - - -
- - - - -
enum cc_credential_versions
-
- - - - - -
-   - - -

-Credentials versions

-These constants are used in several places in the API to discern between Kerberos v4 and Kerberos v5. Not all values are valid inputs and outputs for all functions; function specifications below detail the allowed values.

-Kerberos version constants will always be a bit-field, and can be tested as such; for example the following test will tell you if a ccacheVersion includes v5 credentials:

-if ((ccacheVersion & cc_credentials_v5) != 0)

Enumerator:
- - - - -
cc_credentials_v4  -
cc_credentials_v5  -
cc_credentials_v4_v5  -
-
-
-

- - - - -
- - - - -
enum cc_lock_types
-
- - - - - -
-   - - -

-Lock types

-These constants are used in the locking functions to describe the type of lock requested. Note that all CCAPI locks are advisory so only callers using the lock calls will be blocked by each other. This is because locking functions were introduced after the CCAPI came into common use and we did not want to break existing callers.

Enumerator:
- - - - - -
cc_lock_read  -
cc_lock_write  -
cc_lock_upgrade  -
cc_lock_downgrade  -
-
-
-

- - - - -
- - - - -
enum cc_lock_modes
-
- - - - - -
-   - - -

-Locking Modes

-These constants are used in the advisory locking functions to describe whether or not the lock function should block waiting for a lock or return an error immediately. For example, attempting to acquire a lock with a non-blocking call will result in an error if the lock cannot be acquired; otherwise, the call will block until the lock can be acquired.

Enumerator:
- - - -
cc_lock_noblock  -
cc_lock_block  -
-
-
-

- - - - -
- - - - -
anonymous enum
-
- - - - - -
-   - - -

-Sizes of fields in cc_credentials_v4_t.

Enumerator:
- - - - - - -
cc_v4_name_size  -
cc_v4_instance_size  -
cc_v4_realm_size  -
cc_v4_ticket_size  -
cc_v4_key_size  -
-
-
-

- - - - -
- - - - -
enum cc_string_to_key_type
-
- - - - - -
-   - - -

-String to key type (Kerberos v4 only)

Enumerator:
- - - - - - -
cc_v4_stk_afs  -
cc_v4_stk_des  -
cc_v4_stk_columbia_special  -
cc_v4_stk_krb5  -
cc_v4_stk_unknown  -
-
-
-


Generated on Tue Oct 2 17:16:06 2007 for Credentials Cache API by  - -doxygen 1.4.6
- - diff --git a/doc/ccapi/html/group__ccapi__types__reference.html b/doc/ccapi/html/group__ccapi__types__reference.html deleted file mode 100644 index 9c646b8d9..000000000 --- a/doc/ccapi/html/group__ccapi__types__reference.html +++ /dev/null @@ -1,138 +0,0 @@ - - -Credentials Cache API : Basic Types - - - - -

Basic Types

-

-

Typedefs

- -

Typedef Documentation

-

- - - - -
- - - - -
typedef uint32_t cc_uint32
-
- - - - - -
-   - - -

-Unsigned 32-bit integer type

-

- - - - -
- - - - -
typedef int32_t cc_int32
-
- - - - - -
-   - - -

-Signed 32-bit integer type

-

- - - - -
- - - - -
typedef int64_t cc_int64
-
- - - - - -
-   - - -

-Unsigned 64-bit integer type

-

- - - - -
- - - - -
typedef uint64_t cc_uint64
-
- - - - - -
-   - - -

-Signed 64-bit integer type

-

- - - - -
- - - - -
typedef cc_uint32 cc_time_t
-
- - - - - -
-   - - -

-The cc_time_t type is used to represent a time in seconds. The time must be stored as the number of seconds since midnight GMT on January 1, 1970.

-


Generated on Tue Oct 2 17:16:06 2007 for Credentials Cache API by  - -doxygen 1.4.6
- - diff --git a/doc/ccapi/html/group__helper__macros.html b/doc/ccapi/html/group__helper__macros.html deleted file mode 100644 index cf1c681dc..000000000 --- a/doc/ccapi/html/group__helper__macros.html +++ /dev/null @@ -1,1377 +0,0 @@ - - -Credentials Cache API : CCAPI Function Helper Macros - - - - -

CCAPI Function Helper Macros

-

-

Defines

- -

Define Documentation

-

- - - - -
- - - - - - - - - -
#define cc_context_release context   )    ((context) -> functions -> release (context))
-
- - - - - -
-   - - -

-Helper macro for cc_context_f release()

-

- - - - -
- - - - - - - - - - - - -
#define cc_context_get_change_time context,
change_time   )    ((context) -> functions -> get_change_time (context, change_time))
-
- - - - - -
-   - - -

-Helper macro for cc_context_f get_change_time()

-

- - - - -
- - - - - - - - - - - - -
#define cc_context_get_default_ccache_name context,
name   )    ((context) -> functions -> get_default_ccache_name (context, name))
-
- - - - - -
-   - - -

-Helper macro for cc_context_f get_default_ccache_name()

-

- - - - -
- - - - - - - - - - - - - - - -
#define cc_context_open_ccache context,
name,
ccache   )    ((context) -> functions -> open_ccache (context, name, ccache))
-
- - - - - -
-   - - -

-Helper macro for cc_context_f open_ccache()

-

- - - - -
- - - - - - - - - - - - -
#define cc_context_open_default_ccache context,
ccache   )    ((context) -> functions -> open_default_ccache (context, ccache))
-
- - - - - -
-   - - -

-Helper macro for cc_context_f open_default_ccache()

-

- - - - -
- - - - - - - - - - - - - - - - - - - - - -
#define cc_context_create_ccache context,
name,
version,
principal,
ccache   )    ((context) -> functions -> create_ccache (context, name, version, principal, ccache))
-
- - - - - -
-   - - -

-Helper macro for cc_context_f create_ccache()

-

- - - - -
- - - - - - - - - - - - - - - - - - -
#define cc_context_create_default_ccache context,
version,
principal,
ccache   )    ((context) -> functions -> create_default_ccache (context, version, principal, ccache))
-
- - - - - -
-   - - -

-Helper macro for cc_context_f create_default_ccache()

-

- - - - -
- - - - - - - - - - - - - - - - - - -
#define cc_context_create_new_ccache context,
version,
principal,
ccache   )    ((context) -> functions -> create_new_ccache (context, version, principal, ccache))
-
- - - - - -
-   - - -

-Helper macro for cc_context_f create_new_ccache()

-

- - - - -
- - - - - - - - - - - - -
#define cc_context_new_ccache_iterator context,
iterator   )    ((context) -> functions -> new_ccache_iterator (context, iterator))
-
- - - - - -
-   - - -

-Helper macro for cc_context_f new_ccache_iterator()

-

- - - - -
- - - - - - - - - - - - - - - -
#define cc_context_lock context,
type,
block   )    ((context) -> functions -> lock (context, type, block))
-
- - - - - -
-   - - -

-Helper macro for cc_context_f lock()

-

- - - - -
- - - - - - - - - -
#define cc_context_unlock context   )    ((context) -> functions -> unlock (context))
-
- - - - - -
-   - - -

-Helper macro for cc_context_f unlock()

-

- - - - -
- - - - - - - - - - - - - - - -
#define cc_context_compare context,
compare_to,
equal   )    ((context) -> functions -> compare (context, compare_to, equal))
-
- - - - - -
-   - - -

-Helper macro for cc_context_f compare()

-

- - - - -
- - - - - - - - - -
#define cc_context_wait_for_change context   )    ((context) -> functions -> wait_for_change (context))
-
- - - - - -
-   - - -

-Helper macro for cc_context_f wait_for_change()

-

- - - - -
- - - - - - - - - -
#define cc_ccache_release ccache   )    ((ccache) -> functions -> release (ccache))
-
- - - - - -
-   - - -

-Helper macro for cc_ccache_f release()

-

- - - - -
- - - - - - - - - -
#define cc_ccache_destroy ccache   )    ((ccache) -> functions -> destroy (ccache))
-
- - - - - -
-   - - -

-Helper macro for cc_ccache_f destroy()

-

- - - - -
- - - - - - - - - -
#define cc_ccache_set_default ccache   )    ((ccache) -> functions -> set_default (ccache))
-
- - - - - -
-   - - -

-Helper macro for cc_ccache_f set_default()

-

- - - - -
- - - - - - - - - - - - -
#define cc_ccache_get_credentials_version ccache,
version   )    ((ccache) -> functions -> get_credentials_version (ccache, version))
-
- - - - - -
-   - - -

-Helper macro for cc_ccache_f get_credentials_version()

-

- - - - -
- - - - - - - - - - - - -
#define cc_ccache_get_name ccache,
name   )    ((ccache) -> functions -> get_name (ccache, name))
-
- - - - - -
-   - - -

-Helper macro for cc_ccache_f get_name()

-

- - - - -
- - - - - - - - - - - - - - - -
#define cc_ccache_get_principal ccache,
version,
principal   )    ((ccache) -> functions -> get_principal (ccache, version, principal))
-
- - - - - -
-   - - -

-Helper macro for cc_ccache_f get_principal()

-

- - - - -
- - - - - - - - - - - - - - - -
#define cc_ccache_set_principal ccache,
version,
principal   )    ((ccache) -> functions -> set_principal (ccache, version, principal))
-
- - - - - -
-   - - -

-Helper macro for cc_ccache_f set_principal()

-

- - - - -
- - - - - - - - - - - - -
#define cc_ccache_store_credentials ccache,
credentials   )    ((ccache) -> functions -> store_credentials (ccache, credentials))
-
- - - - - -
-   - - -

-Helper macro for cc_ccache_f store_credentials()

-

- - - - -
- - - - - - - - - - - - -
#define cc_ccache_remove_credentials ccache,
credentials   )    ((ccache) -> functions -> remove_credentials (ccache, credentials))
-
- - - - - -
-   - - -

-Helper macro for cc_ccache_f remove_credentials()

-

- - - - -
- - - - - - - - - - - - -
#define cc_ccache_new_credentials_iterator ccache,
iterator   )    ((ccache) -> functions -> new_credentials_iterator (ccache, iterator))
-
- - - - - -
-   - - -

-Helper macro for cc_ccache_f new_credentials_iterator()

-

- - - - -
- - - - - - - - - - - - - - - -
#define cc_ccache_lock ccache,
type,
block   )    ((ccache) -> functions -> lock (ccache, type, block))
-
- - - - - -
-   - - -

-Helper macro for cc_ccache_f lock()

-

- - - - -
- - - - - - - - - -
#define cc_ccache_unlock ccache   )    ((ccache) -> functions -> unlock (ccache))
-
- - - - - -
-   - - -

-Helper macro for cc_ccache_f unlock()

-

- - - - -
- - - - - - - - - - - - -
#define cc_ccache_get_last_default_time ccache,
last_default_time   )    ((ccache) -> functions -> get_last_default_time (ccache, last_default_time))
-
- - - - - -
-   - - -

-Helper macro for cc_ccache_f get_last_default_time()

-

- - - - -
- - - - - - - - - - - - -
#define cc_ccache_get_change_time ccache,
change_time   )    ((ccache) -> functions -> get_change_time (ccache, change_time))
-
- - - - - -
-   - - -

-Helper macro for cc_ccache_f get_change_time()

-

- - - - -
- - - - - - - - - - - - -
#define cc_ccache_move source,
destination   )    ((source) -> functions -> move (source, destination))
-
- - - - - -
-   - - -

-Helper macro for cc_ccache_f move()

-

- - - - -
- - - - - - - - - - - - - - - -
#define cc_ccache_compare ccache,
compare_to,
equal   )    ((ccache) -> functions -> compare (ccache, compare_to, equal))
-
- - - - - -
-   - - -

-Helper macro for cc_ccache_f compare()

-

- - - - -
- - - - - - - - - - - - - - - -
#define cc_ccache_get_kdc_time_offset ccache,
version,
time_offset   )    ((ccache) -> functions -> get_kdc_time_offset (ccache, version, time_offset))
-
- - - - - -
-   - - -

-Helper macro for cc_ccache_f get_kdc_time_offset()

-

- - - - -
- - - - - - - - - - - - - - - -
#define cc_ccache_set_kdc_time_offset ccache,
version,
time_offset   )    ((ccache) -> functions -> set_kdc_time_offset (ccache, version, time_offset))
-
- - - - - -
-   - - -

-Helper macro for cc_ccache_f set_kdc_time_offset()

-

- - - - -
- - - - - - - - - - - - -
#define cc_ccache_clear_kdc_time_offset ccache,
version   )    ((ccache) -> functions -> clear_kdc_time_offset (ccache, version))
-
- - - - - -
-   - - -

-Helper macro for cc_ccache_f clear_kdc_time_offset()

-

- - - - -
- - - - - - - - - -
#define cc_ccache_wait_for_change ccache   )    ((ccache) -> functions -> wait_for_change (ccache))
-
- - - - - -
-   - - -

-Helper macro for cc_ccache_f wait_for_change()

-

- - - - -
- - - - - - - - - -
#define cc_string_release string   )    ((string) -> functions -> release (string))
-
- - - - - -
-   - - -

-Helper macro for cc_string_f release()

-

- - - - -
- - - - - - - - - -
#define cc_credentials_release credentials   )    ((credentials) -> functions -> release (credentials))
-
- - - - - -
-   - - -

-Helper macro for cc_credentials_f release()

-

- - - - -
- - - - - - - - - - - - - - - -
#define cc_credentials_compare credentials,
compare_to,
equal   )    ((credentials) -> functions -> compare (credentials, compare_to, equal))
-
- - - - - -
-   - - -

-Helper macro for cc_credentials_f compare()

-

- - - - -
- - - - - - - - - -
#define cc_ccache_iterator_release iterator   )    ((iterator) -> functions -> release (iterator))
-
- - - - - -
-   - - -

-Helper macro for cc_ccache_iterator_f release()

-

- - - - -
- - - - - - - - - - - - -
#define cc_ccache_iterator_next iterator,
ccache   )    ((iterator) -> functions -> next (iterator, ccache))
-
- - - - - -
-   - - -

-Helper macro for cc_ccache_iterator_f next()

-

- - - - -
- - - - - - - - - - - - -
#define cc_ccache_iterator_clone iterator,
new_iterator   )    ((iterator) -> functions -> clone (iterator, new_iterator))
-
- - - - - -
-   - - -

-Helper macro for cc_ccache_iterator_f clone()

-

- - - - -
- - - - - - - - - -
#define cc_credentials_iterator_release iterator   )    ((iterator) -> functions -> release (iterator))
-
- - - - - -
-   - - -

-Helper macro for cc_credentials_iterator_f release()

-

- - - - -
- - - - - - - - - - - - -
#define cc_credentials_iterator_next iterator,
credentials   )    ((iterator) -> functions -> next (iterator, credentials))
-
- - - - - -
-   - - -

-Helper macro for cc_credentials_iterator_f next()

-

- - - - -
- - - - - - - - - - - - -
#define cc_credentials_iterator_clone iterator,
new_iterator   )    ((iterator) -> functions -> clone (iterator, new_iterator))
-
- - - - - -
-   - - -

-Helper macro for cc_credentials_iterator_f clone()

-


Generated on Tue Oct 2 17:16:06 2007 for Credentials Cache API by  - -doxygen 1.4.6
- - diff --git a/doc/ccapi/html/index.html b/doc/ccapi/html/index.html deleted file mode 100644 index bf920052f..000000000 --- a/doc/ccapi/html/index.html +++ /dev/null @@ -1,85 +0,0 @@ - - -Credentials Cache API : Credentials Cache API (CCAPI) Documentation - - - - -

Credentials Cache API (CCAPI) Documentation

-

-

-Table of Contents

- - - - - - - - -

-Introduction

-This is the specification for an API which provides Credentials Cache services for both Kerberos v5 and v4. The idea behind this API is that multiple Kerberos implementations can share a single collection of credentials caches, mediated by this API specification. On the Mac OS and Microsoft Windows platforms this will allow single-login, even when more than one Kerberos shared library is in use on a particular system.

-Abstractly, a credentials cache collection contains one or more credentials caches, or ccaches. A ccache is uniquely identified by its name, which is a string internal to the API and not intended to be presented to users. The user presentable identifier of a ccache is its principal.

-Unlike the previous versions of the API, version 3 of the API stores both Kerberos v4 and v5 credentials in the same ccache.

-At any given time, one ccache is the "default" ccache. The exact meaning of a default ccache is OS-specific; refer to implementation requirements for details.

-Error Handling

-All functions of the API return some of the error constants listed FIXME; the exact list of error constants returned by any API function is provided in the function descriptions below.

-When returning an error constant other than ccNoError or ccIteratorEnd, API functions never modify any of the values passed in by reference.

-Synchronization and Atomicity

-Every function in the API is atomic. In order to make a series of calls atomic, callers should lock the ccache or cache collection they are working with to advise other callers not to modify that container. Note that advisory locks are per container so even if you have a read lock on the cache collection other callers can obtain write locks on ccaches in that cache collection.

-Note that iterators do not iterate over ccaches and credentials atomically because locking ccaches and the cache collection over every iteration would degrade performance considerably under high load. However, iterators do guarantee a consistent view of items they are iterating over. Iterators will never return duplicate entries or skip entries when items are removed or added to the container they are iterating over.

-An application can always lock a ccache or the cache collection to guarantee that other callers participating in the advisory locking system do not modify the ccache or cache collection.

-Implementations should not use copy-on-write techniques to implement locks because those techniques imply that same parts of the ccache collection remain visible to some callers even though they are not present in the collection, which is a potential security risk. For example, a copy-on-write technique might make a copy of the entire collection when a read lock is acquired, so as to allow the owner of the lock to access the collection in an apparently unmodified state, while also allowing others to make modifications to the collection. However, this would also enable the owner of the lock to indefinitely (until the expiration time) use credentials that have actually been deleted from the collection.

-Object Memory Management

-The lifetime of an object returned by the API is until release() is called for it. Releasing one object has no effect on existence of any other object. For example, a ccache obtained within a context continue to exist when the context is released.

-Every object returned by the API (cc_context_t, cc_ccache_t, cc_ccache_iterator_t, cc_credentials_t, cc_credentials_iterator_t, cc_string_t) is owned by the caller of the API, and it is the responsibility of the caller to call release() for every object to prevent memory leaks.

-Opaque Types

-All of the opaque high-level types in CCache API are implemented as structures of function pointers and private data. To perform some operation on a type, the caller of the API has to first obtain an instance of that type, and then call the appropriate function pointer from that instance. For example, to call get_change_time() on a cc_context_t, one would call cc_initialize() which creates a new cc_context_t and then call its get_change_time(), like this:

-

 cc_context_t context;
- cc_int32 err = cc_initialize (&context, ccapi_version_3, nil, nil);
- if (err == ccNoError)
- time = context->functions->get_change_time (context)
-

-All API functions also have convenience preprocessor macros, which make the API seem completely function-based. For example, cc_context_get_change_time (context, time) is equivalent to context->functions->get_change_time (context, time). The convenience macros follow the following naming convention:

-The API function some_function()

 cc_type_t an_object;
- result = an_object->functions->some_function (opaque_pointer, args)
-

-has an equivalent convenience macro of the form cc_type_some_function():

 cc_type_t an_object;
- result = cc_type_some_function (an_object, args)
-

-The specifications below include the names for both the functions and the convenience macros, in that order. For clarity, it is recommended that clients using the API use the convenience macros, but that is merely a stylistic choice.

-Implementing the API in this manner allows us to extend and change the interface in the future, while preserving compatibility with older clients.

-For example, consider the case when the signature or the semantics of a cc_ccache_t function is changed. The API version number is incremented. The library implementation contains both a function with the old signature and semantics and a function with the new signature and semantics. When a context is created, the API version number used in that context is stored in the context, and therefore it can be used whenever a ccache is created in that context. When a ccache is created in a context with the old API version number, the function pointer structure for the ccache is filled with pointers to functions implementing the old semantics; when a ccache is created in a context with the new API version number, the function pointer structure for the ccache is filled with poitners to functions implementing the new semantics.

-Similarly, if a function is added to the API, the version number in the context can be used to decide whether to include the implementation of the new function in the appropriate function pointer structure or not.


Generated on Tue Oct 2 17:16:05 2007 for Credentials Cache API by  - -doxygen 1.4.6
- - diff --git a/doc/ccapi/html/structcc__ccache__d.html b/doc/ccapi/html/structcc__ccache__d.html deleted file mode 100644 index c19aa2b59..000000000 --- a/doc/ccapi/html/structcc__ccache__d.html +++ /dev/null @@ -1,43 +0,0 @@ - - -Credentials Cache API : cc_ccache_d Struct Reference - - - - -

cc_ccache_d Struct Reference
- -[cc_ccache_t Overview] -

Data Fields

- -

Field Documentation

-

- - - - -
- - - - -
const cc_ccache_f* functions
-
- - - - - -
-   - - -

-

-


Generated on Tue Oct 2 17:16:05 2007 for Credentials Cache API by  - -doxygen 1.4.6
- - diff --git a/doc/ccapi/html/structcc__ccache__f.html b/doc/ccapi/html/structcc__ccache__f.html deleted file mode 100644 index ddab94ff9..000000000 --- a/doc/ccapi/html/structcc__ccache__f.html +++ /dev/null @@ -1,722 +0,0 @@ - - -Credentials Cache API : cc_ccache_f Struct Reference - - - - -

cc_ccache_f Struct Reference


Detailed Description

-Function pointer table for cc_ccache_t. For more information see cc_ccache_t Overview. -

-

Data Fields

- -

Field Documentation

-

- - - - -
- - - - -
cc_int32(* release)(cc_ccache_t io_ccache)
-
- - - - - -
-   - - -

-cc_ccache_release(): Release memory associated with a cc_ccache_t object. -

-

Parameters:
- - -
io_ccache the ccache object to release.
-
-
Returns:
On success, ccNoError. On failure, an error code representing the failure.
-
Note:
Does not modify the ccache. If you wish to remove the ccache see cc_ccache_destroy().
-
-

- - - - -
- - - - -
cc_int32(* destroy)(cc_ccache_t io_ccache)
-
- - - - - -
-   - - -

-cc_ccache_destroy(): Destroy a ccache. -

-

Parameters:
- - -
io_ccache the ccache object to destroy and release.
-
-
Returns:
On success, ccNoError. On failure, an error code representing the failure.
-Destroy the ccache referred to by io_ccache and releases memory associated with the io_ccache object. After this call io_ccache becomes invalid. If io_ccache was the default ccache, the next ccache in the cache collection (if any) becomes the new default.
-

- - - - -
- - - - -
cc_int32(* set_default)(cc_ccache_t io_ccache)
-
- - - - - -
-   - - -

-cc_ccache_set_default(): Make a ccache the default ccache. -

-

Parameters:
- - -
io_ccache a ccache object to make the new default ccache.
-
-
Returns:
On success, ccNoError. On failure, an error code representing the failure.
-
-

- - - - -
- - - - -
cc_int32(* get_credentials_version)(cc_ccache_t in_ccache, cc_uint32 *out_credentials_version)
-
- - - - - -
-   - - -

-cc_ccache_get_credentials_version(): Get the credentials version of a ccache. -

-

Parameters:
- - - -
in_ccache a ccache object.
out_credentials_version on exit, the credentials version of in_ccache.
-
-
Returns:
On success, ccNoError. On failure, an error code representing the failure.
-cc_ccache_get_credentials_version() returns one value of the enumerated type cc_credentials_vers. The possible return values are cc_credentials_v4 (if ccache's v4 principal has been set), cc_credentials_v5 (if ccache's v5 principal has been set), or cc_credentials_v4_v5 (if both ccache's v4 and v5 principals have been set). A ccache's principal is set with one of cc_context_create_ccache(), cc_context_create_new_ccache(), cc_context_create_default_ccache(), or cc_ccache_set_principal().
-

- - - - -
- - - - -
cc_int32(* get_name)(cc_ccache_t in_ccache, cc_string_t *out_name)
-
- - - - - -
-   - - -

-cc_ccache_get_name(): Get the name of a ccache. -

-

Parameters:
- - - -
in_ccache a ccache object.
out_name on exit, a cc_string_t representing the name of in_ccache. out_name must be released with cc_string_release().
-
-
Returns:
On success, ccNoError. On failure, an error code representing the failure.
-
-

- - - - -
- - - - -
cc_int32(* get_principal)(cc_ccache_t in_ccache, cc_uint32 in_credentials_version, cc_string_t *out_principal)
-
- - - - - -
-   - - -

-cc_ccache_get_principal(): Get the principal of a ccache. -

-

Parameters:
- - - - -
in_ccache a ccache object.
in_credentials_version the credentials version to get the principal for.
out_principal on exit, a cc_string_t representing the principal of in_ccache. out_principal must be released with cc_string_release().
-
-
Returns:
On success, ccNoError. On failure, an error code representing the failure.
-Return the principal for the ccache that was set via cc_context_create_ccache(), cc_context_create_default_ccache(), cc_context_create_new_ccache(), or cc_ccache_set_principal(). Principals for v4 and v5 are separate, but should be kept synchronized for each ccache; they can be retrieved by passing cc_credentials_v4 or cc_credentials_v5 in cred_vers. Passing cc_credentials_v4_v5 will result in the error ccErrBadCredentialsVersion.
-

- - - - -
- - - - -
cc_int32(* set_principal)(cc_ccache_t io_ccache, cc_uint32 in_credentials_version, const char *in_principal)
-
- - - - - -
-   - - -

-cc_ccache_set_principal(): Set the principal of a ccache. -

-

Parameters:
- - - - -
in_ccache a ccache object.
in_credentials_version the credentials version to set the principal for.
in_principal a C string representing the new principal of in_ccache.
-
-
Returns:
On success, ccNoError. On failure, an error code representing the failure.
-Set the a principal for ccache. The v4 and v5 principals can be set independently, but they should always be kept equal, up to differences in string representation between v4 and v5. Passing cc_credentials_v4_v5 in cred_vers will result in the error ccErrBadCredentialsVersion.
-

- - - - -
- - - - -
cc_int32(* store_credentials)(cc_ccache_t io_ccache, const cc_credentials_union *in_credentials_union)
-
- - - - - -
-   - - -

-cc_ccache_store_credentials(): Store credentials in a ccache. -

-

Parameters:
- - - -
io_ccache a ccache object.
in_credentials_union the credentials to store in io_ccache.
-
-
Returns:
On success, ccNoError. On failure, an error code representing the failure.
-Store a copy of credentials in the ccache.

-See the description of the credentials types for the meaning of cc_credentials_union fields.

-Before credentials of a specific credential type can be stored in a ccache, the corresponding principal version has to be set. For example, before you can store Kerberos v4 credentials in a ccache, the Kerberos v4 principal has to be set either by cc_context_create_ccache(), cc_context_create_default_ccache(), cc_context_create_new_ccache(), or cc_ccache_set_principal(); likewise for Kerberos v5. Otherwise, ccErrBadCredentialsVersion is returned.

-

- - - - -
- - - - -
cc_int32(* remove_credentials)(cc_ccache_t io_ccache, cc_credentials_t in_credentials)
-
- - - - - -
-   - - -

-cc_ccache_remove_credentials(): Remove credentials from a ccache. -

-

Parameters:
- - - -
io_ccache a ccache object.
in_credentials the credentials to remove from io_ccache.
-
-
Returns:
On success, ccNoError. On failure, an error code representing the failure.
-Removes credentials from a ccache. Note that credentials must be previously acquired from the CCache API; only exactly matching credentials will be removed. (This places the burden of determining exactly which credentials to remove on the caller, but ensures there is no ambigity about which credentials will be removed.) cc_credentials_t objects can be obtained by iterating over the ccache's credentials with cc_ccache_new_credentials_iterator().

-If found, the credentials are removed from the ccache. The credentials parameter is not modified and should be freed by the caller. It is legitimate to call this function while an iterator is traversing the ccache, and the deletion of a credential already returned by cc_credentials_iterator_next() will not disturb sequence of credentials returned by cc_credentials_iterator_next().

-

- - - - -
- - - - -
cc_int32(* new_credentials_iterator)(cc_ccache_t in_ccache, cc_credentials_iterator_t *out_credentials_iterator)
-
- - - - - -
-   - - -

-cc_ccache_new_credentials_iterator(): Iterate over credentials in a ccache. -

-

Parameters:
- - - -
in_ccache a ccache object.
out_credentials_iterator a credentials iterator for io_ccache.
-
-
Returns:
On success, ccNoError. On failure, an error code representing the failure.
-Allocates memory for iterator and initializes it. Successive calls to cc_credentials_iterator_next() will return credentials from the ccache.

-If changes are made to the ccache while an iterator is being used on it, the iterator must return at least the intersection, and at most the union, of the set of credentials that were in the ccache when the iteration began and the set of credentials that are in the ccache when it ends.

-

- - - - -
- - - - -
cc_int32(* move)(cc_ccache_t io_source_ccache, cc_ccache_t io_destination_ccache)
-
- - - - - -
-   - - -

-cc_ccache_move(): Move the contents of one ccache into another, destroying the source. -

-

Parameters:
- - - -
io_source_ccache a ccache object to move.
io_destination_ccache a ccache object replace with the contents of io_source_ccache.
-
-
Returns:
On success, ccNoError. On failure, an error code representing the failure.
-cc_ccache_move() atomically copies the credentials, credential versions and principals from one ccache to another. On successful completion io_source_ccache will be released and the ccache it points to will be destroyed. Any credentials previously in io_destination_ccache will be replaced with credentials from io_source_ccache. The only part of io_destination_ccache which remains constant is the name. Any other callers referring to io_destination_ccache will suddenly see new data in it.

-Typically cc_ccache_move() is used when the caller wishes to safely overwrite the contents of a ccache with new data which requires several steps to generate. cc_ccache_move() allows the caller to create a temporary ccache (which can be destroyed if any intermediate step fails) and the atomically copy the temporary cache into the destination.

-

- - - - -
- - - - -
cc_int32(* lock)(cc_ccache_t io_ccache, cc_uint32 in_lock_type, cc_uint32 in_block)
-
- - - - - -
-   - - -

-cc_ccache_lock(): Lock a ccache. -

-

Parameters:
- - - - -
io_ccache the ccache object for the ccache you wish to lock.
in_lock_type the type of lock to obtain.
in_block whether or not the function should block if the lock cannot be obtained immediately.
-
-
Returns:
On success, ccNoError. On failure, an error code representing the failure.
-Attempts to acquire an advisory lock for a ccache. Allowed values for lock_type are:

-

    -
  • cc_lock_read: a read lock.
  • -
  • cc_lock_write: a write lock
  • -
  • cc_lock_upgrade: upgrade an already-obtained read lock to a write lock
  • -
  • cc_lock_downgrade: downgrade an already-obtained write lock to a read lock
  • -
-If block is cc_lock_block, lock() will not return until the lock is acquired. If block is cc_lock_noblock, lock() will return immediately, either acquiring the lock and returning ccNoError, or failing to acquire the lock and returning an error explaining why.

-To avoid having to deal with differences between thread semantics on different platforms, locks are granted per ccache, rather than per thread or per process. That means that different threads of execution have to acquire separate contexts in order to be able to synchronize with each other.

-The lock should be unlocked by using cc_ccache_unlock().

-

Note:
All locks are advisory. For example, callers which do not call cc_ccache_lock() and cc_ccache_unlock() will not be prevented from writing to the ccache when you have a read lock. This is because the CCAPI locking was added after the first release and thus adding mandatory locks would have changed the user experience and performance of existing applications.
-
-

- - - - -
- - - - -
cc_int32(* unlock)(cc_ccache_t io_ccache)
-
- - - - - -
-   - - -

-cc_ccache_unlock(): Unlock a ccache. -

-

Parameters:
- - -
io_ccache a ccache object.
-
-
Returns:
On success, ccNoError. On failure, an error code representing the failure.
-
-

- - - - -
- - - - -
cc_int32(* get_last_default_time)(cc_ccache_t in_ccache, cc_time_t *out_last_default_time)
-
- - - - - -
-   - - -

-cc_ccache_get_change_time(): Get the last time a ccache was the default ccache. -

-

Parameters:
- - - -
in_ccache a cache object.
out_last_default_time on exit, the last time the ccache was default.
-
-
Returns:
On success, ccNoError. On failure, an error code representing the failure.
-This function returns the last time when the ccache was made the default ccache. This allows clients to sort the ccaches by how recently they were default, which is useful for user listing of ccaches. If the ccache was never default, ccErrNeverDefault is returned.
-

- - - - -
- - - - -
cc_int32(* get_change_time)(cc_ccache_t in_ccache, cc_time_t *out_change_time)
-
- - - - - -
-   - - -

-cc_ccache_get_change_time(): Get the last time a ccache changed. -

-

Parameters:
- - - -
in_ccache a cache object.
out_change_time on exit, the last time the ccache changed.
-
-
Returns:
On success, ccNoError. If the ccache was never the default ccache, ccErrNeverDefault. Otherwise, an error code representing the failure.
-This function returns the time of the most recent change made to a ccache. By maintaining a local copy the caller can deduce whether or not the ccache has been modified since the previous call to cc_ccache_get_change_time().

-The time returned by cc_ccache_get_change_time() increases whenever:

-

    -
  • a credential is stored
  • -
  • a credential is removed
  • -
  • a ccache principal is changed
  • -
  • the ccache becomes the default ccache
  • -
  • the ccache is no longer the default ccache
  • -
-
Note:
In order to be able to compare two values returned by cc_ccache_get_change_time(), the caller must use the same ccache object to acquire them. Callers should maintain a single ccache object in memory for cc_ccache_get_change_time() calls rather than creating a new ccache object for every call.
-
See also:
wait_for_change
-
-

- - - - -
- - - - -
cc_int32(* compare)(cc_ccache_t in_ccache, cc_ccache_t in_compare_to_ccache, cc_uint32 *out_equal)
-
- - - - - -
-   - - -

-cc_ccache_compare(): Compare two ccache objects. -

-

Parameters:
- - - - -
in_ccache a ccache object.
in_compare_to_ccache a ccache object to compare with in_ccache.
out_equal on exit, whether or not the two ccaches refer to the same ccache.
-
-
Returns:
On success, ccNoError. On failure, an error code representing the failure.
-
-

- - - - -
- - - - -
cc_int32(* get_kdc_time_offset)(cc_ccache_t in_ccache, cc_uint32 in_credentials_version, cc_time_t *out_time_offset)
-
- - - - - -
-   - - -

-cc_ccache_get_kdc_time_offset(): Get the KDC time offset for credentials in a ccache. -

-

Parameters:
- - - - -
in_ccache a ccache object.
in_credentials_version the credentials version to get the time offset for.
out_time_offset on exit, the KDC time offset for in_ccache for credentials version in_credentials_version.
-
-
Returns:
On success, ccNoError if a time offset was obtained or ccErrTimeOffsetNotSet if a time offset has not been set. On failure, an error code representing the failure.
-
See also:
set_kdc_time_offset, clear_kdc_time_offset
-Sometimes the KDC and client's clocks get out of sync. cc_ccache_get_kdc_time_offset() returns the difference between the KDC and client's clocks at the time credentials were acquired. This offset allows callers to figure out how much time is left on a given credential even though the end_time is based on the KDC's clock not the client's clock.
-

- - - - -
- - - - -
cc_int32(* set_kdc_time_offset)(cc_ccache_t io_ccache, cc_uint32 in_credentials_version, cc_time_t in_time_offset)
-
- - - - - -
-   - - -

-cc_ccache_set_kdc_time_offset(): Set the KDC time offset for credentials in a ccache. -

-

Parameters:
- - - - -
in_ccache a ccache object.
in_credentials_version the credentials version to get the time offset for.
in_time_offset the new KDC time offset for in_ccache for credentials version in_credentials_version.
-
-
Returns:
On success, ccNoError. On failure, an error code representing the failure.
-
See also:
get_kdc_time_offset, clear_kdc_time_offset
-Sometimes the KDC and client's clocks get out of sync. cc_ccache_set_kdc_time_offset() sets the difference between the KDC and client's clocks at the time credentials were acquired. This offset allows callers to figure out how much time is left on a given credential even though the end_time is based on the KDC's clock not the client's clock.
-

- - - - -
- - - - -
cc_int32(* clear_kdc_time_offset)(cc_ccache_t io_ccache, cc_uint32 in_credentials_version)
-
- - - - - -
-   - - -

-cc_ccache_clear_kdc_time_offset(): Clear the KDC time offset for credentials in a ccache. -

-

Parameters:
- - - -
in_ccache a ccache object.
in_credentials_version the credentials version to get the time offset for.
-
-
Returns:
On success, ccNoError. On failure, an error code representing the failure.
-
See also:
get_kdc_time_offset, set_kdc_time_offset
-Sometimes the KDC and client's clocks get out of sync. cc_ccache_clear_kdc_time_offset() clears the difference between the KDC and client's clocks at the time credentials were acquired. This offset allows callers to figure out how much time is left on a given credential even though the end_time is based on the KDC's clock not the client's clock.
-

- - - - -
- - - - -
cc_int32(* wait_for_change)(cc_ccache_t in_ccache)
-
- - - - - -
-   - - -

-cc_ccache_wait_for_change(): Wait for the next change to a ccache. -

-

Parameters:
- - -
in_ccache a ccache object.
-
-
Returns:
On success, ccNoError. On failure, an error code representing the failure.
-This function blocks until the next change is made to the ccache referenced by in_ccache. By repeatedly calling cc_ccache_wait_for_change() from a worker thread the caller can effectively receive callbacks whenever the ccache changes. This is considerably more efficient than polling with cc_ccache_get_change_time().

-cc_ccache_wait_for_change() will return whenever:

-

    -
  • a credential is stored
  • -
  • a credential is removed
  • -
  • the ccache principal is changed
  • -
  • the ccache becomes the default ccache
  • -
  • the ccache is no longer the default ccache
  • -
-
Note:
In order to make sure that the caller doesn't miss any changes, cc_ccache_wait_for_change() always returns immediately after the first time it is called on a new ccache object. Callers must use the same ccache object for successive calls to cc_ccache_wait_for_change() rather than creating a new ccache object for every call.
-
See also:
get_change_time
-
-


Generated on Tue Oct 2 17:16:05 2007 for Credentials Cache API by  - -doxygen 1.4.6
- - diff --git a/doc/ccapi/html/structcc__ccache__iterator__d.html b/doc/ccapi/html/structcc__ccache__iterator__d.html deleted file mode 100644 index 5e85ee2da..000000000 --- a/doc/ccapi/html/structcc__ccache__iterator__d.html +++ /dev/null @@ -1,43 +0,0 @@ - - -Credentials Cache API : cc_ccache_iterator_d Struct Reference - - - - -

cc_ccache_iterator_d Struct Reference
- -[cc_ccache_iterator_t Overview] -

Data Fields

- -

Field Documentation

-

- - - - -
- - - - -
const cc_ccache_iterator_f* functions
-
- - - - - -
-   - - -

-

-


Generated on Tue Oct 2 17:16:05 2007 for Credentials Cache API by  - -doxygen 1.4.6
- - diff --git a/doc/ccapi/html/structcc__ccache__iterator__f.html b/doc/ccapi/html/structcc__ccache__iterator__f.html deleted file mode 100644 index 333aab8f4..000000000 --- a/doc/ccapi/html/structcc__ccache__iterator__f.html +++ /dev/null @@ -1,117 +0,0 @@ - - -Credentials Cache API : cc_ccache_iterator_f Struct Reference - - - - -

cc_ccache_iterator_f Struct Reference


Detailed Description

-Function pointer table for cc_ccache_iterator_t. For more information see cc_ccache_iterator_t Overview. -

-

Data Fields

- -

Field Documentation

-

- - - - -
- - - - -
cc_int32(* release)(cc_ccache_iterator_t io_ccache_iterator)
-
- - - - - -
-   - - -

-cc_ccache_iterator_release(): Release memory associated with a cc_ccache_iterator_t object. -

-

Parameters:
- - -
io_ccache_iterator the ccache iterator object to release.
-
-
Returns:
On success, ccNoError. On failure, an error code representing the failure.
-
-

- - - - -
- - - - -
cc_int32(* next)(cc_ccache_iterator_t in_ccache_iterator, cc_ccache_t *out_ccache)
-
- - - - - -
-   - - -

-cc_ccache_iterator_next(): Get the next ccache in the cache collection. -

-

Parameters:
- - - -
in_ccache_iterator a ccache iterator object.
out_ccache on exit, the next ccache in the cache collection.
-
-
Returns:
On success, ccNoError if the next ccache in the cache collection was obtained or ccIteratorEnd if there are no more ccaches. On failure, an error code representing the failure.
-
-

- - - - -
- - - - -
cc_int32(* clone)(cc_ccache_iterator_t in_ccache_iterator, cc_ccache_iterator_t *out_ccache_iterator)
-
- - - - - -
-   - - -

-cc_ccache_iterator_clone(): Make a copy of a ccache iterator. -

-

Parameters:
- - - -
in_ccache_iterator a ccache iterator object.
out_ccache_iterator on exit, a copy of in_ccache_iterator.
-
-
Returns:
On success, ccNoError. On failure, an error code representing the failure.
-
-


Generated on Tue Oct 2 17:16:05 2007 for Credentials Cache API by  - -doxygen 1.4.6
- - diff --git a/doc/ccapi/html/structcc__context__d.html b/doc/ccapi/html/structcc__context__d.html deleted file mode 100644 index d3904a2a1..000000000 --- a/doc/ccapi/html/structcc__context__d.html +++ /dev/null @@ -1,43 +0,0 @@ - - -Credentials Cache API : cc_context_d Struct Reference - - - - -

cc_context_d Struct Reference
- -[cc_context_t Overview] -

Data Fields

- -

Field Documentation

-

- - - - -
- - - - -
const cc_context_f* functions
-
- - - - - -
-   - - -

-

-


Generated on Tue Oct 2 17:16:05 2007 for Credentials Cache API by  - -doxygen 1.4.6
- - diff --git a/doc/ccapi/html/structcc__context__f.html b/doc/ccapi/html/structcc__context__f.html deleted file mode 100644 index fe310518a..000000000 --- a/doc/ccapi/html/structcc__context__f.html +++ /dev/null @@ -1,513 +0,0 @@ - - -Credentials Cache API : cc_context_f Struct Reference - - - - -

cc_context_f Struct Reference


Detailed Description

-Function pointer table for cc_context_t. For more information see cc_context_t Overview. -

-

Data Fields

- -

Field Documentation

-

- - - - -
- - - - -
cc_int32(* release)(cc_context_t io_context)
-
- - - - - -
-   - - -

-cc_context_release(): Release memory associated with a cc_context_t. -

-

Parameters:
- - -
io_context the context object to free.
-
-
Returns:
On success, ccNoError. On failure, an error code representing the failure.
-
-

- - - - -
- - - - -
cc_int32(* get_change_time)(cc_context_t in_context, cc_time_t *out_time)
-
- - - - - -
-   - - -

-cc_context_get_change_time(): Get the last time the cache collection changed. -

-

Parameters:
- - - -
in_context the context object for the cache collection to examine.
out_time on exit, the time of the most recent change for the entire ccache collection.
-
-
Returns:
On success, ccNoError. On failure, an error code representing the failure.
-This function returns the time of the most recent change for the entire ccache collection. By maintaining a local copy the caller can deduce whether or not the ccache collection has been modified since the previous call to cc_context_get_change_time().

-The time returned by cc_context_get_changed_time() increases whenever:

-

    -
  • a ccache is created
  • -
  • a ccache is destroyed
  • -
  • a credential is stored
  • -
  • a credential is removed
  • -
  • a ccache principal is changed
  • -
  • the default ccache is changed
  • -
-
Note:
In order to be able to compare two values returned by cc_context_get_change_time(), the caller must use the same context to acquire them. Callers should maintain a single context in memory for cc_context_get_change_time() calls rather than creating a new context for every call.
-
See also:
wait_for_change
-
-

- - - - -
- - - - -
cc_int32(* get_default_ccache_name)(cc_context_t in_context, cc_string_t *out_name)
-
- - - - - -
-   - - -

-cc_context_get_default_ccache_name(): Get the name of the default ccache. -

-

Parameters:
- - - -
in_context the context object for the cache collection.
out_name on exit, the name of the default ccache.
-
-
Returns:
On success, ccNoError. On failure, an error code representing the failure.
-This function returns the name of the default ccache. When the default ccache exists, its name is returned. If there are no ccaches in the collection, and thus there is no default ccache, the name that the default ccache should have is returned. The ccache with that name will be used as the default ccache by all processes which initialized Kerberos libraries before the ccache was created.

-If there is no default ccache, and the client is creating a new ccache, it should be created with the default name. If there already is a default ccache, and the client wants to create a new ccache (as opposed to reusing an existing ccache), it should be created with any unique name; create_new_ccache() can be used to accomplish that more easily.

-If the first ccache is created with a name other than the default name, then the processes already running will not notice the credentials stored in the new ccache, which is normally undesirable.

-

- - - - -
- - - - -
cc_int32(* open_ccache)(cc_context_t in_context, const char *in_name, cc_ccache_t *out_ccache)
-
- - - - - -
-   - - -

-cc_context_open_ccache(): Open a ccache. -

-

Parameters:
- - - - -
in_context the context object for the cache collection.
in_name the name of the ccache to open.
out_ccache on exit, a ccache object for the ccache
-
-
Returns:
On success, ccNoError. If no ccache named in_name exists, ccErrCCacheNotFound. On failure, an error code representing the failure.
-Opens an already existing ccache identified by its name. It returns a reference to the ccache in out_ccache.

-The list of all ccache names, principals, and credentials versions may be retrieved by calling cc_context_new_cache_iterator(), cc_ccache_get_name(), cc_ccache_get_principal(), and cc_ccache_get_cred_version().

-

- - - - -
- - - - -
cc_int32(* open_default_ccache)(cc_context_t in_context, cc_ccache_t *out_ccache)
-
- - - - - -
-   - - -

-cc_context_open_default_ccache(): Open the default ccache. -

-

Parameters:
- - - -
in_context the context object for the cache collection.
out_ccache on exit, a ccache object for the default ccache
-
-
Returns:
On success, ccNoError. If no default ccache exists, ccErrCCacheNotFound. On failure, an error code representing the failure.
-Opens the default ccache. It returns a reference to the ccache in *ccache.

-This function performs the same function as calling cc_context_get_default_ccache_name followed by cc_context_open_ccache, but it performs it atomically.

-

- - - - -
- - - - -
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_context_create_ccache(): Create a new ccache. -

-

Parameters:
- - - - - - -
in_context the context object for the cache collection.
in_name the name of the new ccache to create
in_cred_vers the version of the credentials the new ccache will hold
in_principal the client principal of the credentials the new ccache will hold
out_ccache on exit, a ccache object for the newly created ccache
-
-
Returns:
On success, ccNoError. On failure, an error code representing the failure.
-Create a new credentials cache. The ccache is uniquely identified by its name. The principal given is also associated with the ccache and the credentials version specified. A NULL name is not allowed (and ccErrBadName is returned if one is passed in). Only cc_credentials_v4 and cc_credentials_v5 are valid input values for cred_vers. If you want to create a new ccache that will hold both versions of credentials, call cc_context_create_ccache() with one version, and then cc_ccache_set_principal() with the other version.

-If you want to create a new ccache (with a unique name), you should use cc_context_create_new_ccache() instead. If you want to create or reinitialize the default cache, you should use cc_context_create_default_ccache().

-If name is non-NULL and there is already a ccache named name:

-

    -
  • the credentials in the ccache whose version is cred_vers are removed
  • -
  • the principal (of the existing ccache) associated with cred_vers is set to principal
  • -
  • a handle for the existing ccache is returned and all existing handles for the ccache remain valid
  • -
-If no ccache named name already exists:

-

    -
  • a new empty ccache is created
  • -
  • the principal of the new ccache associated with cred_vers is set to principal
  • -
  • a handle for the new ccache is returned
  • -
-For a new ccache, the name should be any unique string. The name is not intended to be presented to users.

-If the created ccache is the first ccache in the collection, it is made the default ccache. Note that normally it is undesirable to create the first ccache with a name different from the default ccache name (as returned by cc_context_get_default_ccache_name()); see the description of cc_context_get_default_ccache_name() for details.

-The principal should be a C string containing an unparsed Kerberos principal in the format of the appropriate Kerberos version, i.e.

foo.bar/@BAZ 
-      * 
for Kerberos v4 and
foo/bar/@BAZ 
for Kerberos v5.
-

- - - - -
- - - - -
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_context_create_default_ccache(): Create a new default ccache. -

-

Parameters:
- - - - - -
in_context the context object for the cache collection.
in_cred_vers the version of the credentials the new default ccache will hold
in_principal the client principal of the credentials the new default ccache will hold
out_ccache on exit, a ccache object for the newly created default ccache
-
-
Returns:
On success, ccNoError. On failure, an error code representing the failure.
-Create the default credentials cache. The behavior of this function is similar to that of cc_create_ccache(). If there is a default ccache (which is always the case except when there are no ccaches at all in the collection), it is initialized with the specified credentials version and principal, as per cc_create_ccache(); otherwise, a new ccache is created, and its name is the name returned by cc_context_get_default_ccache_name().
-

- - - - -
- - - - -
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_context_create_new_ccache(): Create a new uniquely named ccache. -

-

Parameters:
- - - - - -
in_context the context object for the cache collection.
in_cred_vers the version of the credentials the new ccache will hold
in_principal the client principal of the credentials the new ccache will hold
out_ccache on exit, a ccache object for the newly created ccache
-
-
Returns:
On success, ccNoError. On failure, an error code representing the failure.
-Create a new unique credentials cache. The behavior of this function is similar to that of cc_create_ccache(). If there are no ccaches, and therefore no default ccache, the new ccache is created with the default ccache name as would be returned by get_default_ccache_name(). If there are some ccaches, and therefore there is a default ccache, the new ccache is created with a new unique name. Clearly, this function never reinitializes a ccache, since it always uses a unique name.
-

- - - - -
- - - - -
cc_int32(* new_ccache_iterator)(cc_context_t in_context, cc_ccache_iterator_t *out_iterator)
-
- - - - - -
-   - - -

-cc_context_new_ccache_iterator(): Get an iterator for the cache collection. -

-

Parameters:
- - - -
in_context the context object for the cache collection.
out_iterator on exit, a ccache iterator object for the ccache collection.
-
-
Returns:
On success, ccNoError. On failure, an error code representing the failure.
-Used to allocate memory and initialize iterator. Successive calls to iterator's next() function will return ccaches in the collection.

-If changes are made to the collection while an iterator is being used on it, the iterator must return at least the intersection, and at most the union, of the set of ccaches that were present when the iteration began and the set of ccaches that are present when it ends.

-

- - - - -
- - - - -
cc_int32(* lock)(cc_context_t in_context, cc_uint32 in_lock_type, cc_uint32 in_block)
-
- - - - - -
-   - - -

-cc_context_lock(): Lock the cache collection. -

-

Parameters:
- - - - -
in_context the context object for the cache collection.
in_lock_type the type of lock to obtain.
in_block whether or not the function should block if the lock cannot be obtained immediately.
-
-
Returns:
On success, ccNoError. On failure, an error code representing the failure.
-Attempts to acquire an advisory lock for the ccache collection. Allowed values for lock_type are:

-

    -
  • cc_lock_read: a read lock.
  • -
  • cc_lock_write: a write lock
  • -
  • cc_lock_upgrade: upgrade an already-obtained read lock to a write lock
  • -
  • cc_lock_downgrade: downgrade an already-obtained write lock to a read lock
  • -
-If block is cc_lock_block, lock() will not return until the lock is acquired. If block is cc_lock_noblock, lock() will return immediately, either acquiring the lock and returning ccNoError, or failing to acquire the lock and returning an error explaining why.

-Locks apply only to the list of ccaches, not the contents of those ccaches. To prevent callers participating in the advisory locking from changing the credentials in a cache you must also lock that ccache with cc_ccache_lock(). This is so that you can get the list of ccaches without preventing applications from simultaneously obtaining service tickets.

-To avoid having to deal with differences between thread semantics on different platforms, locks are granted per context, rather than per thread or per process. That means that different threads of execution have to acquire separate contexts in order to be able to synchronize with each other.

-The lock should be unlocked by using cc_context_unlock().

-

Note:
All locks are advisory. For example, callers which do not call cc_context_lock() and cc_context_unlock() will not be prevented from writing to the cache collection when you have a read lock. This is because the CCAPI locking was added after the first release and thus adding mandatory locks would have changed the user experience and performance of existing applications.
-
-

- - - - -
- - - - -
cc_int32(* unlock)(cc_context_t in_cc_context)
-
- - - - - -
-   - - -

-cc_context_unlock(): Unlock the cache collection. -

-

Parameters:
- - -
in_context the context object for the cache collection.
-
-
Returns:
On success, ccNoError. On failure, an error code representing the failure.
-
-

- - - - -
- - - - -
cc_int32(* compare)(cc_context_t in_cc_context, cc_context_t in_compare_to_context, cc_uint32 *out_equal)
-
- - - - - -
-   - - -

-cc_context_compare(): Compare two context objects. -

-

Parameters:
- - - - -
in_context a context object.
in_compare_to_context a context object to compare with in_context.
out_equal on exit, whether or not the two contexts refer to the same cache collection.
-
-
Returns:
On success, ccNoError. On failure, an error code representing the failure.
-
-

- - - - -
- - - - -
cc_int32(* wait_for_change)(cc_context_t in_cc_context)
-
- - - - - -
-   - - -

-cc_context_wait_for_change(): Wait for the next change in the cache collection. -

-

Parameters:
- - -
in_context a context object.
-
-
Returns:
On success, ccNoError. On failure, an error code representing the failure.
-This function blocks until the next change is made to the cache collection ccache collection. By repeatedly calling cc_context_wait_for_change() from a worker thread the caller can effectively receive callbacks whenever the cache collection changes. This is considerably more efficient than polling with cc_context_get_change_time().

-cc_context_wait_for_change() will return whenever:

-

    -
  • a ccache is created
  • -
  • a ccache is destroyed
  • -
  • a credential is stored
  • -
  • a credential is removed
  • -
  • a ccache principal is changed
  • -
  • the default ccache is changed
  • -
-
Note:
In order to make sure that the caller doesn't miss any changes, cc_context_wait_for_change() always returns immediately after the first time it is called on a new context object. Callers must use the same context object for successive calls to cc_context_wait_for_change() rather than creating a new context for every call.
-
See also:
get_change_time
-
-


Generated on Tue Oct 2 17:16:05 2007 for Credentials Cache API by  - -doxygen 1.4.6
- - diff --git a/doc/ccapi/html/structcc__credentials__d.html b/doc/ccapi/html/structcc__credentials__d.html deleted file mode 100644 index 8a13251e5..000000000 --- a/doc/ccapi/html/structcc__credentials__d.html +++ /dev/null @@ -1,67 +0,0 @@ - - -Credentials Cache API : cc_credentials_d Struct Reference - - - - -

cc_credentials_d Struct Reference
- -[cc_credentials_t Overview] -

Data Fields

- -

Field Documentation

-

- - - - -
- - - - -
const cc_credentials_union* data
-
- - - - - -
-   - - -

-

-

- - - - -
- - - - -
const cc_credentials_f* functions
-
- - - - - -
-   - - -

-

-


Generated on Tue Oct 2 17:16:06 2007 for Credentials Cache API by  - -doxygen 1.4.6
- - diff --git a/doc/ccapi/html/structcc__credentials__f.html b/doc/ccapi/html/structcc__credentials__f.html deleted file mode 100644 index 91f4b3adb..000000000 --- a/doc/ccapi/html/structcc__credentials__f.html +++ /dev/null @@ -1,85 +0,0 @@ - - -Credentials Cache API : cc_credentials_f Struct Reference - - - - -

cc_credentials_f Struct Reference


Detailed Description

-Function pointer table for cc_credentials_t. For more information see cc_credentials_t Overview. -

-

Data Fields

- -

Field Documentation

-

- - - - -
- - - - -
cc_int32(* release)(cc_credentials_t io_credentials)
-
- - - - - -
-   - - -

-cc_credentials_release(): Release memory associated with a cc_credentials_t object. -

-

Parameters:
- - -
io_credentials the credentials object to release.
-
-
Returns:
On success, ccNoError. On failure, an error code representing the failure.
-
-

- - - - -
- - - - -
cc_int32(* compare)(cc_credentials_t in_credentials, cc_credentials_t in_compare_to_credentials, cc_uint32 *out_equal)
-
- - - - - -
-   - - -

-cc_credentials_compare(): Compare two credentials objects. -

-

Parameters:
- - - - -
in_credentials a credentials object.
in_compare_to_credentials a credentials object to compare with in_credentials.
out_equal on exit, whether or not the two credentials objects refer to the same credentials in the cache collection.
-
-
Returns:
On success, ccNoError. On failure, an error code representing the failure.
-
-


Generated on Tue Oct 2 17:16:06 2007 for Credentials Cache API by  - -doxygen 1.4.6
- - diff --git a/doc/ccapi/html/structcc__credentials__iterator__d.html b/doc/ccapi/html/structcc__credentials__iterator__d.html deleted file mode 100644 index 5682db0ed..000000000 --- a/doc/ccapi/html/structcc__credentials__iterator__d.html +++ /dev/null @@ -1,43 +0,0 @@ - - -Credentials Cache API : cc_credentials_iterator_d Struct Reference - - - - -

cc_credentials_iterator_d Struct Reference
- -[cc_credentials_iterator_t] -

Data Fields

- -

Field Documentation

-

- - - - -
- - - - -
const cc_credentials_iterator_f* functions
-
- - - - - -
-   - - -

-

-


Generated on Tue Oct 2 17:16:06 2007 for Credentials Cache API by  - -doxygen 1.4.6
- - diff --git a/doc/ccapi/html/structcc__credentials__iterator__f.html b/doc/ccapi/html/structcc__credentials__iterator__f.html deleted file mode 100644 index 66aec178a..000000000 --- a/doc/ccapi/html/structcc__credentials__iterator__f.html +++ /dev/null @@ -1,85 +0,0 @@ - - -Credentials Cache API : cc_credentials_iterator_f Struct Reference - - - - -

cc_credentials_iterator_f Struct Reference


Detailed Description

-Function pointer table for cc_credentials_iterator_t. For more information see cc_credentials_iterator_t. -

-

Data Fields

- -

Field Documentation

-

- - - - -
- - - - -
cc_int32(* release)(cc_credentials_iterator_t io_credentials_iterator)
-
- - - - - -
-   - - -

-cc_credentials_iterator_release(): Release memory associated with a cc_credentials_iterator_t object. -

-

Parameters:
- - -
io_credentials_iterator the credentials iterator object to release.
-
-
Returns:
On success, ccNoError. On failure, an error code representing the failure.
-
-

- - - - -
- - - - -
cc_int32(* next)(cc_credentials_iterator_t in_credentials_iterator, cc_credentials_t *out_credentials)
-
- - - - - -
-   - - -

-cc_credentials_iterator_next(): Get the next credentials in the ccache. -

-

Parameters:
- - - -
in_credentials_iterator a credentials iterator object.
out_credentials on exit, the next credentials in the ccache.
-
-
Returns:
On success, ccNoError if the next credential in the ccache was obtained or ccIteratorEnd if there are no more credentials. On failure, an error code representing the failure.
-
-


Generated on Tue Oct 2 17:16:06 2007 for Credentials Cache API by  - -doxygen 1.4.6
- - diff --git a/doc/ccapi/html/structcc__credentials__union.html b/doc/ccapi/html/structcc__credentials__union.html deleted file mode 100644 index 6082346cc..000000000 --- a/doc/ccapi/html/structcc__credentials__union.html +++ /dev/null @@ -1,118 +0,0 @@ - - -Credentials Cache API : cc_credentials_union Struct Reference - - - - -

cc_credentials_union Struct Reference
- -[cc_credentials_t Overview] -

Data Fields

- -

Field Documentation

-

- - - - -
- - - - -
cc_uint32 version
-
- - - - - -
-   - - -

-The credentials version of this credentials object.

-

- - - - -
- - - - -
cc_credentials_v4_t* credentials_v4
-
- - - - - -
-   - - -

-If version is cc_credentials_v4, a pointer to a cc_credentials_v4_t.

-

- - - - -
- - - - -
cc_credentials_v5_t* credentials_v5
-
- - - - - -
-   - - -

-If version is cc_credentials_v5, a pointer to a cc_credentials_v5_t.

-

- - - - -
- - - - -
union { ... } credentials
-
- - - - - -
-   - - -

-The credentials.

-


Generated on Tue Oct 2 17:16:06 2007 for Credentials Cache API by  - -doxygen 1.4.6
- - diff --git a/doc/ccapi/html/structcc__credentials__v4__t.html b/doc/ccapi/html/structcc__credentials__v4__t.html deleted file mode 100644 index 086e7fea7..000000000 --- a/doc/ccapi/html/structcc__credentials__v4__t.html +++ /dev/null @@ -1,358 +0,0 @@ - - -Credentials Cache API : cc_credentials_v4_t Struct Reference - - - - -

cc_credentials_v4_t Struct Reference
- -[cc_credentials_t Overview] -


Detailed Description

-If a cc_credentials_t variable is used to store Kerberos v4 credentials, then credentials.credentials_v4 points to a v4 credentials structure. This structure is similar to a krb4 API CREDENTIALS structure. -

-

Data Fields

- -

Field Documentation

-

- - - - -
- - - - -
cc_uint32 version
-
- - - - - -
-   - - -

-

-

- - - - -
- - - - -
char principal[cc_v4_name_size]
-
- - - - - -
-   - - -

-A properly quoted string representation of the first component of the client principal

-

- - - - -
- - - - -
char principal_instance[cc_v4_instance_size]
-
- - - - - -
-   - - -

-A properly quoted string representation of the second component of the client principal

-

- - - - -
- - - - -
char service[cc_v4_name_size]
-
- - - - - -
-   - - -

-A properly quoted string representation of the first component of the service principal

-

- - - - -
- - - - -
char service_instance[cc_v4_instance_size]
-
- - - - - -
-   - - -

-A properly quoted string representation of the second component of the service principal

-

- - - - -
- - - - -
char realm[cc_v4_realm_size]
-
- - - - - -
-   - - -

-A properly quoted string representation of the realm

-

- - - - -
- - - - -
unsigned char session_key[cc_v4_key_size]
-
- - - - - -
-   - - -

-Ticket session key

-

- - - - -
- - - - -
cc_int32 kvno
-
- - - - - -
-   - - -

-Key version number

-

- - - - -
- - - - -
cc_int32 string_to_key_type
-
- - - - - -
-   - - -

-String to key type used. See cc_string_to_key_type for valid values

-

- - - - -
- - - - -
cc_time_t issue_date
-
- - - - - -
-   - - -

-Time when the ticket was issued

-

- - - - -
- - - - -
cc_int32 lifetime
-
- - - - - -
-   - - -

-Ticket lifetime in 5 minute units

-

- - - - -
- - - - -
cc_uint32 address
-
- - - - - -
-   - - -

-IPv4 address of the client the ticket was issued for

-

- - - - -
- - - - -
cc_int32 ticket_size
-
- - - - - -
-   - - -

-Ticket size (no greater than cc_v4_ticket_size)

-

- - - - -
- - - - -
unsigned char ticket[cc_v4_ticket_size]
-
- - - - - -
-   - - -

-Ticket data

-


Generated on Tue Oct 2 17:16:06 2007 for Credentials Cache API by  - -doxygen 1.4.6
- - diff --git a/doc/ccapi/html/structcc__credentials__v5__t.html b/doc/ccapi/html/structcc__credentials__v5__t.html deleted file mode 100644 index ad0996281..000000000 --- a/doc/ccapi/html/structcc__credentials__v5__t.html +++ /dev/null @@ -1,334 +0,0 @@ - - -Credentials Cache API : cc_credentials_v5_t Struct Reference - - - - -

cc_credentials_v5_t Struct Reference
- -[cc_credentials_t Overview] -


Detailed Description

-If a cc_credentials_t variable is used to store Kerberos v5 c redentials, and then credentials.credentials_v5 points to a v5 credentials structure. This structure is similar to a krb5_creds structure. -

-

Data Fields

- -

Field Documentation

-

- - - - -
- - - - -
char* client
-
- - - - - -
-   - - -

-A properly quoted string representation of the client principal.

-

- - - - -
- - - - -
char* server
-
- - - - - -
-   - - -

-A properly quoted string representation of the service principal.

-

- - - - -
- - - - -
cc_data keyblock
-
- - - - - -
-   - - -

-Session encryption key info.

-

- - - - -
- - - - -
cc_time_t authtime
-
- - - - - -
-   - - -

-The time when the ticket was issued.

-

- - - - -
- - - - -
cc_time_t starttime
-
- - - - - -
-   - - -

-The time when the ticket becomes valid.

-

- - - - -
- - - - -
cc_time_t endtime
-
- - - - - -
-   - - -

-The time when the ticket expires.

-

- - - - -
- - - - -
cc_time_t renew_till
-
- - - - - -
-   - - -

-The time when the ticket becomes no longer renewable (if renewable).

-

- - - - -
- - - - -
cc_uint32 is_skey
-
- - - - - -
-   - - -

-1 if the ticket is encrypted in another ticket's key, or 0 otherwise.

-

- - - - -
- - - - -
cc_uint32 ticket_flags
-
- - - - - -
-   - - -

-Ticket flags, as defined by the Kerberos 5 API.

-

- - - - -
- - - - -
cc_data** addresses
-
- - - - - -
-   - - -

-The the list of network addresses of hosts that are allowed to authenticate using this ticket.

-

- - - - -
- - - - -
cc_data ticket
-
- - - - - -
-   - - -

-Ticket data.

-

- - - - -
- - - - -
cc_data second_ticket
-
- - - - - -
-   - - -

-Second ticket data.

-

- - - - -
- - - - -
cc_data** authdata
-
- - - - - -
-   - - -

-Authorization data.

-


Generated on Tue Oct 2 17:16:06 2007 for Credentials Cache API by  - -doxygen 1.4.6
- - diff --git a/doc/ccapi/html/structcc__data.html b/doc/ccapi/html/structcc__data.html deleted file mode 100644 index 346f6a41d..000000000 --- a/doc/ccapi/html/structcc__data.html +++ /dev/null @@ -1,94 +0,0 @@ - - -Credentials Cache API : cc_data Struct Reference - - - - -

cc_data Struct Reference
- -[cc_credentials_t Overview] -


Detailed Description

-The CCAPI data structure. This structure is similar to a krb5_data structure. In a v5 credentials structure, cc_data structures are used to store tagged variable-length binary data. Specifically, for cc_credentials_v5.ticket and cc_credentials_v5.second_ticket, the cc_data.type field must be zero. For the cc_credentials_v5.addresses, cc_credentials_v5.authdata, and cc_credentials_v5.keyblock, the cc_data.type field should be the address type, authorization data type, and encryption type, as defined by the Kerberos v5 protocol definition. -

-

Data Fields

- -

Field Documentation

-

- - - - -
- - - - -
cc_uint32 type
-
- - - - - -
-   - - -

-The type of the data as defined by the krb5_data structure.

-

- - - - -
- - - - -
cc_uint32 length
-
- - - - - -
-   - - -

-The length of data.

-

- - - - -
- - - - -
void* data
-
- - - - - -
-   - - -

-The data buffer.

-


Generated on Tue Oct 2 17:16:06 2007 for Credentials Cache API by  - -doxygen 1.4.6
- - diff --git a/doc/ccapi/html/structcc__string__d.html b/doc/ccapi/html/structcc__string__d.html deleted file mode 100644 index b38286b3e..000000000 --- a/doc/ccapi/html/structcc__string__d.html +++ /dev/null @@ -1,67 +0,0 @@ - - -Credentials Cache API : cc_string_d Struct Reference - - - - -

cc_string_d Struct Reference
- -[cc_string_t Overview] -

Data Fields

- -

Field Documentation

-

- - - - -
- - - - -
const char* data
-
- - - - - -
-   - - -

-

-

- - - - -
- - - - -
const cc_string_f* functions
-
- - - - - -
-   - - -

-

-


Generated on Tue Oct 2 17:16:06 2007 for Credentials Cache API by  - -doxygen 1.4.6
- - diff --git a/doc/ccapi/html/structcc__string__f.html b/doc/ccapi/html/structcc__string__f.html deleted file mode 100644 index d5f738f49..000000000 --- a/doc/ccapi/html/structcc__string__f.html +++ /dev/null @@ -1,51 +0,0 @@ - - -Credentials Cache API : cc_string_f Struct Reference - - - - -

cc_string_f Struct Reference


Detailed Description

-Function pointer table for cc_string_t. For more information see cc_string_t Overview. -

-

Data Fields

- -

Field Documentation

-

- - - - -
- - - - -
cc_int32(* release)(cc_string_t io_string)
-
- - - - - -
-   - - -

-cc_string_release(): Release memory associated with a cc_string_t object. -

-

Parameters:
- - -
io_string the string object to release.
-
-
Returns:
On success, ccNoError. On failure, an error code representing the failure.
-
-


Generated on Tue Oct 2 17:16:06 2007 for Credentials Cache API by  - -doxygen 1.4.6
- -