Add some more TRACE output for certs.

This commit is contained in:
Adam Ierymenko 2013-10-25 13:43:04 -04:00
parent 1505e8dd50
commit 010616e3ae
3 changed files with 12 additions and 2 deletions

View File

@ -142,6 +142,9 @@ void Network::requestConfiguration()
void Network::addMembershipCertificate(const CertificateOfMembership &cert) void Network::addMembershipCertificate(const CertificateOfMembership &cert)
{ {
if (!cert) // sanity check
return;
Mutex::Lock _l(_lock); Mutex::Lock _l(_lock);
// We go ahead and accept certs provisionally even if _isOpen is true, since // We go ahead and accept certs provisionally even if _isOpen is true, since
@ -149,9 +152,11 @@ void Network::addMembershipCertificate(const CertificateOfMembership &cert)
// These will be purged on clean() for open networks eventually. // These will be purged on clean() for open networks eventually.
CertificateOfMembership &old = _membershipCertificates[cert.issuedTo()]; CertificateOfMembership &old = _membershipCertificates[cert.issuedTo()];
if (cert.timestamp() >= old.timestamp()) if (cert.timestamp() >= old.timestamp()) {
TRACE("got new certificate for %s on network %.16llx",cert.issuedTo().toString().c_str(),cert.networkId());
old = cert; old = cert;
} }
}
bool Network::isAllowed(const Address &peer) const bool Network::isAllowed(const Address &peer) const
{ {
@ -230,6 +235,7 @@ void Network::_pushMembershipCertificate(const Address &peer,bool force,uint64_t
uint64_t &lastPushed = _lastPushedMembershipCertificate[peer]; uint64_t &lastPushed = _lastPushedMembershipCertificate[peer];
if ((force)||((now - lastPushed) > pushTimeout)) { if ((force)||((now - lastPushed) > pushTimeout)) {
lastPushed = now; lastPushed = now;
TRACE("pushing membership cert for %.16llx to %s",(unsigned long long)_id,peer.toString().c_str());
Packet outp(peer,_r->identity.address(),Packet::VERB_NETWORK_MEMBERSHIP_CERTIFICATE); Packet outp(peer,_r->identity.address(),Packet::VERB_NETWORK_MEMBERSHIP_CERTIFICATE);
_config->com().serialize(outp); _config->com().serialize(outp);

View File

@ -322,6 +322,8 @@ public:
} }
/** /**
* Get current network config or return NULL
*
* @return Network configuration -- may be NULL * @return Network configuration -- may be NULL
*/ */
inline SharedPtr<NetworkConfig> config2() const inline SharedPtr<NetworkConfig> config2() const

View File

@ -847,9 +847,11 @@ bool PacketDecoder::_doNETWORK_CONFIG_REFRESH(const RuntimeEnvironment *_r,const
while ((ptr + sizeof(uint64_t)) <= size()) { while ((ptr + sizeof(uint64_t)) <= size()) {
uint64_t nwid = at<uint64_t>(ptr); ptr += sizeof(uint64_t); uint64_t nwid = at<uint64_t>(ptr); ptr += sizeof(uint64_t);
SharedPtr<Network> nw(_r->nc->network(nwid)); SharedPtr<Network> nw(_r->nc->network(nwid));
if ((nw)&&(source() == nw->controller())) // only respond to requests from controller if ((nw)&&(source() == nw->controller())) { // only respond to requests from controller
TRACE("NETWORK_CONFIG_REFRESH from %s, refreshing network %.16llx",source().toString().c_str(),nwid);
nw->requestConfiguration(); nw->requestConfiguration();
} }
}
} catch (std::exception &exc) { } catch (std::exception &exc) {
TRACE("dropped NETWORK_CONFIG_REFRESH from %s(%s): unexpected exception: %s",source().toString().c_str(),_remoteAddress.toString().c_str(),exc.what()); TRACE("dropped NETWORK_CONFIG_REFRESH from %s(%s): unexpected exception: %s",source().toString().c_str(),_remoteAddress.toString().c_str(),exc.what());
} catch ( ... ) { } catch ( ... ) {