mirror of
https://github.com/overte-org/overte.git
synced 2025-08-09 23:40:11 +02:00
Another checkpoint, getting closer
This commit is contained in:
parent
9c09ec6755
commit
42127e4e0f
6 changed files with 29 additions and 21 deletions
|
@ -799,19 +799,24 @@ void DomainServerSettingsManager::processUsernameFromIDRequestPacket(QSharedPoin
|
||||||
|
|
||||||
bool newPermissions = false;
|
bool newPermissions = false;
|
||||||
|
|
||||||
|
QByteArray printableVerifiedUsername;
|
||||||
|
|
||||||
if (!verifiedUsername.isEmpty()) {
|
if (!verifiedUsername.isEmpty()) {
|
||||||
QByteArray printableVerifiedUsername = qPrintable(verifiedUsername);
|
printableVerifiedUsername = qPrintable(verifiedUsername);
|
||||||
// setup the packet
|
} else {
|
||||||
auto usernameFromIDRequestPacket = NLPacket::create(PacketType::UsernameFromIDRequest, NUM_BYTES_RFC4122_UUID + printableVerifiedUsername.length(), true);
|
printableVerifiedUsername = qPrintable("");
|
||||||
|
|
||||||
// write the node ID to the packet
|
|
||||||
usernameFromIDRequestPacket->write(nodeUUID.toRfc4122());
|
|
||||||
// write the username to the packet
|
|
||||||
usernameFromIDRequestPacket->write(printableVerifiedUsername);
|
|
||||||
|
|
||||||
auto nodeList = DependencyManager::get<LimitedNodeList>();
|
|
||||||
nodeList->sendPacket(std::move(usernameFromIDRequestPacket), message->getSenderSockAddr());
|
|
||||||
}
|
}
|
||||||
|
// setup the packet
|
||||||
|
auto usernameFromIDReplyPacket = NLPacket::create(PacketType::UsernameFromIDReply, NUM_BYTES_RFC4122_UUID + printableVerifiedUsername.length(), true);
|
||||||
|
|
||||||
|
// write the node ID to the packet
|
||||||
|
usernameFromIDReplyPacket->write(nodeUUID.toRfc4122());
|
||||||
|
// write the username to the packet
|
||||||
|
usernameFromIDReplyPacket->write(printableVerifiedUsername);
|
||||||
|
|
||||||
|
auto nodeList = DependencyManager::get<LimitedNodeList>();
|
||||||
|
nodeList->sendPacket(std::move(usernameFromIDReplyPacket), message->getSenderSockAddr());
|
||||||
|
qDebug() << "SENDING PACKET.";
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
qWarning() << "Node username request received for unknown node. Refusing to process.";
|
qWarning() << "Node username request received for unknown node. Refusing to process.";
|
||||||
|
|
|
@ -128,7 +128,7 @@ NodeList::NodeList(char newOwnerType, int socketListenPort, int dtlsListenPort)
|
||||||
packetReceiver.registerListener(PacketType::ICEPingReply, &_domainHandler, "processICEPingReplyPacket");
|
packetReceiver.registerListener(PacketType::ICEPingReply, &_domainHandler, "processICEPingReplyPacket");
|
||||||
packetReceiver.registerListener(PacketType::DomainServerPathResponse, this, "processDomainServerPathResponse");
|
packetReceiver.registerListener(PacketType::DomainServerPathResponse, this, "processDomainServerPathResponse");
|
||||||
packetReceiver.registerListener(PacketType::DomainServerRemovedNode, this, "processDomainServerRemovedNode");
|
packetReceiver.registerListener(PacketType::DomainServerRemovedNode, this, "processDomainServerRemovedNode");
|
||||||
packetReceiver.registerListener(PacketType::UsernameFromIDRequest, this, "processUsernameFromIDRequestPacket");
|
packetReceiver.registerListener(PacketType::UsernameFromIDReply, this, "processUsernameFromIDReply");
|
||||||
}
|
}
|
||||||
|
|
||||||
qint64 NodeList::sendStats(QJsonObject statsObject, HifiSockAddr destination) {
|
qint64 NodeList::sendStats(QJsonObject statsObject, HifiSockAddr destination) {
|
||||||
|
@ -922,12 +922,13 @@ void NodeList::requestUsernameFromSessionID(const QUuid& nodeID) {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void NodeList::processUsernameFromIDRequestPacket(QSharedPointer<ReceivedMessage> message) {
|
void NodeList::processUsernameFromIDReply(QSharedPointer<ReceivedMessage> message) {
|
||||||
// read the UUID from the packet
|
// read the UUID from the packet
|
||||||
// read the UUID from the packet, remove it if it exists
|
|
||||||
QUuid nodeUUID = QUuid::fromRfc4122(message->readWithoutCopy(NUM_BYTES_RFC4122_UUID));
|
QUuid nodeUUID = QUuid::fromRfc4122(message->readWithoutCopy(NUM_BYTES_RFC4122_UUID));
|
||||||
// read the username from the packet
|
// read the username from the packet
|
||||||
QString username = message->readString();
|
QString username = message->readString();
|
||||||
|
|
||||||
|
qDebug() << "Got username" << username << "for node" << uuidStringWithoutCurlyBraces(nodeUUID);
|
||||||
|
|
||||||
emit usernameFromID(nodeUUID, username);
|
emit usernameFromID(nodeUUID, username);
|
||||||
}
|
}
|
||||||
|
|
|
@ -82,7 +82,7 @@ public:
|
||||||
void kickNodeBySessionID(const QUuid& nodeID);
|
void kickNodeBySessionID(const QUuid& nodeID);
|
||||||
void muteNodeBySessionID(const QUuid& nodeID);
|
void muteNodeBySessionID(const QUuid& nodeID);
|
||||||
void requestUsernameFromSessionID(const QUuid& nodeID);
|
void requestUsernameFromSessionID(const QUuid& nodeID);
|
||||||
void processUsernameFromIDRequestPacket(QSharedPointer<ReceivedMessage> message);
|
void processUsernameFromIDReply(QSharedPointer<ReceivedMessage> message);
|
||||||
|
|
||||||
public slots:
|
public slots:
|
||||||
void reset();
|
void reset();
|
||||||
|
|
|
@ -39,7 +39,7 @@ const QSet<PacketType> NON_SOURCED_PACKETS = QSet<PacketType>()
|
||||||
<< PacketType::ICEServerPeerInformation << PacketType::ICEServerQuery << PacketType::ICEServerHeartbeat
|
<< PacketType::ICEServerPeerInformation << PacketType::ICEServerQuery << PacketType::ICEServerHeartbeat
|
||||||
<< PacketType::ICEServerHeartbeatACK << PacketType::ICEPing << PacketType::ICEPingReply
|
<< PacketType::ICEServerHeartbeatACK << PacketType::ICEPing << PacketType::ICEPingReply
|
||||||
<< PacketType::ICEServerHeartbeatDenied << PacketType::AssignmentClientStatus << PacketType::StopNode
|
<< PacketType::ICEServerHeartbeatDenied << PacketType::AssignmentClientStatus << PacketType::StopNode
|
||||||
<< PacketType::DomainServerRemovedNode;
|
<< PacketType::DomainServerRemovedNode << PacketType::UsernameFromIDReply;
|
||||||
|
|
||||||
PacketVersion versionForPacketType(PacketType packetType) {
|
PacketVersion versionForPacketType(PacketType packetType) {
|
||||||
switch (packetType) {
|
switch (packetType) {
|
||||||
|
|
|
@ -102,7 +102,9 @@ public:
|
||||||
NodeMuteRequest,
|
NodeMuteRequest,
|
||||||
RadiusIgnoreRequest,
|
RadiusIgnoreRequest,
|
||||||
UsernameFromIDRequest,
|
UsernameFromIDRequest,
|
||||||
LAST_PACKET_TYPE = UsernameFromIDRequest
|
UsernameFromIDReply,
|
||||||
|
LAST_PACKET_TYPE = RadiusIgnoreRequest
|
||||||
|
//LAST_PACKET_TYPE = UsernameFromIDRequest
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
@ -118,11 +118,11 @@ function populateUserList() {
|
||||||
var avatar = AvatarList.getAvatar(id);
|
var avatar = AvatarList.getAvatar(id);
|
||||||
var avatarPalDatum = {
|
var avatarPalDatum = {
|
||||||
displayName: avatar.displayName || ('anonymous ' + counter++),
|
displayName: avatar.displayName || ('anonymous ' + counter++),
|
||||||
userName: Users.canKick ? 'Obtaining username...' : '',
|
userName: (Users.canKick && id) ? 'Obtaining username...' : '',
|
||||||
sessionId: id || ''
|
sessionId: id || ''
|
||||||
};
|
};
|
||||||
if (Users.canKick) {
|
if (Users.canKick && id) {
|
||||||
Users.getUsernameFromID(id);
|
Users.requestUsernameFromID(id);
|
||||||
}
|
}
|
||||||
data.push(avatarPalDatum);
|
data.push(avatarPalDatum);
|
||||||
if (id) { // No overlay for ourself.
|
if (id) { // No overlay for ourself.
|
||||||
|
@ -134,7 +134,7 @@ function populateUserList() {
|
||||||
}
|
}
|
||||||
|
|
||||||
function usernameFromID(id, username) {
|
function usernameFromID(id, username) {
|
||||||
var data = { id: id, username: username };
|
var data = { id: id, username: username + '\\' + id };
|
||||||
print('Username Data:', JSON.stringify(data));
|
print('Username Data:', JSON.stringify(data));
|
||||||
pal.sendToQml({ method: 'updateUsername', params: data });
|
pal.sendToQml({ method: 'updateUsername', params: data });
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue