summaryrefslogtreecommitdiffstats
path: root/source/rpcclient
diff options
context:
space:
mode:
authorGerald Carter <jerry@samba.org>2003-07-30 17:29:00 +0000
committerGerald Carter <jerry@samba.org>2003-07-30 17:29:00 +0000
commitc691c7f7d9afb8af542dc83cf934df1dfd38ef17 (patch)
treed8b9155d5d504203039f73a937d7b034f9cf99bf /source/rpcclient
parentd57d9b99dfc2a83d91b952a11eb1ae4cf37e6467 (diff)
downloadsamba-c691c7f7d9afb8af542dc83cf934df1dfd38ef17.tar.gz
samba-c691c7f7d9afb8af542dc83cf934df1dfd38ef17.tar.xz
samba-c691c7f7d9afb8af542dc83cf934df1dfd38ef17.zip
add support for DsEnumerateDomainTrusted for enumerating all the
trusted domains in a forest.
Diffstat (limited to 'source/rpcclient')
-rw-r--r--source/rpcclient/cmd_ds.c18
-rw-r--r--source/rpcclient/rpcclient.c4
2 files changed, 20 insertions, 2 deletions
diff --git a/source/rpcclient/cmd_ds.c b/source/rpcclient/cmd_ds.c
index 4c2f52e2915..be677519c46 100644
--- a/source/rpcclient/cmd_ds.c
+++ b/source/rpcclient/cmd_ds.c
@@ -47,13 +47,29 @@ static NTSTATUS cmd_ds_dsrole_getprimarydominfo(struct cli_state *cli,
return result;
}
+static NTSTATUS cmd_ds_enum_domain_trusts(struct cli_state *cli,
+ TALLOC_CTX *mem_ctx, int argc,
+ const char **argv)
+{
+ NTSTATUS result;
+ uint32 flags = 0x1;
+ DS_DOMAIN_TRUSTS *trusts = NULL;
+ int num_domains = 0;
+
+ result = cli_ds_enum_domain_trusts( cli, mem_ctx, cli->desthost, flags,
+ &trusts, &num_domains );
+
+ return result;
+}
+
/* List of commands exported by this module */
struct cmd_set ds_commands[] = {
{ "LSARPC-DS" },
- { "dsroledominfo", RPC_RTYPE_NTSTATUS, cmd_ds_dsrole_getprimarydominfo, NULL, PI_LSARPC_DS, "Get Primary Domain Information", "" },
+ { "dsroledominfo", RPC_RTYPE_NTSTATUS, cmd_ds_dsrole_getprimarydominfo, NULL, PI_LSARPC_DS, "Get Primary Domain Information", "" },
+ { "dsenumdomtrusts", RPC_RTYPE_NTSTATUS, cmd_ds_enum_domain_trusts, NULL, PI_NETLOGON, "Enumerate all trusted domains in an AD forest", "" },
{ NULL }
};
diff --git a/source/rpcclient/rpcclient.c b/source/rpcclient/rpcclient.c
index e684f05ecb2..b4c4d2a9cb1 100644
--- a/source/rpcclient/rpcclient.c
+++ b/source/rpcclient/rpcclient.c
@@ -519,7 +519,9 @@ static NTSTATUS do_cmd(struct cli_state *cli,
}
}
- if ((cmd_entry->pipe_idx == PI_NETLOGON) && !(cli->pipe_auth_flags & AUTH_PIPE_NETSEC)) {
+ /* some of the DsXXX commands use the netlogon pipe */
+
+ if (lp_client_schannel() && (cmd_entry->pipe_idx == PI_NETLOGON) && !(cli->pipe_auth_flags & AUTH_PIPE_NETSEC)) {
uint32 neg_flags = 0x000001ff;
uint32 sec_channel_type;