summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--source4/build/pidl/template.pm5
-rw-r--r--source4/librpc/idl/dcom.idl14
-rw-r--r--source4/librpc/idl/rot.idl13
-rw-r--r--source4/rpc_server/dcom/rot.c84
4 files changed, 104 insertions, 12 deletions
diff --git a/source4/build/pidl/template.pm b/source4/build/pidl/template.pm
index 2942c6f713..27f5d0c277 100644
--- a/source4/build/pidl/template.pm
+++ b/source4/build/pidl/template.pm
@@ -23,7 +23,7 @@ sub Template($)
endpoint server for the $name pipe
- Copyright (C) YOUR NAME HERE XXXX
+ Copyright (C) YOUR NAME HERE YEAR
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
@@ -41,6 +41,9 @@ sub Template($)
*/
#include \"includes.h\"
+#include \"rpc_server/dcerpc_server.h\"
+#include \"librpc/gen_ndr/ndr_$name.h\"
+#include \"rpc_server/common/common.h\"
";
diff --git a/source4/librpc/idl/dcom.idl b/source4/librpc/idl/dcom.idl
index d9c5a72ab2..d29c7476ef 100644
--- a/source4/librpc/idl/dcom.idl
+++ b/source4/librpc/idl/dcom.idl
@@ -324,6 +324,20 @@ interface IRemUnknown : IUnknown
WERROR ISCMLocalActivator_CreateInstance( );
}
+[
+ uuid("c6f3ee72-ce7e-11d1-b71e-00c04fc3111a")
+] interface IMachineLocalActivator
+{
+ WERROR IMachineLocalActivator_foo();
+}
+
+[
+ uuid("e60c73e6-88f9-11cf-9af1-0020af6e72f4")
+] interface ILocalObjectExporter
+{
+ WERROR ILocalObjectExporter_Foo();
+}
+
/* Looks like this is the equivalent of .NET's
System.Activator class */
[
diff --git a/source4/librpc/idl/rot.idl b/source4/librpc/idl/rot.idl
index d9a67ecbe1..3b3bd6e987 100644
--- a/source4/librpc/idl/rot.idl
+++ b/source4/librpc/idl/rot.idl
@@ -41,3 +41,16 @@
[out] MInterfacePointer *EnumMoniker
);
}
+
+/*
+[
+ object,
+] interface IRotData : IUnknown
+{
+ WERROR irotdata_getdata(
+ [out,size_is(max),length_is(ret)] uint8 *data,
+ [in] uint32 max,
+ [out] uint32 ret
+ );
+}
+*/
diff --git a/source4/rpc_server/dcom/rot.c b/source4/rpc_server/dcom/rot.c
index d639bd9bf3..1a58833204 100644
--- a/source4/rpc_server/dcom/rot.c
+++ b/source4/rpc_server/dcom/rot.c
@@ -1,7 +1,7 @@
/*
Unix SMB/CIFS implementation.
- Running object table functions
+ endpoint server for the rot pipe
Copyright (C) Jelmer Vernooij 2004
@@ -22,17 +22,79 @@
#include "includes.h"
#include "rpc_server/dcerpc_server.h"
+#include "librpc/gen_ndr/ndr_rot.h"
#include "rpc_server/common/common.h"
-struct dcom_object *dcom_call_get_object(struct dcesrv_call_state *call)
+
+/*
+ rot_add
+*/
+static WERROR rot_add(struct dcesrv_call_state *dce_call, TALLOC_CTX *mem_ctx,
+ struct rot_add *r)
+{
+ DCESRV_FAULT(DCERPC_FAULT_OP_RNG_ERROR);
+}
+
+
+/*
+ rot_remove
+*/
+static WERROR rot_remove(struct dcesrv_call_state *dce_call, TALLOC_CTX *mem_ctx,
+ struct rot_remove *r)
+{
+ DCESRV_FAULT(DCERPC_FAULT_OP_RNG_ERROR);
+}
+
+
+/*
+ rot_is_listed
+*/
+static WERROR rot_is_listed(struct dcesrv_call_state *dce_call, TALLOC_CTX *mem_ctx,
+ struct rot_is_listed *r)
+{
+ DCESRV_FAULT(DCERPC_FAULT_OP_RNG_ERROR);
+}
+
+
+/*
+ rot_get_interface_pointer
+*/
+static WERROR rot_get_interface_pointer(struct dcesrv_call_state *dce_call, TALLOC_CTX *mem_ctx,
+ struct rot_get_interface_pointer *r)
{
- struct GUID *object;
-
- if (! (call->pkt.pfc_flags & DCERPC_PFC_FLAG_ORPC) ) {
- return NULL;
- }
-
- object = &call->pkt.u.request.object.object;
- /* FIXME */
- return NULL;
+ DCESRV_FAULT(DCERPC_FAULT_OP_RNG_ERROR);
}
+
+
+/*
+ rot_set_modification_time
+*/
+static WERROR rot_set_modification_time(struct dcesrv_call_state *dce_call, TALLOC_CTX *mem_ctx,
+ struct rot_set_modification_time *r)
+{
+ DCESRV_FAULT(DCERPC_FAULT_OP_RNG_ERROR);
+}
+
+
+/*
+ rot_get_modification_time
+*/
+static WERROR rot_get_modification_time(struct dcesrv_call_state *dce_call, TALLOC_CTX *mem_ctx,
+ struct rot_get_modification_time *r)
+{
+ DCESRV_FAULT(DCERPC_FAULT_OP_RNG_ERROR);
+}
+
+
+/*
+ rot_enum
+*/
+static WERROR rot_enum(struct dcesrv_call_state *dce_call, TALLOC_CTX *mem_ctx,
+ struct rot_enum *r)
+{
+ DCESRV_FAULT(DCERPC_FAULT_OP_RNG_ERROR);
+}
+
+
+/* include the generated boilerplate */
+#include "librpc/gen_ndr/ndr_rot_s.c"