Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
923 commits
Select commit Hold shift + click to select a range
8b61c5b
Updates SSL & unit tests for the main SSL package changes
jon-valliere Sep 9, 2021
a7ceb08
Fix size == 0 check; removes unused tests
jon-valliere Sep 9, 2021
6675179
applies null check
jon-valliere Sep 14, 2021
9486b96
Var rename
jon-valliere Sep 14, 2021
27256db
Adds malformed HTTP request check
Sep 21, 2021
37fc70e
workaround for failing unit test
jon-valliere Oct 4, 2021
f38dde9
JDK8 Compatibility Fix
jon-valliere Nov 18, 2021
3b5e22e
Store captured errors in async tasks
jon-valliere Nov 23, 2021
a4f0b28
Forces code compatibility with JDK8
jon-valliere Nov 24, 2021
b87dbd8
DIRMINA-1152: IoServiceStatistics introduces huge latencies - make Io…
dmitriinovikov Dec 3, 2021
c0ee516
Merge pull request #30 from dmitriinovikov/bugfix/DIRMINA-1152
elecharny Jan 5, 2022
557c6ea
Small improvements and testing with SSL
jon-valliere Jan 15, 2022
660ab23
Adds CLOSURE toggle for SSL debugging
jon-valliere Jan 15, 2022
8112f93
Renamed some class, ignored a failing test, adding some delay between…
elecharny Jan 22, 2022
8d7e162
Tabs removal
elecharny Jan 23, 2022
d7932fb
Fixed an infinite loop: we were calling buf.toString in buf.toString
elecharny Jan 28, 2022
20c5eb3
Fixed a test that was trying to do a TLS renegociation, which is not …
elecharny Feb 23, 2022
4fb5d0e
o Minor code refactoring
elecharny Feb 26, 2022
ecc9972
o Make it so outbound message are written when the inbound is closed.
elecharny Mar 8, 2022
c41cb60
Revert "o Make it so outbound message are written when the inbound is…
elecharny Mar 8, 2022
f645440
o Renamed SSLxxx classes to Sslxxx to keep an ascendant compatibility
elecharny Mar 15, 2022
d57397c
o Fixed an issue with the setting of both NEED and WANT flags
elecharny Apr 1, 2022
e2e0f25
Bumped up dependencies and plugins
elecharny Apr 10, 2022
442354f
Modified the pom dile to activate reproductible builds
elecharny Apr 10, 2022
8ec921a
Added some missing javadoc
elecharny Apr 10, 2022
e70fa13
Some more javadoc added
elecharny Apr 10, 2022
7d8930d
[maven-release-plugin] prepare release 2.2.0
elecharny Apr 10, 2022
9c237ca
[maven-release-plugin] prepare for next development iteration
elecharny Apr 10, 2022
7b62752
reversed to 2.2.0-SNAPSHOT in order to re-cut the release, as the Nex…
elecharny Jul 17, 2022
3e50702
[maven-release-plugin] prepare release 2.2.0
elecharny Jul 17, 2022
f3b3eea
[maven-release-plugin] rollback the release of 2.2.0
elecharny Jul 17, 2022
079d459
[maven-release-plugin] prepare release 2.2.0
elecharny Jul 17, 2022
59af2ca
[maven-release-plugin] prepare for next development iteration
elecharny Jul 17, 2022
1c3bad3
Fixed an OSGi export typo
elecharny Jul 20, 2022
f827f75
Replaced </?tt> by </?code> in javadoc
elecharny Jul 20, 2022
9f4c284
Replaced </?TT> by </?code> in javadoc
elecharny Jul 20, 2022
03b8bf5
[maven-release-plugin] prepare release 2.2.1
elecharny Jul 20, 2022
24a7ab2
[maven-release-plugin] prepare for next development iteration
elecharny Jul 20, 2022
085b0e6
[maven-release-plugin] rollback the release of 2.2.1
elecharny Jul 20, 2022
023fdeb
[maven-release-plugin] prepare release 2.2.1
elecharny Jul 20, 2022
7893dfc
[maven-release-plugin] prepare for next development iteration
elecharny Jul 20, 2022
16a189e
Fixed small typo
chrjohn Aug 26, 2022
512ef7c
workaround for Reproducible Builds
hboutemy Sep 4, 2022
f07d40c
Update copyright end date
ggregory-rocket Nov 28, 2022
c272d8f
Refactor commons code pattern
ggregory-rocket Dec 1, 2022
4ba4151
write direct buffer only once
subes Jan 7, 2023
b8b6d45
Merge pull request #37 from subes/patch-1
jon-valliere Jan 7, 2023
db9b3bb
Merge pull request #33 from chrjohn/patch-1
jon-valliere Jan 7, 2023
be5886c
Javadoc: Port package.html to package-info.java
ggregory-rocket Mar 19, 2023
a8dc2c5
Git ignore IDE folder
ggregory-rocket Mar 19, 2023
f733514
Fixed a OSGi issue - a missing comma -
elecharny Apr 30, 2023
98f4560
Merge remote-tracking branch 'origin/2.2.X' into 2.2.X
elecharny Apr 30, 2023
7bfe266
Updated the copyright date
elecharny Apr 30, 2023
d50ced0
Clarified the code by using meaningfull variable nalme
elecharny Apr 30, 2023
354ba0d
Fixing a typo
elecharny Apr 30, 2023
2fd2be0
Added some missing javadoc
elecharny Apr 30, 2023
9770d2a
Updated the HTTP various constantsé
elecharny Apr 30, 2023
6a54e0a
Added github actions
elecharny Apr 30, 2023
3e9cb91
Merge pull request #34 from hboutemy/2.2.X
elecharny Apr 30, 2023
9630c7d
Applied Herve Biutemy patch for xbeans
elecharny Apr 30, 2023
92199d8
Merge remote-tracking branch 'origin/2.2.X' into 2.2.X
elecharny Apr 30, 2023
3937c93
Applied patch for DIRMINA-1122
elecharny May 10, 2023
36f4e97
Applied patch for DIRMINA-1169
elecharny May 20, 2023
c7cb73c
Added a missing changed for DIRMINA-1169
elecharny May 20, 2023
b65685c
fixed some javadoc issues"
elecharny May 31, 2023
253b2e7
Added an HTML caption to a table
elecharny May 31, 2023
b3ebde5
Fixed a wrong @param tag
elecharny May 31, 2023
bd0b2da
[maven-release-plugin] prepare release 2.2.2
elecharny May 31, 2023
2992d28
[maven-release-plugin] prepare for next development iteration
elecharny May 31, 2023
4fce8c8
Bumped up dependencies and plugins
elecharny Jun 14, 2023
0756b36
Throw a RuntimeException subclass instead of RuntimeException.
garydgregory Jul 6, 2023
de3f723
Throw IllegalStateException instead of InternalError
garydgregory Jul 12, 2023
269aef1
Use stock JRE Charset instead of magic string
garydgregory Jul 16, 2023
0145d1a
Use stock JRE Charset instead of magic string
garydgregory Jul 16, 2023
26f6f99
Use the diamond notation
garydgregory Jul 16, 2023
c723045
Fix for DIRMINA-1172
elecharny Aug 23, 2023
3e638d1
Merge remote-tracking branch 'origin/2.2.X' into 2.2.X
elecharny Aug 23, 2023
1a7c450
Renamed the DIRMINA1172 test
elecharny Sep 3, 2023
48de5d2
Ignore the test, otherwise it will loop forever
elecharny Sep 3, 2023
677e729
o Bumped up dependencies and maven polugins
elecharny Sep 6, 2023
abeddb9
Downgraded the maven source plugin version because 3.3.0 fails
elecharny Sep 6, 2023
906884d
[maven-release-plugin] prepare release 2.2.3
elecharny Sep 6, 2023
4b60a1d
[maven-release-plugin] prepare for next development iteration
elecharny Sep 6, 2023
2e8daeb
Fixed a failing test with Java 17
elecharny Sep 14, 2023
c75dc7f
Removed a useless dependency, set some other dependencies to test scope
elecharny Sep 14, 2023
74c6cd1
Updated the slf4j license
elecharny Sep 14, 2023
708dcff
Updated the jzlib license file
elecharny Sep 14, 2023
9b07814
Removed the OGNL license file, as the project has swithced to AL 2.0
elecharny Sep 14, 2023
dc97e48
Removed the unecessary jdom dependency
elecharny Sep 14, 2023
64bf316
Fixed the parent's pom version
elecharny Sep 20, 2023
daaeac9
Removed the jdom dependency version
elecharny Sep 20, 2023
337246a
Use SPDX identifier for license name
elecharny Oct 5, 2023
e9d4fae
Applied patch proposed by kllbzz (https://github.com/apache/mina/pull…
elecharny Nov 1, 2023
593eeeb
Javadoc
garydgregory Dec 14, 2023
6f12a2c
No need to nest else clause
garydgregory Dec 14, 2023
33ffc7d
Merge branch '2.2.X' of https://gitbox.apache.org/repos/asf/mina.git …
garydgregory Dec 14, 2023
0cbbc8b
working on the multi-phase synchronization; it was working before but…
jon-valliere Feb 20, 2024
ec93bb7
nonblock SSL now passes all tests
jon-valliere Feb 20, 2024
d393ad7
found one place where the UNACK was calculated wrong
jon-valliere Feb 20, 2024
1a4fbda
typos
jon-valliere Feb 22, 2024
05028e8
found an issue where async task execution was always happening inline
jon-valliere Feb 22, 2024
f5f70ed
add accidentally removed sync
jon-valliere Feb 22, 2024
93a4ff7
small change to the control flow for public methods
jon-valliere Feb 24, 2024
14d8761
Fixed a javadoc typo
elecharny Feb 28, 2024
ed97be8
adds separate event queue - this is temporary because I don't like th…
jon-valliere Feb 29, 2024
62643fe
alright lets remove all the synchronization from the queue flushes
jon-valliere Mar 1, 2024
df98d09
Free a useless buffer.
elecharny Apr 18, 2024
46fb20f
Merge branch '2.2.X' into bugfix/DIRMINA-1173
elecharny Apr 18, 2024
13d5019
removed a useless import
elecharny Apr 26, 2024
cc86146
Used an AtomicBooleaninstead of using a lock
elecharny Apr 26, 2024
57767e4
Added some new lines for clarity
elecharny Apr 26, 2024
df0ecc6
Disable Nagle's algorithm by default
elecharny May 11, 2024
495a282
Revert the change made on the TCP_NODELAY default value.
elecharny May 11, 2024
0daeb7b
Upgraded PMD to 7.0.0 and pmd-pligin to 3.22
elecharny May 27, 2024
6ab8003
Give more significant name to a variable
elecharny Sep 10, 2024
e3dc20b
Switched to Easymock 5.4.0 as a replacemnt for rmock, hich does not
elecharny Sep 10, 2024
ac9ce3f
Bumped up ognl dependency and PMD
elecharny Sep 10, 2024
2904be1
Bumped up some maven dependencies
elecharny Sep 10, 2024
dd403eb
Bumped up maven dependency versions
elecharny Sep 10, 2024
0fc698a
Added a JenkinsFile
elecharny Sep 11, 2024
994a00b
Deleted badly named Jenkinsfile
elecharny Sep 11, 2024
cf86678
Renamed the Jenkinsfile
elecharny Sep 11, 2024
7be0686
Fixed teh Jenkins file
elecharny Sep 11, 2024
ef6bc34
Fixed teh Jenkins file
elecharny Sep 11, 2024
6823a4d
Fixed the Jenkins file for java 8
elecharny Sep 11, 2024
8189db8
Fixed the Jenkins file agent
elecharny Sep 11, 2024
fc50011
Added the windows builds
elecharny Sep 11, 2024
7bf5673
Fixed a windows build for JDK 1.8
elecharny Sep 11, 2024
1c697be
Fixed a windows build for JDK 1.8
elecharny Sep 12, 2024
6731bad
Fixed a windows build for JDK 1.8
elecharny Sep 12, 2024
dd4cf26
o Added the Mockito dependency
elecharny Sep 14, 2024
227277f
Removed Java 8 build as Mockito requires Java 11
elecharny Sep 15, 2024
870cfaa
Bumped up the spring dependency to a more recent version
elecharny Oct 26, 2024
23e6ee1
Added the SBOM generaion plugin
elecharny Oct 29, 2024
691a9df
pom.xml
elecharny Nov 4, 2024
5976fe0
o Added a maven version prerequisite
elecharny Nov 6, 2024
6376578
Removed a duplicate replacer plugin declaration
elecharny Nov 6, 2024
cebf645
Fixed a javadoc issue
elecharny Nov 6, 2024
2ac0579
Fixed some javadoc issue
elecharny Nov 6, 2024
721622e
Fixed some javadoc issue
elecharny Nov 6, 2024
8859dd3
Removed the useless lifecycle-mapping and rat-maven-plugin plugins
elecharny Nov 6, 2024
f9cc5ad
Added some control on the classes that can be deserialized
elecharny Nov 6, 2024
47789bb
git commit -m "Added a info in the files' header indicating that those
elecharny Nov 11, 2024
9791886
Added some missing spaces
elecharny Dec 16, 2024
06a5107
Rollbacked maven source plugin to 3.2.1, because since 3.3.0 the buil…
elecharny Dec 19, 2024
b1dc83a
Fixed some javadoc issues
elecharny Dec 19, 2024
f583441
Fixed some compilation issues
elecharny Dec 19, 2024
859e7aa
Fixed a bad @link
elecharny Dec 19, 2024
252130d
Solved some link issues
elecharny Dec 19, 2024
625a524
Trying to get maven source plugin to the latest version
elecharny Dec 19, 2024
bfb75f2
Rollbacked to source plugin 3.2.1
elecharny Dec 19, 2024
ccc85e3
Fixing another link issue
elecharny Dec 19, 2024
4134a12
[maven-release-plugin] prepare release 2.2.4
elecharny Dec 19, 2024
74614eb
[maven-release-plugin] prepare for next development iteration
elecharny Dec 19, 2024
8c56f4c
Removed a useless source dependency, and get rid of the maven-source-…
elecharny Dec 30, 2024
eab9019
Binary compatibility with 2.0.X
tomaswolf Mar 2, 2025
04a9b94
Merge pull request #48 from tomaswolf/2.2.X
elecharny Mar 3, 2025
6ea71eb
Added some new line to clarify the code
elecharny Oct 16, 2025
971a60c
o Fixed some typo
elecharny Oct 16, 2025
89e739f
Added some new lines to clarify the code
elecharny Oct 16, 2025
d86d6d1
Bumped up some maven plugins
elecharny Oct 16, 2025
88b01a8
o Fix required by the OGNL new version
elecharny Oct 16, 2025
9cf592c
Changed the default value for ENABLE_ASYNC_TASKS from true to false. The
elecharny Oct 16, 2025
50be71e
Protected the selector againts concurrent access in a few more places
elecharny Nov 15, 2025
6e3ddda
Bumped up a few plugins
elecharny Nov 15, 2025
ebd010d
Bumped up two more plugins
elecharny Nov 15, 2025
b65468d
Bumped up some dependencies
elecharny Nov 15, 2025
40534da
Fixed some javadoc
elecharny Nov 21, 2025
c93f413
[maven-release-plugin] prepare release 2.2.5
elecharny Nov 21, 2025
a0a8967
[maven-release-plugin] prepare for next development iteration
elecharny Nov 21, 2025
4e4ba64
[maven-release-plugin] rollback the release of 2.2.5
elecharny Nov 21, 2025
e9c6916
[maven-release-plugin] prepare release 2.2.5
elecharny Nov 21, 2025
66d24ac
[maven-release-plugin] prepare for next development iteration
elecharny Nov 21, 2025
754be7e
[maven-release-plugin] rollback the release of 2.2.5
elecharny Nov 21, 2025
63a0d9f
[maven-release-plugin] prepare release 2.2.5
elecharny Nov 21, 2025
457ec38
[maven-release-plugin] prepare for next development iteration
elecharny Nov 21, 2025
2982ee8
Make NioSession.getChannel() public
garydgregory Jan 14, 2026
9e45469
Merge pull request #50 from garydgregory/2_2_x/NioSession_getChannel_…
elecharny Jan 18, 2026
d255baa
Updated the dependencies
elecharny Apr 21, 2026
23fab5c
Updated two mina-example dependencies
elecharny Apr 21, 2026
437baf1
Bumped up maven plugin versions
elecharny Apr 21, 2026
213a4a6
A plugin version update, and a useless dependency removal
elecharny Apr 21, 2026
a7a9169
[maven-release-plugin] prepare release 2.2.6
elecharny Apr 24, 2026
d01e55c
[maven-release-plugin] prepare for next development iteration
elecharny Apr 24, 2026
2d500f6
Fix for DIRMINA-1192 & DIRMINA-1193
elecharny Apr 25, 2026
a1caa2d
Enforecd use of Java 17 for this branch
elecharny Apr 26, 2026
b967f0b
Merge remote-tracking branch 'refs/remotes/origin/2.2.X' into 2.2.X
elecharny Apr 26, 2026
4e82ad2
bumped up a dependency
elecharny Apr 27, 2026
42f20db
Bumped up some dependencies
elecharny Apr 28, 2026
cca24d6
Added a missing fix
elecharny Apr 29, 2026
d108d0c
Merge remote-tracking branch 'refs/remotes/origin/2.2.X' into 2.2.X
elecharny Apr 29, 2026
a2fa750
[maven-release-plugin] prepare release 2.2.7
elecharny Apr 29, 2026
377f8b0
[maven-release-plugin] prepare for next development iteration
elecharny Apr 29, 2026
55ae3d4
Bumped up the apache maven project, and the maven enforcer plugin
elecharny May 18, 2026
accfb47
Added a size limit for the inflated buffer
elecharny May 19, 2026
90cd035
Add decompress ratio check
ppkarwasz May 20, 2026
db05969
Merge pull request #52 from ppkarwasz/feat/decompression-ratio
elecharny May 22, 2026
94832ef
Added the fluent API for the CompressionFilter class to ease the crea…
elecharny May 22, 2026
f207407
Added a missing setter
elecharny May 23, 2026
50ed0a3
Fixed a typo
elecharny May 24, 2026
4e50333
Another typo fix
elecharny May 24, 2026
8505921
Changed a flag in readClassDescriptor; Added a resolveProxyClass impl…
elecharny May 24, 2026
409171d
o Fixed a serialisation issue
elecharny May 29, 2026
4381ae8
Added missing javadoc
elecharny May 29, 2026
4e0e0ae
[maven-release-plugin] prepare release 2.2.8
elecharny May 29, 2026
657241c
[maven-release-plugin] prepare for next development iteration
elecharny May 29, 2026
db9be64
Added a minimal readme file
elecharny Jun 1, 2026
aeb23cc
Update README.md
elecharny Jun 1, 2026
ff83976
Update README.md
elecharny Jun 1, 2026
25158e5
Update README.md
elecharny Jun 1, 2026
455a8f3
Added the ASF header
elecharny Jun 1, 2026
112ab78
Added the ASF header
elecharny Jun 1, 2026
b3794f7
Commented the ASF header
elecharny Jun 1, 2026
d76cd03
Fixed a typo
elecharny Jun 1, 2026
1069e94
Fixed a typo
elecharny Jun 1, 2026
2f5d405
[DIRMINA-1197] Modernize Java CI workflow
ppkarwasz Jun 4, 2026
705866e
fix: use `bash` as shell
ppkarwasz Jun 4, 2026
c7819ca
fix: use `-Pserial`
ppkarwasz Jun 4, 2026
d3af7f2
Merge pull request #53 from ppkarwasz/feat/actions-2.2.X
elecharny Jun 4, 2026
cfdb045
fix: create deflater in DEFLATER mode in CompressionFilter
ppkarwasz Jun 12, 2026
a48effc
Merge pull request #57 from ppkarwasz/fix/deflater-inflater-swap
elecharny Jun 12, 2026
fef7534
added some missing javadoc
elecharny Jun 13, 2026
8b19349
[maven-release-plugin] prepare release 2.2.9
elecharny Jun 13, 2026
4ec97ac
[maven-release-plugin] prepare for next development iteration
elecharny Jun 13, 2026
9e75f31
rewrite o.a.m.filter.firewall.Subnet from commons-net
maxbes Jun 1, 2026
13d1b81
ipv6 unit tests for o.a.m.filter.firewall.Subnet
maxbes Jun 2, 2026
fe7f19d
Merge pull request #59 from Worteks/fix-ipv6-filtering
elecharny Jun 17, 2026
7049d99
Updated the copyright date
elecharny Jun 28, 2026
7a74495
o Added a TLSClient using a blocking connection
elecharny Aug 17, 2026
8b12fc7
Fixed an issue with HTTP text being decoded as a UTF-8 chars instead of
elecharny Sep 8, 2026
46a0469
Fixed an issue with HTTP decoding, that was done in UTF-8, instead o…
elecharny Sep 8, 2026
ec995d1
Don't replay already consumed data when an error is thrown while
elecharny Sep 8, 2026
13211f2
Moved the BogusTrustManagerFactory class to Example, it has nothing to o
elecharny Sep 8, 2026
e47dfaf
Move the BogusTrustManagerFactory class to exemple (From Maxime Besson)
elecharny Sep 8, 2026
19c544b
Avoid a reverse DNS lookup (From Maxime Besson)
elecharny Sep 8, 2026
fc71b38
Forgot to update the XML config form after having moved the BogusTru…
elecharny Sep 8, 2026
b1986dc
Added some LOG messages
elecharny Sep 10, 2026
a7d61c8
Removed the useless printStackTrace
elecharny Sep 10, 2026
33b9704
o Commented the LOG added in AbstractPollingIoProcessor, they were
elecharny Sep 10, 2026
88e67e0
additional checks for schedule bytes
the-thing Sep 10, 2026
810362e
Merge pull request #62 from the-thing/scheduled-write-bytes
elecharny Sep 10, 2026
9ed22d5
Removed mina-example module from the distributed binary jar
elecharny Sep 15, 2026
f383da4
Applied patch for PR #64 (Flaky AbstractFileRegionTest failures due t…
elecharny Sep 22, 2026
1e91115
Applied patch for PR #63 (Document the object serialization format ch…
elecharny Sep 22, 2026
1835490
do not resolve DNS when creating SSLEngine for SNI hostnames
the-thing Sep 22, 2026
7adcd48
parametrize test for TLS 1.2 / 1.3 separately
the-thing Sep 22, 2026
69720a2
Merge pull request #65 from the-thing/fix-dns-resolution-for-dns-id
the-thing Sep 22, 2026
c36bca8
- use read operation is set before connecting
the-thing Sep 22, 2026
0813a77
Merge pull request #66 from the-thing/connector-use-read-operation-test
the-thing Sep 24, 2026
769a9d7
filtering MDC events from IoProcessor log
the-thing Sep 24, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
73 changes: 73 additions & 0 deletions .github/workflows/ci.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,73 @@
# SPDX-License-Identifier: Apache-2.0
name: Java CI

on:
# Build only the production branches on push, so internal feature branches do not trigger a build twice (once on push, once on the pull request).
push:
# Restricts push builds to these branches, even if the workflow is copied to another branch.
branches:
- 2.0.X
- 2.1.X
- 2.2.X
# Build every pull request targeting the branch this workflow lives on.
pull_request:

# Permissions are granted per job.
permissions: { }

# Check all pushes to production branches, but interrupt a PR job if a new commit is pushed.
concurrency:
group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }}
cancel-in-progress: ${{ github.event_name == 'pull_request' }}

