diff --git a/lib/messages/search-request.js b/lib/messages/search-request.js index f954da6..681b424 100644 --- a/lib/messages/search-request.js +++ b/lib/messages/search-request.js @@ -35,7 +35,7 @@ const isValidAttributeString = str => { return true } // ascii attribute names - if (/^[a-zA-Z][\w\d.;-]*$/.test(str) === true) { + if (/^[a-zA-Z][\w\d.;=*-]*$/.test(str) === true) { return true } return false diff --git a/lib/messages/search-request.test.js b/lib/messages/search-request.test.js index 59b6975..bdfc38a 100644 --- a/lib/messages/search-request.test.js +++ b/lib/messages/search-request.test.js @@ -111,6 +111,13 @@ tap.test('.attributes', t => { t.strictSame(req.attributes, ['a']) }) + t.test('supports range options', async t => { + const req = new SearchRequest({ + attributes: ['a;range=0-*'] + }) + t.strictSame(req.attributes, ['a;range=0-*']) + }) + t.test('skip empty attribute name', async t => { process.on('warning', handler) t.teardown(async () => {