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/11 17:17:22 UTC

svn commit: r824085 - in /james/jdkim/trunk/main/src: main/java/org/apache/james/jdkim/ main/java/org/apache/james/jdkim/api/ main/java/org/apache/james/jdkim/impl/ test/java/org/apache/james/jdkim/

Author: bago
Date: Sun Oct 11 15:17:20 2009
New Revision: 824085

URL: http://svn.apache.org/viewvc?rev=824085&view=rev
Log:
Removed unused methods and more cleanups.

Modified:
    james/jdkim/trunk/main/src/main/java/org/apache/james/jdkim/DKIMCommon.java
    james/jdkim/trunk/main/src/main/java/org/apache/james/jdkim/DKIMSigner.java
    james/jdkim/trunk/main/src/main/java/org/apache/james/jdkim/DKIMVerifier.java
    james/jdkim/trunk/main/src/main/java/org/apache/james/jdkim/api/Headers.java
    james/jdkim/trunk/main/src/main/java/org/apache/james/jdkim/api/SignatureRecord.java
    james/jdkim/trunk/main/src/main/java/org/apache/james/jdkim/impl/Message.java
    james/jdkim/trunk/main/src/test/java/org/apache/james/jdkim/MessageTest.java

Modified: james/jdkim/trunk/main/src/main/java/org/apache/james/jdkim/DKIMCommon.java
URL: http://svn.apache.org/viewvc/james/jdkim/trunk/main/src/main/java/org/apache/james/jdkim/DKIMCommon.java?rev=824085&r1=824084&r2=824085&view=diff
==============================================================================
--- james/jdkim/trunk/main/src/main/java/org/apache/james/jdkim/DKIMCommon.java (original)
+++ james/jdkim/trunk/main/src/main/java/org/apache/james/jdkim/DKIMCommon.java Sun Oct 11 15:17:20 2009
@@ -31,6 +31,7 @@
 
 import org.apache.james.jdkim.api.Headers;
 import org.apache.james.jdkim.api.SignatureRecord;
