nsswitch: convert winbind_env_set(), winbind_on() and winbind_off() into macros
authorStefan Metzmacher <metze@samba.org>
Mon, 11 Feb 2008 17:35:58 +0000 (18:35 +0100)
committerStefan Metzmacher <metze@samba.org>
Wed, 13 Feb 2008 09:44:52 +0000 (10:44 +0100)
metze
(This used to be commit 5f623f54a919cc687d0ff16c16038c05a501008d)

source3/lib/system_smbd.c
source3/nsswitch/wb_common.c
source3/nsswitch/winbind_client.h
source3/passdb/pdb_interface.c
source3/winbindd/idmap_nss.c

index 9d3eb95664cf961884538b62f1c3ba4731dea1d8..1f5dd3172f3decd6f2d25a060bd7aa98a384b8f0 100644 (file)
@@ -125,7 +125,7 @@ static int sys_getgrouplist(const char *user, gid_t gid, gid_t *groups, int *grp
         * always determined by the info3 coming back from auth3 or the
         * PAC. */
        winbind_env = winbind_env_set();
-       winbind_off();
+       (void)winbind_off();
 
 #ifdef HAVE_GETGROUPLIST
        retval = getgrouplist(user, gid, groups, grpcnt);
@@ -137,7 +137,7 @@ static int sys_getgrouplist(const char *user, gid_t gid, gid_t *groups, int *grp
 
        /* allow winbindd lookups, but only if they were not already disabled */
        if (!winbind_env) {
-               winbind_on();
+               (void)winbind_on();
        }
 
        return retval;
index 49a2935bffb47600020acb4951ce11db4c0efd7c..b113fc3336ee537b2d03fe46911b7901292fb613 100644 (file)
@@ -538,18 +538,6 @@ int winbindd_read_reply(struct winbindd_response *response)
        return result1 + result2;
 }
 
-bool winbind_env_set(void)
-{
-       char *env;
-       
-       if ((env=getenv(WINBINDD_DONT_ENV)) != NULL) {
-               if(strcmp(env, "1") == 0) {
-                       return true;
-               }
-       }
-       return false;
-}
-
 /* 
  * send simple types of requests 
  */
@@ -662,21 +650,6 @@ NSS_STATUS winbindd_priv_request_response(int req_type,
        return status;
 }
 
-/*************************************************************************
- A couple of simple functions to disable winbindd lookups and re-
- enable them
- ************************************************************************/
-bool winbind_off(void)
-{
-       return setenv(WINBINDD_DONT_ENV, "1", 1) != -1;
-}
-
-bool winbind_on(void)
-{
-       return setenv(WINBINDD_DONT_ENV, "0", 1) != -1;
-}
-
 /*************************************************************************
  ************************************************************************/
 
index 2a3956e1fd410af0c12a7038612e3cd1d36c526e..757f5869e90168de797e9bcee81ad395877ca1bd 100644 (file)
@@ -14,9 +14,14 @@ NSS_STATUS winbindd_priv_request_response(int req_type,
                                          struct winbindd_response *response);
 int winbindd_read_reply(struct winbindd_response *response);
 
-bool winbind_env_set(void);
-bool winbind_off(void);
-bool winbind_on(void);
+#define winbind_env_set() \
+       (strcmp(getenv(WINBINDD_DONT_ENV)?getenv(WINBINDD_DONT_ENV):"0","1") == 0)
+
+#define winbind_off() \
+       (setenv(WINBINDD_DONT_ENV, "1", 1) == 0)
+
+#define winbind_on() \
+       (setenv(WINBINDD_DONT_ENV, "0", 1) == 0)
 
 int winbind_write_sock(void *buffer, int count, int recursing, int need_priv);
 int winbind_read_sock(void *buffer, int count);
index fbba8bcaee452fe1a58ab42027d003752e88eebe..cd34c89bfc502ca91b24f54fc5e30d02d8fae461 100644 (file)
@@ -1349,7 +1349,7 @@ static bool get_memberuids(TALLOC_CTX *mem_ctx, gid_t gid, uid_t **pp_uids, size
 
        /* We only look at our own sam, so don't care about imported stuff */
        winbind_env = winbind_env_set();
-       winbind_off();
+       (void)winbind_off();
 
        if ((grp = getgrgid(gid)) == NULL) {
                /* allow winbindd lookups, but only if they weren't already disabled */
@@ -1385,7 +1385,7 @@ static bool get_memberuids(TALLOC_CTX *mem_ctx, gid_t gid, uid_t **pp_uids, size
 
        /* allow winbindd lookups, but only if they weren't already disabled */
        if (!winbind_env) {
-               winbind_on();
+               (void)winbind_on();
        }
        
        return ret;
index 46c24d7fcb95629436f4976c0d5de617bb95d383..e4acd9ce65a2c2269e6ad1ba75894a8e78388a9a 100644 (file)
@@ -87,10 +87,10 @@ static NTSTATUS idmap_nss_unixids_to_sids(struct idmap_domain *dom, struct id_ma
 
                /* by default calls to winbindd are disabled
                   the following call will not recurse so this is safe */
-               winbind_on();
+               (void)winbind_on();
                /* Lookup name from PDC using lsa_lookup_names() */
                ret = winbind_lookup_name(dom->name, name, ids[i]->sid, &type);
-               winbind_off();
+               (void)winbind_off();
 
                if (!ret) {
                        /* TODO: how do we know if the name is really not mapped,
@@ -153,9 +153,9 @@ static NTSTATUS idmap_nss_sids_to_unixids(struct idmap_domain *dom, struct id_ma
 
                /* by default calls to winbindd are disabled
                   the following call will not recurse so this is safe */
-               winbind_on();
+               (void)winbind_on();
                ret = winbind_lookup_sid(ctx, ids[i]->sid, &dom_name, &name, &type);
-               winbind_off();
+               (void)winbind_off();
 
                if (!ret) {
                        /* TODO: how do we know if the name is really not mapped,