summaryrefslogtreecommitdiffstats
path: root/source/nsswitch
diff options
context:
space:
mode:
authorGerald Carter <jerry@samba.org>2006-04-02 19:45:42 +0000
committerGerald Carter <jerry@samba.org>2006-04-02 19:45:42 +0000
commit18a00241a385a9fefbe5393ff37c0d5b17c9af90 (patch)
treec21b122afa8b76b9ff0725dd3ea1436f8ddf9d8d /source/nsswitch
parent8511fc30d3efabe377d5a7d4065bd2dcba8af7e8 (diff)
downloadsamba-18a00241a385a9fefbe5393ff37c0d5b17c9af90.tar.gz
samba-18a00241a385a9fefbe5393ff37c0d5b17c9af90.tar.xz
samba-18a00241a385a9fefbe5393ff37c0d5b17c9af90.zip
r14868: I will not write code when changing to Daylight Savings Time.
I will not write code when changing to Daylight Savings Time. I will not write code when changing to Daylight Savings Time. I will not write code when changing to Daylight Savings Time. I will not write code when changing to Daylight Savings Time. I will not write code when changing to Daylight Savings Time. I will not write code when changing to Daylight Savings Time. I will not write code when changing to Daylight Savings Time. I will not write code when changing to Daylight Savings Time. ... Fix my brain dead inverted logic for turning winbindd on and off when run on a DC or when calling pdb functions from within winbindd.
Diffstat (limited to 'source/nsswitch')
-rw-r--r--source/nsswitch/wb_common.c16
-rw-r--r--source/nsswitch/winbindd.c2
2 files changed, 10 insertions, 8 deletions
diff --git a/source/nsswitch/wb_common.c b/source/nsswitch/wb_common.c
index 05f080e73a9..91ec912b7d0 100644
--- a/source/nsswitch/wb_common.c
+++ b/source/nsswitch/wb_common.c
@@ -618,15 +618,17 @@ NSS_STATUS winbindd_request_response(int req_type,
/* Use putenv() instead of setenv() in these functions as not all
environments have the latter. */
-BOOL winbind_putenv( const char *s )
+BOOL winbind_off( void )
{
- fstring env;
+ static char *s = CONST_DISCARD(char *, WINBINDD_DONT_ENV "=1");
- if ( !s ) {
- return False;
- }
+ return putenv(s) != -1;
+}
- snprintf( env, sizeof(env), "%s=%s", WINBINDD_DONT_ENV, s );
+BOOL winbind_on( void )
+{
+ static char *s = CONST_DISCARD(char *, WINBINDD_DONT_ENV "=0");
- return putenv(env) != -1;
+ return putenv(s) != -1;
}
+
diff --git a/source/nsswitch/winbindd.c b/source/nsswitch/winbindd.c
index 51a7c1f6b0d..ad2774eea6e 100644
--- a/source/nsswitch/winbindd.c
+++ b/source/nsswitch/winbindd.c
@@ -945,7 +945,7 @@ int main(int argc, char **argv)
/* Set environment variable so we don't recursively call ourselves.
This may also be useful interactively. */
- if ( !winbind_putenv("0") ) {
+ if ( !winbind_off() ) {
DEBUG(0,("Failed to disable recusive winbindd calls. Exiting.\n"));
exit(1);
}