summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorStefan Metzmacher <metze@samba.org>2004-05-11 15:39:23 +0000
committerGerald (Jerry) Carter <jerry@samba.org>2007-10-10 12:51:56 -0500
commitb5edc0fc05e567fe2ec1a13bd49073f9496db14d (patch)
tree9214de6ec6dbe66b9a82f46a4386b94f84cb2bd4
parent968bf581f6f8be763b12ca85419b4fbc1a9f78c3 (diff)
downloadsamba-b5edc0fc05e567fe2ec1a13bd49073f9496db14d.tar.gz
samba-b5edc0fc05e567fe2ec1a13bd49073f9496db14d.tar.bz2
samba-b5edc0fc05e567fe2ec1a13bd49073f9496db14d.zip
r649: return unknown interface when the client not yet
binds succesful to an interface metze (This used to be commit c39e450702cfa2b577c64e14ba1428fd95db7ade)
-rw-r--r--source4/librpc/idl/dcerpc.idl1
-rw-r--r--source4/rpc_server/dcerpc_server.c5
2 files changed, 6 insertions, 0 deletions
diff --git a/source4/librpc/idl/dcerpc.idl b/source4/librpc/idl/dcerpc.idl
index c439262f6c..0ee3d7b69b 100644
--- a/source4/librpc/idl/dcerpc.idl
+++ b/source4/librpc/idl/dcerpc.idl
@@ -83,6 +83,7 @@ interface dcerpc
const int DCERPC_FAULT_OP_RNG_ERROR = 0x1c010002;
+ const int DCERPC_FAULT_UNK_IF = 0x1c010003;
const int DCERPC_FAULT_NDR = 0x000006f7;
const int DCERPC_FAULT_INVALID_TAG = 0x1c000006;
const int DCERPC_FAULT_CONTEXT_MISMATCH = 0x1c00001a;
diff --git a/source4/rpc_server/dcerpc_server.c b/source4/rpc_server/dcerpc_server.c
index 22a6e1e625..b89bec40bb 100644
--- a/source4/rpc_server/dcerpc_server.c
+++ b/source4/rpc_server/dcerpc_server.c
@@ -560,6 +560,11 @@ static NTSTATUS dcesrv_request(struct dcesrv_call_state *call)
DATA_BLOB stub;
uint32 total_length;
+
+ if (!call->conn->iface) {
+ return dcesrv_fault(call, DCERPC_FAULT_UNK_IF);
+ }
+
opnum = call->pkt.u.request.opnum;
if (opnum >= call->conn->iface->ndr->num_calls) {