[SCM] Samba Shared Repository - branch master updated

Günther Deschner gd at samba.org
Tue Feb 1 16:22:04 MST 2011


The branch, master has been updated
       via  a19c1cbb s3-net: prefer dcerpc_samr_X functions in rpc_trustdom_list.
       via  c7b1432 s3-net: prefer dcerpc_samr_X functions in rpc_trustdom_del_internals.
       via  95ee07d s3-net: prefer dcerpc_samr_X functions in rpc_trustdom_add_internals.
       via  49f08d1 s3-net: prefer dcerpc_samr_X functions in rpc_aliaslist_internals.
       via  37f2f51 s3-net: prefer dcerpc_samr_X functions in rpc_fetch_domain_aliases.
       via  bf10bbc s3-net: prefer dcerpc_samr_X functions in rpc_group_members_internals.
       via  20edb2d s3-net: prefer dcerpc_samr_X functions in rpc_list_alias_members.
       via  2a63433 s3-net: prefer dcerpc_samr_X functions in rpc_list_group_members.
       via  d280a52 s3-net: prefer dcerpc_samr_X functions in rpc_group_list_internals.
       via  84e3d14 s3-net: prefer dcerpc_samr_X functions in rpc_del_aliasmem.
       via  b9b2325 s3-net: prefer dcerpc_samr_X functions in rpc_del_groupmem.
       via  55e042a s3-net: prefer dcerpc_samr_X functions in rpc_add_aliasmem.
       via  f8147fb s3-net: prefer dcerpc_samr_X functions in rpc_add_groupmem.
       via  e14c214 s3-net: prefer dcerpc_samr_X functions in rpc_group_delete_internals.
       via  54b74c7 s3-net: prefer dcerpc_samr_X functions in rpc_sh_user_flag_edit_internals.
       via  1d3b378 s3-net: prefer dcerpc_samr_X functions in rpc_sh_user_str_edit_internals.
       via  a87a9fc s3-net: prefer dcerpc_samr_X functions in rpc_sh_user_show_internals.
       via  021e0b4 s3-net: prefer dcerpc_samr_X functions in rpc_sh_handle_user.
       via  f140e89 s3-net: prefer dcerpc_samr_X functions in rpc_info_internals.
       via  e3aafb2 s3-net: prefer dcerpc_samr_X functions in net_rpc_sh_acct.c.
      from  fbbe321 s3-waf: fix the build after linux netlink changes.

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


- Log -----------------------------------------------------------------
commit a19c1cbb8d74307e05cba379903c739e7abc0943
Author: Günther Deschner <gd at samba.org>
Date:   Tue Jan 18 12:10:02 2011 +0100

    s3-net: prefer dcerpc_samr_X functions in rpc_trustdom_list.
    
    Guenther
    
    Autobuild-User: Günther Deschner <gd at samba.org>
    Autobuild-Date: Wed Feb  2 00:21:19 CET 2011 on sn-devel-104

commit c7b1432b6eeba79aa8cfe22f68c983cd2532ac5f
Author: Günther Deschner <gd at samba.org>
Date:   Tue Jan 18 12:08:02 2011 +0100

    s3-net: prefer dcerpc_samr_X functions in rpc_trustdom_del_internals.
    
    Guenther

commit 95ee07d8abbd7d487003d3b07e67cbcc7e0816c5
Author: Günther Deschner <gd at samba.org>
Date:   Tue Jan 18 12:06:42 2011 +0100

    s3-net: prefer dcerpc_samr_X functions in rpc_trustdom_add_internals.
    
    Guenther

commit 49f08d1d7cd9a8bd9e7757ec2575175b79255e14
Author: Günther Deschner <gd at samba.org>
Date:   Tue Jan 18 12:05:38 2011 +0100

    s3-net: prefer dcerpc_samr_X functions in rpc_aliaslist_internals.
    
    Guenther

commit 37f2f518bed220a83025884e4b345ba2b0a08dd6
Author: Günther Deschner <gd at samba.org>
Date:   Tue Jan 18 12:04:56 2011 +0100

    s3-net: prefer dcerpc_samr_X functions in rpc_fetch_domain_aliases.
    
    Guenther

