gnu.crypto.sasl

Class InputBuffer


public class InputBuffer
extends java.lang.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.4 $

Field Summary

protected ByteArrayInputStream
in
The internal buffer stream containing the buffer's contents.
protected int
length
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 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).

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.
BigInteger
getMPI()
Decodes a SASL MPI from the current buffer.
byte[]
getOS()
Decodes a SASL OS from the current buffer.
long
getScalar(int count)
Decodes a SASL scalar quantity, count-octet long, from the current buffer.
String
getText()
Decodes a SASL Text from the current buffer.
boolean
hasMoreElements()
static int
twoBytesToLength(byte[] b)
Converts two octets into the number that they represent.

Field Details

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 Details

InputBuffer

public InputBuffer(byte[] frame)
            throws SaslEncodingException
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 Details

getEOS

public byte[] getEOS()
            throws IOException
Decodes a SASL EOS from the current buffer.

Returns:
a native representation of a SASL EOS.


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()
            throws IOException
Decodes a SASL MPI from the current buffer.

Returns:
a native representation of a SASL MPI.


getOS

public byte[] getOS()
            throws IOException
Decodes a SASL OS from the current buffer.

Returns:
a native representation of a SASL OS.


getScalar

public long getScalar(int count)
            throws IOException
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.


getText

public String getText()
            throws IOException
Decodes a SASL Text from the current buffer.

Returns:
a native representation of a SASL Text.


hasMoreElements

public boolean hasMoreElements()


twoBytesToLength

public static int twoBytesToLength(byte[] b)
            throws SaslEncodingException
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.