1 21 package org.jsmtpd.core.receive; 22 23 import java.net.InetAddress ; 24 import java.util.Iterator ; 25 import java.util.LinkedList ; 26 import java.util.List ; 27 28 import org.apache.commons.logging.Log; 29 import org.apache.commons.logging.LogFactory; 30 import org.jsmtpd.core.common.PluginStore; 31 import org.jsmtpd.core.common.inputIPFilter.IFilterIP; 32 33 34 public class InputIPFilterChecker { 35 private List ipFilters=new LinkedList (); 36 private Log log = LogFactory.getLog(InputIPFilterChecker.class); 37 public InputIPFilterChecker (){ 38 ipFilters=PluginStore.getInstance().getInputIPFilters(); 39 } 40 41 public boolean checkIPAgainstFilters (InetAddress toCheck) { 42 for (Iterator iter = ipFilters.iterator(); iter.hasNext();) { 43 IFilterIP element = (IFilterIP) iter.next(); 44 if (!element.checkIP(toCheck)) { 45 log.warn("Client ip " + toCheck.getHostAddress() + " is blacklisted by " + element.getPluginName() + ", closing connection"); 46 return false; 47 } 48 } 49 return true; 50 } 51 } 52 | Popular Tags |