commit bf10bbc074decbdffe9f094cdf6a7ec859dd708e
Author: Günther Deschner <gd at samba.org>
Date:   Tue Jan 18 12:02:53 2011 +0100

    s3-net: prefer dcerpc_samr_X functions in rpc_group_members_internals.
    
    Guenther

commit 20edb2d48bc0b7c4d4d44baf491480838d1e38ba
Author: Günther Deschner <gd at samba.org>
Date:   Tue Jan 18 12:01:35 2011 +0100

    s3-net: prefer dcerpc_samr_X functions in rpc_list_alias_members.
    
    Guenther

commit 2a63433e942a8b75c27291fba6d6c230be020b09
Author: Günther Deschner <gd at samba.org>
Date:   Tue Jan 18 12:00:09 2011 +0100

    s3-net: prefer dcerpc_samr_X functions in rpc_list_group_members.
    
    Guenther

commit d280a52fdd04a02d68525f341ede4d39534f0b4c
Author: Günther Deschner <gd at samba.org>
Date:   Tue Jan 18 11:59:16 2011 +0100

    s3-net: prefer dcerpc_samr_X functions in rpc_group_list_internals.
    
    Guenther

commit 84e3d14f7a1cc9a0d03235a95a2813cb54947ded
Author: Günther Deschner <gd at samba.org>
Date:   Tue Jan 18 11:57:33 2011 +0100

    s3-net: prefer dcerpc_samr_X functions in rpc_del_aliasmem.
    
    Guenther

commit b9b2325f4566423f67b93309b47401d992257c38
Author: Günther Deschner <gd at samba.org>
Date:   Tue Jan 18 11:56:52 2011 +0100

    s3-net: prefer dcerpc_samr_X functions in rpc_del_groupmem.
    
    Guenther

commit 55e042a4f2689ecc9c78933792047b6426950662
Author: Günther Deschner <gd at samba.org>
Date:   Tue Jan 18 11:56:12 2011 +0100

    s3-net: prefer dcerpc_samr_X functions in rpc_add_aliasmem.
    
    Guenther

commit f8147fbb149574023d6e0ed3662b0a0a43f4bbb9
Author: Günther Deschner <gd at samba.org>
Date:   Tue Jan 18 11:44:42 2011 +0100

    s3-net: prefer dcerpc_samr_X functions in rpc_add_groupmem.
    
    Guenther

commit e14c214ab38024b37e460a1160f11ddfbef5d3c6
Author: Günther Deschner <gd at samba.org>
Date:   Tue Jan 18 11:43:15 2011 +0100

    s3-net: prefer dcerpc_samr_X functions in rpc_group_delete_internals.
    
    Guenther

commit 54b74c781df6d297043366827af7ea283ee31da0
Author: Günther Deschner <gd at samba.org>
Date:   Tue Jan 18 11:38:53 2011 +0100

    s3-net: prefer dcerpc_samr_X functions in rpc_sh_user_flag_edit_internals.
    
    Guenther

commit 1d3b3780012b15b6287cb5f649680ad3eff0e8dc
Author: Günther Deschner <gd at samba.org>
Date:   Tue Jan 18 11:37:52 2011 +0100

    s3-net: prefer dcerpc_samr_X functions in rpc_sh_user_str_edit_internals.
    
    Guenther

commit a87a9fc9ce68438526d5146feab04986c719f11b
Author: Günther Deschner <gd at samba.org>
Date:   Tue Jan 18 11:36:48 2011 +0100

    s3-net: prefer dcerpc_samr_X functions in rpc_sh_user_show_internals.
    
    Guenther

commit 021e0b4cdaf430e55e84a8b26fe1eb3d1edd88b7
Author: Günther Deschner <gd at samba.org>
Date:   Tue Jan 18 11:35:50 2011 +0100

    s3-net: prefer dcerpc_samr_X functions in rpc_sh_handle_user.
    
    Guenther

commit f140e892f65f6d3492f5f36db081ad425a86afd8
Author: Günther Deschner <gd at samba.org>
Date:   Tue Jan 18 11:34:33 2011 +0100

    s3-net: prefer dcerpc_samr_X functions in rpc_info_internals.
    
    Guenther

