fm.liveswitch.stun.FingerprintAttribute Class Reference

The FINGERPRINT attribute MAY be present in all STUN messages. More...

Public Member Functions

 FingerprintAttribute ()
 Initializes a new instance of the fm.liveswitch.stun.FingerprintAttribute class. More...
 
fm.liveswitch.DataBuffer getMessageBuffer ()
 Gets the message buffer. More...
 
int getTypeValue ()
 Gets the type value. More...
 
void setMessageBuffer (fm.liveswitch.DataBuffer value)
 Sets the message buffer. More...
 
String toString ()
 Returns a string that represents this instance. More...
 
- Public Member Functions inherited from fm.liveswitch.stun.Attribute
int getLength ()
 Gets the length of the attribute, including header and padding. More...
 
int getPaddingLength (int valueLength)
 Gets the length of the padding. More...
 
void writeTo (fm.liveswitch.DataBuffer buffer, int offset)
 Writes the attribute to a data buffer. More...
 
void writeTo (fm.liveswitch.DataBuffer buffer, int offset, fm.liveswitch.IntegerHolder offsetPlus)
 Writes the attribute to a data buffer. More...
 

Static Public Member Functions

static fm.liveswitch.stun.FingerprintAttribute readValueFrom (fm.liveswitch.DataBuffer buffer, int offset, fm.liveswitch.DataBuffer messageBuffer)
 Initializes a new instance of the fm.liveswitch.stun.FingerprintAttribute class. More...
 
- Static Public Member Functions inherited from fm.liveswitch.stun.Attribute
static int getAlternateServerType ()
 Gets the ALTERNATE-SERVER type. More...
 
static int getChannelNumberType ()
 Gets the CHANNEL-NUMBER type. More...
 
static int getConnectionIdType ()
 Gets the CONNECTION-ID type. More...
 
static int getControlledType ()
 Gets the CONTROLLED type. More...
 
static int getControllingType ()
 Gets the CONTROLLING type. More...
 
static int getDataType ()
 Gets the DATA type. More...
 
static int getDontFragmentType ()
 Gets the DONT-FRAGMENT type. More...
 
static int getErrorCodeType ()
 Gets the ERROR-CODE type. More...
 
static int getEvenPortType ()
 Gets the EVEN-PORT type. More...
 
static int getFingerprintType ()
 Gets the FINGERPRINT type. More...
 
static int getLifetimeType ()
 Gets the LIFETIME type. More...
 
static int getMappedAddressType ()
 Gets the MAPPED-ADDRESS type. More...
 
static int getMessageIntegrityType ()
 Gets the MESSAGE-INTEGRITY type. More...
 
static int getNonceType ()
 Gets the NONCE type. More...
 
static int getPriorityType ()
 Gets the PRIORITY type. More...
 
static int getRealmType ()
 Gets the REALM type. More...
 
static int getRequestedAddressFamilyType ()
 Gets the REQUESTED-ADDRESS-FAMILY type. More...
 
static int getRequestedTransportType ()
 Gets the REQUESTED-TRANSPORT type. More...
 
static int getReservationTokenType ()
 Gets the RESERVATION-TOKEN type. More...
 
static int getSoftwareType ()
 Gets the SOFTWARE type. More...
 
static int getTransactionTransmitCounterType ()
 Gets the comprehension-optional TRANSACTION_TRANSMIT_COUNTER type defined in RFC 7982. More...
 
static int getUnknownAttributesType ()
 Gets the UNKNOWN-ATTRIBUTES type. More...
 
static int getUseCandidateType ()
 Gets the USE-CANDIDATE type. More...
 
static int getUsernameType ()
 Gets the USERNAME type. More...
 
static int getXorMappedAddressType ()
 Gets the XOR-MAPPED-ADDRESS type. More...
 
static int getXorPeerAddressType ()
 Gets the XOR-PEER-ADDRESS type. More...
 
static int getXorRelayedAddressType ()
 Gets the XOR-RELAYED-ADDRESS type. More...
 
static int nextLength (fm.liveswitch.DataBuffer buffer, int offset)
 Reads the length of the next attribute from a data buffer, including header and padding. More...
 
static fm.liveswitch.stun.Attribute readFrom (fm.liveswitch.DataBuffer buffer, int offset, fm.liveswitch.IntegerHolder offsetPlus, fm.liveswitch.DataBuffer transactionId, fm.liveswitch.DataBuffer messageBuffer)
 Reads an fm.liveswitch.stun.Attribute from a data buffer. More...
 
static fm.liveswitch.stun.Attribute readFrom (fm.liveswitch.DataBuffer buffer, int offset, fm.liveswitch.DataBuffer transactionId, fm.liveswitch.DataBuffer messageBuffer)
 Reads an fm.liveswitch.stun.Attribute from a data buffer. More...
 

