Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
16 changes: 7 additions & 9 deletions RELEASE-NOTES.md
Original file line number Diff line number Diff line change
@@ -1,24 +1,22 @@
# OpenAS2 Server
# Version 4.1.0
# Version 4.1.1
# RELEASE NOTES
-----
The OpenAS2 project is pleased to announce the release of OpenAS2 4.1.0
The OpenAS2 project is pleased to announce the release of OpenAS2 4.1.1

The release download file is: OpenAS2Server-4.1.0.zip
The release download file is: OpenAS2Server-4.1.1.zip

The zip file contains a PDF document (OpenAS2HowTo.pdf) providing information on installing and using the application.
## NOTE: Testing covers Java 11 to 21.
## Java 8 is NO LONGER SUPPORTED.

Version 4.1.0 - 2024-12-04
Version 4.1.1 - 2025-03-19

This is an enhancement release.
This is a bugfix release.
**IMPORTANT NOTE**: Please review upgrade notes below if you are upgrading

1. Support for Elliptic curve certificates.
2. Enhanced support for using SSL with self signed certificates
3. Support PKCS12 certificate keystore for SSL certificates.
4. Significantly updated the OpenAS2HowTo documentation.
1. Fix the proxy support implementation.
2. Fix handling of file cleanup when resend loop is entered.

##Upgrade Notes
See the openAS2HowTo appendix for the general process on upgrading OpenAS2.
Expand Down
2 changes: 1 addition & 1 deletion Server/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@
<!-- DO NOT CHANGE THIS "groupId" WITHOUT CHANGING XMLSession.getManifestAttributes.MANIFEST_VENDOR_ID_ATTRIB -->
<groupId>net.sf.openas2</groupId>
<artifactId>OpenAS2</artifactId>
<version>4.1.0</version>
<version>4.1.1</version>
<relativePath>../pom.xml</relativePath>
</parent>

