From 157b921e14d9b62b916f95f52102c5bda2e4fdcd Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bar=C4=B1=C5=9F=20Soner=20U=C5=9Fakl=C4=B1?= Date: Thu, 23 May 2019 20:38:49 -0400 Subject: [PATCH] fix: #7634, make strip exif configurable --- install/data/defaults.json | 1 + public/language/en-GB/admin/settings/uploads.json | 1 + src/image.js | 3 ++- src/views/admin/settings/uploads.tpl | 7 +++++++ 4 files changed, 11 insertions(+), 1 deletion(-) diff --git a/install/data/defaults.json b/install/data/defaults.json index b2bcbec5af..70dcaf6d75 100644 --- a/install/data/defaults.json +++ b/install/data/defaults.json @@ -33,6 +33,7 @@ "allowUserHomePage": 1, "allowMultipleBadges": 0, "maximumFileSize": 2048, + "stripEXIFData": 1, "resizeImageWidthThreshold": 2000, "resizeImageWidth": 760, "rejectImageWidth": 5000, diff --git a/public/language/en-GB/admin/settings/uploads.json b/public/language/en-GB/admin/settings/uploads.json index 10e53d7e32..34da585485 100644 --- a/public/language/en-GB/admin/settings/uploads.json +++ b/public/language/en-GB/admin/settings/uploads.json @@ -2,6 +2,7 @@ "posts": "Posts", "allow-files": "Allow users to upload regular files", "private": "Make uploaded files private", + "strip-exif-data": "Strip EXIF Data", "private-extensions": "File extensions to make private", "private-uploads-extensions-help": "Enter comma-separated list of file extensions to make private here (e.g. pdf,xls,doc). An empty list means all files are private.", "resize-image-width-threshold": "Resize images if they are wider than specified width", diff --git a/src/image.js b/src/image.js index af61621c23..791c37c94a 100644 --- a/src/image.js +++ b/src/image.js @@ -9,6 +9,7 @@ var winston = require('winston'); var file = require('./file'); var plugins = require('./plugins'); +var meta = require('./meta'); var image = module.exports; @@ -92,7 +93,7 @@ image.size = function (path, callback) { }; image.stripEXIF = function (path, callback) { - if (path.endsWith('.gif')) { + if (!meta.config.stripEXIFData || path.endsWith('.gif')) { return setImmediate(callback); } async.waterfall([ diff --git a/src/views/admin/settings/uploads.tpl b/src/views/admin/settings/uploads.tpl index cc4a1ab07c..3d63f999a1 100644 --- a/src/views/admin/settings/uploads.tpl +++ b/src/views/admin/settings/uploads.tpl @@ -20,6 +20,13 @@ +
+ +
+