s3:winbind: Sanitize the args for find_auth_domain: It only needs the flags
authorVolker Lendecke <vl@samba.org>
Sun, 27 Sep 2009 09:49:11 +0000 (11:49 +0200)
committerVolker Lendecke <vl@samba.org>
Mon, 28 Sep 2009 15:54:20 +0000 (17:54 +0200)
source3/winbindd/winbindd_ccache_access.c
source3/winbindd/winbindd_pam.c
source3/winbindd/winbindd_proto.h

index ffb20ac6c464fa0e95347e76f711fd209bdc3557..86017e2215d1bb9a39b2b6145f9a2647421d2a2b 100644 (file)
@@ -169,7 +169,7 @@ void winbindd_ccache_ntlm_auth(struct winbindd_cli_state *state)
                return;
        }
 
                return;
        }
 
-       domain = find_auth_domain(state, name_domain);
+       domain = find_auth_domain(state->request->flags, name_domain);
 
        if (domain == NULL) {
                DEBUG(5,("winbindd_ccache_ntlm_auth: can't get domain [%s]\n",
 
        if (domain == NULL) {
                DEBUG(5,("winbindd_ccache_ntlm_auth: can't get domain [%s]\n",
index e28075bd808d6217298e9be152b44cfd4c7399f8..b379e2c7a942ec94914c4c8bd95263225cc3f54e 100644 (file)
@@ -328,8 +328,8 @@ static NTSTATUS check_info3_in_group(TALLOC_CTX *mem_ctx,
        return NT_STATUS_LOGON_FAILURE;
 }
 
        return NT_STATUS_LOGON_FAILURE;
 }
 
-struct winbindd_domain *find_auth_domain(struct winbindd_cli_state *state,
-                                       const char *domain_name)
+struct winbindd_domain *find_auth_domain(uint8_t flags,
+                                        const char *domain_name)
 {
        struct winbindd_domain *domain;
 
 {
        struct winbindd_domain *domain;
 
@@ -351,7 +351,7 @@ struct winbindd_domain *find_auth_domain(struct winbindd_cli_state *state,
        }
 
        /* we can auth against trusted domains */
        }
 
        /* we can auth against trusted domains */
-       if (state->request->flags & WBFLAG_PAM_CONTACT_TRUSTDOM) {
+       if (flags & WBFLAG_PAM_CONTACT_TRUSTDOM) {
                domain = find_domain_from_name_noinit(domain_name);
                if (domain == NULL) {
                        DEBUG(3, ("Authentication for domain [%s] skipped "
                domain = find_domain_from_name_noinit(domain_name);
                if (domain == NULL) {
                        DEBUG(3, ("Authentication for domain [%s] skipped "
@@ -835,7 +835,7 @@ void winbindd_pam_auth(struct winbindd_cli_state *state)
                goto done;
        }
 
                goto done;
        }
 
-       domain = find_auth_domain(state, name_domain);
+       domain = find_auth_domain(state->request->flags, name_domain);
 
        if (domain == NULL) {
                result = NT_STATUS_NO_SUCH_USER;
 
        if (domain == NULL) {
                result = NT_STATUS_NO_SUCH_USER;
@@ -1764,7 +1764,7 @@ void winbindd_pam_auth_crap(struct winbindd_cli_state *state)
        }
 
        if (domain_name != NULL)
        }
 
        if (domain_name != NULL)
-               domain = find_auth_domain(state, domain_name);
+               domain = find_auth_domain(state->request->flags, domain_name);
 
        if (domain != NULL) {
                sendto_domain(state, domain);
 
        if (domain != NULL) {
                sendto_domain(state, domain);
@@ -2224,7 +2224,8 @@ void winbindd_pam_logoff(struct winbindd_cli_state *state)
                goto failed;
        }
 
                goto failed;
        }
 
-       if ((domain = find_auth_domain(state, name_domain)) == NULL) {
+       if ((domain = find_auth_domain(state->request->flags,
+                                      name_domain)) == NULL) {
                goto failed;
        }
 
                goto failed;
        }
 
index d7f5761bcf90731f4b392e6d88099f186e6695ab..cf8a9a3fb2e067edd502047816e0f3cfeb121235 100644 (file)
@@ -494,8 +494,8 @@ void ndr_print_winbindd_domain(struct ndr_print *ndr,
 
 /* The following definitions come from winbindd/winbindd_pam.c  */
 
 
 /* The following definitions come from winbindd/winbindd_pam.c  */
 
-struct winbindd_domain *find_auth_domain(struct winbindd_cli_state *state, 
-                                       const char *domain_name);
+struct winbindd_domain *find_auth_domain(uint8_t flags,
+                                        const char *domain_name);
 NTSTATUS append_auth_data(struct winbindd_cli_state *state,
                          struct netr_SamInfo3 *info3,
                          const char *name_domain,
 NTSTATUS append_auth_data(struct winbindd_cli_state *state,
                          struct netr_SamInfo3 *info3,
                          const char *name_domain,