This is an automated email from the ASF dual-hosted git repository.

solomax pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/openmeetings.git


The following commit(s) were added to refs/heads/master by this push:
     new ff7f413  [OPENMEETINGS-2593] wicket and friends
ff7f413 is described below

commit ff7f413bba288e571cf7088df3cf9e212f01c56f
Author: Maxim Solodovnik <solomax...@gmail.com>
AuthorDate: Sat Apr 3 23:38:49 2021 +0700

    [OPENMEETINGS-2593] wicket and friends
---
 openmeetings-db/pom.xml                            |  8 +++++-
 .../src/site/xdoc/CommandLineAdmin.xml             |  2 +-
 .../util/crypt/SCryptImplementation.java           |  2 +-
 openmeetings-web/pom.xml                           | 16 ++++++------
 .../apache/openmeetings/web/app/Application.java   |  9 ++++---
 .../web/app/OmAuthenticationStrategy.java          | 14 ++++++++--
 .../apache/openmeetings/web/room/RoomPanel.java    |  3 +--
 .../webapp/WEB-INF/classes/openmeetings.properties |  3 +++
 .../web/app/TestOmAuthenticationStrategy.java      |  4 ++-
 .../web/pages/install/TestInstall.java             |  4 +--
 pom.xml                                            | 30 ++++++++++------------
 11 files changed, 57 insertions(+), 38 deletions(-)

diff --git a/openmeetings-db/pom.xml b/openmeetings-db/pom.xml
index af04d2f..70f725f 100644
--- a/openmeetings-db/pom.xml
+++ b/openmeetings-db/pom.xml
@@ -39,9 +39,15 @@
                        <artifactId>openmeetings-util</artifactId>
                </dependency>
                <dependency>
+                       <!-- required for JAXB/CXF -->
+                       <groupId>org.glassfish.jaxb</groupId>
+                       <artifactId>jaxb-runtime</artifactId>
+                       <version>2.3.3</version>
+               </dependency>
+               <dependency>
                        <groupId>org.wicketstuff</groupId>
                        <artifactId>wicketstuff-datastore-hazelcast</artifactId>
-                       <version>${wickets.version}</version>
+                       <version>${wicketstuff.version}</version>
                </dependency>
                <dependency>
                        <groupId>org.apache.openjpa</groupId>
diff --git a/openmeetings-server/src/site/xdoc/CommandLineAdmin.xml 
b/openmeetings-server/src/site/xdoc/CommandLineAdmin.xml
index e49f897..bab505c 100644
--- a/openmeetings-server/src/site/xdoc/CommandLineAdmin.xml
+++ b/openmeetings-server/src/site/xdoc/CommandLineAdmin.xml
@@ -53,7 +53,7 @@
  -r,--restore                        Restores OM
    -file <arg>                       file used for backup/restore/install
 
--------------------------------------------------------------------------------------------------
- -l,--LDAP                           Import LDAP users into DB
+ -l,--ldap                           Import LDAP users into DB
    -d,--domain-id <arg>              LDAP domain Id
       --print-only                   (optional) Print users found instead of 
importing
 
--------------------------------------------------------------------------------------------------
diff --git 
a/openmeetings-util/src/main/java/org/apache/openmeetings/util/crypt/SCryptImplementation.java
 
b/openmeetings-util/src/main/java/org/apache/openmeetings/util/crypt/SCryptImplementation.java
index 560d824..542eef9 100644
--- 
a/openmeetings-util/src/main/java/org/apache/openmeetings/util/crypt/SCryptImplementation.java
+++ 
b/openmeetings-util/src/main/java/org/apache/openmeetings/util/crypt/SCryptImplementation.java
@@ -60,7 +60,7 @@ public class SCryptImplementation implements ICrypt {
                        props.load(is);
                        cost = Integer.valueOf(props.getProperty("scrypt.cost", 
"" + cost));
                } catch (Exception e) {
-                       log.error("Failed to initialize the cost", e);
+                       log.error("Failed to initialize the cost {}", 
e.getMessage());
                }
        }
 
