Skip to content

Commit e3aefc9

Browse files
authored
Merge pull request #238 from sboldyreva/java-new
Add new Java pages
2 parents cb5f4a2 + 9b25bd5 commit e3aefc9

File tree

17 files changed

+1660
-6
lines changed

17 files changed

+1660
-6
lines changed

docs/.vuepress/components/ELSTechnology.vue

Lines changed: 38 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -97,98 +97,122 @@ const techData = [
9797
{
9898
name: "Dom4j",
9999
versions: "1.6.1",
100+
link: "./java-libraries/",
100101
},
101102
{
102103
name: "SnakeYAML",
103104
versions: "1.23 | 1.26 | 1.29 | 1.30 | 1.33",
105+
link: "./java-libraries/",
104106
},
105107
{
106108
name: "Google Guava",
107109
versions: "20.0 | 30.1-jre | 31.1-jre",
110+
link: "./java-libraries/",
108111
},
109112
{
110113
name: "Apache Hadoop",
111-
versions: "2.7.3, 2.7.1",
114+
versions: "2.7.1, 2.7.3",
115+
link: "./apache-hadoop/",
112116
},
113117
{
114118
name: "Apache Struts",
115119
versions: "1.3.5 | 2.5.33",
120+
link: "./apache-struts/",
116121
},
117122
{
118123
name: "Apache Spark",
119124
versions: "2.4.8",
125+
link: "./apache-spark/",
120126
},
121127
{
122128
name: "Okio",
123129
versions: "2.8.0",
130+
link: "./java-libraries/",
124131
},
125132
{
126133
name: "Apache Commons BeanUtils",
127134
versions: "1.9.4",
135+
link: "./java-libraries/",
128136
},
129137
{
130138
name: "Apache Commons HttpClient",
131139
versions: "3.1",
140+
link: "./java-libraries/",
132141
},
133142
{
134143
name: "Apache CXF",
135144
versions: "3.5.9",
145+
link: "./java-libraries/",
136146
},
137147
{
138148
name: "DNSJava",
139149
versions: "2.1.7",
150+
link: "./java-libraries/",
140151
},
141152
{
142153
name: "el-spec",
143154
versions: "3.0.0",
155+
link: "./java-libraries/",
144156
},
145157
{
146158
name: "Apache Hive",
147159
versions: "2.3.9",
160+
link: "./java-libraries/",
148161
},
149162
{
150163
name: "Apache Kafka",
151164
versions: "3.2.3",
165+
link: "./apache-kafka/",
152166
},
153167
{
154168
name: "Jackson",
155169
versions: "1.9.13",
170+
link: "./jackson/",
156171
},
157172
{
158173
name: "Logback",
159174
versions: "1.2.13",
175+
link: "./java-libraries/",
160176
},
161177
{
162178
name: "Netty",
163179
versions: "4.1.115.Final | 4.1.63.Final",
180+
link: "./java-libraries/",
164181
},
165182
{
166183
name: "Nimbus JOSE + JWT",
167184
versions: "9.22 | 9.24.4",
185+
link: "./java-libraries/",
168186
},
169187
{
170188
name: "Querydsl",
171189
versions: "5.1.0",
190+
link: "./java-libraries/",
172191
},
173192
{
174193
name: "Plexus Utils",
175194
versions: "1.5.8",
195+
link: "./java-libraries/",
176196
},
177197
{
178198
name: "PostgreSQL",
179-
versions: "42.5.0 | 42.2.16",
199+
versions: "42.2.16 | 42.5.0",
200+
link: "./postgresql/",
180201
},
181202
{
182203
name: "Protobuf",
183204
versions: "2.5.0"
205+
,link: "./protobuf/",
184206
},
185207
{
186208
name: "Reload4j",
187209
versions: "1.2.17",
210+
link: "./java-libraries/",
188211
},
189212
{
190213
name: "Snappy Java",
191214
versions: "1.1.8.4",
215+
link: "./java-libraries/",
192216
},
193217
{
194218
name: "Apache Tomcat",
@@ -197,34 +221,42 @@ const techData = [
197221
{
198222
name: "Apache Thrift",
199223
versions: "0.9.3",
224+
link: "./java-libraries/",
200225
},
201226
{
202227
name: "Thymeleaf",
203228
versions: "3.0.15.RELEASE",
229+
link: "./java-libraries/",
204230
},
205231
{
206232
name: "Apache Velocity Engine",
207233
versions: "1.7",
234+
link: "./java-libraries/",
208235
},
209236
{
210237
name: "Woodstox",
211238
versions: "5.0.3",
239+
link: "./java-libraries/",
212240
},
213241
{
214242
name: "XMLUnit",
215243
versions: "2.9.1 | 2.9.0"
216-
},
217-
{
218-
name: "Apache Santuario XML Security For Java",
219-
versions: "2.0.10 | 2.3.1",
244+
,link: "./java-libraries/",
220245
},
221246
{
222247
name: "Apache Commons IO",
223248
versions: "2.7",
249+
link: "./java-libraries/",
224250
},
225251
{
226252
name: "Apache Commons Lang",
227253
versions: "2.4 | 2.6 | 3.4 | 3.10 | 3.12.0",
254+
link: "./apache-commons-lang/",
255+
},
256+
{
257+
name: "Apache Santuario XML Security For Java",
258+
versions: "2.0.10 | 2.3.1",
259+
link: "./java-libraries/",
228260
},
229261
],
230262
},

docs/.vuepress/config-client/sidebar.ts

Lines changed: 36 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -96,6 +96,42 @@ export default {
9696
path: '/els-for-runtimes-and-libraries/openjdk/',
9797
icon: '/images/openjdk-logo.webp',
9898
},
99+
{
100+
path: '/els-for-runtimes-and-libraries/apache-hadoop/',
101+
icon: '/images/apache.webp',
102+
},
103+
{
104+
path: '/els-for-runtimes-and-libraries/apache-struts/',
105+
icon: '/images/apache.webp',
106+
},
107+
{
108+
path: '/els-for-runtimes-and-libraries/apache-spark/',
109+
icon: '/images/apache-spark.webp',
110+
},
111+
{
112+
path: '/els-for-runtimes-and-libraries/apache-kafka/',
113+
icon: '/images/apache-kafka.webp',
114+
},
115+
{
116+
path: '/els-for-runtimes-and-libraries/postgresql/',
117+
icon: '/images/postgresql.webp',
118+
},
119+
{
120+
path: '/els-for-runtimes-and-libraries/protobuf/',
121+
icon: '/images/java.png',
122+
},
123+
{
124+
path: '/els-for-runtimes-and-libraries/jackson/',
125+
icon: '/images/jackson.webp',
126+
},
127+
{
128+
path: '/els-for-runtimes-and-libraries/apache-commons-lang/',
129+
icon: '/images/apache.webp',
130+
},
131+
{
132+
path: '/els-for-runtimes-and-libraries/java-libraries/',
133+
icon: '/images/java.png',
134+
},
99135
{
100136
title: 'Python',
101137
type: 'section-header',
3.21 KB
Loading
23.2 KB
Loading
7.24 KB
Loading
1.51 KB
Loading
1.79 KB
Loading
24.2 KB
Loading
Lines changed: 160 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,160 @@
1+
# Apache Commons Lang
2+
3+
TuxCare's Endless Lifecycle Support (ELS) for Apache Commons Lang provides security patches, and selected bug fixes, that are integral to the stable operation of applications using Commons Lang.
4+
5+
## Supported Versions
6+
7+
* Apache Commons Lang 2.4, 2.6, 3.4, 3.10, 3.12.0
8+
9+
## Connection to ELS for Apache Commons Lang Repository
10+
11+
This guide outlines the steps needed to integrate the TuxCare ELS for Apache Commons Lang repository into your Java application. The repository provides trusted Java libraries that can be easily integrated into your **Maven** and **Gradle** projects.
12+
13+
### Step 1: Get user credentials
14+
15+
You need username and password in order to use TuxCare ELS Apache Commons Lang repository. Anonymous access is disabled. To receive username and password please contact [sales@tuxcare.com](mailto:sales@tuxcare.com).
16+
17+
### Step 2: Configure Registry
18+
19+
1. Navigate to the directory depending on your operating system.
20+
* Windows
21+
```text
22+
Maven: C:\Users\{username}\.m2
23+
Gradle: C:\Users\{username}\.gradle
24+
```
25+
* macOS
26+
```text
27+
Maven: /Users/{username}/.m2
28+
Gradle: /Users/{username}/.gradle
29+
```
30+
* Linux
31+
```text
32+
Maven: /home/{username}/.m2
33+
Gradle: /home/{username}/.gradle
34+
```
35+
36+
2. Add the TuxCare repository and plugin repository to your build configuration.
37+
38+
:::tip
39+
For Maven, you may choose any valid `<id>` value instead of `tuxcare-registry`, but the same value must be used in both `settings.xml` and `pom.xml`.
40+
:::
41+
42+
<CodeTabs :tabs="[
43+
{ title: 'Maven (~/.m2/settings.xml)', content: mavencreds },
44+
{ title: 'Gradle (~/.gradle/gradle.properties)', content: gradlecreds }
45+
]" />
46+
47+
Here `USERNAME` and `PASSWORD` are your credentials mentioned in the [Step 1](#step-1-get-user-credentials).
48+
49+
### Step 3: Update Build Configuration
50+
51+
Add the TuxCare Apache Commons Lang repository and plugins to your build configuration:
52+
53+
<CodeTabs :tabs="[
54+
{ title: 'Maven (pom.xml)', content: mavenrepo },
55+
{ title: 'Gradle (build.gradle)', content: gradlerepo }
56+
]" />
57+
58+
* To fully switch from the official Apache Commons Lang repository, replace it with the TuxCare repository.
59+
* To keep both, add TuxCare after the official one.
60+
61+
Example Maven and Gradle projects are available on GitHub. Remember to set the required environment variables.
62+
* [Maven](https://github.com/cloudlinux/securechain-java/tree/main/examples/maven)
63+
* [Gradle](https://github.com/cloudlinux/securechain-java/tree/main/examples/gradle)
64+
65+
### Step 4: Update Dependencies
66+
67+
Replace the Apache Commons Lang dependencies in your build file with the TuxCare-maintained versions to cover both direct and transitive dependencies.
68+
69+
You can find a specific artifact version in your TuxCare account on [Nexus](https://nexus.repo.tuxcare.com/repository/els_spring/) (anonymous access is restricted).
70+
71+
<CodeTabs :tabs="[
72+
{ title: 'Maven (pom.xml)', content: mavendeps },
73+
{ title: 'Gradle (build.gradle)', content: gradledeps }
74+
]" />
75+
76+
### Step 5: Verify and Build
77+
78+
1. To confirm the TuxCare Apache Commons Lang repository is set up correctly, use your build tool to list the project's dependencies. It shows both direct and transitive dependencies in the classpath.
79+
80+
<CodeTabs :tabs="[
81+
{ title: 'Maven', content: `mvn dependency:tree -Dverbose` },
82+
{ title: 'Gradle', content: `./gradlew dependencies --configuration runtimeClasspath` }
83+
]" />
84+
85+
2. After reviewing the dependencies, include any library from the repository into your project and then run a build:
86+
87+
<CodeTabs :tabs="[
88+
{ title: 'Maven', content: `mvn clean install` },
89+
{ title: 'Gradle', content: `./gradlew build` }
90+
]" />
91+
92+
The build tool you're using should be able to identify and resolve dependencies from the TuxCare ELS for Apache Commons Lang repository.
93+
94+
### Conclusion
95+
96+
You've successfully integrated the TuxCare ELS for Apache Commons Lang repository into your project. You can now benefit from the secure and vetted Apache Commons Lang libraries it provides.
97+
98+
## Vulnerability Exploitability eXchange (VEX)
99+
100+
VEX is a machine-readable format that tells you if a known vulnerability is actually exploitable in your product. It reduces false positives, helps prioritize real risks.
101+
102+
TuxCare provides VEX for Apache Commons Lang ELS versions: [security.tuxcare.com/vex/cyclonedx/els_lang_java/commons-lang/](https://security.tuxcare.com/vex/cyclonedx/els_lang_java/commons-lang/).
103+
104+
## How to Upgrade to a Newer Version of TuxCare Packages
105+
106+
If you have already installed a package with a `tuxcare.1` suffix and want to upgrade to a newer release (for example, `tuxcare.3`), you need to update version strings in your Maven or Gradle build file.
107+
108+
<script setup>
109+
const mavencreds =
110+
`<?xml version="1.0" encoding="UTF-8"?>
111+
<settings xmlns="http://maven.apache.org/SETTINGS/1.1.0">
112+
<servers>
113+
<server>
114+
<id>tuxcare-registry</id>
115+
<username>USERNAME</username>
116+
<password>PASSWORD</password>
117+
</server>
118+
</servers>
119+
</settings>`
120+
121+
const gradlecreds =
122+
`tuxcare_registry_url=https://nexus.repo.tuxcare.com/repository/els_spring/
123+
+tuxcare_registry_user=USERNAME
124+
+tuxcare_registry_password=PASSWORD`
125+
126+
const mavenrepo =
127+
`<repositories>
128+
<repository>
129+
<id>tuxcare-registry</id>
130+
<url>https://nexus.repo.tuxcare.com/repository/els_spring/</url>
131+
</repository>
132+
</repositories>`
133+
134+
const gradlerepo =
135+
`repositories {
136+
maven {
137+
url = uri(providers.gradleProperty("tuxcare_registry_url").get())
138+
credentials {
139+
username = providers.gradleProperty("tuxcare_registry_user").get()
140+
password = providers.gradleProperty("tuxcare_registry_password").get()
141+
}
142+
authentication { basic(BasicAuthentication) }
143+
}
144+
mavenCentral()
145+
}`
146+
147+
const mavendeps =
148+
`<dependencies>
149+
<dependency>
150+
<groupId>commons-lang</groupId>
151+
<artifactId>commons-lang</artifactId>
152+
<version>2.6-tuxcare.1</version>
153+
</dependency>
154+
</dependencies>`
155+
156+
const gradledeps =
157+
`dependencies {
158+
implementation("commons-lang:commons-lang:2.6-tuxcare.1")
159+
}`
160+
</script>

0 commit comments

Comments
 (0)