summaryrefslogtreecommitdiff
path: root/openbsd-compat/port-aix.h
diff options
context:
space:
mode:
authorDarren Tucker <dtucker@zip.com.au>2008-02-28 23:16:04 +1100
committerDarren Tucker <dtucker@zip.com.au>2008-02-28 23:16:04 +1100
commit0f26b1386a8beaa1884178f8793c91d84274ea7d (patch)
tree7c94a0d48e39fd8d10f6bc68f985b048893a31b7 /openbsd-compat/port-aix.h
parent3d295a6cf0c4e240509f035d514393eec4abd43d (diff)
downloadopenssh-git-0f26b1386a8beaa1884178f8793c91d84274ea7d.tar.gz
- (dtucker) [configure.ac openbsd-compat/port-aix.{c,h}] Bug #1081: Implement
getgrouplist via getgrset on AIX, rather than iterating over getgrent. This allows, eg, Match and AllowGroups directives to work with NIS and LDAP groups.
Diffstat (limited to 'openbsd-compat/port-aix.h')
-rw-r--r--openbsd-compat/port-aix.h16
1 files changed, 14 insertions, 2 deletions
diff --git a/openbsd-compat/port-aix.h b/openbsd-compat/port-aix.h
index 5a04beda..14024d41 100644
--- a/openbsd-compat/port-aix.h
+++ b/openbsd-compat/port-aix.h
@@ -1,9 +1,9 @@
-/* $Id: port-aix.h,v 1.27 2006/09/18 13:54:33 dtucker Exp $ */
+/* $Id: port-aix.h,v 1.28 2008/02/28 12:16:04 dtucker Exp $ */
/*
*
* Copyright (c) 2001 Gert Doering. All rights reserved.
- * Copyright (c) 2004, 2005 Darren Tucker. All rights reserved.
+ * Copyright (c) 2004,2005,2006 Darren Tucker. All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
@@ -103,4 +103,16 @@ int sshaix_getnameinfo(const struct sockaddr *, size_t, char *, size_t,
# define getnameinfo(a,b,c,d,e,f,g) (sshaix_getnameinfo(a,b,c,d,e,f,g))
#endif
+/*
+ * We use getgrset in preference to multiple getgrent calls for efficiency
+ * plus it supports NIS and LDAP groups.
+ */
+#if !defined(HAVE_GETGROUPLIST) && defined(HAVE_GETGRSET)
+# define HAVE_GETGROUPLIST
+# define USE_GETGRSET
+int getgrouplist(const char *, gid_t, gid_t *, int *);
+int ssh_initgroups(const char *, gid_t);
+# define initgroups(a, b) ssh_initgroups((a), (b))
+#endif
+
#endif /* _AIX */