You are viewing a plain text version of this content. The canonical link for it is here.
Posted to server-dev@james.apache.org by ma...@apache.org on 2018/07/20 08:05:03 UTC

[02/19] james-project git commit: JAMES-2472 remove uses of commons-codec

JAMES-2472 remove uses of commons-codec


Project: http://git-wip-us.apache.org/repos/asf/james-project/repo
Commit: http://git-wip-us.apache.org/repos/asf/james-project/commit/325cb7a7
Tree: http://git-wip-us.apache.org/repos/asf/james-project/tree/325cb7a7
Diff: http://git-wip-us.apache.org/repos/asf/james-project/diff/325cb7a7

Branch: refs/heads/master
Commit: 325cb7a75572bf12abe813153c5dfcafe197c903
Parents: 1834083
Author: Matthieu Baechler <ma...@apache.org>
Authored: Tue Jul 17 17:35:59 2018 +0200
Committer: Matthieu Baechler <ma...@apache.org>
Committed: Fri Jul 20 10:03:52 2018 +0200

----------------------------------------------------------------------
 mailbox/api/pom.xml                             |  4 --
 .../transport/mailets/ICalendarParser.java      | 14 +-----
 pom.xml                                         |  6 ---
 protocols/imap/pom.xml                          |  4 --
 .../imap/processor/AuthenticateProcessor.java   |  5 +-
 protocols/smtp/pom.xml                          | 48 --------------------
 .../smtp/core/esmtp/AuthCmdHandler.java         | 21 ++++++---
 server/blob/blob-api/pom.xml                    |  4 --
 server/blob/blob-cassandra/pom.xml              |  4 --
 server/data/data-cassandra/pom.xml              |  4 --
 server/data/data-hbase/pom.xml                  |  4 --
 server/data/data-jpa/pom.xml                    |  4 --
 server/protocols/jmap/pom.xml                   |  4 --
 .../jmap/crypto/JamesSignatureHandler.java      |  6 +--
 .../jmap/crypto/JamesSignatureHandlerTest.java  |  4 +-
 server/protocols/protocols-smtp/pom.xml         |  5 --
 server/queue/queue-jms/pom.xml                  |  4 --
 .../james/queue/jms/JMSSerializationUtils.java  |  8 ++--
 server/queue/queue-rabbitmq/pom.xml             |  5 --
 19 files changed, 27 insertions(+), 131 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/james-project/blob/325cb7a7/mailbox/api/pom.xml
----------------------------------------------------------------------
diff --git a/mailbox/api/pom.xml b/mailbox/api/pom.xml
index d92acaa..8d76a45 100644
--- a/mailbox/api/pom.xml
+++ b/mailbox/api/pom.xml
@@ -66,10 +66,6 @@
             <artifactId>javax.mail</artifactId>
         </dependency>
         <dependency>
-            <groupId>commons-codec</groupId>
-            <artifactId>commons-codec</artifactId>
-        </dependency>
-        <dependency>
             <groupId>commons-io</groupId>
             <artifactId>commons-io</artifactId>
             <scope>test</scope>

http://git-wip-us.apache.org/repos/asf/james-project/blob/325cb7a7/mailet/icalendar/src/main/java/org/apache/james/transport/mailets/ICalendarParser.java
----------------------------------------------------------------------
diff --git a/mailet/icalendar/src/main/java/org/apache/james/transport/mailets/ICalendarParser.java b/mailet/icalendar/src/main/java/org/apache/james/transport/mailets/ICalendarParser.java
index 68da345..5755f55 100644
--- a/mailet/icalendar/src/main/java/org/apache/james/transport/mailets/ICalendarParser.java
+++ b/mailet/icalendar/src/main/java/org/apache/james/transport/mailets/ICalendarParser.java
@@ -27,7 +27,6 @@ import java.util.stream.Stream;
 
 import javax.mail.MessagingException;
 
-import org.apache.commons.codec.binary.Hex;
 import org.apache.commons.lang3.tuple.Pair;
 import org.apache.mailet.Mail;
 import org.apache.mailet.base.GenericMailet;
@@ -37,7 +36,6 @@ import org.slf4j.LoggerFactory;
 import com.github.steveash.guavate.Guavate;
 import com.google.common.annotations.VisibleForTesting;
 import com.google.common.base.Strings;
-
 import net.fortuna.ical4j.data.CalendarBuilder;
 import net.fortuna.ical4j.data.ParserException;
 import net.fortuna.ical4j.model.Calendar;
@@ -137,23 +135,15 @@ public class ICalendarParser extends GenericMailet {
             return Stream.of(Pair.of(key, builder.build(inputStream)));
         } catch (IOException e) {
             if (LOGGER.isErrorEnabled()) {
-                LOGGER.error("Error while reading input: " + icsContentToString(icsContent), e);
+                LOGGER.error("Error while reading input: " + new String(icsContent, StandardCharsets.UTF_8), e);
             }
             return Stream.of();
         } catch (ParserException e) {
             if (LOGGER.isErrorEnabled()) {
-                LOGGER.error("Error while parsing ICal object: " + icsContentToString(icsContent), e);
+                LOGGER.error("Error while parsing ICal object: " + new String(icsContent, StandardCharsets.UTF_8), e);
             }
             return Stream.of();
         }
     }
 
-    private static String icsContentToString(byte[] icsContent) {
-        try {
-            return new String(icsContent, StandardCharsets.UTF_8);
-        } catch (Exception e) {
-            LOGGER.error("Error while decoding ics content", e);
-        }
-        return new String(Hex.encodeHex(icsContent));
-    }
 }

http://git-wip-us.apache.org/repos/asf/james-project/blob/325cb7a7/pom.xml
----------------------------------------------------------------------
diff --git a/pom.xml b/pom.xml
index 8a0997d..3bc991a 100644
--- a/pom.xml
+++ b/pom.xml
@@ -606,7 +606,6 @@
         <commons-daemon.version>1.0.10</commons-daemon.version>
         <commons-collections.version>3.2.2</commons-collections.version>
         <commons-lang.version>2.6</commons-lang.version>
-        <commons-codec.version>1.7</commons-codec.version>
         <commons-cli.version>1.4</commons-cli.version>
         <commons-pool.version>1.6</commons-pool.version>
         <commons-configuration.version>1.9</commons-configuration.version>
@@ -1749,11 +1748,6 @@
                 <version>${commons-cli.version}</version>
             </dependency>
             <dependency>
-                <groupId>commons-codec</groupId>
-                <artifactId>commons-codec</artifactId>
-                <version>${commons-codec.version}</version>
-            </dependency>
-            <dependency>
                 <groupId>commons-collections</groupId>
                 <artifactId>commons-collections</artifactId>
                 <version>${commons-collections.version}</version>

http://git-wip-us.apache.org/repos/asf/james-project/blob/325cb7a7/protocols/imap/pom.xml
----------------------------------------------------------------------
diff --git a/protocols/imap/pom.xml b/protocols/imap/pom.xml
index 41bae24..79f2e31 100644
--- a/protocols/imap/pom.xml
+++ b/protocols/imap/pom.xml
@@ -56,10 +56,6 @@
             <artifactId>javax.mail</artifactId>
         </dependency>
         <dependency>
-            <groupId>commons-codec</groupId>
-            <artifactId>commons-codec</artifactId>
-        </dependency>
-        <dependency>
             <groupId>junit</groupId>
             <artifactId>junit</artifactId>
             <scope>test</scope>

http://git-wip-us.apache.org/repos/asf/james-project/blob/325cb7a7/protocols/imap/src/main/java/org/apache/james/imap/processor/AuthenticateProcessor.java
----------------------------------------------------------------------
diff --git a/protocols/imap/src/main/java/org/apache/james/imap/processor/AuthenticateProcessor.java b/protocols/imap/src/main/java/org/apache/james/imap/processor/AuthenticateProcessor.java
index 0c6a302..3660f68 100644
--- a/protocols/imap/src/main/java/org/apache/james/imap/processor/AuthenticateProcessor.java
+++ b/protocols/imap/src/main/java/org/apache/james/imap/processor/AuthenticateProcessor.java
@@ -22,10 +22,10 @@ package org.apache.james.imap.processor;
 import java.io.Closeable;
 import java.nio.charset.Charset;
 import java.util.ArrayList;
