Author: bago
Date: Mon Apr 16 15:06:24 2007
New Revision: 529418
URL: http://svn.apache.org/viewvc?view=rev&rev=529418
Log:
Refactored the Policy support from Nested
(Policy/NestedPolicy/AbstractNestedPolicy) to Policy+PolicyPostFilter and
linear iterative pattern (simpler to be approached via events).
Added:
james/jspf/trunk/src/main/java/org/apache/james/jspf/policies/PolicyPostFilter.java
Removed:
james/jspf/trunk/src/main/java/org/apache/james/jspf/policies/AbstractNestedPolicy.java
james/jspf/trunk/src/main/java/org/apache/james/jspf/policies/NestedPolicy.java
Modified:
james/jspf/trunk/src/main/java/org/apache/james/jspf/SPF.java
james/jspf/trunk/src/main/java/org/apache/james/jspf/policies/ChainPolicy.java
james/jspf/trunk/src/main/java/org/apache/james/jspf/policies/InitialChecksPolicy.java
james/jspf/trunk/src/main/java/org/apache/james/jspf/policies/NeutralIfNotMatchPolicy.java
james/jspf/trunk/src/main/java/org/apache/james/jspf/policies/NoSPFRecordFoundPolicy.java
james/jspf/trunk/src/main/java/org/apache/james/jspf/policies/ParseRecordPolicy.java
james/jspf/trunk/src/main/java/org/apache/james/jspf/policies/SPFRetriever.java
james/jspf/trunk/src/main/java/org/apache/james/jspf/policies/local/BestGuessPolicy.java
james/jspf/trunk/src/main/java/org/apache/james/jspf/policies/local/DefaultExplanationPolicy.java
james/jspf/trunk/src/main/java/org/apache/james/jspf/policies/local/FallbackPolicy.java
james/jspf/trunk/src/main/java/org/apache/james/jspf/policies/local/OverridePolicy.java
james/jspf/trunk/src/main/java/org/apache/james/jspf/policies/local/TrustedForwarderPolicy.java
Modified: james/jspf/trunk/src/main/java/org/apache/james/jspf/SPF.java
URL:
http://svn.apache.org/viewvc/james/jspf/trunk/src/main/java/org/apache/james/jspf/SPF.java?view=diff&rev=529418&r1=529417&r2=529418
==============================================================================
--- james/jspf/trunk/src/main/java/org/apache/james/jspf/SPF.java (original)
+++ james/jspf/trunk/src/main/java/org/apache/james/jspf/SPF.java Mon Apr 16
15:06:24 2007
@@ -198,6 +198,7 @@
public Policy getPolicy() {
ArrayList policies = new ArrayList();
+ ArrayList policyFilters = new ArrayList();
if (override != null) {
policies.add(override);
@@ -210,29 +211,29 @@
}
if (useBestGuess) {
- policies.add(new BestGuessPolicy());
+ policyFilters.add(new BestGuessPolicy());
}
- policies.add(new ParseRecordPolicy(parser));
+ policyFilters.add(new ParseRecordPolicy(parser));
if (fallBack != null) {
- policies.add(fallBack);
+ policyFilters.add(fallBack);
}
- policies.add(new NoSPFRecordFoundPolicy());
+ policyFilters.add(new NoSPFRecordFoundPolicy());
// trustedForwarder support is enabled
if (useTrustedForwarder) {
- policies.add(new TrustedForwarderPolicy(log));
+ policyFilters.add(new TrustedForwarderPolicy(log));
}
- policies.add(new NeutralIfNotMatchPolicy());
+ policyFilters.add(new NeutralIfNotMatchPolicy());
- policies.add(new DefaultExplanationPolicy(log, defaultExplanation,
macroExpand));
+ policyFilters.add(new DefaultExplanationPolicy(log,
defaultExplanation, macroExpand));
policies.add(new InitialChecksPolicy());
- return new ChainPolicy(policies);
+ return new ChainPolicy(policies, policyFilters);
}
/**
Modified:
james/jspf/trunk/src/main/java/org/apache/james/jspf/policies/ChainPolicy.java
URL:
http://svn.apache.org/viewvc/james/jspf/trunk/src/main/java/org/apache/james/jspf/policies/ChainPolicy.java?view=diff&rev=529418&r1=529417&r2=529418
==============================================================================
---
james/jspf/trunk/src/main/java/org/apache/james/jspf/policies/ChainPolicy.java
(original)
+++
james/jspf/trunk/src/main/java/org/apache/james/jspf/policies/ChainPolicy.java
Mon Apr 16 15:06:24 2007
@@ -34,22 +34,16 @@
*/
public class ChainPolicy implements Policy {
- private Policy policy;
+ private List policies;
+ private List policyFilters;
/**
* Create a new ChainPolicy
* @param policies an array of Polcy and NestedPolicy objects
*/
- public ChainPolicy(List policies) {
- policy = null;
- Iterator i = policies.iterator();
- while (i.hasNext()) {
- Policy newP = (Policy) i.next();
- if (newP instanceof NestedPolicy) {
- ((NestedPolicy) newP).setChildPolicy(policy);
- }
- policy = newP;
- }
+ public ChainPolicy(List policies, List policyFilters) {
+ this.policies = policies;
+ this.policyFilters = policyFilters;
}
/**
@@ -58,7 +52,18 @@
public SPF1Record getSPFRecord(String currentDomain)
throws PermErrorException, TempErrorException, NoneException,
NeutralException {
- return policy.getSPFRecord(currentDomain);
+ SPF1Record res = null;
+ Iterator i = policies.iterator();
+ while (i.hasNext() && res == null) {
+ Policy newP = (Policy) i.next();
+ res = newP.getSPFRecord(currentDomain);
+ }
+ Iterator i2 = policyFilters.iterator();
+ while (i2.hasNext()) {
+ PolicyPostFilter newP = (PolicyPostFilter) i2.next();
+ res = newP.getSPFRecord(currentDomain, res);
+ }
+ return res;
}
}
Modified:
james/jspf/trunk/src/main/java/org/apache/james/jspf/policies/InitialChecksPolicy.java
URL:
http://svn.apache.org/viewvc/james/jspf/trunk/src/main/java/org/apache/james/jspf/policies/InitialChecksPolicy.java?view=diff&rev=529418&r1=529417&r2=529418
==============================================================================
---
james/jspf/trunk/src/main/java/org/apache/james/jspf/policies/InitialChecksPolicy.java
(original)
+++
james/jspf/trunk/src/main/java/org/apache/james/jspf/policies/InitialChecksPolicy.java
Mon Apr 16 15:06:24 2007
@@ -30,12 +30,12 @@
* This is an override filter to be executed as the first
* so it should be added as the last filter.
*/
-public final class InitialChecksPolicy extends AbstractNestedPolicy {
+public final class InitialChecksPolicy implements Policy {
/**
- * @see
org.apache.james.jspf.policies.AbstractNestedPolicy#getSPFRecordOverride(java.lang.String)
+ * @see
org.apache.james.jspf.policies.Policy#getSPFRecord(java.lang.String)
*/
- protected SPF1Record getSPFRecordOverride(String currentDomain) throws
PermErrorException, TempErrorException, NoneException, NeutralException {
+ public SPF1Record getSPFRecord(String currentDomain) throws
PermErrorException, TempErrorException, NoneException, NeutralException {
// Initial checks (spec 4.3)
if (currentDomain != null) {
String[] labels = currentDomain.split("\\.");
Modified:
james/jspf/trunk/src/main/java/org/apache/james/jspf/policies/NeutralIfNotMatchPolicy.java
URL:
http://svn.apache.org/viewvc/james/jspf/trunk/src/main/java/org/apache/james/jspf/policies/NeutralIfNotMatchPolicy.java?view=diff&rev=529418&r1=529417&r2=529418
==============================================================================
---
james/jspf/trunk/src/main/java/org/apache/james/jspf/policies/NeutralIfNotMatchPolicy.java
(original)
+++
james/jspf/trunk/src/main/java/org/apache/james/jspf/policies/NeutralIfNotMatchPolicy.java
Mon Apr 16 15:06:24 2007
@@ -31,12 +31,12 @@
/**
* Sets the result to NEUTRAL if no directive is found
*/
-public class NeutralIfNotMatchPolicy extends AbstractNestedPolicy {
+public class NeutralIfNotMatchPolicy implements PolicyPostFilter {
/**
- * @see
org.apache.james.jspf.policies.AbstractNestedPolicy#getSPFRecordPostFilter(java.lang.String,
org.apache.james.jspf.core.SPF1Record)
+ * @see
org.apache.james.jspf.policies.PolicyPostFilter#getSPFRecord(java.lang.String,
org.apache.james.jspf.core.SPF1Record)
*/
- protected SPF1Record getSPFRecordPostFilter(String currentDomain,
SPF1Record spfRecord) throws PermErrorException, TempErrorException,
NoneException, NeutralException {
+ public SPF1Record getSPFRecord(String currentDomain, SPF1Record spfRecord)
throws PermErrorException, TempErrorException, NoneException, NeutralException {
if (spfRecord == null) return null;
// Set the result to NEUTRAL if at least a directive is present and it
didn't match
// Maybe we should simply append a "?all" at the end, as modifier
Modified:
james/jspf/trunk/src/main/java/org/apache/james/jspf/policies/NoSPFRecordFoundPolicy.java
URL:
http://svn.apache.org/viewvc/james/jspf/trunk/src/main/java/org/apache/james/jspf/policies/NoSPFRecordFoundPolicy.java?view=diff&rev=529418&r1=529417&r2=529418
==============================================================================
---
james/jspf/trunk/src/main/java/org/apache/james/jspf/policies/NoSPFRecordFoundPolicy.java
(original)
+++
james/jspf/trunk/src/main/java/org/apache/james/jspf/policies/NoSPFRecordFoundPolicy.java
Mon Apr 16 15:06:24 2007
@@ -28,11 +28,11 @@
/**
* Throws a NoneException if no record has been found
*/
-public class NoSPFRecordFoundPolicy extends AbstractNestedPolicy {
+public class NoSPFRecordFoundPolicy implements PolicyPostFilter {
/**
- * @see
org.apache.james.jspf.policies.AbstractNestedPolicy#getSPFRecordPostFilter(java.lang.String,
org.apache.james.jspf.core.SPF1Record)
+ * @see
org.apache.james.jspf.policies.PolicyPostFilter#getSPFRecord(java.lang.String,
org.apache.james.jspf.core.SPF1Record)
*/
- protected SPF1Record getSPFRecordPostFilter(String currentDomain,
SPF1Record res) throws PermErrorException, TempErrorException, NoneException,
NeutralException {
+ public SPF1Record getSPFRecord(String currentDomain, SPF1Record res)
throws PermErrorException, TempErrorException, NoneException, NeutralException {
if (res == null) {
throw new NoneException("No SPF record found for host: " +
currentDomain);
} else {
Modified:
james/jspf/trunk/src/main/java/org/apache/james/jspf/policies/ParseRecordPolicy.java
URL:
http://svn.apache.org/viewvc/james/jspf/trunk/src/main/java/org/apache/james/jspf/policies/ParseRecordPolicy.java?view=diff&rev=529418&r1=529417&r2=529418
==============================================================================
---
james/jspf/trunk/src/main/java/org/apache/james/jspf/policies/ParseRecordPolicy.java
(original)
+++
james/jspf/trunk/src/main/java/org/apache/james/jspf/policies/ParseRecordPolicy.java
Mon Apr 16 15:06:24 2007
@@ -28,7 +28,7 @@
/**
* Parse the record
*/
-public class ParseRecordPolicy extends AbstractNestedPolicy {
+public class ParseRecordPolicy implements PolicyPostFilter {
private SPFRecordParser parser;
@@ -37,9 +37,9 @@
}
/**
- * @see
org.apache.james.jspf.policies.AbstractNestedPolicy#getSPFRecordPostFilter(java.lang.String,
org.apache.james.jspf.core.SPF1Record)
+ * @see
org.apache.james.jspf.policies.PolicyPostFilter#getSPFRecord(java.lang.String,
org.apache.james.jspf.core.SPF1Record)
*/
- protected SPF1Record getSPFRecordPostFilter(String currentDomain,
SPF1Record spfRecord) throws PermErrorException, NoneException,
NeutralException {
+ public SPF1Record getSPFRecord(String currentDomain, SPF1Record spfRecord)
throws PermErrorException, NoneException, NeutralException {
if (spfRecord == null) return null;
// parse the record
return parser.parse(spfRecord.getRecord());
Added:
james/jspf/trunk/src/main/java/org/apache/james/jspf/policies/PolicyPostFilter.java
URL:
http://svn.apache.org/viewvc/james/jspf/trunk/src/main/java/org/apache/james/jspf/policies/PolicyPostFilter.java?view=auto&rev=529418
==============================================================================
---
james/jspf/trunk/src/main/java/org/apache/james/jspf/policies/PolicyPostFilter.java
(added)
+++
james/jspf/trunk/src/main/java/org/apache/james/jspf/policies/PolicyPostFilter.java
Mon Apr 16 15:06:24 2007
@@ -0,0 +1,49 @@
+/****************************************************************
+ * Licensed to the Apache Software Foundation (ASF) under one *
+ * or more contributor license agreements. See the NOTICE file *
+ * distributed with this work for additional information *
+ * regarding copyright ownership. The ASF licenses this file *
+ * to you under the Apache License, Version 2.0 (the *
+ * "License"); you may not use this file except in compliance *
+ * with the License. You may obtain a copy of the License at *
+ * *
+ * http://www.apache.org/licenses/LICENSE-2.0 *
+ * *
+ * Unless required by applicable law or agreed to in writing, *
+ * software distributed under the License is distributed on an *
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY *
+ * KIND, either express or implied. See the License for the *
+ * specific language governing permissions and limitations *
+ * under the License. *
+ ****************************************************************/
+
+package org.apache.james.jspf.policies;
+
+
+import org.apache.james.jspf.core.SPF1Record;
+import org.apache.james.jspf.exceptions.NeutralException;
+import org.apache.james.jspf.exceptions.NoneException;
+import org.apache.james.jspf.exceptions.PermErrorException;
+import org.apache.james.jspf.exceptions.TempErrorException;
+
+/**
+ * Return an spf record from a given domain.
+ */
+public interface PolicyPostFilter {
+
+ /**
+ * Filter or replace a record for the given domain
+ *
+ * @param currentDomain the domain to retrieve the SPFRecord for
+ * @params record the previous record
+ * @return the SPFRecord found
+ * @throws PermErrorException exception
+ * @throws TempErrorException exception
+ * @throws NoneException exception
+ * @throws NeutralException exception
+ */
+ public SPF1Record getSPFRecord(String currentDomain, SPF1Record record)
+ throws PermErrorException, TempErrorException, NoneException,
+ NeutralException;
+
+}
\ No newline at end of file
Modified:
james/jspf/trunk/src/main/java/org/apache/james/jspf/policies/SPFRetriever.java
URL:
http://svn.apache.org/viewvc/james/jspf/trunk/src/main/java/org/apache/james/jspf/policies/SPFRetriever.java?view=diff&rev=529418&r1=529417&r2=529418
==============================================================================
---
james/jspf/trunk/src/main/java/org/apache/james/jspf/policies/SPFRetriever.java
(original)
+++
james/jspf/trunk/src/main/java/org/apache/james/jspf/policies/SPFRetriever.java
Mon Apr 16 15:06:24 2007
@@ -14,7 +14,7 @@
/**
* Get the raw dns txt or spf entry which contains a spf entry
*/
-public class SPFRetriever extends AbstractNestedPolicy {
+public class SPFRetriever implements Policy {
/**
* dns service
*/
@@ -32,19 +32,9 @@
/**
- * @see
org.apache.james.jspf.policies.AbstractNestedPolicy#setChildPolicy(org.apache.james.jspf.policies.Policy)
+ * @see
org.apache.james.jspf.policies.Policy#getSPFRecord(java.lang.String)
*/
- public void setChildPolicy(Policy children) {
- if (children != null) {
- throw new IllegalStateException("Cannot set a child policy for
SPFRetriever");
- }
- }
-
-
- /**
- * @see
org.apache.james.jspf.policies.AbstractNestedPolicy#getSPFRecordOverride(java.lang.String)
- */
- protected SPF1Record getSPFRecordOverride(String currentDomain) throws
PermErrorException, TempErrorException, NoneException, NeutralException {
+ public SPF1Record getSPFRecord(String currentDomain) throws
PermErrorException, TempErrorException, NoneException, NeutralException {
// retrieve the SPFRecord
String spfDnsEntry = retrieveSpfRecord(currentDomain);
if (spfDnsEntry != null) {
Modified:
james/jspf/trunk/src/main/java/org/apache/james/jspf/policies/local/BestGuessPolicy.java
URL:
http://svn.apache.org/viewvc/james/jspf/trunk/src/main/java/org/apache/james/jspf/policies/local/BestGuessPolicy.java?view=diff&rev=529418&r1=529417&r2=529418
==============================================================================
---
james/jspf/trunk/src/main/java/org/apache/james/jspf/policies/local/BestGuessPolicy.java
(original)
+++
james/jspf/trunk/src/main/java/org/apache/james/jspf/policies/local/BestGuessPolicy.java
Mon Apr 16 15:06:24 2007
@@ -25,19 +25,21 @@
import org.apache.james.jspf.exceptions.NoneException;
import org.apache.james.jspf.exceptions.PermErrorException;
import org.apache.james.jspf.exceptions.TempErrorException;
-import org.apache.james.jspf.policies.AbstractNestedPolicy;
+import org.apache.james.jspf.policies.PolicyPostFilter;
-public class BestGuessPolicy extends AbstractNestedPolicy {
+public class BestGuessPolicy implements PolicyPostFilter {
/**
- * @see
org.apache.james.jspf.policies.AbstractNestedPolicy#getSPFRecordPostFilter(java.lang.String,
org.apache.james.jspf.core.SPF1Record)
+ * @see
org.apache.james.jspf.policies.PolicyPostFilter#getSPFRecord(java.lang.String,
org.apache.james.jspf.core.SPF1Record)
*/
- protected SPF1Record getSPFRecordPostFilter(String currentDomain,
SPF1Record res) throws PermErrorException, TempErrorException, NoneException,
NeutralException {
- if (res == null) {
+ public SPF1Record getSPFRecord(String currentDomain, SPF1Record record)
+ throws PermErrorException, TempErrorException, NoneException,
+ NeutralException {
+ if (record == null) {
// We should use bestguess
return new SPF1Record(SPF1Utils.BEST_GUESS_RECORD);
} else {
- return res;
+ return record;
}
}
}
Modified:
james/jspf/trunk/src/main/java/org/apache/james/jspf/policies/local/DefaultExplanationPolicy.java
URL:
http://svn.apache.org/viewvc/james/jspf/trunk/src/main/java/org/apache/james/jspf/policies/local/DefaultExplanationPolicy.java?view=diff&rev=529418&r1=529417&r2=529418
==============================================================================
---
james/jspf/trunk/src/main/java/org/apache/james/jspf/policies/local/DefaultExplanationPolicy.java
(original)
+++
james/jspf/trunk/src/main/java/org/apache/james/jspf/policies/local/DefaultExplanationPolicy.java
Mon Apr 16 15:06:24 2007
@@ -30,12 +30,12 @@
import org.apache.james.jspf.exceptions.PermErrorException;
import org.apache.james.jspf.exceptions.TempErrorException;
import org.apache.james.jspf.macro.MacroExpand;
-import org.apache.james.jspf.policies.AbstractNestedPolicy;
+import org.apache.james.jspf.policies.PolicyPostFilter;
/**
* Policy to add a default explanation
*/
-public final class DefaultExplanationPolicy extends AbstractNestedPolicy {
+public final class DefaultExplanationPolicy implements PolicyPostFilter {
/**
* log
*/
@@ -58,9 +58,9 @@
}
/**
- * @see
org.apache.james.jspf.policies.AbstractNestedPolicy#getSPFRecordPostFilter(java.lang.String,
org.apache.james.jspf.core.SPF1Record)
+ * @see
org.apache.james.jspf.policies.PolicyPostFilter#getSPFRecord(java.lang.String,
org.apache.james.jspf.core.SPF1Record)
*/
- protected SPF1Record getSPFRecordPostFilter(String currentDomain,
SPF1Record spfRecord) throws PermErrorException, TempErrorException,
NoneException, NeutralException {
+ public SPF1Record getSPFRecord(String currentDomain, SPF1Record spfRecord)
throws PermErrorException, TempErrorException, NoneException, NeutralException {
if (spfRecord == null) return null;
// Default explanation policy.
spfRecord.getModifiers().add(new SPFChecker() {
Modified:
james/jspf/trunk/src/main/java/org/apache/james/jspf/policies/local/FallbackPolicy.java
URL:
http://svn.apache.org/viewvc/james/jspf/trunk/src/main/java/org/apache/james/jspf/policies/local/FallbackPolicy.java?view=diff&rev=529418&r1=529417&r2=529418
==============================================================================
---
james/jspf/trunk/src/main/java/org/apache/james/jspf/policies/local/FallbackPolicy.java
(original)
+++
james/jspf/trunk/src/main/java/org/apache/james/jspf/policies/local/FallbackPolicy.java
Mon Apr 16 15:06:24 2007
@@ -19,11 +19,6 @@
package org.apache.james.jspf.policies.local;
-import java.util.Collections;
-import java.util.HashMap;
-import java.util.Iterator;
-import java.util.Map;
-
import org.apache.james.jspf.core.Logger;
import org.apache.james.jspf.core.SPF1Record;
import org.apache.james.jspf.core.SPFRecordParser;
@@ -32,12 +27,17 @@
import org.apache.james.jspf.exceptions.PermErrorException;
import org.apache.james.jspf.exceptions.SPFResultException;
import org.apache.james.jspf.exceptions.TempErrorException;
-import org.apache.james.jspf.policies.AbstractNestedPolicy;
+import org.apache.james.jspf.policies.PolicyPostFilter;
+
+import java.util.Collections;
+import java.util.HashMap;
+import java.util.Iterator;
+import java.util.Map;
/**
* Class to support Fallback feature
*/
-public class FallbackPolicy extends AbstractNestedPolicy {
+public class FallbackPolicy implements PolicyPostFilter {
private Map entryMap;
@@ -113,9 +113,9 @@
}
/**
- * @see
org.apache.james.jspf.policies.AbstractNestedPolicy#getSPFRecordPostFilter(java.lang.String,
org.apache.james.jspf.core.SPF1Record)
+ * @see
org.apache.james.jspf.policies.PolicyPostFilter#getSPFRecord(java.lang.String,
org.apache.james.jspf.core.SPF1Record)
*/
- protected SPF1Record getSPFRecordPostFilter(String currentDomain,
SPF1Record res) throws PermErrorException, TempErrorException, NoneException,
NeutralException {
+ public SPF1Record getSPFRecord(String currentDomain, SPF1Record res)
throws PermErrorException, TempErrorException, NoneException, NeutralException {
if (res == null) {
return getMySPFRecord(currentDomain);
} else {
Modified:
james/jspf/trunk/src/main/java/org/apache/james/jspf/policies/local/OverridePolicy.java
URL:
http://svn.apache.org/viewvc/james/jspf/trunk/src/main/java/org/apache/james/jspf/policies/local/OverridePolicy.java?view=diff&rev=529418&r1=529417&r2=529418
==============================================================================
---
james/jspf/trunk/src/main/java/org/apache/james/jspf/policies/local/OverridePolicy.java
(original)
+++
james/jspf/trunk/src/main/java/org/apache/james/jspf/policies/local/OverridePolicy.java
Mon Apr 16 15:06:24 2007
@@ -26,8 +26,9 @@
import org.apache.james.jspf.exceptions.NoneException;
import org.apache.james.jspf.exceptions.PermErrorException;
import org.apache.james.jspf.exceptions.TempErrorException;
+import org.apache.james.jspf.policies.Policy;
-public class OverridePolicy extends FallbackPolicy {
+public class OverridePolicy extends FallbackPolicy implements Policy {
public OverridePolicy(Logger log, SPFRecordParser parser) {
super(log, parser);
@@ -35,17 +36,12 @@
/**
- * @see
org.apache.james.jspf.policies.AbstractNestedPolicy#getSPFRecordPostFilter(java.lang.String,
org.apache.james.jspf.core.SPF1Record)
+ * @see
org.apache.james.jspf.policies.Policy#getSPFRecord(java.lang.String)
*/
- protected SPF1Record getSPFRecordPostFilter(String currentDomain,
SPF1Record res) throws PermErrorException, TempErrorException, NoneException,
NeutralException {
- return res;
- }
-
- /**
- * @see
org.apache.james.jspf.policies.AbstractNestedPolicy#getSPFRecordOverride(java.lang.String)
- */
- public SPF1Record getSPFRecordOverride(String host) {
- return getMySPFRecord(host);
+ public SPF1Record getSPFRecord(String currentDomain)
+ throws PermErrorException, TempErrorException, NoneException,
+ NeutralException {
+ return getMySPFRecord(currentDomain);
}
}
Modified:
james/jspf/trunk/src/main/java/org/apache/james/jspf/policies/local/TrustedForwarderPolicy.java
URL:
http://svn.apache.org/viewvc/james/jspf/trunk/src/main/java/org/apache/james/jspf/policies/local/TrustedForwarderPolicy.java?view=diff&rev=529418&r1=529417&r2=529418
==============================================================================
---
james/jspf/trunk/src/main/java/org/apache/james/jspf/policies/local/TrustedForwarderPolicy.java
(original)
+++
james/jspf/trunk/src/main/java/org/apache/james/jspf/policies/local/TrustedForwarderPolicy.java
Mon Apr 16 15:06:24 2007
@@ -26,10 +26,10 @@
import org.apache.james.jspf.exceptions.NoneException;
import org.apache.james.jspf.exceptions.PermErrorException;
import org.apache.james.jspf.exceptions.TempErrorException;
-import org.apache.james.jspf.policies.AbstractNestedPolicy;
+import org.apache.james.jspf.policies.PolicyPostFilter;
import org.apache.james.jspf.terms.IncludeMechanism;
-public class TrustedForwarderPolicy extends AbstractNestedPolicy {
+public class TrustedForwarderPolicy implements PolicyPostFilter {
/**
* The hostname to include
@@ -46,7 +46,10 @@
this.log = log;
}
- protected SPF1Record getSPFRecordPostFilter(String currentDomain,
SPF1Record spfRecord) throws PermErrorException, TempErrorException,
NoneException, NeutralException {
+ /**
+ * @see
org.apache.james.jspf.policies.PolicyPostFilter#getSPFRecord(java.lang.String,
org.apache.james.jspf.core.SPF1Record)
+ */
+ public SPF1Record getSPFRecord(String currentDomain, SPF1Record spfRecord)
throws PermErrorException, TempErrorException, NoneException, NeutralException {
if (spfRecord == null) return null;
String mechanism = ((Directive)
spfRecord.getDirectives().get(spfRecord.getDirectives().size())).toString();
if (mechanism.equals("-all") || mechanism.equals("?all")) {
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]