Author: bago Date: Tue Oct 6 18:41:37 2009 New Revision: 822419 URL: http://svn.apache.org/viewvc?rev=822419&view=rev Log: Stop using Sun's Base64 private classes and move the code to Commons-Codec 1.3
Modified: james/jdkim/trunk/main/src/main/java/org/apache/james/jdkim/tagvalue/SignatureRecordImpl.java james/jdkim/trunk/main/src/test/java/org/apache/james/jdkim/SignatureRecordImplTest.java Modified: james/jdkim/trunk/main/src/main/java/org/apache/james/jdkim/tagvalue/SignatureRecordImpl.java URL: http://svn.apache.org/viewvc/james/jdkim/trunk/main/src/main/java/org/apache/james/jdkim/tagvalue/SignatureRecordImpl.java?rev=822419&r1=822418&r2=822419&view=diff ============================================================================== --- james/jdkim/trunk/main/src/main/java/org/apache/james/jdkim/tagvalue/SignatureRecordImpl.java (original) +++ james/jdkim/trunk/main/src/main/java/org/apache/james/jdkim/tagvalue/SignatureRecordImpl.java Tue Oct 6 18:41:37 2009 @@ -23,12 +23,10 @@ import java.util.List; import java.util.regex.Pattern; +import org.apache.commons.codec.binary.Base64; import org.apache.james.jdkim.CodecUtil; import org.apache.james.jdkim.SignatureRecord; -import com.sun.org.apache.xml.internal.security.exceptions.Base64DecodingException; -import com.sun.org.apache.xml.internal.security.utils.Base64; - public class SignatureRecordImpl extends TagValue implements SignatureRecord { @@ -179,21 +177,11 @@ } public byte[] getBodyHash() { - try { - return Base64.decode(getValue("bh").toString().getBytes()); - } catch (Base64DecodingException e) { - // TODO not the best thing - throw new IllegalStateException("Base64.decode.failed", e); - } + return Base64.decodeBase64(getValue("bh").toString().getBytes()); } public byte[] getSignature() { - try { - return Base64.decode(getValue("b").toString().getBytes()); - } catch (Base64DecodingException e) { - // TODO not the best thing - throw new IllegalStateException("Base64.decode.failed", e); - } + return Base64.decodeBase64(getValue("b").toString().getBytes()); } public int getBodyHashLimit() { Modified: james/jdkim/trunk/main/src/test/java/org/apache/james/jdkim/SignatureRecordImplTest.java URL: http://svn.apache.org/viewvc/james/jdkim/trunk/main/src/test/java/org/apache/james/jdkim/SignatureRecordImplTest.java?rev=822419&r1=822418&r2=822419&view=diff ============================================================================== --- james/jdkim/trunk/main/src/test/java/org/apache/james/jdkim/SignatureRecordImplTest.java (original) +++ james/jdkim/trunk/main/src/test/java/org/apache/james/jdkim/SignatureRecordImplTest.java Tue Oct 6 18:41:37 2009 @@ -25,6 +25,8 @@ public class SignatureRecordImplTest extends TestCase { + /* when we moved from Sun's Base64 to CommonsCodec the decoding changed behaviour. + * it does no more fail on bad encoded data. public void testWrongBase64Encoding() { SignatureRecord sr = new SignatureRecordImpl("v=1; bh=0012=GG; b==GG;"); try { @@ -40,6 +42,7 @@ assertTrue(e.getMessage().toLowerCase().contains("decod")); } } + */ public void testWrongHashSyntaxes() { SignatureRecord sr = new SignatureRecordImpl("v=1; a=nothyphenedword;"); --------------------------------------------------------------------- To unsubscribe, e-mail: server-dev-unsubscr...@james.apache.org For additional commands, e-mail: server-dev-h...@james.apache.org