diff --git a/.mvn/extensions.xml b/.mvn/extensions.xml index 092d9a6022ad..adfffe5c7097 100644 --- a/.mvn/extensions.xml +++ b/.mvn/extensions.xml @@ -25,7 +25,7 @@ xsi:schemaLocation="http://maven.apache.org/EXTENSIONS/1.1.0 https://maven.apach com.gradle develocity-maven-extension - 1.22.1 + 1.22.2 com.gradle diff --git a/pom.xml b/pom.xml index cdbc6b0ea7a8..d9516f4e3e26 100644 --- a/pom.xml +++ b/pom.xml @@ -62,7 +62,7 @@ by jetty is referenced in its mod files. When upgrading Jetty, check the version of SF4J used and set the version here. --> 2.0.13 - 4.1.113.Final + 4.1.114.Final 5.6.15.Final 3.4.0 1.4.3 diff --git a/xwiki-platform-core/pom.xml b/xwiki-platform-core/pom.xml index d14fb99f50ed..12d6a5a6335f 100644 --- a/xwiki-platform-core/pom.xml +++ b/xwiki-platform-core/pom.xml @@ -265,7 +265,7 @@ org.codehaus.gmavenplus gmavenplus-plugin - 3.0.2 + 4.0.1 set-system-properties-file diff --git a/xwiki-platform-core/xwiki-platform-appwithinminutes/xwiki-platform-appwithinminutes-test/xwiki-platform-appwithinminutes-test-docker/src/test/it/org/xwiki/appwithinminutes/test/ui/DocumentFieldsIT.java b/xwiki-platform-core/xwiki-platform-appwithinminutes/xwiki-platform-appwithinminutes-test/xwiki-platform-appwithinminutes-test-docker/src/test/it/org/xwiki/appwithinminutes/test/ui/DocumentFieldsIT.java index 405356a4035a..4eae2a2ca11a 100644 --- a/xwiki-platform-core/xwiki-platform-appwithinminutes/xwiki-platform-appwithinminutes-test/xwiki-platform-appwithinminutes-test-docker/src/test/it/org/xwiki/appwithinminutes/test/ui/DocumentFieldsIT.java +++ b/xwiki-platform-core/xwiki-platform-appwithinminutes/xwiki-platform-appwithinminutes-test/xwiki-platform-appwithinminutes-test-docker/src/test/it/org/xwiki/appwithinminutes/test/ui/DocumentFieldsIT.java @@ -59,7 +59,7 @@ "xwikiPropertiesAdditionalProperties=test.prchecker.excludePattern=.*:AppWithinMinutes\\.(ClassEditSheet|DynamicMessageTool|LiveTableEditSheet)"}) class DocumentFieldsIT { - private String appName = RandomStringUtils.randomAlphabetic(6); + private String appName = RandomStringUtils.secure().nextAlphabetic(6); @BeforeAll static void beforeAll(TestUtils setup) diff --git a/xwiki-platform-core/xwiki-platform-container/xwiki-platform-container-servlet/src/main/java/org/xwiki/container/servlet/filters/SavedRequestManager.java b/xwiki-platform-core/xwiki-platform-container/xwiki-platform-container-servlet/src/main/java/org/xwiki/container/servlet/filters/SavedRequestManager.java index 30e499273dfe..9c62160c4367 100644 --- a/xwiki-platform-core/xwiki-platform-container/xwiki-platform-container-servlet/src/main/java/org/xwiki/container/servlet/filters/SavedRequestManager.java +++ b/xwiki-platform-core/xwiki-platform-container/xwiki-platform-container-servlet/src/main/java/org/xwiki/container/servlet/filters/SavedRequestManager.java @@ -68,7 +68,7 @@ public static class SavedRequest implements Serializable @SuppressWarnings("unchecked") public SavedRequest(HttpServletRequest request) { - this.parameters = new HashMap(request.getParameterMap()); + this.parameters = new HashMap<>(request.getParameterMap()); this.requestUrl = request.getRequestURL().toString(); } @@ -166,7 +166,7 @@ public static String saveRequest(HttpServletRequest request) Map savedRequests = (Map) session.getAttribute(getSavedRequestKey()); if (savedRequests == null) { - savedRequests = new HashMap(); + savedRequests = new HashMap<>(); session.setAttribute(getSavedRequestKey(), savedRequests); } // Save the request data @@ -174,7 +174,7 @@ public static String saveRequest(HttpServletRequest request) // Generate a random key to identify this request String key; do { - key = RandomStringUtils.secure().randomAlphanumeric(8); + key = RandomStringUtils.secure().nextAlphanumeric(8); } while (savedRequests.containsKey(key)); // Store the saved request savedRequests.put(key, savedRequest); diff --git a/xwiki-platform-core/xwiki-platform-eventstream/xwiki-platform-eventstream-api/src/main/java/org/xwiki/eventstream/internal/DefaultEventStore.java b/xwiki-platform-core/xwiki-platform-eventstream/xwiki-platform-eventstream-api/src/main/java/org/xwiki/eventstream/internal/DefaultEventStore.java index 243afb30de45..9611c79b43ff 100644 --- a/xwiki-platform-core/xwiki-platform-eventstream/xwiki-platform-eventstream-api/src/main/java/org/xwiki/eventstream/internal/DefaultEventStore.java +++ b/xwiki-platform-core/xwiki-platform-eventstream/xwiki-platform-eventstream-api/src/main/java/org/xwiki/eventstream/internal/DefaultEventStore.java @@ -394,7 +394,7 @@ private String generateEventId(Event event, ExecutionContext context) } final String id = - String.format("%d-%d-%s", hash, event.getDate().getTime(), RandomStringUtils.randomAlphanumeric(8)); + String.format("%d-%d-%s", hash, event.getDate().getTime(), RandomStringUtils.secure().nextAlphanumeric(8)); if (context != null && context.getProperty(GROUP_ID_CONTEXT_KEY) == null) { context.setProperty(GROUP_ID_CONTEXT_KEY, id); } diff --git a/xwiki-platform-core/xwiki-platform-oldcore/src/main/java/com/xpn/xwiki/XWiki.java b/xwiki-platform-core/xwiki-platform-oldcore/src/main/java/com/xpn/xwiki/XWiki.java index 780d6f2b9c6f..68bb8e850a12 100644 --- a/xwiki-platform-core/xwiki-platform-oldcore/src/main/java/com/xpn/xwiki/XWiki.java +++ b/xwiki-platform-core/xwiki-platform-oldcore/src/main/java/com/xpn/xwiki/XWiki.java @@ -4102,7 +4102,7 @@ public void sendValidationEmail(String xwikiname, String password, String email, public String generateRandomString(int size) { - return RandomStringUtils.randomAlphanumeric(size); + return RandomStringUtils.secure().nextAlphanumeric(size); } public String generateValidationKey(int size) diff --git a/xwiki-platform-core/xwiki-platform-oldcore/src/main/java/com/xpn/xwiki/export/html/HtmlPackager.java b/xwiki-platform-core/xwiki-platform-oldcore/src/main/java/com/xpn/xwiki/export/html/HtmlPackager.java index 5f34881b0937..728fd2475197 100644 --- a/xwiki-platform-core/xwiki-platform-oldcore/src/main/java/com/xpn/xwiki/export/html/HtmlPackager.java +++ b/xwiki-platform-core/xwiki-platform-oldcore/src/main/java/com/xpn/xwiki/export/html/HtmlPackager.java @@ -360,7 +360,7 @@ public void export(XWikiContext context) throws IOException, XWikiException context.setFinished(true); File dir = this.environment.getTemporaryDirectory(); - File tempdir = new File(dir, RandomStringUtils.randomAlphanumeric(8)); + File tempdir = new File(dir, RandomStringUtils.secure().nextAlphanumeric(8)); tempdir.mkdirs(); try { diff --git a/xwiki-platform-core/xwiki-platform-oldcore/src/main/java/com/xpn/xwiki/pdf/impl/PdfExportImpl.java b/xwiki-platform-core/xwiki-platform-oldcore/src/main/java/com/xpn/xwiki/pdf/impl/PdfExportImpl.java index b4d86b793d54..0d987d0647c4 100644 --- a/xwiki-platform-core/xwiki-platform-oldcore/src/main/java/com/xpn/xwiki/pdf/impl/PdfExportImpl.java +++ b/xwiki-platform-core/xwiki-platform-oldcore/src/main/java/com/xpn/xwiki/pdf/impl/PdfExportImpl.java @@ -146,7 +146,7 @@ public void export(XWikiDocument doc, OutputStream out, ExportType type, XWikiCo // would also need to get the translations and set them too. File dir = this.environment.getTemporaryDirectory(); - File tempdir = new File(dir, RandomStringUtils.randomAlphanumeric(8)); + File tempdir = new File(dir, RandomStringUtils.secure().nextAlphanumeric(8)); try { FileUtils.forceMkdir(tempdir); } catch (IOException e) { diff --git a/xwiki-platform-core/xwiki-platform-oldcore/src/main/java/com/xpn/xwiki/stats/impl/StatsUtil.java b/xwiki-platform-core/xwiki-platform-oldcore/src/main/java/com/xpn/xwiki/stats/impl/StatsUtil.java index 791e37f82908..2cc2c94d7317 100644 --- a/xwiki-platform-core/xwiki-platform-oldcore/src/main/java/com/xpn/xwiki/stats/impl/StatsUtil.java +++ b/xwiki-platform-core/xwiki-platform-oldcore/src/main/java/com/xpn/xwiki/stats/impl/StatsUtil.java @@ -641,7 +641,7 @@ protected static VisitStats findVisitByIPUA(String uniqueID, XWikiContext contex */ protected static Cookie addCookie(XWikiContext context) { - Cookie cookie = new Cookie(COOKPROP_VISITID, RandomStringUtils.randomAlphanumeric(32).toUpperCase()); + Cookie cookie = new Cookie(COOKPROP_VISITID, RandomStringUtils.secure().nextAlphanumeric(32).toUpperCase()); cookie.setPath("/"); int time = (int) (getCookieExpirationDate().getTime() - (new Date()).getTime()) / 1000; diff --git a/xwiki-platform-core/xwiki-platform-oldcore/src/main/java/com/xpn/xwiki/web/Utils.java b/xwiki-platform-core/xwiki-platform-oldcore/src/main/java/com/xpn/xwiki/web/Utils.java index 1ecf2509d92e..88a4f843d766 100644 --- a/xwiki-platform-core/xwiki-platform-oldcore/src/main/java/com/xpn/xwiki/web/Utils.java +++ b/xwiki-platform-core/xwiki-platform-oldcore/src/main/java/com/xpn/xwiki/web/Utils.java @@ -867,7 +867,7 @@ public static String createPlaceholder(String value, XWikiContext context) Map renderingKeys = (Map) context.get(PLACEHOLDERS_CONTEXT_KEY); String key; do { - key = "KEY" + RandomStringUtils.randomAlphanumeric(10) + "KEY"; + key = "KEY" + RandomStringUtils.secure().nextAlphanumeric(10) + "KEY"; } while (renderingKeys.containsKey(key)); renderingKeys.put(key, value); diff --git a/xwiki-platform-core/xwiki-platform-rendering/xwiki-platform-rendering-macros/xwiki-platform-rendering-macro-include/src/test/java/org/xwiki/rendering/internal/macro/include/IncludeMacroTest.java b/xwiki-platform-core/xwiki-platform-rendering/xwiki-platform-rendering-macros/xwiki-platform-rendering-macro-include/src/test/java/org/xwiki/rendering/internal/macro/include/IncludeMacroTest.java index 6b1045543bd9..2b446a631965 100644 --- a/xwiki-platform-core/xwiki-platform-rendering/xwiki-platform-rendering-macros/xwiki-platform-rendering-macro-include/src/test/java/org/xwiki/rendering/internal/macro/include/IncludeMacroTest.java +++ b/xwiki-platform-core/xwiki-platform-rendering/xwiki-platform-rendering-macros/xwiki-platform-rendering-macro-include/src/test/java/org/xwiki/rendering/internal/macro/include/IncludeMacroTest.java @@ -103,9 +103,9 @@ @AllComponents(excludes = {CurrentMacroEntityReferenceResolver.class, DefaultAuthorizationManager.class}) class IncludeMacroTest { - private final static DocumentReference INCLUDER_AUHOR = new DocumentReference("wiki", "XWiki", "includer"); + private final static DocumentReference INCLUDER_AUTHOR = new DocumentReference("wiki", "XWiki", "includer"); - private final static DocumentReference INCLUDED_AUHOR = new DocumentReference("wiki", "XWiki", "included"); + private final static DocumentReference INCLUDED_AUTHOR = new DocumentReference("wiki", "XWiki", "included"); @InjectComponentManager private MockitoComponentManager componentManager; @@ -151,7 +151,7 @@ public void setUp() throws Exception this.includeMacro = this.componentManager.getInstance(Macro.class, "include"); this.rendererFactory = this.componentManager.getInstance(PrintRendererFactory.class, "event/1.0"); - when(this.dab.getCurrentAuthorReference()).thenReturn(INCLUDER_AUHOR); + when(this.dab.getCurrentAuthorReference()).thenReturn(INCLUDER_AUTHOR); // Put a fake XWiki context on the execution context. Execution execution = this.componentManager.getInstance(Execution.class); @@ -189,7 +189,7 @@ void executeWithPRAuthors() throws Exception + "endDocument"; // @formatter:on - when(this.authorizationManager.hasAccess(Right.PROGRAM, INCLUDED_AUHOR, null)).thenReturn(true); + when(this.authorizationManager.hasAccess(Right.PROGRAM, INCLUDED_AUTHOR, null)).thenReturn(true); List blocks = runIncludeMacro(Context.CURRENT, "word", false); @@ -329,7 +329,7 @@ void executeWithCurrentContextShowsVelocityMacrosAreShared() throws Exception + "endDocument"; // @formatter:on - when(this.authorizationManager.hasAccess(Right.PROGRAM, INCLUDED_AUHOR, null)).thenReturn(true); + when(this.authorizationManager.hasAccess(Right.PROGRAM, INCLUDED_AUTHOR, null)).thenReturn(true); // We verify that a Velocity macro set in the including page is seen in the included page. List blocks = runIncludeMacroWithPreVelocity(Context.CURRENT, "#macro(testmacro)#end", @@ -407,7 +407,8 @@ void adaptIdsOfIncludedHeadingsAndImages() throws Exception { // @formatter:off String expected = "beginDocument\n" - + "beginMetaData [[base]=[includedWiki:includedSpace.includedPage][source]=[includedWiki:includedSpace.includedPage][syntax]=[XWiki 2.0]]\n" + + "beginMetaData [[base]=[includedWiki:includedSpace.includedPage][source]=" + + "[includedWiki:includedSpace.includedPage][syntax]=[XWiki 2.0]]\n" + "beginSection\n" + "beginHeader [1, HHeading-1]\n" + "onWord [Heading]\n" @@ -416,7 +417,8 @@ void adaptIdsOfIncludedHeadingsAndImages() throws Exception + "onImage [Typed = [false] Type = [attach] Reference = [test.png]] [true] [Itest.png-1]\n" + "endParagraph\n" + "endSection\n" - + "endMetaData [[base]=[includedWiki:includedSpace.includedPage][source]=[includedWiki:includedSpace.includedPage][syntax]=[XWiki 2.0]]\n" + + "endMetaData [[base]=[includedWiki:includedSpace.includedPage][source]=" + + "[includedWiki:includedSpace.includedPage][syntax]=[XWiki 2.0]]\n" + "endDocument"; // @formatter:on @@ -631,7 +633,7 @@ void executeWhenExcludeFirstHeadingTrueAndSectionSpecifiedAndHeadingIsFirstBlock when(this.dab.getCurrentDocumentReference()) .thenReturn(new DocumentReference("wiki", "Space", "IncludingPage")); - when(this.authorizationManager.hasAccess(Right.PROGRAM, INCLUDED_AUHOR, null)).thenReturn(true); + when(this.authorizationManager.hasAccess(Right.PROGRAM, INCLUDED_AUTHOR, null)).thenReturn(true); List blocks = this.includeMacro.execute(parameters, null, macroContext); @@ -740,7 +742,7 @@ private void setupDocumentMocks(String includedDocumentReferenceString, Document XDOM xdom = toXDOM(includedContent); when(this.includedDocument.getPreparedXDOM()).thenReturn(xdom); when(this.includedDocument.getRealLanguage()).thenReturn(""); - when(this.includedDocument.getContentAuthorReference()).thenReturn(INCLUDED_AUHOR); + when(this.includedDocument.getContentAuthorReference()).thenReturn(INCLUDED_AUTHOR); } private XDOM toXDOM(String content) throws Exception @@ -801,11 +803,11 @@ private List runIncludeMacro(final Context context, final Author author, verify(this.dab).popDocumentFromContext(any(Map.class)); } else { if (parameters.getAuthor() == Author.CURRENT || (parameters.getAuthor() == Author.AUTO - && this.authorizationManager.hasAccess(Right.PROGRAM, INCLUDED_AUHOR, null))) { + && this.authorizationManager.hasAccess(Right.PROGRAM, INCLUDED_AUTHOR, null))) { verifyNoInteractions(this.authorExecutor); } else { DocumentReference includedReference = this.includedDocument.getDocumentReference(); - verify(this.authorExecutor).call(any(), eq(INCLUDED_AUHOR), eq(includedReference)); + verify(this.authorExecutor).call(any(), eq(INCLUDED_AUTHOR), eq(includedReference)); } } diff --git a/xwiki-platform-core/xwiki-platform-rendering/xwiki-platform-rendering-macros/xwiki-platform-rendering-macro-include/src/test/java/org/xwiki/rendering/macro/include/IncludeMacroParametersTest.java b/xwiki-platform-core/xwiki-platform-rendering/xwiki-platform-rendering-macros/xwiki-platform-rendering-macro-include/src/test/java/org/xwiki/rendering/macro/include/IncludeMacroParametersTest.java index 8ce6f2d99335..84d59283b37e 100644 --- a/xwiki-platform-core/xwiki-platform-rendering/xwiki-platform-rendering-macros/xwiki-platform-rendering-macro-include/src/test/java/org/xwiki/rendering/macro/include/IncludeMacroParametersTest.java +++ b/xwiki-platform-core/xwiki-platform-rendering/xwiki-platform-rendering-macros/xwiki-platform-rendering-macro-include/src/test/java/org/xwiki/rendering/macro/include/IncludeMacroParametersTest.java @@ -30,10 +30,10 @@ * * @version $Id$ */ -public class IncludeMacroParametersTest +class IncludeMacroParametersTest { @Test - public void setPage() + void setPage() { IncludeMacroParameters parameters = new IncludeMacroParameters(); @@ -43,7 +43,7 @@ public void setPage() } @Test - public void setExcludeFirstHeading() + void setExcludeFirstHeading() { IncludeMacroParameters parameters = new IncludeMacroParameters(); diff --git a/xwiki-platform-core/xwiki-platform-search/xwiki-platform-search-solr/xwiki-platform-search-solr-server/xwiki-platform-search-solr-server-core-search/pom.xml b/xwiki-platform-core/xwiki-platform-search/xwiki-platform-search-solr/xwiki-platform-search-solr-server/xwiki-platform-search-solr-server-core-search/pom.xml index 3ea9442652fe..a617e458fe22 100644 --- a/xwiki-platform-core/xwiki-platform-search/xwiki-platform-search-solr/xwiki-platform-search-solr-server/xwiki-platform-search-solr-server-core-search/pom.xml +++ b/xwiki-platform-core/xwiki-platform-search/xwiki-platform-search-solr/xwiki-platform-search-solr-server/xwiki-platform-search-solr-server-core-search/pom.xml @@ -49,7 +49,7 @@ ua.net.nlp morfologik-ukrainian-lt - 6.5.2 + 6.5.3 true diff --git a/xwiki-platform-core/xwiki-platform-security/xwiki-platform-security-authentication/xwiki-platform-security-authentication-api/src/main/java/org/xwiki/security/authentication/AuthenticationConfiguration.java b/xwiki-platform-core/xwiki-platform-security/xwiki-platform-security-authentication/xwiki-platform-security-authentication-api/src/main/java/org/xwiki/security/authentication/AuthenticationConfiguration.java index f3b3364e0979..9861f3ae62d0 100644 --- a/xwiki-platform-core/xwiki-platform-security/xwiki-platform-security-authentication/xwiki-platform-security-authentication-api/src/main/java/org/xwiki/security/authentication/AuthenticationConfiguration.java +++ b/xwiki-platform-core/xwiki-platform-security/xwiki-platform-security-authentication/xwiki-platform-security-authentication-api/src/main/java/org/xwiki/security/authentication/AuthenticationConfiguration.java @@ -81,7 +81,7 @@ default List getCookieDomains() */ default String getValidationKey() { - return RandomStringUtils.random(32); + return RandomStringUtils.secure().next(32); } /** @@ -95,6 +95,6 @@ default String getValidationKey() */ default String getEncryptionKey() { - return RandomStringUtils.random(32); + return RandomStringUtils.secure().next(32); } } diff --git a/xwiki-platform-core/xwiki-platform-security/xwiki-platform-security-authentication/xwiki-platform-security-authentication-default/src/main/java/org/xwiki/security/authentication/internal/DefaultAuthenticationConfiguration.java b/xwiki-platform-core/xwiki-platform-security/xwiki-platform-security-authentication/xwiki-platform-security-authentication-default/src/main/java/org/xwiki/security/authentication/internal/DefaultAuthenticationConfiguration.java index b1f8de0ba023..8b2aa02b73fb 100644 --- a/xwiki-platform-core/xwiki-platform-security/xwiki-platform-security-authentication/xwiki-platform-security-authentication-default/src/main/java/org/xwiki/security/authentication/internal/DefaultAuthenticationConfiguration.java +++ b/xwiki-platform-core/xwiki-platform-security/xwiki-platform-security-authentication/xwiki-platform-security-authentication-default/src/main/java/org/xwiki/security/authentication/internal/DefaultAuthenticationConfiguration.java @@ -25,7 +25,7 @@ import javax.inject.Named; import javax.inject.Singleton; -import org.apache.commons.lang.RandomStringUtils; +import org.apache.commons.lang3.RandomStringUtils; import org.apache.commons.lang3.StringUtils; import org.slf4j.Logger; import org.xwiki.component.annotation.Component; @@ -141,7 +141,7 @@ private synchronized String getGeneratedKey(String name) // If still not found, generate one and store it in the permanent configuration if (generatedKey == null) { - generatedKey = RandomStringUtils.random(32); + generatedKey = RandomStringUtils.secure().next(32); try { this.permanentConfiguration.setProperty(name, generatedKey); } catch (ConfigurationSaveException e) { diff --git a/xwiki-platform-core/xwiki-platform-store/xwiki-platform-store-filesystem-oldcore/src/main/java/org/xwiki/store/filesystem/internal/FilesystemStoreTools.java b/xwiki-platform-core/xwiki-platform-store/xwiki-platform-store-filesystem-oldcore/src/main/java/org/xwiki/store/filesystem/internal/FilesystemStoreTools.java index 0436e13fd4b8..e23408c4bfac 100644 --- a/xwiki-platform-core/xwiki-platform-store/xwiki-platform-store-filesystem-oldcore/src/main/java/org/xwiki/store/filesystem/internal/FilesystemStoreTools.java +++ b/xwiki-platform-core/xwiki-platform-store/xwiki-platform-store-filesystem-oldcore/src/main/java/org/xwiki/store/filesystem/internal/FilesystemStoreTools.java @@ -209,7 +209,8 @@ public File getBackupFile(final File storageFile) // We pad our file names with random alphanumeric characters so that multiple operations on the same // file in the same transaction do not collide, the set of all capital and lower case letters // and numbers has 62 possibilities and 62^8 = 218340105584896 between 2^47 and 2^48. - return new File(storageFile.getAbsolutePath() + BACKUP_FILE_SUFFIX + RandomStringUtils.randomAlphanumeric(8)); + return new File(storageFile.getAbsolutePath() + BACKUP_FILE_SUFFIX + + RandomStringUtils.secure().nextAlphanumeric(8)); } /** @@ -221,7 +222,8 @@ public File getBackupFile(final File storageFile) */ public File getTempFile(final File storageFile) { - return new File(storageFile.getAbsolutePath() + TEMP_FILE_SUFFIX + RandomStringUtils.randomAlphanumeric(8)); + return new File(storageFile.getAbsolutePath() + TEMP_FILE_SUFFIX + + RandomStringUtils.secure().nextAlphanumeric(8)); } /**