summaryrefslogtreecommitdiff
path: root/source3
diff options
context:
space:
mode:
authorVolker Lendecke <vl@samba.org>2009-11-08 19:37:33 +0100
committerVolker Lendecke <vl@samba.org>2009-11-08 19:43:46 +0100
commit82c35e460e00d6f9e61df2d20ea9d0ccf765636a (patch)
treed70c44840e3cc9b69911d779a0f61a29d76ffb00 /source3
parentb02c46bef944712834045399c883ea14f45bde94 (diff)
downloadsamba-82c35e460e00d6f9e61df2d20ea9d0ccf765636a.tar.gz
samba-82c35e460e00d6f9e61df2d20ea9d0ccf765636a.tar.bz2
samba-82c35e460e00d6f9e61df2d20ea9d0ccf765636a.zip
Revert "s3: Do not reference ndr_table when calling rpc_srv_register"
This reverts commit 494b2aff8826947e3bd556aecb175746163da485.
Diffstat (limited to 'source3')
-rw-r--r--source3/include/proto.h5
-rw-r--r--source3/librpc/gen_ndr/srv_wbint.c2
-rw-r--r--source3/rpc_server/srv_pipe.c9
-rw-r--r--source3/winbindd/winbindd_dual_ndr.c2
4 files changed, 7 insertions, 11 deletions
diff --git a/source3/include/proto.h b/source3/include/proto.h
index 4f204d0c54..3d62e505b3 100644
--- a/source3/include/proto.h
+++ b/source3/include/proto.h
@@ -5819,8 +5819,9 @@ NTSTATUS rpc_pipe_register_commands(int version, const char *clnt,
const char *srv,
const struct ndr_syntax_id *interface,
const struct api_struct *cmds, int size);
-NTSTATUS rpc_srv_register(int version, const char *clnt, const char *srv,
- const char *interface, uint32_t interface_version,
+NTSTATUS rpc_srv_register(int version, const char *clnt,
+ const char *srv,
+ const struct ndr_interface_table *iface,
const struct api_struct *cmds, int size);
bool is_known_pipename(const char *cli_filename, struct ndr_syntax_id *syntax);
bool api_pipe_bind_req(pipes_struct *p, prs_struct *rpc_in_p);
diff --git a/source3/librpc/gen_ndr/srv_wbint.c b/source3/librpc/gen_ndr/srv_wbint.c
index 9144a467e0..a7112cb94b 100644
--- a/source3/librpc/gen_ndr/srv_wbint.c
+++ b/source3/librpc/gen_ndr/srv_wbint.c
@@ -2140,5 +2140,5 @@ NTSTATUS rpc_wbint_dispatch(struct rpc_pipe_client *cli, TALLOC_CTX *mem_ctx, co
NTSTATUS rpc_wbint_init(void)
{
- return rpc_srv_register(SMB_RPC_INTERFACE_VERSION, "wbint", "wbint", NDR_WBINT_UUID, NDR_WBINT_VERSION, api_wbint_cmds, sizeof(api_wbint_cmds) / sizeof(struct api_struct));
+ return rpc_srv_register(SMB_RPC_INTERFACE_VERSION, "wbint", "wbint", &ndr_table_wbint, api_wbint_cmds, sizeof(api_wbint_cmds) / sizeof(struct api_struct));
}
diff --git a/source3/rpc_server/srv_pipe.c b/source3/rpc_server/srv_pipe.c
index 7e0eda1c54..17cc13edf5 100644
--- a/source3/rpc_server/srv_pipe.c
+++ b/source3/rpc_server/srv_pipe.c
@@ -1034,20 +1034,15 @@ static bool check_bind_req(struct pipes_struct *p,
*******************************************************************/
NTSTATUS rpc_srv_register(int version, const char *clnt, const char *srv,
- const char *interface, uint32_t interface_version,
+ const struct ndr_interface_table *iface,
const struct api_struct *cmds, int size)
{
struct rpc_table *rpc_entry;
- struct ndr_syntax_id syntax;
if (!clnt || !srv || !cmds) {
return NT_STATUS_INVALID_PARAMETER;
}
- if (!ndr_syntax_from_string(interface, interface_version, &syntax)) {
- return NT_STATUS_INVALID_PARAMETER;
- }
-
if (version != SMB_RPC_INTERFACE_VERSION) {
DEBUG(0,("Can't register rpc commands!\n"
"You tried to register a rpc module with SMB_RPC_INTERFACE_VERSION %d"
@@ -1080,7 +1075,7 @@ NTSTATUS rpc_srv_register(int version, const char *clnt, const char *srv,
ZERO_STRUCTP(rpc_entry);
rpc_entry->pipe.clnt = SMB_STRDUP(clnt);
rpc_entry->pipe.srv = SMB_STRDUP(srv);
- rpc_entry->rpc_interface = syntax;
+ rpc_entry->rpc_interface = iface->syntax_id;
rpc_entry->cmds = cmds;
rpc_entry->n_cmds = size;
diff --git a/source3/winbindd/winbindd_dual_ndr.c b/source3/winbindd/winbindd_dual_ndr.c
index 3546a78fd6..916499ad9c 100644
--- a/source3/winbindd/winbindd_dual_ndr.c
+++ b/source3/winbindd/winbindd_dual_ndr.c
@@ -293,7 +293,7 @@ enum winbindd_result winbindd_dual_ndrcmd(struct winbindd_domain *domain,
* Just a dummy to make srv_wbint.c happy
*/
NTSTATUS rpc_srv_register(int version, const char *clnt, const char *srv,
- const char *interface, uint32_t interface_version,
+ const struct ndr_interface_table *iface,
const struct api_struct *cmds, int size)
{
return NT_STATUS_OK;