1
0
mirror of https://github.com/samba-team/samba.git synced 2024-12-23 17:34:34 +03:00

fix for platforms that don't have unsetenv().

we now have to check the value for _NO_WINBINDD.
"1" enables, and != "1" disables (use "0" by convention).
(This used to be commit 11eccaef1d)
This commit is contained in:
Gerald Carter 2003-06-30 16:18:29 +00:00
parent aca3fa9149
commit 1d8cd8faf6
2 changed files with 9 additions and 5 deletions

View File

@ -114,7 +114,7 @@ int sys_getgrouplist(const char *user, gid_t gid, gid_t *groups, int *grpcnt)
/* see if we should disable winbindd lookups for local users */
if ( (p = strchr(user, *lp_winbind_separator())) == NULL ) {
if ( setenv(WINBINDD_DONT_ENV, "1", True) == -1 )
if ( setenv(WINBINDD_DONT_ENV, "1", 1) == -1 )
DEBUG(0,("sys_getgroup_list: Insufficient environment space for %s\n",
WINBINDD_DONT_ENV));
else
@ -131,7 +131,7 @@ int sys_getgrouplist(const char *user, gid_t gid, gid_t *groups, int *grpcnt)
#endif
/* allow winbindd lookups */
unsetenv( WINBINDD_DONT_ENV );
setenv( WINBINDD_DONT_ENV, "0", 1);
return retval;
}

View File

@ -395,11 +395,15 @@ int read_reply(struct winbindd_response *response)
NSS_STATUS winbindd_send_request(int req_type, struct winbindd_request *request)
{
struct winbindd_request lrequest;
char *env;
int value;
/* Check for our tricky environment variable */
if (getenv(WINBINDD_DONT_ENV)) {
return NSS_STATUS_NOTFOUND;
if ( (env = getenv(WINBINDD_DONT_ENV)) != NULL ) {
value = atoi(env);
if ( value == 1 )
return NSS_STATUS_NOTFOUND;
}
if (!request) {