KTFILEP
KTFILEP(id) = fopen(KTFILENAME(id),
if (!KTFILEP(id)) {
KTFILEP(id) = fopen(KTFILENAME(id), fopen_mode_rbplus);
if (!KTFILEP(id))
if ((kerror = krb5_lock_file(context, fileno(KTFILEP(id)), mode))) {
(void) fclose(KTFILEP(id));
KTFILEP(id) = 0;
setbuf(KTFILEP(id), KTFILEBUFP(id));
if (!xfwrite(&kt_vno, sizeof(kt_vno), 1, KTFILEP(id))) {
(void) krb5_unlock_file(context, fileno(KTFILEP(id)));
(void) fclose(KTFILEP(id));
if (!xfread(&kt_vno, sizeof(kt_vno), 1, KTFILEP(id))) {
if (feof(KTFILEP(id)))
(void) krb5_unlock_file(context, fileno(KTFILEP(id)));
(void) fclose(KTFILEP(id));
(void) krb5_unlock_file(context, fileno(KTFILEP(id)));
(void) fclose(KTFILEP(id));
if (!KTFILEP(id))
kerror = krb5_unlock_file(context, fileno(KTFILEP(id)));
(void) fclose(KTFILEP(id));
KTFILEP(id) = 0;
if (fseek(KTFILEP(id), delete_point, SEEK_SET)) {
if (!xfread(&size, sizeof(size), 1, KTFILEP(id))) {
if (fseek(KTFILEP(id), delete_point, SEEK_SET)) {
if (!xfwrite(&minus_size, sizeof(minus_size), 1, KTFILEP(id))) {
xfwrite(iobuf, 1, (size_t) len, KTFILEP(id));
return krb5_sync_disk_file(context, KTFILEP(id));
if (fseek(KTFILEP(id), 0L, SEEK_CUR) < 0)
*delete_point = ftell(KTFILEP(id));
if (!xfread(&size, sizeof(size), 1, KTFILEP(id))) {
if (fseek(KTFILEP(id), -size, SEEK_CUR)) {
start_pos = ftell(KTFILEP(id));
if (!xfread(&count, sizeof(count), 1, KTFILEP(id)))
if (!xfread(&princ_size, sizeof(princ_size), 1, KTFILEP(id))) {
if (fread(tmpdata, 1, u_princ_size, KTFILEP(id)) != (size_t) princ_size) {
if (!xfread(&princ_size, sizeof(princ_size), 1, KTFILEP(id))) {
if (!xfread(princ->data, sizeof(char), u_princ_size, KTFILEP(id))) {
sizeof(ret_entry->principal->type), 1, KTFILEP(id))) {
if (!xfread(&ret_entry->timestamp, sizeof(ret_entry->timestamp), 1, KTFILEP(id))) {
if (!xfread(&vno, sizeof(vno), 1, KTFILEP(id))) {
if (!xfread(&enctype, sizeof(enctype), 1, KTFILEP(id))) {
if (!xfread(&count, sizeof(count), 1, KTFILEP(id))) {
KTFILEP(id))) {
fseek(KTFILEP(id), start_pos + size, SEEK_SET);
if (fseek(KTFILEP(id), 0L, SEEK_CUR) < 0)
if (!xfwrite(&count, sizeof(count), 1, KTFILEP(id))) {
if (!xfwrite(&size, sizeof(size), 1, KTFILEP(id))) {
krb5_princ_realm(context, entry->principal)->length, KTFILEP(id))) {
if (!xfwrite(&size, sizeof(size), 1, KTFILEP(id))) {
if (!xfwrite(princ->data, sizeof(char), princ->length, KTFILEP(id))) {
if (!xfwrite(&princ_type, sizeof(princ_type), 1, KTFILEP(id))) {
if (!xfwrite(×tamp, sizeof(timestamp), 1, KTFILEP(id))) {
if (!xfwrite(&vno, sizeof(vno), 1, KTFILEP(id))) {
if (!xfwrite(&enctype, sizeof(enctype), 1, KTFILEP(id))) {
if (!xfwrite(&size, sizeof(size), 1, KTFILEP(id))) {
entry->key.length, KTFILEP(id))) {
if (fflush(KTFILEP(id)))
retval = krb5_sync_disk_file(context, KTFILEP(id));
if (fseek(KTFILEP(id), commit_point, SEEK_SET)) {
if (!xfwrite(&size_needed, sizeof(size_needed), 1, KTFILEP(id))) {
if (fflush(KTFILEP(id)))
retval = krb5_sync_disk_file(context, KTFILEP(id));
if (fseek(KTFILEP(id), 0, SEEK_SET)) {
if (!xfread(&kt_vno, sizeof(kt_vno), 1, KTFILEP(id))) {
*commit_point = ftell(KTFILEP(id));
if (!xfread(&size, sizeof(size), 1, KTFILEP(id))) {
if (fseek(KTFILEP(id), 0L, SEEK_CUR) < 0)
if (!xfwrite(&size, sizeof(size), 1, KTFILEP(id))) {
if (fseek(KTFILEP(id), size, SEEK_CUR)) {
if (fseek(KTFILEP(id), size, SEEK_CUR)) {
if (fseek(KTFILEP(id), 0L, SEEK_CUR) < 0)
zero_point = ftell(KTFILEP(id));
while ((size = xfread(iobuf, 1, sizeof(iobuf), KTFILEP(id)))) {
if (fseek(KTFILEP(id), 0L, SEEK_CUR) < 0)
xfwrite(iobuf, 1, (size_t) size, KTFILEP(id));
fflush(KTFILEP(id));
if (feof(KTFILEP(id))) {
if (fseek(KTFILEP(id), 0L, SEEK_CUR) < 0)
if (fseek(KTFILEP(id), zero_point, SEEK_SET)) {
*fileoff = ftell(KTFILEP(id));
if (KTFILEP(id) == NULL) {
if (fseek(KTFILEP(id), *fileoff, 0) == -1) {
*fileoff = ftell(KTFILEP(id));
fseek(KTFILEP(keytab), fpos, SEEK_SET);
if (fseek(KTFILEP(id), 0, 2) == -1) {
*fileoff = ftell(KTFILEP(id));
if (fseek(KTFILEP(id), *fileoff, 0) == -1)
*fileoff = ftell(KTFILEP(id));
KTFILEP(id) = fopen(KTFILENAME(id), READ_MODE);
if (!KTFILEP(id))
if (!KTFILEP(id))
(void) fclose(KTFILEP(id));
KTFILEP(id) = 0;
fp = KTFILEP(id);