[jasypt] Initial import (#822889).

gil gil at fedoraproject.org
Thu Aug 30 10:08:48 UTC 2012


commit 8747fab61cfe06f1ddd2c7cb3d3fd6a1944db06f
Author: gil <puntogil at libero.it>
Date:   Thu Aug 30 12:08:34 2012 +0200

    Initial import (#822889).

 .gitignore                                    |    1 +
 jasypt-1.9.0-StandardPBEStringEncryptor.patch |   47 ++
 jasypt-1.9.0-StandardStringDigester.patch     |   47 ++
 jasypt-1.9.0-depmap                           |   15 +
 jasypt-1.9.0-pom.patch                        |   77 ++
 jasypt-1.9.0-use-system-commons-codec.patch   |  969 +++++++++++++++++++++++++
 jasypt.spec                                   |  109 +++
 sources                                       |    1 +
 8 files changed, 1266 insertions(+), 0 deletions(-)
---
diff --git a/.gitignore b/.gitignore
index e69de29..e27c2d3 100644
--- a/.gitignore
+++ b/.gitignore
@@ -0,0 +1 @@
+/jasypt-1.9.0-src-svn.tar.gz
diff --git a/jasypt-1.9.0-StandardPBEStringEncryptor.patch b/jasypt-1.9.0-StandardPBEStringEncryptor.patch
new file mode 100644
index 0000000..f682d81
--- /dev/null
+++ b/jasypt-1.9.0-StandardPBEStringEncryptor.patch
@@ -0,0 +1,47 @@
+--- src/main/java/org/jasypt/encryption/pbe/StandardPBEStringEncryptor.java	2012-05-18 12:53:02.207205238 +0200
++++ src/main/java/org/jasypt/encryption/pbe/StandardPBEStringEncryptor.java-gil	2012-05-18 13:00:40.411190405 +0200
+@@ -197,10 +197,6 @@
+     // The StandardPBEByteEncryptor that will be internally used.
+     private final StandardPBEByteEncryptor byteEncryptor;
+     
+-    // BASE64 encoder which will make sure the returned results are
+-    // valid US-ASCII strings.
+-    // The Base64 encoder is THREAD-SAFE
+-    private final Base64 base64;
+ 
+     
+     
+@@ -210,7 +206,6 @@
+     public StandardPBEStringEncryptor() {
+         super();
+         this.byteEncryptor = new StandardPBEByteEncryptor();
+-        this.base64 = new Base64();
+     }
+ 
+ 
+@@ -222,7 +217,6 @@
+     private StandardPBEStringEncryptor(final StandardPBEByteEncryptor standardPBEByteEncryptor) {
+         super();
+         this.byteEncryptor = standardPBEByteEncryptor;
+-        this.base64 = new Base64();
+     }
+ 
+     
+@@ -645,7 +639,7 @@
+             // the safest result String possible.
+             String result = null;
+             if (this.stringOutputTypeBase64) {
+-                encryptedMessage = this.base64.encode(encryptedMessage);
++                encryptedMessage = new Base64().encode(encryptedMessage);
+                 result = new String(encryptedMessage,ENCRYPTED_MESSAGE_CHARSET);
+             } else {
+                 result = CommonUtils.toHexadecimal(encryptedMessage);
+@@ -715,7 +709,7 @@
+                 encryptedMessageBytes = 
+                     encryptedMessage.getBytes(ENCRYPTED_MESSAGE_CHARSET);
+                 encryptedMessageBytes = 
+-                    this.base64.decode(encryptedMessageBytes);
++                    new Base64().decode(encryptedMessageBytes);
+             } else {
+                 encryptedMessageBytes = 
+                     CommonUtils.fromHexadecimal(encryptedMessage);
diff --git a/jasypt-1.9.0-StandardStringDigester.patch b/jasypt-1.9.0-StandardStringDigester.patch
new file mode 100644
index 0000000..e3c55ae
--- /dev/null
+++ b/jasypt-1.9.0-StandardStringDigester.patch
@@ -0,0 +1,47 @@
+--- src/main/java/org/jasypt/digest/StandardStringDigester.java	2012-05-18 12:48:19.309214394 +0200
++++ src/main/java/org/jasypt/digest/StandardStringDigester.java-jhernand	2012-05-18 12:51:20.344208536 +0200
+@@ -268,10 +268,6 @@
+     private boolean suffixSet = false;
+     
+     
+-    // BASE64 encoder which will make sure the returned digests are
+-    // valid US-ASCII strings (if the user chooses BASE64 output).
+-    // The Bsae64 encoder is THREAD-SAFE
+-    private final Base64 base64;
+ 
+ 
+     
+@@ -281,7 +277,6 @@
+     public StandardStringDigester() {
+         super();
+         this.byteDigester = new StandardByteDigester();
+-        this.base64 = new Base64();
+     }
+ 
+ 
+@@ -293,7 +288,6 @@
+     private StandardStringDigester(final StandardByteDigester standardByteDigester) {
+         super();
+         this.byteDigester = standardByteDigester;
+-        this.base64 = new Base64();
+     }
+ 
+     
+@@ -932,7 +926,7 @@
+             // We encode the result in BASE64 or HEXADECIMAL so that we obtain
+             // the safest result String possible.
+             if (this.stringOutputTypeBase64) {
+-                digest = this.base64.encode(digest);
++                digest = new Base64().encode(digest);
+                 result.append(new String(digest, DIGEST_CHARSET)); 
+             } else {
+                 result.append(CommonUtils.toHexadecimal(digest));
+@@ -1043,7 +1037,7 @@
+             if (this.stringOutputTypeBase64) {
+                 // The digest must be a US-ASCII String BASE64-encoded
+                 digestBytes = processedDigest.getBytes(DIGEST_CHARSET);
+-                digestBytes = this.base64.decode(digestBytes);
++                digestBytes = new Base64().decode(digestBytes);
+             } else {
+                 digestBytes = CommonUtils.fromHexadecimal(processedDigest);
+             }
diff --git a/jasypt-1.9.0-depmap b/jasypt-1.9.0-depmap
new file mode 100644
index 0000000..c2fd348
--- /dev/null
+++ b/jasypt-1.9.0-depmap
@@ -0,0 +1,15 @@
+<dependencies>
+<dependency>
+    <maven>
+        <groupId>javax.servlet</groupId>
+        <artifactId>servlet-api</artifactId>
+        <version>2.4</version>
+    </maven>
+    <jpp>
+        <groupId>JPP</groupId>
+        <artifactId>tomcat-servlet-api</artifactId>
+        <version>7.0.27</version>
+    </jpp>
+</dependency>
+
+</dependencies>
\ No newline at end of file
diff --git a/jasypt-1.9.0-pom.patch b/jasypt-1.9.0-pom.patch
new file mode 100644
index 0000000..4c1ae9a
--- /dev/null
+++ b/jasypt-1.9.0-pom.patch
@@ -0,0 +1,77 @@
+--- pom.xml	2011-12-18 10:34:50.000000000 +0100
++++ pom.xml-gil	2012-08-29 00:14:53.143693692 +0200
+@@ -125,9 +125,9 @@
+         <artifactId>maven-compiler-plugin</artifactId>
+         <version>2.3.2</version>
+         <configuration>
+-          <source>1.4</source>
+-          <target>1.4</target>
+-          <encoding>US-ASCII</encoding>
++          <source>1.5</source>
++          <target>1.5</target>
++          <encoding>UTF-8</encoding>
+         </configuration>
+       </plugin>
+       
+@@ -136,7 +136,7 @@
+         <artifactId>maven-resources-plugin</artifactId>
+         <version>2.5</version>
+         <configuration>
+-          <encoding>US-ASCII</encoding>
++          <encoding>UTF-8</encoding>
+         </configuration>
+       </plugin>
+       
+@@ -174,7 +174,7 @@
+         </executions>
+       </plugin>
+       
+-      <plugin>
++      <!--plugin>
+         <groupId>org.apache.maven.plugins</groupId>
+         <artifactId>maven-gpg-plugin</artifactId>
+         <version>1.1</version>
+@@ -187,7 +187,7 @@
+             </goals>
+           </execution>
+         </executions>
+-      </plugin>
++      </plugin-->
+        
+       <plugin>
+         <groupId>org.apache.maven.plugins</groupId>
+@@ -231,8 +231,9 @@
+       <groupId>com.ibm.icu</groupId>
+       <artifactId>icu4j</artifactId>
+       <version>3.4.4</version>
+-      <scope>provided</scope>
++      <scope>system</scope>
+       <optional>true</optional>
++      <systemPath>${_javadir}/icu4j.jar</systemPath>
+     </dependency>
+ 
+     <dependency>
+@@ -245,8 +246,8 @@
+     
+     <dependency>
+       <groupId>org.bouncycastle</groupId>
+-      <artifactId>bcprov-jdk12</artifactId>
+-      <version>130</version>
++      <artifactId>bcprov-jdk16</artifactId>
++      <version>1.30</version>
+       <scope>test</scope>
+     </dependency>
+     
+@@ -264,6 +265,12 @@
+       <scope>test</scope>
+     </dependency>
+     
++    <dependency>
++      <groupId>commons-logging</groupId>
++      <artifactId>commons-logging</artifactId>
++      <version>1.1.1</version>
++      <scope>test</scope>
++    </dependency>
+     
+   </dependencies>
+ 
diff --git a/jasypt-1.9.0-use-system-commons-codec.patch b/jasypt-1.9.0-use-system-commons-codec.patch
new file mode 100644
index 0000000..5545d11
--- /dev/null
+++ b/jasypt-1.9.0-use-system-commons-codec.patch
@@ -0,0 +1,969 @@
+diff -Nru jasypt-1.9.0/pom.xml jasypt-1.9.0-gil/pom.xml
+--- jasypt-1.9.0/pom.xml	2012-08-29 00:16:13.686707103 +0200
++++ jasypt-1.9.0-gil/pom.xml	2012-08-29 00:17:47.125044769 +0200
+@@ -235,7 +235,13 @@
+       <optional>true</optional>
+       <systemPath>${_javadir}/icu4j.jar</systemPath>
+     </dependency>
+-
++    <dependency>
++      <groupId>commons-codec</groupId>
++      <artifactId>commons-codec</artifactId>
++      <version>1.4</version>
++      <scope>provided</scope>
++      <optional>true</optional>
++    </dependency>
+     <dependency>
+       <groupId>javax.servlet</groupId>
+       <artifactId>servlet-api</artifactId>
+diff -Nru jasypt-1.9.0/src/main/java/org/jasypt/contrib/org/apache/commons/codec_1_3/binary/Base64.java jasypt-1.9.0-gil/src/main/java/org/jasypt/contrib/org/apache/commons/codec_1_3/binary/Base64.java
+--- jasypt-1.9.0/src/main/java/org/jasypt/contrib/org/apache/commons/codec_1_3/binary/Base64.java	2010-10-10 12:19:03.000000000 +0200
++++ jasypt-1.9.0-gil/src/main/java/org/jasypt/contrib/org/apache/commons/codec_1_3/binary/Base64.java	1970-01-01 01:00:00.000000000 +0100
+@@ -1,528 +0,0 @@
+-/*
+- * Copyright 2001-2004 The Apache Software Foundation.
+- * 
+- * Licensed 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
+- * 
+- *      http://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.
+- */ 
+-/*
+- * IMPORTANT NOTE: This class has been included into Jasypt's source tree from 
+- * Apache Commons-Codec version 1.3 [see http://commons.apache.org/codec], 
+- * licensed under Apache License 2.0 [see http://www.apache.org/licenses/LICENSE-2.0].  
+- * No modifications have been made to the code of this class except the package name.
+- */
+-package org.jasypt.contrib.org.apache.commons.codec_1_3.binary;
+-
+-import org.jasypt.contrib.org.apache.commons.codec_1_3.BinaryDecoder;
+-import org.jasypt.contrib.org.apache.commons.codec_1_3.BinaryEncoder;
+-import org.jasypt.contrib.org.apache.commons.codec_1_3.DecoderException;
+-import org.jasypt.contrib.org.apache.commons.codec_1_3.EncoderException;
+-
+-/**
+- * Provides Base64 encoding and decoding as defined by RFC 2045.
+- * 
+- * <p>This class implements section <cite>6.8. Base64 Content-Transfer-Encoding</cite> 
+- * from RFC 2045 <cite>Multipurpose Internet Mail Extensions (MIME) Part One: 
+- * Format of Internet Message Bodies</cite> by Freed and Borenstein.</p> 
+- *
+- * @see <a href="http://www.ietf.org/rfc/rfc2045.txt">RFC 2045</a>
+- * @author Apache Software Foundation
+- * @since 1.0-dev
+- */
+-public class Base64 implements BinaryEncoder, BinaryDecoder {
+-
+-    /**
+-     * Chunk size per RFC 2045 section 6.8.
+-     * 
+-     * <p>The {@value} character limit does not count the trailing CRLF, but counts 
+-     * all other characters, including any equal signs.</p>
+-     * 
+-     * @see <a href="http://www.ietf.org/rfc/rfc2045.txt">RFC 2045 section 6.8</a>
+-     */
+-    static final int CHUNK_SIZE = 76;
+-
+-    /**
+-     * Chunk separator per RFC 2045 section 2.1.
+-     * 
+-     * @see <a href="http://www.ietf.org/rfc/rfc2045.txt">RFC 2045 section 2.1</a>
+-     */
+-    static final byte[] CHUNK_SEPARATOR = "\r\n".getBytes();
+-
+-    /**
+-     * The base length.
+-     */
+-    static final int BASELENGTH = 255;
+-
+-    /**
+-     * Lookup length.
+-     */
+-    static final int LOOKUPLENGTH = 64;
+-
+-    /**
+-     * Used to calculate the number of bits in a byte.
+-     */
+-    static final int EIGHTBIT = 8;
+-
+-    /**
+-     * Used when encoding something which has fewer than 24 bits.
+-     */
+-    static final int SIXTEENBIT = 16;
+-
+-    /**
+-     * Used to determine how many bits data contains.
+-     */
+-    static final int TWENTYFOURBITGROUP = 24;
+-
+-    /**
+-     * Used to get the number of Quadruples.
+-     */
+-    static final int FOURBYTE = 4;
+-
+-    /**
+-     * Used to test the sign of a byte.
+-     */
+-    static final int SIGN = -128;
+-    
+-    /**
+-     * Byte used to pad output.
+-     */
+-    static final byte PAD = (byte) '=';
+-
+-    // Create arrays to hold the base64 characters and a 
+-    // lookup for base64 chars
+-    private static byte[] base64Alphabet = new byte[BASELENGTH];
+-    private static byte[] lookUpBase64Alphabet = new byte[LOOKUPLENGTH];
+-
+-    // Populating the lookup and character arrays
+-    static {
+-        for (int i = 0; i < BASELENGTH; i++) {
+-            base64Alphabet[i] = (byte) -1;
+-        }
+-        for (int i = 'Z'; i >= 'A'; i--) {
+-            base64Alphabet[i] = (byte) (i - 'A');
+-        }
+-        for (int i = 'z'; i >= 'a'; i--) {
+-            base64Alphabet[i] = (byte) (i - 'a' + 26);
+-        }
+-        for (int i = '9'; i >= '0'; i--) {
+-            base64Alphabet[i] = (byte) (i - '0' + 52);
+-        }
+-
+-        base64Alphabet['+'] = 62;
+-        base64Alphabet['/'] = 63;
+-
+-        for (int i = 0; i <= 25; i++) {
+-            lookUpBase64Alphabet[i] = (byte) ('A' + i);
+-        }
+-
+-        for (int i = 26, j = 0; i <= 51; i++, j++) {
+-            lookUpBase64Alphabet[i] = (byte) ('a' + j);
+-        }
+-
+-        for (int i = 52, j = 0; i <= 61; i++, j++) {
+-            lookUpBase64Alphabet[i] = (byte) ('0' + j);
+-        }
+-
+-        lookUpBase64Alphabet[62] = (byte) '+';
+-        lookUpBase64Alphabet[63] = (byte) '/';
+-    }
+-
+-    private static boolean isBase64(byte octect) {
+-        if (octect == PAD) {
+-            return true;
+-        } else if (base64Alphabet[octect] == -1) {
+-            return false;
+-        } else {
+-            return true;
+-        }
+-    }
+-
+-    /**
+-     * Tests a given byte array to see if it contains
+-     * only valid characters within the Base64 alphabet.
+-     *
+-     * @param arrayOctect byte array to test
+-     * @return true if all bytes are valid characters in the Base64
+-     *         alphabet or if the byte array is empty; false, otherwise
+-     */
+-    public static boolean isArrayByteBase64(byte[] arrayOctect) {
+-
+-        arrayOctect = discardWhitespace(arrayOctect);
+-
+-        int length = arrayOctect.length;
+-        if (length == 0) {
+-            // shouldn't a 0 length array be valid base64 data?
+-            // return false;
+-            return true;
+-        }
+-        for (int i = 0; i < length; i++) {
+-            if (!isBase64(arrayOctect[i])) {
+-                return false;
+-            }
+-        }
+-        return true;
+-    }
+-
+-    /**
+-     * Encodes binary data using the base64 algorithm but
+-     * does not chunk the output.
+-     *
+-     * @param binaryData binary data to encode
+-     * @return Base64 characters
+-     */
+-    public static byte[] encodeBase64(byte[] binaryData) {
+-        return encodeBase64(binaryData, false);
+-    }
+-
+-    /**
+-     * Encodes binary data using the base64 algorithm and chunks
+-     * the encoded output into 76 character blocks
+-     *
+-     * @param binaryData binary data to encode
+-     * @return Base64 characters chunked in 76 character blocks
+-     */
+-    public static byte[] encodeBase64Chunked(byte[] binaryData) {
+-        return encodeBase64(binaryData, true);
+-    }
+-
+-
+-    /**
+-     * Decodes an Object using the base64 algorithm.  This method
+-     * is provided in order to satisfy the requirements of the
+-     * Decoder interface, and will throw a DecoderException if the
+-     * supplied object is not of type byte[].
+-     *
+-     * @param pObject Object to decode
+-     * @return An object (of type byte[]) containing the 
+-     *         binary data which corresponds to the byte[] supplied.
+-     * @throws DecoderException if the parameter supplied is not
+-     *                          of type byte[]
+-     */
+-    public Object decode(Object pObject) throws DecoderException {
+-        if (!(pObject instanceof byte[])) {
+-            throw new DecoderException("Parameter supplied to Base64 decode is not a byte[]");
+-        }
+-        return decode((byte[]) pObject);
+-    }
+-
+-    /**
+-     * Decodes a byte[] containing containing
+-     * characters in the Base64 alphabet.
+-     *
+-     * @param pArray A byte array containing Base64 character data
+-     * @return a byte array containing binary data
+-     */
+-    public byte[] decode(byte[] pArray) {
+-        return decodeBase64(pArray);
+-    }
+-
+-    /**
+-     * Encodes binary data using the base64 algorithm, optionally
+-     * chunking the output into 76 character blocks.
+-     *
+-     * @param binaryData Array containing binary data to encode.
+-     * @param isChunked if isChunked is true this encoder will chunk
+-     *                  the base64 output into 76 character blocks
+-     * @return Base64-encoded data.
+-     */
+-    public static byte[] encodeBase64(byte[] binaryData, boolean isChunked) {
+-        int lengthDataBits = binaryData.length * EIGHTBIT;
+-        int fewerThan24bits = lengthDataBits % TWENTYFOURBITGROUP;
+-        int numberTriplets = lengthDataBits / TWENTYFOURBITGROUP;
+-        byte encodedData[] = null;
+-        int encodedDataLength = 0;
+-        int nbrChunks = 0;
+-
+-        if (fewerThan24bits != 0) {
+-            //data not divisible by 24 bit
+-            encodedDataLength = (numberTriplets + 1) * 4;
+-        } else {
+-            // 16 or 8 bit
+-            encodedDataLength = numberTriplets * 4;
+-        }
+-
+-        // If the output is to be "chunked" into 76 character sections, 
+-        // for compliance with RFC 2045 MIME, then it is important to 
+-        // allow for extra length to account for the separator(s)
+-        if (isChunked) {
+-
+-            nbrChunks =
+-                (CHUNK_SEPARATOR.length == 0 ? 0 : (int) Math.ceil((float) encodedDataLength / CHUNK_SIZE));
+-            encodedDataLength += nbrChunks * CHUNK_SEPARATOR.length;
+-        }
+-
+-        encodedData = new byte[encodedDataLength];
+-
+-        byte k = 0, l = 0, b1 = 0, b2 = 0, b3 = 0;
+-
+-        int encodedIndex = 0;
+-        int dataIndex = 0;
+-        int i = 0;
+-        int nextSeparatorIndex = CHUNK_SIZE;
+-        int chunksSoFar = 0;
+-
+-        //log.debug("number of triplets = " + numberTriplets);
+-        for (i = 0; i < numberTriplets; i++) {
+-            dataIndex = i * 3;
+-            b1 = binaryData[dataIndex];
+-            b2 = binaryData[dataIndex + 1];
+-            b3 = binaryData[dataIndex + 2];
+-
+-            //log.debug("b1= " + b1 +", b2= " + b2 + ", b3= " + b3);
+-
+-            l = (byte) (b2 & 0x0f);
+-            k = (byte) (b1 & 0x03);
+-
+-            byte val1 =
+-                ((b1 & SIGN) == 0) ? (byte) (b1 >> 2) : (byte) ((b1) >> 2 ^ 0xc0);
+-            byte val2 =
+-                ((b2 & SIGN) == 0) ? (byte) (b2 >> 4) : (byte) ((b2) >> 4 ^ 0xf0);
+-            byte val3 =
+-                ((b3 & SIGN) == 0) ? (byte) (b3 >> 6) : (byte) ((b3) >> 6 ^ 0xfc);
+-
+-            encodedData[encodedIndex] = lookUpBase64Alphabet[val1];
+-            //log.debug( "val2 = " + val2 );
+-            //log.debug( "k4   = " + (k<<4) );
+-            //log.debug(  "vak  = " + (val2 | (k<<4)) );
+-            encodedData[encodedIndex + 1] =
+-                lookUpBase64Alphabet[val2 | (k << 4)];
+-            encodedData[encodedIndex + 2] =
+-                lookUpBase64Alphabet[(l << 2) | val3];
+-            encodedData[encodedIndex + 3] = lookUpBase64Alphabet[b3 & 0x3f];
+-
+-            encodedIndex += 4;
+-
+-            // If we are chunking, let's put a chunk separator down.
+-            if (isChunked) {
+-                // this assumes that CHUNK_SIZE % 4 == 0
+-                if (encodedIndex == nextSeparatorIndex) {
+-                    System.arraycopy(
+-                        CHUNK_SEPARATOR,
+-                        0,
+-                        encodedData,
+-                        encodedIndex,
+-                        CHUNK_SEPARATOR.length);
+-                    chunksSoFar++;
+-                    nextSeparatorIndex =
+-                        (CHUNK_SIZE * (chunksSoFar + 1)) + 
+-                        (chunksSoFar * CHUNK_SEPARATOR.length);
+-                    encodedIndex += CHUNK_SEPARATOR.length;
+-                }
+-            }
+-        }
+-
+-        // form integral number of 6-bit groups
+-        dataIndex = i * 3;
+-
+-        if (fewerThan24bits == EIGHTBIT) {
+-            b1 = binaryData[dataIndex];
+-            k = (byte) (b1 & 0x03);
+-            //log.debug("b1=" + b1);
+-            //log.debug("b1<<2 = " + (b1>>2) );
+-            byte val1 =
+-                ((b1 & SIGN) == 0) ? (byte) (b1 >> 2) : (byte) ((b1) >> 2 ^ 0xc0);
+-            encodedData[encodedIndex] = lookUpBase64Alphabet[val1];
+-            encodedData[encodedIndex + 1] = lookUpBase64Alphabet[k << 4];
+-            encodedData[encodedIndex + 2] = PAD;
+-            encodedData[encodedIndex + 3] = PAD;
+-        } else if (fewerThan24bits == SIXTEENBIT) {
+-
+-            b1 = binaryData[dataIndex];
+-            b2 = binaryData[dataIndex + 1];
+-            l = (byte) (b2 & 0x0f);
+-            k = (byte) (b1 & 0x03);
+-
+-            byte val1 =
+-                ((b1 & SIGN) == 0) ? (byte) (b1 >> 2) : (byte) ((b1) >> 2 ^ 0xc0);
+-            byte val2 =
+-                ((b2 & SIGN) == 0) ? (byte) (b2 >> 4) : (byte) ((b2) >> 4 ^ 0xf0);
+-
+-            encodedData[encodedIndex] = lookUpBase64Alphabet[val1];
+-            encodedData[encodedIndex + 1] =
+-                lookUpBase64Alphabet[val2 | (k << 4)];
+-            encodedData[encodedIndex + 2] = lookUpBase64Alphabet[l << 2];
+-            encodedData[encodedIndex + 3] = PAD;
+-        }
+-
+-        if (isChunked) {
+-            // we also add a separator to the end of the final chunk.
+-            if (chunksSoFar < nbrChunks) {
+-                System.arraycopy(
+-                    CHUNK_SEPARATOR,
+-                    0,
+-                    encodedData,
+-                    encodedDataLength - CHUNK_SEPARATOR.length,
+-                    CHUNK_SEPARATOR.length);
+-            }
+-        }
+-
+-        return encodedData;
+-    }
+-
+-    /**
+-     * Decodes Base64 data into octects
+-     *
+-     * @param base64Data Byte array containing Base64 data
+-     * @return Array containing decoded data.
+-     */
+-    public static byte[] decodeBase64(byte[] base64Data) {
+-        // RFC 2045 requires that we discard ALL non-Base64 characters
+-        base64Data = discardNonBase64(base64Data);
+-
+-        // handle the edge case, so we don't have to worry about it later
+-        if (base64Data.length == 0) {
+-            return new byte[0];
+-        }
+-
+-        int numberQuadruple = base64Data.length / FOURBYTE;
+-        byte decodedData[] = null;
+-        byte b1 = 0, b2 = 0, b3 = 0, b4 = 0, marker0 = 0, marker1 = 0;
+-
+-        // Throw away anything not in base64Data
+-
+-        int encodedIndex = 0;
+-        int dataIndex = 0;
+-        {
+-            // this sizes the output array properly - rlw
+-            int lastData = base64Data.length;
+-            // ignore the '=' padding
+-            while (base64Data[lastData - 1] == PAD) {
+-                if (--lastData == 0) {
+-                    return new byte[0];
+-                }
+-            }
+-            decodedData = new byte[lastData - numberQuadruple];
+-        }
+-        
+-        for (int i = 0; i < numberQuadruple; i++) {
+-            dataIndex = i * 4;
+-            marker0 = base64Data[dataIndex + 2];
+-            marker1 = base64Data[dataIndex + 3];
+-            
+-            b1 = base64Alphabet[base64Data[dataIndex]];
+-            b2 = base64Alphabet[base64Data[dataIndex + 1]];
+-            
+-            if (marker0 != PAD && marker1 != PAD) {
+-                //No PAD e.g 3cQl
+-                b3 = base64Alphabet[marker0];
+-                b4 = base64Alphabet[marker1];
+-                
+-                decodedData[encodedIndex] = (byte) (b1 << 2 | b2 >> 4);
+-                decodedData[encodedIndex + 1] =
+-                    (byte) (((b2 & 0xf) << 4) | ((b3 >> 2) & 0xf));
+-                decodedData[encodedIndex + 2] = (byte) (b3 << 6 | b4);
+-            } else if (marker0 == PAD) {
+-                //Two PAD e.g. 3c[Pad][Pad]
+-                decodedData[encodedIndex] = (byte) (b1 << 2 | b2 >> 4);
+-            } else if (marker1 == PAD) {
+-                //One PAD e.g. 3cQ[Pad]
+-                b3 = base64Alphabet[marker0];
+-                
+-                decodedData[encodedIndex] = (byte) (b1 << 2 | b2 >> 4);
+-                decodedData[encodedIndex + 1] =
+-                    (byte) (((b2 & 0xf) << 4) | ((b3 >> 2) & 0xf));
+-            }
+-            encodedIndex += 3;
+-        }
+-        return decodedData;
+-    }
+-    
+-    /**
+-     * Discards any whitespace from a base-64 encoded block.
+-     *
+-     * @param data The base-64 encoded data to discard the whitespace
+-     * from.
+-     * @return The data, less whitespace (see RFC 2045).
+-     */
+-    static byte[] discardWhitespace(byte[] data) {
+-        byte groomedData[] = new byte[data.length];
+-        int bytesCopied = 0;
+-        
+-        for (int i = 0; i < data.length; i++) {
+-            switch (data[i]) {
+-            case (byte) ' ' :
+-            case (byte) '\n' :
+-            case (byte) '\r' :
+-            case (byte) '\t' :
+-                    break;
+-            default:
+-                    groomedData[bytesCopied++] = data[i];
+-            }
+-        }
+-
+-        byte packedData[] = new byte[bytesCopied];
+-
+-        System.arraycopy(groomedData, 0, packedData, 0, bytesCopied);
+-
+-        return packedData;
+-    }
+-
+-    /**
+-     * Discards any characters outside of the base64 alphabet, per
+-     * the requirements on page 25 of RFC 2045 - "Any characters
+-     * outside of the base64 alphabet are to be ignored in base64
+-     * encoded data."
+-     *
+-     * @param data The base-64 encoded data to groom
+-     * @return The data, less non-base64 characters (see RFC 2045).
+-     */
+-    static byte[] discardNonBase64(byte[] data) {
+-        byte groomedData[] = new byte[data.length];
+-        int bytesCopied = 0;
+-
+-        for (int i = 0; i < data.length; i++) {
+-            if (isBase64(data[i])) {
+-                groomedData[bytesCopied++] = data[i];
+-            }
+-        }
+-
+-        byte packedData[] = new byte[bytesCopied];
+-
+-        System.arraycopy(groomedData, 0, packedData, 0, bytesCopied);
+-
+-        return packedData;
+-    }
+-
+-
+-    // Implementation of the Encoder Interface
+-
+-    /**
+-     * Encodes an Object using the base64 algorithm.  This method
+-     * is provided in order to satisfy the requirements of the
+-     * Encoder interface, and will throw an EncoderException if the
+-     * supplied object is not of type byte[].
+-     *
+-     * @param pObject Object to encode
+-     * @return An object (of type byte[]) containing the 
+-     *         base64 encoded data which corresponds to the byte[] supplied.
+-     * @throws EncoderException if the parameter supplied is not
+-     *                          of type byte[]
+-     */
+-    public Object encode(Object pObject) throws EncoderException {
+-        if (!(pObject instanceof byte[])) {
+-            throw new EncoderException(
+-                "Parameter supplied to Base64 encode is not a byte[]");
+-        }
+-        return encode((byte[]) pObject);
+-    }
+-
+-    /**
+-     * Encodes a byte[] containing binary data, into a byte[] containing
+-     * characters in the Base64 alphabet.
+-     *
+-     * @param pArray a byte array containing binary data
+-     * @return A byte array containing only Base64 character data
+-     */
+-    public byte[] encode(byte[] pArray) {
+-        return encodeBase64(pArray, false);
+-    }
+-
+-}
+diff -Nru jasypt-1.9.0/src/main/java/org/jasypt/contrib/org/apache/commons/codec_1_3/BinaryDecoder.java jasypt-1.9.0-gil/src/main/java/org/jasypt/contrib/org/apache/commons/codec_1_3/BinaryDecoder.java
+--- jasypt-1.9.0/src/main/java/org/jasypt/contrib/org/apache/commons/codec_1_3/BinaryDecoder.java	2010-10-10 12:19:03.000000000 +0200
++++ jasypt-1.9.0-gil/src/main/java/org/jasypt/contrib/org/apache/commons/codec_1_3/BinaryDecoder.java	1970-01-01 01:00:00.000000000 +0100
+@@ -1,46 +0,0 @@
+-/*
+- * Copyright 2001-2004 The Apache Software Foundation.
+- * 
+- * Licensed 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
+- * 
+- *      http://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.
+- */ 
+-/*
+- * IMPORTANT NOTE: This class has been included into Jasypt's source tree from 
+- * Apache Commons-Codec version 1.3 [see http://commons.apache.org/codec], 
+- * licensed under Apache License 2.0 [see http://www.apache.org/licenses/LICENSE-2.0].  
+- * No modifications have been made to the code of this class except the package name.
+- */
+-
+-package org.jasypt.contrib.org.apache.commons.codec_1_3;
+-
+-/**
+- * Defines common decoding methods for byte array decoders.
+- *
+- * @author Apache Software Foundation
+- */
+-public interface BinaryDecoder extends Decoder {
+-
+-    /**
+-     * Decodes a byte array and returns the results as a byte array. 
+-     *
+-     * @param pArray A byte array which has been encoded with the
+-     *      appropriate encoder
+-     * 
+-     * @return a byte array that contains decoded content
+-     * 
+-     * @throws DecoderException A decoder exception is thrown
+-     *          if a Decoder encounters a failure condition during
+-     *          the decode process.
+-     */
+-    byte[] decode(byte[] pArray) throws DecoderException;
+-}  
+-
+diff -Nru jasypt-1.9.0/src/main/java/org/jasypt/contrib/org/apache/commons/codec_1_3/BinaryEncoder.java jasypt-1.9.0-gil/src/main/java/org/jasypt/contrib/org/apache/commons/codec_1_3/BinaryEncoder.java
+--- jasypt-1.9.0/src/main/java/org/jasypt/contrib/org/apache/commons/codec_1_3/BinaryEncoder.java	2010-10-10 12:19:03.000000000 +0200
++++ jasypt-1.9.0-gil/src/main/java/org/jasypt/contrib/org/apache/commons/codec_1_3/BinaryEncoder.java	1970-01-01 01:00:00.000000000 +0100
+@@ -1,46 +0,0 @@
+-/*
+- * Copyright 2001-2004 The Apache Software Foundation.
+- * 
+- * Licensed 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
+- * 
+- *      http://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.
+- */ 
+-/*
+- * IMPORTANT NOTE: This class has been included into Jasypt's source tree from 
+- * Apache Commons-Codec version 1.3 [see http://commons.apache.org/codec], 
+- * licensed under Apache License 2.0 [see http://www.apache.org/licenses/LICENSE-2.0].  
+- * No modifications have been made to the code of this class except the package name.
+- */
+-
+-package org.jasypt.contrib.org.apache.commons.codec_1_3;
+-
+-/**
+- * Defines common encoding methods for byte array encoders.
+- * 
+- * @author Apache Software Foundation
+- */
+-public interface BinaryEncoder extends Encoder {
+-    
+-    /**
+-     * Encodes a byte array and return the encoded data
+-     * as a byte array.
+-     * 
+-     * @param pArray Data to be encoded
+-     *
+-     * @return A byte array containing the encoded data
+-     * 
+-     * @throws EncoderException thrown if the Encoder
+-     *      encounters a failure condition during the
+-     *      encoding process.
+-     */
+-    byte[] encode(byte[] pArray) throws EncoderException;
+-}  
+-
+diff -Nru jasypt-1.9.0/src/main/java/org/jasypt/contrib/org/apache/commons/codec_1_3/DecoderException.java jasypt-1.9.0-gil/src/main/java/org/jasypt/contrib/org/apache/commons/codec_1_3/DecoderException.java
+--- jasypt-1.9.0/src/main/java/org/jasypt/contrib/org/apache/commons/codec_1_3/DecoderException.java	2010-10-10 12:19:03.000000000 +0200
++++ jasypt-1.9.0-gil/src/main/java/org/jasypt/contrib/org/apache/commons/codec_1_3/DecoderException.java	1970-01-01 01:00:00.000000000 +0100
+@@ -1,42 +0,0 @@
+-/*
+- * Copyright 2001-2004 The Apache Software Foundation.
+- * 
+- * Licensed 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
+- * 
+- *      http://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.
+- */ 
+-/*
+- * IMPORTANT NOTE: This class has been included into Jasypt's source tree from 
+- * Apache Commons-Codec version 1.3 [see http://commons.apache.org/codec], 
+- * licensed under Apache License 2.0 [see http://www.apache.org/licenses/LICENSE-2.0].  
+- * No modifications have been made to the code of this class except the package name.
+- */
+-
+-package org.jasypt.contrib.org.apache.commons.codec_1_3;
+-
+-/**
+- * Thrown when a Decoder has encountered a failure condition during a decode. 
+- * 
+- * @author Apache Software Foundation
+- */
+-public class DecoderException extends Exception {
+-
+-    /**
+-     * Creates a DecoderException
+-     * 
+-     * @param pMessage A message with meaning to a human
+-     */
+-    public DecoderException(String pMessage) {
+-        super(pMessage);
+-    }
+-
+-}  
+-
+diff -Nru jasypt-1.9.0/src/main/java/org/jasypt/contrib/org/apache/commons/codec_1_3/Decoder.java jasypt-1.9.0-gil/src/main/java/org/jasypt/contrib/org/apache/commons/codec_1_3/Decoder.java
+--- jasypt-1.9.0/src/main/java/org/jasypt/contrib/org/apache/commons/codec_1_3/Decoder.java	2010-10-10 12:19:03.000000000 +0200
++++ jasypt-1.9.0-gil/src/main/java/org/jasypt/contrib/org/apache/commons/codec_1_3/Decoder.java	1970-01-01 01:00:00.000000000 +0100
+@@ -1,59 +0,0 @@
+-/*
+- * Copyright 2001-2004 The Apache Software Foundation.
+- * 
+- * Licensed 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
+- * 
+- *      http://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.
+- */ 
+-/*
+- * IMPORTANT NOTE: This class has been included into Jasypt's source tree from 
+- * Apache Commons-Codec version 1.3 [see http://commons.apache.org/codec], 
+- * licensed under Apache License 2.0 [see http://www.apache.org/licenses/LICENSE-2.0].  
+- * No modifications have been made to the code of this class except the package name.
+- */
+-
+-package org.jasypt.contrib.org.apache.commons.codec_1_3;
+-
+-/**
+- * <p>Provides the highest level of abstraction for Decoders.
+- * This is the sister interface of {@link Encoder}.  All
+- * Decoders implement this common generic interface.</p>
+- * 
+- * <p>Allows a user to pass a generic Object to any Decoder 
+- * implementation in the codec package.</p>
+- * 
+- * <p>One of the two interfaces at the center of the codec package.</p>
+- * 
+- * @author Apache Software Foundation
+- */
+-public interface Decoder {
+-
+-    /**
+-     * Decodes an "encoded" Object and returns a "decoded"
+-     * Object.  Note that the implementation of this
+-     * interface will try to cast the Object parameter
+-     * to the specific type expected by a particular Decoder
+-     * implementation.  If a {@link java.lang.ClassCastException} occurs
+-     * this decode method will throw a DecoderException.
+-     * 
+-     * @param pObject an object to "decode"
+-     * 
+-     * @return a 'decoded" object
+-     * 
+-     * @throws DecoderException a decoder exception can
+-     * be thrown for any number of reasons.  Some good
+-     * candidates are that the parameter passed to this
+-     * method is null, a param cannot be cast to the
+-     * appropriate type for a specific encoder.
+-     */
+-    Object decode(Object pObject) throws DecoderException;
+-}  
+-
+diff -Nru jasypt-1.9.0/src/main/java/org/jasypt/contrib/org/apache/commons/codec_1_3/EncoderException.java jasypt-1.9.0-gil/src/main/java/org/jasypt/contrib/org/apache/commons/codec_1_3/EncoderException.java
+--- jasypt-1.9.0/src/main/java/org/jasypt/contrib/org/apache/commons/codec_1_3/EncoderException.java	2010-10-10 12:19:03.000000000 +0200
++++ jasypt-1.9.0-gil/src/main/java/org/jasypt/contrib/org/apache/commons/codec_1_3/EncoderException.java	1970-01-01 01:00:00.000000000 +0100
+@@ -1,44 +0,0 @@
+-/*
+- * Copyright 2001-2004 The Apache Software Foundation.
+- * 
+- * Licensed 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
+- * 
+- *      http://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.
+- */ 
+-/*
+- * IMPORTANT NOTE: This class has been included into Jasypt's source tree from 
+- * Apache Commons-Codec version 1.3 [see http://commons.apache.org/codec], 
+- * licensed under Apache License 2.0 [see http://www.apache.org/licenses/LICENSE-2.0].  
+- * No modifications have been made to the code of this class except the package name.
+- */
+-
+-package org.jasypt.contrib.org.apache.commons.codec_1_3;
+-
+-/**
+- * Thrown when there is a failure condition during the encoding process.  This
+- * exception is thrown when an Encoder encounters a encoding specific exception
+- * such as invalid data, inability to calculate a checksum, characters outside of the 
+- * expected range.
+- * 
+- * @author Apache Software Foundation
+- */
+-public class EncoderException extends Exception {
+-
+-    /**
+-     * Creates a new instance of this exception with an useful message.
+-     * 
+-     * @param pMessage a useful message relating to the encoder specific error.
+-     */
+-    public EncoderException(String pMessage) {
+-        super(pMessage);
+-    }
+-}  
+-
+diff -Nru jasypt-1.9.0/src/main/java/org/jasypt/contrib/org/apache/commons/codec_1_3/Encoder.java jasypt-1.9.0-gil/src/main/java/org/jasypt/contrib/org/apache/commons/codec_1_3/Encoder.java
+--- jasypt-1.9.0/src/main/java/org/jasypt/contrib/org/apache/commons/codec_1_3/Encoder.java	2010-10-10 12:19:03.000000000 +0200
++++ jasypt-1.9.0-gil/src/main/java/org/jasypt/contrib/org/apache/commons/codec_1_3/Encoder.java	1970-01-01 01:00:00.000000000 +0100
+@@ -1,50 +0,0 @@
+-/*
+- * Copyright 2001-2004 The Apache Software Foundation.
+- * 
+- * Licensed 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
+- * 
+- *      http://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.
+- */ 
+-/*
+- * IMPORTANT NOTE: This class has been included into Jasypt's source tree from 
+- * Apache Commons-Codec version 1.3 [see http://commons.apache.org/codec], 
+- * licensed under Apache License 2.0 [see http://www.apache.org/licenses/LICENSE-2.0].  
+- * No modifications have been made to the code of this class except the package name.
+- */
+-
+-package org.jasypt.contrib.org.apache.commons.codec_1_3;
+-
+-/**
+- * <p>Provides the highest level of abstraction for Encoders.
+- * This is the sister interface of {@link Decoder}.  Every implementation of
+- * Encoder provides this common generic interface whic allows a user to pass a 
+- * generic Object to any Encoder implementation in the codec package.</p>
+- *
+- * @author Apache Software Foundation
+- */
+-public interface Encoder {
+-    
+-    /**
+-     * Encodes an "Object" and returns the encoded content 
+-     * as an Object.  The Objects here may just be <code>byte[]</code>
+-     * or <code>String</code>s depending on the implementation used.
+-     *   
+-     * @param pObject An object ot encode
+-     * 
+-     * @return An "encoded" Object
+-     * 
+-     * @throws EncoderException an encoder exception is
+-     *  thrown if the encoder experiences a failure
+-     *  condition during the encoding process.
+-     */
+-    Object encode(Object pObject) throws EncoderException;
+-}  
+-
+diff -Nru jasypt-1.9.0/src/main/java/org/jasypt/digest/StandardStringDigester.java jasypt-1.9.0-gil/src/main/java/org/jasypt/digest/StandardStringDigester.java
+--- jasypt-1.9.0/src/main/java/org/jasypt/digest/StandardStringDigester.java	2010-10-25 22:52:23.000000000 +0200
++++ jasypt-1.9.0-gil/src/main/java/org/jasypt/digest/StandardStringDigester.java	2012-08-29 00:11:55.785303352 +0200
+@@ -22,7 +22,7 @@
+ import java.security.Provider;
+ 
+ import org.jasypt.commons.CommonUtils;
+-import org.jasypt.contrib.org.apache.commons.codec_1_3.binary.Base64;
++import org.apache.commons.codec.binary.Base64;
+ import org.jasypt.digest.config.DigesterConfig;
+ import org.jasypt.digest.config.StringDigesterConfig;
+ import org.jasypt.exceptions.AlreadyInitializedException;
+diff -Nru jasypt-1.9.0/src/main/java/org/jasypt/encryption/pbe/StandardPBEStringEncryptor.java jasypt-1.9.0-gil/src/main/java/org/jasypt/encryption/pbe/StandardPBEStringEncryptor.java
+--- jasypt-1.9.0/src/main/java/org/jasypt/encryption/pbe/StandardPBEStringEncryptor.java	2011-12-08 03:15:37.000000000 +0100
++++ jasypt-1.9.0-gil/src/main/java/org/jasypt/encryption/pbe/StandardPBEStringEncryptor.java	2012-08-29 00:11:55.787303258 +0200
+@@ -22,7 +22,7 @@
+ import java.security.Provider;
+ 
+ import org.jasypt.commons.CommonUtils;
+-import org.jasypt.contrib.org.apache.commons.codec_1_3.binary.Base64;
++import org.apache.commons.codec.binary.Base64;
+ import org.jasypt.encryption.pbe.config.PBEConfig;
+ import org.jasypt.encryption.pbe.config.StringPBEConfig;
+ import org.jasypt.exceptions.AlreadyInitializedException;
+diff -Nru jasypt-1.9.0/src/test/java/org/jasypt/digest/StandardStringDigesterInvertedSaltTest.java jasypt-1.9.0-gil/src/test/java/org/jasypt/digest/StandardStringDigesterInvertedSaltTest.java
+--- jasypt-1.9.0/src/test/java/org/jasypt/digest/StandardStringDigesterInvertedSaltTest.java	2010-10-21 01:29:54.000000000 +0200
++++ jasypt-1.9.0-gil/src/test/java/org/jasypt/digest/StandardStringDigesterInvertedSaltTest.java	2012-08-29 00:11:55.788303210 +0200
+@@ -22,7 +22,7 @@
+ 
+ import junit.framework.TestCase;
+ 
+-import org.jasypt.contrib.org.apache.commons.codec_1_3.binary.Base64;
++import org.apache.commons.codec.binary.Base64;
+ import org.jasypt.util.password.rfc2307.RFC2307SSHAPasswordEncryptor;
+ 
+ public class StandardStringDigesterInvertedSaltTest extends TestCase {
+diff -Nru jasypt-1.9.0/src/test/java/org/jasypt/digest/StandardStringDigesterTest.java jasypt-1.9.0-gil/src/test/java/org/jasypt/digest/StandardStringDigesterTest.java
+--- jasypt-1.9.0/src/test/java/org/jasypt/digest/StandardStringDigesterTest.java	2010-10-16 20:38:04.000000000 +0200
++++ jasypt-1.9.0-gil/src/test/java/org/jasypt/digest/StandardStringDigesterTest.java	2012-08-29 00:11:55.789303162 +0200
+@@ -25,7 +25,7 @@
+ import junit.framework.TestCase;
+ 
+ import org.bouncycastle.jce.provider.BouncyCastleProvider;
+-import org.jasypt.contrib.org.apache.commons.codec_1_3.binary.Base64;
++import org.apache.commons.codec.binary.Base64;
+ import org.jasypt.digest.config.EnvironmentStringDigesterConfig;
+ import org.jasypt.digest.config.SimpleDigesterConfig;
+ import org.jasypt.salt.FixedByteArraySaltGenerator;
+diff -Nru jasypt-1.9.0/src/test/java/org/jasypt/util/password/BasicPasswordEncryptorTest.java jasypt-1.9.0-gil/src/test/java/org/jasypt/util/password/BasicPasswordEncryptorTest.java
+--- jasypt-1.9.0/src/test/java/org/jasypt/util/password/BasicPasswordEncryptorTest.java	2010-10-16 20:38:04.000000000 +0200
++++ jasypt-1.9.0-gil/src/test/java/org/jasypt/util/password/BasicPasswordEncryptorTest.java	2012-08-29 00:11:55.790303114 +0200
+@@ -22,7 +22,7 @@
+ 
+ import junit.framework.TestCase;
+ 
+-import org.jasypt.contrib.org.apache.commons.codec_1_3.binary.Base64;
++import org.apache.commons.codec.binary.Base64;
+ 
+ 
+ public class BasicPasswordEncryptorTest extends TestCase {
+diff -Nru jasypt-1.9.0/src/test/java/org/jasypt/util/password/ConfigurablePasswordEncryptorTest.java jasypt-1.9.0-gil/src/test/java/org/jasypt/util/password/ConfigurablePasswordEncryptorTest.java
+--- jasypt-1.9.0/src/test/java/org/jasypt/util/password/ConfigurablePasswordEncryptorTest.java	2010-10-16 20:38:04.000000000 +0200
++++ jasypt-1.9.0-gil/src/test/java/org/jasypt/util/password/ConfigurablePasswordEncryptorTest.java	2012-08-29 00:11:55.791303066 +0200
+@@ -25,7 +25,7 @@
+ import junit.framework.TestCase;
+ 
+ import org.bouncycastle.jce.provider.BouncyCastleProvider;
+-import org.jasypt.contrib.org.apache.commons.codec_1_3.binary.Base64;
++import org.apache.commons.codec.binary.Base64;
+ 
+ public class ConfigurablePasswordEncryptorTest extends TestCase {
+ 
+diff -Nru jasypt-1.9.0/src/test/java/org/jasypt/util/password/StrongPasswordEncryptorTest.java jasypt-1.9.0-gil/src/test/java/org/jasypt/util/password/StrongPasswordEncryptorTest.java
+--- jasypt-1.9.0/src/test/java/org/jasypt/util/password/StrongPasswordEncryptorTest.java	2010-10-16 20:38:04.000000000 +0200
++++ jasypt-1.9.0-gil/src/test/java/org/jasypt/util/password/StrongPasswordEncryptorTest.java	2012-08-29 00:11:55.791303066 +0200
+@@ -22,7 +22,7 @@
+ 
+ import junit.framework.TestCase;
+ 
+-import org.jasypt.contrib.org.apache.commons.codec_1_3.binary.Base64;
++import org.apache.commons.codec.binary.Base64;
+ 
+ 
+ public class StrongPasswordEncryptorTest extends TestCase {
+diff -Nru jasypt-1.9.0/src/test/java/org/jasypt/util/text/BasicTextEncryptorTest.java jasypt-1.9.0-gil/src/test/java/org/jasypt/util/text/BasicTextEncryptorTest.java
+--- jasypt-1.9.0/src/test/java/org/jasypt/util/text/BasicTextEncryptorTest.java	2010-10-16 20:38:04.000000000 +0200
++++ jasypt-1.9.0-gil/src/test/java/org/jasypt/util/text/BasicTextEncryptorTest.java	2012-08-29 00:11:55.791303066 +0200
+@@ -22,7 +22,7 @@
+ 
+ import junit.framework.TestCase;
+ 
+-import org.jasypt.contrib.org.apache.commons.codec_1_3.binary.Base64;
++import org.apache.commons.codec.binary.Base64;
+ 
+ 
+ public class BasicTextEncryptorTest extends TestCase {
+diff -Nru jasypt-1.9.0/src/test/java/org/jasypt/util/text/StrongTextEncryptorTest.java jasypt-1.9.0-gil/src/test/java/org/jasypt/util/text/StrongTextEncryptorTest.java
+--- jasypt-1.9.0/src/test/java/org/jasypt/util/text/StrongTextEncryptorTest.java	2010-10-16 20:38:04.000000000 +0200
++++ jasypt-1.9.0-gil/src/test/java/org/jasypt/util/text/StrongTextEncryptorTest.java	2012-08-29 00:11:55.792303018 +0200
+@@ -22,7 +22,7 @@
+ 
+ import junit.framework.TestCase;
+ 
+-import org.jasypt.contrib.org.apache.commons.codec_1_3.binary.Base64;
++import org.apache.commons.codec.binary.Base64;
+ 
+ 
+ public class StrongTextEncryptorTest extends TestCase {
diff --git a/jasypt.spec b/jasypt.spec
new file mode 100644
index 0000000..fe1e03e
--- /dev/null
+++ b/jasypt.spec
@@ -0,0 +1,109 @@
+Name:          jasypt
+Version:       1.9.0
+Release:       2%{?dist}
+Summary:       Java Simplified Encryption
+Group:         Development/Libraries
+License:       ASL 2.0
+Url:           http://www.jasypt.org/
+# svn export https://jasypt.svn.sourceforge.net/svnroot/jasypt/tags/jasypt/jasypt-1.9.0 jasypt-1.9.0
+# tar czf jasypt-1.9.0-src-svn.tar.gz jasypt-1.9.0
+Source0:       %{name}-%{version}-src-svn.tar.gz
+# force tomcat-servlet-3.0-api use
+Source1:       %{name}-%{version}-depmap
+# remove maven-gpg-plugin
+# fix encoding (changed US-ASCII in UTF-8)
+# fix bouncycastle: artifactId version
+# add commons-logging for test
+# add icu4j systemPath
+# fix compiler plugin target/source 1.5 
+Patch0:        %{name}-%{version}-pom.patch
+# remove internal commons-codec 1.3
+Patch1:        %{name}-%{version}-use-system-commons-codec.patch
+# tks to jhernand
+# system commons-codec 1.4 support
+Patch2:        %{name}-%{version}-StandardStringDigester.patch
+Patch3:        %{name}-%{version}-StandardPBEStringEncryptor.patch
+
+BuildRequires: java-devel
+BuildRequires: jpackage-utils
+
+# test deps
+BuildRequires: apache-commons-lang
+BuildRequires: apache-commons-logging
+BuildRequires: bouncycastle
+BuildRequires: junit
+# main deps
+BuildRequires: apache-commons-codec
+BuildRequires: icu4j
+BuildRequires: tomcat-servlet-3.0-api
+
+BuildRequires: maven
+BuildRequires: maven-assembly-plugin
+BuildRequires: maven-compiler-plugin
+BuildRequires: maven-install-plugin
+BuildRequires: maven-jar-plugin
+BuildRequires: maven-javadoc-plugin
+BuildRequires: maven-resources-plugin
+BuildRequires: maven-source-plugin
+BuildRequires: maven-surefire-plugin
+BuildRequires: maven-surefire-provider-junit4
+
+Requires:      apache-commons-codec
+Requires:      icu4j
+Requires:      tomcat-servlet-3.0-api
+
+Requires:      java
+Requires:      jpackage-utils
+BuildArch:     noarch
+
+%description
+Java library which enables encryption
+in java apps with minimum effort.
+
+%package javadoc
+Group:         Documentation
+Summary:       Javadoc for %{name}
+Requires:      jpackage-utils
+
+%description javadoc
+This package contains javadoc for %{name}.
+
+%prep
+%setup -q
+%patch0 -p0
+%patch1 -p1
+%patch2 -p0
+%patch3 -p0
+
+%build
+
+mvn-rpmbuild -Dmaven.local.depmap.file=%{SOURCE1} -D_javadir=%{_javadir} install javadoc:aggregate
+
+%install
+
+mkdir -p %{buildroot}%{_javadir}
+install -m 644 target/%{name}-%{version}.jar %{buildroot}%{_javadir}/%{name}.jar
+
+mkdir -p %{buildroot}%{_mavenpomdir}
+install -pm 644 pom.xml %{buildroot}%{_mavenpomdir}/JPP-%{name}.pom
+%add_maven_depmap JPP-%{name}.pom %{name}.jar
+
+mkdir -p %{buildroot}%{_javadocdir}/%{name}
+cp -pr target/site/api/jasypt/apidocs/* %{buildroot}%{_javadocdir}/%{name}
+
+%files
+%{_javadir}/%{name}.jar
+%{_mavenpomdir}/JPP-%{name}.pom
+%{_mavendepmapfragdir}/%{name}
+%doc *.txt
+
+%files javadoc
+%{_javadocdir}/%{name}
+%doc LICENSE.txt NOTICE.txt
+
+%changelog
+* Wed Aug 29 2012 gil cattaneo <puntogil at libero.it> 1.9.0-2
+- fixed apache-commons-codec gId
+
+* Fri May 18 2012 gil cattaneo <puntogil at libero.it> 1.9.0-1
+- initial rpm
\ No newline at end of file
diff --git a/sources b/sources
index e69de29..31da7d9 100644
--- a/sources
+++ b/sources
@@ -0,0 +1 @@
+1853b1fa020d3b5ee0cd7a4e82ab3d91  jasypt-1.9.0-src-svn.tar.gz


More information about the scm-commits mailing list