[krbdev.mit.edu #2781] CVS Commit

Ken Raeburn via RT rt-comment at krbdev.mit.edu
Tue Nov 23 21:39:49 EST 2004


The keytab type list lock was implemented, but I missed the per-keytab lock.
Since I was in there, I ripped out the bogus stdio buffer mangling that the
code was doing, and set up a buffer to be used that we can sanitize later.

* kt_file.c (struct _krb5_ktfile_data): Add mutex and buffer.
(KTFILEBUFP, KTLOCK, KTUNLOCK, KTCHECKLOCK): New macros.
(krb5_ktfile_resolve): Initialize mutex.
(krb5_ktfile_close): Zap data buffer before freeing.
(krb5_ktfile_get_entry, krb5_ktfile_start_seq_get, krb5_ktfile_get_next,
krb5_ktfile_end_get, krb5_ktfile_add, krb5_ktfile_remove): Lock and unlock the
mutex.
(krb5_ktfileint_open): Check that the mutex is locked.  Set the stdio buffer to
the new buffer in the ktfile data.
(krb5_ktfileint_write_entry, krb5_ktfileint_find_slot): Check that the mutex is
locked.  Don't call setbuf.  Flush the stdio buffer after writing.


To generate a diff of this commit:



	cvs diff -r5.72 -r5.73 krb5/src/lib/krb5/keytab/ChangeLog
	cvs diff -r5.12 -r5.13 krb5/src/lib/krb5/keytab/kt_file.c 


More information about the krb5-bugs mailing list