Author: bago
Date: Mon Oct 12 11:58:02 2009
New Revision: 824308
URL: http://svn.apache.org/viewvc?rev=824308&view=rev
Log:
Changed unchecked IllegalStateException to checked PermFailExceptions in
"apply" method.
Modified:
james/jdkim/trunk/main/src/main/java/org/apache/james/jdkim/DKIMVerifier.java
james/jdkim/trunk/main/src/test/java/org/apache/james/jdkim/DKIMVerifierTest.java
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=824308&r1=824307&r2=824308&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
Mon Oct 12 11:58:02 2009
@@ -108,29 +108,34 @@
}
/**
- * @see
org.apache.james.jdkim.api.PublicKeyRecord#apply(org.apache.james.jdkim.api.SignatureRecord)
+ * asserts applicability of a signature record the a public key record.
+ * throws an
+ *
+ * @param pkr public key record
+ * @param sign signature record
+ * @throws PermFailException when the keys are not applicable
*/
- public static void apply(PublicKeyRecord pkr, SignatureRecord sign) {
+ public static void apply(PublicKeyRecord pkr, SignatureRecord sign) throws
PermFailException {
if (!pkr.getGranularityPattern().matcher(sign.getIdentityLocalPart())
.matches()) {
- throw new IllegalStateException("inapplicable key identity local="
+ throw new PermFailException("inapplicable key identity local="
+ sign.getIdentityLocalPart() + " Pattern: "
+ pkr.getGranularityPattern().pattern());
}
if (!pkr.isHashMethodSupported(sign.getHashMethod())) {
- throw new IllegalStateException("inappropriate hash for a="
+ throw new PermFailException("inappropriate hash for a="
+ sign.getHashKeyType() + "/" + sign.getHashMethod());
}
if (!pkr.isKeyTypeSupported(sign.getHashKeyType())) {
- throw new IllegalStateException("inappropriate key type for a="
+ throw new PermFailException("inappropriate key type for a="
+ sign.getHashKeyType() + "/" + sign.getHashMethod());
}
if (pkr.isDenySubdomains()) {
if (!sign.getIdentity().toString().toLowerCase().endsWith(
("@" + sign.getDToken()).toLowerCase())) {
- throw new IllegalStateException(
+ throw new PermFailException(
"AUID in subdomain of SDID is not allowed by the
public key record.");
}
}
@@ -166,9 +171,6 @@
// TODO loggin
apply(tempKey, sign);
key = tempKey;
- } catch (IllegalStateException e) {
- lastPermFailure = new PermFailException("Inapplicable key: "
- + e.getMessage(), e);
} catch (TempFailException tf) {
lastTempFailure = tf;
} catch (PermFailException pf) {
Modified:
james/jdkim/trunk/main/src/test/java/org/apache/james/jdkim/DKIMVerifierTest.java
URL:
http://svn.apache.org/viewvc/james/jdkim/trunk/main/src/test/java/org/apache/james/jdkim/DKIMVerifierTest.java?rev=824308&r1=824307&r2=824308&view=diff
==============================================================================
---
james/jdkim/trunk/main/src/test/java/org/apache/james/jdkim/DKIMVerifierTest.java
(original)
+++
james/jdkim/trunk/main/src/test/java/org/apache/james/jdkim/DKIMVerifierTest.java
Mon Oct 12 11:58:02 2009
@@ -20,6 +20,7 @@
package org.apache.james.jdkim;
import org.apache.james.jdkim.api.PublicKeyRecord;
+import org.apache.james.jdkim.exceptions.PermFailException;
import org.apache.james.jdkim.tagvalue.PublicKeyRecordImpl;
import org.apache.james.jdkim.tagvalue.SignatureRecordImpl;
@@ -27,7 +28,7 @@
public class DKIMVerifierTest extends TestCase {
- public void testApply() {
+ public void testApply() throws PermFailException {
PublicKeyRecord pkr = new PublicKeyRecordImpl(
"k=rsa; t=y;
p=MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDIhyR3oItOy22ZOaBrIVe9m/iME3RqOJeasANSpg2YTHTYV+Xtp4xwf5gTjCmHQEMOs0qYu0FYiNQPQogJ2t0Mfx9zNu06rfRBDjiIU9tpx2T+NGlWZ8qhbiLo5By8apJavLyqTLavyPSrvsx0B3YzC63T4Age2CDqZYA+OwSMWQIDAQAB");
pkr.validate();
@@ -43,7 +44,7 @@
new SignatureRecordImpl(
"v=1; a=dsa-sha256; c=relaxed/relaxed;
d=gmail.com; s=gamma;
h=domainkey-signature:mime-version:received:date:message-id:subject:from:to:content-type;
bh=AbPsrGRdyVjM2e5ZZdhQA/aLe305f2bPvPRohUxrGjo=;
b=ksNsfQJv20M9/Vf66sMJT1WHM/fUfcqli1NfkyxSOjr8jlNTH4JNCGacb2neWuwMN4C4TFXqMR8BENkn+XrCV1FjrlW1mCxlLDilVypP/uqqq04KzJpVyJG6zZLd/0DeknSLN6sDGKdCvIdS+YpHEhUxoEuf6QizCs8PTXhnJiA="));
fail("This is not a signature for that key");
- } catch (IllegalStateException e) {
+ } catch (PermFailException e) {
}
pkr = new PublicKeyRecordImpl(
"k=rsa; t=y:s;
p=MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDIhyR3oItOy22ZOaBrIVe9m/iME3RqOJeasANSpg2YTHTYV+Xtp4xwf5gTjCmHQEMOs0qYu0FYiNQPQogJ2t0Mfx9zNu06rfRBDjiIU9tpx2T+NGlWZ8qhbiLo5By8apJavLyqTLavyPSrvsx0B3YzC63T4Age2CDqZYA+OwSMWQIDAQAB");
@@ -60,7 +61,7 @@
new SignatureRecordImpl(
"v=1; a=rsa-sha256; c=relaxed/relaxed;
[email protected]; d=gmail.com; s=gamma;
h=domainkey-signature:mime-version:received:date:message-id:subject:from:to:content-type;
bh=AbPsrGRdyVjM2e5ZZdhQA/aLe305f2bPvPRohUxrGjo=;
b=ksNsfQJv20M9/Vf66sMJT1WHM/fUfcqli1NfkyxSOjr8jlNTH4JNCGacb2neWuwMN4C4TFXqMR8BENkn+XrCV1FjrlW1mCxlLDilVypP/uqqq04KzJpVyJG6zZLd/0DeknSLN6sDGKdCvIdS+YpHEhUxoEuf6QizCs8PTXhnJiA="));
fail("This is not a signature for that key");
- } catch (IllegalStateException e) {
+ } catch (PermFailException e) {
}
pkr = new PublicKeyRecordImpl(
"k=rsa; g=test*; t=y;
p=MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDIhyR3oItOy22ZOaBrIVe9m/iME3RqOJeasANSpg2YTHTYV+Xtp4xwf5gTjCmHQEMOs0qYu0FYiNQPQogJ2t0Mfx9zNu06rfRBDjiIU9tpx2T+NGlWZ8qhbiLo5By8apJavLyqTLavyPSrvsx0B3YzC63T4Age2CDqZYA+OwSMWQIDAQAB");
@@ -77,7 +78,7 @@
new SignatureRecordImpl(
"v=1; a=rsa-sha256; c=relaxed/relaxed;
[email protected]; d=gmail.com; s=gamma;
h=domainkey-signature:mime-version:received:date:message-id:subject:from:to:content-type;
bh=AbPsrGRdyVjM2e5ZZdhQA/aLe305f2bPvPRohUxrGjo=;
b=ksNsfQJv20M9/Vf66sMJT1WHM/fUfcqli1NfkyxSOjr8jlNTH4JNCGacb2neWuwMN4C4TFXqMR8BENkn+XrCV1FjrlW1mCxlLDilVypP/uqqq04KzJpVyJG6zZLd/0DeknSLN6sDGKdCvIdS+YpHEhUxoEuf6QizCs8PTXhnJiA="));
fail("This is not a signature for that key");
- } catch (IllegalStateException e) {
+ } catch (PermFailException e) {
}
pkr = new PublicKeyRecordImpl(
"k=rsa; g=test*; t=y;
p=MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDIhyR3oItOy22ZOaBrIVe9m/iME3RqOJeasANSpg2YTHTYV+Xtp4xwf5gTjCmHQEMOs0qYu0FYiNQPQogJ2t0Mfx9zNu06rfRBDjiIU9tpx2T+NGlWZ8qhbiLo5By8apJavLyqTLavyPSrvsx0B3YzC63T4Age2CDqZYA+OwSMWQIDAQAB");
@@ -93,7 +94,7 @@
new SignatureRecordImpl(
"v=1; a=rsa-sha256; c=relaxed/relaxed;
d=gmail.com; s=gamma;
h=domainkey-signature:mime-version:received:date:message-id:subject:from:to:content-type;
bh=AbPsrGRdyVjM2e5ZZdhQA/aLe305f2bPvPRohUxrGjo=;
b=ksNsfQJv20M9/Vf66sMJT1WHM/fUfcqli1NfkyxSOjr8jlNTH4JNCGacb2neWuwMN4C4TFXqMR8BENkn+XrCV1FjrlW1mCxlLDilVypP/uqqq04KzJpVyJG6zZLd/0DeknSLN6sDGKdCvIdS+YpHEhUxoEuf6QizCs8PTXhnJiA="));
fail("This hash method is not supported for that publick key");
- } catch (IllegalStateException e) {
+ } catch (PermFailException e) {
}
}
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]