public static String dec_ucs2le( byte[] src, int si, int slim, char[] buf ) throws IOException { int bi; for( bi = 0; (si + 1) < slim; bi++, si += 2 ) { buf[bi] = (char)dec_uint16le( src, si ); if( buf[bi] == '\0' ) { break; } } return new String( buf, 0, bi ); } }
public static String dec_ucs2le( byte[] src, int si, int slim, char[] buf ) throws IOException { int bi; for( bi = 0; (si + 1) < slim; bi++, si += 2 ) { buf[bi] = (char)dec_uint16le( src, si ); if( buf[bi] == '\0' ) { break; } } return new String( buf, 0, bi ); } }
public static String dec_ucs2le ( byte[] src, int si, int slim, char[] buf ) { int bi; for ( bi = 0; ( si + 1 ) < slim; bi++, si += 2 ) { buf[ bi ] = (char) dec_uint16le(src, si); if ( buf[ bi ] == '\0' ) { break; } } return new String(buf, 0, bi); } }
public static String dec_ucs2le( byte[] src, int si, int slim, char[] buf ) throws IOException { int bi; for( bi = 0; (si + 1) < slim; bi++, si += 2 ) { buf[bi] = (char)dec_uint16le( src, si ); if( buf[bi] == '\0' ) { break; } } return new String( buf, 0, bi ); } }
public static String dec_ucs2le ( byte[] src, int si, int slim, char[] buf ) { int bi; for ( bi = 0; ( si + 1 ) < slim; bi++, si += 2 ) { buf[ bi ] = (char) dec_uint16le(src, si); if ( buf[ bi ] == '\0' ) { break; } } return new String(buf, 0, bi); } }
public static String dec_ucs2le( byte[] src, int si, int slim, char[] buf ) throws IOException { int bi; for( bi = 0; (si + 1) < slim; bi++, si += 2 ) { buf[bi] = (char)dec_uint16le( src, si ); if( buf[bi] == '\0' ) { break; } } return new String( buf, 0, bi ); } }
private String getNtlmsspListItem(byte[] type2token, int id0) { int ri = 58; for ( ;; ) { int id = Encdec.dec_uint16le(type2token, ri); int len = Encdec.dec_uint16le(type2token, ri + 2); ri += 4; if (id == 0 || (ri + len) > type2token.length) { break; } else if (id == id0) { try { return new String(type2token, ri, len, SmbConstants.UNI_ENCODING); } catch (java.io.UnsupportedEncodingException uee) { break; } } ri += len; } return null; } public byte[] initSecContext(byte[] token, int offset, int len) throws SmbException {
private String getNtlmsspListItem(byte[] type2token, int id0) { int ri = 58; for ( ;; ) { int id = Encdec.dec_uint16le(type2token, ri); int len = Encdec.dec_uint16le(type2token, ri + 2); ri += 4; if (id == 0 || (ri + len) > type2token.length) { break; } else if (id == id0) { try { return new String(type2token, ri, len, SmbConstants.UNI_ENCODING); } catch (java.io.UnsupportedEncodingException uee) { break; } } ri += len; } return null; } public byte[] initSecContext(byte[] token, int offset, int len) throws SmbException {
public int dec_ndr_short() { align(2); int val = Encdec.dec_uint16le(buf, index); advance(2); return val; } public void enc_ndr_long(int l) {
public int dec_ndr_short() { align(2); int val = Encdec.dec_uint16le(buf, index); advance(2); return val; } public void enc_ndr_long(int l) {
public int dec_ndr_short () { align(2); int val = Encdec.dec_uint16le(this.buf, this.index); advance(2); return val; }
public int dec_ndr_short () { align ( 2 ); int val = Encdec.dec_uint16le ( buf, index ); advance ( 2 ); return val; }
public int dec_ndr_short() { align(2); int val = Encdec.dec_uint16le(buf, index); advance(2); return val; } public void enc_ndr_long(int l) {
public int dec_ndr_short() { align(2); int val = Encdec.dec_uint16le(buf, index); advance(2); return val; } public void enc_ndr_long(int l) {
public int dec_ndr_short() { align(2); int val = Encdec.dec_uint16le(buf, index); advance(2); return val; } public void enc_ndr_long(int l) {
public int dec_ndr_short () { align(2); int val = Encdec.dec_uint16le(this.buf, this.index); advance(2); return val; }
public int dec_ndr_short() { align(2); int val = Encdec.dec_uint16le(buf, index); advance(2); return val; } public void enc_ndr_long(int l) {
protected void doReceiveFragment(byte[] buf, boolean isDirect) throws IOException { int off, flags, length; if (buf.length < max_recv) throw new IllegalArgumentException("buffer too small"); if (isStart && !isDirect) { // start of new frag, do trans off = in.read(buf, 0, 1024); } else { off = in.readDirect(buf, 0, buf.length); } if (buf[0] != 5 && buf[1] != 0) throw new IOException("Unexpected DCERPC PDU header"); flags = buf[3] & 0xFF; // next read is start of new frag isStart = (flags & DCERPC_LAST_FRAG) == DCERPC_LAST_FRAG; length = Encdec.dec_uint16le(buf, 8); if (length > max_recv) throw new IOException("Unexpected fragment length: " + length); while (off < length) { off += in.readDirect(buf, off, length - off); } } public void close() throws IOException {
@Override protected int doReceiveFragment ( byte[] buf ) throws IOException { if ( buf.length < getMaxRecv() ) { throw new IllegalArgumentException("buffer too small"); } int off = this.handle.recv(buf, 0, buf.length); if ( buf[ 0 ] != 5 && buf[ 1 ] != 0 ) { throw new IOException("Unexpected DCERPC PDU header"); } int length = Encdec.dec_uint16le(buf, 8); if ( length > getMaxRecv() ) { throw new IOException("Unexpected fragment length: " + length); } while ( off < length ) { off += this.handle.recv(buf, off, length - off); } return off; }
@Override protected int doReceiveFragment ( byte[] buf ) throws IOException { if ( buf.length < getMaxRecv() ) { throw new IllegalArgumentException("buffer too small"); } int off = this.handle.recv(buf, 0, buf.length); if ( buf[ 0 ] != 5 && buf[ 1 ] != 0 ) { throw new IOException("Unexpected DCERPC PDU header"); } int length = Encdec.dec_uint16le(buf, 8); if ( length > getMaxRecv() ) { throw new IOException("Unexpected fragment length: " + length); } while ( off < length ) { off += this.handle.recv(buf, off, length - off); } return off; }