diff options
Diffstat (limited to 'source4')
-rw-r--r-- | source4/rpc_server/dcerpc_server.h | 1 | ||||
-rw-r--r-- | source4/rpc_server/handles.c | 3 |
2 files changed, 3 insertions, 1 deletions
diff --git a/source4/rpc_server/dcerpc_server.h b/source4/rpc_server/dcerpc_server.h index c2bbe8073a..bd5deab847 100644 --- a/source4/rpc_server/dcerpc_server.h +++ b/source4/rpc_server/dcerpc_server.h @@ -79,6 +79,7 @@ struct dcesrv_call_state { } *replies; }; +#define DCESRV_HANDLE_ANY 255 /* a dcerpc handle in internal format */ struct dcesrv_handle { diff --git a/source4/rpc_server/handles.c b/source4/rpc_server/handles.c index df6abd65a5..21030b4755 100644 --- a/source4/rpc_server/handles.c +++ b/source4/rpc_server/handles.c @@ -83,7 +83,8 @@ struct dcesrv_handle *dcesrv_handle_fetch(struct dcesrv_connection *dce_conn, for (h=dce_conn->handles; h; h=h->next) { if (h->wire_handle.handle_type == p->handle_type && uuid_equal(&p->uuid, &h->wire_handle.uuid)) { - if (p->handle_type != handle_type) { + if (handle_type != DCESRV_HANDLE_ANY && + p->handle_type != handle_type) { DEBUG(0,("client gave us the wrong handle type (%d should be %d)\n", p->handle_type, handle_type)); return NULL; |