aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDag-Erling Smørgrav <des@FreeBSD.org>2023-08-31 07:49:41 +0000
committerDag-Erling Smørgrav <des@FreeBSD.org>2023-08-31 07:49:57 +0000
commit56b74a2d856c4d65a4b5c72d1352067b6b469d3b (patch)
treef74b80c94761c3cff03eb3f6359c817e925b18a9
parent872e89405684eac984e9004bdfeeb540e818ed74 (diff)
downloadsrc-56b74a2d856c4d65a4b5c72d1352067b6b469d3b.tar.gz
src-56b74a2d856c4d65a4b5c72d1352067b6b469d3b.zip
nss_tacplus: Provide dummy setpwent(), getpwent_r(), endpwent().
These aren't really needed, since TACACS+ does not support enumeration, but providing placeholders keeps nsdispatch() from complaining that they're missing. MFC after: 1 week Sponsored by: Klara, Inc. Reviewed by: kevans Differential Revision: https://reviews.freebsd.org/D41658
-rw-r--r--lib/nss_tacplus/nss_tacplus.c31
1 files changed, 31 insertions, 0 deletions
diff --git a/lib/nss_tacplus/nss_tacplus.c b/lib/nss_tacplus/nss_tacplus.c
index e18ffe2315ce..238d7bf301ad 100644
--- a/lib/nss_tacplus/nss_tacplus.c
+++ b/lib/nss_tacplus/nss_tacplus.c
@@ -271,12 +271,43 @@ nss_tacplus_getpwnam_r(void *retval, void *mdata __unused, va_list ap)
return (ret);
}
+static int
+nss_tacplus_setpwent(void *retval __unused, void *mdata __unused,
+ va_list ap __unused)
+{
+ return (NS_SUCCESS);
+}
+
+static int
+nss_tacplus_getpwent_r(void *retval, void *mdata __unused, va_list ap)
+{
+ struct passwd *pwd __unused = va_arg(ap, struct passwd *);
+ char *buffer __unused = va_arg(ap, char *);
+ size_t bufsize __unused = va_arg(ap, size_t);
+ int *result = va_arg(ap, int *);
+
+ *(void **)retval = NULL;
+ *result = 0;
+ return (NS_SUCCESS);
+
+}
+
+static int
+nss_tacplus_endpwent(void *retval __unused, void *mdata __unused,
+ va_list ap __unused)
+{
+ return (NS_SUCCESS);
+}
+
ns_mtab *
nss_module_register(const char *name __unused, unsigned int *plen,
nss_module_unregister_fn *unreg)
{
static ns_mtab mtab[] = {
{ "passwd", "getpwnam_r", &nss_tacplus_getpwnam_r, NULL },
+ { "passwd", "setpwent", &nss_tacplus_setpwent, NULL },
+ { "passwd", "getpwent_r", &nss_tacplus_getpwent_r, NULL },
+ { "passwd", "endpwent", &nss_tacplus_endpwent, NULL },
};
*plen = nitems(mtab);