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