Main Page   Namespace List   Class Hierarchy   Alphabetical List   Compound List   File List   Namespace Members   Compound Members   Related Pages  

CODEX_APSS::MessageVerifier Class Reference

Verify the correctness of APSS protocol messages. More...

#include <MessageVerifier.h>

Inheritance diagram for CODEX_APSS::MessageVerifier:

Inheritance graph
[legend]
Collaboration diagram for CODEX_APSS::MessageVerifier:

Collaboration graph
[legend]
List of all members.

Public Methods

 MessageVerifier (CODEX_Events::DeadPileType &deadPile, CODEX_Events::QType &eventQueue, RoutedMessageHandler *destination, CODEX_Server::ServerResponseHandler *responder)
 Create a MessageVerifier.

virtual ~MessageVerifier ()
 Virtual destructor.

bool handler (RoutedMessageEvent< SignedInitMsg > &event)
bool handler (RoutedMessageEvent< SignedEstablishMsg > &event)
bool handler (RoutedMessageEvent< SignedComputeMsg > &event)
bool handler (RoutedMessageEvent< SignedRecoverMsg > &event)
 Abstract handler for a signed RecoverMsg.

bool handler (RoutedMessageEvent< SignedFinishedMsg > &event)
 Abstract handler for a signed FinishedMsg.


Detailed Description

Verify the correctness of APSS protocol messages.

This RoutedMessageHandler checks signatures on requests, verifies evidence, and performs any other needed tasks, such as caching requests in StateInfo's logs. If successful, it re-routes the message event to its successor.

Definition at line 33 of file MessageVerifier.h.


Member Function Documentation

bool MessageVerifier::handler RoutedMessageEvent< SignedComputeMsg > &    event [virtual]
 

Todo:
Add logging for inconsistent messages.

Implements CODEX_APSS::RoutedMessageHandler.

Definition at line 357 of file MessageVerifier.cc.

References CODEX_APSS::StateInfo::addComputeMsg(), CODEX_APSS::StateInfo::computeRecord(), CODEX_APSS::ComputeMsg::coordinator(), CODEX_APSS::Message::digest(), CODEX_APSS::StateInfo::domain(), CODEX_Quorum::Message::fill(), CODEX_Server::ServerState::hashFunc(), CODEX_VSS::SubshareLabel< LabelType >::id(), CODEX_ASN1::Base::initialized(), CODEX_Server::ServerState::instance(), CODEX_VSS::SubshareLabel< LabelType >::label(), CODEX_APSS::RoutedMessageEvent< MT >::message(), CODEX_Server::ServerState::nMID, CODEX_Server::ServerState::nSID, CODEX_Server::ServerState::publicKey(), CODEX_APSS::ComputeRecord::request(), CODEX_APSS::RoutedMessageEvent< MT >::reRoute(), CODEX_APSS::ComputeRecord::response(), CODEX_Events::Activity::sendEvent(), CODEX_APSS::StateInfo::sendFinished(), CODEX_Server::RoutingInfo::seqNum(), CODEX_Server::RoutingInfo::server(), CODEX_Events::EventBase::source(), CODEX_APSS::ComputeMsg::subshareLabel(), CODEX_ASN1::Integer::value(), CODEX_Ciphers::RSAPublicKey::verifySignature(), and CODEX_APSS::StateInfo::version().

bool MessageVerifier::handler RoutedMessageEvent< SignedEstablishMsg > &    event [virtual]
 

Todo:
Add logging for inconsistent messages.

Implements CODEX_APSS::RoutedMessageHandler.

Definition at line 188 of file MessageVerifier.cc.

References CODEX_APSS::StateInfo::addEstablishMsg(), CODEX_VSS::SecretWitness< ShareType, OneWay >::args(), CODEX_VSS::SubshareLabel< LabelType >::check(), CODEX_APSS::Message::digest(), CODEX_APSS::StateInfo::domain(), CODEX_APSS::EstablishMsg::establisher(), CODEX_APSS::StateInfo::establishRecord(), CODEX_Quorum::Message::fill(), CODEX_Server::ServerState::hashFunc(), CODEX_VSS::SubshareLabel< LabelType >::id(), CODEX_ASN1::Base::initialized(), CODEX_Server::ServerState::instance(), CODEX_VSS::SubshareLabel< LabelType >::label(), CODEX_APSS::RoutedMessageEvent< MT >::message(), CODEX_Server::ServerState::nMID, CODEX_Server::ServerState::nSID, CODEX_Server::ServerState::publicKey(), CODEX_APSS::EstablishRecord::request(), CODEX_APSS::RoutedMessageEvent< MT >::reRoute(), CODEX_APSS::EstablishRecord::response(), CODEX_Events::Activity::sendEvent(), CODEX_APSS::StateInfo::sendFinished(), CODEX_Server::RoutingInfo::seqNum(), CODEX_Server::RoutingInfo::server(), CODEX_APSS::EstablishMsg::shares(), CODEX_Events::EventBase::source(), CODEX_APSS::EstablishMsg::sublabel(), CODEX_ASN1::Integer::value(), CODEX_VSS::SubshareLabel< LabelType >::verify(), CODEX_Ciphers::RSAPublicKey::verifySignature(), CODEX_APSS::StateInfo::version(), CODEX_APSS::EstablishMsg::version(), CODEX_VSS::SecretWitness< ShareType, OneWay >::witness(), and CODEX_APSS::StateInfo::witness().

bool MessageVerifier::handler RoutedMessageEvent< SignedInitMsg > &    event [virtual]
 

Todo:
Add logging for inconsistent messages.

Implements CODEX_APSS::RoutedMessageHandler.

Definition at line 46 of file MessageVerifier.cc.

References CODEX_APSS::StateInfo::addInitMsg(), CODEX_APSS::InitMsg::coordinator(), CODEX_APSS::Message::digest(), CODEX_APSS::StateInfo::domain(), CODEX_Quorum::Message::fill(), CODEX_Server::ServerState::hashFunc(), CODEX_ASN1::Base::initialized(), CODEX_APSS::StateInfo::initRecord(), CODEX_Server::ServerState::instance(), CODEX_APSS::InitMsg::label(), CODEX_APSS::RoutedMessageEvent< MT >::message(), CODEX_Server::ServerState::nMID, CODEX_Server::ServerState::nSID, CODEX_Server::ServerState::publicKey(), CODEX_APSS::InitRecord::request(), CODEX_APSS::RoutedMessageEvent< MT >::reRoute(), CODEX_APSS::InitRecord::response(), CODEX_Events::Activity::sendEvent(), CODEX_APSS::StateInfo::sendFinished(), CODEX_Server::RoutingInfo::seqNum(), CODEX_Server::RoutingInfo::server(), CODEX_Events::EventBase::source(), CODEX_ASN1::Integer::value(), CODEX_Ciphers::RSAPublicKey::verifySignature(), CODEX_APSS::StateInfo::version(), and CODEX_APSS::InitMsg::version().


The documentation for this class was generated from the following files:
Generated on Wed Jun 2 16:33:01 2004 for COrnell Data EXchange (CODEX) by doxygen1.2.18