Commit 7a135101 authored by Youness Alaoui's avatar Youness Alaoui

Find and document every message attribute/error code and from which RFC/Draft...

Find and document every message attribute/error code and from which RFC/Draft they come from.. Also updated the error-codes strings
parent 72e94d7c
......@@ -56,6 +56,17 @@
typedef struct stun_message_t StunMessage;
/**
* stun_class_t:
* @STUN_REQUEST: A STUN Request message
* @STUN_INDICATION: A STUN indication message
* @STUN_RESPONSE: A STUN Response message
* @STUN_ERROR: A STUN Error message
*
* This enum is used to represent the class of
* a STUN message, as defined in RFC5389
*/
/* Message classes */
typedef enum
{
......@@ -65,59 +76,170 @@ typedef enum
STUN_ERROR=3
} stun_class_t;
/**
* stun_method_t:
* @STUN_BINDING: The Binding method as defined by the RFC5389
* @STUN_SHARED_SECRET: The Shared-Secret method as defined by the RFC3489
* @STUN_ALLOCATE: The Allocate method as defined by the TURN draft 12
* @STUN_SET_ACTIVE_DST: The Set-Active-Destination method as defined by
* the TURN draft 4
* @STUN_REFRESH: The Refresh method as defined by the TURN draft 12
* @STUN_SEND: The Send method as defined by the TURN draft 00
* @STUN_CONNECT: The Connect method as defined by the TURN draft 4
* @STUN_OLD_SET_ACTIVE_DST: The older Set-Active-Destination method as
* defined by the TURN draft 0
* @STUN_IND_SEND: The Send method used in indication messages as defined
* by the TURN draft 12
* @STUN_IND_DATA: The Data method used in indication messages as defined
* by the TURN draft 12
* @STUN_IND_CONNECT_STATUS: The Connect-Status method used in indication
* messages as defined by the TURN draft 4
* @STUN_CREATEPERMISSION: The CreatePermission method as defined by
* the TURN draft 12
* @STUN_CHANNELBIND: The ChannelBind method as defined by the TURN draft 12
*
* This enum is used to represent the method of
* a STUN message, as defined by various RFCs
*/
/* Message methods */
typedef enum
{
STUN_BINDING=0x001, /* RFC5389 */
STUN_OLD_SHARED_SECRET=0x002, /* old RFC3489 */
STUN_ALLOCATE=0x003, /* TURN-09 */
STUN_SHARED_SECRET=0x002, /* old RFC3489 */
STUN_ALLOCATE=0x003, /* TURN-12 */
STUN_SET_ACTIVE_DST=0x004, /* TURN-04 */
STUN_REFRESH=0x004, /* TURN-09 */
STUN_SEND=0x004, /* TURN-09 */
STUN_REFRESH=0x004, /* TURN-12 */
STUN_SEND=0x004, /* TURN-00 */
STUN_CONNECT=0x005, /* TURN-04 */
STUN_OLD_SET_ACTIVE_DST=0x006, /* TURN-00 */
STUN_IND_SEND=0x006, /* TURN-04 */
STUN_IND_DATA=0x007, /* TURN-04 */
STUN_IND_SEND=0x006, /* TURN-12 */
STUN_IND_DATA=0x007, /* TURN-12 */
STUN_IND_CONNECT_STATUS=0x008, /* TURN-04 */
STUN_CHANNELBIND= 0x009 /* TURN-09 */
STUN_CREATEPERMISSION= 0x008, /* TURN-12 */
STUN_CHANNELBIND= 0x009 /* TURN-12 */
} stun_method_t;
/**
* STUN attribute types
* Should be in sync with stun_is_unknown()
* stun_attr_type_t:
*
* @STUN_ATTRIBUTE_MAPPED_ADDRESS: The MAPPED-ADDRESS attribute as defined
* by RFC5389
* @STUN_ATTRIBUTE_RESPONSE_ADDRESS: The RESPONSE-ADDRESS attribute as defined
* by RFC3489
* @STUN_ATTRIBUTE_CHANGE_REQUEST: The CHANGE-REQUEST attribute as defined by
* RFC3489
* @STUN_ATTRIBUTE_SOURCE_ADDRESS: The SOURCE-ADDRESS attribute as defined by
* RFC3489
* @STUN_ATTRIBUTE_CHANGED_ADDRESS: The CHANGED-ADDRESS attribute as defined
* by RFC3489
* @STUN_ATTRIBUTE_USERNAME: The USERNAME attribute as defined by RFC5389
* @STUN_ATTRIBUTE_PASSWORD: The PASSWORD attribute as defined by RFC3489
* @STUN_ATTRIBUTE_MESSAGE_INTEGRITY: The MESSAGE-INTEGRITY attribute as defined
* by RFC5389
* @STUN_ATTRIBUTE_ERROR_CODE: The ERROR-CODE attribute as defined by RFC5389
* @STUN_ATTRIBUTE_UNKNOWN_ATTRIBUTES: The UNKNOWN-ATTRIBUTES attribute as
* defined by RFC5389
* @STUN_ATTRIBUTE_REFLECTED_FROM: The REFLECTED-FROM attribute as defined
* by RFC3489
* @STUN_ATTRIBUTE_CHANNEL_NUMBER: The CHANNEL-NUMBER attribute as defined by
* TURN draft 09 and 12
* @STUN_ATTRIBUTE_LIFETIME: The LIFETIME attribute as defined by TURN
* draft 04, 09 and 12
* @STUN_ATTRIBUTE_MAGIC_COOKIE: The MAGIC-COOKIE attribute as defined by
* the rosenberg-midcom TURN draft 08
* @STUN_ATTRIBUTE_BANDWIDTH: The BANDWIDTH attribute as defined by TURN draft 04
* @STUN_ATTRIBUTE_DESTINATION_ADDRESS: The DESTINATION-ADDRESS attribute as
* defined by the rosenberg-midcom TURN draft 08
* @STUN_ATTRIBUTE_REMOTE_ADDRESS: The REMOTE-ADDRESS attribute as defined by
* TURN draft 04
* @STUN_ATTRIBUTE_PEER_ADDRESS: The PEER-ADDRESS attribute as defined by
* TURN draft 09
* @STUN_ATTRIBUTE_XOR_PEER_ADDRESS: The XOR-PEER-ADDRESS attribute as defined
* by TURN draft 12
* @STUN_ATTRIBUTE_DATA: The DATA attribute as defined by TURN draft 04,
* 09 and 12
* @STUN_ATTRIBUTE_REALM: The REALM attribute as defined by RFC5389
* @STUN_ATTRIBUTE_NONCE: The NONCE attribute as defined by RFC5389
* @STUN_ATTRIBUTE_RELAY_ADDRESS: The RELAY-ADDRESS attribute as defined by
* TURN draft 04
* @STUN_ATTRIBUTE_RELAYED_ADDRESS: The RELAYED-ADDRESS attribute as defined by
* TURN draft 09
* @STUN_ATTRIBUTE_XOR_RELAYED_ADDRESS: The XOR-RELAYED-ADDRESS attribute as
* defined by TURN draft 12
* @STUN_ATTRIBUTE_REQUESTED_ADDRESS_TYPE: The REQUESTED-ADDRESS-TYPE attribute
* as defined by TURN-IPV6 draft 05
* @STUN_ATTRIBUTE_REQUESTED_PORT_PROPS: The REQUESTED-PORT-PROPS attribute
* as defined by TURN draft 04
* @STUN_ATTRIBUTE_REQUESTED_PROPS: The REQUESTED-PROPS attribute as defined
* by TURN draft 09
* @STUN_ATTRIBUTE_EVEN_PORT: The EVEN-PORT attribute as defined by TURN draft 12
* @STUN_ATTRIBUTE_REQUESTED_TRANSPORT: The REQUESTED-TRANSPORT attribute as
* defined by TURN draft 12
* @STUN_ATTRIBUTE_DONT_FRAGMENT: The DONT-FRAGMENT attribute as defined
* by TURN draft 12
* @STUN_ATTRIBUTE_XOR_MAPPED_ADDRESS: The XOR-MAPPED-ADDRESS attribute as
* defined by RFC5389
* @STUN_ATTRIBUTE_TIMER_VAL: The TIMER-VAL attribute as defined by TURN draft 04
* @STUN_ATTRIBUTE_REQUESTED_IP: The REQUESTED-IP attribute as defined by
* TURN draft 04
* @STUN_ATTRIBUTE_RESERVATION_TOKEN: The RESERVATION-TOKEN attribute as defined
* by TURN draft 09 and 12
* @STUN_ATTRIBUTE_CONNECT_STAT: The CONNECT-STAT attribute as defined by TURN
* draft 04
* @STUN_ATTRIBUTE_PRIORITY: The PRIORITY attribute as defined by ICE draft 19
* @STUN_ATTRIBUTE_USE_CANDIDATE: The USE-CANDIDATE attribute as defined by
* ICE draft 19
* @STUN_ATTRIBUTE_OPTIONS: The OPTIONS optional attribute as defined by
* libjingle
* @STUN_ATTRIBUTE_SOFTWARE: The SOFTWARE optional attribute as defined by RFC5389
* @STUN_ATTRIBUTE_ALTERNATE_SERVER: The ALTERNATE-SERVER optional attribute as
* defined by RFC5389
* @STUN_ATTRIBUTE_FINGERPRINT: The FINGERPRINT optional attribute as defined by RFC5389
* @STUN_ATTRIBUTE_ICE_CONTROLLED: The ICE-CONTROLLED optional attribute as
* defined by ICE draft 19
* @STUN_ATTRIBUTE_ICE_CONTROLLING: The ICE-CONTROLLING optional attribute as
* defined by ICE draft 19
*
* Known STUN attribute types as defined by various RFCs and drafts
*/
/* Should be in sync with stun_is_unknown() */
typedef enum
{
/* Mandatory attributes */
/* 0x0000 */ /* reserved */
STUN_ATTRIBUTE_MAPPED_ADDRESS=0x0001, /* RFC5389 */
STUN_ATTRIBUTE_OLD_RESPONSE_ADDRESS=0x0002, /* old RFC3489 */
STUN_ATTRIBUTE_OLD_CHANGE_REQUEST=0x0003, /* old RFC3489 */
STUN_ATTRIBUTE_OLD_SOURCE_ADDRESS=0x0004, /* old RFC3489 */
STUN_ATTRIBUTE_OLD_CHANGED_ADDRESS=0x0005, /* old RFC3489 */
STUN_ATTRIBUTE_RESPONSE_ADDRESS=0x0002, /* old RFC3489 */
STUN_ATTRIBUTE_CHANGE_REQUEST=0x0003, /* old RFC3489 */
STUN_ATTRIBUTE_SOURCE_ADDRESS=0x0004, /* old RFC3489 */
STUN_ATTRIBUTE_CHANGED_ADDRESS=0x0005, /* old RFC3489 */
STUN_ATTRIBUTE_USERNAME=0x0006, /* RFC5389 */
STUN_ATTRIBUTE_OLD_PASSWORD=0x0007, /* old RFC3489 */
STUN_ATTRIBUTE_PASSWORD=0x0007, /* old RFC3489 */
STUN_ATTRIBUTE_MESSAGE_INTEGRITY=0x0008, /* RFC5389 */
STUN_ATTRIBUTE_ERROR_CODE=0x0009, /* RFC5389 */
STUN_ATTRIBUTE_UNKNOWN_ATTRIBUTES=0x000A, /* RFC5389 */
STUN_ATTRIBUTE_OLD_REFLECTED_FROM=0x000B, /* old RFC3489 */
STUN_ATTRIBUTE_CHANNEL_NUMBER=0x000C, /* TURN-09 */
STUN_ATTRIBUTE_LIFETIME=0x000D, /* TURN-04 */
/* 0x000E */ /* reserved */
STUN_ATTRIBUTE_MAGIC_COOKIE=0x000F, /* STUN/TURN magic cookie */
STUN_ATTRIBUTE_REFLECTED_FROM=0x000B, /* old RFC3489 */
STUN_ATTRIBUTE_CHANNEL_NUMBER=0x000C, /* TURN-12 */
STUN_ATTRIBUTE_LIFETIME=0x000D, /* TURN-12 */
/* 0x000E */ /* reserved (was ALTERNATE-SERVER from midcom-TURN 08 */
STUN_ATTRIBUTE_MAGIC_COOKIE=0x000F, /* midcom-TURN 08 */
STUN_ATTRIBUTE_BANDWIDTH=0x0010, /* TURN-04 */
STUN_ATTRIBUTE_DESTINATION_ADDRESS=0x0011, /* TURN jingle */
STUN_ATTRIBUTE_DESTINATION_ADDRESS=0x0011, /* midcom-TURN 08 */
STUN_ATTRIBUTE_REMOTE_ADDRESS=0x0012, /* TURN-04 */
STUN_ATTRIBUTE_PEER_ADDRESS=0x0012, /* TURN-09 */
STUN_ATTRIBUTE_DATA=0x0013, /* TURN-04 */
STUN_ATTRIBUTE_XOR_PEER_ADDRESS=0x0012, /* TURN-12 */
STUN_ATTRIBUTE_DATA=0x0013, /* TURN-12 */
STUN_ATTRIBUTE_REALM=0x0014, /* RFC5389 */
STUN_ATTRIBUTE_NONCE=0x0015, /* RFC5389 */
STUN_ATTRIBUTE_RELAY_ADDRESS=0x0016, /* TURN-04 */
STUN_ATTRIBUTE_RELAYED_ADDRESS=0x0016, /* TURN-09 */
STUN_ATTRIBUTE_REQUESTED_ADDRESS_TYPE=0x0017, /* TURN-IPv6-03 */
STUN_ATTRIBUTE_XOR_RELAYED_ADDRESS=0x0016, /* TURN-12 */
STUN_ATTRIBUTE_REQUESTED_ADDRESS_TYPE=0x0017, /* TURN-IPv6-05 */
STUN_ATTRIBUTE_REQUESTED_PORT_PROPS=0x0018, /* TURN-04 */
STUN_ATTRIBUTE_REQUESTED_TRANSPORT=0x0019, /* TURN-04 */
/* 0x001A */ /* reserved */
STUN_ATTRIBUTE_REQUESTED_PROPS=0x0018, /* TURN-09 */
STUN_ATTRIBUTE_EVEN_PORT=0x0018, /* TURN-12 */
STUN_ATTRIBUTE_REQUESTED_TRANSPORT=0x0019, /* TURN-12 */
STUN_ATTRIBUTE_DONT_FRAGMENT=0x001A, /* TURN-12 */
/* 0x001B */ /* reserved */
/* 0x001C */ /* reserved */
/* 0x001D */ /* reserved */
......@@ -128,12 +250,12 @@ typedef enum
STUN_ATTRIBUTE_REQUESTED_IP=0x0022, /* TURN-04 */
STUN_ATTRIBUTE_RESERVATION_TOKEN=0x0022, /* TURN-09 */
STUN_ATTRIBUTE_CONNECT_STAT=0x0023, /* TURN-04 */
STUN_ATTRIBUTE_PRIORITY=0x0024, /* ICE-18 */
STUN_ATTRIBUTE_USE_CANDIDATE=0x0025, /* ICE-18 */
STUN_ATTRIBUTE_PRIORITY=0x0024, /* ICE-19 */
STUN_ATTRIBUTE_USE_CANDIDATE=0x0025, /* ICE-19 */
/* 0x0026 */ /* reserved */
/* 0x0027 */ /* reserved */
/* 0x0028 */ /* reserved */
STUN_ATTRIBUTE_XOR_INTERNAL_ADDRESS=0x0029, /* wing-nat-control-04 */
/* 0x0029 */ /* reserved */
/* 0x002A-0x7fff */ /* reserved */
/* Optional attributes */
......@@ -141,30 +263,37 @@ typedef enum
STUN_ATTRIBUTE_OPTIONS=0x8001, /* libjingle */
STUN_ATTRIBUTE_SOFTWARE=0x8022, /* RFC5389 */
STUN_ATTRIBUTE_ALTERNATE_SERVER=0x8023, /* RFC5389 */
STUN_ATTRIBUTE_REFRESH_INTERVAL=0x8024, /* wing-nat-control-04 */
/* 0x8024 */ /* reserved */
/* 0x8025 */ /* reserved */
/* 0x8026 */ /* reserved */
/* 0x8027 */ /* reserved */
STUN_ATTRIBUTE_FINGERPRINT=0x8028, /* RFC5389 */
STUN_ATTRIBUTE_ICE_CONTROLLED=0x8029, /* ICE-18 */
STUN_ATTRIBUTE_ICE_CONTROLLING=0x802A, /* ICE-18 */
STUN_ATTRIBUTE_ICE_CONTROLLED=0x8029, /* ICE-19 */
STUN_ATTRIBUTE_ICE_CONTROLLING=0x802A, /* ICE-19 */
/* 0x802B-0xFFFF */ /* reserved */
} stun_attr_type_t;
/**
* STUN_ALL_KNOWN_ATTRIBUTES:
*
* An array containing all the currently known and defined mandatory attributes
* from stun_attr_type_t
*/
/* Should be in sync with stun_attr_type_t */
static const uint16_t STUN_ALL_KNOWN_ATTRIBUTES[] =
{
STUN_ATTRIBUTE_MAPPED_ADDRESS,
STUN_ATTRIBUTE_OLD_RESPONSE_ADDRESS,
STUN_ATTRIBUTE_OLD_CHANGE_REQUEST,
STUN_ATTRIBUTE_OLD_SOURCE_ADDRESS,
STUN_ATTRIBUTE_OLD_CHANGED_ADDRESS,
STUN_ATTRIBUTE_RESPONSE_ADDRESS,
STUN_ATTRIBUTE_CHANGE_REQUEST,
STUN_ATTRIBUTE_SOURCE_ADDRESS,
STUN_ATTRIBUTE_CHANGED_ADDRESS,
STUN_ATTRIBUTE_USERNAME,
STUN_ATTRIBUTE_OLD_PASSWORD,
STUN_ATTRIBUTE_PASSWORD,
STUN_ATTRIBUTE_MESSAGE_INTEGRITY,
STUN_ATTRIBUTE_ERROR_CODE,
STUN_ATTRIBUTE_UNKNOWN_ATTRIBUTES,
STUN_ATTRIBUTE_OLD_REFLECTED_FROM,
STUN_ATTRIBUTE_REFLECTED_FROM,
STUN_ATTRIBUTE_CHANNEL_NUMBER,
STUN_ATTRIBUTE_LIFETIME,
STUN_ATTRIBUTE_MAGIC_COOKIE,
......@@ -172,14 +301,19 @@ static const uint16_t STUN_ALL_KNOWN_ATTRIBUTES[] =
STUN_ATTRIBUTE_DESTINATION_ADDRESS,
STUN_ATTRIBUTE_REMOTE_ADDRESS,
STUN_ATTRIBUTE_PEER_ADDRESS,
STUN_ATTRIBUTE_XOR_PEER_ADDRESS,
STUN_ATTRIBUTE_DATA,
STUN_ATTRIBUTE_REALM,
STUN_ATTRIBUTE_NONCE,
STUN_ATTRIBUTE_RELAY_ADDRESS,
STUN_ATTRIBUTE_RELAYED_ADDRESS,
STUN_ATTRIBUTE_XOR_RELAYED_ADDRESS,
STUN_ATTRIBUTE_REQUESTED_ADDRESS_TYPE,
STUN_ATTRIBUTE_REQUESTED_PORT_PROPS,
STUN_ATTRIBUTE_REQUESTED_PROPS,
STUN_ATTRIBUTE_EVEN_PORT,
STUN_ATTRIBUTE_REQUESTED_TRANSPORT,
STUN_ATTRIBUTE_DONT_FRAGMENT,
STUN_ATTRIBUTE_XOR_MAPPED_ADDRESS,
STUN_ATTRIBUTE_TIMER_VAL,
STUN_ATTRIBUTE_REQUESTED_IP,
......@@ -187,36 +321,81 @@ static const uint16_t STUN_ALL_KNOWN_ATTRIBUTES[] =
STUN_ATTRIBUTE_CONNECT_STAT,
STUN_ATTRIBUTE_PRIORITY,
STUN_ATTRIBUTE_USE_CANDIDATE,
STUN_ATTRIBUTE_XOR_INTERNAL_ADDRESS,
0
};
/**
* stun_transid_t:
* A type that holds a STUN transaction id.
*/
typedef uint8_t stun_transid_t[STUN_MESSAGE_TRANS_ID_LEN];
/**
* STUN error codes
* Should be in sync with stun_strerror()
* stun_error_t:
* @STUN_ERROR_TRY_ALTERNATE: The ERROR-CODE value for the
* "Try Alternate" error as defined in RFC5389
* @STUN_ERROR_BAD_REQUEST: The ERROR-CODE value for the
* "Bad Request" error as defined in RFC5389
* @STUN_ERROR_UNAUTHORIZED: The ERROR-CODE value for the
* "Unauthorized" error as defined in RFC5389
* @STUN_ERROR_UNKNOWN_ATTRIBUTE: The ERROR-CODE value for the
* "Unknown Attribute" error as defined in RFC5389
* @STUN_ERROR_ALLOCATION_MISMATCH:The ERROR-CODE value for the
* "Allocation Mismatch" error as defined in TURN draft 12.
* Equivalent to the "No Binding" error defined in TURN draft 04.
* @STUN_ERROR_STALE_NONCE: The ERROR-CODE value for the
* "Stale Nonce" error as defined in RFC5389
* @STUN_ERROR_ACT_DST_ALREADY: The ERROR-CODE value for the
* "Active Destination Already Set" error as defined in TURN draft 04.
* @STUN_ERROR_UNSUPPORTED_FAMILY: The ERROR-CODE value for the
* "Address Family not Supported" error as defined in TURN IPV6 Draft 05.
* @STUN_ERROR_UNSUPPORTED_TRANSPORT:he ERROR-CODE value for the
* "Unsupported Transport Protocol" error as defined in TURN Draft 12.
* @STUN_ERROR_INVALID_IP: The ERROR-CODE value for the
* "Invalid IP Address" error as defined in TURN draft 04.
* @STUN_ERROR_INVALID_PORT: The ERROR-CODE value for the
* "Invalid Port" error as defined in TURN draft 04.
* @STUN_ERROR_OP_TCP_ONLY: The ERROR-CODE value for the
* "Operation for TCP Only" error as defined in TURN draft 04.
* @STUN_ERROR_CONN_ALREADY: The ERROR-CODE value for the
* "Connection Already Exists" error as defined in TURN draft 04.
* @STUN_ERROR_ALLOCATION_QUOTA_REACHED: The ERROR-CODE value for the
* "Allocation Quota Reached" error as defined in TURN draft 12.
* @STUN_ERROR_ROLE_CONFLICT:The ERROR-CODE value for the
* "Role Conflict" error as defined in ICE draft 19.
* @STUN_ERROR_SERVER_ERROR: The ERROR-CODE value for the
* "Server Error" error as defined in RFC5389
* @STUN_ERROR_SERVER_CAPACITY: The ERROR-CODE value for the
* "Insufficient Capacity" error as defined in TURN draft 04.
* @STUN_ERROR_INSUFFICIENT_CAPACITY: The ERROR-CODE value for the
* "Insufficient Capacity" error as defined in TURN draft 12.
* @STUN_ERROR_MAX: The maximum possible ERROR-CODE value as defined by RFC 5389.
*
* STUN error codes as defined by various RFCs and drafts
*/
/* Should be in sync with stun_strerror() */
typedef enum
{
STUN_ERROR_TRY_ALTERNATE=300, /* RFC5389 */
STUN_ERROR_BAD_REQUEST=400, /* RFC5389 */
STUN_ERROR_UNAUTHORIZED=401, /* RFC5389 */
STUN_ERROR_UNKNOWN_ATTRIBUTE=420, /* RFC5389 */
STUN_ERROR_NO_BINDING=437, /* TURN-04 */
STUN_ERROR_ALLOCATION_MISMATCH=437, /* TURN-12 */
STUN_ERROR_STALE_NONCE=438, /* RFC5389 */
STUN_ERROR_ACT_DST_ALREADY=439, /* TURN-04 */
STUN_ERROR_UNSUPP_FAMILY=440, /* TURN-IPv6-03 */
STUN_ERROR_UNSUPP_TRANSPORT=442, /* TURN-04 */
STUN_ERROR_UNSUPPORTED_FAMILY=440, /* TURN-IPv6-05 */
STUN_ERROR_WRONG_CREDENTIALS=441, /* TURN-12 */
STUN_ERROR_UNSUPPORTED_TRANSPORT=442, /* TURN-12 */
STUN_ERROR_INVALID_IP=443, /* TURN-04 */
STUN_ERROR_INVALID_PORT=444, /* TURN-04 */
STUN_ERROR_OP_TCP_ONLY=445, /* TURN-04 */
STUN_ERROR_CONN_ALREADY=446, /* TURN-04 */
STUN_ERROR_ALLOC_OVER_QUOTA=486, /* TURN-04 */
STUN_ERROR_ROLE_CONFLICT=487, /* ICE-18 */
STUN_ERROR_ALLOCATION_QUOTA_REACHED=486, /* TURN-12 */
STUN_ERROR_ROLE_CONFLICT=487, /* ICE-19 */
STUN_ERROR_SERVER_ERROR=500, /* RFC5389 */
STUN_ERROR_SERVER_CAPACITY=507, /* TURN-04 */
STUN_ERROR_INSUFFICIENT_CAPACITY=508, /* TURN-12 */
STUN_ERROR_MAX=699
} stun_error_t;
......
......@@ -187,7 +187,6 @@ static void bad_responses (void)
uint16_t known_attributes[] = {
STUN_ATTRIBUTE_MAPPED_ADDRESS,
STUN_ATTRIBUTE_XOR_MAPPED_ADDRESS,
STUN_ATTRIBUTE_XOR_INTERNAL_ADDRESS,
STUN_ATTRIBUTE_PRIORITY,
STUN_ATTRIBUTE_USERNAME,
STUN_ATTRIBUTE_MESSAGE_INTEGRITY,
......@@ -265,7 +264,6 @@ static void responses (void)
uint16_t known_attributes[] = {
STUN_ATTRIBUTE_MAPPED_ADDRESS,
STUN_ATTRIBUTE_XOR_MAPPED_ADDRESS,
STUN_ATTRIBUTE_XOR_INTERNAL_ADDRESS,
STUN_ATTRIBUTE_PRIORITY,
STUN_ATTRIBUTE_USERNAME,
STUN_ATTRIBUTE_MESSAGE_INTEGRITY,
......@@ -396,7 +394,6 @@ static void keepalive (void)
uint16_t known_attributes[] = {
STUN_ATTRIBUTE_MAPPED_ADDRESS,
STUN_ATTRIBUTE_XOR_MAPPED_ADDRESS,
STUN_ATTRIBUTE_XOR_INTERNAL_ADDRESS,
STUN_ATTRIBUTE_PRIORITY,
STUN_ATTRIBUTE_USERNAME,
STUN_ATTRIBUTE_MESSAGE_INTEGRITY,
......
......@@ -228,29 +228,22 @@ const char *stun_strerror (stun_error_t code)
{
{ STUN_ERROR_TRY_ALTERNATE, "Try alternate server" },
{ STUN_ERROR_BAD_REQUEST, "Bad request" },
{ STUN_ERROR_UNAUTHORIZED, "Authorization required" },
{ STUN_ERROR_UNKNOWN_ATTRIBUTE, "Unknown attribute" },
/*
{ STUN_STALE_CREDENTIALS, "Authentication expired" },
{ STUN_INTEGRITY_CHECK_FAILURE, "Incorrect username/password" },
{ STUN_MISSING_USERNAME, "Username required" },
{ STUN_USE_TLS, "Secure connection required" },
{ STUN_MISSING_REALM, "Authentication domain required" },
{ STUN_MISSING_NONCE, "Authentication token missing" },
{ STUN_UNKNOWN_USERNAME, "Unknown user name" },
*/
{ STUN_ERROR_NO_BINDING, "Session expired" },
{ STUN_ERROR_STALE_NONCE, "Authentication token expired" },
{ STUN_ERROR_ACT_DST_ALREADY, "Changing remote peer forbidden" },
{ STUN_ERROR_UNSUPP_TRANSPORT, "Unknown transport protocol" },
{ STUN_ERROR_INVALID_IP, "Address unavailable" },
{ STUN_ERROR_INVALID_PORT, "Port unavailable" },
{ STUN_ERROR_OP_TCP_ONLY, "Invalid operation" },
{ STUN_ERROR_CONN_ALREADY, "Connection already established" },
{ STUN_ERROR_ALLOC_OVER_QUOTA, "Quota reached" },
{ STUN_ERROR_UNAUTHORIZED, "Unauthorized" },
{ STUN_ERROR_UNKNOWN_ATTRIBUTE, "Unknown Attribute" },
{ STUN_ERROR_ALLOCATION_MISMATCH, "Allocation Mismatch" },
{ STUN_ERROR_STALE_NONCE, "Stale Nonce" },
{ STUN_ERROR_ACT_DST_ALREADY, "Active Destination Already Set" },
{ STUN_ERROR_UNSUPPORTED_FAMILY, "Address Family not Supported" },
{ STUN_ERROR_UNSUPPORTED_TRANSPORT, "Unsupported Transport Protocol" },
{ STUN_ERROR_INVALID_IP, "Invalid IP Address" },
{ STUN_ERROR_INVALID_PORT, "Invalid Port" },
{ STUN_ERROR_OP_TCP_ONLY, "Operation for TCP Only" },
{ STUN_ERROR_CONN_ALREADY, "Connection Already Exists" },
{ STUN_ERROR_ALLOCATION_QUOTA_REACHED, "Allocation Quota Reached" },
{ STUN_ERROR_ROLE_CONFLICT, "Role conflict" },
{ STUN_ERROR_SERVER_ERROR, "Temporary server error" },
{ STUN_ERROR_SERVER_CAPACITY, "Temporary server congestion" },
{ STUN_ERROR_SERVER_ERROR, "Server Error" },
{ STUN_ERROR_SERVER_CAPACITY, "Insufficient Capacity" },
{ STUN_ERROR_INSUFFICIENT_CAPACITY, "Insufficient Capacity" },
};
const char *str = "Unknown error";
size_t i;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment