From 2d1b43f4590c2ae6b5ab4aa18c740508ded2a37a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Love=20H=C3=B6rnquist=20=C3=85strand?= Date: Tue, 18 Mar 2003 04:24:20 +0000 Subject: [PATCH] make build without KRB4 git-svn-id: svn://svn.h5l.se/heimdal/trunk/heimdal@11844 ec53bebd-3082-4978-b11e-865c3cabbd6b --- appl/afsutil/afslog.c | 52 +++++++++++++++++++++++++++++++++---------- 1 file changed, 40 insertions(+), 12 deletions(-) diff --git a/appl/afsutil/afslog.c b/appl/afsutil/afslog.c index 50b2084b7..53dc43a82 100644 --- a/appl/afsutil/afslog.c +++ b/appl/afsutil/afslog.c @@ -1,5 +1,5 @@ /* - * Copyright (c) 1997-2002 Kungliga Tekniska Högskolan + * Copyright (c) 1997-2003 Kungliga Tekniska Högskolan * (Royal Institute of Technology, Stockholm, Sweden). * All rights reserved. * @@ -39,7 +39,9 @@ RCSID("$Id$"); #ifdef KRB5 #include #endif +#ifdef KRB4 #include +#endif #include #include #include @@ -55,12 +57,24 @@ static char *realm; static getarg_strings files; static int unlog_flag; static int verbose; +#ifdef KRB4 +static int use_krb4 = 1; +#endif +#ifdef KRB5 +static int use_krb5 = 1; +#endif struct getargs args[] = { { "cell", 'c', arg_strings, &cells, "cells to get tokens for", "cell" }, { "file", 'p', arg_strings, &files, "files to get tokens for", "path" }, { "realm", 'k', arg_string, &realm, "realm for afs cell", "realm" }, { "unlog", 'u', arg_flag, &unlog_flag, "remove tokens" }, +#ifdef KRB4 + { "v4", 0, arg_negative_flag, &use_krb4, "use Kerberos 4" }, +#endif +#ifdef KRB5 + { "v5", 0, arg_negative_flag, &use_krb5, "use Kerberos 5" }, +#endif #if 0 { "create-user", 0, arg_flag, &create_user, "create user if not found" }, #endif @@ -214,21 +228,35 @@ afslog_file(const char *path) static int do_afslog(const char *cell) { - int ret; + int k5ret, k4ret; + + k5ret = k4ret = 0; + #ifdef KRB5 - if(context != NULL && id != NULL) { - ret = krb5_afslog(context, id, cell, NULL); - if(ret == 0) + if(context != NULL && id != NULL && use_krb5) { + k5ret = krb5_afslog(context, id, cell, NULL); + if(k5ret == 0) return 0; - if(verbose) - warnx("krb5_afslog(%s): %s", cell, - krb5_get_err_text(context, ret)); } #endif - ret = krb_afslog(cell, NULL); - if(ret) - warnx("krb_afslog(%s): %s", cell, krb_get_err_text(ret)); - return ret; +#if KRB4 + if (use_krb4) { + k4ret = krb_afslog(cell, NULL); + if(k4ret == 0) + return 0; + } +#endif +#ifdef KRB5 + if (k5ret) + warnx("krb5_afslog(%s): %s", cell, krb5_get_err_text(context, k5ret)); +#endif +#ifdef KRB4 + if (k4ret) + warnx("krb_afslog(%s): %s", cell, krb_get_err_text(k4ret)); +#endif + if (k5ret || k4ret) + return 1; + return 0; } int