diff --git a/openmeetings-web/pom.xml b/openmeetings-web/pom.xml
index 8f34c03..1929ad1 100644
--- a/openmeetings-web/pom.xml
+++ b/openmeetings-web/pom.xml
@@ -556,7 +556,7 @@
                <dependency>
                        <groupId>org.wicketstuff</groupId>
                        <artifactId>wicketstuff-dashboard-core</artifactId>
-                       <version>${wickets.version}</version>
+                       <version>${wicketstuff.version}</version>
                </dependency>
                <dependency>
                        <groupId>org.apache.wicket</groupId>
@@ -576,37 +576,37 @@
                <dependency>
                        <groupId>com.googlecode.wicket-jquery-ui</groupId>
                        <artifactId>wicket-jquery-ui-core</artifactId>
-                       <version>${wicketju.version}</version>
+                       <version>${wicket-jquery-ui.version}</version>
                </dependency>
                <dependency>
                        <groupId>com.googlecode.wicket-jquery-ui</groupId>
                        <artifactId>wicket-jquery-ui</artifactId>
-                       <version>${wicketju.version}</version>
+                       <version>${wicket-jquery-ui.version}</version>
                </dependency>
                <dependency>
                        <groupId>com.googlecode.wicket-jquery-ui</groupId>
                        <artifactId>wicket-jquery-ui-calendar</artifactId>
-                       <version>${wicketju.version}</version>
+                       <version>${wicket-jquery-ui.version}</version>
                </dependency>
                <dependency>
                        <groupId>com.googlecode.wicket-jquery-ui</groupId>
                        <artifactId>wicket-jquery-ui-plugins</artifactId>
-                       <version>${wicketju.version}</version>
+                       <version>${wicket-jquery-ui.version}</version>
                </dependency>
                <dependency>
                        <groupId>org.wicketstuff</groupId>
                        <artifactId>wicketstuff-urlfragment</artifactId>
-                       <version>${wickets.version}</version>
+                       <version>${wicketstuff.version}</version>
                </dependency>
                <dependency>
                        <groupId>org.wicketstuff</groupId>
                        <artifactId>wicketstuff-select2</artifactId>
-                       <version>${wickets.version}</version>
+                       <version>${wicketstuff.version}</version>
                </dependency>
                <dependency>
                        <groupId>org.wicketstuff</groupId>
                        <artifactId>jqplot</artifactId>
-                       <version>${wickets.version}</version>
+                       <version>${wicketstuff.version}</version>
                </dependency>
                <dependency>
                        <groupId>de.agilecoders.wicket</groupId>
diff --git 
a/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application.java
 
b/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application.java
index 440db0f..c70725e 100644
--- 
a/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application.java
+++ 
b/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application.java
@@ -111,7 +111,7 @@ import 
org.apache.wicket.markup.head.filter.FilteringHeaderResponse;
 import org.apache.wicket.markup.html.WebPage;
 import org.apache.wicket.pageStore.IPageStore;
 import org.apache.wicket.pageStore.SerializingPageStore;
-import 
org.apache.wicket.protocol.ws.WebSocketAwareCsrfPreventionRequestCycleListener;
+import 
org.apache.wicket.protocol.ws.WebSocketAwareResourceIsolationRequestCycleListener;
 import org.apache.wicket.request.IRequestHandler;
 import org.apache.wicket.request.Response;
 import org.apache.wicket.request.Url;
@@ -129,6 +129,7 @@ import org.apache.wicket.validation.validator.UrlValidator;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.beans.factory.annotation.Value;
 import org.springframework.context.ApplicationContext;
 import org.springframework.stereotype.Component;
 import org.wicketstuff.dashboard.WidgetRegistry;
@@ -190,11 +191,13 @@ public class Application extends 
AuthenticatedWebApplication implements IApplica
        private AppointmentDao appointmentDao;
        @Autowired
        private SipManager sipManager;
