[SCM] Samba Shared Repository - branch master updated

Andrew Bartlett abartlet at samba.org
Tue Feb 26 21:45:02 MST 2013


The branch, master has been updated
       via  bb0e4cb s4:winbindd: do not drop the workgroup name in the getgrgid call
       via  ecd0b10 s4:winbindd: do not drop the workgroup name in the getgrnam and getgrent calls.
      from  3e5acc1 Fix bug #9674 - Samba denies owner Read Control when there is a DENY entry while W2K08 does not.

http://gitweb.samba.org/?p=samba.git;a=shortlog;h=master


- Log -----------------------------------------------------------------
commit bb0e4cbc3c30137245ca6b6cf9d74812ad17cee1
Author: Michael Adam <obnox at samba.org>
Date:   Wed Feb 27 01:04:46 2013 +0100

    s4:winbindd: do not drop the workgroup name in the getgrgid call
    
    Signed-off-by: Michael Adam <obnox at samba.org>
    
    Reviewed-by: Andrew Bartlett <abartlet at samba.org>
    
    Autobuild-User(master): Andrew Bartlett <abartlet at samba.org>
    Autobuild-Date(master): Wed Feb 27 05:44:39 CET 2013 on sn-devel-104

commit ecd0b10d2f1de986303f8aab2915c20c2f025244
Author: Michael Adam <obnox at samba.org>
Date:   Wed Feb 27 00:45:55 2013 +0100

    s4:winbindd: do not drop the workgroup name in the getgrnam and getgrent calls.
    
    Signed-off-by: Michael Adam <obnox at samba.org>
    
    Reviewed-by: Andrew Bartlett <abartlet at samba.org>

-----------------------------------------------------------------------

Summary of changes:
 source4/winbind/wb_cmd_getgrgid.c |   12 +++++++++++-
 source4/winbind/wb_cmd_getgrnam.c |   12 +++++++++++-
 2 files changed, 22 insertions(+), 2 deletions(-)


Changeset truncated at 500 lines:

diff --git a/source4/winbind/wb_cmd_getgrgid.c b/source4/winbind/wb_cmd_getgrgid.c
index fe946ed..8ca93db 100644
--- a/source4/winbind/wb_cmd_getgrgid.c
+++ b/source4/winbind/wb_cmd_getgrgid.c
@@ -23,6 +23,7 @@
 #include "libcli/composite/composite.h"
 #include "winbind/wb_server.h"
 #include "smbd/service_task.h"
+#include "param/param.h"
 
 struct cmd_getgrgid_state {
 	struct composite_context *ctx;
@@ -127,6 +128,7 @@ static void cmd_getgrgid_recv_group_info(struct composite_context *ctx)
 				struct cmd_getgrgid_state);
 	struct libnet_GroupInfo *group_info;
 	struct winbindd_gr *gr;
+	char *group_name_with_domain;
 
 	DEBUG(5, ("cmd_getgrgid_recv_group_info called\n"));
 
@@ -139,7 +141,15 @@ static void cmd_getgrgid_recv_group_info(struct composite_context *ctx)
 	state->ctx->status = libnet_GroupInfo_recv(ctx, state, group_info);
 	if (!composite_is_ok(state->ctx)) return;
 
-	WBSRV_SAMBA3_SET_STRING(gr->gr_name, group_info->out.group_name);
+	group_name_with_domain = talloc_asprintf(gr, "%s%s%s",
+		state->workgroup,
+		lpcfg_winbind_separator(state->service->task->lp_ctx),
+		group_info->out.group_name);
+	if (composite_nomem(group_name_with_domain, state->ctx)) {
+		return;
+	}
+
+	WBSRV_SAMBA3_SET_STRING(gr->gr_name, group_name_with_domain);
 	WBSRV_SAMBA3_SET_STRING(gr->gr_passwd, "*");
 
 	gr->gr_gid = state->gid;
diff --git a/source4/winbind/wb_cmd_getgrnam.c b/source4/winbind/wb_cmd_getgrnam.c
index 7073209..d75a460 100644
--- a/source4/winbind/wb_cmd_getgrnam.c
+++ b/source4/winbind/wb_cmd_getgrnam.c
@@ -24,6 +24,7 @@
 #include "winbind/wb_server.h"
 #include "winbind/wb_helper.h"
 #include "smbd/service_task.h"
+#include "param/param.h"
 
 struct cmd_getgrnam_state {
 	struct composite_context *ctx;
@@ -105,6 +106,7 @@ static void cmd_getgrnam_recv_group_info(struct composite_context *ctx)
 			ctx->async.private_data, struct cmd_getgrnam_state);
 	struct libnet_GroupInfo *group_info;
 	struct winbindd_gr *gr;
+	char *group_name_with_domain;
 
 	DEBUG(5, ("cmd_getgrnam_recv_group_info called\n"));
 
@@ -117,7 +119,15 @@ static void cmd_getgrnam_recv_group_info(struct composite_context *ctx)
 	state->ctx->status = libnet_GroupInfo_recv(ctx, state, group_info);
 	if(!composite_is_ok(state->ctx)) return;
 
-	WBSRV_SAMBA3_SET_STRING(gr->gr_name, group_info->out.group_name);
+	group_name_with_domain = talloc_asprintf(gr, "%s%s%s",
+		state->workgroup_name,
+		lpcfg_winbind_separator(state->service->task->lp_ctx),
+		group_info->out.group_name);
+	if (composite_nomem(group_name_with_domain, state->ctx)) {
+		return;
+	}
+
+	WBSRV_SAMBA3_SET_STRING(gr->gr_name, group_name_with_domain);
 	WBSRV_SAMBA3_SET_STRING(gr->gr_passwd, "*");
 	gr->num_gr_mem = group_info->out.num_members;
 	gr->gr_mem_ofs = 0;


-- 
Samba Shared Repository


More information about the samba-cvs mailing list