commit e3aafb2a7f68ce0827f424e92c85434d28f5d906
Author: Günther Deschner <gd at samba.org>
Date:   Mon Jan 17 18:16:06 2011 +0100

    s3-net: prefer dcerpc_samr_X functions in net_rpc_sh_acct.c.
    
    Guenther

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

Summary of changes:
 source3/utils/net_rpc.c         | 1022 ++++++++++++++++++++++++++++-----------
 source3/utils/net_rpc_sh_acct.c |   82 +++-
 2 files changed, 792 insertions(+), 312 deletions(-)


Changeset truncated at 500 lines:

diff --git a/source3/utils/net_rpc.c b/source3/utils/net_rpc.c
index 158e4d5..090aa34 100644
--- a/source3/utils/net_rpc.c
+++ b/source3/utils/net_rpc.c
@@ -23,7 +23,7 @@
 #include "includes.h"
 #include "utils/net.h"
 #include "../libcli/auth/libcli_auth.h"
-#include "../librpc/gen_ndr/cli_samr.h"
+#include "../librpc/gen_ndr/ndr_samr_c.h"
 #include "rpc_client/cli_samr.h"
 #include "rpc_client/init_samr.h"
 #include "../librpc/gen_ndr/cli_lsa.h"
@@ -505,39 +505,60 @@ NTSTATUS rpc_info_internals(struct net_context *c,
 			const char **argv)
 {
 	struct policy_handle connect_pol, domain_pol;
-	NTSTATUS result = NT_STATUS_UNSUCCESSFUL;
+	NTSTATUS status, result;
 	union samr_DomainInfo *info = NULL;
 	fstring sid_str;
+	struct dcerpc_binding_handle *b = pipe_hnd->binding_handle;
 
 	sid_to_fstring(sid_str, domain_sid);
 
 	/* Get sam policy handle */
-	result = rpccli_samr_Connect2(pipe_hnd, mem_ctx,
+	status = dcerpc_samr_Connect2(b, mem_ctx,
 				      pipe_hnd->desthost,
 				      MAXIMUM_ALLOWED_ACCESS,
-				      &connect_pol);
+				      &connect_pol,
+				      &result);
+	if (!NT_STATUS_IS_OK(status)) {
+		d_fprintf(stderr, _("Could not connect to SAM: %s\n"),
+			  nt_errstr(status));
+		goto done;
+	}
+
 	if (!NT_STATUS_IS_OK(result)) {
+		status = result;
 		d_fprintf(stderr, _("Could not connect to SAM: %s\n"),
 			  nt_errstr(result));
 		goto done;
 	}
 
 	/* Get domain policy handle */
-	result = rpccli_samr_OpenDomain(pipe_hnd, mem_ctx,
+	status = dcerpc_samr_OpenDomain(b, mem_ctx,
 					&connect_pol,
 					MAXIMUM_ALLOWED_ACCESS,
 					CONST_DISCARD(struct dom_sid2 *, domain_sid),
-					&domain_pol);
+					&domain_pol,
+					&result);
+	if (!NT_STATUS_IS_OK(status)) {
+		d_fprintf(stderr, _("Could not open domain: %s\n"),
+			  nt_errstr(status));
+		goto done;
+	}
 	if (!NT_STATUS_IS_OK(result)) {
+		status = result;
 		d_fprintf(stderr, _("Could not open domain: %s\n"),
 			  nt_errstr(result));
 		goto done;
 	}
 
-	result = rpccli_samr_QueryDomainInfo(pipe_hnd, mem_ctx,
+	status = dcerpc_samr_QueryDomainInfo(b, mem_ctx,
 					     &domain_pol,
 					     2,
-					     &info);
+					     &info,
+					     &result);
+	if (!NT_STATUS_IS_OK(status)) {
+		goto done;
+	}
+	status = result;
 	if (NT_STATUS_IS_OK(result)) {
 		d_printf(_("Domain Name: %s\n"),
 			 info->general.domain_name.string);
@@ -550,7 +571,7 @@ NTSTATUS rpc_info_internals(struct net_context *c,
 	}
 
  done:
-	return result;
+	return status;
 }
 
 /**
@@ -1110,10 +1131,11 @@ static NTSTATUS rpc_sh_handle_user(struct net_context *c,
 					   int argc, const char **argv))
 {
 	struct policy_handle connect_pol, domain_pol, user_pol;
-	NTSTATUS result = NT_STATUS_UNSUCCESSFUL;
+	NTSTATUS status, result;
 	struct dom_sid sid;
 	uint32 rid;
 	enum lsa_SidType type;
+	struct dcerpc_binding_handle *b = pipe_hnd->binding_handle;
 
 	if (argc == 0) {
 		d_fprintf(stderr, "%s %s <username>\n", _("Usage:"),
@@ -1125,66 +1147,81 @@ static NTSTATUS rpc_sh_handle_user(struct net_context *c,
 	ZERO_STRUCT(domain_pol);
 	ZERO_STRUCT(user_pol);
 
-	result = net_rpc_lookup_name(c, mem_ctx, rpc_pipe_np_smb_conn(pipe_hnd),
+	status = net_rpc_lookup_name(c, mem_ctx, rpc_pipe_np_smb_conn(pipe_hnd),
 				     argv[0], NULL, NULL, &sid, &type);
-	if (!NT_STATUS_IS_OK(result)) {
+	if (!NT_STATUS_IS_OK(status)) {
 		d_fprintf(stderr, _("Could not lookup %s: %s\n"), argv[0],
-			  nt_errstr(result));
+			  nt_errstr(status));
 		goto done;
 	}
 
 	if (type != SID_NAME_USER) {
 		d_fprintf(stderr, _("%s is a %s, not a user\n"), argv[0],
 			  sid_type_lookup(type));
-		result = NT_STATUS_NO_SUCH_USER;
+		status = NT_STATUS_NO_SUCH_USER;
 		goto done;
 	}
 
 	if (!sid_peek_check_rid(ctx->domain_sid, &sid, &rid)) {
 		d_fprintf(stderr, _("%s is not in our domain\n"), argv[0]);
-		result = NT_STATUS_NO_SUCH_USER;
+		status = NT_STATUS_NO_SUCH_USER;
 		goto done;
 	}
 
-	result = rpccli_samr_Connect2(pipe_hnd, mem_ctx,
+	status = dcerpc_samr_Connect2(b, mem_ctx,
 				      pipe_hnd->desthost,
 				      MAXIMUM_ALLOWED_ACCESS,
-				      &connect_pol);
+				      &connect_pol,
+				      &result);
+	if (!NT_STATUS_IS_OK(status)) {
+		goto done;
+	}
 	if (!NT_STATUS_IS_OK(result)) {
+		status = result;
 		goto done;
 	}
 
-	result = rpccli_samr_OpenDomain(pipe_hnd, mem_ctx,
+	status = dcerpc_samr_OpenDomain(b, mem_ctx,
 					&connect_pol,
 					MAXIMUM_ALLOWED_ACCESS,
 					ctx->domain_sid,
-					&domain_pol);
+					&domain_pol,
+					&result);
+	if (!NT_STATUS_IS_OK(status)) {
+		goto done;
+	}
 	if (!NT_STATUS_IS_OK(result)) {
+		status = result;
 		goto done;
 	}
 
-	result = rpccli_samr_OpenUser(pipe_hnd, mem_ctx,
+	status = dcerpc_samr_OpenUser(b, mem_ctx,
 				      &domain_pol,
 				      MAXIMUM_ALLOWED_ACCESS,
 				      rid,
-				      &user_pol);
+				      &user_pol,
+				      &result);
+	if (!NT_STATUS_IS_OK(status)) {
+		goto done;
+	}
 	if (!NT_STATUS_IS_OK(result)) {
+		status = result;
 		goto done;
 	}
 
-	result = fn(c, mem_ctx, ctx, pipe_hnd, &user_pol, argc-1, argv+1);
+	status = fn(c, mem_ctx, ctx, pipe_hnd, &user_pol, argc-1, argv+1);
 
  done:
 	if (is_valid_policy_hnd(&user_pol)) {
-		rpccli_samr_Close(pipe_hnd, mem_ctx, &user_pol);
+		dcerpc_samr_Close(b, mem_ctx, &user_pol, &result);
 	}
 	if (is_valid_policy_hnd(&domain_pol)) {
-		rpccli_samr_Close(pipe_hnd, mem_ctx, &domain_pol);
+		dcerpc_samr_Close(b, mem_ctx, &domain_pol, &result);
 	}
 	if (is_valid_policy_hnd(&connect_pol)) {
-		rpccli_samr_Close(pipe_hnd, mem_ctx, &connect_pol);
+		dcerpc_samr_Close(b, mem_ctx, &connect_pol, &result);
 	}
-	return result;
+	return status;
 }
 
 static NTSTATUS rpc_sh_user_show_internals(struct net_context *c,
@@ -1194,8 +1231,9 @@ static NTSTATUS rpc_sh_user_show_internals(struct net_context *c,
 					   struct policy_handle *user_hnd,
 					   int argc, const char **argv)
 {
-	NTSTATUS result;
+	NTSTATUS status, result;
 	union samr_UserInfo *info = NULL;
+	struct dcerpc_binding_handle *b = pipe_hnd->binding_handle;
 
 	if (argc != 0) {
 		d_fprintf(stderr, "%s %s show <username>\n", _("Usage:"),
@@ -1203,10 +1241,14 @@ static NTSTATUS rpc_sh_user_show_internals(struct net_context *c,
 		return NT_STATUS_INVALID_PARAMETER;
 	}
 
-	result = rpccli_samr_QueryUserInfo(pipe_hnd, mem_ctx,
+	status = dcerpc_samr_QueryUserInfo(b, mem_ctx,
 					   user_hnd,
 					   21,
-					   &info);
+					   &info,
+					   &result);
+	if (!NT_STATUS_IS_OK(status)) {
+		return status;
+	}
 	if (!NT_STATUS_IS_OK(result)) {
 		return result;
 	}
@@ -1246,10 +1288,11 @@ static NTSTATUS rpc_sh_user_str_edit_internals(struct net_context *c,
 					       struct policy_handle *user_hnd,
 					       int argc, const char **argv)
 {
-	NTSTATUS result;
+	NTSTATUS status, result;
 	const char *username;
 	const char *oldval = "";
 	union samr_UserInfo *info = NULL;
+	struct dcerpc_binding_handle *b = pipe_hnd->binding_handle;
 
 	if (argc > 1) {
 		d_fprintf(stderr, "%s %s <username> [new value|NULL]\n",
@@ -1257,10 +1300,14 @@ static NTSTATUS rpc_sh_user_str_edit_internals(struct net_context *c,
 		return NT_STATUS_INVALID_PARAMETER;
 	}
 
-	result = rpccli_samr_QueryUserInfo(pipe_hnd, mem_ctx,
+	status = dcerpc_samr_QueryUserInfo(b, mem_ctx,
 					   user_hnd,
 					   21,
-					   &info);
+					   &info,
+					   &result);
+	if (!NT_STATUS_IS_OK(status)) {
+		return status;
+	}
 	if (!NT_STATUS_IS_OK(result)) {
 		return result;
 	}
@@ -1292,17 +1339,23 @@ static NTSTATUS rpc_sh_user_str_edit_internals(struct net_context *c,
 	SETSTR("profilepath", profile_path, PROFILE_PATH);
 	SETSTR("description", description, DESCRIPTION);
 
-	result = rpccli_samr_SetUserInfo(pipe_hnd, mem_ctx,
+	status = dcerpc_samr_SetUserInfo(b, mem_ctx,
 					 user_hnd,
 					 21,
-					 info);
+					 info,
+					 &result);
+	if (!NT_STATUS_IS_OK(status)) {
+		return status;
+	}
+
+	status = result;
 
 	d_printf(_("Set %s's %s from [%s] to [%s]\n"), username,
 		 ctx->thiscmd, oldval, argv[0]);
 
  done:
 
-	return result;
+	return status;
 }
 
 #define HANDLEFLG(name, rec) \
@@ -1331,12 +1384,13 @@ static NTSTATUS rpc_sh_user_flag_edit_internals(struct net_context *c,
 						struct policy_handle *user_hnd,
 						int argc, const char **argv)
 {
-	NTSTATUS result;
+	NTSTATUS status, result;
 	const char *username;
 	const char *oldval = "unknown";
 	uint32 oldflags, newflags;
 	bool newval;
 	union samr_UserInfo *info = NULL;
+	struct dcerpc_binding_handle *b = pipe_hnd->binding_handle;
 
 	if ((argc > 1) ||
 	    ((argc == 1) && !strequal(argv[0], "yes") &&
@@ -1350,10 +1404,14 @@ static NTSTATUS rpc_sh_user_flag_edit_internals(struct net_context *c,
 
 	newval = strequal(argv[0], "yes");
 
-	result = rpccli_samr_QueryUserInfo(pipe_hnd, mem_ctx,
+	status = dcerpc_samr_QueryUserInfo(b, mem_ctx,
 					   user_hnd,
 					   21,
-					   &info);
+					   &info,
+					   &result);
+	if (!NT_STATUS_IS_OK(status)) {
+		return status;
+	}
 	if (!NT_STATUS_IS_OK(result)) {
 		return result;
 	}
@@ -1378,11 +1436,15 @@ static NTSTATUS rpc_sh_user_flag_edit_internals(struct net_context *c,
 	info->info21.acct_flags = newflags;
 	info->info21.fields_present = SAMR_FIELD_ACCT_FLAGS;
 
-	result = rpccli_samr_SetUserInfo(pipe_hnd, mem_ctx,
+	status = dcerpc_samr_SetUserInfo(b, mem_ctx,
 					 user_hnd,
 					 21,
-					 info);
-
+					 info,
+					 &result);
+	if (!NT_STATUS_IS_OK(status)) {
+		goto done;
+	}
+	status = result;
 	if (NT_STATUS_IS_OK(result)) {
 		d_printf(_("Set %s's %s flag from [%s] to [%s]\n"), username,
 			 ctx->thiscmd, oldval, argv[0]);
@@ -1390,7 +1452,7 @@ static NTSTATUS rpc_sh_user_flag_edit_internals(struct net_context *c,
 
  done:
 
-	return result;
+	return status;
 }
 
 static NTSTATUS rpc_sh_user_flag_edit(struct net_context *c,
@@ -1510,12 +1572,13 @@ static NTSTATUS rpc_group_delete_internals(struct net_context *c,
 {
 	struct policy_handle connect_pol, domain_pol, group_pol, user_pol;
 	bool group_is_primary = false;
-	NTSTATUS result = NT_STATUS_UNSUCCESSFUL;
+	NTSTATUS status, result;
 	uint32_t group_rid;
 	struct samr_RidAttrArray *rids = NULL;
 	/* char **names; */
 	int i;
 	/* struct samr_RidWithAttribute *user_gids; */
+	struct dcerpc_binding_handle *b = pipe_hnd->binding_handle;
 
 	struct samr_Ids group_rids, name_types;
 	struct lsa_String lsa_acct_name;
@@ -1526,64 +1589,98 @@ static NTSTATUS rpc_group_delete_internals(struct net_context *c,
 		return NT_STATUS_OK; /* ok? */
 	}
 
-	result = rpccli_samr_Connect2(pipe_hnd, mem_ctx,
+	status = dcerpc_samr_Connect2(b, mem_ctx,
 				      pipe_hnd->desthost,
 				      MAXIMUM_ALLOWED_ACCESS,
-				      &connect_pol);
+				      &connect_pol,
+				      &result);
+        if (!NT_STATUS_IS_OK(status)) {
+		d_fprintf(stderr, _("Request samr_Connect2 failed\n"));
+		goto done;
+        }
 
         if (!NT_STATUS_IS_OK(result)) {
+		status = result;
 		d_fprintf(stderr, _("Request samr_Connect2 failed\n"));
-        	goto done;
+		goto done;
         }
 
-        result = rpccli_samr_OpenDomain(pipe_hnd, mem_ctx,
+	status = dcerpc_samr_OpenDomain(b, mem_ctx,
 					&connect_pol,
 					MAXIMUM_ALLOWED_ACCESS,
 					CONST_DISCARD(struct dom_sid2 *, domain_sid),
-					&domain_pol);
+					&domain_pol,
+					&result);
+        if (!NT_STATUS_IS_OK(status)) {
+		d_fprintf(stderr, _("Request open_domain failed\n"));
+		goto done;
+        }
 
         if (!NT_STATUS_IS_OK(result)) {
+		status = result;
 		d_fprintf(stderr, _("Request open_domain failed\n"));
-        	goto done;
+		goto done;
         }
 
 	init_lsa_String(&lsa_acct_name, argv[0]);
 
-	result = rpccli_samr_LookupNames(pipe_hnd, mem_ctx,
+	status = dcerpc_samr_LookupNames(b, mem_ctx,
 					 &domain_pol,
 					 1,
 					 &lsa_acct_name,
 					 &group_rids,
-					 &name_types);
+					 &name_types,
+					 &result);
+	if (!NT_STATUS_IS_OK(status)) {
+		d_fprintf(stderr, _("Lookup of '%s' failed\n"),argv[0]);
+		goto done;
+	}
+
 	if (!NT_STATUS_IS_OK(result)) {
+		status = result;
 		d_fprintf(stderr, _("Lookup of '%s' failed\n"),argv[0]);
-   		goto done;
+		goto done;
 	}
 
 	switch (name_types.ids[0])
 	{
 	case SID_NAME_DOM_GRP:
-		result = rpccli_samr_OpenGroup(pipe_hnd, mem_ctx,
+		status = dcerpc_samr_OpenGroup(b, mem_ctx,
 					       &domain_pol,
 					       MAXIMUM_ALLOWED_ACCESS,
 					       group_rids.ids[0],
-					       &group_pol);
+					       &group_pol,
+					       &result);
+		if (!NT_STATUS_IS_OK(status)) {
+			d_fprintf(stderr, _("Request open_group failed"));
+			goto done;
+		}
+
 		if (!NT_STATUS_IS_OK(result)) {
+			status = result;
 			d_fprintf(stderr, _("Request open_group failed"));
-   			goto done;
+			goto done;
 		}
 
 		group_rid = group_rids.ids[0];
 
-		result = rpccli_samr_QueryGroupMember(pipe_hnd, mem_ctx,
+		status = dcerpc_samr_QueryGroupMember(b, mem_ctx,
 						      &group_pol,
-						      &rids);
+						      &rids,
+						      &result);
+		if (!NT_STATUS_IS_OK(status)) {
+			d_fprintf(stderr,
+				  _("Unable to query group members of %s"),
+				  argv[0]);
+			goto done;
+		}
 
 		if (!NT_STATUS_IS_OK(result)) {
+			status = result;
 			d_fprintf(stderr,
 				  _("Unable to query group members of %s"),
 				  argv[0]);
-   			goto done;
+			goto done;
 		}
 
 		if (c->opt_verbose) {
@@ -1595,31 +1692,48 @@ static NTSTATUS rpc_group_delete_internals(struct net_context *c,
 		/* Check if group is anyone's primary group */
                 for (i = 0; i < rids->count; i++)
 		{
-	                result = rpccli_samr_OpenUser(pipe_hnd, mem_ctx,
+	                status = dcerpc_samr_OpenUser(b, mem_ctx,
 						      &domain_pol,
 						      MAXIMUM_ALLOWED_ACCESS,
 						      rids->rids[i],
-						      &user_pol);
+						      &user_pol,
+						      &result);
+			if (!NT_STATUS_IS_OK(status)) {
+				d_fprintf(stderr,
+					_("Unable to open group member %d\n"),
+					rids->rids[i]);
+				goto done;
+			}
 
-	        	if (!NT_STATUS_IS_OK(result)) {
+			if (!NT_STATUS_IS_OK(result)) {
+				status = result;
 				d_fprintf(stderr,
 					_("Unable to open group member %d\n"),
 					rids->rids[i]);


-- 
Samba Shared Repository


More information about the samba-cvs mailing list