From 82abf9add923e5edd1d6abb07314f16f9167978f Mon Sep 17 00:00:00 2001 From: Jo-Philipp Wich Date: Sun, 22 Apr 2018 12:03:23 +0200 Subject: [PATCH] luci-base: decode plus signs in x-www-form-urlencoded POST data Depends on 5ef51b2ab ("lucihttp: update to latest HEAD"). Fixes #1755. Signed-off-by: Jo-Philipp Wich --- modules/luci-base/luasrc/http.lua | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/modules/luci-base/luasrc/http.lua b/modules/luci-base/luasrc/http.lua index 29edb4470e..56d0064825 100644 --- a/modules/luci-base/luasrc/http.lua +++ b/modules/luci-base/luasrc/http.lua @@ -443,16 +443,16 @@ function urldecode_message_body(src, msg) if what == parser.TUPLE then name, value = nil, nil elseif what == parser.NAME then - name = lhttp.urldecode(buffer) + name = lhttp.urldecode(buffer, lhttp.DECODE_PLUS) elseif what == parser.VALUE and name then local val = msg.params[name] if type(val) == "table" then - val[#val+1] = lhttp.urldecode(buffer) or "" + val[#val+1] = lhttp.urldecode(buffer, lhttp.DECODE_PLUS) or "" elseif val ~= nil then - msg.params[name] = { val, lhttp.urldecode(buffer) or "" } + msg.params[name] = { val, lhttp.urldecode(buffer, lhttp.DECODE_PLUS) or "" } else - msg.params[name] = lhttp.urldecode(buffer) or "" + msg.params[name] = lhttp.urldecode(buffer, lhttp.DECODE_PLUS) or "" end elseif what == parser.ERROR then err = buffer -- 2.30.2