This is the mail archive of the libc-hacker@cygnus.com mailing list for the glibc project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]

secureRPC on alpha/binary compatibility



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. 

One more function is rtime which needs to be changed.

Or are their other ideas ?


  Thorsten
-- 
Thorsten Kukuk      http://www.suse.de/~kukuk/        kukuk@suse.de
SuSE GmbH           Schanzaeckerstr. 10             90443 Nuernberg
Linux is like a Vorlon.  It is incredibly powerful, gives terse,
cryptic answers and has a lot of things going on in the background.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]