|  | Kea 3.1.0
    | 
This class represents Authentication (11) DHCPv6 option. More...
#include <option6_auth.h>
| Public Member Functions | |
| Option6Auth (const uint8_t proto, const uint8_t algo, const uint8_t method, const uint64_t rdm, const std::vector< uint8_t > &info) | |
| Constructor, used for auth options while transmitting. | |
| virtual OptionPtr | clone () const | 
| Copies this option and returns a pointer to the copy. | |
| std::vector< uint8_t > | getAuthInfo () const | 
| Return authentication information. | |
| uint8_t | getHashAlgo () const | 
| Returns hash algorithm type. | |
| uint8_t | getProtocol () const | 
| Returns protocol type. | |
| uint8_t | getReplyDetectionMethod () const | 
| Returns replay detection method type. | |
| uint64_t | getReplyDetectionValue () const | 
| Return replay detection mechanism. | |
| void | pack (isc::util::OutputBuffer &buf, bool check=true) const | 
| Writes option in wire-format to buf, returns pointer to first unused byte after stored option. | |
| void | packHashInput (isc::util::OutputBuffer &buf) const | 
| Writes option in wire-format to buf, for computing hash auth info filled with 0 for a length of 128 bits returns with pointer to first unused byte after stored option. | |
| void | setAuthInfo (const std::vector< uint8_t > &auth_info) | 
| Set authentication information. | |
| void | setHashAlgo (uint8_t algo) | 
| Set hash algorithm type. | |
| void | setProtocol (uint8_t proto) | 
| Set protocol type. | |
| void | setReplyDetectionMethod (uint8_t method) | 
| Set replay detection method type. | |
| void | setReplyDetectionValue (uint64_t value) | 
| Set replay detection method value. | |
| virtual std::string | toText (int indent=0) const | 
| Provides human readable text representation. | |
| virtual void | unpack (OptionBufferConstIter begin, OptionBufferConstIter end) | 
| Parses received buffer. | |
| Public Member Functions inherited from isc::dhcp::Option | |
| Option (const Option &source) | |
| Copy constructor. | |
| Option (Universe u, uint16_t type) | |
| ctor, used for options constructed, usually during transmission | |
| Option (Universe u, uint16_t type, const OptionBuffer &data) | |
| Constructor, used for received options. | |
| Option (Universe u, uint16_t type, OptionBufferConstIter first, OptionBufferConstIter last) | |
| Constructor, used for received options. | |
| virtual | ~Option () | 
| just to force that every option has virtual dtor | |
| void | addOption (OptionPtr opt) | 
| Adds a sub-option. | |
| bool | delOption (uint16_t type) | 
| Attempts to delete first suboption of requested type. | |
| virtual bool | equals (const Option &other) const | 
| Checks if two options are equal. | |
| bool | equals (const OptionPtr &other) const | 
| Checks if options are equal. | |
| virtual const OptionBuffer & | getData () const | 
| Returns pointer to actual data. | |
| std::string | getEncapsulatedSpace () const | 
| Returns the name of the option space encapsulated by this option. | |
| virtual uint16_t | getHeaderLen () const | 
| Returns length of header (2 for v4, 4 for v6) | |
| OptionCollection & | getMutableOptions () | 
| Returns all encapsulated options. | |
| OptionPtr | getOption (uint16_t type) const | 
| Returns shared_ptr to suboption of specific type. | |
| const OptionCollection & | getOptions () const | 
| Returns all encapsulated options. | |
| void | getOptionsCopy (OptionCollection &options_copy) const | 
| Performs deep copy of suboptions. | |
| uint16_t | getType () const | 
| Returns option type (0-255 for DHCPv4, 0-65535 for DHCPv6) | |
| uint16_t | getUint16 () const | 
| Returns content of first word. | |
| uint32_t | getUint32 () const | 
| Returns content of first double word. | |
| uint8_t | getUint8 () const | 
| Returns content of first byte. | |
| Universe | getUniverse () const | 
| returns option universe (V4 or V6) | |
| virtual uint16_t | len () const | 
| Returns length of the complete option (data length + DHCPv4/DHCPv6 option header) | |
| Option & | operator= (const Option &rhs) | 
| Assignment operator. | |
| template<typename InputIterator> | |
| void | setData (InputIterator first, InputIterator last) | 
| Sets content of this option from buffer. | |
| void | setEncapsulatedSpace (const std::string &encapsulated_space) | 
| Sets the name of the option space encapsulated by this option. | |
| void | setUint16 (uint16_t value) | 
| Sets content of this option to a single uint16 value. | |
| void | setUint32 (uint32_t value) | 
| Sets content of this option to a single uint32 value. | |
| void | setUint8 (uint8_t value) | 
| Sets content of this option to a single uint8 value. | |
| virtual std::vector< uint8_t > | toBinary (const bool include_header=false) const | 
| Returns binary representation of the option. | |
| virtual std::string | toHexString (const bool include_header=false) const | 
| Returns string containing hexadecimal representation of option. | |
| virtual std::string | toString () const | 
| Returns string representation of the value. | |
| virtual bool | valid () const | 
| returns if option is valid (e.g. | |
| Static Public Attributes | |
| static const uint8_t | OPTION6_AUTH_MIN_LEN = 11 | 
| static const uint8_t | OPTION6_HASH_MSG_LEN = 16 | 
| static const uint8_t | OPTION6_HDR = 4 | 
| Static Public Attributes inherited from isc::dhcp::Option | |
| static bool | lenient_parsing_ | 
| Governs whether options should be parsed less strictly. | |
| static const size_t | OPTION4_HDR_LEN = 2 | 
| length of the usual DHCPv4 option header (there are exceptions) | |
| static const size_t | OPTION6_HDR_LEN = 4 | 
| length of any DHCPv6 option header | |
| Protected Attributes | |
| uint8_t | algorithm_ | 
| keeps hash algorithm value | |
| std::vector< uint8_t > | auth_info_ | 
| keeps authentication information | |
| uint8_t | protocol_ | 
| keeps protocol type | |
| uint8_t | rdm_method_ | 
| keeps replay detection method type | |
| uint64_t | rdm_value_ | 
| keeps replay detection method value | |
| Protected Attributes inherited from isc::dhcp::Option | |
| OptionBuffer | data_ | 
| contains content of this data | |
| std::string | encapsulated_space_ | 
| Name of the option space being encapsulated by this option. | |
| OptionCollection | options_ | 
| collection for storing suboptions | |
| uint16_t | type_ | 
| option type (0-255 for DHCPv4, 0-65535 for DHCPv6) | |
| Universe | universe_ | 
| option universe (V4 or V6) | |
| Additional Inherited Members | |
| Public Types inherited from isc::dhcp::Option | |
| typedef OptionPtr | Factory(Option::Universe u, uint16_t type, const OptionBuffer &buf) | 
| a factory function prototype | |
| enum | Universe { V4 , V6 } | 
| defines option universe DHCPv4 or DHCPv6  More... | |
| Static Public Member Functions inherited from isc::dhcp::Option | |
| static OptionPtr | create (Universe u, uint16_t type) | 
| Factory function creating an instance of the Option. | |
| static OptionPtr | create (Universe u, uint16_t type, const OptionBuffer &data) | 
| Factory function creating an instance of the Option. | |
| static OptionPtr | factory (Option::Universe u, uint16_t type) | 
| Factory function to create instance of option. | |
| static OptionPtr | factory (Option::Universe u, uint16_t type, const OptionBuffer &buf) | 
| Factory function to create instance of option. | |
| Protected Member Functions inherited from isc::dhcp::Option | |
| void | check () const | 
| A protected method used for option correctness. | |
| template<typename OptionType> | |
| OptionPtr | cloneInternal () const | 
| Copies this option and returns a pointer to the copy. | |
| std::string | headerToText (const int indent=0, const std::string &type_name="") const | 
| Returns option header in the textual format. | |
| void | packHeader (isc::util::OutputBuffer &buf, bool check=true) const | 
| Store option's header in a buffer. | |
| void | packOptions (isc::util::OutputBuffer &buf, bool check=true) const | 
| Store sub options in a buffer. | |
| std::string | suboptionsToText (const int indent=0) const | 
| Returns collection of suboptions in the textual format. | |
| void | unpackOptions (const OptionBuffer &buf) | 
| Builds a collection of sub options from the buffer. | |
This class represents Authentication (11) DHCPv6 option.
For details, see RFC 8415 Section 21.11.
Definition at line 27 of file option6_auth.h.
| isc::dhcp::Option6Auth::Option6Auth | ( | const uint8_t | proto, | 
| const uint8_t | algo, | ||
| const uint8_t | method, | ||
| const uint64_t | rdm, | ||
| const std::vector< uint8_t > & | info ) | 
Constructor, used for auth options while transmitting.
| proto | protocol type | 
| algo | algorithm type | 
| method | remote detection method | 
| rdm | replay detection value | 
| info | authentication info. | 
Definition at line 25 of file option6_auth.cc.
References isc::dhcp::Option::Option(), algorithm_, auth_info_, D6O_AUTH, isc::db::info, protocol_, rdm_method_, rdm_value_, and isc::dhcp::Option::V6.
| 
 | virtual | 
Copies this option and returns a pointer to the copy.
Reimplemented from isc::dhcp::Option.
Definition at line 35 of file option6_auth.cc.
References isc::dhcp::Option::cloneInternal().
| 
 | inline | 
Return authentication information.
Definition at line 125 of file option6_auth.h.
References auth_info_.
| 
 | inline | 
Returns hash algorithm type.
Definition at line 110 of file option6_auth.h.
References algorithm_.
| 
 | inline | 
Returns protocol type.
Definition at line 105 of file option6_auth.h.
References protocol_.
| 
 | inline | 
Returns replay detection method type.
Definition at line 115 of file option6_auth.h.
References rdm_method_.
| 
 | inline | 
Return replay detection mechanism.
Definition at line 120 of file option6_auth.h.
References rdm_value_.
| 
 | virtual | 
Writes option in wire-format to buf, returns pointer to first unused byte after stored option.
| buf | buffer (option will be stored here) | 
| check | if set to false, allows options larger than 255 for v4 | 
Reimplemented from isc::dhcp::Option.
Definition at line 40 of file option6_auth.cc.
References algorithm_, auth_info_, isc::util::OutputBuffer::getCapacity(), isc_throw, OPTION6_AUTH_MIN_LEN, OPTION6_HASH_MSG_LEN, OPTION6_HDR, protocol_, rdm_method_, rdm_value_, isc::dhcp::Option::type_, isc::util::OutputBuffer::writeUint16(), isc::util::OutputBuffer::writeUint64(), and isc::util::OutputBuffer::writeUint8().
| void isc::dhcp::Option6Auth::packHashInput | ( | isc::util::OutputBuffer & | buf | ) | const | 
Writes option in wire-format to buf, for computing hash auth info filled with 0 for a length of 128 bits returns with pointer to first unused byte after stored option.
| buf | buffer (option will be stored here) | 
Definition at line 67 of file option6_auth.cc.
References algorithm_, isc::util::OutputBuffer::getCapacity(), isc_throw, OPTION6_AUTH_MIN_LEN, OPTION6_HASH_MSG_LEN, OPTION6_HDR, protocol_, rdm_method_, rdm_value_, isc::dhcp::Option::type_, isc::util::OutputBuffer::writeUint16(), isc::util::OutputBuffer::writeUint64(), and isc::util::OutputBuffer::writeUint8().
| 
 | inline | 
Set authentication information.
| auth_info | authentication information to be set | 
Definition at line 100 of file option6_auth.h.
References auth_info_.
| 
 | inline | 
Set hash algorithm type.
| algo | hash algorithm type to be set | 
Definition at line 85 of file option6_auth.h.
References algorithm_.
| 
 | inline | 
Set protocol type.
| proto | protocol type to be set | 
Definition at line 80 of file option6_auth.h.
References protocol_.
| 
 | inline | 
Set replay detection method type.
| method | replay detection method to be set | 
Definition at line 90 of file option6_auth.h.
References rdm_method_.
| 
 | inline | 
Set replay detection method value.
| value | replay detection method value to be set | 
Definition at line 95 of file option6_auth.h.
References rdm_value_.
| 
 | virtual | 
Provides human readable text representation.
| indent | number of leading space characters | 
Reimplemented from isc::dhcp::Option.
Definition at line 118 of file option6_auth.cc.
References algorithm_, auth_info_, isc::util::encode::encodeHex(), protocol_, rdm_method_, and rdm_value_.
| 
 | virtual | 
Parses received buffer.
Parses received buffer and returns offset to the first unused byte after parsed option.
| begin | iterator to first byte of option data | 
| end | iterator to end of option data (first byte after option end) | 
Reimplemented from isc::dhcp::Option.
Definition at line 93 of file option6_auth.cc.
References algorithm_, auth_info_, isc_throw, OPTION6_AUTH_MIN_LEN, protocol_, rdm_method_, rdm_value_, isc::util::readUint64(), and isc::dhcp::Option::type_.
| 
 | protected | 
keeps hash algorithm value
Definition at line 132 of file option6_auth.h.
Referenced by Option6Auth(), getHashAlgo(), pack(), packHashInput(), setHashAlgo(), toText(), and unpack().
| 
 | protected | 
keeps authentication information
Definition at line 141 of file option6_auth.h.
Referenced by Option6Auth(), getAuthInfo(), pack(), setAuthInfo(), toText(), and unpack().
| 
 | static | 
Definition at line 30 of file option6_auth.h.
Referenced by pack(), packHashInput(), and unpack().
| 
 | static | 
Definition at line 31 of file option6_auth.h.
Referenced by pack(), and packHashInput().
| 
 | static | 
Definition at line 32 of file option6_auth.h.
Referenced by pack(), and packHashInput().
| 
 | protected | 
keeps protocol type
Definition at line 129 of file option6_auth.h.
Referenced by Option6Auth(), getProtocol(), pack(), packHashInput(), setProtocol(), toText(), and unpack().
| 
 | protected | 
keeps replay detection method type
Definition at line 135 of file option6_auth.h.
Referenced by Option6Auth(), getReplyDetectionMethod(), pack(), packHashInput(), setReplyDetectionMethod(), toText(), and unpack().
| 
 | protected | 
keeps replay detection method value
Definition at line 138 of file option6_auth.h.
Referenced by Option6Auth(), getReplyDetectionValue(), pack(), packHashInput(), setReplyDetectionValue(), toText(), and unpack().