summaryrefslogtreecommitdiff
path: root/server/bdump.c
diff options
context:
space:
mode:
authorGravatar Greg Hudson <ghudson@mit.edu>1998-10-21 16:08:23 +0000
committerGravatar Greg Hudson <ghudson@mit.edu>1998-10-21 16:08:23 +0000
commitdd5bb7f58efaac01ffa202c410c5bce158260a3c (patch)
tree9ed71dbf786b2d45604046ee97f681abbd36f552 /server/bdump.c
parentb6461a23ad87f13c97b9bbeaa5704ee1e3500874 (diff)
If we get RD_AP_BADD from SendKerberosData(), this indicates that we
have a bad TGT, so discard our tickets. This should never happen, but it does. If we ever figure out why, then this change can go away.
Diffstat (limited to 'server/bdump.c')
-rw-r--r--server/bdump.c18
1 files changed, 18 insertions, 0 deletions
diff --git a/server/bdump.c b/server/bdump.c
index 5697ab5..305e338 100644
--- a/server/bdump.c
+++ b/server/bdump.c
@@ -303,6 +303,15 @@ bdump_send()
syslog(LOG_ERR,"bdump_send: SendKerberosData: %s",
error_message (retval));
cleanup(server);
+
+ /* XXX For unknown reasons, sometimes we get a TGT which
+ * produces this error while trying to get a service ticket.
+ * This workaround forces us to get a new TGT next time
+ * around.
+ */
+ if (retval == RD_AP_BADD)
+ ticket_time = 0;
+
return;
}
#else /* !HAVE_KRB4 */
@@ -462,6 +471,15 @@ bdump_get_v12 (notice, auth, who, server)
if (retval != 0) {
syslog(LOG_ERR,"bdump_get: %s", error_message(retval));
cleanup(server);
+
+ /* XXX For unknown reasons, sometimes we get a TGT which
+ * produces this error while trying to get a service ticket.
+ * This workaround forces us to get a new TGT next time
+ * around.
+ */
+ if (retval == RD_AP_BADD)
+ ticket_time = 0;
+
return;
}
#if 1