openikev2::Payload_NOTIFY Class Reference

This class represents a NOTIFY Payload. More...

#include <payload_notify.h>

Inheritance diagram for openikev2::Payload_NOTIFY:

Inheritance graph
[legend]
List of all members.

Public Types

enum  NOTIFY_TYPE {
  UNSUPPORTED_CRITICAL_PAYLOAD = 1, INVALID_IKE_SPI = 4, INVALID_MAJOR_VERSION = 5, INVALID_SYNTAX = 7,
  INVALID_MESSAGE_ID = 9, INVALID_SPI = 11, NO_PROPOSAL_CHOSEN = 14, INVALID_KE_PAYLOAD = 17,
  AUTHENTICATION_FAILED = 24, SINGLE_PAIR_REQUIRED = 34, NO_ADDITIONAL_SAS = 35, INTERNAL_ADDRESS_FAILURE = 36,
  FAILED_CP_REQUIRED = 37, TS_UNACCEPTABLE = 38, INVALID_SELECTORS = 39, INITIAL_CONTACT = 16384,
  SET_WINDOW_SIZE = 16385, ADDITIONAL_TS_POSSIBLE = 16386, IPCOMP_SUPPORTED = 16387, NAT_DETECTION_SOURCE_IP = 16388,
  NAT_DETECTION_DESTINATION_IP = 16389, COOKIE = 16390, USE_TRANSPORT_MODE = 16391, HTTP_CERT_LOOKUP_SUPPORTED = 16392,
  REKEY_SA = 16393, ESP_TFC_PADDING_NOT_SUPPORTED = 16394, NON_FIRST_FRAGMENT_ALSO = 16395
}
 Notify Types. More...

Public Member Functions

 Payload_NOTIFY (NOTIFY_TYPE notification_type, Enums::PROTOCOL_ID protocol_id, auto_ptr< ByteArray > spi_value, auto_ptr< ByteArray > notification_data)
 Creates a new Payload_NOTIFY setting its parameters.
 Payload_NOTIFY (NOTIFY_TYPE notification_type, Enums::PROTOCOL_ID protocol_id)
 Creates a new Payload_NOTIFY setting its parameters when no SPI and DATA is available.
 Payload_NOTIFY (const Payload_NOTIFY &other)
 Creates a new Payload_NOTIFY cloning another one.
 Payload_NOTIFY (ByteBuffer &byte_buffer)
 Creates a new Payload_NOTIFY based on its binary representation.
virtual bool isError ()
 Indicates if the type of this Payload_NOTIFY is an error notify.
virtual void getBinaryRepresentation (ByteBuffer &byte_buffer) const
 Appends the binary representation of the Payload at the end of the buffer, without the fixed header.
virtual string toStringTab (uint8_t tabs) const
 Construct a textual representation of the object, preceded of a num of tabs of size TAB_SIZE.
virtual auto_ptr< Payloadclone () const
 Cets a clone of this payload.

Static Public Member Functions

static string NOTIFY_TYPE_STR (NOTIFY_TYPE notify_type)
 Translate the enumeration values to String.

Public Attributes

Enums::PROTOCOL_ID protocol_id
 Protocol type of the SA being notificated.
NOTIFY_TYPE notification_type
 Notification type.
auto_ptr< ByteArrayspi_value
 SPI of the notificated SA.
auto_ptr< ByteArraynotification_data
 Information or error data transmitted.

Detailed Description

This class represents a NOTIFY Payload.

Author:
Alejandro Perez Mendez, Pedro J. Fernandez Ruiz <alejandro_perez@dif.um.es, pedroj.fernandez@dif.um.es>


Member Enumeration Documentation

enum openikev2::Payload_NOTIFY::NOTIFY_TYPE

Notify Types.

