You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@tomcat.apache.org by ma...@apache.org on 2017/09/08 11:12:14 UTC
svn commit: r1807713 - in /tomcat/trunk:
java/org/apache/tomcat/util/net/openssl/OpenSSLConf.java
java/org/apache/tomcat/util/net/openssl/OpenSSLConfCmd.java
test/org/apache/tomcat/util/net/TestSSLHostConfig.java
Author: markt
Date: Fri Sep 8 11:12:13 2017
New Revision: 1807713
URL: http://svn.apache.org/viewvc?rev=1807713&view=rev
Log:
Make SSLHostConfig Serializable again
Spotted by FindBugs but add a test case to ensure the expected behaviour.
Modified:
tomcat/trunk/java/org/apache/tomcat/util/net/openssl/OpenSSLConf.java
tomcat/trunk/java/org/apache/tomcat/util/net/openssl/OpenSSLConfCmd.java
tomcat/trunk/test/org/apache/tomcat/util/net/TestSSLHostConfig.java
Modified: tomcat/trunk/java/org/apache/tomcat/util/net/openssl/OpenSSLConf.java
URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/tomcat/util/net/openssl/OpenSSLConf.java?rev=1807713&r1=1807712&r2=1807713&view=diff
==============================================================================
--- tomcat/trunk/java/org/apache/tomcat/util/net/openssl/OpenSSLConf.java (original)
+++ tomcat/trunk/java/org/apache/tomcat/util/net/openssl/OpenSSLConf.java Fri Sep 8 11:12:13 2017
@@ -16,6 +16,7 @@
*/
package org.apache.tomcat.util.net.openssl;
+import java.io.Serializable;
import java.util.ArrayList;
import java.util.List;
@@ -24,7 +25,9 @@ import org.apache.juli.logging.LogFactor
import org.apache.tomcat.jni.SSLConf;
import org.apache.tomcat.util.res.StringManager;
-public class OpenSSLConf {
+public class OpenSSLConf implements Serializable {
+
+ private static final long serialVersionUID = 1L;
private static final Log log = LogFactory.getLog(OpenSSLConf.class);
private static final StringManager sm = StringManager.getManager(OpenSSLConf.class);
Modified: tomcat/trunk/java/org/apache/tomcat/util/net/openssl/OpenSSLConfCmd.java
URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/tomcat/util/net/openssl/OpenSSLConfCmd.java?rev=1807713&r1=1807712&r2=1807713&view=diff
==============================================================================
--- tomcat/trunk/java/org/apache/tomcat/util/net/openssl/OpenSSLConfCmd.java (original)
+++ tomcat/trunk/java/org/apache/tomcat/util/net/openssl/OpenSSLConfCmd.java Fri Sep 8 11:12:13 2017
@@ -16,7 +16,11 @@
*/
package org.apache.tomcat.util.net.openssl;
-public class OpenSSLConfCmd {
+import java.io.Serializable;
+
+public class OpenSSLConfCmd implements Serializable {
+
+ private static final long serialVersionUID = 1L;
private String name = null;
private String value = null;
Modified: tomcat/trunk/test/org/apache/tomcat/util/net/TestSSLHostConfig.java
URL: http://svn.apache.org/viewvc/tomcat/trunk/test/org/apache/tomcat/util/net/TestSSLHostConfig.java?rev=1807713&r1=1807712&r2=1807713&view=diff
==============================================================================
--- tomcat/trunk/test/org/apache/tomcat/util/net/TestSSLHostConfig.java (original)
+++ tomcat/trunk/test/org/apache/tomcat/util/net/TestSSLHostConfig.java Fri Sep 8 11:12:13 2017
@@ -16,9 +16,18 @@
*/
package org.apache.tomcat.util.net;
+import java.io.ByteArrayInputStream;
+import java.io.ByteArrayOutputStream;
+import java.io.IOException;
+import java.io.ObjectInputStream;
+import java.io.ObjectOutputStream;
+import java.util.List;
+
import org.junit.Assert;
import org.junit.Test;
+import org.apache.tomcat.util.net.openssl.OpenSSLConf;
+import org.apache.tomcat.util.net.openssl.OpenSSLConfCmd;
import org.apache.tomcat.util.net.openssl.ciphers.Cipher;
public class TestSSLHostConfig {
@@ -65,4 +74,39 @@ public class TestSSLHostConfig {
hc.setCiphers(c.getOpenSSLAlias());
Assert.assertEquals(c.getOpenSSLAlias(), hc.getCiphers());
}
+
+
+ @Test
+ public void testSerialization() throws IOException, ClassNotFoundException {
+ // Dummy OpenSSL command name/value pair
+ String name = "foo";
+ String value = "bar";
+
+ // Set up the object
+ SSLHostConfig sslHostConfig = new SSLHostConfig();
+ OpenSSLConf openSSLConf = new OpenSSLConf();
+ OpenSSLConfCmd openSSLConfCmd = new OpenSSLConfCmd();
+ openSSLConfCmd.setName(name);
+ openSSLConfCmd.setValue(value);
+ openSSLConf.addCmd(openSSLConfCmd);
+ sslHostConfig.setOpenSslConf(openSSLConf);
+
+ // Serialize
+ ByteArrayOutputStream baos = new ByteArrayOutputStream();
+ ObjectOutputStream oos = new ObjectOutputStream(baos);
+ oos.writeObject(sslHostConfig);
+ oos.close();
+
+ // Deserialize
+ ByteArrayInputStream bais = new ByteArrayInputStream(baos.toByteArray());
+ ObjectInputStream ois = new ObjectInputStream(bais);
+ SSLHostConfig output = (SSLHostConfig) ois.readObject();
+
+ // Check values
+ List<OpenSSLConfCmd> commands = output.getOpenSslConf().getCommands();
+ Assert.assertEquals(1, commands.size());
+ OpenSSLConfCmd command = commands.get(0);
+ Assert.assertEquals(name, command.getName());
+ Assert.assertEquals(value, command.getValue());
+ }
}
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@tomcat.apache.org
For additional commands, e-mail: dev-help@tomcat.apache.org