OpenSSH+GSSAPI & HP/UX 11i...
Douglas E. Engert
deengert at anl.gov
Sat Feb 26 03:36:53 EST 2005
Darren Tucker wrote:
> Douglas E. Engert wrote:
>
>> This might be a little late, but I went back to see why we do not have
>> this problem with HP.
>>
>> In the install for krb5, we add a symlink gssapi.h -> ./gssapi/gssapi.h
>> in the krb5 include directory.
>>
>> # On HP there is a /usr/include/gssapi.h we need to find the
>> # /krb5/gssapi/gssapi.h first.
>> # OpenSSH depends on this
>> ln -s ./gssapi/gssapi.h $dest/krb5/include/gssapi.h
>
>
> Would something like the attached change to configure fix it (without
> breaking anything else...)?
>
> (Need to rebuild configure with "autoreconf" after applying the patch,
> obviously.)
I think the problem comes from configure and the header files both
trying to determine which files should be used.
If configure was to just test for all the files then let the
#ifdefs in the source test and include the gssapi/xxx versions first
then it should work. Configure would be much simpler.
For example, of the #ifdefs in ssh-gss.h where switched around
then the gssapi/gsspai.h and gsspai/gsspai_generic.h
would be included first. Switch lines 33,34 with 35,36
and 41,42 with 43,44
33 #ifdef HAVE_GSSAPI_H
34 #include <gssapi.h>
35 #elif defined(HAVE_GSSAPI_GSSAPI_H)
36 #include <gssapi/gssapi.h>
37 #endif
38
39 #ifdef KRB5
40 # ifndef HEIMDAL
41 # ifdef HAVE_GSSAPI_GENERIC_H
42 # include <gssapi_generic.h>
43 # elif defined(HAVE_GSSAPI_GSSAPI_GENERIC_H)
44 # include <gssapi/gssapi_generic.h>
45 # endif
gss-serv-krb5.c should also have lines 44,45 switched with 46,47
>
>
> ------------------------------------------------------------------------
>
> Index: configure.ac
> ===================================================================
> RCS file: /usr/local/src/security/openssh/cvs/openssh_cvs/configure.ac,v
> retrieving revision 1.247
> diff -u -p -r1.247 configure.ac
> --- configure.ac 24 Feb 2005 01:12:35 -0000 1.247
> +++ configure.ac 24 Feb 2005 22:35:58 -0000
> @@ -225,6 +225,7 @@ main() { if (NSVersionOfRunTimeLibrary("
> AC_DEFINE(USE_BTMP, 1, [Use btmp to log bad logins])
> check_for_hpux_broken_getaddrinfo=1
> check_for_conflicting_getspnam=1
> + check_gssapi_gssapi_h_first=1
> LIBS="$LIBS -lsec"
> AC_CHECK_LIB(xnet, t_error, ,AC_MSG_ERROR([*** -lxnet needed on HP-UX - check config.log ***]))
> ;;
> @@ -2490,7 +2491,13 @@ AC_ARG_WITH(kerberos5,
> fi
> fi
>
> - AC_CHECK_HEADERS(gssapi.h gssapi/gssapi.h)
> + if test "x$check_gssapi_gssapi_h_first" = "x1"; then
> + AC_CHECK_HEADERS(gssapi/gssapi.h, ,
> + [ AC_CHECK_HEADERS(gssapi.h) ])
> + else
> + AC_CHECK_HEADERS(gssapi.h, ,
> + [ AC_CHECK_HEADERS(gssapi/gssapi.h) ])
> + fi
> AC_CHECK_HEADERS(gssapi_krb5.h gssapi/gssapi_krb5.h)
> AC_CHECK_HEADERS(gssapi_generic.h gssapi/gssapi_generic.h)
>
--
Douglas E. Engert <DEEngert at anl.gov>
Argonne National Laboratory
9700 South Cass Avenue
Argonne, Illinois 60439
(630) 252-5444
More information about the openssh-unix-dev
mailing list