+import java.util.Base64;
 import java.util.List;
 import java.util.StringTokenizer;
 
-import org.apache.commons.codec.binary.Base64;
 import org.apache.james.imap.api.ImapCommand;
 import org.apache.james.imap.api.display.HumanReadableText;
 import org.apache.james.imap.api.message.response.StatusResponseFactory;
@@ -107,8 +107,7 @@ public class AuthenticateProcessor extends AbstractAuthProcessor<AuthenticateReq
     private AuthenticationAttempt parseDelegationAttempt(String initialClientResponse) {
         String token2;
         try {
-
-            String userpass = new String(Base64.decodeBase64(initialClientResponse));
+            String userpass = new String(Base64.getDecoder().decode(initialClientResponse));
             StringTokenizer authTokenizer = new StringTokenizer(userpass, "\0");
             String token1 = authTokenizer.nextToken();  // Authorization Identity
             token2 = authTokenizer.nextToken();                 // Authentication Identity

http://git-wip-us.apache.org/repos/asf/james-project/blob/325cb7a7/protocols/smtp/pom.xml
----------------------------------------------------------------------
diff --git a/protocols/smtp/pom.xml b/protocols/smtp/pom.xml
index 334dd97..f11b127 100644
--- a/protocols/smtp/pom.xml
+++ b/protocols/smtp/pom.xml
@@ -65,11 +65,6 @@
             <artifactId>javax.mail</artifactId>
         </dependency>
         <dependency>
-            <groupId>commons-codec</groupId>
-            <artifactId>commons-codec</artifactId>
-            <optional>true</optional>
-        </dependency>
-        <dependency>
             <groupId>commons-net</groupId>
             <artifactId>commons-net</artifactId>
             <scope>test</scope>
@@ -107,47 +102,4 @@
         </dependency>
     </dependencies>
 
-    <build>
-        <plugins>
-            <plugin>
-                <groupId>org.apache.maven.plugins</groupId>
-                <artifactId>maven-shade-plugin</artifactId>
-                <executions>
-                    <execution>
-                        <goals>
-                            <goal>shade</goal>
-                        </goals>
-                        <phase>package</phase>
-                        <configuration>
-                            <artifactSet>
-                                <includes>
-                                    <include>commons-codec:commons-codec</include>
-                                </includes>
-                            </artifactSet>
-                            <filters>
-                                <filter>
-                                    <artifact>commons-codec:commons-codec</artifact>
-                                    <excludes>
-                                        <exclude>org/apache/commons/codec/*</exclude>
-                                    </excludes>
-                                    <includes>
-                                        <include>org/apache/commons/codec/binary/*</include>
-                                    </includes>
-                                </filter>
-                            </filters>
-                            <relocations>
-                                <relocation>
-                                    <pattern>org.apache.commons.codec.binary</pattern>
-                                    <shadedPattern>${project.groupId}.smtp.util</shadedPattern>
-                                </relocation>
-                            </relocations>
-                            <transformers>
-                                <transformer implementation="org.apache.maven.plugins.shade.resource.ComponentsXmlResourceTransformer" />
-                            </transformers>
-                        </configuration>
-                    </execution>
-                </executions>
-            </plugin>
-        </plugins>
-    </build>
 </project>

http://git-wip-us.apache.org/repos/asf/james-project/blob/325cb7a7/protocols/smtp/src/main/java/org/apache/james/protocols/smtp/core/esmtp/AuthCmdHandler.java
----------------------------------------------------------------------
diff --git a/protocols/smtp/src/main/java/org/apache/james/protocols/smtp/core/esmtp/AuthCmdHandler.java b/protocols/smtp/src/main/java/org/apache/james/protocols/smtp/core/esmtp/AuthCmdHandler.java
index e24796e..97f8ced 100644
--- a/protocols/smtp/src/main/java/org/apache/james/protocols/smtp/core/esmtp/AuthCmdHandler.java
+++ b/protocols/smtp/src/main/java/org/apache/james/protocols/smtp/core/esmtp/AuthCmdHandler.java
@@ -23,7 +23,9 @@ package org.apache.james.protocols.smtp.core.esmtp;
 
 import java.io.UnsupportedEncodingException;
 import java.nio.ByteBuffer;
+import java.nio.charset.StandardCharsets;
 import java.util.ArrayList;
+import java.util.Base64;
 import java.util.Collection;
 import java.util.Collections;
 import java.util.List;
@@ -31,7 +33,6 @@ import java.util.Locale;
 import java.util.Optional;
 import java.util.StringTokenizer;
 
-import org.apache.commons.codec.binary.Base64;
 import org.apache.commons.configuration.Configuration;
 import org.apache.commons.configuration.ConfigurationException;
 import org.apache.james.protocols.api.Request;
@@ -246,13 +247,11 @@ public class AuthCmdHandler
      * @param session SMTP session object
      * @param initialResponse the initial response line passed in with the AUTH command
      */
-    private Response doPlainAuthPass(SMTPSession session, String userpass) {
+    private Response doPlainAuthPass(SMTPSession session, String line) {
         String user = null;
         String pass = null;
         try {
-            if (userpass != null) {
-                userpass = new String(Base64.decodeBase64(userpass));
-            }
+            String userpass = decodeBase64(line);
             if (userpass != null) {
                 /*  See: RFC 2595, Section 6
                     The mechanism consists of a single message from the client to the
@@ -307,6 +306,14 @@ public class AuthCmdHandler
         return response;
     }
 
+    private String decodeBase64(String line) {
+        if (line != null) {
+            String lineWithoutTrailingCrLf = line.replace("\r\n", "");
+            return new String(Base64.getDecoder().decode(lineWithoutTrailingCrLf), StandardCharsets.UTF_8);
+        }
+        return null;
+    }
+
     /**
      * Carries out the Login AUTH SASL exchange.
      *
@@ -316,7 +323,7 @@ public class AuthCmdHandler
     private Response doLoginAuthPass(SMTPSession session, String user) {
         if (user != null) {
             try {
-                user = new String(Base64.decodeBase64(user));
+                user = new String(Base64.getDecoder().decode(user), StandardCharsets.UTF_8);
             } catch (Exception e) {
                 // Ignored - this parse error will be
                 // addressed in the if clause below
@@ -356,7 +363,7 @@ public class AuthCmdHandler
     private Response doLoginAuthPassCheck(SMTPSession session, String user, String pass) {
         if (pass != null) {
             try {
-                pass = new String(Base64.decodeBase64(pass));
+                pass = new String(Base64.getDecoder().decode(pass), StandardCharsets.UTF_8);
             } catch (Exception e) {
                 // Ignored - this parse error will be
                 // addressed in the if clause below

http://git-wip-us.apache.org/repos/asf/james-project/blob/325cb7a7/server/blob/blob-api/pom.xml
----------------------------------------------------------------------
diff --git a/server/blob/blob-api/pom.xml b/server/blob/blob-api/pom.xml
index 4afcd92..0289a00 100644
--- a/server/blob/blob-api/pom.xml
+++ b/server/blob/blob-api/pom.xml
@@ -42,10 +42,6 @@
             <artifactId>guava</artifactId>
         </dependency>
         <dependency>
-            <groupId>commons-codec</groupId>
-            <artifactId>commons-codec</artifactId>
-        </dependency>
-        <dependency>
             <groupId>nl.jqno.equalsverifier</groupId>
             <artifactId>equalsverifier</artifactId>
             <scope>test</scope>

http://git-wip-us.apache.org/repos/asf/james-project/blob/325cb7a7/server/blob/blob-cassandra/pom.xml
----------------------------------------------------------------------
diff --git a/server/blob/blob-cassandra/pom.xml b/server/blob/blob-cassandra/pom.xml
index 407064c..f64dfea 100644
--- a/server/blob/blob-cassandra/pom.xml
+++ b/server/blob/blob-cassandra/pom.xml
@@ -62,10 +62,6 @@
             <artifactId>guava</artifactId>
         </dependency>
         <dependency>
-            <groupId>commons-codec</groupId>
-            <artifactId>commons-codec</artifactId>
-        </dependency>
-        <dependency>
             <groupId>nl.jqno.equalsverifier</groupId>
             <artifactId>equalsverifier</artifactId>
             <scope>test</scope>

http://git-wip-us.apache.org/repos/asf/james-project/blob/325cb7a7/server/data/data-cassandra/pom.xml
----------------------------------------------------------------------
diff --git a/server/data/data-cassandra/pom.xml b/server/data/data-cassandra/pom.xml
index ef04a08..2b9cafc 100644
--- a/server/data/data-cassandra/pom.xml
+++ b/server/data/data-cassandra/pom.xml
@@ -90,10 +90,6 @@
             <artifactId>guava</artifactId>
         </dependency>
         <dependency>
-            <groupId>commons-codec</groupId>
-            <artifactId>commons-codec</artifactId>
-        </dependency>
-        <dependency>
             <groupId>commons-configuration</groupId>
             <artifactId>commons-configuration</artifactId>
         </dependency>

http://git-wip-us.apache.org/repos/asf/james-project/blob/325cb7a7/server/data/data-hbase/pom.xml
----------------------------------------------------------------------
diff --git a/server/data/data-hbase/pom.xml b/server/data/data-hbase/pom.xml
index 46e3ff7..f904d75 100644
--- a/server/data/data-hbase/pom.xml
+++ b/server/data/data-hbase/pom.xml
@@ -71,10 +71,6 @@
             <version>13.0</version><!--$NO-MVN-MAN-VER$-->
         </dependency>
         <dependency>
-            <groupId>commons-codec</groupId>
-            <artifactId>commons-codec</artifactId>
-        </dependency>
-        <dependency>
             <groupId>commons-configuration</groupId>
             <artifactId>commons-configuration</artifactId>
         </dependency>

http://git-wip-us.apache.org/repos/asf/james-project/blob/325cb7a7/server/data/data-jpa/pom.xml
----------------------------------------------------------------------
diff --git a/server/data/data-jpa/pom.xml b/server/data/data-jpa/pom.xml
index 8a30b41..b0bdcc5 100644
--- a/server/data/data-jpa/pom.xml
+++ b/server/data/data-jpa/pom.xml
@@ -87,10 +87,6 @@
             <scope>test</scope>
         </dependency>
         <dependency>
-            <groupId>commons-codec</groupId>
-            <artifactId>commons-codec</artifactId>
-        </dependency>
-        <dependency>
             <groupId>commons-configuration</groupId>
             <artifactId>commons-configuration</artifactId>
         </dependency>

http://git-wip-us.apache.org/repos/asf/james-project/blob/325cb7a7/server/protocols/jmap/pom.xml
----------------------------------------------------------------------
diff --git a/server/protocols/jmap/pom.xml b/server/protocols/jmap/pom.xml
index 5249585..7921b13 100644
--- a/server/protocols/jmap/pom.xml
+++ b/server/protocols/jmap/pom.xml
@@ -213,10 +213,6 @@
             <scope>test</scope>
         </dependency>
         <dependency>
-            <groupId>commons-codec</groupId>
-            <artifactId>commons-codec</artifactId>
-        </dependency>
-        <dependency>
             <groupId>io.jsonwebtoken</groupId>
             <artifactId>jjwt</artifactId>
         </dependency>

http://git-wip-us.apache.org/repos/asf/james-project/blob/325cb7a7/server/protocols/jmap/src/main/java/org/apache/james/jmap/crypto/JamesSignatureHandler.java
----------------------------------------------------------------------
diff --git a/server/protocols/jmap/src/main/java/org/apache/james/jmap/crypto/JamesSignatureHandler.java b/server/protocols/jmap/src/main/java/org/apache/james/jmap/crypto/JamesSignatureHandler.java
index 5d3dd4f..37d3456 100644
--- a/server/protocols/jmap/src/main/java/org/apache/james/jmap/crypto/JamesSignatureHandler.java
+++ b/server/protocols/jmap/src/main/java/org/apache/james/jmap/crypto/JamesSignatureHandler.java
@@ -30,11 +30,11 @@ import java.security.PublicKey;
 import java.security.Signature;
 import java.security.SignatureException;
 import java.security.cert.Certificate;
+import java.util.Base64;
 import java.util.Optional;
 
 import javax.inject.Inject;
 
-import org.apache.commons.codec.binary.Base64;
 import org.apache.james.filesystem.api.FileSystem;
 import org.apache.james.jmap.JMAPConfiguration;
 import org.slf4j.Logger;
@@ -89,7 +89,7 @@ public class JamesSignatureHandler implements SignatureHandler {
             Signature javaSignature = Signature.getInstance(ALGORITHM);
             javaSignature.initSign(privateKey);
             javaSignature.update(source.getBytes());
-            return new Base64().encodeAsString(javaSignature.sign());
+            return Base64.getEncoder().encodeToString(javaSignature.sign());
         } catch (NoSuchAlgorithmException | InvalidKeyException | SignatureException e) {
             throw new RuntimeException(e);
         }
@@ -103,7 +103,7 @@ public class JamesSignatureHandler implements SignatureHandler {
             Signature javaSignature = Signature.getInstance(ALGORITHM);
             javaSignature.initVerify(publicKey);
             javaSignature.update(source.getBytes());
-            return javaSignature.verify(new Base64().decode(signature));
+            return javaSignature.verify(Base64.getDecoder().decode(signature));
         } catch (NoSuchAlgorithmException | InvalidKeyException e) {
             throw new RuntimeException(e);
         } catch (SignatureException e) {

http://git-wip-us.apache.org/repos/asf/james-project/blob/325cb7a7/server/protocols/jmap/src/test/java/org/apache/james/jmap/crypto/JamesSignatureHandlerTest.java
----------------------------------------------------------------------
diff --git a/server/protocols/jmap/src/test/java/org/apache/james/jmap/crypto/JamesSignatureHandlerTest.java b/server/protocols/jmap/src/test/java/org/apache/james/jmap/crypto/JamesSignatureHandlerTest.java
index e885f41..9c2723e 100644
--- a/server/protocols/jmap/src/test/java/org/apache/james/jmap/crypto/JamesSignatureHandlerTest.java
+++ b/server/protocols/jmap/src/test/java/org/apache/james/jmap/crypto/JamesSignatureHandlerTest.java
@@ -21,7 +21,9 @@ package org.apache.james.jmap.crypto;
 
 import static org.assertj.core.api.Assertions.assertThat;
 
+import java.nio.charset.StandardCharsets;
 import java.security.KeyStoreException;
+import java.util.Base64;
 
 import org.apache.james.jmap.JMAPConfiguration;
 import org.junit.Before;
@@ -64,7 +66,7 @@ public class JamesSignatureHandlerTest {
 
     @Test
     public void incorrectLengthSignatureShouldReturnFalse() throws Exception {
-        assertThat(signatureHandler.verify(SOURCE, "signature")).isFalse();
+        assertThat(signatureHandler.verify(SOURCE, "c2lnbmF0dXJl")).isFalse();
     }
 
     @Test(expected = NullPointerException.class)

http://git-wip-us.apache.org/repos/asf/james-project/blob/325cb7a7/server/protocols/protocols-smtp/pom.xml
----------------------------------------------------------------------
diff --git a/server/protocols/protocols-smtp/pom.xml b/server/protocols/protocols-smtp/pom.xml
index 7e1e70b..5e20bd2 100644
--- a/server/protocols/protocols-smtp/pom.xml
+++ b/server/protocols/protocols-smtp/pom.xml
@@ -148,11 +148,6 @@
             <artifactId>javax.mail</artifactId>
         </dependency>
         <dependency>
-            <groupId>commons-codec</groupId>
-            <artifactId>commons-codec</artifactId>
-            <scope>test</scope>
-        </dependency>
-        <dependency>
             <groupId>commons-configuration</groupId>
             <artifactId>commons-configuration</artifactId>
         </dependency>

http://git-wip-us.apache.org/repos/asf/james-project/blob/325cb7a7/server/queue/queue-jms/pom.xml
----------------------------------------------------------------------
diff --git a/server/queue/queue-jms/pom.xml b/server/queue/queue-jms/pom.xml
index f208939..cff1b06 100644
--- a/server/queue/queue-jms/pom.xml
+++ b/server/queue/queue-jms/pom.xml
@@ -86,10 +86,6 @@
             <artifactId>guava</artifactId>
         </dependency>
         <dependency>
-            <groupId>commons-codec</groupId>
-            <artifactId>commons-codec</artifactId>
-        </dependency>
-        <dependency>
             <groupId>com.sun.mail</groupId>
             <artifactId>javax.mail</artifactId>
         </dependency>

http://git-wip-us.apache.org/repos/asf/james-project/blob/325cb7a7/server/queue/queue-jms/src/main/java/org/apache/james/queue/jms/JMSSerializationUtils.java
----------------------------------------------------------------------
diff --git a/server/queue/queue-jms/src/main/java/org/apache/james/queue/jms/JMSSerializationUtils.java b/server/queue/queue-jms/src/main/java/org/apache/james/queue/jms/JMSSerializationUtils.java
index 98a0ac7..1e14c3e 100644
--- a/server/queue/queue-jms/src/main/java/org/apache/james/queue/jms/JMSSerializationUtils.java
+++ b/server/queue/queue-jms/src/main/java/org/apache/james/queue/jms/JMSSerializationUtils.java
@@ -19,13 +19,11 @@
 package org.apache.james.queue.jms;
 
 import java.io.Serializable;
+import java.util.Base64;
 import java.util.Optional;
 
-import org.apache.commons.codec.binary.Base64;
 import org.apache.commons.lang3.SerializationUtils;
 
-import com.github.fge.lambdas.Throwing;
-
 /**
  * This class is similar to {@link SerializationUtils}. Unlike {@link SerializationUtils} this class operates with
  * {@code String}s and not byte arrays.
@@ -45,7 +43,7 @@ public class JMSSerializationUtils {
     public static String serialize(Serializable obj) {
         return Optional.ofNullable(obj)
                 .map(SerializationUtils::serialize)
-                .map(Base64::encodeBase64String)
+                .map(Base64.getEncoder()::encodeToString)
                 .orElse(null);
     }
 
@@ -59,7 +57,7 @@ public class JMSSerializationUtils {
      */
     public static <T extends Serializable> T deserialize(String object) {
         return Optional.ofNullable(object)
-                .map(Throwing.function(Base64::decodeBase64))
+                .map(Base64.getDecoder()::decode)
                 .<T>map(SerializationUtils::deserialize)
                 .orElse(null);
     }

http://git-wip-us.apache.org/repos/asf/james-project/blob/325cb7a7/server/queue/queue-rabbitmq/pom.xml
----------------------------------------------------------------------
diff --git a/server/queue/queue-rabbitmq/pom.xml b/server/queue/queue-rabbitmq/pom.xml
index 8fec592..032d40d 100644
--- a/server/queue/queue-rabbitmq/pom.xml
+++ b/server/queue/queue-rabbitmq/pom.xml
@@ -65,11 +65,6 @@
             <artifactId>amqp-client</artifactId>
         </dependency>
         <dependency>
-            <groupId>commons-codec</groupId>
-            <artifactId>commons-codec</artifactId>
-            <scope>test</scope>
-        </dependency>
-        <dependency>
             <groupId>org.assertj</groupId>
             <artifactId>assertj-core</artifactId>
             <scope>test</scope>


---------------------------------------------------------------------
To unsubscribe, e-mail: server-dev-unsubscribe@james.apache.org
For additional commands, e-mail: server-dev-help@james.apache.org