diff --git a/ChangeLog b/ChangeLog index 9d132f981..836cc0dfc 100644 --- a/ChangeLog +++ b/ChangeLog @@ -12,6 +12,8 @@ authentication early enough to be available to PAM session modules when privsep=yes. Patch from deengert at anl.gov, ok'ed in principle by Sam Hartman and similar to Debian's ssh-krb5 package. + - (dtucker) [configure.ac openbsd-compat/port-aix.{c,h}] Silence some more + compiler warnings on AIX. 20050215 - (dtucker) [config.sh.in] Collect oslevel -r too. @@ -2146,4 +2148,4 @@ - (djm) Trim deprecated options from INSTALL. Mention UsePAM - (djm) Fix quote handling in sftp; Patch from admorten AT umich.edu -$Id: ChangeLog,v 1.3658 2005/02/16 05:47:37 dtucker Exp $ +$Id: ChangeLog,v 1.3659 2005/02/16 11:49:31 dtucker Exp $ diff --git a/configure.ac b/configure.ac index aa6aed6b0..fe6b002d4 100644 --- a/configure.ac +++ b/configure.ac @@ -1,4 +1,4 @@ -# $Id: configure.ac,v 1.243 2005/02/16 05:19:17 dtucker Exp $ +# $Id: configure.ac,v 1.244 2005/02/16 11:49:31 dtucker Exp $ # # Copyright (c) 1999-2004 Damien Miller # @@ -121,8 +121,11 @@ case "$host" in LIBS="$LIBS -ls" ]) ]) + dnl Check for various auth function declarations in headers. + AC_CHECK_DECLS([authenticate, loginrestrictions, loginsuccess, passwdexpired],, + [#include ]) dnl Check if loginfailed is declared and takes 4 arguments (AIX >= 5.2) - AC_CHECK_DECL(loginfailed, + AC_CHECK_DECLS(loginfailed, [AC_MSG_CHECKING(if loginfailed takes 4 arguments) AC_TRY_COMPILE( [#include ], diff --git a/openbsd-compat/port-aix.c b/openbsd-compat/port-aix.c index 8ab862f98..fa6a4ff7b 100644 --- a/openbsd-compat/port-aix.c +++ b/openbsd-compat/port-aix.c @@ -37,10 +37,6 @@ #include #include "port-aix.h" -/* These should be in the system headers but are not. */ -int usrinfo(int, char *, int); -int setauthdb(const char *, char *); - # ifdef HAVE_SETAUTHDB static char old_registry[REGISTRY_SIZE] = ""; # endif diff --git a/openbsd-compat/port-aix.h b/openbsd-compat/port-aix.h index cc7c43cda..a05ce9703 100644 --- a/openbsd-compat/port-aix.h +++ b/openbsd-compat/port-aix.h @@ -1,4 +1,4 @@ -/* $Id: port-aix.h,v 1.23 2005/02/15 10:45:58 dtucker Exp $ */ +/* $Id: port-aix.h,v 1.24 2005/02/16 11:49:31 dtucker Exp $ */ /* * @@ -30,6 +30,9 @@ #ifdef HAVE_SYS_SOCKET_H # include #endif +#ifdef HAVE_UNISTD_H +# include /* for seteuid() */ +#endif #ifdef WITH_AIXAUTHENTICATE # include @@ -42,6 +45,26 @@ #include "buffer.h" +/* These should be in the system headers but are not. */ +int usrinfo(int, char *, int); +int setauthdb(const char *, char *); +/* these may or may not be in the headers depending on the version */ +#if (HAVE_DECL_AUTHENTICATE == 0) +int authenticate(char *, char *, int *, char **); +#endif +#if (HAVE_DECL_LOGINFAILED == 0) +int loginfailed(char *, char *, char *); +#endif +#if (HAVE_DECL_LOGINRESTRICTIONS == 0) +int loginrestrictions(char *, int, char *, char **); +#endif +#if (HAVE_DECL_LOGINSUCCESS == 0) +int loginsuccess(char *, char *, char *, char **); +#endif +#if (HAVE_DECL_PASSWDEXPIRED == 0) +int passwdexpired(char *, char **); +#endif + /* Some versions define r_type in the above headers, which causes a conflict */ #ifdef r_type # undef r_type