Author: norman Date: Mon Sep 25 09:03:53 2006 New Revision: 449712 URL: http://svn.apache.org/viewvc?view=rev&rev=449712 Log: Add option to use best guess from commandline. See JSPF-24
Modified: james/jspf/trunk/src/main/java/org/apache/james/jspf/SPFQuery.java Modified: james/jspf/trunk/src/main/java/org/apache/james/jspf/SPFQuery.java URL: http://svn.apache.org/viewvc/james/jspf/trunk/src/main/java/org/apache/james/jspf/SPFQuery.java?view=diff&rev=449712&r1=449711&r2=449712 ============================================================================== --- james/jspf/trunk/src/main/java/org/apache/james/jspf/SPFQuery.java (original) +++ james/jspf/trunk/src/main/java/org/apache/james/jspf/SPFQuery.java Mon Sep 25 09:03:53 2006 @@ -58,6 +58,8 @@ private final static String CMD_VERBOSE = "-verbose"; private final static String CMD_DEFAULT_EXP = "-default-explanation"; + + private final static String CMD_BEST_GUESS = "-use-best-guess"; private static Logger logger = Logger.getRootLogger(); @@ -70,7 +72,8 @@ String ip = null; String sender = null; String helo = null; - String defaultExplanation = null; + String defaultExplanation = null; + boolean useBestGuess = false; SimpleLayout layout = new SimpleLayout(); ConsoleAppender consoleAppender = new ConsoleAppender(layout); @@ -85,7 +88,7 @@ for (int i = 0; i < args.length; i++) { String[] arguments = args[i].split("="); - if (arguments == null || arguments.length != 2) usage(); + if (arguments == null || (arguments.length > 2 && (arguments[0] != CMD_DEBUG) && arguments[0] != CMD_VERBOSE)) usage(); if (arguments[0].equals(CMD_IP)) { ip = arguments[1]; @@ -98,7 +101,9 @@ } else if (arguments[0].equals(CMD_VERBOSE)) { logger.setLevel(Level.TRACE); } else if (arguments[0].equals(CMD_DEFAULT_EXP)) { - defaultExplanation = arguments[1]; + defaultExplanation = arguments[1]; + } else if (arguments[0].equals(CMD_BEST_GUESS)) { + useBestGuess = Boolean.valueOf(arguments[1]).booleanValue(); } else { usage(); } @@ -114,6 +119,11 @@ if (defaultExplanation != null) { spf.setDefaultExplanation(defaultExplanation); } + + // Check if we should use best guess + if (useBestGuess == true) { + spf.setUseBestGuess(true); + } SPFResult result = spf.checkSPF(ip, sender, helo); System.out.println(result.getResult()); @@ -131,7 +141,7 @@ */ private static void usage() { System.out.println("Usage: java -jar jspf-x.jar " + CMD_IP + "=192.168.100.1 " + CMD_SENDER + "[EMAIL PROTECTED] " - + CMD_HELO + "=foo.bar [" + CMD_DEBUG + "] [" + CMD_VERBOSE+ "]"); + + CMD_HELO + "=foo.bar [" + CMD_DEFAULT_EXP+ "=\"explanation String\"] [" +CMD_BEST_GUESS+ "=true|false] "+ CMD_DEBUG + "] [" + CMD_VERBOSE+ "]"); System.exit(UNKNOWN_RCODE); } --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]