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

Derrick Brashear shadow@gmail.com
Tue, 28 Apr 2009 13:46:42 -0400


On Tue, Apr 28, 2009 at 12:40 PM, Mike Coyne <Mike.Coyne@paccar.com> wrote:
> I am currently working with openafs version 1.4.10 on redhat RHEL5.3
> amd64 machines, ia64 Hpux11iv2 , and sgi Altix ia64 platforms .
>
> 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.

Yes.

>=A0In 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 =A0 =A0 =A02009-03-20 17:45:37.0000000=
00
> -0500
> --- openafs-1.4.10ab/src/sys/pagsh.c =A0 =A02009-04-28 11:09:13.000000000
> -0500
> ***************
> *** 68,73 ****
> --- 68,74 ----
> =A0 =A0 =A0 =A0fprintf(stderr, "Intruder alert.\n");
> =A0 =A0 =A0} else {
> =A0/* =A0 =A0 =A0 =A0 =A0 =A0shell =3D pwe->pw_shell; */
> + =A0 =A0 =A0 =A0 =A0 =A0 =A0 shell =3D pwe->pw_shell;
> =A0 =A0 =A0}
> =A0 =A0 =A0if (setpag() =3D=3D -1) {
> =A0 =A0 =A0 =A0perror("setpag");
> ***************
> *** 98,107 ****
> =A0 =A0 =A0return code;
> =A0#else
> =A0 =A0 =A0afs_uint32 groups[NGROUPS_MAX];
> ! =A0 =A0 afs_uint32 g0, g1;
> =A0 =A0 =A0afs_uint32 h, l, ret;
> !
> ! =A0 =A0 if (getgroups(sizeof groups / sizeof groups[0], groups) < 2)
> =A0 =A0 =A0 =A0return 0;
>
> =A0 =A0 =A0g0 =3D groups[0] & 0xffff;
> --- 99,112 ----
> =A0 =A0 =A0return code;
> =A0#else
> =A0 =A0 =A0afs_uint32 groups[NGROUPS_MAX];
> ! =A0 =A0 afs_uint32 g0, g1,g3;
> =A0 =A0 =A0afs_uint32 h, l, ret;
> ! =A0 =A0 g3=3Dgetgroups(sizeof groups / sizeof groups[0], groups);
> ! #if defined (AFS_LINUX26_ENV)
> ! =A0 =A0 if (g3 < 1 ) return 0;
> ! =A0 =A0 return ( groups[ g3-1 ]);
> ! #endif
> ! =A0 =A0 if (g3 =A0< 2)
> =A0 =A0 =A0 =A0return 0;
>
> =A0 =A0 =A0g0 =3D groups[0] & 0xffff;
> -------------cutline------------

you should open a ticket for this in RT; just mail that patch and
explanation to openafs-bugs@openafs.org

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

always has been, alas.
>
> 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" =A0to
> the src/libafs/ MakefileProto.HPUX.in =A0in the
>
> CCOPTS_ipf=3D +DSitanium2 +kernel +objstatvars +Olit=3Dall +Oshortdata=3D=
0
> +W863 +Z
> LDOPTS_ipf=3D +noobjdebug +Z
>
>
> 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
> I had =A0to add
>
> #define AFS_64BIT_IOPS_ENV =A0 =A0 =A01
> To
> 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 =A0hppa 32 bit seems to run in place of the hpux32 complied
> version.

can you get a backtrace?