[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.