From 62e199412189c6436e1e564c9566486faad07845 Mon Sep 17 00:00:00 2001 From: jomo Date: Mon, 8 Dec 2014 15:01:23 +0100 Subject: [PATCH] fix config, use min_scale + max_scale --- modules/config.example.js | 31 ++++++++++++++++--------------- routes/renders.js | 4 ++-- 2 files changed, 18 insertions(+), 17 deletions(-) diff --git a/modules/config.example.js b/modules/config.example.js index 7ff03ae..53c1576 100644 --- a/modules/config.example.js +++ b/modules/config.example.js @@ -1,20 +1,21 @@ var config = { - min_size: 1, // < 1 will (obviously) cause crash - max_size: 512, // too big values might lead to slow response time or DoS - default_size: 160, // size to be used when no size given - local_cache_time: 1200, // seconds until we will check if the image changed. should be > 60 to prevent mojang 429 response - browser_cache_time: 3600, // seconds until browser will request image again - cleaning_interval: 1800, // seconds interval: deleting images if disk size at limit - cleaning_limit: 10240, // minumum required available KB on disk to trigger cleaning - cleaning_amount: 50000, // amount of avatar (and their helm) files to clean - http_timeout: 1000, // ms until connection to mojang is dropped - faces_dir: 'skins/faces/', // directory where faces are kept. should have trailing '/' - helms_dir: 'skins/helms/', // directory where helms are kept. should have trailing '/' - skins_dir: 'skins/skins/', // directory where skins are kept. should have trailing '/' + min_size: 1, // for avatars + max_size: 512, // for avatars; too big values might lead to slow response time or DoS + default_size: 160, // for avatars; size to be used when no size given + local_cache_time: 1200, // seconds until we will check if the image changed. should be > 60 to prevent mojang 429 response + browser_cache_time: 3600, // seconds until browser will request image again + cleaning_interval: 1800, // seconds interval: deleting images if disk size at limit + cleaning_limit: 10240, // minumum required available KB on disk to trigger cleaning + cleaning_amount: 50000, // amount of avatar (and their helm) files to clean + http_timeout: 1000, // ms until connection to mojang is dropped + faces_dir: 'skins/faces/', // directory where faces are kept. should have trailing '/' + helms_dir: 'skins/helms/', // directory where helms are kept. should have trailing '/' + skins_dir: 'skins/skins/', // directory where skins are kept. should have trailing '/' renders_dir: 'skins/renders/', // Directory where rendered skins are kept. should have trailing '/' - debug_enabled: false, // enables logging.debug - default_scale: 6, // the scale of rendered avatars - maximum_scale: 10 // the maximum scale of rendered avatars + debug_enabled: false, // enables logging.debug + min_scale: 1, // for renders + max_scale: 10, // for renders; too big values might lead to slow response time or DoS + default_scale: 6, // for renders; scale to be used when no scale given }; module.exports = config; \ No newline at end of file diff --git a/routes/renders.js b/routes/renders.js index 193cbfa..21219d3 100644 --- a/routes/renders.js +++ b/routes/renders.js @@ -16,7 +16,7 @@ var human_status = { // valid types: head, body. helmet is query param -// The Type logic should be two separate GET +// The Type logic should be two separate GET // functions once response methods are extracted router.get('/:type/:uuid.:ext?', function(req, res) { var raw_type = req.params.type; @@ -35,7 +35,7 @@ router.get('/:type/:uuid.:ext?', function(req, res) { var start = new Date(); var etag = null; - if (scale > config.maximum_scale) { + if (scale < config.min_scale || scale > config.max_scale) { // Preventing from OOM crashes. res.status(422).send("422 Invalid Size"); } else if (!helpers.uuid_valid(uuid)) {