Expand Down
23 changes: 20 additions & 3 deletions Server/src/main/java/org/openas2/util/AS2Util.java
Original file line number Diff line number Diff line change
Expand Up @@ -206,6 +206,10 @@ public static boolean checkMDN(AS2Message msg) throws DispositionException, Open
}
try {
dt.validate();
logger.warn("\n\n********************\nFORCING DSIPOSTION ERROR....\n\tVALUE: " + System.getenv("FORCE_MDN_ERROR"));
if ("true".equals(System.getenv("FORCE_MDN_ERROR"))) {
throw new DispositionException(dt, "BANG");
}
} catch (DispositionException de) {
if (logger.isWarnEnabled()) {
logger.warn("Disposition error detected in MDN. Received disposition: " + disposition + msg.getLogMsgID());
Expand Down Expand Up @@ -348,8 +352,13 @@ public static boolean resend(Session session, Class<?> sourceClass, String how,
// Going to try again so increment the try count
retries++;
}

if (useOriginalMsgObject) {
// Keep a popinter to the passed in msg object in case it is overwritten in this method so that the setting
// the resend flag to avoid file cleanup is not lost when this method exits and the original initiating
// method of this cycle queries the msg object to check if it is ok to call file cleanup
Message passed_in_msg = msg;
// The current "msg" object is the same is the persisted one if it is the first entry to the resend process
// so no need to retrieve from file system in that case
if (useOriginalMsgObject && retries > 0) {
String pendingMsgObjFileName = msg.getAttribute(FileAttribute.MA_PENDINGFILE) + ".object";

if (logger.isDebugEnabled()) {
Expand Down Expand Up @@ -386,7 +395,10 @@ public static boolean resend(Session session, Class<?> sourceClass, String how,
originalMsg.setOption(ResenderModule.OPTION_RETRIES, "" + retries);
}
if (logger.isTraceEnabled()) {
logger.trace("Message file extracted from passed in object: " + msg.getAttribute(FileAttribute.MA_PENDINGFILE) + "\n Message file extracted from original object: " + originalMsg.getAttribute(FileAttribute.MA_PENDINGFILE) + msg.getLogMsgID());
logger.trace("Message file extracted from passed in object: "
+ msg.getAttribute(FileAttribute.MA_PENDINGFILE)
+ "\n Message file extracted from original object: "
+ originalMsg.getAttribute(FileAttribute.MA_PENDINGFILE) + msg.getLogMsgID());
}
msg = originalMsg;
}
Expand All @@ -399,6 +411,7 @@ public static boolean resend(Session session, Class<?> sourceClass, String how,

if (requiresNewMessageId) {
/**
* TODO: CHANGE THE DEFAULT TO FALSE
* Per https://tools.ietf.org/html/rfc4130#section-9.3 resend should have same
* Message-Id ... BUT Because it was implemented in the beginning to create a
* new one for each resend, for backwards compatibility the default is the
Expand Down Expand Up @@ -445,6 +458,10 @@ public static boolean resend(Session session, Class<?> sourceClass, String how,
options.put(ResenderModule.OPTION_RESEND_METHOD, how);
options.put(ResenderModule.OPTION_RETRIES, "" + retries);
session.getProcessor().handle(ResenderModule.DO_RESEND, msg, options);
// Make sure the flag is set in the passed in object if it was swapped out
if (passed_in_msg != msg) {
passed_in_msg.setIsResend(msg.isResend());
}
return true;
}

Expand Down
8 changes: 8 additions & 0 deletions changes.txt
Original file line number Diff line number Diff line change
@@ -1,3 +1,11 @@
Version 4.1.1 - 2025-03-19

This is a bugfix release.
**IMPORTANT NOTE**: Please review upgrade notes below if you are upgrading

1. Fix the proxy support implementation.
2. Fix handling of file cleanup when resend loop is entered.

Version 4.1.0 - 2024-12-04

This is an enhancement release.
Expand Down
30 changes: 15 additions & 15 deletions pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@
<modelVersion>4.0.0</modelVersion>
<groupId>net.sf.openas2</groupId>
<artifactId>OpenAS2</artifactId>
<version>4.1.0</version>
<version>4.1.1</version>
<name>OpenAS2</name>
<packaging>pom</packaging>

Expand Down Expand Up @@ -51,17 +51,17 @@
<dependency>
<groupId>org.bouncycastle</groupId>
<artifactId>bcjmail-jdk18on</artifactId>
<version>1.79</version>
<version>1.80</version>
</dependency>
<dependency>
<groupId>org.bouncycastle</groupId>
<artifactId>bcpkix-jdk18on</artifactId>
<version>1.79</version>
<version>1.80</version>
</dependency>
<dependency>
<groupId>org.bouncycastle</groupId>
<artifactId>bcprov-jdk18on</artifactId>
<version>1.79</version>
<version>1.80</version>
</dependency>
<dependency>
<groupId>org.bouncycastle</groupId>
Expand All @@ -71,7 +71,7 @@
<dependency>
<groupId>org.bouncycastle</groupId>
<artifactId>bcpg-jdk18on</artifactId>
<version>1.79</version>
<version>1.80</version>
</dependency>
<dependency>
<groupId>org.apache.commons</groupId>
Expand Down Expand Up @@ -108,22 +108,22 @@
<dependency>
<groupId>org.junit.jupiter</groupId>
<artifactId>junit-jupiter</artifactId>
<version>5.11.3</version>
<version>5.12.1</version>
<scope>test</scope>
</dependency>
<!-- https://mvnrepository.com/artifact/org.mockito/mockito-core -->
<dependency>
<groupId>org.mockito</groupId>
<artifactId>mockito-core</artifactId>
<!-- Hold at version 4.x for Java 8 compatibility -->
<version>5.14.2</version>
<version>5.16.1</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.mockito</groupId>
<artifactId>mockito-junit-jupiter</artifactId>
<!-- Hold at version 4.x for Java 8 compatibility -->
<version>5.14.2</version>
<version>5.16.1</version>
<scope>test</scope>
</dependency>
<!-- https://mvnrepository.com/artifact/org.hamcrest/hamcrest -->
Expand All @@ -141,12 +141,12 @@
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-api</artifactId>
<version>2.0.16</version>
<version>2.0.17</version>
</dependency>
<dependency>
<groupId>ch.qos.logback</groupId>
<artifactId>logback-classic</artifactId>
<version>1.5.12</version>
<version>1.5.18</version>
</dependency>
<dependency>
<groupId>jakarta.ws.rs</groupId>
Expand All @@ -161,30 +161,30 @@
<dependency>
<groupId>org.glassfish.jersey.containers</groupId>
<artifactId>jersey-container-grizzly2-http</artifactId>
<version>3.1.9</version>
<version>3.1.10</version>
<type>jar</type>
</dependency>
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-databind</artifactId>
<version>2.18.2</version>
<version>2.18.3</version>
<type>jar</type>
</dependency>
<dependency>
<groupId>com.fasterxml.jackson.module</groupId>
<artifactId>jackson-module-jaxb-annotations</artifactId>
<version>2.18.2</version>
<version>2.18.3</version>
</dependency>
<dependency>
<groupId>org.glassfish.jersey.media</groupId>
<artifactId>jersey-media-json-jackson</artifactId>
<version>3.1.9</version>
<version>3.1.10</version>
<type>jar</type>
</dependency>
<dependency>
<groupId>org.glassfish.jersey.inject</groupId>
<artifactId>jersey-hk2</artifactId>
<version>3.1.9</version>
<version>3.1.10</version>
</dependency>
<dependency>
<groupId>jakarta.xml.bind</groupId>
Expand Down