summaryrefslogtreecommitdiffstats
path: root/crypto/kerberosIV/lib/krb/dest_tkt.c
diff options
context:
space:
mode:
Diffstat (limited to 'crypto/kerberosIV/lib/krb/dest_tkt.c')
-rw-r--r--crypto/kerberosIV/lib/krb/dest_tkt.c108
1 files changed, 0 insertions, 108 deletions
diff --git a/crypto/kerberosIV/lib/krb/dest_tkt.c b/crypto/kerberosIV/lib/krb/dest_tkt.c
deleted file mode 100644
index 4330df2..0000000
--- a/crypto/kerberosIV/lib/krb/dest_tkt.c
+++ /dev/null
@@ -1,108 +0,0 @@
-/*
- Copyright (C) 1989 by the Massachusetts Institute of Technology
-
- Export of this software from the United States of America is assumed
- to require a specific license from the United States Government.
- It is the responsibility of any person or organization contemplating
- export to obtain such a license before exporting.
-
-WITHIN THAT CONSTRAINT, permission to use, copy, modify, and
-distribute this software and its documentation for any purpose and
-without fee is hereby granted, provided that the above copyright
-notice appear in all copies and that both that copyright notice and
-this permission notice appear in supporting documentation, and that
-the name of M.I.T. not be used in advertising or publicity pertaining
-to distribution of the software without specific, written prior
-permission. M.I.T. makes no representations about the suitability of
-this software for any purpose. It is provided "as is" without express
-or implied warranty.
-
- */
-
-#include "krb_locl.h"
-
-RCSID("$Id: dest_tkt.c,v 1.11.14.2 2000/10/18 20:26:42 assar Exp $");
-
-#ifndef O_BINARY
-#define O_BINARY 0
-#endif
-
-/*
- * dest_tkt() is used to destroy the ticket store upon logout.
- * If the ticket file does not exist, dest_tkt() returns RET_TKFIL.
- * Otherwise the function returns RET_OK on success, KFAILURE on
- * failure.
- *
- * The ticket file (TKT_FILE) is defined in "krb.h".
- */
-
-int
-dest_tkt(void)
-{
- const char *filename = TKT_FILE;
- int i, fd;
- struct stat sb1, sb2;
- char buf[BUFSIZ];
- int error = 0;
-
- if (lstat (filename, &sb1) < 0) {
- error = errno;
- goto out;
- }
-
- fd = open (filename, O_RDWR | O_BINARY);
- if (fd < 0) {
- error = errno;
- goto out;
- }
-
- if (unlink (filename) < 0) {
- error = errno;
- close(fd);
- goto out;
- }
-
- if (fstat (fd, &sb2) < 0) {
- error = errno;
- close(fd);
- goto out;
- }
-
- if (sb1.st_dev != sb2.st_dev || sb1.st_ino != sb2.st_ino) {
- close (fd);
- error = EPERM;
- goto out;
- }
-
- if (sb2.st_nlink != 0) {
- close (fd);
- error = EPERM;
- goto out;
- }
-
- for (i = 0; i < sb2.st_size; i += sizeof(buf)) {
- int ret;
-
- ret = write(fd, buf, sizeof(buf));
- if (ret != sizeof(buf)) {
- if (ret < 0)
- error = errno;
- else
- error = EINVAL;
- fsync(fd);
- close(fd);
- goto out;
- }
- }
-
- fsync(fd);
- close(fd);
-
-out:
- if (error == ENOENT)
- return RET_TKFIL;
- else if (error != 0)
- return KFAILURE;
- else
- return(KSUCCESS);
-}
OpenPOWER on IntegriCloud