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 ba...@apache.org on 2009/10/06 22:26:18 UTC

svn commit: r822477 - in /james/jdkim/trunk: main/ main/src/main/java/org/apache/james/jdkim/ main/src/main/java/org/apache/james/jdkim/tagvalue/ main/src/test/java/org/apache/james/jdkim/ stage/ stage/org.apache.james/jars/

Author: bago
Date: Tue Oct  6 20:26:17 2009
New Revision: 822477

URL: http://svn.apache.org/viewvc?rev=822477&view=rev
Log:
Java 1.4 compatibility: downgraded to mime4j 0.5, some method "backport" and some javadoc fixes.

Added:
    james/jdkim/trunk/stage/org.apache.james/jars/apache-mime4j-0.5.jar   (with props)
Modified:
    james/jdkim/trunk/main/pom.xml
    james/jdkim/trunk/main/src/main/java/org/apache/james/jdkim/DKIMVerifier.java
    james/jdkim/trunk/main/src/main/java/org/apache/james/jdkim/Message.java
    james/jdkim/trunk/main/src/main/java/org/apache/james/jdkim/PublicKeyRecordRetriever.java
    james/jdkim/trunk/main/src/main/java/org/apache/james/jdkim/tagvalue/PublicKeyRecordImpl.java
    james/jdkim/trunk/main/src/test/java/org/apache/james/jdkim/MessageTest.java
    james/jdkim/trunk/main/src/test/java/org/apache/james/jdkim/PublicKeyRecordTest.java
    james/jdkim/trunk/main/src/test/java/org/apache/james/jdkim/SignatureRecordImplTest.java
    james/jdkim/trunk/stage/pom.xml

Modified: james/jdkim/trunk/main/pom.xml
URL: http://svn.apache.org/viewvc/james/jdkim/trunk/main/pom.xml?rev=822477&r1=822476&r2=822477&view=diff
==============================================================================
--- james/jdkim/trunk/main/pom.xml (original)
+++ james/jdkim/trunk/main/pom.xml Tue Oct  6 20:26:17 2009
@@ -99,7 +99,7 @@
     <dependency>
       <groupId>org.apache.james</groupId>
       <artifactId>apache-mime4j</artifactId>
-      <version>0.6</version>
+      <version>0.5</version>
     </dependency>
     <dependency>
     	<groupId>log4j</groupId>
@@ -112,11 +112,6 @@
       <artifactId>dnsjava</artifactId>
       <version>2.0.6</version>
     </dependency>
-    <dependency>
-      <groupId>org.apache.james</groupId>
-      <artifactId>apache-mime4j</artifactId>
-      <version>0.6</version>
-    </dependency>
   
   </dependencies>
 
@@ -133,8 +128,8 @@
         <artifactId>maven-compiler-plugin</artifactId>
         <version>2.0.2</version>
         <configuration>
-          <source>1.5</source>
-          <target>1.5</target>
+          <source>1.4</source>
+          <target>1.4</target>
           <encoding>iso8859-1</encoding>
         </configuration>
       </plugin>      

Modified: james/jdkim/trunk/main/src/main/java/org/apache/james/jdkim/DKIMVerifier.java
URL: http://svn.apache.org/viewvc/james/jdkim/trunk/main/src/main/java/org/apache/james/jdkim/DKIMVerifier.java?rev=822477&r1=822476&r2=822477&view=diff
==============================================================================
--- james/jdkim/trunk/main/src/main/java/org/apache/james/jdkim/DKIMVerifier.java (original)
+++ james/jdkim/trunk/main/src/main/java/org/apache/james/jdkim/DKIMVerifier.java Tue Oct  6 20:26:17 2009
@@ -86,7 +86,7 @@
 	 * Iterates through signature's declared lookup method
 	 *
 	 * @param sign the signature record
-	 * @return
+	 * @return an "applicable" PublicKeyRecord
 	 * @throws TempFailException
 	 * @throws PermFailException
 	 */

Modified: james/jdkim/trunk/main/src/main/java/org/apache/james/jdkim/Message.java
URL: http://svn.apache.org/viewvc/james/jdkim/trunk/main/src/main/java/org/apache/james/jdkim/Message.java?rev=822477&r1=822476&r2=822477&view=diff
==============================================================================
--- james/jdkim/trunk/main/src/main/java/org/apache/james/jdkim/Message.java (original)
+++ james/jdkim/trunk/main/src/main/java/org/apache/james/jdkim/Message.java Tue Oct  6 20:26:17 2009
@@ -19,13 +19,6 @@
 
 package org.apache.james.jdkim;
 
