diff options
author | Adam Ierymenko <adam.ierymenko@gmail.com> | 2013-10-25 13:43:04 -0400 |
---|---|---|
committer | Adam Ierymenko <adam.ierymenko@gmail.com> | 2013-10-25 13:43:04 -0400 |
commit | 010616e3ae2edcf294b0d4b8f0679fd94c6a1f2a (patch) | |
tree | 1134fbef2920a59993327ab7d8bc9a9abad122f1 /node | |
parent | 1505e8dd504711f38e5d975022c3c5366e87791a (diff) | |
download | infinitytier-010616e3ae2edcf294b0d4b8f0679fd94c6a1f2a.tar.gz infinitytier-010616e3ae2edcf294b0d4b8f0679fd94c6a1f2a.zip |
Add some more TRACE output for certs.
Diffstat (limited to 'node')
-rw-r--r-- | node/Network.cpp | 8 | ||||
-rw-r--r-- | node/Network.hpp | 2 | ||||
-rw-r--r-- | node/PacketDecoder.cpp | 4 |
3 files changed, 12 insertions, 2 deletions
diff --git a/node/Network.cpp b/node/Network.cpp index 43cd83a2..ad85cd77 100644 --- a/node/Network.cpp +++ b/node/Network.cpp @@ -142,6 +142,9 @@ void Network::requestConfiguration() void Network::addMembershipCertificate(const CertificateOfMembership &cert) { + if (!cert) // sanity check + return; + Mutex::Lock _l(_lock); // We go ahead and accept certs provisionally even if _isOpen is true, since @@ -149,8 +152,10 @@ void Network::addMembershipCertificate(const CertificateOfMembership &cert) // These will be purged on clean() for open networks eventually. 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; + } } 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]; if ((force)||((now - lastPushed) > pushTimeout)) { 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); _config->com().serialize(outp); diff --git a/node/Network.hpp b/node/Network.hpp index ecee77c1..696aa84b 100644 --- a/node/Network.hpp +++ b/node/Network.hpp @@ -322,6 +322,8 @@ public: } /** + * Get current network config or return NULL + * * @return Network configuration -- may be NULL */ inline SharedPtr<NetworkConfig> config2() const diff --git a/node/PacketDecoder.cpp b/node/PacketDecoder.cpp index 9f348bed..43ac8c29 100644 --- a/node/PacketDecoder.cpp +++ b/node/PacketDecoder.cpp @@ -847,8 +847,10 @@ bool PacketDecoder::_doNETWORK_CONFIG_REFRESH(const RuntimeEnvironment *_r,const while ((ptr + sizeof(uint64_t)) <= size()) { uint64_t nwid = at<uint64_t>(ptr); ptr += sizeof(uint64_t); 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(); + } } } 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()); |