Hi guys, what you guys think about the current code ? Should i continue this way ? Or should i revert the last changes ? IMHO its a god step to add the Abstractclasses to make it more API like..
Bye Norman Am Mittwoch, den 05.07.2006, 13:56 +0000 schrieb [EMAIL PROTECTED]: > Author: norman > Date: Wed Jul 5 06:56:02 2006 > New Revision: 419230 > > URL: http://svn.apache.org/viewvc?rev=419230&view=rev > Log: > Replace ConntectHandler and MessageHandler with abstract classes. > Move basic code from AbstractCommandHandler to AbstractGeneralHandler > > Added: > > james/server/sandbox/handlerapi/src/java/org/apache/james/smtpserver/AbstractConnectHandler.java > > james/server/sandbox/handlerapi/src/java/org/apache/james/smtpserver/AbstractGeneralHandler.java > > james/server/sandbox/handlerapi/src/java/org/apache/james/smtpserver/AbstractMessageHandler.java > Removed: > > james/server/sandbox/handlerapi/src/java/org/apache/james/smtpserver/ConnectHandler.java > > james/server/sandbox/handlerapi/src/java/org/apache/james/smtpserver/MessageHandler.java > Modified: > > james/server/sandbox/handlerapi/src/java/org/apache/james/smtpserver/AbstractCommandHandler.java > > james/server/sandbox/handlerapi/src/java/org/apache/james/smtpserver/DNSRBLHandler.java > > james/server/sandbox/handlerapi/src/java/org/apache/james/smtpserver/SMTPHandler.java > > james/server/sandbox/handlerapi/src/java/org/apache/james/smtpserver/SMTPHandlerChain.java > > james/server/sandbox/handlerapi/src/java/org/apache/james/smtpserver/SendMailHandler.java > > james/server/sandbox/handlerapi/src/java/org/apache/james/smtpserver/SetMimeHeaderHandler.java > > james/server/sandbox/handlerapi/src/java/org/apache/james/smtpserver/fastfailfilter/ResolvableEhloHeloHandler.java > > james/server/sandbox/handlerapi/src/java/org/apache/james/smtpserver/fastfailfilter/ReverseEqualsEhloHeloHandler.java > > james/server/sandbox/handlerapi/src/java/org/apache/james/smtpserver/fastfailfilter/TarpitHandler.java > > james/server/sandbox/handlerapi/src/java/org/apache/james/smtpserver/fastfailfilter/ValidSenderDomainHandler.java > > Modified: > james/server/sandbox/handlerapi/src/java/org/apache/james/smtpserver/AbstractCommandHandler.java > URL: > http://svn.apache.org/viewvc/james/server/sandbox/handlerapi/src/java/org/apache/james/smtpserver/AbstractCommandHandler.java?rev=419230&r1=419229&r2=419230&view=diff > ============================================================================== > --- > james/server/sandbox/handlerapi/src/java/org/apache/james/smtpserver/AbstractCommandHandler.java > (original) > +++ > james/server/sandbox/handlerapi/src/java/org/apache/james/smtpserver/AbstractCommandHandler.java > Wed Jul 5 06:56:02 2006 > @@ -19,38 +19,14 @@ > > import java.util.List; > > -import org.apache.avalon.framework.logger.AbstractLogEnabled; > - > /** > * Custom CommandHandlers must extend this class. > */ > -public abstract class AbstractCommandHandler extends AbstractLogEnabled { > +public abstract class AbstractCommandHandler extends AbstractGeneralHandler { > > /** > - * If set to true all handler processing is stopped (fastfail) > - */ > - private boolean stopHandlerProcessing = false; > - > - > - /** > - * Method to set if a after the handler no other command handlers should > processed > - * @param stopHandlerProcessing true or false > - */ > - public void setStopHandlerProcessing(boolean stopHandlerProcessing) { > - this.stopHandlerProcessing = stopHandlerProcessing; > - } > - > - /** > - * Return if the processing of other commandHandlers should be done > - * @return true or false > - */ > - public boolean stopHandlerProcessing() { > - return stopHandlerProcessing; > - } > - > - /** > * Handle the command > - **/ > + **/ > public abstract void onCommand(SMTPSession session); > > /** > @@ -59,5 +35,5 @@ > * @return List which contains implemented commands > */ > public abstract List getImplCommands(); > - > + > } > > Added: > james/server/sandbox/handlerapi/src/java/org/apache/james/smtpserver/AbstractConnectHandler.java > URL: > http://svn.apache.org/viewvc/james/server/sandbox/handlerapi/src/java/org/apache/james/smtpserver/AbstractConnectHandler.java?rev=419230&view=auto > ============================================================================== > --- > james/server/sandbox/handlerapi/src/java/org/apache/james/smtpserver/AbstractConnectHandler.java > (added) > +++ > james/server/sandbox/handlerapi/src/java/org/apache/james/smtpserver/AbstractConnectHandler.java > Wed Jul 5 06:56:02 2006 > @@ -0,0 +1,33 @@ > +/*********************************************************************** > + * Copyright (c) 1999-2006 The Apache Software Foundation. * > + * All rights reserved. * > + * ------------------------------------------------------------------- * > + * Licensed 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.smtpserver; > + > +/** > + * Custom connect handlers must extend this class > + * The connect handlers will be server-wide common to all the SMTPHandlers, > + * therefore the handlers must store all the state information > + * in the SMTPSession object > + */ > +public abstract class AbstractConnectHandler extends AbstractGeneralHandler{ > + > + /** > + * Handle connection > + **/ > + public abstract void onConnect(SMTPSession session); > + > +} > > Added: > james/server/sandbox/handlerapi/src/java/org/apache/james/smtpserver/AbstractGeneralHandler.java > URL: > http://svn.apache.org/viewvc/james/server/sandbox/handlerapi/src/java/org/apache/james/smtpserver/AbstractGeneralHandler.java?rev=419230&view=auto > ============================================================================== > --- > james/server/sandbox/handlerapi/src/java/org/apache/james/smtpserver/AbstractGeneralHandler.java > (added) > +++ > james/server/sandbox/handlerapi/src/java/org/apache/james/smtpserver/AbstractGeneralHandler.java > Wed Jul 5 06:56:02 2006 > @@ -0,0 +1,132 @@ > +/*********************************************************************** > + * Copyright (c) 1999-2006 The Apache Software Foundation. * > + * All rights reserved. * > + * ------------------------------------------------------------------- * > + * Licensed 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.smtpserver; > + > +import java.util.List; > + > +import org.apache.avalon.cornerstone.services.datasources.DataSourceSelector; > +import org.apache.avalon.framework.activity.Initializable; > +import org.apache.avalon.framework.configuration.Configurable; > +import org.apache.avalon.framework.configuration.Configuration; > +import org.apache.avalon.framework.configuration.ConfigurationException; > +import org.apache.avalon.framework.context.Context; > +import org.apache.avalon.framework.context.ContextException; > +import org.apache.avalon.framework.context.Contextualizable; > +import org.apache.avalon.framework.logger.AbstractLogEnabled; > +import org.apache.avalon.framework.service.ServiceException; > +import org.apache.avalon.framework.service.ServiceManager; > +import org.apache.avalon.framework.service.Serviceable; > +import org.apache.james.services.DNSServer; > + > +/** > + * Custom CommandHandlers must extend this class. > + */ > +public abstract class AbstractGeneralHandler extends AbstractLogEnabled > implements Configurable,Serviceable,Initializable{ > + > + /** > + * If set to true all handler processing is stopped (fastfail) > + */ > + private boolean stopHandlerProcessing = false; > + > + private DataSourceSelector dataSource; > + > + private DNSServer dnsServer; > + > + /** > + * Method to set if a after the handler no other command handlers should > + * processed > + * > + * @param stopHandlerProcessing > + * true or false > + */ > + public void setStopHandlerProcessing(boolean stopHandlerProcessing) { > + this.stopHandlerProcessing = stopHandlerProcessing; > + } > + > + /** > + * Return if the processing of other commandHandlers should be done > + * > + * @return true or false > + */ > + public boolean stopHandlerProcessing() { > + return stopHandlerProcessing; > + } > + > + /** > + * @see > org.apache.avalon.framework.configuration.Configurable#configure(Configuration) > + */ > + public void configure(Configuration handlerConfiguration) > + throws ConfigurationException { > + } > + > + /** > + * @see org.apache.avalon.framework.activity.Initializable#initialize() > + */ > + public void initialize() throws Exception { > + // only for overriding > + } > + > + /** > + * @see > org.apache.avalon.framework.service.Serviceable#service(org.apache.avalon.framework.service.ServiceManager) > + */ > + public void service(ServiceManager serviceMan) throws ServiceException { > + setDataSourceSelector((DataSourceSelector) serviceMan > + .lookup(DataSourceSelector.ROLE)); > + > + setDnsServer((DNSServer) serviceMan.lookup(DNSServer.ROLE)); > + } > + > + /** > + * Set the DNSServer > + * > + * @param dnsServer > + * The DNSServer > + */ > + public void setDnsServer(DNSServer dnsServer) { > + this.dnsServer = dnsServer; > + } > + > + /** > + * Return the DnsServer > + * > + * @return DNSServer > + */ > + public DNSServer getDnsServer() { > + return dnsServer; > + } > + > + /** > + * Set the datasource > + * > + * @param datasource > + * the datasource > + */ > + public void setDataSourceSelector(DataSourceSelector dataSource) { > + > + this.dataSource = dataSource; > + } > + > + /** > + * Return the DataSourceSelector > + * > + * @return DataSourceSelector > + */ > + public DataSourceSelector getDataSourceSelector() { > + return dataSource; > + } > +} > > Added: > james/server/sandbox/handlerapi/src/java/org/apache/james/smtpserver/AbstractMessageHandler.java > URL: > http://svn.apache.org/viewvc/james/server/sandbox/handlerapi/src/java/org/apache/james/smtpserver/AbstractMessageHandler.java?rev=419230&view=auto > ============================================================================== > --- > james/server/sandbox/handlerapi/src/java/org/apache/james/smtpserver/AbstractMessageHandler.java > (added) > +++ > james/server/sandbox/handlerapi/src/java/org/apache/james/smtpserver/AbstractMessageHandler.java > Wed Jul 5 06:56:02 2006 > @@ -0,0 +1,33 @@ > +/*********************************************************************** > + * Copyright (c) 1999-2006 The Apache Software Foundation. * > + * All rights reserved. * > + * ------------------------------------------------------------------- * > + * Licensed 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.smtpserver; > + > +/** > + * Custom message handlers must extend this class. > + * The message handlers will be server-wide common to all the SMTPHandlers, > + * therefore the handlers must store all the state information > + * in the SMTPSession object > + */ > +public abstract class AbstractMessageHandler extends AbstractGeneralHandler { > + > + /** > + * Handle Message > + **/ > + public abstract void onMessage(SMTPSession session); > + > +} > > Modified: > james/server/sandbox/handlerapi/src/java/org/apache/james/smtpserver/DNSRBLHandler.java > URL: > http://svn.apache.org/viewvc/james/server/sandbox/handlerapi/src/java/org/apache/james/smtpserver/DNSRBLHandler.java?rev=419230&r1=419229&r2=419230&view=diff > ============================================================================== > --- > james/server/sandbox/handlerapi/src/java/org/apache/james/smtpserver/DNSRBLHandler.java > (original) > +++ > james/server/sandbox/handlerapi/src/java/org/apache/james/smtpserver/DNSRBLHandler.java > Wed Jul 5 06:56:02 2006 > @@ -17,33 +17,25 @@ > > package org.apache.james.smtpserver; > > -import org.apache.avalon.framework.logger.AbstractLogEnabled; > -import org.apache.avalon.framework.service.ServiceException; > -import org.apache.avalon.framework.service.ServiceManager; > -import org.apache.avalon.framework.service.Serviceable; > -import org.apache.avalon.framework.configuration.Configuration; > -import org.apache.avalon.framework.configuration.Configurable; > -import org.apache.avalon.framework.configuration.ConfigurationException; > -import org.apache.james.services.DNSServer; > - > +import java.net.Socket; > import java.util.ArrayList; > import java.util.Collection; > import java.util.StringTokenizer; > > +import org.apache.avalon.framework.configuration.Configuration; > +import org.apache.avalon.framework.configuration.ConfigurationException; > + > /** > * Connect handler for DNSRBL processing > */ > public class DNSRBLHandler > - extends AbstractLogEnabled > - implements ConnectHandler, Configurable, Serviceable { > + extends AbstractConnectHandler { > /** > * The lists of rbl servers to be checked to limit spam > */ > private String[] whitelist; > private String[] blacklist; > > - private DNSServer dnsServer = null; > - > private boolean getDetail = false; > > /** > @@ -91,12 +83,6 @@ > > } > > - /** > - * @see > org.apache.avalon.framework.service.Serviceable#service(ServiceManager) > - */ > - public void service(ServiceManager serviceMan) throws ServiceException { > - setDNSServer((DNSServer) serviceMan.lookup(DNSServer.ROLE)); > - } > > /* > * check if the remote Ip address is block listed > @@ -126,14 +112,6 @@ > this.blacklist = blacklist; > } > > - /** > - * Set the DNSServer > - * > - * @param dnsServer The DNSServer > - */ > - public void setDNSServer(DNSServer dnsServer) { > - this.dnsServer = dnsServer; > - } > > /** > * Set for try to get a TXT record for the blocked record. > @@ -176,7 +154,7 @@ > if (whitelist != null) { > String[] rblList = whitelist; > for (int i = 0 ; i < rblList.length ; i++) try { > - dnsServer.getByName(reversedOctets + rblList[i]); > + getDnsServer().getByName(reversedOctets + rblList[i]); > if (getLogger().isInfoEnabled()) { > getLogger().info("Connection from " + ipAddress + " > whitelisted by " + rblList[i]); > } > @@ -191,14 +169,14 @@ > if (blacklist != null) { > String[] rblList = blacklist; > for (int i = 0 ; i < rblList.length ; i++) try { > - dnsServer.getByName(reversedOctets + rblList[i]); > + getDnsServer().getByName(reversedOctets + rblList[i]); > if (getLogger().isInfoEnabled()) { > getLogger().info("Connection from " + ipAddress + " > restricted by " + rblList[i] + " to SMTP AUTH/postmaster/abuse."); > } > > // we should try to retrieve details > if (getDetail) { > - Collection txt = > dnsServer.findTXTRecords(reversedOctets + rblList[i]); > + Collection txt = > getDnsServer().findTXTRecords(reversedOctets + rblList[i]); > > // Check if we found a txt record > if (!txt.isEmpty()) { > > Modified: > james/server/sandbox/handlerapi/src/java/org/apache/james/smtpserver/SMTPHandler.java > URL: > http://svn.apache.org/viewvc/james/server/sandbox/handlerapi/src/java/org/apache/james/smtpserver/SMTPHandler.java?rev=419230&r1=419229&r2=419230&view=diff > ============================================================================== > --- > james/server/sandbox/handlerapi/src/java/org/apache/james/smtpserver/SMTPHandler.java > (original) > +++ > james/server/sandbox/handlerapi/src/java/org/apache/james/smtpserver/SMTPHandler.java > Wed Jul 5 06:56:02 2006 > @@ -232,8 +232,12 @@ > if(connectHandlers != null) { > int count = connectHandlers.size(); > for(int i = 0; i < count; i++) { > - ((ConnectHandler)connectHandlers.get(i)).onConnect(this); > - if(sessionEnded) { > + AbstractConnectHandler aHandler = > (AbstractConnectHandler)connectHandlers.get(i); > + aHandler.setStopHandlerProcessing(false); > + aHandler.onConnect(this); > + boolean stopHandlerProcessing = > aHandler.stopHandlerProcessing(); > + > + if(sessionEnded || stopHandlerProcessing) { > break; > } > } > @@ -289,9 +293,13 @@ > List messageHandlers = handlerChain.getMessageHandlers(); > int count = messageHandlers.size(); > for(int i =0; i < count; i++) { > - ((MessageHandler)messageHandlers.get(i)).onMessage(this); > + AbstractMessageHandler aHandler = > (AbstractMessageHandler)messageHandlers.get(i); > + aHandler.setStopHandlerProcessing(false); > + aHandler.onMessage(this); > + boolean stopHandlerProcessing = > aHandler.stopHandlerProcessing(); > + > //if the response is received, stop processing of command > handlers > - if(mode == MESSAGE_ABORT_MODE) { > + if(mode == MESSAGE_ABORT_MODE || stopHandlerProcessing) { > break; > } > } > > Modified: > james/server/sandbox/handlerapi/src/java/org/apache/james/smtpserver/SMTPHandlerChain.java > URL: > http://svn.apache.org/viewvc/james/server/sandbox/handlerapi/src/java/org/apache/james/smtpserver/SMTPHandlerChain.java?rev=419230&r1=419229&r2=419230&view=diff > ============================================================================== > --- > james/server/sandbox/handlerapi/src/java/org/apache/james/smtpserver/SMTPHandlerChain.java > (original) > +++ > james/server/sandbox/handlerapi/src/java/org/apache/james/smtpserver/SMTPHandlerChain.java > Wed Jul 5 06:56:02 2006 > @@ -212,8 +212,8 @@ > ContainerUtil.configure(handler, config); > > // if it is a connect handler add it to list of connect handlers > - if (handler instanceof ConnectHandler) { > - connectHandlers.add((ConnectHandler) handler); > + if (handler instanceof AbstractConnectHandler) { > + connectHandlers.add((AbstractConnectHandler) handler); > if (getLogger().isInfoEnabled()) { > getLogger().info("Added ConnectHandler: " + className); > } > @@ -269,8 +269,8 @@ > } > > // if it is a message handler add it to list of message handlers > - if (handler instanceof MessageHandler) { > - messageHandlers.add((MessageHandler) handler); > + if (handler instanceof AbstractMessageHandler) { > + messageHandlers.add((AbstractMessageHandler) handler); > if (getLogger().isInfoEnabled()) { > getLogger().info("Added MessageHandler: " + className); > } > > Modified: > james/server/sandbox/handlerapi/src/java/org/apache/james/smtpserver/SendMailHandler.java > URL: > http://svn.apache.org/viewvc/james/server/sandbox/handlerapi/src/java/org/apache/james/smtpserver/SendMailHandler.java?rev=419230&r1=419229&r2=419230&view=diff > ============================================================================== > --- > james/server/sandbox/handlerapi/src/java/org/apache/james/smtpserver/SendMailHandler.java > (original) > +++ > james/server/sandbox/handlerapi/src/java/org/apache/james/smtpserver/SendMailHandler.java > Wed Jul 5 06:56:02 2006 > @@ -34,8 +34,7 @@ > * Adds the header to the message > */ > public class SendMailHandler > - extends AbstractLogEnabled > - implements MessageHandler, Serviceable { > + extends AbstractMessageHandler { > > private MailServer mailServer; > > @@ -43,6 +42,8 @@ > * @see > org.apache.avalon.framework.service.Serviceable#service(org.apache.avalon.framework.service.ServiceManager) > */ > public void service(ServiceManager serviceManager) throws > ServiceException { > + > + //TODO: Maybe we should move this to AbstractGeneralHandler > mailServer = (MailServer) serviceManager.lookup(MailServer.ROLE); > } > > > Modified: > james/server/sandbox/handlerapi/src/java/org/apache/james/smtpserver/SetMimeHeaderHandler.java > URL: > http://svn.apache.org/viewvc/james/server/sandbox/handlerapi/src/java/org/apache/james/smtpserver/SetMimeHeaderHandler.java?rev=419230&r1=419229&r2=419230&view=diff > ============================================================================== > --- > james/server/sandbox/handlerapi/src/java/org/apache/james/smtpserver/SetMimeHeaderHandler.java > (original) > +++ > james/server/sandbox/handlerapi/src/java/org/apache/james/smtpserver/SetMimeHeaderHandler.java > Wed Jul 5 06:56:02 2006 > @@ -28,8 +28,7 @@ > * Adds the header to the message > */ > public class SetMimeHeaderHandler > - extends AbstractLogEnabled > - implements MessageHandler, Configurable { > + extends AbstractMessageHandler { > > /** > * The header name and value that needs to be added > > Modified: > james/server/sandbox/handlerapi/src/java/org/apache/james/smtpserver/fastfailfilter/ResolvableEhloHeloHandler.java > URL: > http://svn.apache.org/viewvc/james/server/sandbox/handlerapi/src/java/org/apache/james/smtpserver/fastfailfilter/ResolvableEhloHeloHandler.java?rev=419230&r1=419229&r2=419230&view=diff > ============================================================================== > --- > james/server/sandbox/handlerapi/src/java/org/apache/james/smtpserver/fastfailfilter/ResolvableEhloHeloHandler.java > (original) > +++ > james/server/sandbox/handlerapi/src/java/org/apache/james/smtpserver/fastfailfilter/ResolvableEhloHeloHandler.java > Wed Jul 5 06:56:02 2006 > @@ -21,22 +21,16 @@ > import java.util.ArrayList; > import java.util.List; > > -import org.apache.avalon.framework.configuration.Configurable; > import org.apache.avalon.framework.configuration.Configuration; > import org.apache.avalon.framework.configuration.ConfigurationException; > -import org.apache.avalon.framework.service.ServiceException; > -import org.apache.avalon.framework.service.ServiceManager; > -import org.apache.avalon.framework.service.Serviceable; > -import org.apache.james.services.DNSServer; > import org.apache.james.smtpserver.AbstractCommandHandler; > import org.apache.james.smtpserver.SMTPSession; > import org.apache.james.util.mail.dsn.DSNStatus; > > -public class ResolvableEhloHeloHandler extends AbstractCommandHandler > implements Configurable, Serviceable { > +public class ResolvableEhloHeloHandler extends AbstractCommandHandler { > > private boolean checkAuthNetworks = false; > > - private DNSServer dnsServer = null; > > /** > * @see > org.apache.avalon.framework.configuration.Configurable#configure(Configuration) > @@ -51,13 +45,6 @@ > } > > /** > - * @see > org.apache.avalon.framework.service.Serviceable#service(ServiceManager) > - */ > - public void service(ServiceManager serviceMan) throws ServiceException { > - setDnsServer((DNSServer) serviceMan.lookup(DNSServer.ROLE)); > - } > - > - /** > * Set to true if AuthNetworks should be included in the EHLO check > * > * @param checkAuthNetworks > @@ -68,16 +55,6 @@ > } > > /** > - * Set the DNSServer > - * > - * @param dnsServer > - * The DNSServer > - */ > - public void setDnsServer(DNSServer dnsServer) { > - this.dnsServer = dnsServer; > - } > - > - /** > * @see > org.apache.james.smtpserver.fastfailfilter.HeloFilterHandler#onEhloCommand(SMTPSession) > */ > public void onCommand(SMTPSession session) { > @@ -92,7 +69,7 @@ > // try to resolv the provided helo. If it can not resolved do not > // accept it. > try { > - dnsServer.getByName(argument); > + getDnsServer().getByName(argument); > } catch (UnknownHostException e) { > responseString = "501 " > + DSNStatus.getStatus(DSNStatus.PERMANENT, > > Modified: > james/server/sandbox/handlerapi/src/java/org/apache/james/smtpserver/fastfailfilter/ReverseEqualsEhloHeloHandler.java > URL: > http://svn.apache.org/viewvc/james/server/sandbox/handlerapi/src/java/org/apache/james/smtpserver/fastfailfilter/ReverseEqualsEhloHeloHandler.java?rev=419230&r1=419229&r2=419230&view=diff > ============================================================================== > --- > james/server/sandbox/handlerapi/src/java/org/apache/james/smtpserver/fastfailfilter/ReverseEqualsEhloHeloHandler.java > (original) > +++ > james/server/sandbox/handlerapi/src/java/org/apache/james/smtpserver/fastfailfilter/ReverseEqualsEhloHeloHandler.java > Wed Jul 5 06:56:02 2006 > @@ -21,22 +21,16 @@ > import java.util.ArrayList; > import java.util.List; > > -import org.apache.avalon.framework.configuration.Configurable; > import org.apache.avalon.framework.configuration.Configuration; > import org.apache.avalon.framework.configuration.ConfigurationException; > -import org.apache.avalon.framework.service.ServiceException; > -import org.apache.avalon.framework.service.ServiceManager; > -import org.apache.avalon.framework.service.Serviceable; > -import org.apache.james.services.DNSServer; > import org.apache.james.smtpserver.AbstractCommandHandler; > import org.apache.james.smtpserver.SMTPSession; > import org.apache.james.util.mail.dsn.DSNStatus; > > -public class ReverseEqualsEhloHeloHandler extends AbstractCommandHandler > implements Configurable, Serviceable { > +public class ReverseEqualsEhloHeloHandler extends AbstractCommandHandler { > > private boolean checkAuthNetworks = false; > > - private DNSServer dnsServer = null; > > /** > * @see > org.apache.avalon.framework.configuration.Configurable#configure(Configuration) > @@ -50,14 +44,6 @@ > } > } > > - > - /** > - * @see > org.apache.avalon.framework.service.Serviceable#service(ServiceManager) > - */ > - public void service(ServiceManager serviceMan) throws ServiceException { > - setDnsServer((DNSServer) serviceMan.lookup(DNSServer.ROLE)); > - } > - > /** > * Set to true if AuthNetworks should be included in the EHLO check > * > @@ -68,15 +54,6 @@ > this.checkAuthNetworks = checkAuthNetworks; > } > > - /** > - * Set the DNSServer > - * > - * @param dnsServer > - * The DNSServer > - */ > - public void setDnsServer(DNSServer dnsServer) { > - this.dnsServer = dnsServer; > - } > > /** > * @see org.apache.james.smtpserver.CommandHandler#onCommand(SMTPSession) > @@ -92,7 +69,7 @@ > if (!session.isRelayingAllowed() || checkAuthNetworks) { > try { > // get reverse entry > - String reverse = dnsServer.getByName( > + String reverse = getDnsServer().getByName( > session.getRemoteIPAddress()).getHostName(); > > if (!argument.equals(reverse)) { > > Modified: > james/server/sandbox/handlerapi/src/java/org/apache/james/smtpserver/fastfailfilter/TarpitHandler.java > URL: > http://svn.apache.org/viewvc/james/server/sandbox/handlerapi/src/java/org/apache/james/smtpserver/fastfailfilter/TarpitHandler.java?rev=419230&r1=419229&r2=419230&view=diff > ============================================================================== > --- > james/server/sandbox/handlerapi/src/java/org/apache/james/smtpserver/fastfailfilter/TarpitHandler.java > (original) > +++ > james/server/sandbox/handlerapi/src/java/org/apache/james/smtpserver/fastfailfilter/TarpitHandler.java > Wed Jul 5 06:56:02 2006 > @@ -20,13 +20,12 @@ > import java.util.ArrayList; > import java.util.List; > > -import org.apache.avalon.framework.configuration.Configurable; > import org.apache.avalon.framework.configuration.Configuration; > import org.apache.avalon.framework.configuration.ConfigurationException; > import org.apache.james.smtpserver.AbstractCommandHandler; > import org.apache.james.smtpserver.SMTPSession; > > -public class TarpitHandler extends AbstractCommandHandler implements > Configurable { > +public class TarpitHandler extends AbstractCommandHandler { > > private int tarpitRcptCount = 0; > > > Modified: > james/server/sandbox/handlerapi/src/java/org/apache/james/smtpserver/fastfailfilter/ValidSenderDomainHandler.java > URL: > http://svn.apache.org/viewvc/james/server/sandbox/handlerapi/src/java/org/apache/james/smtpserver/fastfailfilter/ValidSenderDomainHandler.java?rev=419230&r1=419229&r2=419230&view=diff > ============================================================================== > --- > james/server/sandbox/handlerapi/src/java/org/apache/james/smtpserver/fastfailfilter/ValidSenderDomainHandler.java > (original) > +++ > james/server/sandbox/handlerapi/src/java/org/apache/james/smtpserver/fastfailfilter/ValidSenderDomainHandler.java > Wed Jul 5 06:56:02 2006 > @@ -21,25 +21,18 @@ > import java.util.Collection; > import java.util.List; > > -import org.apache.avalon.framework.configuration.Configurable; > import org.apache.avalon.framework.configuration.Configuration; > import org.apache.avalon.framework.configuration.ConfigurationException; > -import org.apache.avalon.framework.service.ServiceException; > -import org.apache.avalon.framework.service.ServiceManager; > -import org.apache.avalon.framework.service.Serviceable; > -import org.apache.james.services.DNSServer; > import org.apache.james.smtpserver.AbstractCommandHandler; > import org.apache.james.smtpserver.SMTPSession; > import org.apache.james.util.mail.dsn.DSNStatus; > import org.apache.mailet.MailAddress; > > public class ValidSenderDomainHandler > - extends AbstractCommandHandler implements Configurable, Serviceable { > + extends AbstractCommandHandler { > > private boolean checkAuthClients = false; > > - private DNSServer dnsServer = null; > - > /** > * @see > org.apache.avalon.framework.configuration.Configurable#configure(Configuration) > */ > @@ -50,22 +43,7 @@ > setCheckAuthClients(configRelay.getValueAsBoolean(false)); > } > } > - > - /** > - * @see > org.apache.avalon.framework.service.Serviceable#service(ServiceManager) > - */ > - public void service(ServiceManager serviceMan) throws ServiceException { > - setDnsServer((DNSServer) serviceMan.lookup(DNSServer.ROLE)); > - } > - > - /** > - * Set the DnsServer > - * > - * @param dnsServer The DnsServer > - */ > - public void setDnsServer(DNSServer dnsServer) { > - this.dnsServer = dnsServer; > - } > + > > /** > * Enable checking of authorized clients > @@ -95,7 +73,7 @@ > > > // try to resolv the provided domain in the senderaddress. If it > can not resolved do not accept it. > - records = dnsServer.findMXRecords(senderAddress.getHost()); > + records = getDnsServer().findMXRecords(senderAddress.getHost()); > if (records == null || records.size() == 0) { > responseString = "501 > "+DSNStatus.getStatus(DSNStatus.PERMANENT,DSNStatus.ADDRESS_SYNTAX_SENDER)+ " > sender " + senderAddress + " contains a domain with no valid MX records"; > session.writeResponse(responseString); > > > > --------------------------------------------------------------------- > To unsubscribe, e-mail: [EMAIL PROTECTED] > For additional commands, e-mail: [EMAIL PROTECTED] > > !EXCUBATOR:1,44abc93848531275321393!
signature.asc
Description: Dies ist ein digital signierter Nachrichtenteil
