aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorIngela Andin <[email protected]>2017-05-08 11:25:20 +0200
committerGitHub <[email protected]>2017-05-08 11:25:20 +0200
commit66c23a4fa9f92eb510cf55daa17822c926d7c147 (patch)
tree56c96ff66bc25718db56ae5acc8f86875b47b5e9
parent0be5bebb76d8685f0ecb28f80928c7a3f3a4b3ed (diff)
parente2b0e1828957e53063a2fa8f39188017a44a2c32 (diff)
downloadotp-66c23a4fa9f92eb510cf55daa17822c926d7c147.tar.gz
otp-66c23a4fa9f92eb510cf55daa17822c926d7c147.tar.bz2
otp-66c23a4fa9f92eb510cf55daa17822c926d7c147.zip
Merge pull request #1428 from martincox/master
Error when a non-DST time is passed to the httpd_util:rfc1123_date/1 function OTP-14394
-rw-r--r--lib/inets/src/http_server/httpd_util.erl4
-rw-r--r--lib/inets/test/httpd_basic_SUITE.erl13
2 files changed, 15 insertions, 2 deletions
diff --git a/lib/inets/src/http_server/httpd_util.erl b/lib/inets/src/http_server/httpd_util.erl
index a647f04ddc..4f771015a6 100644
--- a/lib/inets/src/http_server/httpd_util.erl
+++ b/lib/inets/src/http_server/httpd_util.erl
@@ -333,7 +333,9 @@ rfc1123_date(LocalTime) ->
{{YYYY,MM,DD},{Hour,Min,Sec}} =
case calendar:local_time_to_universal_time_dst(LocalTime) of
[Gmt] -> Gmt;
- [_,Gmt] -> Gmt
+ [_,Gmt] -> Gmt;
+ % Should not happen, but handle the empty list to prevent an error.
+ [] -> LocalTime
end,
DayNumber = calendar:day_of_the_week({YYYY,MM,DD}),
lists:flatten(
diff --git a/lib/inets/test/httpd_basic_SUITE.erl b/lib/inets/test/httpd_basic_SUITE.erl
index f413248092..a0a38ca103 100644
--- a/lib/inets/test/httpd_basic_SUITE.erl
+++ b/lib/inets/test/httpd_basic_SUITE.erl
@@ -42,7 +42,8 @@ all() ->
escaped_url_in_error_body,
script_timeout,
slowdose,
- keep_alive_timeout
+ keep_alive_timeout,
+ invalid_rfc1123_date
].
groups() ->
@@ -383,6 +384,16 @@ slowdose(Config) when is_list(Config) ->
end.
%%-------------------------------------------------------------------------
+
+invalid_rfc1123_date() ->
+ [{doc, "Test that a non-DST date is handled correcly"}].
+invalid_rfc1123_date(Config) when is_list(Config) ->
+ Rfc1123FormattedDate = "Sun, 26 Mar 2017 01:00:00 GMT",
+ NonDSTDateTime = {{2017, 03, 26},{1, 0, 0}},
+ Rfc1123FormattedDate =:= httpd_util:rfc1123_date(NonDSTDateTime).
+
+
+%%-------------------------------------------------------------------------
%% Internal functions
%%-------------------------------------------------------------------------