summaryrefslogtreecommitdiff
path: root/openbsd-compat/port-aix.h
diff options
context:
space:
mode:
Diffstat (limited to 'openbsd-compat/port-aix.h')
-rw-r--r--openbsd-compat/port-aix.h46
1 files changed, 42 insertions, 4 deletions
diff --git a/openbsd-compat/port-aix.h b/openbsd-compat/port-aix.h
index 29e9751ce..a05ce9703 100644
--- a/openbsd-compat/port-aix.h
+++ b/openbsd-compat/port-aix.h
@@ -1,4 +1,4 @@
1/* $Id: port-aix.h,v 1.21 2004/08/14 14:09:12 dtucker Exp $ */ 1/* $Id: port-aix.h,v 1.24 2005/02/16 11:49:31 dtucker Exp $ */
2 2
3/* 3/*
4 * 4 *
@@ -27,6 +27,13 @@
27 27
28#ifdef _AIX 28#ifdef _AIX
29 29
30#ifdef HAVE_SYS_SOCKET_H
31# include <sys/socket.h>
32#endif
33#ifdef HAVE_UNISTD_H
34# include <unistd.h> /* for seteuid() */
35#endif
36
30#ifdef WITH_AIXAUTHENTICATE 37#ifdef WITH_AIXAUTHENTICATE
31# include <login.h> 38# include <login.h>
32# include <userpw.h> 39# include <userpw.h>
@@ -36,6 +43,28 @@
36# include <usersec.h> 43# include <usersec.h>
37#endif 44#endif
38 45
46#include "buffer.h"
47
48/* These should be in the system headers but are not. */
49int usrinfo(int, char *, int);
50int setauthdb(const char *, char *);
51/* these may or may not be in the headers depending on the version */
52#if (HAVE_DECL_AUTHENTICATE == 0)
53int authenticate(char *, char *, int *, char **);
54#endif
55#if (HAVE_DECL_LOGINFAILED == 0)
56int loginfailed(char *, char *, char *);
57#endif
58#if (HAVE_DECL_LOGINRESTRICTIONS == 0)
59int loginrestrictions(char *, int, char *, char **);
60#endif
61#if (HAVE_DECL_LOGINSUCCESS == 0)
62int loginsuccess(char *, char *, char *, char **);
63#endif
64#if (HAVE_DECL_PASSWDEXPIRED == 0)
65int passwdexpired(char *, char **);
66#endif
67
39/* Some versions define r_type in the above headers, which causes a conflict */ 68/* Some versions define r_type in the above headers, which causes a conflict */
40#ifdef r_type 69#ifdef r_type
41# undef r_type 70# undef r_type
@@ -64,14 +93,23 @@ void aix_usrinfo(struct passwd *);
64#ifdef WITH_AIXAUTHENTICATE 93#ifdef WITH_AIXAUTHENTICATE
65# define CUSTOM_SYS_AUTH_PASSWD 1 94# define CUSTOM_SYS_AUTH_PASSWD 1
66# define CUSTOM_SYS_AUTH_ALLOWED_USER 1 95# define CUSTOM_SYS_AUTH_ALLOWED_USER 1
67int sys_auth_allowed_user(struct passwd *); 96int sys_auth_allowed_user(struct passwd *, Buffer *);
68# define CUSTOM_SYS_AUTH_RECORD_LOGIN 1 97# define CUSTOM_SYS_AUTH_RECORD_LOGIN 1
69int sys_auth_record_login(const char *, const char *, const char *); 98int sys_auth_record_login(const char *, const char *, const char *, Buffer *);
70# define CUSTOM_FAILED_LOGIN 1 99# define CUSTOM_FAILED_LOGIN 1
71void record_failed_login(const char *, const char *);
72#endif 100#endif
73 101
74void aix_setauthdb(const char *); 102void aix_setauthdb(const char *);
75void aix_restoreauthdb(void); 103void aix_restoreauthdb(void);
76void aix_remove_embedded_newlines(char *); 104void aix_remove_embedded_newlines(char *);
105
106#if defined(AIX_GETNAMEINFO_HACK) && !defined(BROKEN_GETADDRINFO)
107# ifdef getnameinfo
108# undef getnameinfo
109# endif
110int sshaix_getnameinfo(const struct sockaddr *, size_t, char *, size_t,
111 char *, size_t, int);
112# define getnameinfo(a,b,c,d,e,f,g) (sshaix_getnameinfo(a,b,c,d,e,f,g))
113#endif
114
77#endif /* _AIX */ 115#endif /* _AIX */