fix(util) never mark UUID room names as insecure

Except the NIL UUID, that is.
release-5818
Saúl Ibarra Corretgé 3 years ago committed by Saúl Ibarra Corretgé
parent 23b4e93ed9
commit 332feefa36
  1. 25
      react/features/base/util/isInsecureRoomName.js

@ -1,7 +1,30 @@
// @flow
import _ from 'lodash';
import { NIL, parse as parseUUID } from 'uuid';
import zxcvbn from 'zxcvbn';
// The null UUID.
const NIL_UUID = parseUUID(NIL);
/**
* Checks if the given string is a valid UUID or not.
*
* @param {string} str - The string to be checked.
* @returns {boolean} - Whether the string is a valid UUID or not.
*/
function isValidUUID(str) {
let uuid;
try {
uuid = parseUUID(str);
} catch (e) {
return false;
}
return !_.isEqual(uuid, NIL_UUID);
}
/**
* Returns true if the room name is considered a weak (insecure) one.
*
@ -9,5 +32,5 @@ import zxcvbn from 'zxcvbn';
* @returns {boolean}
*/
export default function isInsecureRoomName(roomName: string = ''): boolean {
return zxcvbn(roomName).score < 3;
return !isValidUUID(roomName) && zxcvbn(roomName).score < 3;
}

Loading…
Cancel
Save