File 0770-inets-Remove-legacy-code-not-longer-needed.patch of Package erlang

From 64df552786697131e0f353aa0e2f7993e695176d Mon Sep 17 00:00:00 2001
From: Ingela Anderton Andin <ingela@erlang.org>
Date: Fri, 3 Dec 2021 16:03:22 +0100
Subject: [PATCH] inets: Remove legacy code not longer needed

It could cause erroneous behavior
---
 lib/inets/src/http_server/httpd_util.erl | 22 +++-------------------
 lib/inets/test/httpd_SUITE.erl           | 18 +++++++++++++++++-
 2 files changed, 20 insertions(+), 20 deletions(-)

diff --git a/lib/inets/src/http_server/httpd_util.erl b/lib/inets/src/http_server/httpd_util.erl
index 4ef2d8b34c..12cd4cf2e6 100644
--- a/lib/inets/src/http_server/httpd_util.erl
+++ b/lib/inets/src/http_server/httpd_util.erl
@@ -421,27 +421,12 @@ split_path(URI) ->
           query := Query} ->
             {Path, Query};
         #{path := Path} ->            
-            split_path(Path, [])
+            {Path, []}
     end.
 
 add_hashmark(Query, Fragment) ->
     Query ++ "#" ++ Fragment.
    
-split_path([],SoFar) ->
-    {lists:reverse(SoFar),[]};
-split_path([$/|Rest],SoFar) ->
-    Path=lists:reverse(SoFar),
-    case file:read_file_info(Path) of
-	{ok,FileInfo} when FileInfo#file_info.type =:= regular ->
-	    {Path,[$/|Rest]};
-	{ok, _FileInfo} ->
-	    split_path(Rest,[$/|SoFar]);
-	{error, _Reason} ->
-	    split_path(Rest,[$/|SoFar])
-    end;
-split_path([C|Rest],SoFar) ->
-    split_path(Rest,[C|SoFar]).
-
 %% split_script_path, URI has been decoded once when validate
 %% and should only be decoded once(RFC3986, 2.4).
 
@@ -454,10 +439,9 @@ split_script_path(URI) ->
             not_a_script;
         #{path := Path,
           query := Query} ->
-            {Script, PathInfo} = split_path(Path, []),
-            {Script, {PathInfo, Query}};
+            {Path, {[], Query}};
         #{path := Path} ->            
-            split_path(Path, [])
+            {Path, []}
     end.
 
 %% suffix
diff --git a/lib/inets/test/httpd_SUITE.erl b/lib/inets/test/httpd_SUITE.erl
index 1445ff89ac..2757f869ca 100644
--- a/lib/inets/test/httpd_SUITE.erl
+++ b/lib/inets/test/httpd_SUITE.erl
@@ -163,7 +163,8 @@ http_get() ->
      max_header,
      max_content_length,
      ignore_invalid_header,
-     ipv6
+     ipv6,
+     same_file_name_dir_name
     ].
 
 
@@ -768,6 +769,21 @@ ipv6(Config) when is_list(Config) ->
 	     {skip, "Host does not support IPv6"}
      end.
 
+%%-------------------------------------------------------------------------
+same_file_name_dir_name() ->
+    [{doc,"Test that URI path that has a filename in it is not interprated as the file"}].
+same_file_name_dir_name(Config) when is_list(Config) ->
+    Version = proplists:get_value(http_version, Config),
+    Host = proplists:get_value(host, Config),
+    Type = proplists:get_value(type, Config),
+    ok = httpd_test_lib:verify_request(Type, Host,
+                                       proplists:get_value(port, Config),
+                                       transport_opts(Type, Config),
+                                       proplists:get_value(node, Config),
+                                       http_request("GET /index.html/foo.html ", Version, Host),
+                                       [{statuscode, 404},
+                                        {version, Version}]).
+
 %%-------------------------------------------------------------------------
 chunked_post() ->
     [{doc,"Test option max_client_body_chunk"}].
-- 
2.31.1

openSUSE Build Service is sponsored by