[SCM] Samba Shared Repository - branch master updated
Matthias Dieter Wallnöfer
mdw at samba.org
Sun Jul 4 14:15:15 MDT 2010
The branch, master has been updated
via 343e932... s4:subtree_rename LDB module - Cosmetic fixes
via 7d483cd... s4:subtree_delete LDB module - fix comments and add my copyright
via 83dedef... s4:wb_cmd_list_groups.c - don't crash when we don't get any group at all
via 680453a... s4:wb_cmd_list_groups.c - indentation and comment fixes
via b0bba40... s4:libnet - add missing "talloc_free"s for "c" contexts on "recv" operations
from 05237dc... s3: Remove an unused variable -- thanks, metze!
http://gitweb.samba.org/?p=samba.git;a=shortlog;h=master
- Log -----------------------------------------------------------------
commit 343e9320ba4446635a50a0fa3849888f3b265e23
Author: Matthias Dieter Wallnöfer <mdw at samba.org>
Date: Sun Jul 4 10:41:17 2010 +0200
s4:subtree_rename LDB module - Cosmetic fixes
commit 7d483cdc04d0e58ea171d5d94f53013fb2c2cc0e
Author: Matthias Dieter Wallnöfer <mdw at samba.org>
Date: Sun Jul 4 10:23:41 2010 +0200
s4:subtree_delete LDB module - fix comments and add my copyright
(I've introduced the subtree delete mechanism)
commit 83dedef2c7b3c471d37f532f56d8eb0d45c20e51
Author: Matthias Dieter Wallnöfer <mdw at samba.org>
Date: Sun Jul 4 21:22:28 2010 +0200
s4:wb_cmd_list_groups.c - don't crash when we don't get any group at all
commit 680453a9069fc5f7c84344d702fbd9ac5819401a
Author: Matthias Dieter Wallnöfer <mdw at samba.org>
Date: Sun Jul 4 21:19:36 2010 +0200
s4:wb_cmd_list_groups.c - indentation and comment fixes
commit b0bba4003e928cdf0540047d6e4b7659cb0ac765
Author: Matthias Dieter Wallnöfer <mdw at samba.org>
Date: Sun Jul 4 20:04:28 2010 +0200
s4:libnet - add missing "talloc_free"s for "c" contexts on "recv" operations
-----------------------------------------------------------------------
Summary of changes:
source4/dsdb/samdb/ldb_modules/subtree_delete.c | 5 ++-
source4/dsdb/samdb/ldb_modules/subtree_rename.c | 7 +++--
source4/libnet/libnet_group.c | 3 +-
source4/libnet/libnet_lookup.c | 4 +--
source4/libnet/libnet_user.c | 6 ++++-
source4/winbind/wb_cmd_list_groups.c | 26 +++++++++++++---------
6 files changed, 30 insertions(+), 21 deletions(-)
Changeset truncated at 500 lines:
diff --git a/source4/dsdb/samdb/ldb_modules/subtree_delete.c b/source4/dsdb/samdb/ldb_modules/subtree_delete.c
index 4782702..b677c29 100644
--- a/source4/dsdb/samdb/ldb_modules/subtree_delete.c
+++ b/source4/dsdb/samdb/ldb_modules/subtree_delete.c
@@ -5,6 +5,7 @@
Copyright (C) Andrew Tridgell <tridge at samba.org> 2009
Copyright (C) Stefan Metzmacher <metze at samba.org> 2007
Copyright (C) Simo Sorce <idra at samba.org> 2008
+ Copyright (C) Matthias Dieter Wallnöfer 2010
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
@@ -23,9 +24,9 @@
/*
* Name: ldb
*
- * Component: ldb subtree delete (prevention) module
+ * Component: ldb subtree delete module
*
- * Description: Prevent deletion of a subtree in LDB
+ * Description: Delete of a subtree in LDB
*
* Author: Andrew Bartlett
*/
diff --git a/source4/dsdb/samdb/ldb_modules/subtree_rename.c b/source4/dsdb/samdb/ldb_modules/subtree_rename.c
index 350496a..ed2b024 100644
--- a/source4/dsdb/samdb/ldb_modules/subtree_rename.c
+++ b/source4/dsdb/samdb/ldb_modules/subtree_rename.c
@@ -223,6 +223,7 @@ static int subtree_rename(struct ldb_module *module, struct ldb_request *req)
struct ldb_request *search_req;
struct subtree_rename_context *ac;
int ret;
+
if (ldb_dn_is_special(req->op.rename.olddn)) { /* do not manipulate our control entries */
return ldb_next_request(module, req);
}
@@ -233,9 +234,9 @@ static int subtree_rename(struct ldb_module *module, struct ldb_request *req)
- Do a search for all entires under this entry
- Wait for these results to appear
- In the callback for each result, issue a modify request
- - That will include this rename, we hope
+ - That will include this rename, we hope
- Wait for each modify result
- - Regain our sainity
+ - Regain our sanity
*/
ac = subren_ctx_init(module, req);
@@ -270,5 +271,5 @@ static int subtree_rename(struct ldb_module *module, struct ldb_request *req)
_PUBLIC_ const struct ldb_module_ops ldb_subtree_rename_module_ops = {
.name = "subtree_rename",
- .rename = subtree_rename,
+ .rename = subtree_rename
};
diff --git a/source4/libnet/libnet_group.c b/source4/libnet/libnet_group.c
index f098667..8c88aa3 100644
--- a/source4/libnet/libnet_group.c
+++ b/source4/libnet/libnet_group.c
@@ -147,6 +147,7 @@ NTSTATUS libnet_CreateGroup_recv(struct composite_context *c,
r->out.error_string = talloc_strdup(mem_ctx, nt_errstr(status));
}
+ talloc_free(c);
return status;
}
@@ -408,7 +409,6 @@ NTSTATUS libnet_GroupInfo_recv(struct composite_context* c, TALLOC_CTX *mem_ctx,
}
talloc_free(c);
-
return status;
}
@@ -731,6 +731,7 @@ NTSTATUS libnet_GroupList_recv(struct composite_context *c, TALLOC_CTX *mem_ctx,
io->out.error_string = talloc_asprintf(mem_ctx, "Error: %s", nt_errstr(status));
}
+ talloc_free(c);
return status;
}
diff --git a/source4/libnet/libnet_lookup.c b/source4/libnet/libnet_lookup.c
index 21851d5..177292c 100644
--- a/source4/libnet/libnet_lookup.c
+++ b/source4/libnet/libnet_lookup.c
@@ -217,9 +217,7 @@ NTSTATUS libnet_LookupDCs_recv(struct composite_context *c, TALLOC_CTX *mem_ctx,
{
NTSTATUS status;
status = finddcs_recv(c, mem_ctx, &io->out.num_dcs, &io->out.dcs);
- if (!NT_STATUS_IS_OK(status)) {
- return status;
- }
+ /* "c" already freed here */
return status;
}
diff --git a/source4/libnet/libnet_user.c b/source4/libnet/libnet_user.c
index f05d2bd..0055639 100644
--- a/source4/libnet/libnet_user.c
+++ b/source4/libnet/libnet_user.c
@@ -178,6 +178,7 @@ NTSTATUS libnet_CreateUser_recv(struct composite_context *c, TALLOC_CTX *mem_ctx
r->out.error_string = talloc_strdup(mem_ctx, nt_errstr(status));
}
+ talloc_free(c);
return status;
}
@@ -346,6 +347,7 @@ NTSTATUS libnet_DeleteUser_recv(struct composite_context *c, TALLOC_CTX *mem_ctx
r->out.error_string = talloc_steal(mem_ctx, s->r.out.error_string);
}
+ talloc_free(c);
return status;
}
@@ -572,6 +574,8 @@ NTSTATUS libnet_ModifyUser_recv(struct composite_context *c, TALLOC_CTX *mem_ctx
struct libnet_ModifyUser *r)
{
NTSTATUS status = composite_wait(c);
+
+ talloc_free(c);
return status;
}
@@ -868,7 +872,6 @@ NTSTATUS libnet_UserInfo_recv(struct composite_context *c, TALLOC_CTX *mem_ctx,
}
talloc_free(c);
-
return status;
}
@@ -1195,6 +1198,7 @@ NTSTATUS libnet_UserList_recv(struct composite_context* c, TALLOC_CTX *mem_ctx,
r->out.error_string = talloc_asprintf(mem_ctx, "Error: %s", nt_errstr(status));
}
+ talloc_free(c);
return status;
}
diff --git a/source4/winbind/wb_cmd_list_groups.c b/source4/winbind/wb_cmd_list_groups.c
index 746ce8f..16059ea 100644
--- a/source4/winbind/wb_cmd_list_groups.c
+++ b/source4/winbind/wb_cmd_list_groups.c
@@ -91,13 +91,14 @@ static void cmd_list_groups_recv_domain(struct composite_context *ctx)
state->ctx->status = wb_sid2domain_recv(ctx, &domain);
if (!composite_is_ok(state->ctx)) return;
+ /* we use this entry also for context purposes (libnet_GroupList) */
state->domain = domain;
/* If this is non-null, we've looked up the domain given in the winbind
- * request, otherwise we'll just use the default name.*/
+ * request, otherwise we'll just use the default name .*/
if (state->domain_name == NULL) {
state->domain_name = talloc_strdup(state,
- domain->libnet_ctx->samr.name);
+ state->domain->libnet_ctx->samr.name);
if (composite_nomem(state->domain_name, state->ctx)) return;
}
@@ -112,10 +113,11 @@ static void cmd_list_groups_recv_domain(struct composite_context *ctx)
group_list->in.page_size = 128;
group_list->in.resume_index = state->resume_index;
- ctx = libnet_GroupList_send(domain->libnet_ctx, state, group_list,NULL);
+ ctx = libnet_GroupList_send(state->domain->libnet_ctx, state,
+ group_list, NULL);
composite_continue(state->ctx, ctx, cmd_list_groups_recv_group_list,
- state);
+ state);
}
static void cmd_list_groups_recv_group_list(struct composite_context *ctx)
@@ -135,7 +137,7 @@ static void cmd_list_groups_recv_group_list(struct composite_context *ctx)
/* If NTSTATUS is neither OK nor MORE_ENTRIES, something broke */
if (!NT_STATUS_IS_OK(status) &&
- !NT_STATUS_EQUAL(status, STATUS_MORE_ENTRIES)) {
+ !NT_STATUS_EQUAL(status, STATUS_MORE_ENTRIES)) {
composite_error(state->ctx, status);
return;
}
@@ -144,17 +146,19 @@ static void cmd_list_groups_recv_group_list(struct composite_context *ctx)
DEBUG(5, ("Appending group '%s'\n",
group_list->out.groups[i].groupname));
state->result = talloc_asprintf_append_buffer(state->result,
- "%s,",
- group_list->out.groups[i].groupname);
+ "%s,",
+ group_list->out.groups[i].groupname);
state->num_groups++;
}
/* If the status is OK, we're finished, there's no more groups.
* So we'll trim off the trailing ',' and are done.*/
if (NT_STATUS_IS_OK(status)) {
- int str_len = strlen(state->result);
+ size_t str_len = strlen(state->result);
DEBUG(5, ("list_GroupList_recv returned NT_STATUS_OK\n"));
- state->result[str_len - 1] = '\0';
+ if (str_len > 0) {
+ state->result[str_len - 1] = '\0';
+ }
composite_done(state->ctx);
return;
}
@@ -171,10 +175,10 @@ static void cmd_list_groups_recv_group_list(struct composite_context *ctx)
group_list->in.resume_index = group_list->out.resume_index;
ctx = libnet_GroupList_send(state->domain->libnet_ctx, state,group_list,
- NULL);
+ NULL);
composite_continue(state->ctx, ctx, cmd_list_groups_recv_group_list,
- state);
+ state);
}
NTSTATUS wb_cmd_list_groups_recv(struct composite_context *ctx,
--
Samba Shared Repository
More information about the samba-cvs
mailing list