[OpenAFS] FW: Hpux11iv2 build issues and linux26 pagsh.krb question

Mike Coyne Mike.Coyne@PACCAR.com
Tue, 28 Apr 2009 11:40:18 -0500


I am currently working with openafs version 1.4.10 on redhat RHEL5.3
amd64 machines, ia64 Hpux11iv2 , and sgi Altix ia64 platforms .=20

I notice discrepancy between the pagsh.krb on running under hpux and
that running under linux. It would appear that the "pag" on hpux is
encoded at 2 group id at the begining of the group list, where as on
linux the "pag" id is a single group id listed at the end.  In order to
get pagsh.krb to correctly set the KRB5CCNAME etc. on Linux correctly
instead of setting it to the uid i would propose a patch similar to

------------cutline---------
*** openafs-1.4.10/src/sys/pagsh.c      2009-03-20 17:45:37.000000000
-0500
--- openafs-1.4.10ab/src/sys/pagsh.c    2009-04-28 11:09:13.000000000
-0500
***************
*** 68,73 ****
--- 68,74 ----
        fprintf(stderr, "Intruder alert.\n");
      } else {
  /*            shell =3D pwe->pw_shell; */
+               shell =3D pwe->pw_shell;=20
      }
      if (setpag() =3D=3D -1) {
        perror("setpag");
***************
*** 98,107 ****
      return code;
  #else
      afs_uint32 groups[NGROUPS_MAX];
!     afs_uint32 g0, g1;
      afs_uint32 h, l, ret;
!=20
!     if (getgroups(sizeof groups / sizeof groups[0], groups) < 2)
        return 0;
 =20
      g0 =3D groups[0] & 0xffff;
--- 99,112 ----
      return code;
  #else
      afs_uint32 groups[NGROUPS_MAX];
!     afs_uint32 g0, g1,g3;
      afs_uint32 h, l, ret;
!     g3=3Dgetgroups(sizeof groups / sizeof groups[0], groups);
! #if defined (AFS_LINUX26_ENV)
!     if (g3 < 1 ) return 0;
!     return ( groups[ g3-1 ]);
! #endif
!     if (g3  < 2)
        return 0;
 =20
      g0 =3D groups[0] & 0xffff;
-------------cutline------------

I noticed that the shell was hard coded rather than using the user
shell ?=20

Also working with the ia64 Hpux11iv2 (11.23) i had to make some
adjustments to get the namei-fileserver to work and to get a working
loadable kernel module.

my working notes are below.

I am currently trying to install afs-1.4.10 on a hpux11.23 ia64 server.
The client code compiled and runs clean after I has to add the "+Z"  to
the src/libafs/ MakefileProto.HPUX.in  in the=20

CCOPTS_ipf=3D +DSitanium2 +kernel +objstatvars +Olit=3Dall =
+Oshortdata=3D0
+W863 +Z
LDOPTS_ipf=3D +noobjdebug +Z

=20
Then copy the afd64 module to /usr/conf/mod ...
And loaded the kernel modul.e with kcmodule -s afd64=3Dloaded
To unload you have to use afs64=3Dunused

and=20
I had  to add=20

#define AFS_64BIT_IOPS_ENV      1=20
To=20
src/config/param.ia64_hpux1123.h

to get the namei-fileserver to work correctly.

There are still issues with the bosserver coredumping rather than
catching the core of a failed sub process. The distributed bosserver
binary  hppa 32 bit seems to run in place of the hpux32 complied
version.