+       @Value("${remember.me.encryption.key}")
+       private String encryptionKey;
 
        @Override
        protected void init() {
                setWicketApplicationName(super.getName());
-               getSecuritySettings().setAuthenticationStrategy(new 
OmAuthenticationStrategy());
+               getSecuritySettings().setAuthenticationStrategy(new 
OmAuthenticationStrategy(encryptionKey));
                
getApplicationSettings().setAccessDeniedPage(AccessDeniedPage.class);
                
getApplicationSettings().setInternalErrorPage(InternalErrorPage.class);
                
getExceptionSettings().setUnexpectedExceptionDisplay(ExceptionSettings.SHOW_INTERNAL_ERROR_PAGE);
@@ -263,7 +266,7 @@ public class Application extends 
AuthenticatedWebApplication implements IApplica
                //chain of Resource Loaders, if not found it will search in 
Wicket's internal
                //Resource Loader for a the property key
                getResourceSettings().getStringResourceLoaders().add(0, new 
LabelResourceLoader());
-               getRequestCycleListeners().add(new 
WebSocketAwareCsrfPreventionRequestCycleListener() {
+               getRequestCycleListeners().add(new 
WebSocketAwareResourceIsolationRequestCycleListener() {
                        @Override
                        public void onBeginRequest(RequestCycle cycle) {
                                String wsUrl = 
getWsUrl(cycle.getRequest().getUrl());
diff --git 
a/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/OmAuthenticationStrategy.java
 
b/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/OmAuthenticationStrategy.java
index b83266c..070f9ef 100644
--- 
a/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/OmAuthenticationStrategy.java
+++ 
b/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/OmAuthenticationStrategy.java
@@ -20,13 +20,15 @@ package org.apache.openmeetings.web.app;
 
 import org.apache.openmeetings.db.entity.user.User.Type;
 import org.apache.wicket.authentication.strategy.DefaultAuthenticationStrategy;
+import org.apache.wicket.util.crypt.ICrypt;
+import org.apache.wicket.util.crypt.SunJceCrypt;
 import org.apache.wicket.util.string.Strings;
 
 public class OmAuthenticationStrategy extends DefaultAuthenticationStrategy {
        private static final String COOKIE_KEY = "LoggedIn";
 
-       public OmAuthenticationStrategy() {
-               super(COOKIE_KEY);
+       public OmAuthenticationStrategy(String encryptionKey) {
+               super(COOKIE_KEY, defaultCrypt(encryptionKey));
        }
 
        /**
@@ -65,4 +67,12 @@ public class OmAuthenticationStrategy extends 
DefaultAuthenticationStrategy {
                        super.save(username, password, type.name(), 
String.valueOf(domainId));
                }
        }
+
+       private static ICrypt defaultCrypt(String encryptionKey) {
+               byte[] salt = SunJceCrypt.randomSalt();
+
+               SunJceCrypt crypt = new SunJceCrypt(salt, 1000);
+               crypt.setKey(encryptionKey);
+               return crypt;
+       }
 }
diff --git 
a/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/RoomPanel.java
 
b/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/RoomPanel.java
index 98781c1..de66749 100644
--- 
a/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/RoomPanel.java
+++ 
b/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/RoomPanel.java
@@ -529,7 +529,7 @@ public class RoomPanel extends BasePanel {
                                                        wb.reloadWb(handler);
                                                }
                                                break;
-                                       case MODERATOR_IN_ROOM: {
+                                       case MODERATOR_IN_ROOM:
                                                if (!r.isModerated() || 
!r.isWaitModerator()) {
                                                        log.warn("Something 
weird: `moderatorInRoom` in wrong room {}", r);
                                                } else if 
(!curClient.hasRight(Room.Right.MODERATOR)) {
@@ -546,7 +546,6 @@ public class RoomPanel extends BasePanel {
                                                                }
                                                        }
                                                }
-                                       }
                                                break;
                                        case WB_PUT_FILE:
                                                onWbPutFile((TextRoomMessage)m);
diff --git 
a/openmeetings-web/src/main/webapp/WEB-INF/classes/openmeetings.properties 
b/openmeetings-web/src/main/webapp/WEB-INF/classes/openmeetings.properties
index 41727a7..b2aadca 100644
--- a/openmeetings-web/src/main/webapp/WEB-INF/classes/openmeetings.properties
+++ b/openmeetings-web/src/main/webapp/WEB-INF/classes/openmeetings.properties
@@ -18,6 +18,9 @@
 #
 ################## Crypt ##################
 scrypt.cost=16384
+## please ensure this one is unique, better to regenerate it from time to time
+## can be generated for ex. here https://www.uuidtools.com
+remember.me.encryption.key=27574200-a56f-410a-b2c9-3aa3b4b9389a
 
 ################## Timeouts ##################
 #                      5000            == 5 sec
diff --git 
a/openmeetings-web/src/test/java/org/apache/openmeetings/web/app/TestOmAuthenticationStrategy.java
 
b/openmeetings-web/src/test/java/org/apache/openmeetings/web/app/TestOmAuthenticationStrategy.java
index ba0e5c9..59faea9 100644
--- 
a/openmeetings-web/src/test/java/org/apache/openmeetings/web/app/TestOmAuthenticationStrategy.java
+++ 
b/openmeetings-web/src/test/java/org/apache/openmeetings/web/app/TestOmAuthenticationStrategy.java
@@ -18,6 +18,7 @@
  */
 package org.apache.openmeetings.web.app;
 
+import static java.util.UUID.randomUUID;
 import static org.junit.jupiter.api.Assertions.assertEquals;
 import static org.junit.jupiter.api.Assertions.assertNotNull;
 import static org.junit.jupiter.api.Assertions.assertNull;
@@ -31,7 +32,8 @@ import org.junit.jupiter.api.Test;
 class TestOmAuthenticationStrategy extends AbstractWicketTester {
        @Test
        void test() {
-               OmAuthenticationStrategy s = new OmAuthenticationStrategy();
+               String encKey = randomUUID().toString();
+               OmAuthenticationStrategy s = new 
OmAuthenticationStrategy(encKey);
                s.save(null, null, User.Type.OAUTH, null);
                assertNull(s.load(), "Wasn't saved, should not be loaded");
 
diff --git 
a/openmeetings-web/src/test/java/org/apache/openmeetings/web/pages/install/TestInstall.java
 
b/openmeetings-web/src/test/java/org/apache/openmeetings/web/pages/install/TestInstall.java
index cab2612..de2da84 100644
--- 
a/openmeetings-web/src/test/java/org/apache/openmeetings/web/pages/install/TestInstall.java
+++ 
b/openmeetings-web/src/test/java/org/apache/openmeetings/web/pages/install/TestInstall.java
@@ -51,7 +51,7 @@ import org.apache.openmeetings.web.app.WebSession;
 import org.apache.wicket.ajax.AjaxClientInfoBehavior;
 import org.apache.wicket.behavior.AbstractAjaxBehavior;
 import org.apache.wicket.extensions.wizard.WizardButton;
-import 
org.apache.wicket.protocol.ws.WebSocketAwareCsrfPreventionRequestCycleListener;
+import 
org.apache.wicket.protocol.ws.WebSocketAwareResourceIsolationRequestCycleListener;
 import org.apache.wicket.request.cycle.IRequestCycleListener;
 import org.apache.wicket.request.cycle.RequestCycleListenerCollection;
 import org.apache.wicket.util.tester.FormTester;
@@ -99,7 +99,7 @@ public class TestInstall {
                RequestCycleListenerCollection listeners = 
tester.getApplication().getRequestCycleListeners();
                for (Iterator<IRequestCycleListener> iter = 
listeners.iterator(); iter.hasNext();) {
                        IRequestCycleListener l = iter.next();
-                       if (l instanceof 
WebSocketAwareCsrfPreventionRequestCycleListener) {
+                       if (l instanceof 
WebSocketAwareResourceIsolationRequestCycleListener) {
                                listeners.remove(l);
                                break;
                        }
diff --git a/pom.xml b/pom.xml
index 08c012b..3c88983 100644
--- a/pom.xml
+++ b/pom.xml
@@ -78,15 +78,15 @@
                
<frontend-maven-plugin.version>1.11.0</frontend-maven-plugin.version>
                <!-- dependency versions -->
                <junit.version>5.7.1</junit.version>
-               <wicket.version>9.2.0</wicket.version>
-               <wicketju.version>9.2.1</wicketju.version>
-               <wickets.version>9.2.0</wickets.version>
-               <wicket-bootstrap.version>5.0.3</wicket-bootstrap.version>
+               <wicket.version>9.3.0</wicket.version>
+               <wicket-jquery-ui.version>9.3.1</wicket-jquery-ui.version>
+               <wicketstuff.version>9.3.0</wicketstuff.version>
+               <wicket-bootstrap.version>5.0.4</wicket-bootstrap.version>
                <font-awesome.version>5.15.2</font-awesome.version>
-               <spring.version>5.3.4</spring.version>
+               <spring.version>5.3.5</spring.version>
                <tomcat.version>9.0.44</tomcat.version>
                <ical4j.version>3.0.21</ical4j.version>
-               <cxf.version>3.4.2</cxf.version>
+               <cxf.version>3.4.3</cxf.version>
                <io.prometheus.version>0.10.0</io.prometheus.version>
                <aspectjtools.version>1.9.6</aspectjtools.version>
                <simple-xml.version>2.7.1</simple-xml.version>
@@ -97,7 +97,7 @@
                <commons-lang3.version>3.12.0</commons-lang3.version>
                <javax.mail.version>1.6.2</javax.mail.version>
                <openjpa.version>3.1.2</openjpa.version>
-               <asterisk-java.version>3.10.0</asterisk-java.version>
+               <asterisk-java.version>3.11.0</asterisk-java.version>
                <commons-dbcp.version>2.8.0</commons-dbcp.version>
                <commons-pool2.version>2.9.0</commons-pool2.version>
                <commons-cli.version>1.4</commons-cli.version>
@@ -109,10 +109,10 @@
                <mssql.version>9.2.1.jre11</mssql.version>
                <ojdbc.version>19.10.0.0</ojdbc.version>
                <commons-collections4.version>4.4</commons-collections4.version>
-               <xstream.version>1.4.15</xstream.version>
+               <xstream.version>1.4.16</xstream.version>
                <api-all.version>2.0.1</api-all.version>
                <caldav4j.version>1.0.1</caldav4j.version>
-               <tika-parsers.version>1.25</tika-parsers.version>
+               <tika-parsers.version>1.26</tika-parsers.version>
                <commons-text.version>1.9</commons-text.version>
                <slf4j.version>1.7.30</slf4j.version>
                <logback.version>1.2.3</logback.version>
@@ -659,14 +659,6 @@
                                                <groupId>org.slf4j</groupId>
                                                
<artifactId>slf4j-log4j12</artifactId>
                                        </exclusion>
-                                       <exclusion> <!-- TIKA-2801 -->
-                                               
<groupId>com.google.guava</groupId>
-                                               <artifactId>guava</artifactId>
-                                       </exclusion>
-                                       <exclusion> <!-- TIKA-2801 -->
-                                               
<groupId>com.google.protobuf</groupId>
-                                               
<artifactId>protobuf-java</artifactId>
-                                       </exclusion>
                                        <exclusion>
                                                <groupId>xml-apis</groupId>
                                                
<artifactId>xml-apis</artifactId>
@@ -675,6 +667,10 @@
                                                <groupId>xerces</groupId>
                                                
<artifactId>xercesImpl</artifactId>
                                        </exclusion>
+                                       <exclusion>
+                                               
<groupId>org.glassfish.jaxb</groupId>
+                                               
<artifactId>jaxb-runtime</artifactId>
+                                       </exclusion>
                                </exclusions>
                        </dependency>
                        <dependency>

Reply via email to