From 5974f2417ed3b985f01f2c787fb3ba34f7359e4f Mon Sep 17 00:00:00 2001 From: Carlos Santos <4a.santos@gmail.com> Date: Thu, 13 Mar 2025 14:42:18 +0100 Subject: [PATCH] backend: Sanitize room name prefix in room options generation --- backend/src/helpers/room.helper.ts | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/backend/src/helpers/room.helper.ts b/backend/src/helpers/room.helper.ts index 4cd3ccb..d42b137 100644 --- a/backend/src/helpers/room.helper.ts +++ b/backend/src/helpers/room.helper.ts @@ -4,7 +4,6 @@ import { MEET_NAME_ID } from '../environment.js'; import { uid } from 'uid/single'; export class OpenViduRoomHelper { - /** * Converts an OpenViduMeetRoom object to an OpenViduMeetRoomOptions object. * @@ -22,8 +21,13 @@ export class OpenViduRoomHelper { static generateLivekitRoomOptions(roomInput: OpenViduMeetRoom | OpenViduMeetRoomOptions): CreateOptions { const isOpenViduRoom = 'creationDate' in roomInput; + const sanitizedPrefix = roomInput.roomNamePrefix + ?.trim() + .replace(/[^a-zA-Z0-9-]/g, '') + .replace(/-+$/, ''); + const sanitizedRoomName = sanitizedPrefix ? `${sanitizedPrefix}-${uid(15)}` : uid(15); const { - roomName = `${roomInput.roomNamePrefix ?? ''}${uid(15)}`, + roomName = sanitizedRoomName, expirationDate, maxParticipants, creationDate = Date.now()