aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorMiro Jurisic <meeroh@mit.edu>1999-11-22 22:49:33 +0000
committerMiro Jurisic <meeroh@mit.edu>1999-11-22 22:49:33 +0000
commit1aa0a3d4013f06a4cda7eeb407664da867818332 (patch)
tree448d9bb914dc751f18da5b091e8f0d144b3a72df /src
parent93a6c21f2f9d86949c24812918fe63b6e44e31bb (diff)
downloadkrb5-1aa0a3d4013f06a4cda7eeb407664da867818332.zip
krb5-1aa0a3d4013f06a4cda7eeb407664da867818332.tar.gz
krb5-1aa0a3d4013f06a4cda7eeb407664da867818332.tar.bz2
Replaced Kerberos5GlobalsLib calls with CCAPI v3 calls on MacOS
git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@11907 dc483132-0cff-0310-8789-dd5450dbe970
Diffstat (limited to 'src')
-rw-r--r--src/lib/krb5/os/ChangeLog5
-rw-r--r--src/lib/krb5/os/ccdefname.c35
2 files changed, 34 insertions, 6 deletions
diff --git a/src/lib/krb5/os/ChangeLog b/src/lib/krb5/os/ChangeLog
index 11af1db..589ebaf 100644
--- a/src/lib/krb5/os/ChangeLog
+++ b/src/lib/krb5/os/ChangeLog
@@ -1,3 +1,8 @@
+1999-11-22 Miro Jurisic <meeroh@mit.edu>
+
+ * ccdefname.c (get_from_os): Replaced Kerberos5GlobalsLib calls
+ with CCAPI v3 calls
+
1999-11-02 Ken Raeburn <raeburn@mit.edu>
* 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 b6eb4ae..53e7888 100644
--- a/src/lib/krb5/os/ccdefname.c
+++ b/src/lib/krb5/os/ccdefname.c
@@ -32,7 +32,7 @@
#include <stdio.h>
#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