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

vy pushed a commit to branch 2.x
in repository https://gitbox.apache.org/repos/asf/logging-log4j2.git


The following commit(s) were added to refs/heads/2.x by this push:
     new b1437003da Port new Download and Installation pages to `2.x` (#2487)
b1437003da is described below

commit b1437003da7e6c958955778f107b13a6d13555ba
Author: Piotr P. Karwasz <[email protected]>
AuthorDate: Mon Apr 22 12:58:34 2024 +0200

    Port new Download and Installation pages to `2.x` (#2487)
    
    Co-authored-by: Volkan Yazıcı <[email protected]>
---
 antora-playbook.yaml                               |  10 +-
 pom.xml                                            |  38 ++
 src/site/antora/antora.tmpl.yml                    |  13 +-
 src/site/antora/antora.yml                         |  13 +-
 src/site/antora/modules/ROOT/nav.adoc              |   5 +-
 src/site/antora/modules/ROOT/pages/download.adoc   | 233 +------
 src/site/antora/modules/ROOT/pages/index.adoc      |  31 +-
 .../modules/ROOT/pages/manual/installation.adoc    | 710 +++++++++++++++++++++
 .../antora/modules/ROOT/pages/manual/logsep.adoc   |   6 +-
 src/site/antora/modules/ROOT/pages/security.adoc   | 320 ----------
 src/site/antora/modules/ROOT/pages/support.adoc    | 145 -----
 11 files changed, 814 insertions(+), 710 deletions(-)

diff --git a/antora-playbook.yaml b/antora-playbook.yaml
index 607c05b705..0b8db66622 100644
--- a/antora-playbook.yaml
+++ b/antora-playbook.yaml
@@ -77,11 +77,19 @@ ui:
         <!-- `@asciidoctor/tabs` extension styles -->
         <link rel="stylesheet" href="{{{uiRootPath}}}/css/vendor/tabs.css">
         <style>
+          /* Default `h4` and `h5` are smaller than the normal text, fix 
header font sizing: */
+          .doc h1 { font-size: 1.9rem; }
+          .doc h2 { font-size: 1.7rem; }
+          .doc h3 { font-size: 1.5rem; font-weight: 400; }
+          .doc h4 { font-size: 1.3rem; font-weight: 500; }
+          .doc h5 { font-size: 1.1rem; font-weight: 500; text-decoration: 
underline; }
+          /* Tab header fonts aren't rendered good, adjusting the font weight: 
*/
+          .tablist > ul li { font-weight: 500; } 
           /* `page-toclevels` greater than 4 are not supported by Antora UI, 
patching it: */
           .toc .toc-menu li[data-level="4"] a {
             padding-left: 2.75rem
           }
-          /* Replace the default highlight.js color for strings from red to 
green: */
+          /* Replace the default highlight.js color for strings from red 
(unnecessarily signaling something negative) to green: */
           .hljs-string {
             color: #0f8532;
           }
diff --git a/pom.xml b/pom.xml
index 65e6723903..a70186b600 100644
--- a/pom.xml
+++ b/pom.xml
@@ -331,9 +331,13 @@
     <!-- Skipping `maven-site-plugin` globally. -->
     <maven.site.skip>true</maven.site.skip>
     <maven.site.deploy.skip>true</maven.site.deploy.skip>
+    <site-commons-logging.version>1.3.1</site-commons-logging.version>
+    <site-jackson.version>2.17.0</site-jackson.version>
     <site-log4j-api.version>2.23.1</site-log4j-api.version>
     <site-log4j-core.version>2.23.1</site-log4j-core.version>
     
<site-log4j-layout-template-json.version>2.23.1</site-log4j-layout-template-json.version>
+    <site-logback.version>1.5.5</site-logback.version>
+    <site-slf4j.version>2.0.13</site-slf4j.version>
 
     <!-- =====================================================
          Direct dependency version properties (in alphabetical order)
@@ -672,21 +676,55 @@
              We need these `<dependency>` entries to trick `dependabot` to 
update the version properties automatically.
              No, we cannot use `${project.version}`, because it is not 
released yet. -->
         <dependencies>
+
+          <!-- Log4j component dependencies.
+               No, we cannot use `${project.version}`, because it is not 
released yet. -->
+
           <dependency>
             <groupId>org.apache.logging.log4j</groupId>
             <artifactId>log4j-api</artifactId>
             <version>${site-log4j-api.version}</version>
           </dependency>
+
           <dependency>
             <groupId>org.apache.logging.log4j</groupId>
             <artifactId>log4j-core</artifactId>
             <version>${site-log4j-core.version}</version>
           </dependency>
+
           <dependency>
             <groupId>org.apache.logging.log4j</groupId>
             <artifactId>log4j-layout-template-json</artifactId>
             <version>${site-log4j-layout-template-json.version}</version>
           </dependency>
+
+          <!-- Other dependencies -->
+
+          <dependency>
+            <groupId>commons-logging</groupId>
+            <artifactId>commons-logging</artifactId>
+            <version>${site-commons-logging.version}</version>
+          </dependency>
+
+          <dependency>
+            <groupId>com.fasterxml.jackson</groupId>
+            <artifactId>jackson-bom</artifactId>
+            <version>${site-jackson.version}</version>
+            <type>pom</type>
+          </dependency>
+
+          <dependency>
+            <groupId>ch.qos.logback</groupId>
+            <artifactId>logback-core</artifactId>
+            <version>${site-logback.version}</version>
+          </dependency>
+
+          <dependency>
+            <groupId>org.slf4j</groupId>
+            <artifactId>slf4j-api</artifactId>
+            <version>${site-slf4j.version}</version>
+          </dependency>
+
         </dependencies>
 
         <executions>
diff --git a/src/site/antora/antora.tmpl.yml b/src/site/antora/antora.tmpl.yml
index 01edf16908..c62fb0f3ef 100644
--- a/src/site/antora/antora.tmpl.yml
+++ b/src/site/antora/antora.tmpl.yml
@@ -38,13 +38,20 @@ version: ~
 start_page: index.adoc
 asciidoc:
   attributes:
-    log4j-api-version: "${site-log4j-api.version}"
-    log4j-core-version: "${site-log4j-core.version}"
-    log4j-layout-template-json-version: 
"${site-log4j-layout-template-json.version}"
+    # Commons
     project-github-url: "${scm.url}"
     project-name: "Log4j"
     project-id: "log4j"
     java-target-version: "${maven.compiler.target}"
     java-compiler-version: "${minimalJavaBuildVersion}"
+    logging-services-url: "https://logging.apache.org";
+    # Dependency versions
+    commons-logging-version: "${site-commons-logging.version}"
+    jackson-version: "${site-jackson.version}"
+    log4j-api-version: "${log4j-api.version}"
+    log4j-core-version: "${site-log4j-core.version}"
+    log4j-layout-template-json-version: 
"${site-log4j-layout-template-json.version}"
+    logback-version: "${site-logback.version}"
+    slf4j-version: "${site-slf4j.version}"
 nav:
   - modules/ROOT/nav.adoc
diff --git a/src/site/antora/antora.yml b/src/site/antora/antora.yml
index 4b404c7bd6..b7d1fbe16e 100644
--- a/src/site/antora/antora.yml
+++ b/src/site/antora/antora.yml
@@ -38,13 +38,20 @@ version: ~
 start_page: index.adoc
 asciidoc:
   attributes:
-    log4j-api-version: "1.2.3-api"
-    log4j-core-version: "1.2.3-core"
-    log4j-layout-template-json-version: "1.2.3-layout-template-json"
+    # Commons
     project-github-url: "https://github.com/apache/logging-log4j2";
     project-name: "Log4j"
     project-id: "log4j"
     java-target-version: "8"
     java-compiler-version: "[17,18)"
+    logging-services-url: "https://logging.apache.org";
+    # Dependency versions
+    commons-logging-version: "1.2.3-commons-logging"
+    jackson-version: "1.2.3-jackson"
+    log4j-api-version: "1.2.3-api"
+    log4j-core-version: "1.2.3-core"
+    log4j-layout-template-json-version: "1.2.3-layout-template-json"
+    logback-version: "1.2.3-logback"
+    slf4j-version: "1.2.3-slf4j"
 nav:
   - modules/ROOT/nav.adoc
diff --git a/src/site/antora/modules/ROOT/nav.adoc 
b/src/site/antora/modules/ROOT/nav.adoc
index 9083676b09..7453e67fd7 100644
--- a/src/site/antora/modules/ROOT/nav.adoc
+++ b/src/site/antora/modules/ROOT/nav.adoc
@@ -18,12 +18,13 @@
 * xref:download.adoc[Download]
 ** xref:runtime-dependencies.adoc[]
 ** xref:release-notes.adoc[]
-* xref:support.adoc[]
-** xref:security.adoc[]
+* link:{logging-services-url}/support[Support]
+** link:{logging-services-url}/security[Security]
 ** xref:thanks.adoc[Thanks]
 
 .Learn
 * xref:manual/index.adoc[]
+** xref:manual/installation.adoc[]
 ** xref:manual/architecture.adoc[]
 ** xref:manual/migration.adoc[]
 ** xref:manual/api.adoc[]
diff --git a/src/site/antora/modules/ROOT/pages/download.adoc 
b/src/site/antora/modules/ROOT/pages/download.adoc
index e9db99093d..0666d48ac9 100644
--- a/src/site/antora/modules/ROOT/pages/download.adoc
+++ b/src/site/antora/modules/ROOT/pages/download.adoc
@@ -15,234 +15,9 @@
     limitations under the License.
 ////
 
-= Install Apache Log4j
+= Download
 
-Apache Log4j is distributed under the
-https://www.apache.org/licenses/LICENSE-2.0.html[Apache License, version 2.0].
+You can manually download all published Log4j distributions, verify them, and 
see their licensing information by following the instructions in 
{logging-services-url}/download.html[the Download page] of 
{logging-services-url}[Logging Services].
 
-[#using-a-build-system]
-== Using a build system
-
-The preferred way to use Log4j in your project is to use a build system as 
Maven.
-Please add the following to your build systems configuration file `pom.xml` to 
use Log4j.
-
-Log4j needs two dependencies, since it is separated between the API and the 
Core.
-
-[tabs%sync]
-====
-Maven::
-+
-.`pom.xml` snippet
-[source,xml,subs="+attributes"]
-----
-<dependencies>
-  <dependency>
-    <groupId>org.apache.logging.log4j</groupId>
-    <artifactId>log4j-api</artifactId>
-    <version>{log4j-api-version}</version>
-  </dependency>
-  <dependency>
-    <groupId>org.apache.logging.log4j</groupId>
-    <artifactId>log4j-core</artifactId>
-    <version>{log4j-core-version}</version>
-  </dependency>
-</dependencies>
-----
-
-Gradle::
-+
-.`build.gradle` snippet
-[source,subs="+attributes"]
-----
-compile 'org.apache.logging.log4j:log4j-api:{log4j-api-version}'
-compile 'org.apache.logging.log4j:log4j-core:{log4j-core-version}'
-----
-
-Ivy::
-+
-.`ivy.xml` snippet
-[source,xml,subs="+attributes"]
-----
-<dependencies>
-  <dependency org="org.apache.logging.log4j" name="log4j-api" 
rev="{log4j-api-version}" />
-  <dependency org="org.apache.logging.log4j" name="log4j-core" 
rev="{log4j-core-version}" />
-</dependencies>
-----
-====
-
-== Bill of materials
-
-To keep your Log4j module versions in sync with each other, a BOM (Bill of 
Material)
-pom.xml file is provided for your convenience. To use this with 
https://maven.apache.org/[Maven],
-add the dependency listed below to your `pom.xml` file.
-When you specify the version identifier in this section, you don't have to 
specify the version in your `<dependencies/>` section.
-
-[tabs%sync]
-====
-Maven::
-+
-.`pom.xml` snippet
-[source,xml,subs="+attributes"]
-----
-<dependencyManagement>
-  <dependencies>
-    <dependency>
-      <groupId>org.apache.logging.log4j</groupId>
-      <artifactId>log4j-bom</artifactId>
-      <version>{log4j-core-version}</version>
-      <scope>import</scope>
-      <type>pom</type>
-    </dependency>
-  </dependencies>
-</dependencyManagement>
-----
-
-Gradle::
-+
-.`build.gradle` snippet
-[source,subs="+attributes"]
-----
-plugins {
-  id 'io.spring.dependency-management' version '1.0.1.RELEASE' //<1>
-}
-
-dependencyManagement {
-  imports {
-    mavenBom 'org.apache.logging.log4j:log4j-bom:{log4j-core-version}'
-  }
-}
-
-dependencies {
-  implementation 'org.apache.logging.log4j:log4j-api'
-  implementation 'org.apache.logging.log4j:log4j-core'
-  // etc.
-}
-----
-<1> The additional 
https://github.com/spring-gradle-plugins/dependency-management-plugin[Gradle 
plugin] required for dependency management functionality.
-====
-
-== Snapshot builds
-
-You can access the latest development snapshot by using the Maven repository
-`https://repository.apache.org/snapshots` and the current SNAPSHOT version.
-Generally, the master branch will use the next patch version as its snapshot
-version regardless of what the next actual version of Log4j will be. For 
example,
-if the latest release were `3.0`, then master would be using the version
-`3.0.1-SNAPSHOT`.
-
-To enable snapshots you'll need to enable Snapshots repositories in your build 
system.
-
-[tabs%sync]
-====
-Maven::
-+
-.`pom.xml` snippet
-[source,xml,subs="+attributes"]
-----
-<repositories>
-  <repository>
-    <id>apache.snapshots</id>
-    <name>Apache Snapshot Repository</name>
-    <url>https://repository.apache.org/snapshots</url>
-    <releases>
-      <enabled>false</enabled>
-    </releases>
-  </repository>
-</repositories>
-----
-
-Gradle::
-+
-.`build.gradle` snippet
-[source,subs="+attributes"]
-----
-repositories {
-  mavenCentral()
-  maven { url 'https://repository.apache.org/snapshots' }
-}
-----
-
-SBT::
-+
-.`build.sbt` snippet
-[source,subs="+attributes"]
-----
-resolvers += "Apache Snapshot Repository" at 
"https://repository.apache.org/snapshots";
-----
-====
-
-== Manual Download
-
-The link in the Mirrors column should display a list of available
-mirrors with a default selection based on your inferred location. If you
-do not see that page, try a different browser. The checksum and
-signature are links to the originals on the main distribution server.
-
-|===
-|Distribution |Mirrors |Checksum |Signature
-
-|Apache Log4j binary (tar.gz)
-|https://www.apache.org/dyn/closer.lua/logging/log4j/{log4j-core-version}/apache-log4j-{log4j-core-version}-bin.tar.gz[apache-log4j-{log4j-core-version}-bin.tar.gz]
-|https://www.apache.org/dist/logging/log4j/{log4j-core-version}/apache-log4j-{log4j-core-version}-bin.tar.gz.sha512[apache-log4j-{log4j-core-version}-bin.tar.gz.sha512]
-|https://www.apache.org/dist/logging/log4j/{log4j-core-version}/apache-log4j-{log4j-core-version}-bin.tar.gz.asc[apache-log4j-{log4j-core-version}-bin.tar.gz.asc]
-
-|Apache Log4j binary (zip)
-|https://www.apache.org/dyn/closer.lua/logging/log4j/{log4j-core-version}/apache-log4j-{log4j-core-version}-bin.zip[apache-log4j-{log4j-core-version}-bin.zip]
-|https://www.apache.org/dist/logging/log4j/{log4j-core-version}/apache-log4j-{log4j-core-version}-bin.zip.sha512[apache-log4j-{log4j-core-version}-bin.zip.sha512]
-|https://www.apache.org/dist/logging/log4j/{log4j-core-version}/apache-log4j-{log4j-core-version}-bin.zip.asc[apache-log4j-{log4j-core-version}-bin.zip.asc]
-
-|Apache Log4j source (tar.gz)
-|https://www.apache.org/dyn/closer.lua/logging/log4j/{log4j-core-version}/apache-log4j-{log4j-core-version}-src.tar.gz[apache-log4j-{log4j-core-version}-src.tar.gz]
-|https://www.apache.org/dist/logging/log4j/{log4j-core-version}/apache-log4j-{log4j-core-version}-src.tar.gz.sha512[apache-log4j-{log4j-core-version}-src.tar.gz.sha512]
-|https://www.apache.org/dist/logging/log4j/{log4j-core-version}/apache-log4j-{log4j-core-version}-src.tar.gz.asc[apache-log4j-{log4j-core-version}-src.tar.gz.asc]
-
-|Apache Log4j source (zip)
-|https://www.apache.org/dyn/closer.lua/logging/log4j/{log4j-core-version}/apache-log4j-{log4j-core-version}-src.zip[apache-log4j-{log4j-core-version}-src.zip]
-|https://www.apache.org/dist/logging/log4j/{log4j-core-version}/apache-log4j-{log4j-core-version}-src.zip.sha512[apache-log4j-{log4j-core-version}-src.zip.sha512]
-|https://www.apache.org/dist/logging/log4j/{log4j-core-version}/apache-log4j-{log4j-core-version}-src.zip.asc[apache-log4j-{log4j-core-version}-src.zip.asc]
-|===
-
-It is essential that you verify the integrity of the downloaded files
-using the PGP or SHA512 signatures. Please read
-https://httpd.apache.org/dev/verification.html[Verifying Apache HTTP
-Server Releases] for more information on why you should verify our
-releases.
-
-The PGP signatures can be verified using PGP or GPG. First download the
-https://downloads.apache.org/logging/KEYS[KEYS] as well as the asc
-signature file for the relevant distribution. Make sure you get these
-files from the https://www.apache.org/dist/logging/[main distribution
-directory], rather than from a mirror. Then verify the signatures using
-
-[source,sh,subs=attributes,subs="+attributes"]
-----
-gpg --import KEYS
-gpg --verify apache-log4j-{log4j-core-version}-bin.zip.asc
-----
-
-Alternatively, you can verify the SHA512 signature on the files. A unix
-program called sha512sum is included in many unix distributions.
-
-[#requirements]
-== Requirements
-
-The Apache Log4j runtime requires a minimum of Java 17.
-See the http://logging.apache.org/2.x[Log4j 2 website] for the latest releases 
supporting Java 6, 7, and 8.
-
-== Previous Releases
-
-All previous releases of Apache log4j can be found in the
-https://archive.apache.org/dist/logging/log4j/[ASF archive repository]. Of 
course, all releases are availble for
-use as dependencies from the 
https://search.maven.org/search?q=org.apache.logging.log4j[Maven Central 
Repository]
-
-== Using Apache Log4j on your classpath
-
-To use Log4j in your application make sure that the API, Plugins, and Core
-jars are in the application’s classpath. Add the dependencies listed
-below to your classpath.
-
-* log4j-api-{log4j-api-version}.jar
-* log4j-plugins-{log4j-core-version}.jar
-* log4j-core-{log4j-core-version}.jar
-
-You can do this from the command line or a manifest file.
+* Are you looking for **the Log4j installation instructions**? Proceed to 
xref:manual/installation.adoc[].
+* Are you looking for the list of changes associated with a particular 
release? Proceed to xref:release-notes.adoc[].
diff --git a/src/site/antora/modules/ROOT/pages/index.adoc 
b/src/site/antora/modules/ROOT/pages/index.adoc
index b9c3e5e675..879c5ab4cc 100644
--- a/src/site/antora/modules/ROOT/pages/index.adoc
+++ b/src/site/antora/modules/ROOT/pages/index.adoc
@@ -19,15 +19,15 @@
 
 Apache Log4j is a versatile, industrial-grade Java logging framework composed 
