diff options
author | Stefan Metzmacher <metze@samba.org> | 2004-05-11 15:39:23 +0000 |
---|---|---|
committer | Gerald (Jerry) Carter <jerry@samba.org> | 2007-10-10 12:51:56 -0500 |
commit | b5edc0fc05e567fe2ec1a13bd49073f9496db14d (patch) | |
tree | 9214de6ec6dbe66b9a82f46a4386b94f84cb2bd4 /source4 | |
parent | 968bf581f6f8be763b12ca85419b4fbc1a9f78c3 (diff) | |
download | samba-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)
Diffstat (limited to 'source4')
-rw-r--r-- | source4/librpc/idl/dcerpc.idl | 1 | ||||
-rw-r--r-- | source4/rpc_server/dcerpc_server.c | 5 |
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) { |