Hi Nicolas, All,

Last effort: I think we should now get rid of all error.jsp, error403.jsp and 
error404.jsp files and all references to these.

It's easy to remove commented out <error-page> references from 3 web.xml files 
(marketing, partymgr and workeffort). We are sure they are not used.

Then it makes sense to remove RequestHandler::getDefaultErrorPage and its only 
reference in ControlServlet::handle (since nothing exists in web.xml files)

Same for

   <<[tempName:'error.jsp', newName:'error.jsp', 
location:"webapp/${webappName}/error"],>>

in build.gradle.

Do I miss anything?

Thanks

Jacques

Le 16/07/2020 à 11:55, Nicolas Malin a écrit :
Thanks Jacques,

You finished the work to remove the jsp error :)

Nicolas

On 15/07/2020 21:09, Jacques Le Roux wrote:
Le 05/07/2020 à 16:50, Jacques Le Roux a écrit :
Hi,

While working on OFBIZ-11840 I thought about the solution I used for
"[CVE-2020-1943] Apache OFBiz XSS Vulnerability"

So I tried that:

diff --git framework/common/webcommon/WEB-INF/common-controller.xml
framework/common/webcommon/WEB-INF/common-controller.xml
index e6f9394cd4..9291cdbece 100644
--- framework/common/webcommon/WEB-INF/common-controller.xml
+++ framework/common/webcommon/WEB-INF/common-controller.xml
@@ -338,7 +338,7 @@ under the License.
      <!--========================== AJAX events =====================-->

      <!-- View Mappings -->
-    <view-map name="error" page="/error/error.jsp"/>
+    <view-map name="error" type="ftl"
page="component://common/webcommon/error/Error.ftl"/>
      <view-map name="main" type="none"/>
      <view-map name="login" type="screen"
page="component://common/widget/CommonScreens.xml#login"/>
      <view-map name="impersonated" type="screen"
page="component://common/widget/CommonScreens.xml#impersonated"/>
diff --git framework/common/webcommon/WEB-INF/handlers-controller.xml
framework/common/webcommon/WEB-INF/handlers-controller.xml
index be21b19fd9..1622d10ead 100644
--- framework/common/webcommon/WEB-INF/handlers-controller.xml
+++ framework/common/webcommon/WEB-INF/handlers-controller.xml
@@ -42,4 +42,5 @@ under the License.
      <handler name="screenfop" type="view"
class="org.apache.ofbiz.widget.renderer.fo.ScreenFopViewHandler"/>
      <handler name="jsp" type="view"
class="org.apache.ofbiz.webapp.view.JspViewHandler"/>
      <handler name="http" type="view"
class="org.apache.ofbiz.webapp.view.HttpViewHandler"/>
+    <handler name="ftl" type="view"
class="org.apache.ofbiz.webapp.ftl.FreeMarkerViewHandler"/>
  </site-conf>

It does not fix the OFBIZ-11840 issue but it works. I mean it
correctly replaces error.jsp by error.ftl.

Few questions:

1. Why having the ftl handlers only in webtools controller? BTW it
makes the XSD documentation awkward because it speaks about the ftl
handlers being
    in handlers-controller.xml
2. Why not using error.ftl in common-controller.xml instead of
error.jsp?
3. Same question for plugins.

I believe we could change all that and definitely get rid of
error.jsp (error.ftl is already in all supported releases branches)

What do you think?

Jacques

Done with OFBIZ-11890

Jacques

Reply via email to