You are viewing a plain text version of this content. The canonical link for it is here.
Posted to server-dev@james.apache.org by no...@apache.org on 2006/09/24 19:34:53 UTC
svn commit: r449441 -
/james/jspf/trunk/src/main/java/org/apache/james/jspf/SPF.java
Author: norman
Date: Sun Sep 24 10:34:52 2006
New Revision: 449441
URL: http://svn.apache.org/viewvc?view=rev&rev=449441
Log:
Allow the user to set a default explanation. See JSPF-28
Modified:
james/jspf/trunk/src/main/java/org/apache/james/jspf/SPF.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=449441&r1=449440&r2=449441
==============================================================================
--- 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 Sun Sep 24 10:34:52 2006
@@ -48,6 +48,8 @@
private SPF1Parser parser;
private Logger log;
+
+ private String defaultExplanation = null;
/**
* Uses default Log4JLogger and DNSJava based dns resolver
@@ -242,12 +244,24 @@
if (result.equals(SPF1Constants.FAIL)) {
if (spfData.getExplanation()==null || spfData.getExplanation().equals("")) {
- try {
- spfData.setExplanation(new MacroExpand(spfData, log)
- .expandExplanation(SPF1Utils.DEFAULT_EXPLANATION));
- } catch (PermErrorException e) {}
+ if(defaultExplanation == null) {
+ try {
+ spfData.setExplanation(new MacroExpand(spfData, log)
+ .expandExplanation(SPF1Utils.DEFAULT_EXPLANATION));
+ } catch (PermErrorException e) {
+ // Should never happen !
+ log.debug("Invalid defaulfExplanation: " + SPF1Utils.DEFAULT_EXPLANATION);
+ }
+ } else {
+ try {
+ spfData.setExplanation(new MacroExpand(spfData, log)
+ .expandExplanation(defaultExplanation));
+ } catch (PermErrorException e) {
+ log.error("Invalid defaultExplanation: " + defaultExplanation);
+ }
+ }
+ explanation = spfData.getExplanation();
}
- explanation = spfData.getExplanation();
}
return new SPFInternalResult(result, explanation);
@@ -262,5 +276,14 @@
public synchronized void setTimeOut(int timeOut) {
log.debug("TimeOut was set to: " + timeOut);
dnsProbe.setTimeOut(timeOut);
+ }
+
+ /**
+ * Set the default explanation which will be used if no explanation is found in the SPF Record
+ *
+ * @param defaultExplanation The explanation to use if no explanation is found in the SPF Record
+ */
+ public synchronized void setDefaultExplanation(String defaultExplanation) {
+ this.defaultExplanation = defaultExplanation;
}
}
---------------------------------------------------------------------
To unsubscribe, e-mail: server-dev-unsubscribe@james.apache.org
For additional commands, e-mail: server-dev-help@james.apache.org