mirror of
https://github.com/overte-org/overte.git
synced 2025-08-08 06:57:37 +02:00
Don't clear cert ID if static properties change; updates to DDV
This commit is contained in:
parent
59a6726af6
commit
c70ee6055f
2 changed files with 34 additions and 38 deletions
|
@ -431,39 +431,47 @@ void EntityServer::startDynamicDomainVerification() {
|
||||||
while (i.hasNext()) {
|
while (i.hasNext()) {
|
||||||
i.next();
|
i.next();
|
||||||
|
|
||||||
QNetworkAccessManager& networkAccessManager = NetworkAccessManager::getInstance();
|
if (!tree->findEntityByEntityItemID(i.value())->verifyStaticCertificateProperties()) {
|
||||||
QNetworkRequest networkRequest;
|
qCDebug(entities) << "During Dynamic Domain Verification, a certified entity with ID" << i.value() << "failed"
|
||||||
networkRequest.setAttribute(QNetworkRequest::FollowRedirectsAttribute, true);
|
<< "static certificate verification.";
|
||||||
QUrl requestURL = NetworkingConstants::METAVERSE_SERVER_URL;
|
// Delete the entity if it doesn't pass static certificate verification
|
||||||
requestURL.setPath("/api/v1/commerce/proof_of_purchase_status");
|
tree->deleteEntity(i.value(), true);
|
||||||
QJsonObject request;
|
} else {
|
||||||
request["certificate_id"] = i.key();
|
|
||||||
networkRequest.setUrl(requestURL);
|
|
||||||
|
|
||||||
QNetworkReply* networkReply = NULL;
|
QNetworkAccessManager& networkAccessManager = NetworkAccessManager::getInstance();
|
||||||
networkReply = networkAccessManager.get(networkRequest);
|
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, [=]() {
|
QNetworkReply* networkReply = NULL;
|
||||||
QJsonObject jsonObject = QJsonDocument::fromJson(networkReply->readAll()).object();
|
networkReply = networkAccessManager.get(networkRequest);
|
||||||
QJsonDocument doc(jsonObject);
|
|
||||||
qCDebug(entities) << "ZRF FIXME" << doc.toJson(QJsonDocument::Compact);
|
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!!!
|
// ZRF FIXME!!!
|
||||||
//if (jsonObject["location"].toString() != thisDomainID) {
|
//if (networkReply->error() == QNetworkReply::NoError) {
|
||||||
if (false) {
|
if (true) {
|
||||||
qCDebug(entities) << "invalid_reason not empty, deleting entity" << i.value();
|
// 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);
|
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;
|
int nextInterval = qrand() % ((MAXIMUM_DYNAMIC_DOMAIN_VERIFICATION_TIMER_MS + 1) - MINIMUM_DYNAMIC_DOMAIN_VERIFICATION_TIMER_MS) + MINIMUM_DYNAMIC_DOMAIN_VERIFICATION_TIMER_MS;
|
||||||
|
|
|
@ -382,18 +382,6 @@ bool EntityTree::updateEntity(EntityItemPointer entity, const EntityItemProperti
|
||||||
qCDebug(entities) << (senderNode ? senderNode->getUUID() : "null") << "physical edits suppressed";
|
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
|
// else client accepts what the server says
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue