summaryrefslogtreecommitdiff
path: root/source4/librpc
diff options
context:
space:
mode:
Diffstat (limited to 'source4/librpc')
-rw-r--r--source4/librpc/idl/dcerpc.idl6
-rw-r--r--source4/librpc/rpc/dcerpc.h2
-rw-r--r--source4/librpc/rpc/dcerpc_util.c3
3 files changed, 10 insertions, 1 deletions
diff --git a/source4/librpc/idl/dcerpc.idl b/source4/librpc/idl/dcerpc.idl
index d31e734416..b00396e787 100644
--- a/source4/librpc/idl/dcerpc.idl
+++ b/source4/librpc/idl/dcerpc.idl
@@ -78,7 +78,13 @@ interface dcerpc
[flag(NDR_REMAINING)] DATA_BLOB stub_and_verifier;
} dcerpc_response;
+
+ const int DCERPC_FAULT_OP_RNG_ERROR = 0x1c010002;
+
typedef struct {
+ uint32 alloc_hint;
+ uint16 context_id;
+ uint8 cancel_count;
uint32 status;
} dcerpc_fault;
diff --git a/source4/librpc/rpc/dcerpc.h b/source4/librpc/rpc/dcerpc.h
index 9a301db66b..6f9aa75e8b 100644
--- a/source4/librpc/rpc/dcerpc.h
+++ b/source4/librpc/rpc/dcerpc.h
@@ -78,6 +78,8 @@ struct dcerpc_interface_call {
struct dcerpc_interface_table {
const char *name;
+ const char *uuid;
+ uint32 if_version;
uint32 num_calls;
const struct dcerpc_interface_call *calls;
};
diff --git a/source4/librpc/rpc/dcerpc_util.c b/source4/librpc/rpc/dcerpc_util.c
index fa69425ab0..e9499f969b 100644
--- a/source4/librpc/rpc/dcerpc_util.c
+++ b/source4/librpc/rpc/dcerpc_util.c
@@ -62,7 +62,8 @@ NTSTATUS dcerpc_epm_map_tcp_port(const char *server,
GUID guid;
struct epm_twr_t twr, *twr_r;
- if (strcasecmp(uuid, DCERPC_EPMAPPER_UUID) == 0) {
+ if (strcasecmp(uuid, DCERPC_EPMAPPER_UUID) == 0 ||
+ strcasecmp(uuid, DCERPC_MGMT_UUID) == 0) {
/* don't lookup epmapper via epmapper! */
*port = EPMAPPER_PORT;
return NT_STATUS_OK;