Single-byte I/O for keytab reads
    Ken Hornstein 
    kenh at cmf.nrl.navy.mil
       
    Thu Jun 27 17:10:00 EDT 2002
    
    
  
So I've noticed during some system call traces that all I/O done on
credential caches involve read()ing a byte at a time.  I did some research
on this one, and I believe I've found the culprit.
In $(src)/lib/krb5/keytab/file/ktf_util.c, I see a number of calls like
this:
    setbuf(KTFILEP(id), NILL);
Which according to the man page makes the I/O completely unbuffered.
I assume the reason this was done was to do the "right" thing when
writing a new keytab entry, but it makes reading a lot more inefficient.
Does the use of this still make sense, even for writing a new entry?
--Ken
    
    
More information about the krbdev
mailing list