[SCM] Samba Shared Repository - branch master updated
Volker Lendecke
vlendec at samba.org
Sun Apr 25 02:55:34 MDT 2010
The branch, master has been updated
via d41836f... s3: Simplify trustdom_state
via 13cdaf9... s3: Make "struct trustdom_state" its own talloc context
from d61b072... libwbclient: Talloc is no longer used
http://gitweb.samba.org/?p=samba.git;a=shortlog;h=master
- Log -----------------------------------------------------------------
commit d41836fb62e3059e042bf72d4392c2e85b55c582
Author: Volker Lendecke <vl at samba.org>
Date: Sun Apr 25 10:36:58 2010 +0200
s3: Simplify trustdom_state
Don't store information explicitly as boolean flags that can be easily
retrieved from the domain when it's actually needed.
commit 13cdaf9417ab08425d9b7e244a6830d34147b889
Author: Volker Lendecke <vl at samba.org>
Date: Sun Apr 25 10:25:55 2010 +0200
s3: Make "struct trustdom_state" its own talloc context
-----------------------------------------------------------------------
Summary of changes:
source3/winbindd/winbindd_util.c | 38 ++++++++++++++------------------------
1 files changed, 14 insertions(+), 24 deletions(-)
Changeset truncated at 500 lines:
diff --git a/source3/winbindd/winbindd_util.c b/source3/winbindd/winbindd_util.c
index 0209a31..83cc36b 100644
--- a/source3/winbindd/winbindd_util.c
+++ b/source3/winbindd/winbindd_util.c
@@ -237,9 +237,7 @@ bool domain_is_forest_root(const struct winbindd_domain *domain)
********************************************************************/
struct trustdom_state {
- TALLOC_CTX *mem_ctx;
- bool primary;
- bool forest_root;
+ struct winbindd_domain *domain;
struct winbindd_response *response;
};
@@ -249,39 +247,31 @@ static void rescan_forest_trusts( void );
static void add_trusted_domains( struct winbindd_domain *domain )
{
- TALLOC_CTX *mem_ctx;
struct winbindd_request *request;
struct winbindd_response *response;
struct trustdom_state *state;
- mem_ctx = talloc_init("add_trusted_domains");
- if (mem_ctx == NULL) {
+ state = TALLOC_ZERO_P(NULL, struct trustdom_state);
+ if (state == NULL) {
DEBUG(0, ("talloc_init failed\n"));
return;
}
- request = TALLOC_ZERO_P(mem_ctx, struct winbindd_request);
- response = TALLOC_P(mem_ctx, struct winbindd_response);
- state = TALLOC_P(mem_ctx, struct trustdom_state);
+ request = TALLOC_ZERO_P(state, struct winbindd_request);
+ response = TALLOC_P(state, struct winbindd_response);
- if ((request == NULL) || (response == NULL) || (state == NULL)) {
+ if ((request == NULL) || (response == NULL)) {
DEBUG(0, ("talloc failed\n"));
- talloc_destroy(mem_ctx);
+ TALLOC_FREE(state);
return;
}
-
- state->mem_ctx = mem_ctx;
state->response = response;
-
- /* Flags used to know how to continue the forest trust search */
-
- state->primary = domain->primary;
- state->forest_root = domain_is_forest_root(domain);
+ state->domain = domain;
request->length = sizeof(*request);
request->cmd = WINBINDD_LIST_TRUSTDOM;
- async_domain_request(mem_ctx, domain, request, response,
+ async_domain_request(state, domain, request, response,
trustdom_recv, state);
}
@@ -294,7 +284,7 @@ static void trustdom_recv(void *private_data, bool success)
if ((!success) || (response->result != WINBINDD_OK)) {
DEBUG(1, ("Could not receive trustdoms\n"));
- talloc_destroy(state->mem_ctx);
+ TALLOC_FREE(state);
return;
}
@@ -368,23 +358,23 @@ static void trustdom_recv(void *private_data, bool success)
&& !forest_root)
*/
- if ( state->primary ) {
+ if (state->domain->primary) {
/* If this is our primary domain and we are not in the
forest root, we have to scan the root trusts first */
- if ( !state->forest_root )
+ if (!domain_is_forest_root(state->domain))
rescan_forest_root_trusts();
else
rescan_forest_trusts();
- } else if ( state->forest_root ) {
+ } else if (domain_is_forest_root(state->domain)) {
/* Once we have done root forest trust search, we can
go on to search the trusted forests */
rescan_forest_trusts();
}
- talloc_destroy(state->mem_ctx);
+ TALLOC_FREE(state);
return;
}
--
Samba Shared Repository
More information about the samba-cvs
mailing list