[OpenAFS-devel] krb5 token tools.
Sean O'Malley
omalleys@msu.edu
Wed, 7 Nov 2007 08:51:32 -0500 (EST)
Am I supposed to have rxk5 support while building krb5 utilities?
I was trying to build Solaris 10/x86 with sun krb5 against cvs head and it
was failing miserably.
The two biggest issues were libcom_err.a wasn't being linked.
I manually added that to the compile. I made a couple of changes to klog.c
The first I assume is because it wasn't including com_err.h
the second is a hack I stole from Marcus and the rxk5 peeps, but I think
the ifdef isn't correct. It should be something like
#ifndef SUNKRB5 with a test somewhere to define it because you should be
able to use another krb5 on Solaris.
Once I got this compiled, the klog utility worked with krb5 but core
dumped with the -tmp flag.
Here is what I added:
Index: openafs/src/aklog/klog.c
===================================================================
RCS file: /cvs/openafs/src/aklog/klog.c,v
retrieving revision 1.4
diff -u -r1.4 klog.c
--- openafs/src/aklog/klog.c 5 Nov 2007 21:43:00 -0000 1.4
+++ openafs/src/aklog/klog.c 7 Nov 2007 03:43:00 -0000
@@ -390,7 +390,7 @@
Silent = (as->parms[aSILENT].items ? 1 : 0);
if (Silent) {
- set_com_err_hook(silent_errors);
+ afs_set_com_err_hook(silent_errors);
}
if ((code = krb5_init_context(&k5context))) {
@@ -598,9 +598,11 @@
what = "getting default ccache";
code = krb5_cc_default(k5context, &cc);
} else {
+#ifndef sun
what = "krb5_cc_register";
code = krb5_cc_register(k5context, &krb5_mcc_ops, FALSE);
if (code && code != KRB5_CC_TYPE_EXISTS) goto Failed;
+#endif
what = "krb5_cc_resolve";
code = krb5_cc_resolve(k5context, "MEMORY:core", &cc);
if (code) goto Failed;
--------------------------------------
Sean O'Malley, Information Technologist
Michigan State University
-------------------------------------