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; i=t...@subdomain.gmail.com; 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; i=...@subdomain.gmail.com; 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: server-dev-unsubscr...@james.apache.org For additional commands, e-mail: server-dev-h...@james.apache.org