1
0
mirror of https://github.com/immich-app/immich.git synced 2025-10-31 00:18:28 +02:00

fix(server): normalize external path (#4239)

* fix: use normalized external path

* fix: move normalization to user core
This commit is contained in:
Jonathan Jogenfors
2023-10-06 22:47:38 +02:00
committed by GitHub
parent 35fa6397ea
commit 4dffae3f39
2 changed files with 4 additions and 1 deletions

View File

@@ -155,7 +155,7 @@ export class LibraryService {
return false;
}
if (!path.normalize(assetPath).match(new RegExp(`^${user.externalPath}`))) {
if (!path.normalize(assetPath).match(new RegExp(`^${path.normalize(user.externalPath)}`))) {
this.logger.error("Asset must be within the user's external path");
return false;
}

View File

@@ -8,6 +8,7 @@ import {
} from '@nestjs/common';
import { ReadStream, constants, createReadStream } from 'fs';
import fs from 'fs/promises';
import path from 'path';
import sanitize from 'sanitize-filename';
import { AuthUserDto } from '../auth';
import { ICryptoRepository } from '../crypto';
@@ -63,6 +64,8 @@ export class UserCore {
if (dto.externalPath === '') {
dto.externalPath = null;
} else if (dto.externalPath) {
dto.externalPath = path.normalize(dto.externalPath);
}
return this.userRepository.update(id, dto);