168169170171172173174175176177178
doSendFragment(stub, off, n, isDirect); off += n; } doReceiveFragment(stub, isDirect); buf.reset(); msg.decode_header(buf); off = 24; if (msg.ptype == 2 && msg.isFlagSet(DCERPC_LAST_FRAG) == false) off = msg.length;
178179180181182183184185186187188
if (off > 0) msg.flags &= ~DCERPC_FIRST_FRAG; if ((msg.flags & (DCERPC_FIRST_FRAG | DCERPC_LAST_FRAG)) != (DCERPC_FIRST_FRAG | DCERPC_LAST_FRAG)) { buf.start = off; buf.reset(); msg.encode_header(buf); buf.enc_ndr_long(msg.alloc_hint); buf.enc_ndr_short(0); /* context id */ buf.enc_ndr_short(msg.getOpnum()); }
190191192193194195196197198199200
doSendFragment(stub, off, msg.length, isDirect); off += n; } doReceiveFragment(stub, isDirect); buf.reset(); buf.setIndex(8); buf.setLength(buf.dec_ndr_short()); if (securityProvider != null) securityProvider.unwrap(buf);