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... | |
![]() | |
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 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... | |
![]() | |
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 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... | |
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.
fm.liveswitch.stun.FingerprintAttribute.FingerprintAttribute | ( | ) |
Initializes a new instance of the fm.liveswitch.stun.FingerprintAttribute class.
fm.liveswitch.DataBuffer fm.liveswitch.stun.FingerprintAttribute.getMessageBuffer | ( | ) |
Gets the message buffer.
int fm.liveswitch.stun.FingerprintAttribute.getTypeValue | ( | ) |
Gets the type value.
Reimplemented from fm.liveswitch.stun.Attribute.
|
protected |
Gets the length of the attribute value.
Reimplemented from fm.liveswitch.stun.Attribute.
|
static |
Initializes a new instance of the fm.liveswitch.stun.FingerprintAttribute class.
buffer | The buffer. |
offset | The offset. |
messageBuffer | The message buffer thus far. |
void fm.liveswitch.stun.FingerprintAttribute.setMessageBuffer | ( | fm.liveswitch.DataBuffer | value | ) |
Sets the message buffer.
String fm.liveswitch.stun.FingerprintAttribute.toString | ( | ) |
Returns a string that represents this instance.
|
protected |
Writes the attribute value to a data buffer.
buffer | The buffer. |
offset | The offset. |
Reimplemented from fm.liveswitch.stun.Attribute.