I am trying to transition several HP/UX 11i (PA/RISC) servers from ssh.com over to OpenSSH+GSSAPI (3.9p1) and it's complaining about the GSSAPI include files: -=- gcc -g -O2 -Wall -Wpointer-arith -Wno-uninitialized -I. -I. -I/usr/local/ssl/include -D_HPUX_SOURCE -D_XOPEN_SOURCE -D_XOPEN_SOURCE_EXTENDED=1 -I/usr/local/krb5/include -DSSHDIR=\"/usr/local/etc\" -D_PATH_SSH_PROGRAM=\"/usr/local/bin/ssh\" -D_PATH_SSH_ASKPASS_DEFAULT=\"/usr/local/libexec/ssh-askpass\" -D_PATH_SFTP_SERVER=\"/usr/local/libexec/sftp-server\" -D_PATH_SSH_KEY_SIGN=\"/usr/local/libexec/ssh-keysign\" -D_PATH_SSH_PIDDIR=\"/var/run\" -D_PATH_PRIVSEP_CHROOT_DIR=\"/var/empty\" -DSSH_RAND_HELPER=\"/usr/local/libexec/ssh-rand-helper\" -DHAVE_CONFIG_H -c gss-genr.c In file included from ssh-gss.h:44, from monitor_wrap.h:60, from gss-genr.c:35: /usr/local/krb5/include/gssapi/gssapi_generic.h:46: error: syntax error before "extern" /usr/local/krb5/include/gssapi/gssapi_generic.h:47: error: syntax error before "extern" /usr/local/krb5/include/gssapi/gssapi_generic.h:48: error: syntax error before "extern" /usr/local/krb5/include/gssapi/gssapi_generic.h:50: error: syntax error before "extern" gmake: *** [gss-genr.o] Error 1 -=- The compiler is gcc 3.4.0, the Krb5 install is MIT-Krb5 1.3.6. Has anyone encountered this and is this a bug? (none of the other platforms I use have encountered this, so this may also be a gcc bug) Best Wishes - Peter -- Peter_Losher at isc.org | ISC | OpenPGP 0xE8048D08 | "The bits must flow" -------------- next part -------------- A non-text attachment was scrubbed... Name: signature.asc Type: application/pgp-signature Size: 187 bytes Desc: OpenPGP digital signature Url : http://lists.mindrot.org/pipermail/openssh-unix-dev/attachments/20050220/31d3da2f/attachment.bin
Peter Losher wrote:> I am trying to transition several HP/UX 11i (PA/RISC) servers from > ssh.com over to OpenSSH+GSSAPI (3.9p1) and it's complaining about the > GSSAPI include files:There was a compile error or two on HP-UX fixed since the 3.9p1 release. Could you please see if the problem is still present in a snapshot[1]? If that works, I'll backport the relevant fixes. [1] ftp://ftp.openbsd.org/pub/OpenBSD/OpenSSH/portable/snapshot/ -- Darren Tucker (dtucker at zip.com.au) GPG key 8FF4FA69 / D9A3 86E9 7EEE AF4B B2D4 37C9 C982 80C7 8FF4 FA69 Good judgement comes with experience. Unfortunately, the experience usually comes from bad judgement.
Peter, A pre-compiled SSH Depot which is compiled with gssapi support is available from the following link, you can make a try http://software.hp.com/portal/swdepot/displayProductInfo.do?productNumber=T1471AA Use swinstall utility to install the depot. --logu ----- Original Message ----- From: "Peter Losher" <Peter_Losher at isc.org> To: <openssh-unix-dev at mindrot.org> Sent: Monday, February 21, 2005 9:29 AM Subject: OpenSSH+GSSAPI & HP/UX 11i...> _______________________________________________ > openssh-unix-dev mailing list > openssh-unix-dev at mindrot.org > http://www.mindrot.org/mailman/listinfo/openssh-unix-dev >
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 Peter Losher wrote:> I am trying to transition several HP/UX 11i (PA/RISC) servers from > ssh.com over to OpenSSH+GSSAPI (3.9p1) and it's complaining about the > GSSAPI include files: > > -=- > gcc -g -O2 -Wall -Wpointer-arith -Wno-uninitialized -I. -I. > -I/usr/local/ssl/include -D_HPUX_SOURCE -D_XOPEN_SOURCE > -D_XOPEN_SOURCE_EXTENDED=1 -I/usr/local/krb5/include > -DSSHDIR=\"/usr/local/etc\" -D_PATH_SSH_PROGRAM=\"/usr/local/bin/ssh\" > -D_PATH_SSH_ASKPASS_DEFAULT=\"/usr/local/libexec/ssh-askpass\" > -D_PATH_SFTP_SERVER=\"/usr/local/libexec/sftp-server\" > -D_PATH_SSH_KEY_SIGN=\"/usr/local/libexec/ssh-keysign\" > -D_PATH_SSH_PIDDIR=\"/var/run\" > -D_PATH_PRIVSEP_CHROOT_DIR=\"/var/empty\" > -DSSH_RAND_HELPER=\"/usr/local/libexec/ssh-rand-helper\" -DHAVE_CONFIG_H > -c gss-genr.c > In file included from ssh-gss.h:44, > from monitor_wrap.h:60, > from gss-genr.c:35: > /usr/local/krb5/include/gssapi/gssapi_generic.h:46: error: syntax error > before "extern" > /usr/local/krb5/include/gssapi/gssapi_generic.h:47: error: syntax error > before "extern" > /usr/local/krb5/include/gssapi/gssapi_generic.h:48: error: syntax error > before "extern" > /usr/local/krb5/include/gssapi/gssapi_generic.h:50: error: syntax error > before "extern" > gmake: *** [gss-genr.o] Error 1 > -=- > > The compiler is gcc 3.4.0, the Krb5 install is MIT-Krb5 1.3.6. Has > anyone encountered this and is this a bug? (none of the other platforms > I use have encountered this, so this may also be a gcc bug) > > Best Wishes - Peter > -- > Peter_Losher at isc.org | ISC | OpenPGP 0xE8048D08 | "The bits must flow" > > > ------------------------------------------------------------------------ > > _______________________________________________ > openssh-unix-dev mailing list > openssh-unix-dev at mindrot.org > http://www.mindrot.org/mailman/listinfo/openssh-unix-dev-- Douglas E. Engert <DEEngert at anl.gov> Argonne National Laboratory 9700 South Cass Avenue Argonne, Illinois 60439 (630) 252-5444
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.hWould something like the attached change to configure fix it (without breaking anything else...)? (Need to rebuild configure with "autoreconf" after applying the patch, obviously.) -- Darren Tucker (dtucker at zip.com.au) GPG key 8FF4FA69 / D9A3 86E9 7EEE AF4B B2D4 37C9 C982 80C7 8FF4 FA69 Good judgement comes with experience. Unfortunately, the experience usually comes from bad judgement. -------------- next part -------------- An embedded and charset-unspecified text was scrubbed... Name: openssh-gssapi-configure.patch Url: http://lists.mindrot.org/pipermail/openssh-unix-dev/attachments/20050225/4618b29a/attachment.ksh
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.)Why not to look for header first in subdirectory ? As example: AC_CHECK_HEADERS(gssapi/gssapi.h gssapi.h) AC_CHECK_HEADERS(gssapi/gssapi_krb5.h gssapi_krb5.h) AC_CHECK_HEADERS(gssapi/gssapi_generic.h gssapi_generic.h)
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