mirror of
https://github.com/samba-team/samba.git
synced 2024-12-25 23:21:54 +03:00
Use putenv() instead of setenv() in the winbind_{off,on}() functions. Some
platforms don't have setenv().
This commit is contained in:
parent
eaf69b1ae7
commit
a8b487c4cb
@ -472,17 +472,44 @@ NSS_STATUS winbindd_request(int req_type,
|
||||
}
|
||||
|
||||
/*************************************************************************
|
||||
A couple of simple jfunctions to disable winbindd lookups and re-
|
||||
A couple of simple functions to disable winbindd lookups and re-
|
||||
enable them
|
||||
************************************************************************/
|
||||
|
||||
/* Use putenv() instead of setenv() as not all environments have the
|
||||
latter. */
|
||||
|
||||
static int set_winbind_dont_env(char value)
|
||||
{
|
||||
int len = strlen(WINBINDD_DONT_ENV) + 3; /* len("_NO_WINBINDD=1\0") */
|
||||
char *s = malloc(len);
|
||||
int result;
|
||||
|
||||
if (s == NULL)
|
||||
return -1;
|
||||
|
||||
/* It's OK to use strcpy here as we have allocated the correct
|
||||
buffer size and no user or network data is used. */
|
||||
|
||||
strcpy(s, WINBINDD_DONT_ENV);
|
||||
|
||||
s[strlen(WINBINDD_DONT_ENV)] = '=';
|
||||
s[strlen(WINBINDD_DONT_ENV) + 1] = value;
|
||||
s[strlen(WINBINDD_DONT_ENV) + 2] = '\0';
|
||||
|
||||
result = putenv(s);
|
||||
|
||||
free(s);
|
||||
return result;
|
||||
}
|
||||
|
||||
BOOL winbind_off( void )
|
||||
{
|
||||
return (setenv( WINBINDD_DONT_ENV, "1", 1 ) != -1);
|
||||
return set_winbind_dont_env('1') != -1;
|
||||
}
|
||||
|
||||
BOOL winbind_on( void )
|
||||
{
|
||||
return (setenv( WINBINDD_DONT_ENV, "0", 1 ) != -1);
|
||||
return set_winbind_dont_env('0') != -1;
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user