Dibbler - a portable DHCPv6  1.0.2RC1
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
TSrvMsgReply Class Reference

#include <SrvMsgReply.h>

+ Inheritance diagram for TSrvMsgReply:
+ Collaboration diagram for TSrvMsgReply:

Public Member Functions

 TSrvMsgReply (SPtr< TSrvMsgConfirm > question)
 TSrvMsgReply (SPtr< TSrvMsgDecline > question)
 TSrvMsgReply (SPtr< TSrvMsgRebind > question)
 TSrvMsgReply (SPtr< TSrvMsgRelease > question)
 TSrvMsgReply (SPtr< TSrvMsgRenew > question)
 TSrvMsgReply (SPtr< TSrvMsgRequest > question)
 TSrvMsgReply (SPtr< TSrvMsgSolicit > question)
 ctor used for generating REPLY message as SOLICIT response (in rapid-commit mode)
 TSrvMsgReply (SPtr< TSrvMsgInfRequest > question)
 TSrvMsgReply (SPtr< TSrvMsg > msg, TOptList &options)
 ~TSrvMsgReply ()
bool check ()
void doDuties ()
std::string getName () const
unsigned long getTimeout ()
- Public Member Functions inherited from TSrvMsg
 TSrvMsg (int iface, SPtr< TIPv6Addr > addr, char *buf, int bufSize)
 TSrvMsg (int iface, SPtr< TIPv6Addr > addr, int msgType, long transID)
void addRelayInfo (SPtr< TIPv6Addr > linkAddr, SPtr< TIPv6Addr > peerAddr, int hop, const TOptList &echoList)
void appendAuthenticationOption (SPtr< TDUID > duid)
bool appendMandatoryOptions (SPtr< TOptOptionRequest > oro, bool includeClientID=true)
void appendReconfigureKey ()
bool appendRequestedOptions (SPtr< TDUID > duid, SPtr< TIPv6Addr > addr, int iface, SPtr< TOptOptionRequest > reqOpt)
void appendStatusCode ()
bool appendVendorSpec (SPtr< TDUID > duid, int iface, int vendor, SPtr< TOptOptionRequest > reqOpt)
void clearRelayInfo ()
 clears relay information (used in testing only)
void copyAAASPI (SPtr< TSrvMsg > q)
bool copyClientID (SPtr< TMsg > donor)
void copyRelayInfo (SPtr< TSrvMsg > q)
void copyRemoteID (SPtr< TSrvMsg > q)
SPtr< TDUIDgetClientDUID ()
SPtr< TIPv6AddrgetClientPeer ()
int getPhysicalIface () const
 returns physical interface index
SPtr< TOptVendorDatagetRemoteID ()
void processOptions (SPtr< TSrvMsg > clientMsg, bool quiet)
bool releaseAll (bool quiet)
 Releases all addresses and prefixes specified in this message.
void send (int dstPort=0)
void setMsgType (uint8_t type)
 sets message type (used in testing only)
void setPhysicalIface (int iface)
 sets physical interface index
void setRemoteID (SPtr< TOptVendorData > remoteID)
std::string showRequestedOptions (SPtr< TOptOptionRequest > oro)
bool validateReplayDetection ()
- Public Member Functions inherited from TMsg
 TMsg (int iface, SPtr< TIPv6Addr > addr, int msgType)
 TMsg (int iface, SPtr< TIPv6Addr > addr, int msgType, long transID)
 TMsg (int iface, SPtr< TIPv6Addr > addr, char *&buf, int &bufSize)
virtual ~TMsg ()
void addOption (SPtr< TOpt > opt)
void calculateDigests (char *buffer, size_t len)
int countOption ()
void firstOption ()
TKey getAuthKey ()
SPtr< TOptDUIDgetClientID () const
 returns client-id option (if present)
int getIface ()
SPtr< TIPv6AddrgetLocalAddr ()
void * getNotifyScriptParams ()
SPtr< TOptgetOption (int type) const
virtual SPtr< TOptgetOption ()
TOptListgetOptLst ()
SPtr< TOptOptionRequestgetORO () const
 returns ORO (if present)
SPtr< TIPv6AddrgetRemoteAddr ()
SPtr< TOptDUIDgetServerID () const
 returns server-id option (if present)
virtual int getSize ()
uint32_t getSPI ()
long getTransID ()
long getType ()
bool isDone ()
bool isDone (bool done)
bool loadAuthKey ()
void setAuthDigestPtr (char *ptr, unsigned len)
void setAuthKey (const TKey &key)
void setLocalAddr (SPtr< TIPv6Addr > myaddr)
void setSPI (uint32_t val)
virtual int storeSelf (char *buffer)
bool validateAuthInfo (char *buf, int bufSize, AuthProtocols proto, const DigestTypesLst &acceptedDigestTypes)

Private Member Functions

