This commit is contained in:
Kalila L 2021-03-19 04:11:26 -04:00
parent 9dadc44f6c
commit fd592dfb06
8 changed files with 11 additions and 11 deletions

View file

@ -870,7 +870,7 @@ void DomainServerSettingsManager::processNodeKickRequestPacket(QSharedPointer<Re
bool banByFingerprint; bool banByFingerprint;
bool banByIP; bool banByIP;
// pull optional ban parameters from the packet // pull optional ban parameters from the packet
if (message.data()->getSize() > NUM_BYTES_RFC4122_UUID) { if (message.data()->getSize() == (NUM_BYTES_RFC4122_UUID + sizeof(int))) {
hasOptionalBanParameters = true; hasOptionalBanParameters = true;
message->readPrimitive(&banParameters); message->readPrimitive(&banParameters);
banByUsername = banParameters & ModerationFlags::BanFlags::BAN_BY_USERNAME; banByUsername = banParameters & ModerationFlags::BanFlags::BAN_BY_USERNAME;

View file

@ -644,7 +644,7 @@ Rectangle {
width: 32; width: 32;
height: 32; height: 32;
onClicked: { onClicked: {
Users[styleData.role](model.sessionId, 7); // Ban params add up to 7 from Users.BAN_BY_USERNAME | Users.BAN_BY_FINGERPRINT | Users.BAN_BY_IP Users[styleData.role](model.sessionId, Users.BAN_BY_USERNAME | Users.BAN_BY_FINGERPRINT | Users.BAN_BY_IP); // Ban params add up to 7 from Users.BAN_BY_USERNAME | Users.BAN_BY_FINGERPRINT | Users.BAN_BY_IP
UserActivityLogger["palAction"](styleData.role, model.sessionId); UserActivityLogger["palAction"](styleData.role, model.sessionId);
if (styleData.role === "kick") { if (styleData.role === "kick") {
nearbyUserModelData.splice(model.userIndex, 1); nearbyUserModelData.splice(model.userIndex, 1);

View file

@ -2493,7 +2493,7 @@ Application::Application(int& argc, char** argv, QElapsedTimer& startupTimer, bo
return viewFrustum.getPosition(); return viewFrustum.getPosition();
}); });
DependencyManager::get<UsersScriptingInterface>()->setKickConfirmationOperator([this] (const QUuid& nodeID, int banFlags) { userKickConfirmation(nodeID, banFlags); }); DependencyManager::get<UsersScriptingInterface>()->setKickConfirmationOperator([this] (const QUuid& nodeID, unsigned int banFlags) { userKickConfirmation(nodeID, banFlags); });
render::entities::WebEntityRenderer::setAcquireWebSurfaceOperator([=](const QString& url, bool htmlContent, QSharedPointer<OffscreenQmlSurface>& webSurface, bool& cachedWebSurface) { render::entities::WebEntityRenderer::setAcquireWebSurfaceOperator([=](const QString& url, bool htmlContent, QSharedPointer<OffscreenQmlSurface>& webSurface, bool& cachedWebSurface) {
bool isTablet = url == TabletScriptingInterface::QML; bool isTablet = url == TabletScriptingInterface::QML;
@ -3575,7 +3575,7 @@ void Application::onDesktopRootItemCreated(QQuickItem* rootItem) {
_desktopRootItemCreated = true; _desktopRootItemCreated = true;
} }
void Application::userKickConfirmation(const QUuid& nodeID, int banFlags) { void Application::userKickConfirmation(const QUuid& nodeID, unsigned int banFlags) {
auto avatarHashMap = DependencyManager::get<AvatarHashMap>(); auto avatarHashMap = DependencyManager::get<AvatarHashMap>();
auto avatar = avatarHashMap->getAvatarBySessionID(nodeID); auto avatar = avatarHashMap->getAvatarBySessionID(nodeID);

View file

@ -609,7 +609,7 @@ private:
void toggleTabletUI(bool shouldOpen = false) const; void toggleTabletUI(bool shouldOpen = false) const;
bool shouldCaptureMouse() const; bool shouldCaptureMouse() const;
void userKickConfirmation(const QUuid& nodeID, int banFlags = ModerationFlags::getDefaultBanFlags()); void userKickConfirmation(const QUuid& nodeID, unsigned int banFlags = ModerationFlags::getDefaultBanFlags());
MainWindow* _window; MainWindow* _window;
QElapsedTimer& _sessionRunTimer; QElapsedTimer& _sessionRunTimer;

View file

@ -1264,7 +1264,7 @@ float NodeList::getInjectorGain() {
return _injectorGain; return _injectorGain;
} }
void NodeList::kickNodeBySessionID(const QUuid& nodeID, int banFlags) { void NodeList::kickNodeBySessionID(const QUuid& nodeID, unsigned int banFlags) {
// send a request to domain-server to kick the node with the given session ID // send a request to domain-server to kick the node with the given session ID
// the domain-server will handle the persistence of the kick (via username or IP) // the domain-server will handle the persistence of the kick (via username or IP)

View file

@ -86,7 +86,7 @@ public:
void setInjectorGain(float gain); void setInjectorGain(float gain);
float getInjectorGain(); float getInjectorGain();
void kickNodeBySessionID(const QUuid& nodeID, int banFlags); void kickNodeBySessionID(const QUuid& nodeID, unsigned int banFlags);
void muteNodeBySessionID(const QUuid& nodeID); void muteNodeBySessionID(const QUuid& nodeID);
void requestUsernameFromSessionID(const QUuid& nodeID); void requestUsernameFromSessionID(const QUuid& nodeID);
bool getRequestsDomainListData() { return _requestsDomainListData; } bool getRequestsDomainListData() { return _requestsDomainListData; }

View file

@ -52,7 +52,7 @@ float UsersScriptingInterface::getAvatarGain(const QUuid& nodeID) {
return DependencyManager::get<NodeList>()->getAvatarGain(nodeID); return DependencyManager::get<NodeList>()->getAvatarGain(nodeID);
} }
void UsersScriptingInterface::kick(const QUuid& nodeID, int banFlags) { void UsersScriptingInterface::kick(const QUuid& nodeID, unsigned int banFlags) {
if (_kickConfirmationOperator) { if (_kickConfirmationOperator) {
bool waitingForKickResponse = _kickResponseLock.resultWithReadLock<bool>([&] { return _waitingForKickResponse; }); bool waitingForKickResponse = _kickResponseLock.resultWithReadLock<bool>([&] { return _waitingForKickResponse; });
if (getCanKick() && !waitingForKickResponse) { if (getCanKick() && !waitingForKickResponse) {

View file

@ -48,7 +48,7 @@ class UsersScriptingInterface : public QObject, public Dependency {
public: public:
UsersScriptingInterface(); UsersScriptingInterface();
void setKickConfirmationOperator(std::function<void(const QUuid& nodeID, int banFlags)> kickConfirmationOperator) { void setKickConfirmationOperator(std::function<void(const QUuid& nodeID, unsigned int banFlags)> kickConfirmationOperator) {
_kickConfirmationOperator = kickConfirmationOperator; _kickConfirmationOperator = kickConfirmationOperator;
} }
@ -125,7 +125,7 @@ public slots:
* @param {Uuid} sessionID - The session ID of the user to kick and ban. * @param {Uuid} sessionID - The session ID of the user to kick and ban.
* @param {number} - Preferred ban flags. <i>Bans a user by username (if available) and machine fingerprint by default.</i> * @param {number} - Preferred ban flags. <i>Bans a user by username (if available) and machine fingerprint by default.</i>
*/ */
void kick(const QUuid& nodeID, int banFlags = ModerationFlags::getDefaultBanFlags()); void kick(const QUuid& nodeID, unsigned int banFlags = ModerationFlags::getDefaultBanFlags());
/**jsdoc /**jsdoc
* Mutes a user's microphone for everyone. The mute is not permanent: the user can unmute themselves. * Mutes a user's microphone for everyone. The mute is not permanent: the user can unmute themselves.
@ -250,7 +250,7 @@ private:
static constexpr unsigned int getBanByFingerprint() { return ModerationFlags::BanFlags::BAN_BY_FINGERPRINT; }; static constexpr unsigned int getBanByFingerprint() { return ModerationFlags::BanFlags::BAN_BY_FINGERPRINT; };
static constexpr unsigned int getBanByIP() { return ModerationFlags::BanFlags::BAN_BY_IP; }; static constexpr unsigned int getBanByIP() { return ModerationFlags::BanFlags::BAN_BY_IP; };
std::function<void(const QUuid& nodeID, int banFlags)> _kickConfirmationOperator; std::function<void(const QUuid& nodeID, unsigned int banFlags)> _kickConfirmationOperator;
ReadWriteLockable _kickResponseLock; ReadWriteLockable _kickResponseLock;
bool _waitingForKickResponse { false }; bool _waitingForKickResponse { false };