jobs:
test:
runs-on: ${{ matrix.os }}
strategy:
matrix:
os: [ubuntu-latest, windows-latest, macos-latest]
java-version: [17, 21, 25]
distribution: [temurin]
fail-fast: false
name: Test JDK ${{ matrix.java-version }}, ${{ matrix.os }}

# Actions from the `actions` and `github` organizations are pinned to a major version tag rather than a commit SHA.
# This is a deliberate decision:
#
# - Those organizations have strong expertise in securing GitHub Actions.
# - A compromise of either organization would likely also compromise the GitHub Actions service itself, so pinning would not help.
# - These actions release frequently.
#
# The residual risk is deemed acceptable in exchange for less Dependabot churn across the maintained branches.
steps:

- name: Checkout repository
uses: actions/checkout@v6
with:
# Don't persist the GitHub token used to check out the repository.
persist-credentials: false

- name: Set up JDK
uses: actions/setup-java@v5
with:
java-version: ${{ matrix.java-version }}
distribution: ${{ matrix.distribution }}
cache: maven

- name: Test with Maven
shell: bash
run: |
mvn verify \
-Pserial \
--show-version --batch-mode --errors --no-transfer-progress

# Upload the test results, even when the build failed.
- name: Upload test reports
if: always()
uses: actions/upload-artifact@v7
with:
name: "test-report-${{matrix.os}}-${{matrix.distribution}}-${{matrix.java-version}}-${{github.run_number}}-${{github.run_attempt}}"
# Don't warn or fail when no tests ran (e.g. a compilation failure).
if-no-files-found: ignore
path: |
**/target/surefire-reports
15 changes: 15 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
.classpath
.project
.settings
.wtpmodules
*.ipr
*.iws
*.iml
target/
bin/
*.log
.deployables
.clover
META-INF/
Dockerfile
/.idea/
182 changes: 182 additions & 0 deletions Jenkinsfile
Original file line number Diff line number Diff line change
@@ -0,0 +1,182 @@
/*
* 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.
*/
pipeline {
agent any

tools {
maven 'maven_3_latest'
jdk params.jdkVersion
}

options {
// Configure an overall timeout for the build of ten hours.
timeout(time: 20, unit: 'HOURS')
// When we have test-fails e.g. we don't need to run the remaining steps
buildDiscarder(logRotator(numToKeepStr: '5', artifactNumToKeepStr: '5'))
disableConcurrentBuilds()
}

parameters {
choice(name: 'nodeLabel', choices: ['ubuntu', 'arm', 'Windows'])
choice(name: 'jdkVersion', choices: ['jdk_11_latest', 'jdk_17_latest', 'jdk_21_latest', 'jdk_22_latest', 'jdk_11_latest_windows', 'jdk_17_latest_windows', 'jdk_21_latest_windows', 'jdk_22_latest_windows'])
booleanParam(name: 'deployEnabled', defaultValue: false)
booleanParam(name: 'sonarEnabled', defaultValue: false)
booleanParam(name: 'testsEnabled', defaultValue: true)
}

triggers {
cron('@weekly')
pollSCM('@daily')
}

stages {
stage('Initialization') {
steps {
echo "running on ${env.NODE_NAME}"
echo 'Building branch ' + env.BRANCH_NAME
echo 'Using PATH ' + env.PATH
}
}

stage('Cleanup') {
steps {
echo 'Cleaning up the workspace'
deleteDir()
}
}

stage('Checkout') {
steps {
echo 'Checking out branch ' + env.BRANCH_NAME
checkout scm
}
}

stage('Build JDK 22 Linux') {
tools {
jdk "jdk_22_latest"
}
steps {
echo 'Building JDK 22 Linux'
sh 'java -version'
sh 'mvn -version'
sh 'mvn clean install -Pserial'
}
}

stage('Build JDK 21 Linux') {
tools {
jdk "jdk_21_latest"
}
steps {
echo 'Building JDK 21 Linux'
sh 'java -version'
sh 'mvn -version'
sh 'mvn clean install -Pserial'
}
}

stage('Build JDK 17 Linux') {
tools {
jdk "jdk_17_latest"
}
steps {
echo 'Building JDK 17 Linux'
sh 'java -version'
sh 'mvn -version'
sh 'mvn clean install -Pserial'
}
}

stage('Build JDK 11 Linux') {
tools {
jdk "jdk_11_latest"
}
steps {
echo 'Building JDK 11 Linux'
sh 'java -version'
sh 'mvn -version'
sh 'mvn clean install -Pserial'
}
}

/*--- Comment out Windows builds for the moment ---*/
/*
stage('Build JDK 22 Windows') {
tools {
jdk "jdk_22_latest_windows"
}
steps {
echo 'Building JDK 22 Windows'
sh 'java -version'
sh 'mvn -version'
sh 'mvn clean install -Pserial'
}
}

stage('Build JDK 21 Windows') {
tools {
jdk "jdk_21_latest_windows"
}
steps {
echo 'Building JDK 21 Windows'
sh 'java -version'
sh 'mvn -version'
sh 'mvn clean install -Pserial'
}
}

stage('Build JDK 17 Windows') {
tools {
jdk "jdk_17_latest_windows"
}
steps {
echo 'Building JDK 17 Windows'
sh 'java -version'
sh 'mvn -version'
sh 'mvn clean install -Pserial'
}
}

stage('Build JDK 11 Windows') {
tools {
jdk "jdk_11_latest_windows"
}
steps {
echo 'Building JDK 11 Windows'
sh 'java -version'
sh 'mvn -version'
sh 'mvn clean install -Pserial'
}
}

stage('Build JDK 8 Windows') {
tools {
jdk "jdk_1.8_latest_windows"
}
steps {
echo 'Building JDK 8 Windows'
sh 'java -version'
sh 'mvn -version'
sh 'mvn clean install -Pserial'
}
}
---*/
}
}
2 changes: 1 addition & 1 deletion LICENSE.jzlib.txt
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@ JZlib 0.0.* were released under the GNU LGPL license. Later, we have switched
over to a BSD-style license.

