[2730] in testers
kinit/kdestroy patch
daemon@ATHENA.MIT.EDU (Richard Basch)
Thu Dec 29 17:38:57 1994
Date: Thu, 29 Dec 1994 17:38:40 -0500
To: testers@MIT.EDU, rel-eng@MIT.EDU
Cc: tytso@MIT.EDU
From: "Richard Basch" <basch@MIT.EDU>
This one has been TESTED... There were a couple bugs in the kdestroy logic.
-Richard
--- kinit.c- Thu Dec 29 15:31:37 1994
+++ kinit.c Thu Dec 29 17:08:11 1994
@@ -325,9 +325,8 @@
retval = do_v5_kinit(aname, inst, realm, lifetime, password,
0, &etext);
memset(password, 0, PWSIZE);
- if (retval) {
+ if (retval && retval != KRB5_CONFIG_CANTOPEN) {
com_err(argv[0], retval, etext);
- exit(1);
}
}
exit(0);
Exit 1
--- kdestroy.c- Thu Dec 29 17:08:49 1994
+++ kdestroy.c Thu Dec 29 17:36:17 1994
@@ -60,7 +60,7 @@
main(argc, argv)
char *argv[];
{
- int fflag=0, qflag=0, k_errno;
+ int fflag=0, qflag=0, k_errno, k5_errno, retval;
register char *cp;
cp = rindex (argv[0], '/');
@@ -79,25 +79,25 @@
else usage();
}
+ retval = 0;
k_errno = dest_tkt();
- do_v5_kdestroy(0);
+ k5_errno = do_v5_kdestroy(0);
+
+ if (k_errno != 0 && k_errno != RET_TKFIL) {
+ retval = 1;
+ if (!fflag) fprintf(stderr, "V4 tickets NOT destroyed.\n");
+ }
+ if (k5_errno != 0 && k5_errno != KRB5_FCC_NOFILE) {
+ retval = 1;
+ if (!fflag) fprintf(stderr, "V5 tickets NOT destroyed.\n");
+ }
+ if (fflag) return retval;
- if (fflag) {
- if (k_errno != 0 && k_errno != RET_TKFIL)
- exit(1);
- else
- exit(0);
+ if (retval) {
+ if (!qflag) fprintf(stderr, "\007");
} else {
- if (k_errno == 0)
- printf("Tickets destroyed.\n");
- else if (k_errno == RET_TKFIL)
- fprintf(stderr, "No tickets to destroy.\n");
- else {
- fprintf(stderr, "Tickets NOT destroyed.\n");
- if (!qflag)
- fprintf(stderr, "\007");
- exit(1);
- }
+ if (k_errno && k5_errno) fprintf(stderr, "No tickets to destroy.\n");
+ else fprintf(stderr, "Tickets destroyed.\n");
}
- exit(0);
+ return retval;
}