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
This commit is contained in:
Dag-Erling Smørgrav 2023-08-31 07:49:41 +00:00
parent 872e894056
commit 56b74a2d85

View File

@ -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);