mirror of
https://github.com/JulianGro/overte.git
synced 2025-04-25 16:55:07 +02:00
Another checkpoint, getting closer
This commit is contained in:
parent
c9dc91900f
commit
802e283508
6 changed files with 29 additions and 21 deletions
|
@ -769,19 +769,24 @@ void DomainServerSettingsManager::processUsernameFromIDRequestPacket(QSharedPoin
|
|||
|
||||
bool newPermissions = false;
|
||||
|
||||
QByteArray printableVerifiedUsername;
|
||||
|
||||
if (!verifiedUsername.isEmpty()) {
|
||||
QByteArray printableVerifiedUsername = qPrintable(verifiedUsername);
|
||||
// setup the packet
|
||||
auto usernameFromIDRequestPacket = NLPacket::create(PacketType::UsernameFromIDRequest, NUM_BYTES_RFC4122_UUID + printableVerifiedUsername.length(), true);
|
||||
|
||||
// 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());
|
||||
printableVerifiedUsername = qPrintable(verifiedUsername);
|
||||
} else {
|
||||
printableVerifiedUsername = qPrintable("");
|
||||
}
|
||||
// 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 {
|
||||
qWarning() << "Node username request received for unknown node. Refusing to process.";
|
||||
|
|
|
@ -127,7 +127,7 @@ NodeList::NodeList(char newOwnerType, int socketListenPort, int dtlsListenPort)
|
|||
packetReceiver.registerListener(PacketType::ICEPingReply, &_domainHandler, "processICEPingReplyPacket");
|
||||
packetReceiver.registerListener(PacketType::DomainServerPathResponse, this, "processDomainServerPathResponse");
|
||||
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) {
|
||||
|
@ -917,12 +917,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, remove it if it exists
|
||||
QUuid nodeUUID = QUuid::fromRfc4122(message->readWithoutCopy(NUM_BYTES_RFC4122_UUID));
|
||||
// read the username from the packet
|
||||
QString username = message->readString();
|
||||
|
||||
qDebug() << "Got username" << username << "for node" << uuidStringWithoutCurlyBraces(nodeUUID);
|
||||
|
||||
emit usernameFromID(nodeUUID, username);
|
||||
}
|
||||
|
|
|
@ -82,7 +82,7 @@ public:
|
|||
void kickNodeBySessionID(const QUuid& nodeID);
|
||||
void muteNodeBySessionID(const QUuid& nodeID);
|
||||
void requestUsernameFromSessionID(const QUuid& nodeID);
|
||||
void processUsernameFromIDRequestPacket(QSharedPointer<ReceivedMessage> message);
|
||||
void processUsernameFromIDReply(QSharedPointer<ReceivedMessage> message);
|
||||
|
||||
public slots:
|
||||
void reset();
|
||||
|
|
|
@ -39,7 +39,7 @@ const QSet<PacketType> NON_SOURCED_PACKETS = QSet<PacketType>()
|
|||
<< PacketType::ICEServerPeerInformation << PacketType::ICEServerQuery << PacketType::ICEServerHeartbeat
|
||||
<< PacketType::ICEServerHeartbeatACK << PacketType::ICEPing << PacketType::ICEPingReply
|
||||
<< PacketType::ICEServerHeartbeatDenied << PacketType::AssignmentClientStatus << PacketType::StopNode
|
||||
<< PacketType::DomainServerRemovedNode;
|
||||
<< PacketType::DomainServerRemovedNode << PacketType::UsernameFromIDReply;
|
||||
|
||||
PacketVersion versionForPacketType(PacketType packetType) {
|
||||
switch (packetType) {
|
||||
|
|
|
@ -102,7 +102,9 @@ public:
|
|||
NodeMuteRequest,
|
||||
RadiusIgnoreRequest,
|
||||
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 avatarPalDatum = {
|
||||
displayName: avatar.displayName || ('anonymous ' + counter++),
|
||||
userName: Users.canKick ? 'Obtaining username...' : '',
|
||||
userName: (Users.canKick && id) ? 'Obtaining username...' : '',
|
||||
sessionId: id || ''
|
||||
};
|
||||
if (Users.canKick) {
|
||||
Users.getUsernameFromID(id);
|
||||
if (Users.canKick && id) {
|
||||
Users.requestUsernameFromID(id);
|
||||
}
|
||||
data.push(avatarPalDatum);
|
||||
if (id) { // No overlay for ourself.
|
||||
|
@ -134,7 +134,7 @@ function populateUserList() {
|
|||
}
|
||||
|
||||
function usernameFromID(id, username) {
|
||||
var data = { id: id, username: username };
|
||||
var data = { id: id, username: username + '\\' + id };
|
||||
print('Username Data:', JSON.stringify(data));
|
||||
pal.sendToQml({ method: 'updateUsername', params: data });
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue