From 3c36a281e643532f2799817bb02d42a565c2b120 Mon Sep 17 00:00:00 2001
From: Joze RIHTARSIC <joze.RIHTARSIC@ext.ec.europa.eu>
Date: Wed, 16 Feb 2022 08:37:30 +0100
Subject: [PATCH] update favicon ico

---
 pom.xml                                       |   2 +-
 .../smp/data/ui/enums/SMPPropertyEnum.java    |   4 ---
 .../edelivery/smp/config/SmpWebAppConfig.java |   2 +-
 .../smp/config/SpringSecurityConfig.java      |  24 ++++++++++++++----
 .../smp/controllers/RootController.java       |  23 +++++++++++------
 .../src/main/resources/html/favicon-16x16.png | Bin 949 -> 0 bytes
 .../src/main/resources/html/favicon.ico       | Bin 0 -> 9662 bytes
 .../src/main/resources/html/favicon.png       | Bin 0 -> 3197 bytes
 smp-webapp/src/main/resources/html/index.html |   5 ++--
 9 files changed, 38 insertions(+), 22 deletions(-)
 delete mode 100644 smp-webapp/src/main/resources/html/favicon-16x16.png
 create mode 100644 smp-webapp/src/main/resources/html/favicon.ico
 create mode 100644 smp-webapp/src/main/resources/html/favicon.png

diff --git a/pom.xml b/pom.xml
index 6ac20221b..74649700e 100644
--- a/pom.xml
+++ b/pom.xml
@@ -24,7 +24,7 @@
     <modules>
         <module>smp-parent-pom</module>
         <module>smp-api</module>
-        <module>smp-angular</module>
+        <!-- module>smp-angular</module -->
         <module>smp-server-library</module>
         <module>smp-webapp</module>
     </modules>
diff --git a/smp-server-library/src/main/java/eu/europa/ec/edelivery/smp/data/ui/enums/SMPPropertyEnum.java b/smp-server-library/src/main/java/eu/europa/ec/edelivery/smp/data/ui/enums/SMPPropertyEnum.java
index 1b318c4f3..186d62e21 100644
--- a/smp-server-library/src/main/java/eu/europa/ec/edelivery/smp/data/ui/enums/SMPPropertyEnum.java
+++ b/smp-server-library/src/main/java/eu/europa/ec/edelivery/smp/data/ui/enums/SMPPropertyEnum.java
@@ -63,10 +63,6 @@ public enum SMPPropertyEnum {
     UI_COOKIE_SESSION_SITE("smp.ui.session.strict","Lax","Controls whether a cookie is sent with cross-origin requests, providing some protection against cross-site request forgery attacks. Possible values are: Strict, None, Lax. (Cookies with SameSite=None require a secure context/HTTPS)!!)", false, false,false, SMPPropertyTypeEnum.STRING),
     UI_COOKIE_SESSION_PATH("smp.ui.session.path","","A path that must exist in the requested URL, or the browser won't send the Cookie header.  Null/Empty value sets the authentication requests context by default. The forward slash (/) character is interpreted as a directory separator, and subdirectories will be matched as well: for Path=/docs, /docs, /docs/Web/, and /docs/Web/HTTP will all match", false, false,false, SMPPropertyTypeEnum.STRING),
 
-
-
-
-
     UI_COOKIE_SESSION_IDLE_TIMEOUT_ADMIN("smp.ui.session.idle_timeout.admin","300","Specifies the time, in seconds, between client requests before the SMP will invalidate session for ADMIN users (System)!", false, false,false, SMPPropertyTypeEnum.INTEGER),
     UI_COOKIE_SESSION_IDLE_TIMEOUT_USER("smp.ui.session.idle_timeout.user","1800","Specifies the time, in seconds, between client requests before the SMP will invalidate session for users (Service group, SMP Admin)", false, false,false, SMPPropertyTypeEnum.INTEGER),
     // SSO configuration
diff --git a/smp-webapp/src/main/java/eu/europa/ec/edelivery/smp/config/SmpWebAppConfig.java b/smp-webapp/src/main/java/eu/europa/ec/edelivery/smp/config/SmpWebAppConfig.java
index 7641e5a6c..adcc3c15a 100644
--- a/smp-webapp/src/main/java/eu/europa/ec/edelivery/smp/config/SmpWebAppConfig.java
+++ b/smp-webapp/src/main/java/eu/europa/ec/edelivery/smp/config/SmpWebAppConfig.java
@@ -52,7 +52,7 @@ public class SmpWebAppConfig implements WebMvcConfigurer {
     public void addResourceHandlers(ResourceHandlerRegistry registry) {
 
         registry.setOrder(HIGHEST_PRECEDENCE)
-                .addResourceHandler("/index.html", "/favicon-16x16.png").addResourceLocations("/static_resources/");
+                .addResourceHandler("/index.html", "/favicon.png", "/favicon.ico").addResourceLocations("/html/");
 
         registry.setOrder(HIGHEST_PRECEDENCE - 2)
                 .addResourceHandler("/ui/rest/").addResourceLocations("/"); // ui rest resources
diff --git a/smp-webapp/src/main/java/eu/europa/ec/edelivery/smp/config/SpringSecurityConfig.java b/smp-webapp/src/main/java/eu/europa/ec/edelivery/smp/config/SpringSecurityConfig.java
index 55367f595..41d56537e 100644
--- a/smp-webapp/src/main/java/eu/europa/ec/edelivery/smp/config/SpringSecurityConfig.java
+++ b/smp-webapp/src/main/java/eu/europa/ec/edelivery/smp/config/SpringSecurityConfig.java
@@ -50,6 +50,7 @@ import org.springframework.security.web.firewall.DefaultHttpFirewall;
 import org.springframework.security.web.firewall.HttpFirewall;
 import org.springframework.security.web.session.HttpSessionEventPublisher;
 import org.springframework.security.web.util.matcher.AntPathRequestMatcher;
+import org.springframework.security.web.util.matcher.AnyRequestMatcher;
 import org.springframework.security.web.util.matcher.RequestMatcher;
 import org.springframework.web.server.adapter.ForwardedHeaderTransformer;
 
@@ -128,7 +129,7 @@ public class SpringSecurityConfig extends WebSecurityConfigurerAdapter {
 
         ExceptionHandlingConfigurer<HttpSecurity> exceptionHandlingConfigurer = httpSecurity.exceptionHandling();
         if (configurationService.isCasEnabled()) {
-            LOG.info("REGISTER casAuthenticationEntryPoint: [{}]", casAuthenticationEntryPoint);
+            LOG.debug("The CAS authentication is enabled. Set casAuthenticationEntryPoint!");
             exceptionHandlingConfigurer = exceptionHandlingConfigurer.defaultAuthenticationEntryPointFor(casAuthenticationEntryPoint, new AntPathRequestMatcher(SMP_SECURITY_PATH_CAS_AUTHENTICATE));
         }
         exceptionHandlingConfigurer.authenticationEntryPoint(new SpringSecurityExceptionHandler());
@@ -142,16 +143,29 @@ public class SpringSecurityConfig extends WebSecurityConfigurerAdapter {
                 .and();
 
         if (configurationService.isCasEnabled()) {
+            LOG.debug("The CAS authentication is enabled. Add CAS filter!");
             httpSecurity = httpSecurity.addFilter(casAuthenticationFilter);
         }
         // set HstsMAxAge
         Integer maxAge = configurationService.getHttpHeaderHstsMaxAge();
-        if (maxAge!=null) {
-            httpSecurity
-                    .headers()
+        if (maxAge == null || maxAge < 0){
+            LOG.info("The httpStrictTransportSecurity (HSTS) policy is set for HTTPS/1Y!" );
+            httpSecurity = httpSecurity.headers()
                     .httpStrictTransportSecurity()
                     .includeSubDomains(true)
-                    .maxAgeInSeconds(maxAge);
+                    .preload(false)
+                    .maxAgeInSeconds(31536000).and().and();
+        }else if ( maxAge == 0){
+            LOG.warn("The httpStrictTransportSecurity (HSTS) policy is disabled!" );
+            httpSecurity = httpSecurity.headers().httpStrictTransportSecurity().disable().and();
+        } else {
+            LOG.info("The httpStrictTransportSecurity (HSTS) policy is set to [{}] for http and https!",maxAge );
+            httpSecurity = httpSecurity.headers()
+                    .httpStrictTransportSecurity()
+                    .includeSubDomains(true)
+                    .preload(false)
+                    .maxAgeInSeconds(maxAge)
+                    .requestMatcher(AnyRequestMatcher.INSTANCE).and().and();
         }
 
         httpSecurity.addFilter(blueCoatAuthenticationFilter)
diff --git a/smp-webapp/src/main/java/eu/europa/ec/edelivery/smp/controllers/RootController.java b/smp-webapp/src/main/java/eu/europa/ec/edelivery/smp/controllers/RootController.java
index d51f36339..576b07c14 100644
--- a/smp-webapp/src/main/java/eu/europa/ec/edelivery/smp/controllers/RootController.java
+++ b/smp-webapp/src/main/java/eu/europa/ec/edelivery/smp/controllers/RootController.java
@@ -25,6 +25,7 @@ import org.springframework.web.bind.annotation.*;
 import org.springframework.web.servlet.ModelAndView;
 
 import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
 import java.io.IOException;
 
 import static org.springframework.core.Ordered.HIGHEST_PRECEDENCE;
@@ -48,20 +49,26 @@ public class RootController {
         return new ModelAndView("redirect:/index.html", model);
     }
 
-    @GetMapping( produces = {MediaType.TEXT_HTML_VALUE, MediaType.IMAGE_PNG_VALUE},
-            value={ "/index.html", "/favicon-16x16.png"})
+    @GetMapping( produces = {MediaType.TEXT_HTML_VALUE,
+            MediaType.IMAGE_PNG_VALUE,
+             "image/ico","image/x-ico"
+},
+            value={ "/index.html","/favicon.png","/favicon.ico"})
     @Order(HIGHEST_PRECEDENCE)
-    public byte[] getServiceGroup(HttpServletRequest httpReq) throws IOException {
+    public byte[] getServiceGroup(HttpServletRequest httpReq, HttpServletResponse httpRes) throws IOException {
         String host = httpReq.getRemoteHost();
         LOG.businessInfo(SMPMessageCode.BUS_HTTP_GET_END_STATIC_CONTENT,host,httpReq.getPathInfo());
-        String value = httpReq.getServletPath();
-        if(value!=null && value.endsWith("favicon-16x16.png")){
-            return IOUtils.readBytesFromStream(RootController.class.getResourceAsStream("/html/favicon-16x16.png"));
-        }else {
+        String value = httpReq.getPathInfo();
+        if(value!=null && value.endsWith("favicon.png")){
+            httpRes.setContentType("image/x-ico");
+            return IOUtils.readBytesFromStream(RootController.class.getResourceAsStream("/html/favicon.png"));
+        }else if(value!=null && value.endsWith("favicon.ico")){
+            httpRes.setContentType(MediaType.IMAGE_PNG_VALUE);
+            return IOUtils.readBytesFromStream(RootController.class.getResourceAsStream("/html/favicon.ico"));
+        } else {
             return IOUtils.readBytesFromStream(RootController.class.getResourceAsStream("/html/index.html"));
         }
     }
-
     /**
      * redirect angular pages to index.html
      * solve the 404 error on refresh
diff --git a/smp-webapp/src/main/resources/html/favicon-16x16.png b/smp-webapp/src/main/resources/html/favicon-16x16.png
deleted file mode 100644
index 3d21e2c812117e7de63d45621f8991391acfe9fc..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 949
zcmeAS@N?(olHy`uVBq!ia0vp^0wB!63?wyl`GbKJOS+@4BLl<6e(pbstU$g(vPY0F
z14ES>14Ba#1H&(%P{RubhEf9thF1v;3|2E37{m+a><YADU|`%I;1l8sR3Prs2|;4c
zoj?TV0vV#tU1H8%l5QPRZtXw@kc%uU2Ga-;geaErXp{A9#Z(MbW0zQ@A6A`M9hco4
zp&MG`m|P&?+JS7Kw0nC|M@UdXnsH>Mc}$sCR(3^C0MI}QSCFfK=3B;<R`v#{`ZWUG
z1LOh`kfGq+Qrr>jnwAIT0+j)+)()->$WI5F1~D9Hi%)izQA8y~0Z>rdy)Cmb(mK8b
zC<0V(5LT7n7OLpo4Dk`r%*fItlc)-~dY~Gupt`uq1Ub)Eh!r{^H9$2$x4}aU7)qf<
zsX$#2zXRP5^ox2xy{tzY&>SEFDpv7p1o|E5ak$Aqx0Q4S0gbYVDYH*1^vlhxo!|?1
zImG=yGl8~;m!zcCM{5Ms15Jhm$p8QUCF_It1EWx^B*-tAAqxWj!9WZMcxs-O1gc<6
z@^*KbQlIW63gobtc>21s-)CkKV%L}PF^vTZUG#Ku43W5;oZ!ITqj2EJnM0?J@ueAc
zbar-ndw6-CK5^=#HiM-DqpNDFXsBr^udi;d?1qMQ^Y%3^oVc-b<;<O|5eF`vx^?W@
zxqAmMp1gTfR72t2vv&_)s;+zR_VMfI@(dyzJY0O7tXX2*-2ELrOk6I<j~qLy-qES5
zrn-E|vc@wW=TDqDbuRG4+0*(OAuOCCqSL2Ln;ISx7JB_kQ|`*u`58G`d6~J{?_ac7
ztXaK#`S$hohmLqocGP>yz~rZwCl_Z|$0#t{QGlnV#nnYohvz;s!;y&woDMx&z+Awf
zTH+c}l9E`GYL#4+3Zxi}3=B<m4UBaSOhODTtPISpOw6?n46O_dW{Jsw@)<%yZhlH;
YS|x4`uf3PN18QLKboFyt=akR{0E@vskN^Mx

diff --git a/smp-webapp/src/main/resources/html/favicon.ico b/smp-webapp/src/main/resources/html/favicon.ico
new file mode 100644
index 0000000000000000000000000000000000000000..650f74d68e1ad93bcf0497cd27b2c3af43c6338d
GIT binary patch
literal 9662
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
U_-LI$YS;g9<I1`Fi}YaoUwpN<XaE2J

literal 0
HcmV?d00001

diff --git a/smp-webapp/src/main/resources/html/favicon.png b/smp-webapp/src/main/resources/html/favicon.png
new file mode 100644
index 0000000000000000000000000000000000000000..0afb5fecb8f14c4619d1734b2df25809281e1e9f
GIT binary patch
literal 3197
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

literal 0
HcmV?d00001

diff --git a/smp-webapp/src/main/resources/html/index.html b/smp-webapp/src/main/resources/html/index.html
index 1c50bf0ec..f6dd59ac8 100644
--- a/smp-webapp/src/main/resources/html/index.html
+++ b/smp-webapp/src/main/resources/html/index.html
@@ -1,5 +1,5 @@
 <!--
-  ~ Copyright 2017 European Commission | CEF eDelivery
+  ~ Copyright 2017-2022 European Commission | CEF eDelivery
   ~
   ~ Licensed under the EUPL, Version 1.2 or – as soon they will be approved by the European Commission - subsequent versions of the EUPL (the "Licence");
   ~ You may not use this work except in compliance with the Licence.
@@ -14,9 +14,8 @@
 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
   <head>
     <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
-    <meta http-equiv="X-UA-Compatible" content="IE=edge" />
     <title>SMP</title>
-    <link rel="icon" type="image/x-icon" href="/favicon.ico">
+    <link rel="icon" type="image/x-ico" href="favicon.ico">
     <style type="text/css">
     body { font-family: Arial, Helvetica, sans-serif; }
     a, a:link, a:visited, a:hover, a:active { color: blue; }
-- 
GitLab