static struct group _winbind_group;
static char _winbind_groupbuf[1024];
-/*
- * We need a proper prototype for this :-)
- */
-
-NSS_STATUS _nss_winbind_setpwent(void);
-NSS_STATUS _nss_winbind_endpwent(void);
-NSS_STATUS _nss_winbind_getpwent_r(struct passwd *result, char *buffer,
- size_t buflen, int *errnop);
-NSS_STATUS _nss_winbind_getpwuid_r(uid_t uid, struct passwd *result,
- char *buffer, size_t buflen, int *errnop);
-NSS_STATUS _nss_winbind_getpwnam_r(const char *name, struct passwd *result,
- char *buffer, size_t buflen, int *errnop);
-NSS_STATUS _nss_winbind_setgrent(void);
-NSS_STATUS _nss_winbind_endgrent(void);
-NSS_STATUS _nss_winbind_getgrent_r(struct group *result, char *buffer,
- size_t buflen, int *errnop);
-NSS_STATUS _nss_winbind_getgrlst_r(struct group *result, char *buffer,
- size_t buflen, int *errnop);
-NSS_STATUS _nss_winbind_getgrnam_r(const char *name, struct group *result,
- char *buffer, size_t buflen, int *errnop);
-NSS_STATUS _nss_winbind_getgrgid_r(gid_t gid, struct group *result, char *buffer,
- size_t buflen, int *errnop);
-NSS_STATUS _nss_winbind_initgroups_dyn(char *user, gid_t group, long int *start,
- long int *size, gid_t **groups,
- long int limit, int *errnop);
-NSS_STATUS _nss_winbind_getusersids(const char *user_sid, char **group_sids,
- int *num_groups, char *buffer, size_t buf_size,
- int *errnop);
-NSS_STATUS _nss_winbind_nametosid(const char *name, char **sid, char *buffer,
- size_t buflen, int *errnop);
-NSS_STATUS _nss_winbind_sidtoname(const char *sid, char **name, char *buffer,
- size_t buflen, int *errnop);
-NSS_STATUS _nss_winbind_sidtouid(const char *sid, uid_t *uid, int *errnop);
-NSS_STATUS _nss_winbind_sidtogid(const char *sid, gid_t *gid, int *errnop);
-NSS_STATUS _nss_winbind_uidtosid(uid_t uid, char **sid, char *buffer,
- size_t buflen, int *errnop);
-NSS_STATUS _nss_winbind_gidtosid(gid_t gid, char **sid, char *buffer,
- size_t buflen, int *errnop);
-
int
netbsdwinbind_endgrent(void *nsrv, void *nscb, va_list ap)
{
*result = NULL;
rerrno = 0;
- rv = _nss_winbind_getgrent_r(grp, buffer, buflen, rerrno);
+ rv = _nss_winbind_getgrent_r(grp, buffer, buflen, &rerrno);
if (rv == NS_SUCCESS)
*result = grp;
else
{
int *result = va_arg(ap, int *);
const char *uname = va_arg(ap, const char *);
- gid_t agroup = va_arg(ap, gid_t);
gid_t *groups = va_arg(ap, gid_t *);
int maxgrp = va_arg(ap, int);
int *groupc = va_arg(ap, int *);
ZERO_STRUCT(response);
strncpy(request.data.username, uname,
sizeof(request.data.username) - 1);
- i = winbindd_request_response(WINBINDD_GETGROUPS, &request, &response);
+ i = winbindd_request_response(NULL, WINBINDD_GETGROUPS,
+ &request, &response);
if (i != NSS_STATUS_SUCCESS)
return NS_NOTFOUND;
wblistv = (gid_t *)response.extra_data.data;
*result = NULL;
rerrno = 0;
- rv = _nss_winbind_getpwent_r(pw, buffer, buflen, rerrno);
+ rv = _nss_winbind_getpwent_r(pw, buffer, buflen, &rerrno);
if (rv == NS_SUCCESS)
*result = pw;
else