summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--source3/include/rpc_dce.h10
-rw-r--r--source3/rpc_client/cli_pipe.c59
2 files changed, 24 insertions, 45 deletions
diff --git a/source3/include/rpc_dce.h b/source3/include/rpc_dce.h
index 9b2044fa20..580b14f1d8 100644
--- a/source3/include/rpc_dce.h
+++ b/source3/include/rpc_dce.h
@@ -161,16 +161,6 @@ typedef struct ndr_syntax_id RPC_IFACE;
#define RPC_IFACE_LEN (UUID_SIZE + 4)
-struct pipe_id_info {
- /* the names appear not to matter: the syntaxes _do_ matter */
-
- const char *client_pipe;
- const RPC_IFACE *abstr_syntax; /* this one is the abstract syntax id */
-
- const char *server_pipe; /* this one is the secondary syntax name */
- const RPC_IFACE *trans_syntax; /* this one is the primary syntax id */
-};
-
/* RPC_HDR - dce rpc header */
typedef struct rpc_hdr_info {
uint8 major; /* 5 - RPC major version */
diff --git a/source3/rpc_client/cli_pipe.c b/source3/rpc_client/cli_pipe.c
index dc130a1d9f..cfb3091feb 100644
--- a/source3/rpc_client/cli_pipe.c
+++ b/source3/rpc_client/cli_pipe.c
@@ -60,41 +60,30 @@ static const struct ndr_syntax_id syntax_spoolss = {
* update the index #defines in smb.h.
*/
-static const struct pipe_id_info pipe_names [] =
+static const struct pipe_id_info {
+ /* the names appear not to matter: the syntaxes _do_ matter */
+
+ const char *client_pipe;
+ const RPC_IFACE *abstr_syntax; /* this one is the abstract syntax id */
+} pipe_names [] =
{
- { PIPE_LSARPC, &ndr_table_lsarpc.syntax_id,
- PIPE_LSASS, &ndr_transfer_syntax },
- { PIPE_LSARPC, &ndr_table_dssetup.syntax_id,
- PIPE_LSASS, &ndr_transfer_syntax },
- { PIPE_SAMR, &ndr_table_samr.syntax_id,
- PIPE_LSASS, &ndr_transfer_syntax },
- { PIPE_NETLOGON, &ndr_table_netlogon.syntax_id,
- PIPE_LSASS, &ndr_transfer_syntax },
- { PIPE_SRVSVC, &ndr_table_srvsvc.syntax_id,
- PIPE_NTSVCS, &ndr_transfer_syntax },
- { PIPE_WKSSVC, &ndr_table_wkssvc.syntax_id,
- PIPE_NTSVCS, &ndr_transfer_syntax },
- { PIPE_WINREG, &ndr_table_winreg.syntax_id,
- PIPE_WINREG, &ndr_transfer_syntax },
- { PIPE_SPOOLSS, &syntax_spoolss,
- PIPE_SPOOLSS, &ndr_transfer_syntax },
- { PIPE_NETDFS, &ndr_table_netdfs.syntax_id,
- PIPE_NETDFS, &ndr_transfer_syntax },
- { PIPE_ECHO, &ndr_table_rpcecho.syntax_id,
- PIPE_ECHO, &ndr_transfer_syntax },
- { PIPE_SHUTDOWN, &ndr_table_initshutdown.syntax_id,
- PIPE_SHUTDOWN, &ndr_transfer_syntax },
- { PIPE_SVCCTL, &ndr_table_svcctl.syntax_id,
- PIPE_NTSVCS, &ndr_transfer_syntax },
- { PIPE_EVENTLOG, &ndr_table_eventlog.syntax_id,
- PIPE_EVENTLOG, &ndr_transfer_syntax },
- { PIPE_NTSVCS, &ndr_table_ntsvcs.syntax_id,
- PIPE_NTSVCS, &ndr_transfer_syntax },
- { PIPE_EPMAPPER, &ndr_table_epmapper.syntax_id,
- PIPE_EPMAPPER, &ndr_transfer_syntax },
- { PIPE_DRSUAPI, &ndr_table_drsuapi.syntax_id,
- PIPE_DRSUAPI, &ndr_transfer_syntax },
- { NULL, NULL, NULL, NULL }
+ { PIPE_LSARPC, &ndr_table_lsarpc.syntax_id },
+ { PIPE_LSARPC, &ndr_table_dssetup.syntax_id },
+ { PIPE_SAMR, &ndr_table_samr.syntax_id },
+ { PIPE_NETLOGON, &ndr_table_netlogon.syntax_id },
+ { PIPE_SRVSVC, &ndr_table_srvsvc.syntax_id },
+ { PIPE_WKSSVC, &ndr_table_wkssvc.syntax_id },
+ { PIPE_WINREG, &ndr_table_winreg.syntax_id },
+ { PIPE_SPOOLSS, &syntax_spoolss },
+ { PIPE_NETDFS, &ndr_table_netdfs.syntax_id },
+ { PIPE_ECHO, &ndr_table_rpcecho.syntax_id },
+ { PIPE_SHUTDOWN, &ndr_table_initshutdown.syntax_id },
+ { PIPE_SVCCTL, &ndr_table_svcctl.syntax_id },
+ { PIPE_EVENTLOG, &ndr_table_eventlog.syntax_id },
+ { PIPE_NTSVCS, &ndr_table_ntsvcs.syntax_id },
+ { PIPE_EPMAPPER, &ndr_table_epmapper.syntax_id },
+ { PIPE_DRSUAPI, &ndr_table_drsuapi.syntax_id },
+ { NULL, NULL }
};
/****************************************************************************
@@ -2926,7 +2915,7 @@ static struct rpc_pipe_client *rpc_pipe_open_np(struct cli_state *cli, int pipe_
result->trans.np.cli = cli;
result->abstract_syntax = pipe_names[pipe_idx].abstr_syntax;
- result->transfer_syntax = pipe_names[pipe_idx].trans_syntax;
+ result->transfer_syntax = &ndr_transfer_syntax;
result->desthost = talloc_strdup(result, cli->desthost);
result->srv_name_slash = talloc_asprintf_strupper_m(
result, "\\\\%s", result->desthost);