From 1aa0a3d4013f06a4cda7eeb407664da867818332 Mon Sep 17 00:00:00 2001 From: Miro Jurisic Date: Mon, 22 Nov 1999 22:49:33 +0000 Subject: [PATCH] Replaced Kerberos5GlobalsLib calls with CCAPI v3 calls on MacOS git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@11907 dc483132-0cff-0310-8789-dd5450dbe970 --- src/lib/krb5/os/ChangeLog | 5 +++++ src/lib/krb5/os/ccdefname.c | 35 +++++++++++++++++++++++++++++------ 2 files changed, 34 insertions(+), 6 deletions(-) diff --git a/src/lib/krb5/os/ChangeLog b/src/lib/krb5/os/ChangeLog index 11af1db4e..589ebafa3 100644 --- a/src/lib/krb5/os/ChangeLog +++ b/src/lib/krb5/os/ChangeLog @@ -1,3 +1,8 @@ +1999-11-22 Miro Jurisic + + * ccdefname.c (get_from_os): Replaced Kerberos5GlobalsLib calls + with CCAPI v3 calls + 1999-11-02 Ken Raeburn * localaddr.c (krb5_os_localaddr): Conditionalize INET6 support on diff --git a/src/lib/krb5/os/ccdefname.c b/src/lib/krb5/os/ccdefname.c index b6eb4aea0..53e788859 100644 --- a/src/lib/krb5/os/ccdefname.c +++ b/src/lib/krb5/os/ccdefname.c @@ -32,7 +32,7 @@ #include #ifdef macintosh -#include "Krb5Globals.h" +#include "CCache.h" #endif #if defined(_WIN32) @@ -190,11 +190,34 @@ static krb5_error_code get_from_os(char *name_buf, int name_size) static krb5_error_code get_from_os(char *name_buf, int name_size) { - if (name_size < 4) - return ENOMEM; - Krb5GlobalsGetDefaultCacheName (name_buf + 4, name_size - 4); - memcpy (name_buf, "API:", 4); - return 0; + krb5_error_code result = 0; + cc_context_t cc_context = NULL; + cc_string_t default_name = NULL; + + cc_int32 ccerr = cc_initialize (&cc_context, ccapi_version_3, NULL, NULL); + if (ccerr == ccNoError) { + ccerr = cc_context_get_default_ccache_name (cc_context, &default_name); + } + + if (ccerr == ccNoError) { + if (strlen (default_name -> data) + 5 > name_size) { + result = ENOMEM; + goto cleanup; + } else { + sprintf (name_buf, "API:%s", default_name -> data); + } + } + +cleanup: + if (cc_context != NULL) { + cc_context_release (cc_context); + } + + if (default_name != NULL) { + cc_string_release (default_name); + } + + return result; } #else -- 2.26.2