diff --git a/src/securedht.cpp b/src/securedht.cpp index e6ebe0c301874704cd4952aed7ab21b5b45bb7e1..55a7bd8a0aeabd3202e4c12164f3b4c97e2794c7 100644 --- a/src/securedht.cpp +++ b/src/securedht.cpp @@ -79,13 +79,16 @@ SecureDht::secureType(ValueType&& type) type.editPolicy = [this,type](InfoHash id, const Sp<Value>& o, Sp<Value>& n, const InfoHash& nid, const SockAddr& a) { if (not o->isSigned()) return type.editPolicy(id, o, n, nid, a); - if (o->owner != n->owner or not n->isSigned()) { + if (*o->owner != *n->owner or not n->isSigned()) { if (logger_) - logger_->w("Edition forbidden: signature verification failed."); + logger_->w("Edition forbidden: not signed or wrong owner."); return false; } - if (not n->checkSignature()) + if (not n->checkSignature()) { + if (logger_) + logger_->w("Edition forbidden: signature verification failed."); return false; + } if (o->seq == n->seq) { // If the data is exactly the same, // it can be reannounced, possibly by someone else.