Protected Member Functions

int getValueLength ()
 Gets the length of the attribute value. More...
 
void writeValueTo (fm.liveswitch.DataBuffer buffer, int offset)
 Writes the attribute value to a data buffer. More...
 
- Protected Member Functions inherited from fm.liveswitch.stun.Attribute
 Attribute ()
 
void writeIPAddress (fm.liveswitch.DataBuffer buffer, int offset, fm.liveswitch.AddressType addressType, String ipAddress)
 Writes an IP address. More...
 
void writePort (fm.liveswitch.DataBuffer buffer, int offset, int port)
 Writes a port. More...
 
void writeXorIPAddress (fm.liveswitch.DataBuffer buffer, int offset, fm.liveswitch.AddressType addressType, String ipAddress, fm.liveswitch.DataBuffer transactionId)
 Writes an XOR'd IP address. More...
 
void writeXorPort (fm.liveswitch.DataBuffer buffer, int offset, int port, fm.liveswitch.DataBuffer transactionId)
 Writes an XOR'd port. More...
 

Additional Inherited Members

- Static Protected Member Functions inherited from fm.liveswitch.stun.Attribute
static fm.liveswitch.AddressType readAddressType (fm.liveswitch.DataBuffer buffer, int offset)
 Reads an address type. More...
 
static String readIPAddress (fm.liveswitch.DataBuffer buffer, int offset, fm.liveswitch.AddressType addressType)
 Reads an IP address. More...
 
static int readPort (fm.liveswitch.DataBuffer buffer, int offset)
 Reads a port. More...
 
static String readXorIPAddress (fm.liveswitch.DataBuffer buffer, int offset, fm.liveswitch.AddressType addressType, fm.liveswitch.DataBuffer transactionId)
 Reads an XOR'd IP address. More...
 
static int readXorPort (fm.liveswitch.DataBuffer buffer, int offset, fm.liveswitch.DataBuffer transactionId)
 Reads an XOR'd port. More...
 
static void writeAddressType (fm.liveswitch.DataBuffer buffer, int offset, fm.liveswitch.AddressType addressType)
 Writes an address type. More...
 

Detailed Description

The FINGERPRINT attribute MAY be present in all STUN messages.

The value of the attribute is computed as the CRC-32 of the STUN message up to (but excluding) the FINGERPRINT attribute itself, XOR'ed with the 32-bit value 0x5354554e (the XOR helps in cases where an application packet is also using CRC-32 in it). The 32-bit CRC is the one defined in ITU V.42 [ITU.V42.2002], which has a generator polynomial of x32+x26+x23+x22+x16+x12+x11+x10+x8+x7+x5+x4+x2+x+1. When present, the FINGERPRINT attribute MUST be the last attribute in the message, and thus will appear after MESSAGE-INTEGRITY.

Constructor & Destructor Documentation

◆ FingerprintAttribute()

fm.liveswitch.stun.FingerprintAttribute.FingerprintAttribute ( )

Initializes a new instance of the fm.liveswitch.stun.FingerprintAttribute class.

Member Function Documentation

◆ getMessageBuffer()

fm.liveswitch.DataBuffer fm.liveswitch.stun.FingerprintAttribute.getMessageBuffer ( )

Gets the message buffer.

◆ getTypeValue()

int fm.liveswitch.stun.FingerprintAttribute.getTypeValue ( )

Gets the type value.

Reimplemented from fm.liveswitch.stun.Attribute.

◆ getValueLength()

int fm.liveswitch.stun.FingerprintAttribute.getValueLength ( )
protected

Gets the length of the attribute value.

Reimplemented from fm.liveswitch.stun.Attribute.

◆ readValueFrom()

static fm.liveswitch.stun.FingerprintAttribute fm.liveswitch.stun.FingerprintAttribute.readValueFrom ( fm.liveswitch.DataBuffer  buffer,
int  offset,
fm.liveswitch.DataBuffer  messageBuffer 
)
static

Initializes a new instance of the fm.liveswitch.stun.FingerprintAttribute class.

Parameters
bufferThe buffer.
offsetThe offset.
messageBufferThe message buffer thus far.

◆ setMessageBuffer()

void fm.liveswitch.stun.FingerprintAttribute.setMessageBuffer ( fm.liveswitch.DataBuffer  value)

Sets the message buffer.

◆ toString()

String fm.liveswitch.stun.FingerprintAttribute.toString ( )

Returns a string that represents this instance.

Returns
A string that represents this instance.

◆ writeValueTo()

void fm.liveswitch.stun.FingerprintAttribute.writeValueTo ( fm.liveswitch.DataBuffer  buffer,
int  offset 
)
protected

Writes the attribute value to a data buffer.

Parameters
bufferThe buffer.
offsetThe offset.

Reimplemented from fm.liveswitch.stun.Attribute.