X-Git-Url: https://git.novaco.in/?a=blobdiff_plain;f=src%2Falert.cpp;h=ea2bc570495073155f5adfc0cba93c570b581603;hb=5528054462b3028bf64e899869f718b50e73fc32;hp=a1dc27a662e0bc08581a7e9df059412b56e8d842;hpb=40b1d4e9e164d65458c39186bd38b7c2610a5240;p=novacoin.git diff --git a/src/alert.cpp b/src/alert.cpp index a1dc27a..ea2bc57 100644 --- a/src/alert.cpp +++ b/src/alert.cpp @@ -53,8 +53,8 @@ std::string CUnsignedAlert::ToString() const return strprintf( "CAlert(\n" " nVersion = %d\n" - " nRelayUntil = %"PRI64d"\n" - " nExpiration = %"PRI64d"\n" + " nRelayUntil = %" PRId64 "\n" + " nExpiration = %" PRId64 "\n" " nID = %d\n" " nCancel = %d\n" " setCancel = %s\n" @@ -79,11 +79,6 @@ std::string CUnsignedAlert::ToString() const strStatusBar.c_str()); } -void CUnsignedAlert::print() const -{ - printf("%s", ToString().c_str()); -} - void CAlert::SetNull() { CUnsignedAlert::SetNull(); @@ -130,6 +125,9 @@ bool CAlert::RelayTo(CNode* pnode) const { if (!IsInEffect()) return false; + // don't relay to nodes which haven't sent their version message + if (pnode->nVersion == 0) + return false; // returns true if wasn't already contained in the set if (pnode->setKnown.insert(GetHash()).second) { @@ -146,9 +144,8 @@ bool CAlert::RelayTo(CNode* pnode) const bool CAlert::CheckSignature() const { - CKey key; - if (!key.SetPubKey(ParseHex(fTestNet ? pszTestKey : pszMainKey))) - return error("CAlert::CheckSignature() : SetPubKey failed"); + CPubKey key; + key.Set(ParseHex(fTestNet ? pszTestKey : pszMainKey)); if (!key.Verify(Hash(vchMsg.begin(), vchMsg.end()), vchSig)) return error("CAlert::CheckSignature() : verify signature failed");