------------------------------------------------------------------------------
Copyright (c) 2000,2001,2002,2003 ymnk, JCraft,Inc. All rights reserved.
Copyright (c) 2000-2011 ymnk, JCraft,Inc. All rights reserved.

Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions are met:
Expand Down
10 changes: 0 additions & 10 deletions LICENSE.ognl.txt

This file was deleted.

41 changes: 18 additions & 23 deletions LICENSE.slf4j.txt
Original file line number Diff line number Diff line change
@@ -1,28 +1,23 @@
Copyright (c) 2004-2007 QOS.ch
Copyright (c) 2004-2022 QOS.ch Sarl (Switzerland)
All rights reserved.

Permission is hereby granted, free of charge, to any person obtaining
a copy of this software and associated documentation files (the
"Software"), to deal in the Software without restriction, including
without limitation the rights to use, copy, modify, merge, publish,
distribute, and/or sell copies of the Software, and to permit persons
to whom the Software is furnished to do so, provided that the above
copyright notice(s) and this permission notice appear in all copies of
the Software and that both the above copyright notice(s) and this
permission notice appear in supporting documentation.
Permission is hereby granted, free of charge, to any person obtaining
a copy of this software and associated documentation files (the
"Software"), to deal in the Software without restriction, including
without limitation the rights to use, copy, modify, merge, publish,
distribute, sublicense, and/or sell copies of the Software, and to
permit persons to whom the Software is furnished to do so, subject to
the following conditions:

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT
OF THIRD PARTY RIGHTS. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR
HOLDERS INCLUDED IN THIS NOTICE BE LIABLE FOR ANY CLAIM, OR ANY
SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, OR ANY DAMAGES WHATSOEVER
RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF
CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN
CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
The above copyright notice and this permission notice shall be
included in all copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

Except as contained in this notice, the name of a copyright holder
shall not be used in advertising or otherwise to promote the sale, use
or other dealings in this Software without prior written authorization
of the copyright holder.

36 changes: 36 additions & 0 deletions NOTICE-bin.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,36 @@
Apache MINA
Copyright 2007-2026 The Apache Software Foundation.

This product includes software developed at
The Apache Software Foundation (http://www.apache.org/).

Please refer to each LICENSE.<component>.txt file for the
license terms of the components that Apache MINA depends on.

Message logging is provided by the SLF4J library package,
which is open source software, written by Ceki Gülcü, and
copyright by SLF4J.ORG and QOS.ch. The original software is
available from

http://www.slf4j.org/

Data compression support is provided by the JZLib library package,
which is open source software, written by JCraft, and copyright
by JCraft. The original software is available from

http://www.jcraft.com/jzlib/

Spring framework is provided by the Spring framework library
package, which is open source software, written by Rod Johnson
et al, and copyright by Springframework.org. The original
software is available from

http://www.springframework.org/

OGNL is provided by the OGNL library package, which is open source
software, written by Drew Davidson and Luke Blanshard. The original
software is available from

http://www.ognl.org/


Loading
Loading