git.samba.org
/
kai
/
samba-autobuild
/
.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
|
inline
| side by side (from parent 1:
f8f8782
)
Pass the full ndr_interface_table into the s3 rpcserver when registering
author
Volker Lendecke
<vl@samba.org>
Tue, 6 Jan 2009 22:29:25 +0000
(23:29 +0100)
committer
Volker Lendecke
<vl@samba.org>
Fri, 9 Jan 2009 22:17:57 +0000
(23:17 +0100)
17 files changed:
librpc/gen_ndr/srv_dfs.c
patch
|
blob
|
history
librpc/gen_ndr/srv_dssetup.c
patch
|
blob
|
history
librpc/gen_ndr/srv_echo.c
patch
|
blob
|
history
librpc/gen_ndr/srv_epmapper.c
patch
|
blob
|
history
librpc/gen_ndr/srv_eventlog.c
patch
|
blob
|
history
librpc/gen_ndr/srv_initshutdown.c
patch
|
blob
|
history
librpc/gen_ndr/srv_lsa.c
patch
|
blob
|
history
librpc/gen_ndr/srv_netlogon.c
patch
|
blob
|
history
librpc/gen_ndr/srv_ntsvcs.c
patch
|
blob
|
history
librpc/gen_ndr/srv_samr.c
patch
|
blob
|
history
librpc/gen_ndr/srv_srvsvc.c
patch
|
blob
|
history
librpc/gen_ndr/srv_svcctl.c
patch
|
blob
|
history
librpc/gen_ndr/srv_winreg.c
patch
|
blob
|
history
librpc/gen_ndr/srv_wkssvc.c
patch
|
blob
|
history
pidl/lib/Parse/Pidl/Samba3/ServerNDR.pm
patch
|
blob
|
history
source3/include/proto.h
patch
|
blob
|
history
source3/rpc_server/srv_pipe.c
patch
|
blob
|
history
diff --git
a/librpc/gen_ndr/srv_dfs.c
b/librpc/gen_ndr/srv_dfs.c
index 666874fd64354a9a524a9962bfa7d0cf3f1c739e..00afa36ec11e35e0ebb60bb79d1b925c0a2052c7 100644
(file)
--- a/
librpc/gen_ndr/srv_dfs.c
+++ b/
librpc/gen_ndr/srv_dfs.c
@@
-1750,5
+1750,5
@@
void netdfs_get_pipe_fns(struct api_struct **fns, int *n_fns)
NTSTATUS rpc_netdfs_init(void)
{
NTSTATUS rpc_netdfs_init(void)
{
- return rpc_
pipe_register_commands(SMB_RPC_INTERFACE_VERSION, "netdfs", "netdfs", &ndr_table_netdfs.syntax_id
, api_netdfs_cmds, sizeof(api_netdfs_cmds) / sizeof(struct api_struct));
+ return rpc_
srv_register(SMB_RPC_INTERFACE_VERSION, "netdfs", "netdfs", &ndr_table_netdfs
, api_netdfs_cmds, sizeof(api_netdfs_cmds) / sizeof(struct api_struct));
}
}
diff --git
a/librpc/gen_ndr/srv_dssetup.c
b/librpc/gen_ndr/srv_dssetup.c
index 3c07ad124785567c776cba08c23154c7ed1fe174..abb890fa6a6a715d0cf4c02d84d3aed4860d57d5 100644
(file)
--- a/
librpc/gen_ndr/srv_dssetup.c
+++ b/
librpc/gen_ndr/srv_dssetup.c
@@
-841,5
+841,5
@@
void dssetup_get_pipe_fns(struct api_struct **fns, int *n_fns)
NTSTATUS rpc_dssetup_init(void)
{
NTSTATUS rpc_dssetup_init(void)
{
- return rpc_
pipe_register_commands(SMB_RPC_INTERFACE_VERSION, "dssetup", "dssetup", &ndr_table_dssetup.syntax_id
, api_dssetup_cmds, sizeof(api_dssetup_cmds) / sizeof(struct api_struct));
+ return rpc_
srv_register(SMB_RPC_INTERFACE_VERSION, "dssetup", "dssetup", &ndr_table_dssetup
, api_dssetup_cmds, sizeof(api_dssetup_cmds) / sizeof(struct api_struct));
}
}
diff --git
a/librpc/gen_ndr/srv_echo.c
b/librpc/gen_ndr/srv_echo.c
index 64360792994e638fa4e8457b76b5f658b045d544..1912b8b9d569d0eeb2f6040f0e2dfb2c1501ae9e 100644
(file)
--- a/
librpc/gen_ndr/srv_echo.c
+++ b/
librpc/gen_ndr/srv_echo.c
@@
-801,5
+801,5
@@
void rpcecho_get_pipe_fns(struct api_struct **fns, int *n_fns)
NTSTATUS rpc_rpcecho_init(void)
{
NTSTATUS rpc_rpcecho_init(void)
{
- return rpc_
pipe_register_commands(SMB_RPC_INTERFACE_VERSION, "rpcecho", "rpcecho", &ndr_table_rpcecho.syntax_id
, api_rpcecho_cmds, sizeof(api_rpcecho_cmds) / sizeof(struct api_struct));
+ return rpc_
srv_register(SMB_RPC_INTERFACE_VERSION, "rpcecho", "rpcecho", &ndr_table_rpcecho
, api_rpcecho_cmds, sizeof(api_rpcecho_cmds) / sizeof(struct api_struct));
}
}
diff --git
a/librpc/gen_ndr/srv_epmapper.c
b/librpc/gen_ndr/srv_epmapper.c
index 68e4a4139386a9543a9f2f0c7b500a9aabd06b74..b66bdf4e69ab18a7de29d31bd82ccbfc4363591c 100644
(file)
--- a/
librpc/gen_ndr/srv_epmapper.c
+++ b/
librpc/gen_ndr/srv_epmapper.c
@@
-642,5
+642,5
@@
void epmapper_get_pipe_fns(struct api_struct **fns, int *n_fns)
NTSTATUS rpc_epmapper_init(void)
{
NTSTATUS rpc_epmapper_init(void)
{
- return rpc_
pipe_register_commands(SMB_RPC_INTERFACE_VERSION, "epmapper", "epmapper", &ndr_table_epmapper.syntax_id
, api_epmapper_cmds, sizeof(api_epmapper_cmds) / sizeof(struct api_struct));
+ return rpc_
srv_register(SMB_RPC_INTERFACE_VERSION, "epmapper", "epmapper", &ndr_table_epmapper
, api_epmapper_cmds, sizeof(api_epmapper_cmds) / sizeof(struct api_struct));
}
}
diff --git
a/librpc/gen_ndr/srv_eventlog.c
b/librpc/gen_ndr/srv_eventlog.c
index 950daa5dd1f175442c42c9972ed81b74a3eafdbb..9a87ee648c0a208d870cc6099b564f1d8b1f3687 100644
(file)
--- a/
librpc/gen_ndr/srv_eventlog.c
+++ b/
librpc/gen_ndr/srv_eventlog.c
@@
-1838,5
+1838,5
@@
void eventlog_get_pipe_fns(struct api_struct **fns, int *n_fns)
NTSTATUS rpc_eventlog_init(void)
{
NTSTATUS rpc_eventlog_init(void)
{
- return rpc_
pipe_register_commands(SMB_RPC_INTERFACE_VERSION, "eventlog", "eventlog", &ndr_table_eventlog.syntax_id
, api_eventlog_cmds, sizeof(api_eventlog_cmds) / sizeof(struct api_struct));
+ return rpc_
srv_register(SMB_RPC_INTERFACE_VERSION, "eventlog", "eventlog", &ndr_table_eventlog
, api_eventlog_cmds, sizeof(api_eventlog_cmds) / sizeof(struct api_struct));
}
}
diff --git
a/librpc/gen_ndr/srv_initshutdown.c
b/librpc/gen_ndr/srv_initshutdown.c
index dbbfaaa41a4ee475c472a10d605064a9f8e1dc0b..f0f3a7ba73d6837c6c28d03e93c3615d20b3961f 100644
(file)
--- a/
librpc/gen_ndr/srv_initshutdown.c
+++ b/
librpc/gen_ndr/srv_initshutdown.c
@@
-242,5
+242,5
@@
void initshutdown_get_pipe_fns(struct api_struct **fns, int *n_fns)
NTSTATUS rpc_initshutdown_init(void)
{
NTSTATUS rpc_initshutdown_init(void)
{
- return rpc_
pipe_register_commands(SMB_RPC_INTERFACE_VERSION, "initshutdown", "initshutdown", &ndr_table_initshutdown.syntax_id
, api_initshutdown_cmds, sizeof(api_initshutdown_cmds) / sizeof(struct api_struct));
+ return rpc_
srv_register(SMB_RPC_INTERFACE_VERSION, "initshutdown", "initshutdown", &ndr_table_initshutdown
, api_initshutdown_cmds, sizeof(api_initshutdown_cmds) / sizeof(struct api_struct));
}
}
diff --git
a/librpc/gen_ndr/srv_lsa.c
b/librpc/gen_ndr/srv_lsa.c
index 9d29f61e091a17181cff0334423ed2038ff7d9e3..fe95df35ee5ca095cb9a10ac03f9ad49bb83fb0c 100644
(file)
--- a/
librpc/gen_ndr/srv_lsa.c
+++ b/
librpc/gen_ndr/srv_lsa.c
@@
-6385,5
+6385,5
@@
void lsarpc_get_pipe_fns(struct api_struct **fns, int *n_fns)
NTSTATUS rpc_lsarpc_init(void)
{
NTSTATUS rpc_lsarpc_init(void)
{
- return rpc_
pipe_register_commands(SMB_RPC_INTERFACE_VERSION, "lsarpc", "lsarpc", &ndr_table_lsarpc.syntax_id
, api_lsarpc_cmds, sizeof(api_lsarpc_cmds) / sizeof(struct api_struct));
+ return rpc_
srv_register(SMB_RPC_INTERFACE_VERSION, "lsarpc", "lsarpc", &ndr_table_lsarpc
, api_lsarpc_cmds, sizeof(api_lsarpc_cmds) / sizeof(struct api_struct));
}
}
diff --git
a/librpc/gen_ndr/srv_netlogon.c
b/librpc/gen_ndr/srv_netlogon.c
index 40ae09ebc2a54d705128909b347e136421764212..1bca23a7d2788b2cee44feb5d503b7edd375b8a2 100644
(file)
--- a/
librpc/gen_ndr/srv_netlogon.c
+++ b/
librpc/gen_ndr/srv_netlogon.c
@@
-3892,5
+3892,5
@@
void netlogon_get_pipe_fns(struct api_struct **fns, int *n_fns)
NTSTATUS rpc_netlogon_init(void)
{
NTSTATUS rpc_netlogon_init(void)
{
- return rpc_
pipe_register_commands(SMB_RPC_INTERFACE_VERSION, "netlogon", "netlogon", &ndr_table_netlogon.syntax_id
, api_netlogon_cmds, sizeof(api_netlogon_cmds) / sizeof(struct api_struct));
+ return rpc_
srv_register(SMB_RPC_INTERFACE_VERSION, "netlogon", "netlogon", &ndr_table_netlogon
, api_netlogon_cmds, sizeof(api_netlogon_cmds) / sizeof(struct api_struct));
}
}
diff --git
a/librpc/gen_ndr/srv_ntsvcs.c
b/librpc/gen_ndr/srv_ntsvcs.c
index 38fb0bba39dab12b4debc96bed4838d0f697c25b..0a93723d4fd274e5bf1e74e4d883ffd10eb858fe 100644
(file)
--- a/
librpc/gen_ndr/srv_ntsvcs.c
+++ b/
librpc/gen_ndr/srv_ntsvcs.c
@@
-4873,5
+4873,5
@@
void ntsvcs_get_pipe_fns(struct api_struct **fns, int *n_fns)
NTSTATUS rpc_ntsvcs_init(void)
{
NTSTATUS rpc_ntsvcs_init(void)
{
- return rpc_
pipe_register_commands(SMB_RPC_INTERFACE_VERSION, "ntsvcs", "ntsvcs", &ndr_table_ntsvcs.syntax_id
, api_ntsvcs_cmds, sizeof(api_ntsvcs_cmds) / sizeof(struct api_struct));
+ return rpc_
srv_register(SMB_RPC_INTERFACE_VERSION, "ntsvcs", "ntsvcs", &ndr_table_ntsvcs
, api_ntsvcs_cmds, sizeof(api_ntsvcs_cmds) / sizeof(struct api_struct));
}
}
diff --git
a/librpc/gen_ndr/srv_samr.c
b/librpc/gen_ndr/srv_samr.c
index 598ec2aabf2effd60bf7b5d95d93574a2f251687..9bda8785e11effdb996a4fdb5c5d79325383e3a8 100644
(file)
--- a/
librpc/gen_ndr/srv_samr.c
+++ b/
librpc/gen_ndr/srv_samr.c
@@
-5478,5
+5478,5
@@
void samr_get_pipe_fns(struct api_struct **fns, int *n_fns)
NTSTATUS rpc_samr_init(void)
{
NTSTATUS rpc_samr_init(void)
{
- return rpc_
pipe_register_commands(SMB_RPC_INTERFACE_VERSION, "samr", "samr", &ndr_table_samr.syntax_id
, api_samr_cmds, sizeof(api_samr_cmds) / sizeof(struct api_struct));
+ return rpc_
srv_register(SMB_RPC_INTERFACE_VERSION, "samr", "samr", &ndr_table_samr
, api_samr_cmds, sizeof(api_samr_cmds) / sizeof(struct api_struct));
}
}
diff --git
a/librpc/gen_ndr/srv_srvsvc.c
b/librpc/gen_ndr/srv_srvsvc.c
index 465d9ca31d6ff3ef3643a41807969883ed6c6218..501754d1d657d84a014fea58a5a4d7d9238848a0 100644
(file)
--- a/
librpc/gen_ndr/srv_srvsvc.c
+++ b/
librpc/gen_ndr/srv_srvsvc.c
@@
-4192,5
+4192,5
@@
void srvsvc_get_pipe_fns(struct api_struct **fns, int *n_fns)
NTSTATUS rpc_srvsvc_init(void)
{
NTSTATUS rpc_srvsvc_init(void)
{
- return rpc_
pipe_register_commands(SMB_RPC_INTERFACE_VERSION, "srvsvc", "srvsvc", &ndr_table_srvsvc.syntax_id
, api_srvsvc_cmds, sizeof(api_srvsvc_cmds) / sizeof(struct api_struct));
+ return rpc_
srv_register(SMB_RPC_INTERFACE_VERSION, "srvsvc", "srvsvc", &ndr_table_srvsvc
, api_srvsvc_cmds, sizeof(api_srvsvc_cmds) / sizeof(struct api_struct));
}
}
diff --git
a/librpc/gen_ndr/srv_svcctl.c
b/librpc/gen_ndr/srv_svcctl.c
index cffbb6a268e37ca7a6684d5f845b0895d835883b..645864bfedf8ed1f9dafe0905b2fa8eb4d7bd879 100644
(file)
--- a/
librpc/gen_ndr/srv_svcctl.c
+++ b/
librpc/gen_ndr/srv_svcctl.c
@@
-3611,5
+3611,5
@@
void svcctl_get_pipe_fns(struct api_struct **fns, int *n_fns)
NTSTATUS rpc_svcctl_init(void)
{
NTSTATUS rpc_svcctl_init(void)
{
- return rpc_
pipe_register_commands(SMB_RPC_INTERFACE_VERSION, "svcctl", "svcctl", &ndr_table_svcctl.syntax_id
, api_svcctl_cmds, sizeof(api_svcctl_cmds) / sizeof(struct api_struct));
+ return rpc_
srv_register(SMB_RPC_INTERFACE_VERSION, "svcctl", "svcctl", &ndr_table_svcctl
, api_svcctl_cmds, sizeof(api_svcctl_cmds) / sizeof(struct api_struct));
}
}
diff --git
a/librpc/gen_ndr/srv_winreg.c
b/librpc/gen_ndr/srv_winreg.c
index a97391480ee9cad7ca72862afe394ba02da63f51..ebceee3945198340ebf2713c146c2a5e3dc2c7a3 100644
(file)
--- a/
librpc/gen_ndr/srv_winreg.c
+++ b/
librpc/gen_ndr/srv_winreg.c
@@
-2768,5
+2768,5
@@
void winreg_get_pipe_fns(struct api_struct **fns, int *n_fns)
NTSTATUS rpc_winreg_init(void)
{
NTSTATUS rpc_winreg_init(void)
{
- return rpc_
pipe_register_commands(SMB_RPC_INTERFACE_VERSION, "winreg", "winreg", &ndr_table_winreg.syntax_id
, api_winreg_cmds, sizeof(api_winreg_cmds) / sizeof(struct api_struct));
+ return rpc_
srv_register(SMB_RPC_INTERFACE_VERSION, "winreg", "winreg", &ndr_table_winreg
, api_winreg_cmds, sizeof(api_winreg_cmds) / sizeof(struct api_struct));
}
}
diff --git
a/librpc/gen_ndr/srv_wkssvc.c
b/librpc/gen_ndr/srv_wkssvc.c
index d74c8bc97079377076d323b725494c14ce1a4232..015451bdee8d3f7e29b792ca1761407dbc227733 100644
(file)
--- a/
librpc/gen_ndr/srv_wkssvc.c
+++ b/
librpc/gen_ndr/srv_wkssvc.c
@@
-2408,5
+2408,5
@@
void wkssvc_get_pipe_fns(struct api_struct **fns, int *n_fns)
NTSTATUS rpc_wkssvc_init(void)
{
NTSTATUS rpc_wkssvc_init(void)
{
- return rpc_
pipe_register_commands(SMB_RPC_INTERFACE_VERSION, "wkssvc", "wkssvc", &ndr_table_wkssvc.syntax_id
, api_wkssvc_cmds, sizeof(api_wkssvc_cmds) / sizeof(struct api_struct));
+ return rpc_
srv_register(SMB_RPC_INTERFACE_VERSION, "wkssvc", "wkssvc", &ndr_table_wkssvc
, api_wkssvc_cmds, sizeof(api_wkssvc_cmds) / sizeof(struct api_struct));
}
}
diff --git
a/pidl/lib/Parse/Pidl/Samba3/ServerNDR.pm
b/pidl/lib/Parse/Pidl/Samba3/ServerNDR.pm
index eb3cdf20cb060d2c18fb19abcae946c109bf38c4..05edda9acbad6967c2114bbc4480b7cc7d8226d4 100644
(file)
--- a/
pidl/lib/Parse/Pidl/Samba3/ServerNDR.pm
+++ b/
pidl/lib/Parse/Pidl/Samba3/ServerNDR.pm
@@
-247,7
+247,7
@@
sub ParseInterface($)
pidl_hdr "NTSTATUS rpc_$if->{NAME}_init(void);";
pidl "NTSTATUS rpc_$if->{NAME}_init(void)";
pidl "{";
pidl_hdr "NTSTATUS rpc_$if->{NAME}_init(void);";
pidl "NTSTATUS rpc_$if->{NAME}_init(void)";
pidl "{";
- pidl "\treturn rpc_
pipe_register_commands(SMB_RPC_INTERFACE_VERSION, \"$if->{NAME}\", \"$if->{NAME}\", \&ndr_table_$if->{NAME}.syntax_id
, api_$if->{NAME}_cmds, sizeof(api_$if->{NAME}_cmds) / sizeof(struct api_struct));";
+ pidl "\treturn rpc_
srv_register(SMB_RPC_INTERFACE_VERSION, \"$if->{NAME}\", \"$if->{NAME}\", \&ndr_table_$if->{NAME}
, api_$if->{NAME}_cmds, sizeof(api_$if->{NAME}_cmds) / sizeof(struct api_struct));";
pidl "}";
pidl_hdr "#endif /* __SRV_$uif\__ */";
pidl "}";
pidl_hdr "#endif /* __SRV_$uif\__ */";
diff --git
a/source3/include/proto.h
b/source3/include/proto.h
index e65369e4210ad6ed50a73f27d05e63d9425374f4..a3791348482f4cd8a9ad3239bcacddd6958c8e9f 100644
(file)
--- a/
source3/include/proto.h
+++ b/
source3/include/proto.h
@@
-6194,6
+6194,10
@@
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);
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 struct ndr_interface_table *iface,
+ const struct api_struct *cmds, int size);
bool is_known_pipename(const char *cli_filename);
bool api_pipe_bind_req(pipes_struct *p, prs_struct *rpc_in_p);
bool api_pipe_alter_context(pipes_struct *p, prs_struct *rpc_in_p);
bool is_known_pipename(const char *cli_filename);
bool api_pipe_bind_req(pipes_struct *p, prs_struct *rpc_in_p);
bool api_pipe_alter_context(pipes_struct *p, prs_struct *rpc_in_p);
diff --git
a/source3/rpc_server/srv_pipe.c
b/source3/rpc_server/srv_pipe.c
index 03d9c5b208328c865b85ce1094aa89f8c9bbf0f7..a8205eaa1945688696c19f79cfdd582b02af9335 100644
(file)
--- a/
source3/rpc_server/srv_pipe.c
+++ b/
source3/rpc_server/srv_pipe.c
@@
-1052,6
+1052,16
@@
NTSTATUS rpc_pipe_register_commands(int version, const char *clnt,
return NT_STATUS_OK;
}
return NT_STATUS_OK;
}
+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)
+{
+ return rpc_pipe_register_commands(version, clnt, srv,
+ &iface->syntax_id,
+ cmds, size);
+}
+
/**
* Is a named pipe known?
* @param[in] cli_filename The pipe name requested by the client
/**
* Is a named pipe known?
* @param[in] cli_filename The pipe name requested by the client