Change in K4 ticket cache format

Alejandro R. Sedeno asedeno at MIT.EDU
Mon Mar 27 16:28:31 EST 2006


I've finally sat down and tested the patch I mentioned earlier on
Solaris as both 32 and 64-bit libraries. The results are:

Using cache created by a normal 32-bit library:
32: Reads fine
32p: Reads fine
64: Bad ticket file format (tf_util) for one service ticket.
    Mangles tickets if there's more than one. [expected]
64p: Reads fine

Using cache created by a normal 64-bit library:
32: Mangles tickets, all expired 1970. [expected]
32p: Reads fine
64: Reads fine
64p: Reads fine

Using a cache created by patched library (32/64):
32: Reads fine, shows extra expired tickets (alignment records)
32-: Reads fine.
64: Reads fine, shows extra expired tickets (alignment records)
64p: Reads fine.

Using a pached library ticket file, you can add tickets using either an
unpatched 32-bit or 64-bit library, but that will cause troubles for the
other unpatched version. This isn't really any worse than what happens
now. In either case, the patched library will read properly.

(I've only given cursory testing to the case where one of the bytes in
issue_date is null, as right now those times are ~3 minutes apart. It
looks like that alignment record also works fine. I've not tested two or
three null bytes at all, and won't be able to for quite some time, but
I'm reasonably confident that those alignment records are well-written.)

Patch is at:
http://web.mit.edu/asedeno/www/krb4-tkt-fix.diff

-Alejandro




More information about the krbdev mailing list