From 08945eab290694efdaf42f3091256972e75114d9 Mon Sep 17 00:00:00 2001 From: Eran Hammer Date: Fri, 25 Oct 2013 10:31:36 -0700 Subject: [PATCH] Loosen loose cookie parser. Closes #1112 --- lib/state.js | 2 +- test/unit/state.js | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/lib/state.js b/lib/state.js index ed2d5fabf..d76e9e5c9 100755 --- a/lib/state.js +++ b/lib/state.js @@ -19,7 +19,7 @@ var internals = { // 1: name 2: quoted value 3: value internals.strictRx = /\s*([^\x00-\x20\(\)<>@\,;\:\\"\/\[\]\?\=\{\}\x7F]+)\s*=\s*(?:(?:"([^\x00-\x20\"\,\;\\\x7F]*)")|([^\x00-\x20\"\,\;\\\x7F]*))(?:(?:;|(?:\s*\,)\s*)|$)/g; -internals.looseRx = /\s*([^\x00-\x20\(\)<>@\,;\:\\"\/\[\]\?\=\{\}\x7F]+)\s*=\s*(?:(?:"([^\"]*)")|([^\;]*))(?:(?:;|(?:\s*\,)\s*)|$)/g; +internals.looseRx = /\s*([^=\s]+)\s*=\s*(?:(?:"([^\"]*)")|([^\;]*))(?:(?:;|(?:\s*\,)\s*)|$)/g; // Read and parse body diff --git a/test/unit/state.js b/test/unit/state.js index d9bba3219..956ecdc9c 100755 --- a/test/unit/state.js +++ b/test/unit/state.js @@ -78,7 +78,7 @@ describe('State', function () { var loose = Hapi.utils.clone(Defaults.server.state); loose.cookies.strictHeader = false; - pass('a="1; b="2"; c=3', { a: '"1', b: '2', c: '3' }, loose); + pass('a="1; b="2"; c=3; d[1]=4', { a: '"1', b: '2', c: '3', 'd[1]': '4' }, loose); var fail = function (header, settings, definitions, result) {