rename AgentPermissions to NodePermissions

This commit is contained in:
Seth Alves 2016-06-04 09:50:36 -07:00
parent 2977c4eab7
commit adf893ea19
10 changed files with 74 additions and 74 deletions

View file

@ -165,7 +165,7 @@ SharedNodePointer DomainGatekeeper::processAssignmentConnectRequest(const NodeCo
_pendingAssignedNodes.erase(it);
// always allow assignment clients to create and destroy entities
AgentPermissions userPerms;
NodePermissions userPerms;
userPerms.canAdjustLocks = true;
userPerms.canRezPermanentEntities = true;
newNode->setPermissions(userPerms);
@ -181,7 +181,7 @@ SharedNodePointer DomainGatekeeper::processAgentConnectRequest(const NodeConnect
auto limitedNodeList = DependencyManager::get<LimitedNodeList>();
// start with empty permissions
AgentPermissions userPerms(username);
NodePermissions userPerms(username);
userPerms.setAll(false);
// check if this user is on our local machine - if this is true they are always allowed to connect
@ -189,7 +189,7 @@ SharedNodePointer DomainGatekeeper::processAgentConnectRequest(const NodeConnect
bool isLocalUser =
(senderHostAddress == limitedNodeList->getLocalSockAddr().getAddress() || senderHostAddress == QHostAddress::LocalHost);
if (isLocalUser) {
userPerms |= _server->_settingsManager.getPermissionsForName(AgentPermissions::standardNameLocalhost);
userPerms |= _server->_settingsManager.getPermissionsForName(NodePermissions::standardNameLocalhost);
}
if (!username.isEmpty() && usernameSignature.isEmpty()) {
@ -204,7 +204,7 @@ SharedNodePointer DomainGatekeeper::processAgentConnectRequest(const NodeConnect
if (username.isEmpty()) {
// they didn't tell us who they are
userPerms |= _server->_settingsManager.getPermissionsForName(AgentPermissions::standardNameAnonymous);
userPerms |= _server->_settingsManager.getPermissionsForName(NodePermissions::standardNameAnonymous);
} else if (verifyUserSignature(username, usernameSignature, nodeConnection.senderSockAddr)) {
// they are sent us a username and the signature verifies it
if (_server->_settingsManager.havePermissionsForName(username)) {
@ -212,7 +212,7 @@ SharedNodePointer DomainGatekeeper::processAgentConnectRequest(const NodeConnect
userPerms |= _server->_settingsManager.getPermissionsForName(username);
} else {
// they are logged into metaverse, but we don't have specific permissions for them.
userPerms |= _server->_settingsManager.getPermissionsForName(AgentPermissions::standardNameLoggedIn);
userPerms |= _server->_settingsManager.getPermissionsForName(NodePermissions::standardNameLoggedIn);
}
} else {
// they sent us a username, but it didn't check out

View file

@ -206,29 +206,29 @@ void DomainServerSettingsManager::setupConfigMap(const QStringList& argumentList
QStringList allowedEditors = valueOrDefaultValueForKeyPath(ALLOWED_EDITORS_SETTINGS_KEYPATH).toStringList();
bool onlyEditorsAreRezzers = valueOrDefaultValueForKeyPath(EDITORS_ARE_REZZERS_KEYPATH).toBool();
_agentPermissions[AgentPermissions::standardNameLocalhost].reset(
new AgentPermissions(AgentPermissions::standardNameLocalhost));
_agentPermissions[AgentPermissions::standardNameLocalhost]->setAll(true);
_agentPermissions[AgentPermissions::standardNameAnonymous].reset(
new AgentPermissions(AgentPermissions::standardNameAnonymous));
_agentPermissions[AgentPermissions::standardNameLoggedIn].reset(
new AgentPermissions(AgentPermissions::standardNameLoggedIn));
_agentPermissions[NodePermissions::standardNameLocalhost].reset(
new NodePermissions(NodePermissions::standardNameLocalhost));
_agentPermissions[NodePermissions::standardNameLocalhost]->setAll(true);
_agentPermissions[NodePermissions::standardNameAnonymous].reset(
new NodePermissions(NodePermissions::standardNameAnonymous));
_agentPermissions[NodePermissions::standardNameLoggedIn].reset(
new NodePermissions(NodePermissions::standardNameLoggedIn));
if (isRestrictedAccess) {
// only users in allow-users list can connect
_agentPermissions[AgentPermissions::standardNameAnonymous]->canConnectToDomain = false;
_agentPermissions[AgentPermissions::standardNameLoggedIn]->canConnectToDomain = false;
_agentPermissions[NodePermissions::standardNameAnonymous]->canConnectToDomain = false;
_agentPermissions[NodePermissions::standardNameLoggedIn]->canConnectToDomain = false;
} // else anonymous and logged-in retain default of canConnectToDomain = true
foreach (QString allowedUser, allowedUsers) {
// even if isRestrictedAccess is false, we have to add explicit rows for these users.
// defaults to canConnectToDomain = true
_agentPermissions[allowedUser].reset(new AgentPermissions(allowedUser));
_agentPermissions[allowedUser].reset(new NodePermissions(allowedUser));
}
foreach (QString allowedEditor, allowedEditors) {
if (!_agentPermissions.contains(allowedEditor)) {
_agentPermissions[allowedEditor].reset(new AgentPermissions(allowedEditor));
_agentPermissions[allowedEditor].reset(new NodePermissions(allowedEditor));
if (isRestrictedAccess) {
// they can change locks, but can't connect.
_agentPermissions[allowedEditor]->canConnectToDomain = false;
@ -292,11 +292,11 @@ void DomainServerSettingsManager::unpackPermissions(const QStringList& argumentL
// QVariantList* permissionsList = reinterpret_cast<QVariantList*>(permissions);
foreach (QVariant permsHash, permissionsList) {
AgentPermissionsPointer perms { new AgentPermissions(permsHash.toMap()) };
NodePermissionsPointer perms { new NodePermissions(permsHash.toMap()) };
QString id = perms->getID();
foundLocalhost |= (id == AgentPermissions::standardNameLocalhost);
foundAnonymous |= (id == AgentPermissions::standardNameAnonymous);
foundLoggedIn |= (id == AgentPermissions::standardNameLoggedIn);
foundLocalhost |= (id == NodePermissions::standardNameLocalhost);
foundAnonymous |= (id == NodePermissions::standardNameAnonymous);
foundLoggedIn |= (id == NodePermissions::standardNameLoggedIn);
if (_agentPermissions.contains(id)) {
qDebug() << "duplicate name in permissions table: " << id;
_agentPermissions[id] |= perms;
@ -307,16 +307,16 @@ void DomainServerSettingsManager::unpackPermissions(const QStringList& argumentL
// if any of the standard names are missing, add them
if (!foundLocalhost) {
AgentPermissionsPointer perms { new AgentPermissions(AgentPermissions::standardNameLocalhost) };
NodePermissionsPointer perms { new NodePermissions(NodePermissions::standardNameLocalhost) };
perms->setAll(true);
_agentPermissions[perms->getID()] = perms;
}
if (!foundAnonymous) {
AgentPermissionsPointer perms { new AgentPermissions(AgentPermissions::standardNameAnonymous) };
NodePermissionsPointer perms { new NodePermissions(NodePermissions::standardNameAnonymous) };
_agentPermissions[perms->getID()] = perms;
}
if (!foundLoggedIn) {
AgentPermissionsPointer perms { new AgentPermissions(AgentPermissions::standardNameLoggedIn) };
NodePermissionsPointer perms { new NodePermissions(NodePermissions::standardNameLoggedIn) };
_agentPermissions[perms->getID()] = perms;
}
if (!foundLocalhost || !foundAnonymous || !foundLoggedIn) {
@ -325,20 +325,20 @@ void DomainServerSettingsManager::unpackPermissions(const QStringList& argumentL
#ifdef WANT_DEBUG
qDebug() << "--------------- permissions ---------------------";
QHashIterator<QString, AgentPermissionsPointer> i(_agentPermissions);
QHashIterator<QString, NodePermissionsPointer> i(_agentPermissions);
while (i.hasNext()) {
i.next();
AgentPermissionsPointer perms = i.value();
NodePermissionsPointer perms = i.value();
qDebug() << i.key() << perms;
}
#endif
}
AgentPermissions DomainServerSettingsManager::getPermissionsForName(const QString& name) const {
NodePermissions DomainServerSettingsManager::getPermissionsForName(const QString& name) const {
if (_agentPermissions.contains(name)) {
return *(_agentPermissions[name].get());
}
AgentPermissions nullPermissions;
NodePermissions nullPermissions;
nullPermissions.setAll(false);
return nullPermissions;
}

View file

@ -19,7 +19,7 @@
#include <HTTPManager.h>
#include <ReceivedMessage.h>
#include "AgentPermissions.h"
#include "NodePermissions.h"
const QString SETTINGS_PATHS_KEY = "paths";
@ -41,7 +41,7 @@ public:
QVariantMap& getSettingsMap() { return _configMap.getMergedConfig(); }
bool havePermissionsForName(const QString& name) const { return _agentPermissions.contains(name); }
AgentPermissions getPermissionsForName(const QString& name) const;
NodePermissions getPermissionsForName(const QString& name) const;
QStringList getAllNames() { return _agentPermissions.keys(); }
private slots:
@ -64,7 +64,7 @@ private:
void packPermissions(const QStringList& argumentList);
void unpackPermissions(const QStringList& argumentList);
QHash<QString, AgentPermissionsPointer> _agentPermissions;
QHash<QString, NodePermissionsPointer> _agentPermissions;
};
#endif // hifi_DomainServerSettingsManager_h

View file

@ -52,7 +52,7 @@ LimitedNodeList::LimitedNodeList(unsigned short socketListenPort, unsigned short
_numCollectedPackets(0),
_numCollectedBytes(0),
_packetStatTimer(),
_permissions(AgentPermissions())
_permissions(NodePermissions())
{
static bool firstCall = true;
if (firstCall) {
@ -131,7 +131,7 @@ void LimitedNodeList::setSessionUUID(const QUuid& sessionUUID) {
}
void LimitedNodeList::setPermissions(const AgentPermissions& newPermissions) {
void LimitedNodeList::setPermissions(const NodePermissions& newPermissions) {
bool emitIsAllowedEditorChanged { false };
bool emitCanRezChanged { false };
@ -523,7 +523,7 @@ void LimitedNodeList::handleNodeKill(const SharedNodePointer& node) {
SharedNodePointer LimitedNodeList::addOrUpdateNode(const QUuid& uuid, NodeType_t nodeType,
const HifiSockAddr& publicSocket, const HifiSockAddr& localSocket,
const AgentPermissions& permissions,
const NodePermissions& permissions,
const QUuid& connectionSecret) {
NodeHash::const_iterator it = _nodeHash.find(uuid);

View file

@ -104,7 +104,7 @@ public:
const QUuid& getSessionUUID() const { return _sessionUUID; }
void setSessionUUID(const QUuid& sessionUUID);
void setPermissions(const AgentPermissions& newPermissions);
void setPermissions(const NodePermissions& newPermissions);
bool isAllowedEditor() const { return _permissions.canAdjustLocks; }
bool getThisNodeCanRez() const { return _permissions.canRezPermanentEntities; }
@ -135,7 +135,7 @@ public:
SharedNodePointer addOrUpdateNode(const QUuid& uuid, NodeType_t nodeType,
const HifiSockAddr& publicSocket, const HifiSockAddr& localSocket,
const AgentPermissions& permissions = DEFAULT_AGENT_PERMISSIONS,
const NodePermissions& permissions = DEFAULT_AGENT_PERMISSIONS,
const QUuid& connectionSecret = QUuid());
bool hasCompletedInitialSTUN() const { return _hasCompletedInitialSTUN; }
@ -298,7 +298,7 @@ protected:
int _numCollectedBytes;
QElapsedTimer _packetStatTimer;
AgentPermissions _permissions;
NodePermissions _permissions;
QPointer<QTimer> _initialSTUNTimer;

View file

@ -16,7 +16,7 @@
#include "Node.h"
#include "SharedUtil.h"
#include "AgentPermissions.h"
#include "NodePermissions.h"
#include <QtCore/QDataStream>
#include <QtCore/QDebug>
@ -48,7 +48,7 @@ const QString& NodeType::getNodeTypeName(NodeType_t nodeType) {
}
Node::Node(const QUuid& uuid, NodeType_t type, const HifiSockAddr& publicSocket,
const HifiSockAddr& localSocket, const AgentPermissions& permissions, const QUuid& connectionSecret,
const HifiSockAddr& localSocket, const NodePermissions& permissions, const QUuid& connectionSecret,
QObject* parent) :
NetworkPeer(uuid, publicSocket, localSocket, parent),
_type(type),

View file

@ -27,14 +27,14 @@
#include "NodeType.h"
#include "SimpleMovingAverage.h"
#include "MovingPercentile.h"
#include "AgentPermissions.h"
#include "NodePermissions.h"
class Node : public NetworkPeer {
Q_OBJECT
public:
Node(const QUuid& uuid, NodeType_t type,
const HifiSockAddr& publicSocket, const HifiSockAddr& localSocket,
const AgentPermissions& permissions, const QUuid& connectionSecret = QUuid(),
const NodePermissions& permissions, const QUuid& connectionSecret = QUuid(),
QObject* parent = 0);
bool operator==(const Node& otherNode) const { return _uuid == otherNode._uuid; }
@ -59,8 +59,8 @@ public:
void updateClockSkewUsec(qint64 clockSkewSample);
QMutex& getMutex() { return _mutex; }
void setPermissions(const AgentPermissions& newPermissions) { _permissions = newPermissions; }
AgentPermissions getPermissions() const { return _permissions; }
void setPermissions(const NodePermissions& newPermissions) { _permissions = newPermissions; }
NodePermissions getPermissions() const { return _permissions; }
bool isAllowedEditor() const { return _permissions.canAdjustLocks; }
bool getCanRez() const { return _permissions.canRezPermanentEntities; }
@ -81,7 +81,7 @@ private:
qint64 _clockSkewUsec;
QMutex _mutex;
MovingPercentile _clockSkewMovingPercentile;
AgentPermissions _permissions;
NodePermissions _permissions;
};
Q_DECLARE_METATYPE(Node*)

View file

@ -572,7 +572,7 @@ void NodeList::parseNodeFromPacketStream(QDataStream& packetStream) {
qint8 nodeType;
QUuid nodeUUID, connectionUUID;
HifiSockAddr nodePublicSocket, nodeLocalSocket;
AgentPermissions permissions;
NodePermissions permissions;
packetStream >> nodeType >> nodeUUID >> nodePublicSocket >> nodeLocalSocket >> permissions;

View file

@ -1,5 +1,5 @@
//
// AgentPermissions.cpp
// NodePermissions.cpp
// libraries/networking/src/
//
// Created by Seth Alves on 2016-6-1.
@ -11,14 +11,14 @@
#include <QDataStream>
#include <QtCore/QDebug>
#include "AgentPermissions.h"
#include "NodePermissions.h"
QString AgentPermissions::standardNameLocalhost = QString("localhost");
QString AgentPermissions::standardNameLoggedIn = QString("logged-in");
QString AgentPermissions::standardNameAnonymous = QString("anonymous");
QString NodePermissions::standardNameLocalhost = QString("localhost");
QString NodePermissions::standardNameLoggedIn = QString("logged-in");
QString NodePermissions::standardNameAnonymous = QString("anonymous");
AgentPermissions& AgentPermissions::operator|=(const AgentPermissions& rhs) {
NodePermissions& NodePermissions::operator|=(const NodePermissions& rhs) {
this->canConnectToDomain |= rhs.canConnectToDomain;
this->canAdjustLocks |= rhs.canAdjustLocks;
this->canRezPermanentEntities |= rhs.canRezPermanentEntities;
@ -27,13 +27,13 @@ AgentPermissions& AgentPermissions::operator|=(const AgentPermissions& rhs) {
this->canConnectPastMaxCapacity |= rhs.canConnectPastMaxCapacity;
return *this;
}
AgentPermissions& AgentPermissions::operator|=(const AgentPermissionsPointer& rhs) {
NodePermissions& NodePermissions::operator|=(const NodePermissionsPointer& rhs) {
if (rhs) {
*this |= *rhs.get();
}
return *this;
}
AgentPermissionsPointer& operator|=(AgentPermissionsPointer& lhs, const AgentPermissionsPointer& rhs) {
NodePermissionsPointer& operator|=(NodePermissionsPointer& lhs, const NodePermissionsPointer& rhs) {
if (lhs && rhs) {
*lhs.get() |= rhs;
}
@ -41,7 +41,7 @@ AgentPermissionsPointer& operator|=(AgentPermissionsPointer& lhs, const AgentPer
}
QDataStream& operator<<(QDataStream& out, const AgentPermissions& perms) {
QDataStream& operator<<(QDataStream& out, const NodePermissions& perms) {
out << perms.canConnectToDomain;
out << perms.canAdjustLocks;
out << perms.canRezPermanentEntities;
@ -51,7 +51,7 @@ QDataStream& operator<<(QDataStream& out, const AgentPermissions& perms) {
return out;
}
QDataStream& operator>>(QDataStream& in, AgentPermissions& perms) {
QDataStream& operator>>(QDataStream& in, NodePermissions& perms) {
in >> perms.canConnectToDomain;
in >> perms.canAdjustLocks;
in >> perms.canRezPermanentEntities;
@ -61,7 +61,7 @@ QDataStream& operator>>(QDataStream& in, AgentPermissions& perms) {
return in;
}
QDebug operator<<(QDebug debug, const AgentPermissions& perms) {
QDebug operator<<(QDebug debug, const NodePermissions& perms) {
debug.nospace() << "[permissions: " << perms.getID() << " --";
if (perms.canConnectToDomain) {
debug << " connect";
@ -84,7 +84,7 @@ QDebug operator<<(QDebug debug, const AgentPermissions& perms) {
debug.nospace() << "]";
return debug.nospace();
}
QDebug operator<<(QDebug debug, const AgentPermissionsPointer& perms) {
QDebug operator<<(QDebug debug, const NodePermissionsPointer& perms) {
if (perms) {
return operator<<(debug, *perms.get());
}

View file

@ -1,5 +1,5 @@
//
// AgentPermissions.h
// NodePermissions.h
// libraries/networking/src/
//
// Created by Seth Alves on 2016-6-1.
@ -9,8 +9,8 @@
// See the accompanying file LICENSE or http://www.apache.org/licenses/LICENSE-2.0.html
//
#ifndef hifi_AgentPermissions_h
#define hifi_AgentPermissions_h
#ifndef hifi_NodePermissions_h
#define hifi_NodePermissions_h
#include <memory>
#include <QString>
@ -18,14 +18,14 @@
#include <QVariant>
#include <QUuid>
class AgentPermissions;
using AgentPermissionsPointer = std::shared_ptr<AgentPermissions>;
class NodePermissions;
using NodePermissionsPointer = std::shared_ptr<NodePermissions>;
class AgentPermissions {
class NodePermissions {
public:
AgentPermissions() { _id = QUuid::createUuid().toString(); }
AgentPermissions(const QString& name) { _id = name; }
AgentPermissions(QMap<QString, QVariant> perms) {
NodePermissions() { _id = QUuid::createUuid().toString(); }
NodePermissions(const QString& name) { _id = name; }
NodePermissions(QMap<QString, QVariant> perms) {
_id = perms["permissions_id"].toString();
canConnectToDomain = perms["id_can_connect"].toBool();
canAdjustLocks = perms["id_can_adjust_locks"].toBool();
@ -71,19 +71,19 @@ public:
return QVariant(values);
}
AgentPermissions& operator|=(const AgentPermissions& rhs);
AgentPermissions& operator|=(const AgentPermissionsPointer& rhs);
friend QDataStream& operator<<(QDataStream& out, const AgentPermissions& perms);
friend QDataStream& operator>>(QDataStream& in, AgentPermissions& perms);
NodePermissions& operator|=(const NodePermissions& rhs);
NodePermissions& operator|=(const NodePermissionsPointer& rhs);
friend QDataStream& operator<<(QDataStream& out, const NodePermissions& perms);
friend QDataStream& operator>>(QDataStream& in, NodePermissions& perms);
protected:
QString _id;
};
const AgentPermissions DEFAULT_AGENT_PERMISSIONS;
const NodePermissions DEFAULT_AGENT_PERMISSIONS;
QDebug operator<<(QDebug debug, const AgentPermissions& perms);
QDebug operator<<(QDebug debug, const AgentPermissionsPointer& perms);
AgentPermissionsPointer& operator|=(AgentPermissionsPointer& lhs, const AgentPermissionsPointer& rhs);
QDebug operator<<(QDebug debug, const NodePermissions& perms);
QDebug operator<<(QDebug debug, const NodePermissionsPointer& perms);
NodePermissionsPointer& operator|=(NodePermissionsPointer& lhs, const NodePermissionsPointer& rhs);
#endif // hifi_AgentPermissions_h
#endif // hifi_NodePermissions_h