diff --git a/package-lock.json b/package-lock.json index 1497c8009..845701d8c 100644 --- a/package-lock.json +++ b/package-lock.json @@ -142,7 +142,7 @@ "@types/leaflet-gpx": "1.3.7", "@types/mime-types": "2.1.4", "@types/multer": "1.4.12", - "@types/node": "22.13.5", + "@types/node": "22.13.8", "@types/react": "18.3.18", "@types/react-dom": "18.3.5", "@types/safe-compare": "1.1.2", @@ -4629,9 +4629,9 @@ } }, "node_modules/@types/node": { - "version": "22.13.5", - "resolved": "https://registry.npmjs.org/@types/node/-/node-22.13.5.tgz", - "integrity": "sha512-+lTU0PxZXn0Dr1NBtC7Y8cR21AJr87dLLU953CWA6pMxxv/UDc7jYAY90upcrie1nRcD6XNG5HOYEDtgW5TxAg==", + "version": "22.13.8", + "resolved": "https://registry.npmjs.org/@types/node/-/node-22.13.8.tgz", + "integrity": "sha512-G3EfaZS+iOGYWLLRCEAXdWK9my08oHNZ+FHluRiggIYJPOXzhOiDgpVCUHaUvyIC5/fj7C/p637jdzC666AOKQ==", "license": "MIT", "dependencies": { "undici-types": "~6.20.0" diff --git a/package.json b/package.json index a5b65bc4f..2d086ed84 100644 --- a/package.json +++ b/package.json @@ -193,7 +193,7 @@ "@types/leaflet-gpx": "1.3.7", "@types/mime-types": "2.1.4", "@types/multer": "1.4.12", - "@types/node": "22.13.5", + "@types/node": "22.13.8", "@types/react": "18.3.18", "@types/react-dom": "18.3.5", "@types/safe-compare": "1.1.2", diff --git a/src/services/encryption/data_encryption.ts b/src/services/encryption/data_encryption.ts index 285462d89..624a845ed 100644 --- a/src/services/encryption/data_encryption.ts +++ b/src/services/encryption/data_encryption.ts @@ -34,7 +34,7 @@ function encrypt(key: Buffer, plainText: Buffer | string) { throw new Error("No data key!"); } - const plainTextBuffer = Buffer.from(plainText); + const plainTextBuffer = Buffer.isBuffer(plainText) ? plainText : Buffer.from(plainText); const iv = crypto.randomBytes(16); const cipher = crypto.createCipheriv("aes-128-cbc", pad(key), pad(iv)); @@ -88,7 +88,7 @@ function decrypt(key: Buffer, cipherText: string | Buffer): Buffer | false | nul if (e.message?.includes("WRONG_FINAL_BLOCK_LENGTH") || e.message?.includes("wrong final block length")) { log.info("Caught WRONG_FINAL_BLOCK_LENGTH, returning cipherText instead"); - return Buffer.from(cipherText); + return (Buffer.isBuffer(cipherText) ? cipherText : Buffer.from(cipherText)); } else { throw e; } diff --git a/src/services/utils.ts b/src/services/utils.ts index a2e5da3f6..6c539f9de 100644 --- a/src/services/utils.ts +++ b/src/services/utils.ts @@ -57,7 +57,8 @@ export function hashedBlobId(content: string | Buffer) { } export function toBase64(plainText: string | Buffer) { - return Buffer.from(plainText).toString("base64"); + const buffer = (Buffer.isBuffer(plainText) ? plainText : Buffer.from(plainText)); + return buffer.toString("base64"); } export function fromBase64(encodedText: string) {