class AuthHandlerBase

Base clase for RIPv2 authentication mechanisms. More...

 
LOGO
 Annotated List  Files  Globals  Hierarchy  Index  Top

Public Methods

Protected Methods


Detailed Description

The AuthHandlerBase class defines the interfaces for RIPv2 authentication handlers. Handlers are responsible for authenticating inbound datagrams and adding authentication data to outbound datagrams.

Error during authentication set an error buffer that clients may query using the error() method.

 ~AuthHandlerBase ()

~AuthHandlerBase

[virtual]

bool  authenticate_inbound (const uint8_t* packet, size_t packet_bytes, const PacketRouteEntry<IPv4>*& entries, uint32_t& n_entries, const IPv4& src_addr, bool new_peer)

authenticate_inbound

[pure virtual]

Inbound authentication method.

Parameters:

packetpointer to first byte of RIP packet.
packet_bytesnumber of bytes in RIP packet.
entries_startoutput variable set to point to first entry in packet. Set to 0 if there are no entries, or on authentication failure.
n_entriesnumber of entries in the packet.
src_addrthe source address of the packet.
new_peertrue if this is a new peer.

Returns: true if packet passes authentication checks, false otherwise.

bool  authenticate_outbound (RipPacket<IPv4>& packet, list<RipPacket<IPv4> *>& auth_packets, size_t& n_routes)

authenticate_outbound

[pure virtual]

Outbound authentication method.

Create a list of authenticated packets (one for each valid authentication key). Note that the original packet is also modified and authenticated with the first valid key.

Parameters:

packetthe RIP packet to authenticate.
auth_packetsa return-by-reference list with the authenticated RIP packets (one for each valid authentication key).
n_routesthe return-by-reference number of routes in the packet.

Returns: true if packet was successfully authenticated, false when no valid keys are present.

uint32_t  head_entries ()

head_entries

[const pure virtual]

Get number of routing entries used by authentication scheme at the head of the RIP packet. 0 for unauthenticated packets, 1 otherwise.

uint32_t  max_routing_entries ()

max_routing_entries

[const pure virtual]

Get maximum number of non-authentication scheme use routing entries in a RIP packet.

const char*  name ()

name

[const pure virtual]

Get name of authentication scheme.

const string&  error ()

error

[const]

Get textual description of last error.

inline void  reset_error ()

reset_error

[protected]

Reset textual description of last error.

inline void  set_error (const string& err)

set_error

[protected]

Set textual description of latest error.


Generated by: pavlin on possum.icir.org on Thu Mar 9 04:43:53 2006, using kdoc $.