[OpenAFS-devel] afs/auth.h - ktc_token
Sean O'Malley
omalleys@msu.edu
Fri, 5 Jan 2007 14:37:44 -0500 (EST)
On Thu, 4 Jan 2007, Marcus Watts wrote:
> Firstly, I believe Sean will actually want to look at src/auth/auth.p.h
> - auth.h is auto-generated (notice comment at start).
I did look at it before i posted, and I figured out the hard way a few
times what the .p.h is. =) but I just refer to it as auth.h... :)
> Secondly, I don't believe this *particular* structure is exported on
> the wire. This could probably be made 64 bits and still work.
> There are almost certainly going to be local 64-bit rounding
> issues, especially wherever this thing gets used with openafs &
> kerberos times (as Jeff points out these have to remain 32-bit for
> now). Since this is a kerberos 4 specific structure and kerberos 4
> itself is "going away" it's unlikely to have its 32-bit time issues
> fixed - so there will probably never be anything that can make a
> ktc_token that needs 64 bit timestamps.
This is perfectly fine.. I don't care. =)
> 3rdly, this structure is "going away". With rxk5, there's a completely
> different structure from kerberos 5 that logically replaces it (krb5_creds).
> In fact, that could be a 64-bit quantity - kerberos 5 exports times
> as some sort of evil asn.1 timestamp quantity so there's not actually
> any k5 wire level issue with making this 64-bit. Whether that's
> really true depends entirely on the local kerberos library & asn.1 support.
>
> 4thly, this structure is today exported in at least one context it does
> not belong. The last parameter for vldbClientInit() (actually part
> of the backup library) is a ktc_token*. It should be an "expires" pointer
> (the endtime is actually the only part used.)
AND THIS is -exactly- where my problem is coming from. =)
I was running into time_t, int, and uint's for time values in bucoord and
it was screwing me up. =) I ended up fixing some warnings, and created
more.. if I wouldnt have created more. I just would have left them for
later. :)
However...
I assume you mean expires in struct budb_tapeEntry from budb/budb.h
afs_uint32 expires;
This isn't going to solve my problem unless I convert them all to uint's
or ints or there is another struct with expires in it that I missed.
--------------------------------------
Sean O'Malley, Information Technologist
Michigan State University
-------------------------------------