diff options
author | Diego Nehab <diego.nehab@gmail.com> | 2016-04-12 09:28:27 -0300 |
---|---|---|
committer | Diego Nehab <diego.nehab@gmail.com> | 2016-04-12 09:28:27 -0300 |
commit | 6a0506ca44f4939764aecf8091765a7d772975f5 (patch) | |
tree | a93ff159aae465af85a8864c3e3616d0976d36df | |
parent | 23ce5aeaa22b49d6649096b520b292a3626474ef (diff) | |
parent | b9f6fd215a8f522733caedcb4d6d6b0c6e55103e (diff) | |
download | luasocket-6a0506ca44f4939764aecf8091765a7d772975f5.tar.gz luasocket-6a0506ca44f4939764aecf8091765a7d772975f5.tar.bz2 luasocket-6a0506ca44f4939764aecf8091765a7d772975f5.zip |
Merge pull request #170 from bytefire/master
URL-decode user password before adding to authorization header.
-rw-r--r-- | src/http.lua | 3 | ||||
-rw-r--r-- | src/url.lua | 6 |
2 files changed, 5 insertions, 4 deletions
diff --git a/src/http.lua b/src/http.lua index f2fff01..a386165 100644 --- a/src/http.lua +++ b/src/http.lua | |||
@@ -222,7 +222,8 @@ local function adjustheaders(reqt) | |||
222 | -- if we have authentication information, pass it along | 222 | -- if we have authentication information, pass it along |
223 | if reqt.user and reqt.password then | 223 | if reqt.user and reqt.password then |
224 | lower["authorization"] = | 224 | lower["authorization"] = |
225 | "Basic " .. (mime.b64(reqt.user .. ":" .. reqt.password)) | 225 | "Basic " .. (mime.b64(reqt.user .. ":" .. |
226 | url.unescape(reqt.password))) | ||
226 | end | 227 | end |
227 | -- if we have proxy authentication information, pass it along | 228 | -- if we have proxy authentication information, pass it along |
228 | local proxy = reqt.proxy or _M.PROXY | 229 | local proxy = reqt.proxy or _M.PROXY |
diff --git a/src/url.lua b/src/url.lua index fbd93d1..b59960a 100644 --- a/src/url.lua +++ b/src/url.lua | |||
@@ -64,11 +64,11 @@ local function protect_segment(s) | |||
64 | end | 64 | end |
65 | 65 | ||
66 | ----------------------------------------------------------------------------- | 66 | ----------------------------------------------------------------------------- |
67 | -- Encodes a string into its escaped hexadecimal representation | 67 | -- Unencodes a escaped hexadecimal string into its binary representation |
68 | -- Input | 68 | -- Input |
69 | -- s: binary string to be encoded | 69 | -- s: escaped hexadecimal string to be unencoded |
70 | -- Returns | 70 | -- Returns |
71 | -- escaped representation of string binary | 71 | -- unescaped binary representation of escaped hexadecimal binary |
72 | ----------------------------------------------------------------------------- | 72 | ----------------------------------------------------------------------------- |
73 | function _M.unescape(s) | 73 | function _M.unescape(s) |
74 | return (string.gsub(s, "%%(%x%x)", function(hex) | 74 | return (string.gsub(s, "%%(%x%x)", function(hex) |