1
0
mirror of https://github.com/samba-team/samba.git synced 2025-08-03 04:22:09 +03:00

nss_winbind: Solaris 64-bit fix and...

PATCH 1:
Fix gmem->numgids and gmem->maxgids breakage on Solaris 64-bit
because sizeof(int) != sizeof(long int).

PATCH 2:
This patch fixes a compile-time warning
"warning: implicit function declaration: _nss_winbind_initgroups_dyn".
(cherry picked from commit cb036772d0)
This commit is contained in:
SATOH Fumiyasu
2008-12-16 16:59:07 +01:00
committed by Volker Lendecke
parent b09d2edf26
commit 9cf2c45aa7
2 changed files with 10 additions and 2 deletions

View File

@ -281,17 +281,22 @@ _nss_winbind_getgroupsbymember_solwrap(nss_backend_t* be, void* args)
{ {
int errnop; int errnop;
struct nss_groupsbymem *gmem = (struct nss_groupsbymem *)args; struct nss_groupsbymem *gmem = (struct nss_groupsbymem *)args;
long int numgids = gmem->numgids;
long int maxgids = gmem->maxgids;
NSS_DEBUG("_nss_winbind_getgroupsbymember"); NSS_DEBUG("_nss_winbind_getgroupsbymember");
_nss_winbind_initgroups_dyn(gmem->username, _nss_winbind_initgroups_dyn(gmem->username,
gmem->gid_array[0], /* Primary Group */ gmem->gid_array[0], /* Primary Group */
&gmem->numgids, &numgids,
&gmem->maxgids, &maxgids,
&gmem->gid_array, &gmem->gid_array,
gmem->maxgids, gmem->maxgids,
&errnop); &errnop);
gmem->numgids = numgids;
gmem->maxgids = maxgids;
/* /*
* If the maximum number of gids have been found, return * If the maximum number of gids have been found, return
* SUCCESS so the switch engine will stop searching. Otherwise * SUCCESS so the switch engine will stop searching. Otherwise

View File

@ -81,5 +81,8 @@ NSS_STATUS _nss_winbind_getgrnam_r(const char *name,
NSS_STATUS _nss_winbind_getgrgid_r(gid_t gid, NSS_STATUS _nss_winbind_getgrgid_r(gid_t gid,
struct group *result, char *buffer, struct group *result, char *buffer,
size_t buflen, int *errnop); 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);
#endif /* _WINBIND_NSS_SOLARIS_H */ #endif /* _WINBIND_NSS_SOLARIS_H */