summaryrefslogtreecommitdiffstats
path: root/crypto/openssh/groupaccess.c
diff options
context:
space:
mode:
authordes <des@FreeBSD.org>2002-03-18 09:55:03 +0000
committerdes <des@FreeBSD.org>2002-03-18 09:55:03 +0000
commit2fc4a488978a03338ecc65403597582c77dabeea (patch)
tree068818e7abaca45008ac24af9fb4de22815cc0eb /crypto/openssh/groupaccess.c
parent8acd87ac472a182ef2d717212f2c0faba81143a5 (diff)
downloadFreeBSD-src-2fc4a488978a03338ecc65403597582c77dabeea.zip
FreeBSD-src-2fc4a488978a03338ecc65403597582c77dabeea.tar.gz
Vendor import of OpenSSH 3.1
Diffstat (limited to 'crypto/openssh/groupaccess.c')
-rw-r--r--crypto/openssh/groupaccess.c14
1 files changed, 12 insertions, 2 deletions
diff --git a/crypto/openssh/groupaccess.c b/crypto/openssh/groupaccess.c
index ac9e00ac..66dfa68 100644
--- a/crypto/openssh/groupaccess.c
+++ b/crypto/openssh/groupaccess.c
@@ -1,5 +1,3 @@
-/* $OpenBSD: groupaccess.c,v 1.3 2001/01/29 01:58:15 niklas Exp $ */
-
/*
* Copyright (c) 2001 Kevin Steves. All rights reserved.
*
@@ -25,6 +23,7 @@
*/
#include "includes.h"
+RCSID("$OpenBSD: groupaccess.c,v 1.5 2002/03/04 17:27:39 stevesk Exp $");
#include "groupaccess.h"
#include "xmalloc.h"
@@ -34,6 +33,10 @@
static int ngroups;
static char *groups_byname[NGROUPS_MAX + 1]; /* +1 for base/primary group */
+/*
+ * Initialize group access list for user with primary (base) and
+ * supplementary groups. Return the number of groups in the list.
+ */
int
ga_init(const char *user, gid_t base)
{
@@ -53,6 +56,10 @@ ga_init(const char *user, gid_t base)
return (ngroups = j);
}
+/*
+ * Return 1 if one of user's groups is contained in groups.
+ * Return 0 otherwise. Use match_pattern() for string comparison.
+ */
int
ga_match(char * const *groups, int n)
{
@@ -65,6 +72,9 @@ ga_match(char * const *groups, int n)
return 0;
}
+/*
+ * Free memory allocated for group access list.
+ */
void
ga_free(void)
{
OpenPOWER on IntegriCloud