Don't clear cert ID if static properties change; updates to DDV

This commit is contained in:
Zach Fox 2017-10-06 17:12:40 -07:00
parent 59a6726af6
commit c70ee6055f
2 changed files with 34 additions and 38 deletions

View file

@ -431,39 +431,47 @@ void EntityServer::startDynamicDomainVerification() {
while (i.hasNext()) {
i.next();
QNetworkAccessManager& networkAccessManager = NetworkAccessManager::getInstance();
QNetworkRequest networkRequest;
networkRequest.setAttribute(QNetworkRequest::FollowRedirectsAttribute, true);
QUrl requestURL = NetworkingConstants::METAVERSE_SERVER_URL;
requestURL.setPath("/api/v1/commerce/proof_of_purchase_status");
QJsonObject request;
request["certificate_id"] = i.key();
networkRequest.setUrl(requestURL);
if (!tree->findEntityByEntityItemID(i.value())->verifyStaticCertificateProperties()) {
qCDebug(entities) << "During Dynamic Domain Verification, a certified entity with ID" << i.value() << "failed"
<< "static certificate verification.";
// Delete the entity if it doesn't pass static certificate verification
tree->deleteEntity(i.value(), true);
} else {
QNetworkReply* networkReply = NULL;
networkReply = networkAccessManager.get(networkRequest);
QNetworkAccessManager& networkAccessManager = NetworkAccessManager::getInstance();
QNetworkRequest networkRequest;
networkRequest.setAttribute(QNetworkRequest::FollowRedirectsAttribute, true);
QUrl requestURL = NetworkingConstants::METAVERSE_SERVER_URL;
requestURL.setPath("/api/v1/commerce/proof_of_purchase_status");
QJsonObject request;
request["certificate_id"] = i.key();
networkRequest.setUrl(requestURL);
connect(networkReply, &QNetworkReply::finished, [=]() {
QJsonObject jsonObject = QJsonDocument::fromJson(networkReply->readAll()).object();
QJsonDocument doc(jsonObject);
qCDebug(entities) << "ZRF FIXME" << doc.toJson(QJsonDocument::Compact);
QNetworkReply* networkReply = NULL;
networkReply = networkAccessManager.get(networkRequest);
connect(networkReply, &QNetworkReply::finished, [=]() {
QJsonObject jsonObject = QJsonDocument::fromJson(networkReply->readAll()).object();
QJsonDocument doc(jsonObject);
qCDebug(entities) << "ZRF FIXME" << doc.toJson(QJsonDocument::Compact);
// ZRF FIXME!!!
//if (networkReply->error() == QNetworkReply::NoError) {
if (true) {
// ZRF FIXME!!!
//if (jsonObject["location"].toString() != thisDomainID) {
if (false) {
qCDebug(entities) << "invalid_reason not empty, deleting entity" << i.value();
//if (networkReply->error() == QNetworkReply::NoError) {
if (true) {
// ZRF FIXME!!!
//if (jsonObject["location"].toString() != thisDomainID) {
if (false) {
qCDebug(entities) << "invalid_reason not empty, deleting entity" << i.value();
tree->deleteEntity(i.value(), true);
}
} else {
qCDebug(entities) << "Call to proof_of_purchase_status endpoint failed; deleting entity" << i.value();
tree->deleteEntity(i.value(), true);
}
} else {
qCDebug(entities) << "Call to proof_of_purchase_status endpoint failed; deleting entity" << i.value();
tree->deleteEntity(i.value(), true);
}
networkReply->deleteLater();
});
networkReply->deleteLater();
});
}
}
int nextInterval = qrand() % ((MAXIMUM_DYNAMIC_DOMAIN_VERIFICATION_TIMER_MS + 1) - MINIMUM_DYNAMIC_DOMAIN_VERIFICATION_TIMER_MS) + MINIMUM_DYNAMIC_DOMAIN_VERIFICATION_TIMER_MS;

View file

@ -382,18 +382,6 @@ bool EntityTree::updateEntity(EntityItemPointer entity, const EntityItemProperti
qCDebug(entities) << (senderNode ? senderNode->getUUID() : "null") << "physical edits suppressed";
}
}
// Clear Certificate ID if any static certificate property is changed
if (properties.itemNameChanged() || properties.itemDescriptionChanged() || properties.itemCategoriesChanged() ||
properties.itemArtistChanged() || properties.itemLicenseChanged() || properties.limitedRunChanged() ||
properties.editionNumberChanged() || properties.entityInstanceNumberChanged() || properties.certificateIDChanged()) {
qCDebug(entities) << "A static certificate property on Entity" << entity->getID() << "has changed."
<< "Clearing Certificate ID.";
QWriteLocker locker(&_entityCertificateIDMapLock);
_entityCertificateIDMap.remove(entity->getCertificateID());
properties.setCertificateID("");
properties.setCertificateIDChanged(true);
}
}
// else client accepts what the server says