This is the mail archive of the
libc-hacker@cygnus.com
mailing list for the glibc project.
Re: secureRPC on alpha/binary compatibility
- To: kukuk@suse.de
- Subject: Re: secureRPC on alpha/binary compatibility
- From: Geoff Keating <geoffk@ozemail.com.au>
- Date: Sat, 10 Apr 1999 13:04:50 +1000
- CC: libc-hacker@cygnus.com
- References: <19990409174047.A26817@allen.suse.de>
> Date: Fri, 9 Apr 1999 17:40:47 +0200
> From: Thorsten Kukuk <kukuk@suse.de>
>
>
> Hello,
>
> I have found a big problem. SecureRPC doesn't work on alpha. I could
> solved a lot of problems like long pointer to an int array, etc.
>
> But now I have a real problem:
>
> /* A des authentication verifier */
> struct authdes_verf
> {
> union
> {
> struct timeval adv_ctime; /* clear time */
> des_block adv_xtime; /* crypt time */
> }
> adv_time_u;
> uint32_t adv_int_u;
> };
>
> This struct is from rpc/auth_des.h. The problem is, sizeof (struct timeval)
> is 16 on Alpha, but 8 on Intel. sizeof des_block is 8 on both. The fields
> doesn't match on Alpha, secureRPC fails :-(
>
> I could try to write wrappers around this in glibc/sunrpc, so that it
> could work. But I think this is no solution, because this struct is also
> used by user code. If I change the header to create our own rpc_timeval
> struct, it could break binary compatibility with existing programs on
> Alpha. Since SecureRPC doesn't work, and I have only a few bug reports
> because of NIS+, I think there are not a lot of programs. So we should
> make the changes asap.
Yes. adv_ctime is just the decrypted adv_xtime. So it has to be 8
bytes long.
I think it's supposed to be an array of two 4-byte words. I can't
find any instance of 'adv_ctime' in the code.
If existing code that uses it doesn't work, then there is no point
worrying about binary compatibility :-).
--
Geoffrey Keating <geoffk@ozemail.com.au>