of an API, its implementation,  and components to assist the deployment for 
various use cases.
 Log4j is 
https://security.googleblog.com/2021/12/apache-log4j-vulnerability.html[used by 
8% of the Maven ecosystem] and listed as one of 
https://docs.google.com/spreadsheets/d/1ONZ4qeMq8xmeCHX03lIgIYE4MEXVfVL6oj05lbuXTDM/edit#gid=1024997528[the
 top 100 critical open source software projects].
-The project is actively maintained by a link:/team-list.html[team] of several 
volunteers and xref:support.adoc[support]ed by a big community.
+The project is actively maintained by a 
{logging-services-url}/team-list.html[team] of several volunteers and 
{logging-services-url}/support[support]ed by a big community.
 
 [#shortcuts]
 == Shortcuts
-- xref:download.adoc#using-a-build-system[How can I add Log4j artifacts to my 
Maven/Ivy/Gradle project?]
+- xref:manual/installation.adoc[How can I add Log4j artifacts to my 
Maven/Ivy/Gradle project?]
 - xref:manual/usage.adoc[How can I use the Log4j API?]
 - xref:manual/configuration.adoc[How can I configure my `log4j2.xml`?]
 - xref:release-notes.adoc[Where are the release notes?]
-- xref:support.adoc[**I need help!**]
+- {logging-services-url}/support[**I need help!**]
 
 [#features]
 == Features
@@ -45,7 +45,7 @@ API separation::
 The API for Log4j (i.e., `log4j-api`) is separate from the implementation 
(i.e., `log4j-core`) making it clear for application developers which classes 
and methods they can use while ensuring forward compatibility.
 (See xref:manual/api-separation.adoc[API Separation] for details.)
 The Log4j API also provides the most feature rich logging facade in the 
market; support for various `Message` types (`Object`, `Map`, etc.) besides 
plain `String`, lambda expressions, parametrized logging, markers, levels, 
diagnostic contexts (aka. MDC/NDC), etc.
-Check out the xref:manual/api.adoc[Java API], link:/log4j/kotlin[Kotlin API], 
and link:/log4j/scala[Scala API] pages for further information.
+Check out the xref:manual/api.adoc[Java API], 
{logging-services-url}/log4j/kotlin[Kotlin API], and 
{logging-services-url}/log4j/scala[Scala API] pages for further information.
 
 No vendor lock-in::
 Even though the Log4j API is implemented by the Log4j at its fullest, users 
can choose to use another logging backend.
@@ -60,3 +60,26 @@ Extensibility::
 Log4j contains a fully-fledged xref:manual/plugins.adoc[plugin support] that 
users can leverage to extend its functionality.
 You can easily add your own components (layouts, appenders, filters, etc.) or 
customizing existing ones (e.g., adding new directives to the 
xref:manual/layouts.adoc#PatternLayout[Pattern] or 
xref:manual/json-template-layout.adoc#extending[JSON Template Layout]).
 Check out the xref:manual/extending.adoc[Extending Log4j] page.
+
+[#requirements]
+== Requirements
+
+Log4j 2 runtime requires a minimum of Java 8.
+Older versions of Java are supported by previous releases.
+
+[#older-releases]
+== Older releases
+
+Are you looking for old versions of Log4j?
+While we recommend to always use the latest version, you can find the older 
versions here:
+
+* {logging-services-url}/1.x/[Log4j 1.x (End of Life, Java 1.4)]
+* {logging-services-url}/2.3.x/[Log4j 2.3.x (Java 6)]
+* {logging-services-url}/2.12.x/[Log4j 2.12.x (Java 7)]
+
+[#compat]
+== Compatibility
+
+The `log4j-1.2-api` module provides compatibility for applications using the 
Log4j 1 logging methods.
+Log4j 2 also provides support for Log4j 1 configuration files.
+See xref:manual/migration.adoc#ConfigurationCompatibility[Log4j 2 
compatibility with Log4j 1] for more information.
diff --git a/src/site/antora/modules/ROOT/pages/manual/installation.adoc 
b/src/site/antora/modules/ROOT/pages/manual/installation.adoc
new file mode 100644
index 0000000000..c2ac9f13c9
--- /dev/null
+++ b/src/site/antora/modules/ROOT/pages/manual/installation.adoc
@@ -0,0 +1,710 @@
+////
+    Licensed to the Apache Software Foundation (ASF) under one or more
+    contributor license agreements.  See the NOTICE file distributed with
+    this work for additional information regarding copyright ownership.
+    The ASF licenses this file to You under the Apache License, Version 2.0
+    (the "License"); you may not use this file except in compliance with
+    the License.  You may obtain a copy of the License at
+
+         http://www.apache.org/licenses/LICENSE-2.0
+
+    Unless required by applicable law or agreed to in writing, software
+    distributed under the License is distributed on an "AS IS" BASIS,
+    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+    See the License for the specific language governing permissions and
+    limitations under the License.
+////
+
+:jcl-link: https://commons.apache.org/proper/commons-logging/[JCL (Apache 
Commons Logging)]
+:jpl-link: https://openjdk.org/jeps/264[JPL (Java Platform Logging)]
+:jul-link: 
https://docs.oracle.com/en/java/javase/{java-target-version}/core/java-logging-overview.html[JUL
 (Java Logging)]
+:logback-link: https://logback.qos.ch/[Logback]
+:slf4j-link: https://www.slf4j.org/[SLF4J]
+:jboss-logging-link: https://github.com/jboss-logging/jboss-logging[JBoss 
Logging]
+
+= Installation
+
+In this page we will elaborate on various ways to install Log4j in your 
library or application.
+
+[#impatient]
+== For the impatient
+
+Below we share some shortcuts for the impatient.
+
+[WARNING]
+====
+We strongly advise you to skim through this page to get a grip on fundamental 
logging concepts and understand which recipe fits to your bill best.
+====
+
+Are you a library developer?::
+You just need to log against xref:#logging-api[a logging API].
+See <<api>>.
+
+Are you an application developer?::
+Your code and libraries it depends on are most probably already logging 
against a logging API, you just need to install xref:#logging-impl[a logging 
implementation].
+See <<impl-core>>.
+
+Are you a Spring Boot application developer?::
+See <<impl-core-spring-boot>>.
+
+[#concepts]
+== Concepts (APIs, Implementations, and Bridges)
+
+It is crucial to understand certain concepts in logging to be able to talk 
about the installation of them.
+
+[#logging-api]
+Logging API::
+A logging API is an interface your code or your dependencies directly logs 
against.
+It is implementation agnostic.
+Log4j API, {slf4j-link}, {jul-link}, {jcl-link}, {jpl-link} and 
{jboss-logging-link} are major logging APIs.
+
+[#logging-impl]
+Logging implementation::
+A logging implementation is only required at runtime and can be changed 
without the need to recompile your software.
+Log4j Core, {jul-link}, {logback-link} are the most well-known logging 
implementations.
++
+[TIP]
+====
+Note that JUL and Log4j provide both an API and its implementation.
+In the case of Log4j, the API is called _Log4j API_, and its reference 
implementation is called _Log4j Core_.
+====
+
+[#logging-bridge]
+Logging bridge::
+Logging implementations accept input from a single logging API of their 
preference; Log4j Core from Log4j API, Logback from SLF4J, etc.
+A logging bridge is a simple logging implementation of a logging API that 
forward all messages to a foreign logging API.
+Logging bridges allow a logging implementation to accept input from other 
logging APIs that are not their primary logging API.
+For instance, `log4j-slf4j2-impl` _bridges_ SLF4J calls to Log4 API and 
effectively enables Log4j Core to accept input from SLF4J.
+
+With this in mind, the type of software you are writing determines whether you 
should be installing a logging API, implementation, or bridge:
+
+Libraries::
+only require a logging API and delegate the choice of the implementation to 
applications.
+If a logging implementation is required by tests of the library, it should be 
in the appropriate test scope.
+
+Applications::
+need a logging implementation, but also bridges of each of the major logging 
APIs to support log statements from the libraries they use.
+For instance, your application might be logging against Log4j API and one of 
its dependencies against SLF4J.
+In this case, you need to install `log4j-core` and `log4j-slf4j2-impl`.
+(This is an example, we will elaborate on this case more in <<impl-core>>.)
+
+[#requirements]
+== Requirements
+
+The Log4j 2 runtime requires a minimum of Java {java-target-version}.
+See xref:index.adoc#older-releases[older releases] for the latest releases 
supporting Java 6 and 7.
+
+[#build-tool]
+== Configuring the build tool
+
+The easiest way to install Log4j is through a build tool such as Maven or 
Gradle.
+The rest of the instructions in this page assume you use one of these.
+
+[#bom]
+=== Importing the Bill-of-Materials (aka. BOM)
+
+To keep your Log4j module versions in sync with each other, a BOM (Bill of 
Material) file is provided for your convenience.
+You can import the BOM in your build tool of preference:
+
+[tabs]
+====
+Maven::
++
+[source,xml,subs="+attributes"]
+----
+<dependencyManagement>
+  <dependencies>
+    <dependency>
+      <groupId>org.apache.logging.log4j</groupId>
+      <artifactId>log4j-bom</artifactId>
+      <version>{log4j-core-version}</version>
+      <scope>import</scope>
+      <type>pom</type>
+    </dependency>
+  </dependencies>
+</dependencyManagement>
+----
+
+Gradle::
++
+[source,groovy,subs="+attributes"]
+----
+dependencies {
+  implementation 
platform('org.apache.logging.log4j:log4j-bom:{log4j-core-version}')
+}
+----
+====
+
+Once you import the BOM, you don't need to explicitly provide the versions of 
the Log4j artifacts managed by it.
+
+In the rest of the explanations, we will assume that the Log4j BOM is imported.
+
+[#snapshots]
+=== Using snapshots
+
+[%collapsible]
+.Do you want to test the latest (**unstable!**) development version? Click 
here details.
+====
+
+You can access the latest development snapshots by using the 
`https://repository.apache.org/snapshots` repository.
+
+[WARNING]
+=====
+Snapshots are published for development and testing purposes; **they should 
not be used at production!**
+=====
+
+[tabs]
+=====
+Maven::
++
+[source,xml]
+----
+<repositories>
+  <repository>
+    <id>apache.snapshots</id>
+    <name>Apache Snapshot Repository</name>
+    <url>https://repository.apache.org/snapshots</url>
+    <releases>
+      <enabled>false</enabled>
+    </releases>
+  </repository>
+</repositories>
+----
+
+Gradle::
++
+[source,groovy]
+----
+repositories {
+  mavenCentral()
+  maven { url 'https://repository.apache.org/snapshots' }
+}
+----
+=====
+====
+
+[#api]
+== Installing Log4j API
+
+The easiest way to install Log4j API is through a dependency management tool 
such as Maven or Gradle, by adding the following dependency:
+
+[tabs]
+====
+Maven::
++
+[source,xml]
+----
+<dependency>
+    <groupId>org.apache.logging.log4j</groupId>
+    <artifactId>log4j-api</artifactId>
+</dependency>
+----
+
+Gradle::
++
+[source,groovy]
+----
+implementation 'org.apache.logging.log4j:log4j-api'
+----
+====
+
+[#impl]
+== Installing a logging implementation
+
+Log4j provides several modules to facilitate deployment of different logging 
implementations:
+
+`log4j-core`::
+The reference implementation.
+Refer to <<impl-core>> for the installation instructions.
+
+`log4j-to-jul`::
+The bridge that translates Log4j API calls to {jul-link}.
+See <<impl-jul>> for the installation instructions.
+
+`log4j-to-slf4j`::
+The bridge that translates Log4j API calls to {slf4j-link}.
+Since currently only
+https://logback.qos.ch/[Logback] implements SLF4J natively, refer to 
<<impl-logback>> for the installation instructions.
+
+[IMPORTANT]
+====
+In order to ensure that your code does not directly depend on a particular 
logging implementation, the logging backend should be put in the appropriate 
scope of your dependency manager:
+
+[cols="2,1m,1m"]
+|===
+.2+h| Software type
+2+^h| Build tool
+
+h| Maven
+h| Gradle
+
+| Application
+| runtime
+| runtimeOnly
+
+| Library
+| test
+| testRuntimeOnly
+|===
+====
+
+[#impl-core]
+=== Installing Log4j Core
+
+Log4j Core is the reference logging implementation of the Log4j project.
+It primarily accepts input from Log4j API.
+
+[TIP]
+====
+Do you have a Spring Boot application?
+You can directly skip to xref:#impl-core-spring-boot[].
+====
+
+To install Log4j Core as your logging implementation, you need to add the 
following dependency to your application:
+
+[tabs]
+====
+Maven::
++
+[source,xml]
+----
+<dependencies>
+    <dependency>
+        <groupId>org.apache.logging.log4j</groupId>
+        <artifactId>log4j-core</artifactId>
+        <scope>runtime</scope>
+    </dependency>
+    <!-- Logging bridges will follow... -->
+</dependencies>
+----
+
+Gradle::
++
+[source,groovy]
+----
+runtimeOnly 'org.apache.logging.log4j:log4j-core'
+// Logging bridges will follow...
+----
+====
+
+[#impl-core-bridges]
+==== Installing bridges
+
+If either your application or one if its dependencies logs against a logging 
API that is different from Log4j API, you need to xref:#logging-bridge[bridge] 
that API to Log4j API.
+Following sections explain installation of Log4j-provided bridges.
+
+[#impl-core-bridge-slf4j]
+===== Installing SLF4J-to-Log4j bridge
+
+You can translate {slf4j-link} calls to Log4j API using the 
`log4j-slf4j2-impl` artifact:
+
+[tabs]
+====
+Maven::
++
+[source,xml]
+----
+<!-- SLF4J-to-Log4j bridge -->
+<dependency>
+    <groupId>org.apache.logging.log4j</groupId>
+    <artifactId>log4j-slf4j2-impl</artifactId>
+    <scope>runtime</scope>
+</dependency>
+----
+
+Gradle::
++
+[source,groovy]
+----
+runtimeOnly 'org.apache.logging.log4j:log4j-slf4j2-impl' // SLF4J-to-Log4j 
bridge
+----
+====
+
+[#impl-core-bridge-jul]
+===== Installing JUL-to-Log4j bridge
+
+You can translate {jul-link} calls to Log4j API using the `log4j-jul` artifact:
+
+[tabs]
+====
+Maven::
++
+[source,xml]
+----
+<!-- JUL-to-Log4j bridge -->
+<dependency>
+    <groupId>org.apache.logging.log4j</groupId>
+    <artifactId>log4j-jul</artifactId>
+    <scope>runtime</scope>
+</dependency>
+----
+
+Gradle::
++
+[source,groovy]
+----
+runtimeOnly 'org.apache.logging.log4j:log4j-jul' // JUL-to-Log4j bridge
+----
+====
+
+In order to activate the bridge from JUL to Log4j API, you also need to add:
+
+[source]
+----
+-Djava.util.logging.manager=org.apache.logging.log4j.jul.LogManager
+----
+
+to the JVM parameters in your application launcher.
+
+[#impl-core-bridge-jpl]
+===== Installing JPL-to-Log4j bridge
+
+You can translate {jpl-link} calls to Log4j API using the `log4j-jpl` artifact:
+
+[tabs]
+====
+Maven::
++
+[source,xml]
+----
+<!-- JPL-to-Log4j bridge -->
+<dependency>
+    <groupId>org.apache.logging.log4j</groupId>
+    <artifactId>log4j-jpl</artifactId>
+    <scope>runtime</scope>
+</dependency>
+----
+
+Gradle::
++
+[source,groovy]
+----
+runtimeOnly 'org.apache.logging.log4j:log4j-jpl' // JPL-to-Log4j bridge
+----
+====
+
+[#impl-core-bridge-jcl]
+===== Installing JCL-to-Log4j bridge
+
+Since version `1.3.0` 
https://commons.apache.org/proper/commons-logging/[Apache Commons Logging] 
natively supports Log4j API.
+
+You can enforce the version of a transitive dependency using the dependency 
management mechanism appropriate to your
+build tool:
+
+Maven::
+Maven users should add an entry to the `<dependencyManagement>` section of 
their POM file:
++
+[source,xml,subs="+attributes"]
+----
+<dependencyManagement>
+    <dependency>
+        <groupId>commons-logging</groupId>
+        <artifactId>commons-logging</artifactId>
+        <version>{commons-logging-version}</version>
+    </dependency>
+</dependencyManagement>
+----
+
+Gradle::
++
+Gradle users should refer to the 
https://docs.gradle.org/current/userguide/platforms.html#sub:using-platform-to-control-transitive-deps[Using
 a platform to control transitive versions] of the Gradle documentation.
+
+[#impl-core-bridge-jboss-logging]
+===== Installing JBoss Logging-to-Log4j bridge
+
+The JBoss Logging API is shipped with an integrated bridge to Log4j API and 
requires no steps from your part. See
+https://github.com/jboss-logging/jboss-logging?tab=readme-ov-file#supported-log-managers[Supported
 Log Managers] for more information.
+
+[#impl-core-spring-boot]
+==== Installing Log4j Core for Spring Boot applications
+
+Spring Boot users should replace the `spring-boot-starter-logging` dependency 
with `spring-boot-starter-log4j2`:
+
+[tabs]
+====
+
+Maven::
++
+[source,xml]
+----
+<dependencies>
+    <dependency>
+        <groupId>org.springframework.boot</groupId>
+        <artifactId>spring-boot-starter</artifactId>
+        <exclusions>
+            <exclusion>
+                <groupId>org.springframework.boot</groupId>
+                <artifactId>spring-boot-starter-logging</artifactId>
+            </exclusion>
+        </exclusions>
+    </dependency>
+    <dependency>
+        <groupId>org.springframework.boot</groupId>
+        <artifactId>spring-boot-starter-log4j2</artifactId>
+        <scope>runtime</scope>
+    </dependency>
+</dependencies>
+----
+
+Gradle::
++
+[source,groovy]
+----
+configurations {
+    all.exclude group: 'org.springframework.boot', module: 
'spring-boot-starter-logging'
+}
+
+dependencies {
+    runtimeOnly group: 'org.springframework.boot', module: 
'spring-boot-starter-log4j2'
+}
+----
+
+====
+
+The `spring-boot-starter-log4j2` artifact will automatically install Log4j 
Core, xref:#impl-core-bridge-jul[JUL-to-Log4j bridge], and configure them.
+You don't need to add any other dependency or configure JUL anymore.
+See 
https://docs.spring.io/spring-boot/docs/current/reference/html/features.html#features.logging[Spring
 Boot Logging documentation] for further information.
+
+[#impl-core-config]
+==== Configuring Log4j Core
+
+As any other logging implementation, Log4j Core needs to be properly 
configured.
+Log4j Core supports many different configuration formats: JSON, XML, YAML, and 
Java properties.
+To configure Log4j Core, see xref:manual/configuration.adoc[].
+A basic configuration can be obtained by adding one of these files to your 
application's classpath:
+
+[tabs]
+====
+
+log4j2.xml::
++
+[source,xml]
+----
+<?xml version="1.0" encoding="UTF-8"?>
+<Configuration xmlns="https://logging.apache.org/xml/ns";
+               xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";
+               xsi:schemaLocation="https://logging.apache.org/xml/ns
+                                   
https://logging.apache.org/xml/ns/log4j-config-3.xsd";>
+  <appenders>
+    <Console name="CONSOLE"/>
+  </appenders>
+  <loggers>
+    <root level="INFO">
+      <AppenderRef ref="Console"/>
+    </root>
+  </Loggers>
+</Configuration>
+----
+
+log4j2.json::
++
+[source,json]
+----
+{
+  "Configuration": {
+    "Appenders": {
+      "Console": {
+        "name": "CONSOLE"
+      }
+    },
+    "Loggers": {
+      "Root": {
+        "level": "INFO",
+        "AppenderRef": {
+          "ref": "CONSOLE"
+        }
+      }
+    }
+  }
+}
+----
+
+log4j2.yaml::
++
+[source,yaml]
+----
+Configuration:
+  Appenders:
+    Console:
+      name: CONSOLE
+  Loggers:
+    Root:
+      level: INFO
+      AppenderRef:
+        ref: CONSOLE
+----
+
+log4j2.properties::
++
+[source,properties]
+----
+appender.0.type = Console
+appender.0.name = CONSOLE
+rootLogger.level = INFO
+rootLogger.appenderRef.0.ref = CONSOLE
+----
+
+====
+
+In order to use these formats, the following additional dependencies are 
required:
+
+[tabs]
+====
+
+Maven::
++
+[tabs]
+=====
+
+log4j2.xml::
++
+No dependency required.
+
+log4j2.json::
++
+[source,xml,subs="+attributes"]
+----
+<dependency>
+    <groupId>com.fasterxml.jackson.core</groupId>
+    <artifactId>jackson-databind</artifactId>
+    <version>{jackson-version}</version>
+    <scope>runtime</scope>
+</dependency>
+----
+
+log4j2.yaml::
++
+[source,xml,subs="+attributes"]
+----
+<dependency>
+    <groupId>com.fasterxml.jackson.dataformat</groupId>
+    <artifactId>jackson-dataformat-yaml</artifactId>
+    <version>{jackson-version}</version>
+    <scope>runtime</scope>
+</dependency>
+----
+
+log4j2.properties::
++
+No dependency required.
+
+=====
+
+Gradle::
++
+[tabs]
+=====
+
+log4j2.xml::
++
+No dependency required.
+
+log4j2.json::
++
+[source,groovy,subs="+attributes"]
+----
+runtimeOnly 'com.fasterxml.jackson.core:jackson-databind:{jackson-version}'
+----
+
+log4j2.yaml::
++
+[source,groovy,subs="+attributes"]
+----
+runtimeOnly 
'com.fasterxml.jackson.dataformat:jackson-dataformat-yaml:{jackson-version}'
+----
+
+log4j2.properties::
++
+No dependency required.
+
+=====
+====
+
+[#impl-jul]
+=== Installing JUL
+
+[TIP]
+====
+Are you using https://github.com/jboss-logging/jboss-logmanager[JBoss Log 
Manager] as your JUL implementation?
+You can skip this section and use the 
https://github.com/jboss-logging/log4j2-jboss-logmanager[`log4j2-jboss-logmanager`]
 and 
https://github.com/jboss-logging/slf4j-jboss-logmanager[`slf4j-jboss-logmanager`]
 bridges from the JBoss Logging project instead.
+====
+
+Java Platform contains a very simple logging API and its implementation called 
{jul-link}.
+Since it is embedded in the platform, it only requires the addition of bridges 
from Log4j API and SLF4J:
+
+[tabs]
+====
+
+Maven::
++
+[source,xml,subs="+attributes"]
+----
+<dependencies>
+    <!-- Log4j-to-JUL bridge -->
+    <dependency>
+        <groupId>org.apache.logging.log4j</groupId>
+        <artifactId>log4j-to-jul</artifactId>
+        <scope>runtime</scope>
+    </dependency>
+    <!-- SLF4J-to-JUL bridge -->
+    <dependency>
+        <groupId>org.slf4j</groupId>
+        <artifactId>slf4j-jdk14</artifactId>
+        <version>{slf4j-version}</version>
+        <scope>runtime</scope>
+    </dependency>
+    <!-- ... -->
+</dependencies>
+----
+
+Gradle::
++
+[source,groovy,subs="+attributes"]
+----
+runtimeOnly 'org.apache.logging.log4j:log4j-to-jul' // Log4j-to-JUL bridge
+runtimeOnly 'org.slf4j:slf4j-jdk14:{slf4j-version}' // SLF4J-to-JUL bridge
+----
+
+====
+
+To configure JUL, see 
https://docs.oracle.com/en/java/javase/{java-target-version}/docs/api/java.logging/java/util/logging/LogManager.html[`java.util.logging.LogManager`].
+
+[#impl-logback]
+=== Installing Logback
+
+To install https://logback.qos.ch/[Logback] as the logging implementation, you 
only need to add a Log4j-to-SLF4J bridge:
+
+[tabs]
+====
+
+Maven::
++
+[source,xml]
+----
+<dependencies>
+    <dependency>
+        <groupId>ch.qos.logback</groupId>
+        <artifactId>logback-classic</artifactId>
+        <version>{logback-version}</version>
+        <scope>runtime</scope>
+    </dependency>
+    <!-- Log4j-to-SLF4J bridge -->
+    <dependency>
+        <groupId>org.apache.logging.log4j</groupId>
+        <artifactId>log4j-to-slf4j</artifactId>
+        <scope>runtime</scope>
+    </dependency>
+</dependencies>
+----
+
+Gradle::
++
+[source,groovy,subs="+attributes"]
+----
+runtimeOnly 'ch.qos.logback:logback-classic:{logback-version}'
+runtimeOnly 'org.apache.logging.log4j:log4j-to-slf4j' // Log4j-to-SLF4J bridge
+----
+
+====
+
+To configure Logback, see 
https://logback.qos.ch/manual/configuration.html[Logback's configuration 
documentation].
diff --git a/src/site/antora/modules/ROOT/pages/manual/logsep.adoc 
b/src/site/antora/modules/ROOT/pages/manual/logsep.adoc
index 02772dd55c..69ab01596a 100644
--- a/src/site/antora/modules/ROOT/pages/manual/logsep.adoc
+++ b/src/site/antora/modules/ROOT/pages/manual/logsep.adoc
@@ -99,9 +99,9 @@ system property `log4j2.contextSelector` to
 create a single LoggerContext using a single configuration that will be
 shared across all applications.
 2.  Place the logging jars in the container's classpath and use the
-default ClassLoaderContextSelector. Follow the
-xref:manual/webapp.adoc[instructions to initialize Log4j 2 in a web
-application]. Each application can be configured to share the same
+default ClassLoaderContextSelector.
+See the instructions shared in xref:manual/webapp.adoc[Log4j Web].
+Each application can be configured to share the same
 configuration used at the container or can be individually configured.
 If status logging is set to debug in the configuration there will be
 output from when logging is initialized in the container and then again
diff --git a/src/site/antora/modules/ROOT/pages/security.adoc 
b/src/site/antora/modules/ROOT/pages/security.adoc
deleted file mode 100644
index 7fe42fe5de..0000000000
--- a/src/site/antora/modules/ROOT/pages/security.adoc
+++ /dev/null
@@ -1,320 +0,0 @@
-////
-    Licensed to the Apache Software Foundation (ASF) under one or more
-    contributor license agreements.  See the NOTICE file distributed with
-    this work for additional information regarding copyright ownership.
-    The ASF licenses this file to You under the Apache License, Version 2.0
-    (the "License"); you may not use this file except in compliance with
-    the License.  You may obtain a copy of the License at
-
-         https://www.apache.org/licenses/LICENSE-2.0
-
-    Unless required by applicable law or agreed to in writing, software
-    distributed under the License is distributed on an "AS IS" BASIS,
-    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-    See the License for the specific language governing permissions and
-    limitations under the License.
-////
-
-:cve-url-prefix: https://nvd.nist.gov/vuln/detail
-
-= Security
-
-The Apache Log4j Security Team takes security seriously.
-This allows our users to place their trust in Log4j for protecting their 
mission-critical data.
-In this page we will help you find guidance on security-related issues and 
access to known vulnerabilities.
-
-include::_log4j1-eol.adoc[]
-
-[#support]
-== Getting support
-
-If you need help on building or configuring Log4j or other help on following 
the instructions to mitigate the known vulnerabilities listed here, please use 
our xref:support.adoc#discussions[user support channels].
-
-[TIP]
-====
-If you need to apply a source code patch, use the building instructions for 
the Log4j version that you are using.
-These instructions can be found in `BUILDING.adoc` distributed with the 
sources.
-====
-
-[#reporting]
-== Reporting vulnerabilities
-
-If you have encountered an unlisted security vulnerability or other unexpected 
behaviour that has a security impact, or if the descriptions here are 
incomplete, please report them **privately** to 
mailto:[email protected][the Log4j Security Team].
-
-[WARNING]
-====
-The threat model that Log4j uses considers configuration files as safe input 
controlled by the programmer; **potential vulnerabilities that require the 
ability to modify a configuration are not considered vulnerabilities** as the 
required access to do so implies the attacker can execute arbitrary code.
-====
-
-[#policy]
-== Vulnerability handling policy
-
-The Apache Log4j Security Team follows the 
https://www.apache.org/security/committers.html[ASF Project Security] guide for 
handling security vulnerabilities.
-
-Reported security vulnerabilities are subject to voting (by means of 
https://logging.apache.org/guidelines.html[_lazy approval_], preferably) in the 
private mailto:[email protected][security mailing list] before 
creating a CVE and populating its associated content.
-This procedure involves only the creation of CVEs and blocks neither 
(vulnerability) fixes, nor releases.
-
-[#vdr]
-== Vulnerability Disclosure Report (VDR)
-
-Starting with version `2.22.0`, Log4j distributes 
https://cyclonedx.org/capabilities/vdr[CycloneDX Software Bill of Materials 
(SBOM)] along with each deployed artifact.
-Produced SBOMs contain BOM-links referring to a 
https://cyclonedx.org/capabilities/vdr[CycloneDX Vulnerability Disclosure 
Report (VDR)] that Apache Logging Services uses for all projects it maintains.
-All this is streamlined by `logging-parent`, see 
https://logging.apache.org/logging-parent/latest/#cyclonedx-sbom[its website] 
for details.
-
-[#vulnerabilities]
-== Known vulnerabilities
-
-The Log4j Security Team believes that accuracy, completeness and availability 
of security information is essential for our users.
-We choose to pool all information on this one page, allowing easy searching 
for security vulnerabilities over a range of criteria.
-
-[NOTE]
-====
-We adhere to 
https://maven.apache.org/enforcer/enforcer-rules/versionRanges.html[the Maven 
version range syntax] while sharing versions of affected components.
-We only extend this mathematical notation with set union operator (i.e., `∪`) 
to denote union of multiple ranges.
-====
-
-[#CVE-2021-44832]
-=== {cve-url-prefix}/CVE-2021-44832[CVE-2021-44832]
-
-[cols="1h,5"]
-|===
-|Summary |JDBC appender is vulnerable to remote code execution in certain 
configurations
-|CVSS 3.x Score & Vector |6.6 MEDIUM 
(CVSS:3.1/AV:N/AC:H/PR:H/UI:N/S:U/C:H/I:H/A:H)
-|Components affected |`log4j-core`
-|Versions affected |`[2.0-beta7, 2.3.2) ∪ [2.4, 2.12.4) ∪ [2.13.0, 2.17.1)`
-|Versions fixed |`2.3.2` (for Java 6), `2.12.4` (for Java 7), or `2.17.1` (for 
Java 8 and later)
-|===
-
-[#CVE-2021-44832-description]
-==== Description
-
-An attacker with write access to the logging configuration can construct a 
malicious configuration using a JDBC Appender with a data source referencing a 
JNDI URI which can execute remote code.
-This issue is fixed by limiting JNDI data source names to the `java` protocol.
-
-[#CVE-2021-44832-mitigation]
-==== Mitigation
-
-Upgrade to `2.3.2` (for Java 6), `2.12.4` (for Java 7), or `2.17.1` (for Java 
8 and later).
-
-In prior releases confirm that if the JDBC Appender is being used it is not 
configured to use any protocol other than `java`.
-
-[#CVE-2021-44832-references]
-==== References
-- {cve-url-prefix}/CVE-2021-44832[CVE-2021-44832]
-
-[#CVE-2021-45105]
-=== {cve-url-prefix}/CVE-2021-45105[CVE-2021-45105]
-
-[cols="1h,5"]
-|===
-|Summary |Infinite recursion in lookup evaluation
-|CVSS 3.x Score & Vector |5.9 MEDIUM 
(CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:N/I:N/A:H)
-|Components affected |`log4j-core`
-|Versions affected |`[2.0-alpha1, 2.3.1) ∪ [2.4, 2.12.3) ∪ [2.13.0, 2.17.0)`
-|Versions fixed |`2.3.1` (for Java 6), `2.12.3` (for Java 7), and `2.17.0` 
(for Java 8 and later)
-|===
-
-[#CVE-2021-45105-description]
-==== Description
-
-Log4j versions `2.0-alpha1` through `2.16.0` (excluding `2.3.1` and `2.12.3`), 
did not protect from uncontrolled recursion that can be implemented using 
self-referential lookups.
-When the logging configuration uses a non-default Pattern Layout with a 
Context Lookup (for example, `$${ctx:loginId}`), attackers with control over 
Thread Context Map (MDC) input data can craft malicious input data that 
contains a recursive lookup, resulting in a `StackOverflowError` that will 
terminate the process.
-This is also known as a _DoS (Denial-of-Service)_ attack.
-
-[#CVE-2021-45105-mitigation]
-==== Mitigation
-
-Upgrade to `2.3.1` (for Java 6), `2.12.3` (for Java 7), or `2.17.0` (for Java 
8 and later).
-
-Alternatively, this infinite recursion issue can be mitigated in configuration:
-
-* In PatternLayout in the logging configuration, replace Context Lookups like 
`${ctx:loginId}` or `$${ctx:loginId}` with Thread Context Map patterns (`%X`, 
`%mdc`, or `%MDC`).
-* Otherwise, in the configuration, remove references to Context Lookups like 
`${ctx:loginId}` or `$${ctx:loginId}` where they originate
-from sources external to the application such as HTTP headers or user input.
-Note that this mitigation is insufficient in releases older than `2.12.2` (for 
Java 7), and `2.16.0` (for Java 8 and later) as the issues fixed in those 
releases will still be present.
-
-Note that only the `log4j-core` JAR file is impacted by this vulnerability.
-Applications using only the `log4j-api` JAR file without the `log4j-core` JAR 
file are not impacted by this vulnerability.
-
-[#CVE-2021-45105-credits]
-==== Credits
-
-Independently discovered by Hideki Okamoto of Akamai Technologies, Guy 
Lederfein of Trend Micro Research working with Trend Micro's Zero Day 
Initiative, and another anonymous vulnerability researcher.
-
-[#CVE-2021-45105-references]
-==== References
-
-- {cve-url-prefix}/CVE-2021-45105[CVE-2021-45105]
-- https://issues.apache.org/jira/browse/LOG4J2-3230[LOG4J2-3230]
-
-[#CVE-2021-45046]
-=== {cve-url-prefix}/CVE-2021-45046[CVE-2021-45046]
-
-[cols="1h,5"]
-|===
-|Summary |Thread Context Lookup is vulnerable to remote code execution in 
certain configurations
-|CVSS 3.x Score & Vector |9.0 CRITICAL 
(CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:C/C:H/I:H/A:H)
-|Components affected |`log4j-core`
-|Versions affected |`[2.0-beta9, 2.3.1) ∪ [2.4, 2.12.3) ∪ [2.13.0, 2.17.0)`
-|Versions fixed |`2.3.1` (for Java 6), `2.12.3` (for Java 7), and `2.17.0` 
(for Java 8 and later)
-|===
-
-[#CVE-2021-45046-description]
-==== Description
-
-It was found that the fix to address <<CVE-2021-44228>> in Log4j `2.15.0` was 
incomplete in certain non-default configurations.
-When the logging configuration uses a non-default Pattern Layout with a Thread 
Context Lookup (for example, `$${ctx:loginId}`), attackers with control over 
Thread Context Map (MDC) can craft malicious input data using a JNDI Lookup 
pattern, resulting in an information leak and remote code execution in some 
environments and local code execution in all environments.
-Remote code execution has been demonstrated on macOS, Fedora, Arch Linux, and 
Alpine Linux.
-
-Note that this vulnerability is not limited to just the JNDI lookup.
-Any other Lookup could also be included in a Thread Context Map variable and 
possibly have private details exposed to anyone with access to the logs.
-
-Note that only the `log4j-core` JAR file is impacted by this vulnerability.
-Applications using only the `log4j-api` JAR file without the `log4j-core` JAR 
file are not impacted by this vulnerability.
-
-[#CVE-2021-45046-mitigation]
-==== Mitigation
-
-Upgrade to Log4j `2.3.1` (for Java 6), `2.12.3` (for Java 7), or `2.17.0` (for 
Java 8 and later).
-
-[#CVE-2021-45046-credits]
-==== Credits
-
-This issue was discovered by Kai Mindermann of iC Consult and separately by 
4ra1n.
-
-Additional vulnerability details discovered independently by Ash Fox of 
Google, Alvaro Muñoz and Tony Torralba from GitHub, Anthony Weems of 
Praetorian, and RyotaK (@ryotkak).
-
-[#CVE-2021-45046-references]
-==== References
-
-- {cve-url-prefix}/CVE-2021-45046[CVE-2021-45046]
-- https://issues.apache.org/jira/browse/LOG4J2-3221[LOG4J2-3221]
-
-[#CVE-2021-44228]
-=== {cve-url-prefix}/CVE-2021-44228[CVE-2021-44228]
-
-[cols="1h,5"]
-|===
-|Summary |JNDI lookup can be exploited to execute arbitrary code loaded from 
an LDAP server
-|CVSS 3.x Score & Vector |10.0 CRITICAL 
(CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:C/C:H/I:H/A:H)
-|Components affected |`log4j-core`
-|Versions affected |`[2.0-beta9, 2.3.1) ∪ [2.4, 2.12.3) ∪ [2.13.0, 2.17.0)`
-|Versions fixed |`2.3.1` (for Java 6), `2.12.3` (for Java 7), and `2.17.0` 
(for Java 8 and later)
-|===
-
-[#CVE-2021-44228-description]
-==== Description
-
-In Log4j, the JNDI features used in configurations, log messages, and 
parameters do not protect against attacker-controlled LDAP and other JNDI 
related endpoints.
-An attacker who can control log messages or log message parameters can execute 
arbitrary code loaded from LDAP servers.
-
-Note that only the `log4j-core` JAR file is impacted by this vulnerability.
-Applications using only the `log4j-api` JAR file without the `log4j-core` JAR 
file are not impacted by this vulnerability.
-
-[#CVE-2021-44228-mitigation]
-==== Mitigation
-
-[#CVE-2021-44228-mitigation-log4j1]
-===== Log4j 1 mitigation
-
-include::_log4j1-eol.adoc[]
-
-Log4j 1 does not have Lookups, so the risk is lower.
-Applications using Log4j 1 are only vulnerable to this attack when they use 
JNDI in their configuration.
-A separate CVE ({cve-url-prefix}/CVE-2021-4104[CVE-2021-4104]) has been filed 
for this vulnerability.
-To mitigate, audit your logging configuration to ensure it has no 
`JMSAppender` configured.
-Log4j 1 configurations without `JMSAppender` are not impacted by this 
vulnerability.
-
-[#CVE-2021-44228-mitigation-log4j2]
-===== Log4j 2 mitigation
-
-Upgrade to Log4j `2.3.1` (for Java 6), `2.12.3` (for Java 7), or `2.17.0` (for 
Java 8 and later).
-
-[#CVE-2021-44228-credits]
-==== Credits
-
-This issue was discovered by Chen Zhaojun of Alibaba Cloud Security Team.
-
-[#CVE-2021-44228-references]
-==== References
-
-- {cve-url-prefix}/CVE-2021-44228[CVE-2021-44228]
-- https://issues.apache.org/jira/browse/LOG4J2-3198[LOG4J2-3198]
-- https://issues.apache.org/jira/browse/LOG4J2-3201[LOG4J2-3201]
-
-[#CVE-2020-9488]
-=== {cve-url-prefix}/CVE-2020-9488[CVE-2020-9488]
-
-[cols="1h,5"]
-|===
-|Summary |Improper validation of certificate with host mismatch in SMTP 
appender
-|CVSS 3.x Score & Vector |3.7 LOW 
(CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:L/I:N/A:N)
-|Components affected |`log4j-core`
-|Versions affected |`[2.0-beta1, 2.12.3) ∪ [2.13.1, 2.13.2)`
-|Versions fixed |`2.12.3` (Java 7) and `2.13.2` (Java 8 and later)
-|===
-
-[#CVE-2020-9488-description]
-==== Description
-
-Improper validation of certificate with host mismatch in SMTP appender.
-This could allow an SMTPS connection to be intercepted by a man-in-the-middle 
attack which could leak any log
-messages sent through that appender.
-
-The reported issue was caused by an error in `SslConfiguration`.
-Any element using `SslConfiguration` in the Log4j `Configuration` is also 
affected by this issue.
-This includes `HttpAppender`, `SocketAppender`, and `SyslogAppender`.
-Usages of `SslConfiguration` that are configured via system properties are not 
affected.
-
-[#CVE-2020-9488-mitigation]
-==== Mitigation
-
-Upgrade to `2.12.3` (Java 7) or `2.13.2` (Java 8 and later).
-
-Alternatively, users can set the `mail.smtp.ssl.checkserveridentity` system 
property to `true` to enable SMTPS hostname verification for all SMTPS mail 
sessions.
-
-[#CVE-2020-9488-credits]
-==== Credits
-
-This issue was discovered by Peter Stöckli.
-
-[#CVE-2020-9488-references]
-==== References
-
-- {cve-url-prefix}/CVE-2020-9488[CVE-2020-9488]
-- https://issues.apache.org/jira/browse/LOG4J2-2819[LOG4J2-2819]
-
-[#CVE-2017-5645]
-=== {cve-url-prefix}/CVE-2017-5645[CVE-2017-5645]
-
-[cols="1h,5"]
-|===
-|Summary |TCP/UDP socket servers can be exploited to execute arbitrary code
-|CVSS 2.0 Score & Vector |7.5 HIGH (AV:N/AC:L/Au:N/C:P/I:P/A:P)
-|Components affected |`log4j-core`
-|Versions affected |`[2.0-alpha1, 2.8.2)`
-|Versions fixed |`2.8.2` (Java 7)
-|===
-
-[#CVE-2017-5645-description]
-==== Description
-
-When using the TCP socket server or UDP socket server to receive serialized 
log events from another application, a specially crafted binary payload can be 
sent that, when deserialized, can execute arbitrary code.
-
-[#CVE-2017-5645-mitigation]
-==== Mitigation
-
-Java 7 and above users should migrate to version `2.8.2` or avoid using the 
socket server classes.
-Java 6 users should avoid using the TCP or UDP socket server classes, or they 
can manually backport 
https://github.com/apache/logging-log4j2/commit/5dcc192[the security fix 
commit] from `2.8.2`.
-
-[#CVE-2017-5645-credits]
-==== Credits
-
-This issue was discovered by Marcio Almeida de Macedo of Red Team at Telstra.
-
-[#CVE-2017-5645-references]
-==== References
-
-- {cve-url-prefix}/CVE-2017-5645[CVE-2017-5645]
-- https://issues.apache.org/jira/browse/LOG4J2-1863[LOG4J2-1863]
-- https://github.com/apache/logging-log4j2/commit/5dcc192[Security fix commit]
diff --git a/src/site/antora/modules/ROOT/pages/support.adoc 
b/src/site/antora/modules/ROOT/pages/support.adoc
deleted file mode 100644
index 063826da76..0000000000
--- a/src/site/antora/modules/ROOT/pages/support.adoc
+++ /dev/null
@@ -1,145 +0,0 @@
-////
-    Licensed to the Apache Software Foundation (ASF) under one or more
-    contributor license agreements.  See the NOTICE file distributed with
-    this work for additional information regarding copyright ownership.
-    The ASF licenses this file to You under the Apache License, Version 2.0
-    (the "License"); you may not use this file except in compliance with
-    the License.  You may obtain a copy of the License at
-
-         http://www.apache.org/licenses/LICENSE-2.0
-
-    Unless required by applicable law or agreed to in writing, software
-    distributed under the License is distributed on an "AS IS" BASIS,
-    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-    See the License for the specific language governing permissions and
-    limitations under the License.
-////
-
-= Support
-
-The Apache Software Foundation does not employ individuals to develop and 
support any of its projects.
-The individuals who contribute to Apache projects do it either as part of 
specific tasks assigned to them by their employer, on their own initiative to 
benefit their employer, or on their own free time.
-
-[#discussions]
-== User support
-
-If you have questions like:
-
-* _"How do I configure Log4j with the file appender?"_
-* _"My layout is not working as expected; what should I do?"_
-* _"How can I migrate from Log4j 1 with this custom configuration?"_
-
-We urge you to first check our xref:faq.adoc[FAQ] to see if it has already 
been answered.
-If not, you can ask your questions on one of our official user support 
channels:
-
-* https://github.com/apache/logging-log4j2/discussions[GitHub Discussions]
-* `[email protected]` mailing list (public | 
mailto:[email protected][subscribe] | 
mailto:[email protected][unsubscribe] | 
mailto:[email protected][post] | 
https://lists.apache.org/list.html?log4j-user&#64;logging.apache.org[archive])
-
-[WARNING]
-====
-**You are expected to be subscribed** to a mailing list to receive replies to 
your posted questions!
-If you are not subscribed, when you post an email, it will be subject to 
moderation (hence, will be distributed with a delay) and the only way you would 
be able to follow the conversation is to use the mailing list archive.
-====
-
-[WARNING]
-====
-Messages sent to a public mailing list will be seen by many people and also 
re-published by 3rd party websites.
-It is usually not possible to remove them.
-Please **don't send mails containing confidential information** to public 
mailing lists.
-For more information, please see the 
https://privacy.apache.org/policies/privacy-policy-public.html[privacy policy]
-====
-* http://stackoverflow.com[Stack Overflow] (use 
http://stackoverflow.com/questions/tagged/log4j[log4j] or 
http://stackoverflow.com/questions/tagged/log4j2[log4j2] tags)
-
-== Maintainer discussions
-
-Apache Log4j project officially uses mailing lists for discussions related to 
maintenance and development.
-
-[WARNING]
-====
-**You are expected to be subscribed** to a mailing list to receive replies to 
your posted questions!
-If you are not subscribed, when you post an email, it will be subject to 
moderation (hence, will be distributed with a delay) and the only way you would 
be able to follow the conversation is to use the mailing list archive.
-====
-
-If you have questions or feedback like:
-
-* A class should have public visibility instead of package-scoped
-* A plugin is missing configuration options
-* You found a bug
-
-then please contact us using the following mailing lists:
-
-`[email protected]` (public | 
mailto:[email protected][subscribe] | 
mailto:[email protected][unsubscribe] | 
mailto:[email protected][post] | 
https://lists.apache.org/list.html?dev&#64;logging.apache.org[archive])::
-For _development_ discussions
-(Please prefix subjects with `[log4j]` when starting a new thread!)
-
-[WARNING]
-====
-Messages sent to a public mailing list will be seen by many people and also 
re-published by 3rd party websites.
-It is usually not possible to remove them.
-Please **don't send mails containing confidential information** to public 
mailing lists.
-For more information, please see the 
https://privacy.apache.org/policies/privacy-policy-public.html[privacy policy]
-====
-
-`[email protected]` (private | 
mailto:[email protected][post])::
-For reporting unlisted **security vulnerabilities** or other unexpected 
behaviour that has a security impact
-
-`[email protected]` (private | 
mailto:[email protected][post])::
-For the discussion of confidential topics within the Apache Logging Services 
project management committee.
-
-[#issues]
-== Issues
-
-The Log4j project uses https://github.com/apache/logging-log4j2/issues[GitHub 
Issues] as its issue tracking system.
-The old issue tracking system, 
https://issues.apache.org/jira/projects/LOG4J2[JIRA], is still accessible, 
though only recommended for issues that were already created there.
-
-Issues get resolved in one of the following ways:
-
-. The reporter or another interested party provides 
https://github.com/apache/logging-log4j2/pulls[a pull request] tagging the 
issue in its title
-. A committer is interested in the issue and decides to work on it
-. The reporter or another interested party sponsors one or more of 
xref:#sponsorship[the committers listed below] to encourage them to work on the 
issue
-
-Created issues are subject to the following policy:
-
-Quality::
-Issues posted of insufficient quality will be removed
-
-No protracted discussions::
-Issues likely to result in protracted discussion must be posted to the mailing 
lists
-
-No Questions::
-Do not post questions as issues!
-These will be removed, and you will be asked to post questions to the mailing 
lists instead.
-
-[#sponsorship]
-== Sponsorship
-
-Sponsorship can be used simply as a way to say thank you for the work that has 
been done or as a way to encourage specific issues to be worked on.
-In either case, while the Apache Logging Services project thanks you for your 
support, we cannot be responsible for any promises and/or contributions made by 
an individual committer, as individual commits must be reviewed and accepted by 
the project team.
-
-=== Committers accepting GitHub Sponsorship
-
-* https://github.com/carterkozak[Carter Kozak]
-* https://github.com/garydgregory[Gary Gregory]
-* https://github.com/jvz[Matt Sicker]
-* https://github.com/ppkarwasz[Piotr P. Karwasz]
-* https://github.com/rgoers[Ralph Goers]
-* https://github.com/vy[Volkan Yazıcı]
-
-[#commercial]
-== Third-party commercial support
-
-While neither the Apache Software Foundation nor the Apache Logging Services 
project provide any commercial support for the Log4j products, individual 
committers may collaborate with services that provide such support.
-
-The following aims to be a list of all commercial support services involving 
one or more Log4j committers.
-
-https://volkan.yazi.ci[Abstract Dynamics]::
-Consultancy services offered by PMC member 
https://www.linkedin.com/in/yazicivo[Volkan Yazıcı]
-
-https://copernik.eu[Copernik]::
-Consultancy services offered by PMC member 
https://www.linkedin.com/in/ppkarwasz[Piotr Karwasz]
-
-https://grobmeier.solutions[Grobmeier Solutions]::
-Consultancy services offered by PMC member 
https://www.linkedin.com/in/grobmeier/[Christian Grobmeier]
-
-https://tidelift.com[Tidelift]::
-Some Log4j maintainers receive funding from Tidelift for their maintenance 
efforts.

Reply via email to