gnu.crypto.sasl

Class InputBuffer

public class InputBuffer extends Object

The implementation of an incoming SASL buffer.

The data elements this class caters for are described in [1].

References:

  1. Secure Remote Password Authentication Mechanism;
    draft-burdis-cat-srp-sasl-09,
    Keith Burdis and Raïf S. Naffah.

Version: $Revision: 1.5 $

Field Summary
protected ByteArrayInputStreamin
The internal buffer stream containing the buffer's contents.
protected intlength
The length of the buffer, according to its header.
Constructor Summary
InputBuffer(byte[] frame)

Constructs a SASL buffer given the buffer's encoded form, including its header bytes.

Method Summary
byte[]getEOS()

Decodes a SASL EOS from the current buffer.

static InputBuffergetInstance(byte[] raw)

Returns an instance of a SASL buffer given the buffer's encoded contents, excluding the buffer's header bytes.

Calls the method with the same name and three arguments as: getInstance(raw, 0, raw.length).

static InputBuffergetInstance(byte[] raw, int offset, int len)

Returns an instance of a SASL buffer given the buffer's encoded contents, excluding the buffer's header bytes.

BigIntegergetMPI()

Decodes a SASL MPI from the current buffer.

byte[]getOS()

Decodes a SASL OS from the current buffer.

longgetScalar(int count)

Decodes a SASL scalar quantity, count-octet long, from the current buffer.

StringgetText()

Decodes a SASL Text from the current buffer.

booleanhasMoreElements()
static inttwoBytesToLength(byte[] b)

Converts two octets into the number that they represent.

Field Detail

in

protected ByteArrayInputStream in
The internal buffer stream containing the buffer's contents.

length

protected int length
The length of the buffer, according to its header.

Constructor Detail

InputBuffer

public InputBuffer(byte[] frame)

Constructs a SASL buffer given the buffer's encoded form, including its header bytes.

Parameters: frame the encoded form, including the header bytes, of a SASL buffer.

Throws: SaslEncodingException if the buffer is malformed.

Method Detail

getEOS

public byte[] getEOS()

Decodes a SASL EOS from the current buffer.

Returns: a native representation of a SASL EOS.

Throws: SaslEncodingException if an encoding exception occurs during the operation. IOException if any other I/O exception occurs during the operation.

getInstance

public static InputBuffer getInstance(byte[] raw)

Returns an instance of a SASL buffer given the buffer's encoded contents, excluding the buffer's header bytes.

Calls the method with the same name and three arguments as: getInstance(raw, 0, raw.length).

Parameters: raw the encoded form, excluding the header bytes, of a SASL buffer.

Returns: a new instance of InputBuffer.

getInstance

public static InputBuffer getInstance(byte[] raw, int offset, int len)

Returns an instance of a SASL buffer given the buffer's encoded contents, excluding the buffer's header bytes.

Parameters: raw the encoded form, excluding the header bytes, of a SASL buffer. offset offset where to start using raw bytes from. len number of bytes to use.

Returns: a new instance of InputBuffer.

getMPI

public BigInteger getMPI()

Decodes a SASL MPI from the current buffer.

Returns: a native representation of a SASL MPI.

Throws: SaslEncodingException if an encoding exception occurs during the operation. IOException if any other I/O exception occurs during the operation.

getOS

public byte[] getOS()

Decodes a SASL OS from the current buffer.

Returns: a native representation of a SASL OS.

Throws: SaslEncodingException if an encoding exception occurs during the operation. IOException if any other I/O exception occurs during the operation.

getScalar

public long getScalar(int count)

Decodes a SASL scalar quantity, count-octet long, from the current buffer.

Parameters: count the number of octets of this scalar quantity.

Returns: a native representation of a SASL scalar (unsigned integer) quantity.

Throws: SaslEncodingException if an encoding exception occurs during the operation. IOException if any other I/O exception occurs during the operation.

getText

public String getText()

Decodes a SASL Text from the current buffer.

Returns: a native representation of a SASL Text.

Throws: SaslEncodingException if an encoding exception occurs during the operation. SaslEncodingException if the UTF-8 character encoding is not supported on this platform. IOException if any other I/O exception occurs during the operation.

hasMoreElements

public boolean hasMoreElements()

twoBytesToLength

public static int twoBytesToLength(byte[] b)

Converts two octets into the number that they represent.

Parameters: b the two octets.

Returns: the length.

Copyright © 2001, 2002, 2003 Free Software Foundation, Inc. All Rights Reserved.