summaryrefslogtreecommitdiffstats
path: root/src/clients/kdestroy
diff options
context:
space:
mode:
authorGreg Hudson <ghudson@mit.edu>2008-12-15 19:37:51 +0000
committerGreg Hudson <ghudson@mit.edu>2008-12-15 19:37:51 +0000
commit38d175630716003c7c4fe9eb5284a66aedf1e119 (patch)
treeb493229e36917e4cdd5954c0a413bd19bfabbc65 /src/clients/kdestroy
parentb03dd7a3955864c7f84742ac37a97cf00bcd786e (diff)
downloadkrb5-38d175630716003c7c4fe9eb5284a66aedf1e119.tar.gz
krb5-38d175630716003c7c4fe9eb5284a66aedf1e119.tar.xz
krb5-38d175630716003c7c4fe9eb5284a66aedf1e119.zip
Remove krb4 support from clients. Some of the code has been
simplified to remove architectural relics of the -4 and -5 options, but more simplification is likely possible, particularly in kinit. ticket: 6303 status: open git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@21449 dc483132-0cff-0310-8789-dd5450dbe970
Diffstat (limited to 'src/clients/kdestroy')
-rw-r--r--src/clients/kdestroy/Makefile.in4
-rw-r--r--src/clients/kdestroy/kdestroy.M25
-rw-r--r--src/clients/kdestroy/kdestroy.c128
3 files changed, 28 insertions, 129 deletions
diff --git a/src/clients/kdestroy/Makefile.in b/src/clients/kdestroy/Makefile.in
index 876951d2bf..301893cd8c 100644
--- a/src/clients/kdestroy/Makefile.in
+++ b/src/clients/kdestroy/Makefile.in
@@ -22,8 +22,8 @@ PROG_RPATH=$(KRB5_LIBDIR)
all-unix:: kdestroy
##WIN32##all-windows:: $(KDESTROY)
-kdestroy: kdestroy.o $(KRB4COMPAT_DEPLIBS)
- $(CC_LINK) -o $@ kdestroy.o $(KRB4COMPAT_LIBS)
+kdestroy: kdestroy.o $(KRB5_BASE_DEPLIBS)
+ $(CC_LINK) -o $@ kdestroy.o $(KRB5_BASE_LIBS)
##WIN32##$(KDESTROY): $(OUTPRE)kdestroy.obj $(BUILDTOP)\util\windows\$(OUTPRE)getopt.obj $(KLIB) $(CLIB) $(EXERES)
##WIN32## link $(EXE_LINKOPTS) -out:$@ $**
diff --git a/src/clients/kdestroy/kdestroy.M b/src/clients/kdestroy/kdestroy.M
index c7d0135b72..ada2ae3dcf 100644
--- a/src/clients/kdestroy/kdestroy.M
+++ b/src/clients/kdestroy/kdestroy.M
@@ -26,7 +26,7 @@
kdestroy \- destroy Kerberos tickets
.SH SYNOPSIS
.B kdestroy
-[\fB\-5\fP] [\fB\-4\fP] [\fB\-q\fP] [\fB\-c\fP \fIcache_name]
+[\fB\-q\fP] [\fB\-c\fP \fIcache_name]
.br
.SH DESCRIPTION
The
@@ -35,24 +35,8 @@ utility destroys the user's active Kerberos authorization tickets by
writing zeros to the specified credentials cache that contains them. If
the credentials cache is not specified, the default credentials cache is
destroyed.
-If kdestroy was built with Kerberos 4 support, the default behavior is to
-destroy both Kerberos 5 and Kerberos 4 credentials. Otherwise, kdestroy
-will default to destroying only Kerberos 5 credentials.
.SH OPTIONS
.TP
-.B \-5
-destroy Kerberos 5 credentials. This overrides whatever the default built-in
-behavior may be. This option may be used with
-.B \-4
-.
-.TP
-.B \-4
-destroy Kerberos 4 credentials. This overrides whatever the default built-in
-behavior may be. This option is only available if kinit was built
-with Kerberos 4 compatibility. This option may be used with
-.B \-5
-.
-.TP
.B \-q
Run quietly. Normally
.B kdestroy
@@ -82,18 +66,11 @@ uses the following environment variables:
.TP "\w'.SM KRB5CCNAME\ \ 'u"
.SM KRB5CCNAME
Location of the Kerberos 5 credentials (ticket) cache.
-.TP "\w'.SM KRBTKFILE\ \ 'u"
-.SM KRBTKFILE
-Filename of the Kerberos 4 credentials (ticket) cache.
.SH FILES
.TP "\w'/tmp/krb5cc_[uid]\ \ 'u"
/tmp/krb5cc_[uid]
default location of Kerberos 5 credentials cache
([uid] is the decimal UID of the user).
-.TP "\w'/tmp/tkt[uid]\ \ 'u"
-/tmp/tkt[uid]
-default location of Kerberos 4 credentials cache
-([uid] is the decimal UID of the user).
.SH SEE ALSO
kinit(1), klist(1), krb5(3)
.SH BUGS
diff --git a/src/clients/kdestroy/kdestroy.c b/src/clients/kdestroy/kdestroy.c
index f7bcef7cdd..3f2f326823 100644
--- a/src/clients/kdestroy/kdestroy.c
+++ b/src/clients/kdestroy/kdestroy.c
@@ -36,10 +36,6 @@
#include <unistd.h>
#endif
-#ifdef KRB5_KRB4_COMPAT
-#include <kerberosIV/krb.h>
-#endif
-
#ifdef __STDC__
#define BELL_CHAR '\a'
#else
@@ -57,29 +53,12 @@ extern char *optarg;
char *progname;
-int got_k5 = 0;
-int got_k4 = 0;
-
-int default_k5 = 1;
-#ifdef KRB5_KRB4_COMPAT
-int default_k4 = 1;
-#else
-int default_k4 = 0;
-#endif
-
static void usage()
{
#define KRB_AVAIL_STRING(x) ((x)?"available":"not available")
- fprintf(stderr, "Usage: %s [-5] [-4] [-q] [-c cache_name]\n", progname);
- fprintf(stderr, "\t-5 Kerberos 5 (%s)\n", KRB_AVAIL_STRING(got_k5));
- fprintf(stderr, "\t-4 Kerberos 4 (%s)\n", KRB_AVAIL_STRING(got_k4));
- fprintf(stderr, "\t (Default is %s%s%s%s)\n",
- default_k5?"Kerberos 5":"",
- (default_k5 && default_k4)?" and ":"",
- default_k4?"Kerberos 4":"",
- (!default_k5 && !default_k4)?"neither":"");
+ fprintf(stderr, "Usage: %s [-q] [-c cache_name]\n", progname);
fprintf(stderr, "\t-q quiet mode\n");
fprintf(stderr, "\t-c specify name of credentials cache\n");
exit(2);
@@ -96,23 +75,11 @@ main(argc, argv)
krb5_ccache cache = NULL;
char *cache_name = NULL;
int code = 0;
-#ifdef KRB5_KRB4_COMPAT
- int v4code = 0;
- int v4 = 1;
-#endif
int errflg = 0;
int quiet = 0;
- int use_k5 = 0;
- int use_k4 = 0;
-
progname = GET_PROGNAME(argv[0]);
- got_k5 = 1;
-#ifdef KRB5_KRB4_COMPAT
- got_k4 = 1;
-#endif
-
while ((c = getopt(argc, argv, "54qc:")) != -1) {
switch (c) {
case 'q':
@@ -127,24 +94,10 @@ main(argc, argv)
}
break;
case '4':
- if (!got_k4)
- {
-#ifdef KRB5_KRB4_COMPAT
- fprintf(stderr, "Kerberos 4 support could not be loaded\n");
-#else
- fprintf(stderr, "This was not built with Kerberos 4 support\n");
-#endif
- exit(3);
- }
- use_k4 = 1;
+ fprintf(stderr, "Kerberos 4 is no longer supported\n");
+ exit(3);
break;
case '5':
- if (!got_k5)
- {
- fprintf(stderr, "Kerberos 5 support could not be loaded\n");
- exit(3);
- }
- use_k5 = 1;
break;
case '?':
default:
@@ -160,69 +113,38 @@ main(argc, argv)
usage();
}
- if (!use_k5 && !use_k4)
- {
- use_k5 = default_k5;
- use_k4 = default_k4;
+ retval = krb5_init_context(&kcontext);
+ if (retval) {
+ com_err(progname, retval, "while initializing krb5");
+ exit(1);
}
- if (!use_k5)
- got_k5 = 0;
- if (!use_k4)
- got_k4 = 0;
-
- if (got_k5) {
- retval = krb5_init_context(&kcontext);
- if (retval) {
- com_err(progname, retval, "while initializing krb5");
+ if (cache_name) {
+ code = krb5_cc_resolve (kcontext, cache_name, &cache);
+ if (code != 0) {
+ com_err (progname, code, "while resolving %s", cache_name);
exit(1);
}
-
- if (cache_name) {
-#ifdef KRB5_KRB4_COMPAT
- v4 = 0; /* Don't do v4 if doing v5 and cache name given. */
-#endif
- code = krb5_cc_resolve (kcontext, cache_name, &cache);
- if (code != 0) {
- com_err (progname, code, "while resolving %s", cache_name);
- exit(1);
- }
- } else {
- code = krb5_cc_default(kcontext, &cache);
- if (code) {
- com_err(progname, code, "while getting default ccache");
- exit(1);
- }
- }
-
- code = krb5_cc_destroy (kcontext, cache);
- if (code != 0) {
- com_err (progname, code, "while destroying cache");
- if (code != KRB5_FCC_NOFILE) {
- if (quiet)
- fprintf(stderr, "Ticket cache NOT destroyed!\n");
- else {
- fprintf(stderr, "Ticket cache %cNOT%c destroyed!\n",
- BELL_CHAR, BELL_CHAR);
- }
- errflg = 1;
- }
+ } else {
+ code = krb5_cc_default(kcontext, &cache);
+ if (code) {
+ com_err(progname, code, "while getting default ccache");
+ exit(1);
}
}
-#ifdef KRB5_KRB4_COMPAT
- if (got_k4 && v4) {
- v4code = dest_tkt();
- if (v4code == KSUCCESS && code != 0)
- fprintf(stderr, "Kerberos 4 ticket cache destroyed.\n");
- if (v4code != KSUCCESS && v4code != RET_TKFIL) {
+
+ code = krb5_cc_destroy (kcontext, cache);
+ if (code != 0) {
+ com_err (progname, code, "while destroying cache");
+ if (code != KRB5_FCC_NOFILE) {
if (quiet)
- fprintf(stderr, "Kerberos 4 ticket cache NOT destroyed!\n");
- else
- fprintf(stderr, "Kerberos 4 ticket cache %cNOT%c destroyed!\n",
+ fprintf(stderr, "Ticket cache NOT destroyed!\n");
+ else {
+ fprintf(stderr, "Ticket cache %cNOT%c destroyed!\n",
BELL_CHAR, BELL_CHAR);
+ }
errflg = 1;
}
}
-#endif
return errflg;
}