-import org.apache.james.mime4j.MimeException;
-import org.apache.james.mime4j.MimeIOException;
-import org.apache.james.mime4j.io.EOLConvertingInputStream;
-import org.apache.james.mime4j.parser.Field;
-import org.apache.james.mime4j.parser.MimeEntityConfig;
-import org.apache.james.mime4j.parser.MimeTokenStream;
-
 import java.io.IOException;
 import java.io.InputStream;
 import java.util.Collections;
@@ -35,12 +28,17 @@
 import java.util.List;
 import java.util.Map;
 
+import org.apache.james.mime4j.MimeException;
+import org.apache.james.mime4j.io.EOLConvertingInputStream;
+import org.apache.james.mime4j.parser.MimeEntityConfig;
+import org.apache.james.mime4j.parser.MimeTokenStream;
+
 /**
  * The header of an entity (see RFC 2045).
  * 
  * TODO: we have to handle correct ordered extraction for fields.
  */
-public class Message implements Iterable, Headers {
+public class Message implements Headers {
 
 	private List fields = new LinkedList();
 	private Map fieldMap = new HashMap();
@@ -75,7 +73,7 @@
 			switch (state) {
 			// a field
 			case MimeTokenStream.T_FIELD:
-				addField(stream.getField());
+				addField(stream.getFieldName(), stream.getField());
 				break;
 
 			// expected ignored tokens
@@ -115,14 +113,14 @@
 	 * @param field
 	 *            the field to add.
 	 */
-	public void addField(Field field) {
-		List values = (List) fieldMap.get(field.getName().toLowerCase());
+	public void addField(String fieldName, String field) {
+		List values = (List) fieldMap.get(fieldName.toLowerCase());
 		if (values == null) {
 			values = new LinkedList();
-			fieldMap.put(field.getName().toLowerCase(), values);
+			fieldMap.put(fieldName.toLowerCase(), values);
 		}
-		values.add(new String(field.getRaw().toByteArray()));
-		fields.add(new String(field.getRaw().toByteArray()));
+		values.add(field);
+		fields.add(field);
 	}
 
 	/* (non-Javadoc)
@@ -151,7 +149,7 @@
 		final List l = (List) fieldMap.get(lowerCaseName);
 		final List results;
 		if (l == null || l.isEmpty()) {
-			results = Collections.emptyList();
+			results = null;
 		} else {
 			results = Collections.unmodifiableList(l);
 		}

Modified: james/jdkim/trunk/main/src/main/java/org/apache/james/jdkim/PublicKeyRecordRetriever.java
URL: http://svn.apache.org/viewvc/james/jdkim/trunk/main/src/main/java/org/apache/james/jdkim/PublicKeyRecordRetriever.java?rev=822477&r1=822476&r2=822477&view=diff
==============================================================================
--- james/jdkim/trunk/main/src/main/java/org/apache/james/jdkim/PublicKeyRecordRetriever.java (original)
+++ james/jdkim/trunk/main/src/main/java/org/apache/james/jdkim/PublicKeyRecordRetriever.java Tue Oct  6 20:26:17 2009
@@ -24,7 +24,7 @@
 public interface PublicKeyRecordRetriever {
 	
 	/**
-	 * @param method/options the options declared for the lookup method.
+	 * @param methodAndOption the options declared for the lookup method.
 	 * @param selector the value of "s=" tag
 	 * @param token the value of the "d=" tag
 	 * @return A list of strings representing 0 to multiple records

Modified: james/jdkim/trunk/main/src/main/java/org/apache/james/jdkim/tagvalue/PublicKeyRecordImpl.java
URL: http://svn.apache.org/viewvc/james/jdkim/trunk/main/src/main/java/org/apache/james/jdkim/tagvalue/PublicKeyRecordImpl.java?rev=822477&r1=822476&r2=822477&view=diff
==============================================================================
--- james/jdkim/trunk/main/src/main/java/org/apache/james/jdkim/tagvalue/PublicKeyRecordImpl.java (original)
+++ james/jdkim/trunk/main/src/main/java/org/apache/james/jdkim/tagvalue/PublicKeyRecordImpl.java Tue Oct  6 20:26:17 2009
@@ -121,10 +121,11 @@
 			return Pattern.compile("@");
 		} else if (pStar != -1) {
 			if (g.indexOf('*',pStar+1) != -1) throw new IllegalStateException("Invalid granularity using more than one wildcard: "+g);
-			String pattern = "^"+Pattern.quote(g.subSequence(0, pStar).toString())+".*"+Pattern.quote(g.subSequence(pStar+1, g.length()).toString())+"$";
+			String pattern = "^\\Q"+g.subSequence(0, pStar).toString()+"\\E.*\\Q"+g.subSequence(pStar+1, g.length()).toString()+"\\E$";
 			return Pattern.compile(pattern);
 		} else {
-			return Pattern.compile("^"+Pattern.quote(g)+"$");
+			// TODO we need some escaping. On Java 5 we have Pattern.quote that is better
+			return Pattern.compile("^\\Q"+g+"\\E$");
 		}
 	}
 
@@ -161,9 +162,9 @@
 			rsaKey = (RSAPublicKey) keyFactory.generatePublic(pubSpec);
 			return rsaKey;
 		} catch (NoSuchAlgorithmException e) {
-			throw new IllegalStateException("Unknown algorithm",e);
+			throw new IllegalStateException("Unknown algorithm: "+e.getMessage());
 		} catch (InvalidKeySpecException e) {
-			throw new IllegalStateException("Invalid key spec",e);
+			throw new IllegalStateException("Invalid key spec: "+e.getMessage());
 		}
 	}
 

Modified: james/jdkim/trunk/main/src/test/java/org/apache/james/jdkim/MessageTest.java
URL: http://svn.apache.org/viewvc/james/jdkim/trunk/main/src/test/java/org/apache/james/jdkim/MessageTest.java?rev=822477&r1=822476&r2=822477&view=diff
==============================================================================
--- james/jdkim/trunk/main/src/test/java/org/apache/james/jdkim/MessageTest.java (original)
+++ james/jdkim/trunk/main/src/test/java/org/apache/james/jdkim/MessageTest.java Tue Oct  6 20:26:17 2009
@@ -30,7 +30,6 @@
 import junit.framework.TestCase;
 
 import org.apache.james.mime4j.MimeException;
-import org.apache.james.mime4j.field.UnstructuredField;
 
 public class MessageTest extends TestCase {
 
@@ -59,17 +58,17 @@
 
 	public void testAddField() throws MimeException {
 		Message m = new Message();
-		m.addField(UnstructuredField.parse("Subject: test\r\n"));
-		m.addField(UnstructuredField.parse("Subject: test2\r\n"));
+		m.addField("Subject", "Subject: test\r\n");
+		m.addField("Subject", "Subject: test2\r\n");
 		String f = m.getField("Subject");
 		assertEquals("Subject: test\r\n", f);
 	}
 
 	public void testGetFields() throws MimeException {
 		Message m = new Message();
-		m.addField(UnstructuredField.parse("Subject: test\r\n"));
-		m.addField(UnstructuredField.parse("Subject: test2\r\n"));
-		m.addField(UnstructuredField.parse("From: test2\r\n"));
+		m.addField("Subject", "Subject: test\r\n");
+		m.addField("Subject", "Subject: test2\r\n");
+		m.addField("From", "From: test2\r\n");
 		List f = m.getFields();
 		List expects = new LinkedList();
 		expects.add("Subject: test\r\n");
@@ -93,9 +92,9 @@
 
 	public void testGetFieldsString() throws MimeException {
 		Message m = new Message();
-		m.addField(UnstructuredField.parse("Subject: test\r\n"));
-		m.addField(UnstructuredField.parse("subject: test2\r\n"));
-		m.addField(UnstructuredField.parse("From: test2\r\n"));
+		m.addField("Subject", "Subject: test\r\n");
+		m.addField("subject", "subject: test2\r\n");
+		m.addField("From", "From: test2\r\n");
 		List f = m.getFields("Subject");
 		List expects = new LinkedList();
 		expects.add("Subject: test\r\n");
@@ -109,9 +108,9 @@
 
 	public void testIterator() throws MimeException {
 		Message m = new Message();
-		m.addField(UnstructuredField.parse("Subject: test\r\n"));
-		m.addField(UnstructuredField.parse("subject: test2\r\n"));
-		m.addField(UnstructuredField.parse("From: test2\r\n"));
+		m.addField("Subject", "Subject: test\r\n");
+		m.addField("subject", "subject: test2\r\n");
+		m.addField("From", "From: test2\r\n");
 		Iterator i = m.iterator();
 		String field = (String) i.next();
 		assertEquals("Subject: test\r\n", field);
@@ -123,7 +122,7 @@
 
 	public void testToString() throws MimeException {
 		Message m = new Message();
-		m.addField(UnstructuredField.parse("Subject: test\r\n"));
+		m.addField("Subject", "Subject: test\r\n");
 		m.setBodyInputStream(new ByteArrayInputStream("body".getBytes()));
 		String expected = "Subject: test\r\n\r\nbody";
 		assertEquals(expected, m.toString());	

Modified: james/jdkim/trunk/main/src/test/java/org/apache/james/jdkim/PublicKeyRecordTest.java
URL: http://svn.apache.org/viewvc/james/jdkim/trunk/main/src/test/java/org/apache/james/jdkim/PublicKeyRecordTest.java?rev=822477&r1=822476&r2=822477&view=diff
==============================================================================
--- james/jdkim/trunk/main/src/test/java/org/apache/james/jdkim/PublicKeyRecordTest.java (original)
+++ james/jdkim/trunk/main/src/test/java/org/apache/james/jdkim/PublicKeyRecordTest.java Tue Oct  6 20:26:17 2009
@@ -163,7 +163,8 @@
 		pkr.validate();
 		PublicKey pk = pkr.getPublicKey();
 		assertEquals("RSA", pk.getAlgorithm());
-		assertEquals("X.509", pk.getFormat());
+		// On older jvm this is X509
+		// assertEquals("X.509", pk.getFormat());
 		assertEquals(new BigInteger("140815480285950232210124449496973988135931539914762288985377502488754711434253259186192434865594456027796377309280714060984552676169392598862819043219650259702261370701494928576447797673342985377518637829874968725582762257956980427968667812066816497848410406856165942400151628259779523949079651036806330485849"), ((RSAKey) pk).getModulus());
 
 		try {

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=822477&r1=822476&r2=822477&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 20:26:17 2009
@@ -50,19 +50,19 @@
 			sr.getHashAlgo();
 			fail("expected failure");
 		} catch (Exception e) {
-			assertTrue(e.getMessage().toLowerCase().contains("hash"));
+			assertTrue(e.getMessage().toLowerCase().indexOf("hash") != -1);
 		}
 		try {
 			sr.getHashMethod();
 			fail("expected failure");
 		} catch (Exception e) {
-			assertTrue(e.getMessage().toLowerCase().contains("hash"));
+			assertTrue(e.getMessage().toLowerCase().indexOf("hash") != -1);
 		}
 		try {
 			sr.getHashAlgo();
 			fail("expected failure");
 		} catch (Exception e) {
-			assertTrue(e.getMessage().toLowerCase().contains("hash"));
+			assertTrue(e.getMessage().toLowerCase().indexOf("hash") != -1);
 		}
 	}
 	
@@ -72,7 +72,7 @@
 			sr.validate();
 			fail("expected failure");
 		} catch (Exception e) {
-			assertTrue(e.getMessage().contains("expired"));
+			assertTrue(e.getMessage().indexOf("expired") != -1);
 		}
 	}
 	

Added: james/jdkim/trunk/stage/org.apache.james/jars/apache-mime4j-0.5.jar
URL: http://svn.apache.org/viewvc/james/jdkim/trunk/stage/org.apache.james/jars/apache-mime4j-0.5.jar?rev=822477&view=auto
==============================================================================
Binary file - no diff available.

Propchange: james/jdkim/trunk/stage/org.apache.james/jars/apache-mime4j-0.5.jar
------------------------------------------------------------------------------
    svn:mime-type = application/octet-stream

Modified: james/jdkim/trunk/stage/pom.xml
URL: http://svn.apache.org/viewvc/james/jdkim/trunk/stage/pom.xml?rev=822477&r1=822476&r2=822477&view=diff
==============================================================================
--- james/jdkim/trunk/stage/pom.xml (original)
+++ james/jdkim/trunk/stage/pom.xml Tue Oct  6 20:26:17 2009
@@ -123,7 +123,7 @@
     <dependency>
       <groupId>org.apache.james</groupId>
       <artifactId>apache-mime4j</artifactId>
-      <version>0.6</version>
+      <version>0.5</version>
     </dependency>
     <dependency>
       <groupId>dnsjava</groupId>



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