FMLiveSwitchStunFingerprintAttribute Class Reference

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

Instance Methods

(NSString *) - description
 Returns a string that represents this instance. More...
 
(int) - getValueLength
 Gets the length of the attribute value. More...
 
(instancetype) - init
 Initializes a new instance of the FMLiveSwitchStunFingerprintAttribute class. More...
 
(FMLiveSwitchDataBuffer *) - messageBuffer
 Gets the message buffer. More...
 
(void) - setMessageBuffer:
 Sets the message buffer. More...
 
(int) - typeValue
 Gets the type value. More...
 
(void) - writeValueToWithBuffer:offset:
 Writes the attribute value to a data buffer. More...
 
- Instance Methods inherited from FMLiveSwitchStunAttribute
(int) - getLength
 Gets the length of the attribute, including header and padding. More...
 
(int) - getPaddingLengthWithValueLength:
 Gets the length of the padding. More...
 
(void) - writeIPAddressWithBuffer:offset:addressType:ipAddress:
 Writes an IP address. More...
 
(void) - writePortWithBuffer:offset:port:
 Writes a port. More...
 
(void) - writeToWithBuffer:offset:
 Writes the attribute to a data buffer. More...
 
(void) - writeToWithBuffer:offset:offsetPlus:
 Writes the attribute to a data buffer. More...
 
(void) - writeXorIPAddressWithBuffer:offset:addressType:ipAddress:transactionId:
 Writes an XOR'd IP address. More...
 
(void) - writeXorPortWithBuffer:offset:port:transactionId:
 Writes an XOR'd port. More...
 

Class Methods

(FMLiveSwitchStunFingerprintAttribute *) + fingerprintAttribute
 Initializes a new instance of the FMLiveSwitchStunFingerprintAttribute class. More...
 
(FMLiveSwitchStunFingerprintAttribute *) + readValueFromWithBuffer:offset:messageBuffer:
 Initializes a new instance of the FMLiveSwitchStunFingerprintAttribute class. More...
 
- Class Methods inherited from FMLiveSwitchStunAttribute
(int) + alternateServerType
 Gets the ALTERNATE-SERVER type. More...
 
(FMLiveSwitchStunAttribute *) + attribute
 
(int) + channelNumberType
 Gets the CHANNEL-NUMBER type. More...
 
(int) + connectionIdType
 Gets the CONNECTION-ID type. More...
 
(int) + controlledType
 Gets the CONTROLLED type. More...
 
(int) + controllingType
 Gets the CONTROLLING type. More...
 
(int) + dataType
 Gets the DATA type. More...
 
(int) + dontFragmentType
 Gets the DONT-FRAGMENT type. More...
 
(int) + errorCodeType
 Gets the ERROR-CODE type. More...
 
(int) + evenPortType
 Gets the EVEN-PORT type. More...
 
(int) + fingerprintType
 Gets the FINGERPRINT type. More...
 
(int) + lifetimeType
 Gets the LIFETIME type. More...
 
(int) + mappedAddressType
 Gets the MAPPED-ADDRESS type. More...
 
(int) + messageIntegrityType
 Gets the MESSAGE-INTEGRITY type. More...
 
(int) + nextLengthWithBuffer:offset:
 Reads the length of the next attribute from a data buffer, including header and padding. More...
 
(int) + nonceType
 Gets the NONCE type. More...
 
(int) + priorityType
 Gets the PRIORITY type. More...
 
(FMLiveSwitchAddressType) + readAddressTypeWithBuffer:offset:
 Reads an address type. More...
 
(FMLiveSwitchStunAttribute *) + readFromWithBuffer:offset:offsetPlus:transactionId:messageBuffer:
 Reads an FMLiveSwitchStunAttribute from a data buffer. More...
 
(FMLiveSwitchStunAttribute *) + readFromWithBuffer:offset:transactionId:messageBuffer:
 Reads an FMLiveSwitchStunAttribute from a data buffer. More...
 
(NSString *) + readIPAddressWithBuffer:offset:addressType:
 Reads an IP address. More...
 
(int) + readPortWithBuffer:offset:
 Reads a port. More...
 
(NSString *) + readXorIPAddressWithBuffer:offset:addressType:transactionId:
 Reads an XOR'd IP address. More...
 
(int) + readXorPortWithBuffer:offset:transactionId:
 Reads an XOR'd port. More...
 
(int) + realmType
 Gets the REALM type. More...
 
(int) + requestedAddressFamilyType
 Gets the REQUESTED-ADDRESS-FAMILY type. More...
 
(int) + requestedTransportType
 Gets the REQUESTED-TRANSPORT type. More...
 
(int) + reservationTokenType
 Gets the RESERVATION-TOKEN type. More...
 
(int) + softwareType
 Gets the SOFTWARE type. More...
 
(int) + transactionTransmitCounterType
 Gets the comprehension-optional TRANSACTION_TRANSMIT_COUNTER type defined in RFC 7982. More...
 
(int) + unknownAttributesType
 Gets the UNKNOWN-ATTRIBUTES type. More...
 
(int) + useCandidateType
 Gets the USE-CANDIDATE type. More...
 
(int) + usernameType
 Gets the USERNAME type. More...
 
(void) + writeAddressTypeWithBuffer:offset:addressType:
 Writes an address type. More...
 
(int) + xorMappedAddressType
 Gets the XOR-MAPPED-ADDRESS type. More...
 
(int) + xorPeerAddressType
 Gets the XOR-PEER-ADDRESS type. More...
 
(int) + xorRelayedAddressType
 Gets the XOR-RELAYED-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.

Method Documentation

◆ description

- (NSString*) description

Returns a string that represents this instance.

Returns
A string that represents this instance.

◆ fingerprintAttribute

+ (FMLiveSwitchStunFingerprintAttribute*) fingerprintAttribute

Initializes a new instance of the FMLiveSwitchStunFingerprintAttribute class.

◆ getValueLength

- (int) getValueLength

Gets the length of the attribute value.

Implements FMLiveSwitchStunAttribute.

◆ init

- (instancetype) init

Initializes a new instance of the FMLiveSwitchStunFingerprintAttribute class.

Implements FMLiveSwitchStunAttribute.

◆ messageBuffer

- (FMLiveSwitchDataBuffer*) messageBuffer

Gets the message buffer.

◆ readValueFromWithBuffer:offset:messageBuffer:

+ (FMLiveSwitchStunFingerprintAttribute*) readValueFromWithBuffer: (FMLiveSwitchDataBuffer *)  buffer
offset: (int)  offset
messageBuffer: (FMLiveSwitchDataBuffer *)  messageBuffer 

Initializes a new instance of the FMLiveSwitchStunFingerprintAttribute class.

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

◆ setMessageBuffer:

- (void) setMessageBuffer: (FMLiveSwitchDataBuffer *)  value

Sets the message buffer.

◆ typeValue

- (int) typeValue

Gets the type value.

Implements FMLiveSwitchStunAttribute.

◆ writeValueToWithBuffer:offset:

- (void) writeValueToWithBuffer: (FMLiveSwitchDataBuffer *)  buffer
offset: (int)  offset 

Writes the attribute value to a data buffer.

Parameters
bufferThe buffer.
offsetThe offset.

Implements FMLiveSwitchStunAttribute.