[SCM] Samba Shared Repository - branch v3-3-test updated -
release-3-2-0pre2-2739-g8a4577e
Günther Deschner
gd at samba.org
Fri Jun 6 11:59:53 GMT 2008
The branch, v3-3-test has been updated
via 8a4577ebb00b0b190f6a9c708a1bc6e1bc8f9712 (commit)
from 8abc6e742147486a62b4a3f9845e34062845d8ea (commit)
http://gitweb.samba.org/?p=samba.git;a=shortlog;h=v3-3-test
- Log -----------------------------------------------------------------
commit 8a4577ebb00b0b190f6a9c708a1bc6e1bc8f9712
Author: Günther Deschner <gd at samba.org>
Date: Fri Jun 6 13:52:51 2008 +0200
netapi: use NetGroupSetInfo() for "net rpc group rename".
Guenther
-----------------------------------------------------------------------
Summary of changes:
source/utils/net_rpc.c | 91 +++++++++--------------------------------------
1 files changed, 18 insertions(+), 73 deletions(-)
Changeset truncated at 500 lines:
diff --git a/source/utils/net_rpc.c b/source/utils/net_rpc.c
index 7cd7f76..fef032d 100644
--- a/source/utils/net_rpc.c
+++ b/source/utils/net_rpc.c
@@ -2893,86 +2893,33 @@ static int rpc_group_members(struct net_context *c, int argc, const char **argv)
argc, argv);
}
-static NTSTATUS rpc_group_rename_internals(struct net_context *c,
- const DOM_SID *domain_sid,
- const char *domain_name,
- struct cli_state *cli,
- struct rpc_pipe_client *pipe_hnd,
- TALLOC_CTX *mem_ctx,
- int argc,
- const char **argv)
+static int rpc_group_rename_internals(struct net_context *c, int argc, const char **argv)
{
- NTSTATUS result;
- POLICY_HND connect_pol, domain_pol, group_pol;
- union samr_GroupInfo group_info;
- struct samr_Ids rids, rid_types;
- struct lsa_String lsa_acct_name;
+ NET_API_STATUS status;
+ struct GROUP_INFO_0 g0;
+ uint32_t parm_err;
if (argc != 2) {
d_printf("Usage: 'net rpc group rename group newname'\n");
- return NT_STATUS_UNSUCCESSFUL;
+ return -1;
}
- /* Get sam policy handle */
-
- result = rpccli_samr_Connect2(pipe_hnd, mem_ctx,
- pipe_hnd->desthost,
- MAXIMUM_ALLOWED_ACCESS,
- &connect_pol);
-
- if (!NT_STATUS_IS_OK(result))
- return result;
+ g0.grpi0_name = argv[1];
- /* Get domain policy handle */
-
- result = rpccli_samr_OpenDomain(pipe_hnd, mem_ctx,
- &connect_pol,
- MAXIMUM_ALLOWED_ACCESS,
- CONST_DISCARD(struct dom_sid2 *, domain_sid),
- &domain_pol);
-
- if (!NT_STATUS_IS_OK(result))
- return result;
-
- init_lsa_String(&lsa_acct_name, argv[0]);
+ status = NetGroupSetInfo(c->opt_host,
+ argv[0],
+ 0,
+ (uint8_t *)&g0,
+ &parm_err);
- result = rpccli_samr_LookupNames(pipe_hnd, mem_ctx,
- &domain_pol,
- 1,
- &lsa_acct_name,
- &rids,
- &rid_types);
-
- if (rids.count != 1) {
- d_fprintf(stderr, "Couldn't find group %s\n", argv[0]);
- return result;
- }
-
- if (rid_types.ids[0] != SID_NAME_DOM_GRP) {
- d_fprintf(stderr, "Can only rename domain groups\n");
- return NT_STATUS_UNSUCCESSFUL;
+ if (status != 0) {
+ d_fprintf(stderr, "Renaming group %s failed with: %s\n",
+ argv[0], libnetapi_get_error_string(c->netapi_ctx,
+ status));
+ return -1;
}
- result = rpccli_samr_OpenGroup(pipe_hnd, mem_ctx,
- &domain_pol,
- MAXIMUM_ALLOWED_ACCESS,
- rids.ids[0],
- &group_pol);
-
- if (!NT_STATUS_IS_OK(result))
- return result;
-
- init_lsa_String(&group_info.name, argv[1]);
-
- result = rpccli_samr_SetGroupInfo(pipe_hnd, mem_ctx,
- &group_pol,
- 2,
- &group_info);
-
- if (!NT_STATUS_IS_OK(result))
- return result;
-
- return NT_STATUS_NO_SUCH_GROUP;
+ return 0;
}
static int rpc_group_rename(struct net_context *c, int argc, const char **argv)
@@ -2981,9 +2928,7 @@ static int rpc_group_rename(struct net_context *c, int argc, const char **argv)
return rpc_group_usage(c, argc, argv);
}
- return run_rpc_command(c, NULL, PI_SAMR, 0,
- rpc_group_rename_internals,
- argc, argv);
+ return rpc_group_rename_internals(c, argc, argv);
}
/**
--
Samba Shared Repository
More information about the samba-cvs
mailing list