mirror of
https://github.com/overte-org/overte.git
synced 2025-08-09 03:58:07 +02:00
refuse to perform mapping operations in /.baked/
This commit is contained in:
parent
f89459525e
commit
f2997c0997
1 changed files with 28 additions and 7 deletions
|
@ -533,11 +533,18 @@ void AssetServer::handleSetMappingOperation(ReceivedMessage& message, SharedNode
|
||||||
|
|
||||||
auto assetHash = message.read(SHA256_HASH_LENGTH).toHex();
|
auto assetHash = message.read(SHA256_HASH_LENGTH).toHex();
|
||||||
|
|
||||||
if (setMapping(assetPath, assetHash)) {
|
// don't process a set mapping operation that is inside the hidden baked folder
|
||||||
replyPacket.writePrimitive(AssetServerError::NoError);
|
if (assetPath.startsWith(HIDDEN_BAKED_CONTENT_FOLDER)) {
|
||||||
|
qCDebug(asset_server) << "Refusing to process a set mapping operation inside" << HIDDEN_BAKED_CONTENT_FOLDER;
|
||||||
|
replyPacket.writePrimitive(AssetServerError::PermissionDenied);
|
||||||
} else {
|
} else {
|
||||||
replyPacket.writePrimitive(AssetServerError::MappingOperationFailed);
|
if (setMapping(assetPath, assetHash)) {
|
||||||
|
replyPacket.writePrimitive(AssetServerError::NoError);
|
||||||
|
} else {
|
||||||
|
replyPacket.writePrimitive(AssetServerError::MappingOperationFailed);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
} else {
|
} else {
|
||||||
replyPacket.writePrimitive(AssetServerError::PermissionDenied);
|
replyPacket.writePrimitive(AssetServerError::PermissionDenied);
|
||||||
}
|
}
|
||||||
|
@ -551,7 +558,14 @@ void AssetServer::handleDeleteMappingsOperation(ReceivedMessage& message, Shared
|
||||||
QStringList mappingsToDelete;
|
QStringList mappingsToDelete;
|
||||||
|
|
||||||
for (int i = 0; i < numberOfDeletedMappings; ++i) {
|
for (int i = 0; i < numberOfDeletedMappings; ++i) {
|
||||||
mappingsToDelete << message.readString();
|
auto mapping = message.readString();
|
||||||
|
|
||||||
|
if (!mapping.startsWith(HIDDEN_BAKED_CONTENT_FOLDER)) {
|
||||||
|
mappingsToDelete << mapping;
|
||||||
|
} else {
|
||||||
|
qCDebug(asset_server) << "Refusing to delete mapping" << mapping
|
||||||
|
<< "that is inside" << HIDDEN_BAKED_CONTENT_FOLDER;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (deleteMappings(mappingsToDelete)) {
|
if (deleteMappings(mappingsToDelete)) {
|
||||||
|
@ -569,11 +583,18 @@ void AssetServer::handleRenameMappingOperation(ReceivedMessage& message, SharedN
|
||||||
QString oldPath = message.readString();
|
QString oldPath = message.readString();
|
||||||
QString newPath = message.readString();
|
QString newPath = message.readString();
|
||||||
|
|
||||||
if (renameMapping(oldPath, newPath)) {
|
if (oldPath.startsWith(HIDDEN_BAKED_CONTENT_FOLDER) || newPath.startsWith(HIDDEN_BAKED_CONTENT_FOLDER)) {
|
||||||
replyPacket.writePrimitive(AssetServerError::NoError);
|
qCDebug(asset_server) << "Cannot rename" << oldPath << "to" << newPath
|
||||||
|
<< "since one of the paths is inside" << HIDDEN_BAKED_CONTENT_FOLDER;
|
||||||
|
replyPacket.writePrimitive(AssetServerError::PermissionDenied);
|
||||||
} else {
|
} else {
|
||||||
replyPacket.writePrimitive(AssetServerError::MappingOperationFailed);
|
if (renameMapping(oldPath, newPath)) {
|
||||||
|
replyPacket.writePrimitive(AssetServerError::NoError);
|
||||||
|
} else {
|
||||||
|
replyPacket.writePrimitive(AssetServerError::MappingOperationFailed);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
} else {
|
} else {
|
||||||
replyPacket.writePrimitive(AssetServerError::PermissionDenied);
|
replyPacket.writePrimitive(AssetServerError::PermissionDenied);
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue