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]

Reply via email to