diff options
-rw-r--r-- | source4/librpc/rpc/dcerpc.c | 10 |
1 files changed, 7 insertions, 3 deletions
diff --git a/source4/librpc/rpc/dcerpc.c b/source4/librpc/rpc/dcerpc.c index f7c0100f47..ea4e82f781 100644 --- a/source4/librpc/rpc/dcerpc.c +++ b/source4/librpc/rpc/dcerpc.c @@ -916,9 +916,13 @@ NTSTATUS dcerpc_ndr_request(struct dcerpc_pipe *p, } if (pull->offset != pull->data_size) { - DEBUG(0,("Warning! %d unread bytes\n", pull->data_size - pull->offset)); - status = NT_STATUS_INFO_LENGTH_MISMATCH; - goto failed; + DEBUG(0,("Warning! ignoring %d unread bytes in rpc packet!\n", + pull->data_size - pull->offset)); + /* we used return NT_STATUS_INFO_LENGTH_MISMATCH here, + but it turns out that early versions of NT + (specifically NT3.1) add junk onto the end of rpc + packets, so if we want to interoperate at all with + those versions then we need to ignore this error */ } failed: |