Enumerator:
UNSUPPORTED_CRITICAL_PAYLOAD  Unsupported critical payload.
INVALID_IKE_SPI  Invalid IKE SPI.
INVALID_MAJOR_VERSION  Invalid Major Version.
INVALID_SYNTAX  Invalid syntax.
INVALID_MESSAGE_ID  Invalid message ID.
INVALID_SPI  Invalid SPI.
NO_PROPOSAL_CHOSEN  No proposal chosen.
INVALID_KE_PAYLOAD  Invalid KE payload.
AUTHENTICATION_FAILED  Authentication failed.
SINGLE_PAIR_REQUIRED  Single pair required.
NO_ADDITIONAL_SAS  No additional SAs.
INTERNAL_ADDRESS_FAILURE  Internal address failure.
FAILED_CP_REQUIRED  Failed Configuration Payload required.
TS_UNACCEPTABLE  Traffic selector unacceptable.
INVALID_SELECTORS  Invalid selectors.
INITIAL_CONTACT  Initial contact.
SET_WINDOW_SIZE  Set window size.
ADDITIONAL_TS_POSSIBLE  Additional Traffic selector possible.
IPCOMP_SUPPORTED  IPcomp supported.
NAT_DETECTION_SOURCE_IP  NAT detection source ip.
NAT_DETECTION_DESTINATION_IP  NAT detection destination ip.
COOKIE  Cookie.
USE_TRANSPORT_MODE  Use transport mode.
HTTP_CERT_LOOKUP_SUPPORTED  HTTP certificate lookup supported.
REKEY_SA  Rekey SA.
ESP_TFC_PADDING_NOT_SUPPORTED  ESP TFC padding not supported.
NON_FIRST_FRAGMENT_ALSO  Non first fragment also.


Constructor & Destructor Documentation

openikev2::Payload_NOTIFY::Payload_NOTIFY ( NOTIFY_TYPE  notification_type,
Enums::PROTOCOL_ID  protocol_id,
auto_ptr< ByteArray spi_value,
auto_ptr< ByteArray notification_data 
)

Creates a new Payload_NOTIFY setting its parameters.

Parameters:
notification_type Notify type.
protocol_id Protocol type.
spi_value SPI value (NULL when not applicable)
notification_data Notification data (NULL when not applicable)

openikev2::Payload_NOTIFY::Payload_NOTIFY ( NOTIFY_TYPE  notification_type,
Enums::PROTOCOL_ID  protocol_id 
)

Creates a new Payload_NOTIFY setting its parameters when no SPI and DATA is available.

Parameters:
notification_type Notify type.
protocol_id Protocol type.

openikev2::Payload_NOTIFY::Payload_NOTIFY ( const Payload_NOTIFY other  ) 

Creates a new Payload_NOTIFY cloning another one.

Parameters:
other Other Payload_NOTIFY to be cloned.

openikev2::Payload_NOTIFY::Payload_NOTIFY ( ByteBuffer byte_buffer  ) 

Creates a new Payload_NOTIFY based on its binary representation.

Parameters:
byte_buffer Buffer with its read pointer at the "payload length" field


Member Function Documentation

bool openikev2::Payload_NOTIFY::isError (  )  [virtual]

Indicates if the type of this Payload_NOTIFY is an error notify.

Returns:
True if it is an error notify. False otherwise.

string openikev2::Payload_NOTIFY::NOTIFY_TYPE_STR ( NOTIFY_TYPE  notify_type  )  [static]

Translate the enumeration values to String.

Parameters:
notify_type Enumeration value
Returns:
String with the notify type

void openikev2::Payload_NOTIFY::getBinaryRepresentation ( ByteBuffer byte_buffer  )  const [virtual]

Appends the binary representation of the Payload at the end of the buffer, without the fixed header.

Parameters:
byte_buffer Byte buffer where append the binary representation

Implements openikev2::Payload.

string openikev2::Payload_NOTIFY::toStringTab ( uint8_t  tabs  )  const [virtual]

Construct a textual representation of the object, preceded of a num of tabs of size TAB_SIZE.

Parameters:
tabs Num of tabs preceding the textual representation.
Returns:
Textual tabulated represetation of the object.

Implements openikev2::Payload.

auto_ptr< Payload > openikev2::Payload_NOTIFY::clone (  )  const [virtual]

Cets a clone of this payload.

Returns:
Clone of the payload.

Implements openikev2::Payload.


Member Data Documentation

Enums::PROTOCOL_ID openikev2::Payload_NOTIFY::protocol_id

Protocol type of the SA being notificated.

If not applicable, then PROTO_NONE


Generated on Fri Jul 27 11:04:55 2007 for libopenikev2 by  doxygen 1.5.1