diff options
Diffstat (limited to 'source4/rpc_server')
-rw-r--r-- | source4/rpc_server/config.mk | 18 | ||||
-rw-r--r-- | source4/rpc_server/dcom/oxidresolver.c | 118 | ||||
-rw-r--r-- | source4/rpc_server/dcom/remact.c | 95 | ||||
-rw-r--r-- | source4/rpc_server/dcom/rodb.c | 40 | ||||
-rw-r--r-- | source4/rpc_server/dcom/rot.c | 113 |
5 files changed, 0 insertions, 384 deletions
diff --git a/source4/rpc_server/config.mk b/source4/rpc_server/config.mk index 473b0a3df7..afe18217c1 100644 --- a/source4/rpc_server/config.mk +++ b/source4/rpc_server/config.mk @@ -13,24 +13,6 @@ OBJ_FILES = \ ################################################ ################################################ -# Start MODULE dcerpc_dcom -[MODULE::dcerpc_dcom] -ENABLE = NO -INIT_FUNCTION = dcerpc_server_dcom_init -SUBSYSTEM = dcerpc_server -OBJ_FILES = \ - dcom/oxidresolver.o \ - dcom/rot.o \ - dcom/rodb.o \ - dcom/remact.o \ - librpc/gen_ndr/ndr_dcom_d.o -PUBLIC_DEPENDENCIES = \ - DCERPC_COMMON \ - dcom -# End MODULE dcerpc_dcom -################################################ - -################################################ # Start MODULE dcerpc_rpcecho [MODULE::dcerpc_rpcecho] INIT_FUNCTION = dcerpc_server_rpcecho_init diff --git a/source4/rpc_server/dcom/oxidresolver.c b/source4/rpc_server/dcom/oxidresolver.c deleted file mode 100644 index 1880d6f8dc..0000000000 --- a/source4/rpc_server/dcom/oxidresolver.c +++ /dev/null @@ -1,118 +0,0 @@ -/* - Unix SMB/CIFS implementation. - - endpoint server for the IOXIDResolver pipe - - Copyright (C) Jelmer Vernooij 2004 - - 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 - the Free Software Foundation; either version 2 of the License, or - (at your option) any later version. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public License - along with this program; if not, write to the Free Software - Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. -*/ - -#include "includes.h" -#include "librpc/gen_ndr/ndr_oxidresolver.h" -#include "rpc_server/dcerpc_server.h" - -struct OXIDObject -{ - struct GUID OID; -}; - -struct PingSet -{ - uint64_t id; - struct OXIDObject *objects; - struct PingSet *prev, *next; -}; - -/* Maximum number of missed ping calls before a client is presumed - * gone */ -#define MAX_MISSED_PINGS 3 - -/* Maximum number of seconds between two ping calls */ -#define MAX_PING_TIME 60 - -/* - ResolveOxid -*/ -static WERROR ResolveOxid(struct dcesrv_call_state *dce_call, TALLOC_CTX *mem_ctx, struct ResolveOxid *r) -{ - return WERR_NOT_SUPPORTED; -} - - -/* - SimplePing -*/ -static WERROR SimplePing(struct dcesrv_call_state *dce_call, TALLOC_CTX *mem_ctx, struct SimplePing *r) -{ - return WERR_NOT_SUPPORTED; -} - -/* - ComplexPing -*/ -static WERROR ComplexPing(struct dcesrv_call_state *dce_call, TALLOC_CTX *mem_ctx, struct ComplexPing *r) -{ - /* struct PingSet *ps; */ - - /* If r->in.SetId == 0, create new PingSet */ - - /* Otherwise, look up pingset by id */ - - return WERR_NOT_SUPPORTED; -} - - -/* - ServerAlive -*/ -static WERROR ServerAlive(struct dcesrv_call_state *dce_call, TALLOC_CTX *mem_ctx, struct ServerAlive *r) -{ - return WERR_OK; -} - - -/* - ResolveOxid2 -*/ -static WERROR ResolveOxid2(struct dcesrv_call_state *dce_call, TALLOC_CTX *mem_ctx, struct ResolveOxid2 *r) -{ - ZERO_STRUCT(r->out); - r->out.ComVersion.MajorVersion = COM_MAJOR_VERSION; - r->out.ComVersion.MinorVersion = COM_MINOR_VERSION; - return WERR_NOT_SUPPORTED; -} - -struct DUALSTRINGARRAY *dcom_server_generate_dual_string(TALLOC_CTX *mem_ctx, struct dcesrv_call_state *state) -{ - return NULL; /* FIXME */ -} - -/* - ServerAlive2 -*/ -static WERROR ServerAlive2(struct dcesrv_call_state *dce_call, TALLOC_CTX *mem_ctx, struct ServerAlive2 *r) -{ - ZERO_STRUCT(r->out); - r->out.info.version.MajorVersion = COM_MAJOR_VERSION; - r->out.info.version.MinorVersion = COM_MINOR_VERSION; - r->out.dualstring = *dcom_server_generate_dual_string(mem_ctx, dce_call); - return WERR_OK; -} - -/* FIXME: Garbage collect objects that haven't been pinged */ - -/* include the generated boilerplate */ -#include "librpc/gen_ndr/ndr_oxidresolver_s.c" diff --git a/source4/rpc_server/dcom/remact.c b/source4/rpc_server/dcom/remact.c deleted file mode 100644 index 506417d7e4..0000000000 --- a/source4/rpc_server/dcom/remact.c +++ /dev/null @@ -1,95 +0,0 @@ -/* - Unix SMB/CIFS implementation. - - endpoint server for the IRemoteActivation pipe - - Copyright (C) Jelmer Vernooij 2004 - - 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 - the Free Software Foundation; either version 2 of the License, or - (at your option) any later version. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public License - along with this program; if not, write to the Free Software - Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. -*/ - -#include "includes.h" -#include "rpc_server/dcerpc_server.h" -#include "rpc_server/common/common.h" -#include "librpc/gen_ndr/ndr_remact.h" -#include "librpc/gen_ndr/ndr_oxidresolver.h" - -struct dcom_interface_pointer *dcom_interface_pointer_by_ipid(struct GUID *ipid) -{ - /* FIXME */ - return NULL; -} - -/* - RemoteActivation -*/ -static WERROR RemoteActivation(struct dcesrv_call_state *dce_call, TALLOC_CTX *mem_ctx, struct RemoteActivation *r) -{ - struct CreateInstance *cr = NULL; - /*struct Release *ur;*/ - struct dcom_interface_p *o = NULL; - int i; - - /* FIXME: CoGetClassObject() */ - /* FIXME: IClassFactory::CreateInstance() */ - /* FIXME: IUnknown::Release() */ - - ZERO_STRUCT(r->out); - r->out.ServerVersion.MajorVersion = COM_MAJOR_VERSION; - r->out.ServerVersion.MinorVersion = COM_MINOR_VERSION; - - r->out.AuthnHint = DCERPC_AUTH_LEVEL_DEFAULT; - r->out.pdsaOxidBindings = dcom_server_generate_dual_string(mem_ctx, dce_call); - - /* FIXME: Loop thru given interfaces and set r->out.results and - * r->out.interfaces */ - r->out.ifaces = talloc_array(mem_ctx, struct pMInterfacePointer, r->in.Interfaces); - r->out.results = talloc_array(mem_ctx, WERROR, r->in.Interfaces); - r->out.hr = cr->out.result; - - for (i = 0; i < r->in.Interfaces; i++) { - struct QueryInterface rr; - rr.in.iid = &r->in.pIIDs[i]; - dcom_IUnknown_QueryInterface(o, mem_ctx, &rr); - ZERO_STRUCT(r->out.ifaces[i]); - r->out.results[i] = rr.out.result; - } - - /* FIXME: */ - r->out.pOxid = 0; - ZERO_STRUCT(r->out.ipidRemUnknown); - - return WERR_OK; -} - - -NTSTATUS dcerpc_server_dcom_init(void) -{ - NTSTATUS status; - status = dcerpc_server_IOXIDResolver_init(); - if (NT_STATUS_IS_ERR(status)) { - return status; - } - - status = dcerpc_server_IRemoteActivation_init(); - if (NT_STATUS_IS_ERR(status)) { - return status; - } - - return NT_STATUS_OK; -} - -/* include the generated boilerplate */ -#include "librpc/gen_ndr/ndr_remact_s.c" diff --git a/source4/rpc_server/dcom/rodb.c b/source4/rpc_server/dcom/rodb.c deleted file mode 100644 index 76f3d2da80..0000000000 --- a/source4/rpc_server/dcom/rodb.c +++ /dev/null @@ -1,40 +0,0 @@ -/* - Unix SMB/CIFS implementation. - - Running objects database - - Copyright (C) Jelmer Vernooij 2004 - - 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 - the Free Software Foundation; either version 2 of the License, or - (at your option) any later version. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public License - along with this program; if not, write to the Free Software - Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. -*/ - -#include "includes.h" -#include "system/filesys.h" -#include "rpc_server/dcerpc_server.h" -#include "librpc/gen_ndr/ndr_rot.h" -#include "rpc_server/common/common.h" - -struct tdb_wrap *openrodb(TALLOC_CTX *mem_ctx) -{ - struct tdb_wrap *wrap; - char *rodb_name = NULL; - - rodb_name = smbd_tmp_path(mem_ctx, "rot.tdb"); - wrap = tdb_wrap_open(mem_ctx, rodb_name, 0, 0, O_RDWR|O_CREAT, 0600); - SAFE_FREE(rodb_name); - - return wrap; -} - diff --git a/source4/rpc_server/dcom/rot.c b/source4/rpc_server/dcom/rot.c deleted file mode 100644 index f36eaf20d1..0000000000 --- a/source4/rpc_server/dcom/rot.c +++ /dev/null @@ -1,113 +0,0 @@ -/* - Unix SMB/CIFS implementation. - - endpoint server for the rot pipe - - Copyright (C) Jelmer Vernooij 2004 - - 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 - the Free Software Foundation; either version 2 of the License, or - (at your option) any later version. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public License - along with this program; if not, write to the Free Software - Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. -*/ - -#include "includes.h" -#include "rpc_server/dcerpc_server.h" -#include "librpc/gen_ndr/ndr_rot.h" -#include "rpc_server/common/common.h" - -/* - rot_add -*/ -static WERROR rot_add(struct dcesrv_call_state *dce_call, TALLOC_CTX *mem_ctx, - struct rot_add *r) -{ - struct tdb_wrap *db = openrodb(mem_ctx); - DCESRV_FAULT(DCERPC_FAULT_OP_RNG_ERROR); - talloc_free(db); -} - - -/* - rot_remove -*/ -static WERROR rot_remove(struct dcesrv_call_state *dce_call, TALLOC_CTX *mem_ctx, - struct rot_remove *r) -{ - struct tdb_wrap *db = openrodb(mem_ctx); - DCESRV_FAULT(DCERPC_FAULT_OP_RNG_ERROR); - talloc_free(db); -} - - -/* - rot_is_listed -*/ -static WERROR rot_is_listed(struct dcesrv_call_state *dce_call, TALLOC_CTX *mem_ctx, - struct rot_is_listed *r) -{ - struct tdb_wrap *db = openrodb(mem_ctx); - DCESRV_FAULT(DCERPC_FAULT_OP_RNG_ERROR); - talloc_free(db); -} - - -/* - 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 tdb_wrap *db = openrodb(mem_ctx); - DCESRV_FAULT(DCERPC_FAULT_OP_RNG_ERROR); - talloc_free(db); -} - - -/* - 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) -{ - struct tdb_wrap *db = openrodb(mem_ctx); - DCESRV_FAULT(DCERPC_FAULT_OP_RNG_ERROR); - talloc_free(db); -} - - -/* - 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) -{ - struct tdb_wrap *db = openrodb(mem_ctx); - DCESRV_FAULT(DCERPC_FAULT_OP_RNG_ERROR); - talloc_free(db); -} - - -/* - rot_enum -*/ -static WERROR rot_enum(struct dcesrv_call_state *dce_call, TALLOC_CTX *mem_ctx, - struct rot_enum *r) -{ - struct tdb_wrap *db = openrodb(mem_ctx); - DCESRV_FAULT(DCERPC_FAULT_OP_RNG_ERROR); - talloc_free(db); -} - - -/* include the generated boilerplate */ -#include "librpc/gen_ndr/ndr_rot_s.c" |