+import org.apache.james.jdkim.exceptions.PermFailException;
 
 public abstract class DKIMCommon {
 
@@ -60,14 +61,18 @@
 
 	protected static void signatureCheck(Headers h, SignatureRecord sign,
 			List headers, String signatureStub, Signature signature)
-			throws SignatureException {
-		// TODO make this check better (parse the c field inside sign)
-		boolean relaxedHeaders = "relaxed".equals(sign
+			throws SignatureException, PermFailException {
+
+		boolean relaxedHeaders = SignatureRecord.RELAXED.equals(sign
+				.getHeaderCanonicalisationMethod());
+		if (!relaxedHeaders && !SignatureRecord.SIMPLE.equals(sign
+				.getHeaderCanonicalisationMethod())) {
+			throw new PermFailException("Unsupported canonicalization algorythm: "+sign
 				.getHeaderCanonicalisationMethod());
+		}
 
 		// NOTE: this could be improved by using iterators.
-		// NOTE: also this rely on the list returned by Message being in
-		// insertion order
+		// NOTE: this relies on the list returned by Message being in insertion order
 		Map/* String, Integer */processedHeader = new HashMap();
 
 		for (Iterator i = headers.iterator(); i.hasNext();) {

Modified: james/jdkim/trunk/main/src/main/java/org/apache/james/jdkim/DKIMSigner.java
URL: http://svn.apache.org/viewvc/james/jdkim/trunk/main/src/main/java/org/apache/james/jdkim/DKIMSigner.java?rev=824085&r1=824084&r2=824085&view=diff
==============================================================================
--- james/jdkim/trunk/main/src/main/java/org/apache/james/jdkim/DKIMSigner.java (original)
+++ james/jdkim/trunk/main/src/main/java/org/apache/james/jdkim/DKIMSigner.java Sun Oct 11 15:17:20 2009
@@ -69,15 +69,6 @@
 			} catch (MimeException e1) {
 				throw new PermFailException("MIME parsing exception: "+e1.getMessage(), e1);
 			}
-	
-			/*
-			Field field;
-			try {
-				field = UnstructuredField.parse("DKIM-Signature: "+signatureRecordTemplate);
-			} catch (MimeException e1) {
-				throw new PermFailException("Mime parsing exception "+e1.getMessage(), e1);
-			}
-			*/
 			SignatureRecord srt = newSignatureRecord(signatureRecordTemplate);
 			try {
 				BodyHasher bhj = newBodyHasher(srt);
@@ -122,7 +113,7 @@
 	private byte[] signatureSign(Headers h, String signatureStub, SignatureRecord sign,
 			PrivateKey key, List headers)
 			throws NoSuchAlgorithmException, InvalidKeyException,
-			SignatureException {
+			SignatureException, PermFailException {
 	
 		Signature signature = Signature.getInstance(sign.getHashMethod().toString().toUpperCase()+"with"+sign.getHashKeyType().toString().toUpperCase());
 		signature.initSign(key);

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=824085&r1=824084&r2=824085&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 Sun Oct 11 15:17:20 2009
@@ -298,7 +298,7 @@
 	private boolean signatureVerify(Headers h, String dkimSignature, SignatureRecord sign,
 			PublicKeyRecord key, List headers)
 			throws NoSuchAlgorithmException, InvalidKeyException,
-			SignatureException {
+			SignatureException, PermFailException {
 		byte[] decoded = sign.getSignature();
 	
 		String signatureStub = dkimSignature.replaceAll("b=[^;]*", "b=");

Modified: james/jdkim/trunk/main/src/main/java/org/apache/james/jdkim/api/Headers.java
URL: http://svn.apache.org/viewvc/james/jdkim/trunk/main/src/main/java/org/apache/james/jdkim/api/Headers.java?rev=824085&r1=824084&r2=824085&view=diff
==============================================================================
--- james/jdkim/trunk/main/src/main/java/org/apache/james/jdkim/api/Headers.java (original)
+++ james/jdkim/trunk/main/src/main/java/org/apache/james/jdkim/api/Headers.java Sun Oct 11 15:17:20 2009
@@ -31,7 +31,8 @@
 	public abstract List/* String */ getFields();
 
 	/**
-	 * Gets all <code>Field</code>s having the specified field name.
+	 * Gets all <code>Field</code>s having the specified field name in a case
+	 * insesitive way.
 	 * 
 	 * @param name
 	 *            the field name (e.g. From, Subject).

Modified: james/jdkim/trunk/main/src/main/java/org/apache/james/jdkim/api/SignatureRecord.java
URL: http://svn.apache.org/viewvc/james/jdkim/trunk/main/src/main/java/org/apache/james/jdkim/api/SignatureRecord.java?rev=824085&r1=824084&r2=824085&view=diff
==============================================================================
--- james/jdkim/trunk/main/src/main/java/org/apache/james/jdkim/api/SignatureRecord.java (original)
+++ james/jdkim/trunk/main/src/main/java/org/apache/james/jdkim/api/SignatureRecord.java Sun Oct 11 15:17:20 2009
@@ -22,6 +22,9 @@
 import java.util.List;
 
 public interface SignatureRecord {
+	
+	public final static String RELAXED = "relaxed";
+	public final static String SIMPLE = "simple";
 
 	public final static String ALL = ";all;";
 

Modified: james/jdkim/trunk/main/src/main/java/org/apache/james/jdkim/impl/Message.java
URL: http://svn.apache.org/viewvc/james/jdkim/trunk/main/src/main/java/org/apache/james/jdkim/impl/Message.java?rev=824085&r1=824084&r2=824085&view=diff
==============================================================================
--- james/jdkim/trunk/main/src/main/java/org/apache/james/jdkim/impl/Message.java (original)
+++ james/jdkim/trunk/main/src/main/java/org/apache/james/jdkim/impl/Message.java Sun Oct 11 15:17:20 2009
@@ -124,26 +124,15 @@
 		fields.add(field);
 	}
 
-	/* (non-Javadoc)
-	 * @see org.apache.james.jdkim.Headers#getFields()
+	/**
+	 * @see org.apache.james.jdkim.api.Headers#getFields()
 	 */
 	public List getFields() {
 		return Collections.unmodifiableList(fields);
 	}
 
-	/* (non-Javadoc)
-	 * @see org.apache.james.jdkim.Headers#getField(java.lang.String)
-	 */
-	public String getField(String name) {
-		List l = (List) fieldMap.get(name.toLowerCase());
-		if (l != null && !l.isEmpty()) {
-			return (String) l.get(0);
-		}
-		return null;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.apache.james.jdkim.Headers#getFields(java.lang.String)
+	/**
+	 * @see org.apache.james.jdkim.api.Headers#getFields(java.lang.String)
 	 */
 	public List getFields(final String name) {
 		final String lowerCaseName = name.toLowerCase();
@@ -157,15 +146,6 @@
 		return results;
 	}
 
-	/**
-	 * Returns an iterator over the list of fields of this header.
-	 * 
-	 * @return an iterator.
-	 */
-	public Iterator iterator() {
-		return Collections.unmodifiableList(fields).iterator();
-	}
-
 
 	/**
 	 * Return Header Object as String representation. Each headerline is

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=824085&r1=824084&r2=824085&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 Sun Oct 11 15:17:20 2009
@@ -61,8 +61,10 @@
 		Message m = new Message();
 		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);
+		List f = m.getFields("Subject");
+		assertEquals(2, f.size());
+		assertEquals("Subject: test\r\n", f.get(0));
+		assertEquals("Subject: test2\r\n", f.get(1));
 	}
 
 	public void testGetFields() throws MimeException {
@@ -107,20 +109,6 @@
 		assertEquals(0, expects.size());
 	}
 
-	public void testIterator() throws MimeException {
-		Message m = new Message();
-		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);
-		field = (String) i.next();
-		assertEquals("subject: test2\r\n", field);
-		field = (String) i.next();
-		assertEquals("From: test2\r\n", field);
-	}
-
 	public void testToString() throws MimeException {
 		Message m = new Message();
 		m.addField("Subject", "Subject: test\r\n");



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