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 <[email protected]>
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 <[email protected]>
    
    Reviewed-by: Andrew Bartlett <[email protected]>
    
    Autobuild-User(master): Andrew Bartlett <[email protected]>
    Autobuild-Date(master): Wed Feb 27 05:44:39 CET 2013 on sn-devel-104

commit ecd0b10d2f1de986303f8aab2915c20c2f025244
Author: Michael Adam <[email protected]>
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 <[email protected]>
    
    Reviewed-by: Andrew Bartlett <[email protected]>

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

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

Reply via email to