diff options
Diffstat (limited to 'source4/librpc')
-rw-r--r-- | source4/librpc/idl/dcerpc.idl | 6 | ||||
-rw-r--r-- | source4/librpc/rpc/dcerpc.h | 2 | ||||
-rw-r--r-- | source4/librpc/rpc/dcerpc_util.c | 3 |
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; |