- (dtucker) [configure.ac openbsd-compat/port-aix.{c,h}] Silence some more
   compiler warnings on AIX.
diff --git a/ChangeLog b/ChangeLog
index 9d132f9..836cc0d 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 aa6aed6..fe6b002 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 @@
 				LIBS="$LIBS -ls"
 			])
 		])
+	dnl Check for various auth function declarations in headers.
+	AC_CHECK_DECLS([authenticate, loginrestrictions, loginsuccess, passwdexpired],,
+	    [#include <usersec.h>])
 	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 <usersec.h>],
diff --git a/openbsd-compat/port-aix.c b/openbsd-compat/port-aix.c
index 8ab862f..fa6a4ff 100644
--- a/openbsd-compat/port-aix.c
+++ b/openbsd-compat/port-aix.c
@@ -37,10 +37,6 @@
 #include <sys/socket.h>
 #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 cc7c43c..a05ce97 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 <sys/socket.h>
 #endif
+#ifdef HAVE_UNISTD_H
+# include <unistd.h>	/* for seteuid() */
+#endif
 
 #ifdef WITH_AIXAUTHENTICATE
 # include <login.h>
@@ -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