mirror of
https://github.com/processone/ejabberd.git
synced 2024-11-22 16:20:52 +01:00
Fix crash in mod_http_fileserver when logging URL with query elements (#2021)
This commit is contained in:
parent
668d45cbc7
commit
280aa2f1b0
@ -424,8 +424,7 @@ add_to_log(File, FileSize, Code, Request) ->
|
|||||||
{{Year, Month, Day}, {Hour, Minute, Second}} = calendar:local_time(),
|
{{Year, Month, Day}, {Hour, Minute, Second}} = calendar:local_time(),
|
||||||
IP = ip_to_string(element(1, Request#request.ip)),
|
IP = ip_to_string(element(1, Request#request.ip)),
|
||||||
Path = join(Request#request.path, "/"),
|
Path = join(Request#request.path, "/"),
|
||||||
Query = case join(lists:map(fun(E) -> lists:concat([element(1, E), "=", binary_to_list(element(2, E))]) end,
|
Query = case stringify_query(Request#request.q) of
|
||||||
Request#request.q), "&") of
|
|
||||||
[] ->
|
[] ->
|
||||||
"";
|
"";
|
||||||
String ->
|
String ->
|
||||||
@ -445,6 +444,13 @@ add_to_log(File, FileSize, Code, Request) ->
|
|||||||
[IP, Day, Month, Year, Hour, Minute, Second, Request#request.method, Path, Query, Code,
|
[IP, Day, Month, Year, Hour, Minute, Second, Request#request.method, Path, Query, Code,
|
||||||
FileSize, Referer, UserAgent]).
|
FileSize, Referer, UserAgent]).
|
||||||
|
|
||||||
|
stringify_query(Q) ->
|
||||||
|
join(
|
||||||
|
lists:map(fun(E) ->
|
||||||
|
lists:concat([binary_to_list(element(1, E)), "=", binary_to_list(element(2, E))])
|
||||||
|
end, Q),
|
||||||
|
"&").
|
||||||
|
|
||||||
find_header(Header, Headers, Default) ->
|
find_header(Header, Headers, Default) ->
|
||||||
case lists:keysearch(Header, 1, Headers) of
|
case lists:keysearch(Header, 1, Headers) of
|
||||||
{value, {_, Value}} -> Value;
|
{value, {_, Value}} -> Value;
|
||||||
|
Loading…
Reference in New Issue
Block a user