Author: norman
Date: Tue May 8 05:41:02 2007
New Revision: 536180
URL: http://svn.apache.org/viewvc?view=rev&rev=536180
Log:
Fix a bug which can cause an invalid header id
Add javadocs
Some minor refactoring
Modified:
james/jspf/branches/asynch-jspf/src/main/java/org/apache/james/jspf/FutureSPFResult.java
james/jspf/branches/asynch-jspf/src/main/java/org/apache/james/jspf/SPF.java
james/jspf/branches/asynch-jspf/src/main/java/org/apache/james/jspf/core/SPFSession.java
james/jspf/branches/asynch-jspf/src/main/java/org/apache/james/jspf/core/StagedMultipleSPFExecutor.java
james/jspf/branches/asynch-jspf/src/main/java/org/apache/james/jspf/policies/InitialChecksPolicy.java
james/jspf/branches/asynch-jspf/src/main/java/org/apache/james/jspf/policies/SPFRetriever.java
james/jspf/branches/asynch-jspf/src/main/java/org/apache/james/jspf/policies/SPFStrictCheckerRetriever.java
james/jspf/branches/asynch-jspf/src/main/java/org/apache/james/jspf/policies/local/DefaultExplanationPolicy.java
Modified:
james/jspf/branches/asynch-jspf/src/main/java/org/apache/james/jspf/FutureSPFResult.java
URL:
http://svn.apache.org/viewvc/james/jspf/branches/asynch-jspf/src/main/java/org/apache/james/jspf/FutureSPFResult.java?view=diff&rev=536180&r1=536179&r2=536180
==============================================================================
---
james/jspf/branches/asynch-jspf/src/main/java/org/apache/james/jspf/FutureSPFResult.java
(original)
+++
james/jspf/branches/asynch-jspf/src/main/java/org/apache/james/jspf/FutureSPFResult.java
Tue May 8 05:41:02 2007
@@ -29,6 +29,12 @@
isReady = false;
}
+ /**
+ * Set SPFResult using the given SPFsession
+ *
+ * @param session
+ *
+ */
public synchronized void setSPFResult(SPFSession session) {
setSPFSession(session);
isReady = true;
@@ -45,31 +51,51 @@
}
}
+ /**
+ * @see org.apache.james.jspf.SPFResult#getExplanation()
+ */
public String getExplanation() {
checkReady();
return super.getExplanation();
}
+ /**
+ * @see org.apache.james.jspf.SPFResult#getHeader()
+ */
public String getHeader() {
checkReady();
return super.getHeader();
}
+ /**
+ * @see org.apache.james.jspf.SPFResult#getHeaderName()
+ */
public String getHeaderName() {
checkReady();
return super.getHeaderName();
}
+ /**
+ * @see org.apache.james.jspf.SPFResult#getHeaderText()
+ */
public String getHeaderText() {
checkReady();
return super.getHeaderText();
}
+ /**
+ * @see org.apache.james.jspf.SPFResult#getResult()
+ */
public String getResult() {
checkReady();
return super.getResult();
}
+ /**
+ * Return true if the result was fully builded
+ *
+ * @return true or false
+ */
public boolean isReady() {
return isReady;
}
Modified:
james/jspf/branches/asynch-jspf/src/main/java/org/apache/james/jspf/SPF.java
URL:
http://svn.apache.org/viewvc/james/jspf/branches/asynch-jspf/src/main/java/org/apache/james/jspf/SPF.java?view=diff&rev=536180&r1=536179&r2=536180
==============================================================================
---
james/jspf/branches/asynch-jspf/src/main/java/org/apache/james/jspf/SPF.java
(original)
+++
james/jspf/branches/asynch-jspf/src/main/java/org/apache/james/jspf/SPF.java
Tue May 8 05:41:02 2007
@@ -277,6 +277,24 @@
this.executor = executor;
}
+
+ private static final class DefaultSPFChecker implements SPFChecker {
+
+ /**
+ * @see
org.apache.james.jspf.core.SPFChecker#checkSPF(org.apache.james.jspf.core.SPFSession)
+ */
+ public DNSLookupContinuation checkSPF(SPFSession spfData)
+ throws PermErrorException, TempErrorException,
+ NeutralException, NoneException {
+ if (spfData.getCurrentResultExpanded() == null) {
+ String resultChar = spfData.getCurrentResult() != null ?
spfData.getCurrentResult() : "";
+ String result = SPF1Utils.resultToName(resultChar);
+ spfData.setCurrentResultExpanded(result);
+ }
+ return null;
+ }
+ }
+
/**
* Run check for SPF with the given values.
*
@@ -300,20 +318,7 @@
spfData.setCurrentResultExpanded(e1.getResult());
}
- SPFChecker resultHandler = new SPFChecker() {
-
- public DNSLookupContinuation checkSPF(SPFSession spfData)
- throws PermErrorException, TempErrorException,
- NeutralException, NoneException {
- if (spfData.getCurrentResultExpanded() == null) {
- String resultChar = spfData.getCurrentResult() != null ?
spfData.getCurrentResult() : "";
- String result = SPF1Utils.resultToName(resultChar);
- spfData.setCurrentResultExpanded(result);
- }
- return null;
- }
-
- };
+ SPFChecker resultHandler = new DefaultSPFChecker();
spfData.pushChecker(resultHandler);
spfData.pushChecker(this);
Modified:
james/jspf/branches/asynch-jspf/src/main/java/org/apache/james/jspf/core/SPFSession.java
URL:
http://svn.apache.org/viewvc/james/jspf/branches/asynch-jspf/src/main/java/org/apache/james/jspf/core/SPFSession.java?view=diff&rev=536180&r1=536179&r2=536180
==============================================================================
---
james/jspf/branches/asynch-jspf/src/main/java/org/apache/james/jspf/core/SPFSession.java
(original)
+++
james/jspf/branches/asynch-jspf/src/main/java/org/apache/james/jspf/core/SPFSession.java
Tue May 8 05:41:02 2007
@@ -79,7 +79,7 @@
private String currentResultExpanded;
/**
- * Build the SPF1Data from the given parameters
+ * Build the SPFSession from the given parameters
*
* @param mailFrom
* The emailaddress of the sender
Modified:
james/jspf/branches/asynch-jspf/src/main/java/org/apache/james/jspf/core/StagedMultipleSPFExecutor.java
URL:
http://svn.apache.org/viewvc/james/jspf/branches/asynch-jspf/src/main/java/org/apache/james/jspf/core/StagedMultipleSPFExecutor.java?view=diff&rev=536180&r1=536179&r2=536180
==============================================================================
---
james/jspf/branches/asynch-jspf/src/main/java/org/apache/james/jspf/core/StagedMultipleSPFExecutor.java
(original)
+++
james/jspf/branches/asynch-jspf/src/main/java/org/apache/james/jspf/core/StagedMultipleSPFExecutor.java
Tue May 8 05:41:02 2007
@@ -62,9 +62,16 @@
}
- private static int id = 1;
+ // Use short as id because the id header is limited to 16 bit
+ // From RFC1035 4.1.1. Header section format :
+ //
+ // ID A 16 bit identifier assigned by the program that
+ // generates any kind of query. This identifier is copied
+ // the corresponding reply and can be used by the requester
+ // to match up replies to outstanding queries.
+ //
+ private static short id;
- // TODO: sooner or later we have to avoid overflow and restart.
private synchronized int nextId() {
return id++;
}
Modified:
james/jspf/branches/asynch-jspf/src/main/java/org/apache/james/jspf/policies/InitialChecksPolicy.java
URL:
http://svn.apache.org/viewvc/james/jspf/branches/asynch-jspf/src/main/java/org/apache/james/jspf/policies/InitialChecksPolicy.java?view=diff&rev=536180&r1=536179&r2=536180
==============================================================================
---
james/jspf/branches/asynch-jspf/src/main/java/org/apache/james/jspf/policies/InitialChecksPolicy.java
(original)
+++
james/jspf/branches/asynch-jspf/src/main/java/org/apache/james/jspf/policies/InitialChecksPolicy.java
Tue May 8 05:41:02 2007
@@ -38,6 +38,9 @@
*/
public final class InitialChecksPolicy implements SPFChecker {
+ /**
+ * @see
org.apache.james.jspf.core.SPFChecker#checkSPF(org.apache.james.jspf.core.SPFSession)
+ */
public DNSLookupContinuation checkSPF(SPFSession spfData)
throws PermErrorException, TempErrorException, NeutralException,
NoneException {
Modified:
james/jspf/branches/asynch-jspf/src/main/java/org/apache/james/jspf/policies/SPFRetriever.java
URL:
http://svn.apache.org/viewvc/james/jspf/branches/asynch-jspf/src/main/java/org/apache/james/jspf/policies/SPFRetriever.java?view=diff&rev=536180&r1=536179&r2=536180
==============================================================================
---
james/jspf/branches/asynch-jspf/src/main/java/org/apache/james/jspf/policies/SPFRetriever.java
(original)
+++
james/jspf/branches/asynch-jspf/src/main/java/org/apache/james/jspf/policies/SPFRetriever.java
Tue May 8 05:41:02 2007
@@ -26,6 +26,9 @@
private static final class SPFRecordHandlerDNSResponseListener implements
SPFCheckerDNSResponseListener {
+ /**
+ * @see
org.apache.james.jspf.core.SPFCheckerDNSResponseListener#onDNSResponse(org.apache.james.jspf.core.DNSResponse,
org.apache.james.jspf.core.SPFSession)
+ */
public DNSLookupContinuation onDNSResponse(
DNSResponse response, SPFSession session)
throws PermErrorException,
@@ -50,6 +53,9 @@
private static final class SPFRetrieverDNSResponseListener implements
SPFCheckerDNSResponseListener {
+ /**
+ * @see
org.apache.james.jspf.core.SPFCheckerDNSResponseListener#onDNSResponse(org.apache.james.jspf.core.DNSResponse,
org.apache.james.jspf.core.SPFSession)
+ */
public DNSLookupContinuation onDNSResponse(
DNSResponse response, SPFSession session)
throws PermErrorException, NoneException,
Modified:
james/jspf/branches/asynch-jspf/src/main/java/org/apache/james/jspf/policies/SPFStrictCheckerRetriever.java
URL:
http://svn.apache.org/viewvc/james/jspf/branches/asynch-jspf/src/main/java/org/apache/james/jspf/policies/SPFStrictCheckerRetriever.java?view=diff&rev=536180&r1=536179&r2=536180
==============================================================================
---
james/jspf/branches/asynch-jspf/src/main/java/org/apache/james/jspf/policies/SPFStrictCheckerRetriever.java
(original)
+++
james/jspf/branches/asynch-jspf/src/main/java/org/apache/james/jspf/policies/SPFStrictCheckerRetriever.java
Tue May 8 05:41:02 2007
@@ -27,6 +27,9 @@
private static final class SPFStrictSPFRecordsDNSResponseListener
implements SPFCheckerDNSResponseListener {
+ /**
+ * @see
org.apache.james.jspf.core.SPFCheckerDNSResponseListener#onDNSResponse(org.apache.james.jspf.core.DNSResponse,
org.apache.james.jspf.core.SPFSession)
+ */
public DNSLookupContinuation onDNSResponse(
DNSResponse response, SPFSession session)
throws PermErrorException,
@@ -55,6 +58,9 @@
private static final class SPFStrictCheckDNSResponseListener implements
SPFCheckerDNSResponseListener {
+ /**
+ * @see
org.apache.james.jspf.core.SPFCheckerDNSResponseListener#onDNSResponse(org.apache.james.jspf.core.DNSResponse,
org.apache.james.jspf.core.SPFSession)
+ */
public DNSLookupContinuation onDNSResponse(
DNSResponse response, SPFSession session)
throws PermErrorException, NoneException,
Modified:
james/jspf/branches/asynch-jspf/src/main/java/org/apache/james/jspf/policies/local/DefaultExplanationPolicy.java
URL:
http://svn.apache.org/viewvc/james/jspf/branches/asynch-jspf/src/main/java/org/apache/james/jspf/policies/local/DefaultExplanationPolicy.java?view=diff&rev=536180&r1=536179&r2=536180
==============================================================================
---
james/jspf/branches/asynch-jspf/src/main/java/org/apache/james/jspf/policies/local/DefaultExplanationPolicy.java
(original)
+++
james/jspf/branches/asynch-jspf/src/main/java/org/apache/james/jspf/policies/local/DefaultExplanationPolicy.java
Tue May 8 05:41:02 2007
@@ -40,6 +40,10 @@
private final class ExplanationChecker implements SPFChecker {
+
+ /**
+ * @see
org.apache.james.jspf.core.SPFChecker#checkSPF(org.apache.james.jspf.core.SPFSession)
+ */
public DNSLookupContinuation checkSPF(SPFSession spfData)
throws PermErrorException,
NoneException, TempErrorException,
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]