[26] in pc-kerberos
Ticket file format
daemon@ATHENA.MIT.EDU (Shawn Mamros)
Fri Jun 3 16:27:33 1994
Date: Fri, 3 Jun 94 16:23:25 EDT
To: pc-kerberos@MIT.EDU
From: mamros@ftp.com (Shawn Mamros)
Reply-To: mamros@ftp.com
(Leaving aside the issue of ticket file location for a minute...)
I just looked back at the MIT tf_util.c code and realized that it's
somewhat ambiguous in how the ticket file format is done, since it
relies on sizeof(int) for a couple of the fields. Since there are
a number of present and up-and-coming 32-bit PC operating systems
(NT, Chicago, OS/2 2.x), which may also need to interoperate with
16-bit applications and libraries, we'd better address this issue now...
What I propose is that we maintain the same sizes of the various fields
as they are used on 32-bit UNIX systems. (Not coincidentally, this is
what FTP Software's PC/TCP code does. :-) In other words, the format
of a ticket file looks like this:
Client principal name ASCII string terminated by NUL ('\0')
Client instance name ASCII string terminated by NUL ('\0')
(which may be just a single NUL for "empty" instance names)
One or more tickets
where each individual ticket looks like this:
Service principal name ASCII string terminated by NUL ('\0')
Service instance name ASCII string terminated by NUL ('\0')
Service realm name ASCII string terminated by NUL ('\0')
Session ley 8 bytes
Lifetime 4 byte integer (host native byte order)
Key version number 4 byte integer (host native byte order)
Ticket->length 4 byte integer (host native byte order)
Ticket->data Ticket->length bytes
Issue date 4 byte integer (host native byte order)
I am aware that the lifetime, key version number and ticket length fields
don't need a full four bytes. (For that matter, they could be a single
byte each, since that's what the V4 wire protocol uses.) Nevertheless,
that's what the original MIT code for UNIX used (and still uses), and
using the same format as that should actually make the job of a 32-bit
PC operating system port easier. Sound OK?
-Shawn Mamros
E-mail to: mamros@ftp.com