EAddrStatus confirmAddress (TIAType type, SPtr< TIPv6Addr > addr)
bool handleConfirmOptions (TOptList &options)
bool handleDeclineOptions (TOptList &options)
bool handleInfRequestOptions (TOptList &options)
bool handleRebindOptions (TOptList &options)
bool handleReleaseOptions (TOptList &options)
bool handleRenewOptions (TOptList &options)
bool handleRequestOptions (TOptList &options)
bool handleSolicitOptions (TOptList &options)

Additional Inherited Members

- Public Attributes inherited from TSrvMsg
std::vector< RelayInfoRelayInfo_
 Relay information.
- Protected Member Functions inherited from TSrvMsg
SPtr< TSrvOptFQDNaddFQDN (int iface, SPtr< TSrvOptFQDN > requestFQDN, SPtr< TDUID > clntDuid, SPtr< TIPv6Addr > clntAddr, std::string hint, bool doRealUpdate)
bool check (bool clntIDmandatory, bool srvIDmandatory)
void delFQDN (SPtr< TSrvCfgIface > cfgIface, SPtr< TAddrIA > ptrIA, SPtr< TFQDN > fqdn)
void getORO (SPtr< TMsg > clientMessage)
void handleDefaultOption (SPtr< TOpt > ptrOpt)
void processFQDN (SPtr< TSrvMsg > clientMsg, SPtr< TSrvOptFQDN > q)
void processIA_NA (SPtr< TSrvMsg > clientMsg, SPtr< TSrvOptIA_NA > q)
void processIA_PD (SPtr< TSrvMsg > clientMsg, SPtr< TSrvOptIA_PD > q)
void processIA_TA (SPtr< TSrvMsg > clientMsg, SPtr< TSrvOptTA > q)
void setDefaults ()
int storeSelfRelay (char *buf, uint8_t relayLevel, ESrvIfaceIdOrder order)
- Protected Attributes inherited from TSrvMsg
SPtr< TDUIDClientDUID
unsigned long FirstTimeStamp_
uint8_t forceMsgType_
 used in tests only. If non-zero, send message type is set to that type
unsigned long MRT_
SPtr< TOptOptionRequestORO
int physicalIface_
 physical interface from/to which message was received/should be sent
SPtr< TOptVendorDataRemoteID

Constructor & Destructor Documentation

TSrvMsgReply::TSrvMsgReply ( SPtr< TSrvMsgConfirm confirm)

this constructor is used to create REPLY message as a response for CONFIRM message

Parameters
confirm
TSrvMsgReply::TSrvMsgReply ( SPtr< TSrvMsgDecline question)
TSrvMsgReply::TSrvMsgReply ( SPtr< TSrvMsgRebind rebind)

this constructor is used to create REPLY message as a response for REBIND message

Parameters
rebind
TSrvMsgReply::TSrvMsgReply ( SPtr< TSrvMsgRelease release)

this constructor is used to create REPLY message as a response for RELEASE message

Parameters
release
Todo:
When the server receives a Release message via unicast from a client to which the server has not sent a unicast option, the server discards the Release message and responds with a Reply message containing a Status Code option with value UseMulticast, a Server Identifier option containing the server's DUID, the Client Identifier option from the client message, and no other options.
TSrvMsgReply::TSrvMsgReply ( SPtr< TSrvMsgRenew question)
TSrvMsgReply::TSrvMsgReply ( SPtr< TSrvMsgRequest request)

this constructor is used to construct REPLY for REQUEST message

Parameters
request
TSrvMsgReply::TSrvMsgReply ( SPtr< TSrvMsgSolicit solicit)

ctor used for generating REPLY message as SOLICIT response (in rapid-commit mode)

Parameters
solicitclient's message
TSrvMsgReply::TSrvMsgReply ( SPtr< TSrvMsgInfRequest question)
TSrvMsgReply::TSrvMsgReply ( SPtr< TSrvMsg msg,
TOptList options 
)
TSrvMsgReply::~TSrvMsgReply ( )

Member Function Documentation

bool TSrvMsgReply::check ( )
virtual

Implements TSrvMsg.

EAddrStatus TSrvMsgReply::confirmAddress ( TIAType  type,
SPtr< TIPv6Addr addr 
)
private
void TSrvMsgReply::doDuties ( )

Reimplemented from TSrvMsg.

string TSrvMsgReply::getName ( void  ) const
virtual

Implements TMsg.

unsigned long TSrvMsgReply::getTimeout ( )
virtual

Reimplemented from TSrvMsg.

bool TSrvMsgReply::handleConfirmOptions ( TOptList options)
private
bool TSrvMsgReply::handleDeclineOptions ( TOptList options)
private
bool TSrvMsgReply::handleInfRequestOptions ( TOptList options)
private
bool TSrvMsgReply::handleRebindOptions ( TOptList options)
private
bool TSrvMsgReply::handleReleaseOptions ( TOptList options)
private
bool TSrvMsgReply::handleRenewOptions ( TOptList options)
private
bool TSrvMsgReply::handleRequestOptions ( TOptList options)
private
bool TSrvMsgReply::handleSolicitOptions ( TOptList options)
private

The documentation for this class was generated from the following files: