Handle incoming clients to domain with existing verify-failed avatars

This commit is contained in:
Simon Walton 2019-04-30 17:39:39 -07:00
parent 7c405b0714
commit 119b4fd826
3 changed files with 7 additions and 2 deletions

View file

@ -422,7 +422,7 @@ void AvatarMixer::manageIdentityData(const SharedNodePointer& node) {
// tell node whose name changed about its new session display name or avatar.
sendIdentityPacket(nodeData, node);
avatar.clearIdentityUpdate();
avatar.setNeedsIdentityUpdate(false);
}
}

View file

@ -157,6 +157,11 @@ qint64 AvatarMixerSlave::addChangedTraitsToBulkPacket(AvatarMixerClientData* lis
++simpleReceivedIt;
}
if (bytesWritten > 0 && sendingAvatar->isCertifyFailed()) {
// Resend identity packet if certification failed:
sendingAvatar->setNeedsIdentityUpdate();
}
// enumerate the received instanced trait versions
auto instancedReceivedIt = lastReceivedVersions.instancedCBegin();
while (instancedReceivedIt != lastReceivedVersions.instancedCEnd()) {

View file

@ -27,7 +27,7 @@ public:
void fetchAvatarFST();
virtual bool isCertifyFailed() const override { return _verifyState == verificationFailed; }
bool needsIdentityUpdate() const { return _needsIdentityUpdate; }
void clearIdentityUpdate() { _needsIdentityUpdate = false; }
void setNeedsIdentityUpdate(bool value = true) { _needsIdentityUpdate = value; }
void processCertifyEvents();
void handleChallengeResponse(ReceivedMessage* response);