Compare commits

..

No commits in common. "b29c0617b45168f936f7604e86f2597106c201fd" and "dfcdea46fc8eb992c0c4442dbf9ac13051c8dc5d" have entirely different histories.

4 changed files with 3 additions and 33 deletions

View File

@ -48,16 +48,12 @@ function checkBucketAndKey(bucketName, objectKey, method, reqQuery,
return errors.InvalidBucketName; return errors.InvalidBucketName;
} }
if (objectKey !== undefined) { if (objectKey !== undefined) {
console.log('\n\nIn checkBucketAndKey:', objectKey);
const result = routesUtils.isValidObjectKey(objectKey, const result = routesUtils.isValidObjectKey(objectKey,
blacklistedPrefixes.object); blacklistedPrefixes.object);
if (!result.isValid) { if (!result.isValid) {
log.debug('invalid object key', { objectKey }); log.debug('invalid object key', { objectKey });
if (result.invalidPrefix) { return errors.InvalidArgument.customizeDescription('Object key ' +
return errors.InvalidArgument.customizeDescription('Object ' + `must not start with "${result.invalidPrefix}".`);
`key must not start with "${result.invalidPrefix}".`);
}
return errors.KeyTooLong;
} }
} }
if ((reqQuery.partNumber || reqQuery.uploadId) if ((reqQuery.partNumber || reqQuery.uploadId)

View File

@ -874,9 +874,6 @@ const routesUtils = {
if (invalidPrefix) { if (invalidPrefix) {
return { isValid: false, invalidPrefix }; return { isValid: false, invalidPrefix };
} }
if (objectKey.length > 1024) {
return { isValid: false };
}
return { isValid: true }; return { isValid: true };
}, },

View File

@ -3,7 +3,7 @@
"engines": { "engines": {
"node": ">=6.9.5" "node": ">=6.9.5"
}, },
"version": "8.2.0", "version": "8.0.0",
"description": "Common utilities for the S3 project components", "description": "Common utilities for the S3 project components",
"main": "index.js", "main": "index.js",
"repository": { "repository": {

View File

@ -1,23 +0,0 @@
const assert = require('assert');
const routesUtils = require('../../../../lib/s3routes/routesUtils.js');
const bannedStr = 'banned';
const prefixBlacklist = [];
describe('routesUtils.isValidObjectKey', () => {
it('should return isValid false if object key name starts with a ' +
'blacklisted prefix', () => {
const result = routesUtils.isValidObjectKey('bannedkey', [bannedStr]);
// return { isValid: false, invalidPrefix };
assert.strictEqual(result.isValid, false);
assert.strictEqual(result.invalidPrefix, bannedStr);
});
it('should return isValid false if object key name exceeds length of 1024',
() => {
const keyLength1025 = 'a'.repeat(1025);
const result = routesUtils.isValidObjectKey(keyLength1025,
prefixBlacklist);
assert.strictEqual(result.isValid, false);
});
});