* $Source: /usr/src/kerberosIV/krb/RCS/dest_tkt.c,v $
* Copyright 1985, 1986, 1987, 1988 by the Massachusetts Institute
* For copying and distribution information, please see the file
static char *rcsid_dest_tkt_c
=
"$Id: dest_tkt.c,v 4.10 90/06/25 20:55:34 kfall Exp $";
#include <mit-copyright.h>
* 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
* The ticket file (TKT_FILE) is defined in "krb.h".
char shmidname
[MAXPATHLEN
];
if (lstat(file
,&statb
) < 0)
if (!(statb
.st_mode
& S_IFREG
)
if ((fd
= open(file
, O_RDWR
, 0)) < 0)
for (i
= 0; i
< statb
.st_size
; i
+= BUFSIZ
)
if (write(fd
, buf
, BUFSIZ
) != BUFSIZ
) {
if (errno
== ENOENT
) return RET_TKFIL
;
else if (errno
!= 0) return KFAILURE
;
* handle the shared memory case
(void) strcpy(shmidname
, file
);
(void) strcat(shmidname
, ".shm");
if ((i
= krb_shm_dest(shmidname
)) != KSUCCESS
)