Mornin, first i like the diff. But is there still any need for the println() ? Can i remove it ?
bye Norman [EMAIL PROTECTED] schrieb: > Author: bago > Date: Sun Jan 7 15:27:45 2007 > New Revision: 493873 > > URL: http://svn.apache.org/viewvc?view=rev&rev=493873 > Log: > Merged EhloHook to HeloHook (EhloCmdHandler reuse HeloHook extension point) > Removed checkAuthUsers configurability from ResolvableEhloHeloHandler > UsersRepositoryAuthHook now setRelayingAllowed to true on successfull auth > Removed verifyIdentity configuration from the handlerchain/configurationData: > we can do this by enabling/disabling its specific Hook > (SenderAuthIdentifyVerificationRcptHook). > Added a new AcceptRecipientIfRelayingIsAllowed RcptHook > > Added: > > james/server/sandbox/handlerapi-experiment/src/java/org/apache/james/smtpserver/core/AcceptRecipientIfRelayingIsAllowed.java > (with props) > Removed: > > james/server/sandbox/handlerapi-experiment/src/java/org/apache/james/smtpserver/hook/EhloHook.java > Modified: > james/server/sandbox/handlerapi-experiment/TODO > > james/server/sandbox/handlerapi-experiment/src/java/org/apache/james/smtpserver/SMTPHandlerConfigurationData.java > > james/server/sandbox/handlerapi-experiment/src/java/org/apache/james/smtpserver/SMTPServer.java > > james/server/sandbox/handlerapi-experiment/src/java/org/apache/james/smtpserver/core/AuthRequiredToRelayRcptHook.java > > james/server/sandbox/handlerapi-experiment/src/java/org/apache/james/smtpserver/core/EhloCmdHandler.java > > james/server/sandbox/handlerapi-experiment/src/java/org/apache/james/smtpserver/core/MailCmdHandler.java > > james/server/sandbox/handlerapi-experiment/src/java/org/apache/james/smtpserver/core/SenderAuthIdentifyVerificationRcptHook.java > > james/server/sandbox/handlerapi-experiment/src/java/org/apache/james/smtpserver/core/UsersRepositoryAuthHook.java > > james/server/sandbox/handlerapi-experiment/src/java/org/apache/james/smtpserver/core/filter/fastfail/DNSRBLHandler.java > > james/server/sandbox/handlerapi-experiment/src/java/org/apache/james/smtpserver/core/filter/fastfail/GreylistHandler.java > > james/server/sandbox/handlerapi-experiment/src/java/org/apache/james/smtpserver/core/filter/fastfail/ResolvableEhloHeloHandler.java > > james/server/sandbox/handlerapi-experiment/src/java/org/apache/james/smtpserver/core/filter/fastfail/SPFHandler.java > > james/server/sandbox/handlerapi-experiment/src/java/org/apache/james/smtpserver/core/filter/fastfail/ValidRcptHandler.java > > james/server/sandbox/handlerapi-experiment/src/test/org/apache/james/smtpserver/ResolvableEhloHeloHandlerTest.java > > james/server/sandbox/handlerapi-experiment/src/test/org/apache/james/smtpserver/SMTPServerTest.java > > james/server/sandbox/handlerapi-experiment/src/test/org/apache/james/smtpserver/ValidRcptHandlerTest.java > > Modified: james/server/sandbox/handlerapi-experiment/TODO > URL: > http://svn.apache.org/viewvc/james/server/sandbox/handlerapi-experiment/TODO?view=diff&rev=493873&r1=493872&r2=493873 > ============================================================================== > --- james/server/sandbox/handlerapi-experiment/TODO (original) > +++ james/server/sandbox/handlerapi-experiment/TODO Sun Jan 7 15:27:45 2007 > @@ -6,8 +6,6 @@ > - or maybe another non public api hook to be implemented by smtp > extensions. > - The AuthHook define a way to hook plain text user-pass tuple: this mean > this won't work as soon as we'll try to implement another SASL mechanism: > this is a common issue with POP3 APOP and IMAP SALS auth. > - Decide what to do with services and DI (logging and more). > -- SenderAuthIdentifyVerificationRcptHook use > session.getConfigurationData().isVerifyIdentity() to decide wether to enable > itself or not: isn't it better to add the handler to the config and > commenting/uncommenting the handler already do the trick? If so we shoudl > simply remove that configuration and remove the check in the code. > -- I would like to Merge HeloHook and EhloHook to a single hook. They are > alternative and I think there is no need for both in the high-level api. less > is more ;-) > - (currently we have a single handler implementing both hook and doing the > same thing for both). > - Check if we can delete the ComposedJunkScore class. I think the class is > not needed anymore > -- We should probably move logging of ok/deny operations from specific hooks > to this Hook result interceptor > \ No newline at end of file > +- We should probably move logging of ok/deny operations from specific hooks > to this Hook result interceptor > +- ValidRcptHandlerTest.testNotRejectInvalidUserAuth fails: imho (bago) the > test is wrong, but we should check it. > > Modified: > james/server/sandbox/handlerapi-experiment/src/java/org/apache/james/smtpserver/SMTPHandlerConfigurationData.java > URL: > http://svn.apache.org/viewvc/james/server/sandbox/handlerapi-experiment/src/java/org/apache/james/smtpserver/SMTPHandlerConfigurationData.java?view=diff&rev=493873&r1=493872&r2=493873 > ============================================================================== > --- > james/server/sandbox/handlerapi-experiment/src/java/org/apache/james/smtpserver/SMTPHandlerConfigurationData.java > (original) > +++ > james/server/sandbox/handlerapi-experiment/src/java/org/apache/james/smtpserver/SMTPHandlerConfigurationData.java > Sun Jan 7 15:27:45 2007 > @@ -70,14 +70,6 @@ > boolean isAuthSupported(String remoteIP); > > /** > - * Returns whether the service validates the identity > - * of its senders. > - * > - * @return whether SMTP authentication is on > - */ > - boolean isVerifyIdentity(); > - > - /** > * Returns whether the remote server needs to send a HELO/EHLO > * of its senders. > * > > Modified: > james/server/sandbox/handlerapi-experiment/src/java/org/apache/james/smtpserver/SMTPServer.java > URL: > http://svn.apache.org/viewvc/james/server/sandbox/handlerapi-experiment/src/java/org/apache/james/smtpserver/SMTPServer.java?view=diff&rev=493873&r1=493872&r2=493873 > ============================================================================== > --- > james/server/sandbox/handlerapi-experiment/src/java/org/apache/james/smtpserver/SMTPServer.java > (original) > +++ > james/server/sandbox/handlerapi-experiment/src/java/org/apache/james/smtpserver/SMTPServer.java > Sun Jan 7 15:27:45 2007 > @@ -85,14 +85,6 @@ > private int authRequired = AUTH_DISABLED; > > /** > - * Whether the server verifies that the user > - * actually sending an email matches the > - * authentication credentials attached to the > - * SMTP interaction. > - */ > - private boolean verifyIdentity = false; > - > - /** > * Whether the server needs helo to be send first > */ > private boolean heloEhloEnforcement = false; > @@ -159,13 +151,8 @@ > if (authRequiredString.equals("true")) authRequired = > AUTH_REQUIRED; > else if (authRequiredString.equals("announce")) authRequired = > AUTH_ANNOUNCE; > else authRequired = AUTH_DISABLED; > - verifyIdentity = > handlerConfiguration.getChild("verifyIdentity").getValueAsBoolean(false); > if (authRequired != AUTH_DISABLED) { > - if (verifyIdentity) { > - getLogger().info("This SMTP server requires > authentication and verifies that the authentication credentials match the > sender address."); > - } else { > - getLogger().info("This SMTP server requires > authentication, but doesn't verify that the authentication credentials match > the sender address."); > - } > + getLogger().info("This SMTP server requires > authentication."); > } else { > getLogger().info("This SMTP server does not require > authentication."); > } > @@ -344,13 +331,6 @@ > authRequired = authRequired && > !SMTPServer.this.authorizedNetworks.matchInetNetwork(remoteIP); > } > return authRequired; > - } > - > - /** > - * @see > org.apache.james.smtpserver.SMTPHandlerConfigurationData#isVerifyIdentity() > - */ > - public boolean isVerifyIdentity() { > - return SMTPServer.this.verifyIdentity; > } > > /** > > Added: > james/server/sandbox/handlerapi-experiment/src/java/org/apache/james/smtpserver/core/AcceptRecipientIfRelayingIsAllowed.java > URL: > http://svn.apache.org/viewvc/james/server/sandbox/handlerapi-experiment/src/java/org/apache/james/smtpserver/core/AcceptRecipientIfRelayingIsAllowed.java?view=auto&rev=493873 > ============================================================================== > --- > james/server/sandbox/handlerapi-experiment/src/java/org/apache/james/smtpserver/core/AcceptRecipientIfRelayingIsAllowed.java > (added) > +++ > james/server/sandbox/handlerapi-experiment/src/java/org/apache/james/smtpserver/core/AcceptRecipientIfRelayingIsAllowed.java > Sun Jan 7 15:27:45 2007 > @@ -0,0 +1,46 @@ > +/**************************************************************** > + * 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.smtpserver.core; > + > +import org.apache.avalon.framework.logger.AbstractLogEnabled; > +import org.apache.james.smtpserver.SMTPSession; > +import org.apache.james.smtpserver.hook.HookResult; > +import org.apache.james.smtpserver.hook.HookReturnCode; > +import org.apache.james.smtpserver.hook.RcptHook; > +import org.apache.mailet.MailAddress; > + > +/** > + * This hook will stop the hook chain if relaying is allowed > + */ > +public class AcceptRecipientIfRelayingIsAllowed extends AbstractLogEnabled > implements > + RcptHook { > + > + /** > + * @see > org.apache.james.smtpserver.hook.RcptHook#doRcpt(org.apache.james.smtpserver.SMTPSession, > + * org.apache.mailet.MailAddress, org.apache.mailet.MailAddress) > + */ > + public HookResult doRcpt(SMTPSession session, MailAddress sender, > + MailAddress rcpt) { > + if (session.isRelayingAllowed()) { > + return new HookResult(HookReturnCode.OK); > + } > + return new HookResult(HookReturnCode.DECLINED); > + } > + > +} > > Propchange: > james/server/sandbox/handlerapi-experiment/src/java/org/apache/james/smtpserver/core/AcceptRecipientIfRelayingIsAllowed.java > ------------------------------------------------------------------------------ > svn:eol-style = native > > Modified: > james/server/sandbox/handlerapi-experiment/src/java/org/apache/james/smtpserver/core/AuthRequiredToRelayRcptHook.java > URL: > http://svn.apache.org/viewvc/james/server/sandbox/handlerapi-experiment/src/java/org/apache/james/smtpserver/core/AuthRequiredToRelayRcptHook.java?view=diff&rev=493873&r1=493872&r2=493873 > ============================================================================== > --- > james/server/sandbox/handlerapi-experiment/src/java/org/apache/james/smtpserver/core/AuthRequiredToRelayRcptHook.java > (original) > +++ > james/server/sandbox/handlerapi-experiment/src/java/org/apache/james/smtpserver/core/AuthRequiredToRelayRcptHook.java > Sun Jan 7 15:27:45 2007 > @@ -43,13 +43,11 @@ > String toDomain = rcpt.getHost(); > if > (!session.getConfigurationData().getMailServer().isLocalServer(toDomain)) { > if (session.isAuthSupported()) { > - if (session.getUser() == null) { > - return new HookResult(HookReturnCode.DENY, > - SMTPRetCode.AUTH_REQUIRED, > DSNStatus.getStatus( > - DSNStatus.PERMANENT, > - DSNStatus.SECURITY_AUTH) > - + " Authentication Required"); > - } > + return new HookResult(HookReturnCode.DENY, > + SMTPRetCode.AUTH_REQUIRED, DSNStatus.getStatus( > + DSNStatus.PERMANENT, > + DSNStatus.SECURITY_AUTH) > + + " Authentication Required"); > } else { > return new HookResult( > HookReturnCode.DENY, > > Modified: > james/server/sandbox/handlerapi-experiment/src/java/org/apache/james/smtpserver/core/EhloCmdHandler.java > URL: > http://svn.apache.org/viewvc/james/server/sandbox/handlerapi-experiment/src/java/org/apache/james/smtpserver/core/EhloCmdHandler.java?view=diff&rev=493873&r1=493872&r2=493873 > ============================================================================== > --- > james/server/sandbox/handlerapi-experiment/src/java/org/apache/james/smtpserver/core/EhloCmdHandler.java > (original) > +++ > james/server/sandbox/handlerapi-experiment/src/java/org/apache/james/smtpserver/core/EhloCmdHandler.java > Sun Jan 7 15:27:45 2007 > @@ -22,7 +22,7 @@ > import org.apache.james.smtpserver.CommandHandler; > import org.apache.james.smtpserver.SMTPResponse; > import org.apache.james.smtpserver.SMTPSession; > -import org.apache.james.smtpserver.hook.EhloHook; > +import org.apache.james.smtpserver.hook.HeloHook; > import org.apache.james.smtpserver.hook.HookResult; > import org.apache.james.util.mail.SMTPRetCode; > import org.apache.james.util.mail.dsn.DSNStatus; > @@ -44,7 +44,6 @@ > > private List ehloExtensions; > > - > /** > * Handler method called upon receipt of a EHLO command. Responds with a > * greeting and informs the client whether client authentication is > @@ -168,13 +167,14 @@ > * @see > org.apache.james.smtpserver.core.AbstractHookableCmdHandler#getHookInterface() > */ > protected Class getHookInterface() { > - return EhloHook.class; > + return HeloHook.class; > } > - > + > /** > * @see > org.apache.james.smtpserver.core.AbstractHookableCmdHandler#callHook(java.lang.Object, > org.apache.james.smtpserver.SMTPSession, java.lang.String) > */ > protected HookResult callHook(Object rawHook, SMTPSession session, > String parameters) { > - return ((EhloHook) rawHook).doEhlo(session, parameters); > + return ((HeloHook) rawHook).doHelo(session, parameters); > } > + > } > > Modified: > james/server/sandbox/handlerapi-experiment/src/java/org/apache/james/smtpserver/core/MailCmdHandler.java > URL: > http://svn.apache.org/viewvc/james/server/sandbox/handlerapi-experiment/src/java/org/apache/james/smtpserver/core/MailCmdHandler.java?view=diff&rev=493873&r1=493872&r2=493873 > ============================================================================== > --- > james/server/sandbox/handlerapi-experiment/src/java/org/apache/james/smtpserver/core/MailCmdHandler.java > (original) > +++ > james/server/sandbox/handlerapi-experiment/src/java/org/apache/james/smtpserver/core/MailCmdHandler.java > Sun Jan 7 15:27:45 2007 > @@ -58,8 +58,12 @@ > MailAddress sender = (MailAddress) session.getState().get( > SMTPSession.SENDER); > responseBuffer.append( > - DSNStatus.getStatus(DSNStatus.SUCCESS, > DSNStatus.ADDRESS_OTHER) > - + " Sender <").append(sender).append("> OK"); > + DSNStatus.getStatus(DSNStatus.SUCCESS, > DSNStatus.ADDRESS_OTHER)) > + .append(" Sender <"); > + if (sender != null) { > + responseBuffer.append(sender); > + } > + responseBuffer.append("> OK"); > return new SMTPResponse(SMTPRetCode.MAIL_OK, responseBuffer); > } > > > Modified: > james/server/sandbox/handlerapi-experiment/src/java/org/apache/james/smtpserver/core/SenderAuthIdentifyVerificationRcptHook.java > URL: > http://svn.apache.org/viewvc/james/server/sandbox/handlerapi-experiment/src/java/org/apache/james/smtpserver/core/SenderAuthIdentifyVerificationRcptHook.java?view=diff&rev=493873&r1=493872&r2=493873 > ============================================================================== > --- > james/server/sandbox/handlerapi-experiment/src/java/org/apache/james/smtpserver/core/SenderAuthIdentifyVerificationRcptHook.java > (original) > +++ > james/server/sandbox/handlerapi-experiment/src/java/org/apache/james/smtpserver/core/SenderAuthIdentifyVerificationRcptHook.java > Sun Jan 7 15:27:45 2007 > @@ -41,8 +41,7 @@ > */ > public HookResult doRcpt(SMTPSession session, MailAddress sender, > MailAddress rcpt) { > - if (!session.isRelayingAllowed() && session.getUser() != null > - && session.getConfigurationData().isVerifyIdentity()) { > + if (session.getUser() != null) { > String authUser = (session.getUser()).toLowerCase(Locale.US); > MailAddress senderAddress = (MailAddress) session.getState().get( > SMTPSession.SENDER); > > Modified: > james/server/sandbox/handlerapi-experiment/src/java/org/apache/james/smtpserver/core/UsersRepositoryAuthHook.java > URL: > http://svn.apache.org/viewvc/james/server/sandbox/handlerapi-experiment/src/java/org/apache/james/smtpserver/core/UsersRepositoryAuthHook.java?view=diff&rev=493873&r1=493872&r2=493873 > ============================================================================== > --- > james/server/sandbox/handlerapi-experiment/src/java/org/apache/james/smtpserver/core/UsersRepositoryAuthHook.java > (original) > +++ > james/server/sandbox/handlerapi-experiment/src/java/org/apache/james/smtpserver/core/UsersRepositoryAuthHook.java > Sun Jan 7 15:27:45 2007 > @@ -27,13 +27,13 @@ > * This Auth hook can be used to authenticate against the james user > repository > */ > public class UsersRepositoryAuthHook implements AuthHook { > - > /** > * @see > org.apache.james.smtpserver.hook.AuthHook#doAuth(org.apache.james.smtpserver.SMTPSession, > java.lang.String, java.lang.String) > */ > public HookResult doAuth(SMTPSession session, String username, String > password) { > if > (session.getConfigurationData().getUsersRepository().test(username, > password)) { > session.setUser(username); > + session.setRelayingAllowed(true); > return new HookResult(HookReturnCode.OK, "Authentication > Successful"); > } > return new HookResult(HookReturnCode.DECLINED); > > Modified: > james/server/sandbox/handlerapi-experiment/src/java/org/apache/james/smtpserver/core/filter/fastfail/DNSRBLHandler.java > URL: > http://svn.apache.org/viewvc/james/server/sandbox/handlerapi-experiment/src/java/org/apache/james/smtpserver/core/filter/fastfail/DNSRBLHandler.java?view=diff&rev=493873&r1=493872&r2=493873 > ============================================================================== > --- > james/server/sandbox/handlerapi-experiment/src/java/org/apache/james/smtpserver/core/filter/fastfail/DNSRBLHandler.java > (original) > +++ > james/server/sandbox/handlerapi-experiment/src/java/org/apache/james/smtpserver/core/filter/fastfail/DNSRBLHandler.java > Sun Jan 7 15:27:45 2007 > @@ -248,19 +248,20 @@ > * @see > org.apache.james.smtpserver.hook.RcptHook#doRcpt(org.apache.james.smtpserver.SMTPSession, > org.apache.mailet.MailAddress, org.apache.mailet.MailAddress) > */ > public HookResult doRcpt(SMTPSession session, MailAddress sender, > MailAddress rcpt) { > - String blocklisted = (String) > session.getConnectionState().get(RBL_BLOCKLISTED_MAIL_ATTRIBUTE_NAME); > - > - if (blocklisted != null && // was found in the RBL > - session.getUser() == null // Not authenticated > - ) { > - if (blocklistedDetail == null) { > - return new > HookResult(HookReturnCode.DENY,DSNStatus.getStatus(DSNStatus.PERMANENT, > - DSNStatus.SECURITY_AUTH) + " Rejected: > unauthenticated e-mail from " + session.getRemoteIPAddress() > - + " is restricted. Contact the postmaster for > details."); > - } else { > - return new > HookResult(HookReturnCode.DENY,DSNStatus.getStatus(DSNStatus.PERMANENT,DSNStatus.SECURITY_AUTH) > + " " + blocklistedDetail); > + > + if (!session.isRelayingAllowed()) { > + String blocklisted = (String) > session.getConnectionState().get(RBL_BLOCKLISTED_MAIL_ATTRIBUTE_NAME); > + > + if (blocklisted != null) { // was found in the RBL > + if (blocklistedDetail == null) { > + return new > HookResult(HookReturnCode.DENY,DSNStatus.getStatus(DSNStatus.PERMANENT, > + DSNStatus.SECURITY_AUTH) + " Rejected: > unauthenticated e-mail from " + session.getRemoteIPAddress() > + + " is restricted. Contact the postmaster for > details."); > + } else { > + return new > HookResult(HookReturnCode.DENY,DSNStatus.getStatus(DSNStatus.PERMANENT,DSNStatus.SECURITY_AUTH) > + " " + blocklistedDetail); > + } > + > } > - > } > return new HookResult(HookReturnCode.DECLINED); > } > > Modified: > james/server/sandbox/handlerapi-experiment/src/java/org/apache/james/smtpserver/core/filter/fastfail/GreylistHandler.java > URL: > http://svn.apache.org/viewvc/james/server/sandbox/handlerapi-experiment/src/java/org/apache/james/smtpserver/core/filter/fastfail/GreylistHandler.java?view=diff&rev=493873&r1=493872&r2=493873 > ============================================================================== > --- > james/server/sandbox/handlerapi-experiment/src/java/org/apache/james/smtpserver/core/filter/fastfail/GreylistHandler.java > (original) > +++ > james/server/sandbox/handlerapi-experiment/src/java/org/apache/james/smtpserver/core/filter/fastfail/GreylistHandler.java > Sun Jan 7 15:27:45 2007 > @@ -651,7 +651,7 @@ > * @see > org.apache.james.smtpserver.hook.RcptHook#doRcpt(org.apache.james.smtpserver.SMTPSession, > org.apache.mailet.MailAddress, org.apache.mailet.MailAddress) > */ > public HookResult doRcpt(SMTPSession session, MailAddress sender, > MailAddress rcpt) { > - if (!session.isRelayingAllowed() && session.getUser() == null) { > + if (!session.isRelayingAllowed()) { > > if ((wNetworks == null) || > (!wNetworks.matchInetNetwork(session.getRemoteIPAddress()))) { > return doGreyListCheck(session, sender,rcpt); > > Modified: > james/server/sandbox/handlerapi-experiment/src/java/org/apache/james/smtpserver/core/filter/fastfail/ResolvableEhloHeloHandler.java > URL: > http://svn.apache.org/viewvc/james/server/sandbox/handlerapi-experiment/src/java/org/apache/james/smtpserver/core/filter/fastfail/ResolvableEhloHeloHandler.java?view=diff&rev=493873&r1=493872&r2=493873 > ============================================================================== > --- > james/server/sandbox/handlerapi-experiment/src/java/org/apache/james/smtpserver/core/filter/fastfail/ResolvableEhloHeloHandler.java > (original) > +++ > james/server/sandbox/handlerapi-experiment/src/java/org/apache/james/smtpserver/core/filter/fastfail/ResolvableEhloHeloHandler.java > Sun Jan 7 15:27:45 2007 > @@ -28,7 +28,6 @@ > import org.apache.avalon.framework.service.Serviceable; > import org.apache.james.services.DNSServer; > import org.apache.james.smtpserver.SMTPSession; > -import org.apache.james.smtpserver.hook.EhloHook; > import org.apache.james.smtpserver.hook.HeloHook; > import org.apache.james.smtpserver.hook.HookResult; > import org.apache.james.smtpserver.hook.HookReturnCode; > @@ -44,14 +43,12 @@ > /** > * This CommandHandler can be used to reject not resolvable EHLO/HELO > */ > -public class ResolvableEhloHeloHandler extends AbstractLogEnabled implements > Configurable, Serviceable, RcptHook, EhloHook, HeloHook { > +public class ResolvableEhloHeloHandler extends AbstractLogEnabled implements > Configurable, Serviceable, RcptHook, HeloHook { > > public final static String BAD_EHLO_HELO = "BAD_EHLO_HELO"; > > protected boolean checkAuthNetworks = false; > > - private boolean checkAuthUsers = false; > - > protected DNSServer dnsServer = null; > > /** > @@ -64,12 +61,6 @@ > if (configRelay != null) { > setCheckAuthNetworks(configRelay.getValueAsBoolean(false)); > } > - > - Configuration configAuthUser = handlerConfiguration.getChild( > - "checkAuthUsers", false); > - if (configAuthUser != null) { > - setCheckAuthUsers(configAuthUser.getValueAsBoolean(false)); > - } > } > > /** > @@ -90,16 +81,6 @@ > } > > /** > - * Set to true if Auth users should be included in the EHLO/HELO check > - * > - * @param checkAuthUsers > - * Set to true to enable > - */ > - public void setCheckAuthUsers(boolean checkAuthUsers) { > - this.checkAuthUsers = checkAuthUsers; > - } > - > - /** > * Set the DNSServer > * > * @param dnsServer > @@ -125,6 +106,7 @@ > > if (isBadHelo(session, argument)) { > session.getState().put(BAD_EHLO_HELO, "true"); > + System.out.println("bad_ehlo!"); > } > } > > @@ -149,35 +131,27 @@ > * @see > org.apache.james.smtpserver.core.filter.fastfail.AbstractJunkHandler#check(org.apache.james.smtpserver.SMTPSession) > */ > protected boolean check(SMTPSession session,MailAddress rcpt) { > - > // not reject it > - if (session.getState().get(BAD_EHLO_HELO) == null) > + if (session.getState().get(BAD_EHLO_HELO) == null) { > + System.out.println("doRcpt1"); > return false; > - > - // Check if the client was authenticated > - if ((session.getUser() == null || checkAuthUsers)) { > - return true; > } > - return false; > + > + System.out.println("doRcpt2"); > + return true; > } > > /** > * @see > org.apache.james.smtpserver.hook.RcptHook#doRcpt(org.apache.james.smtpserver.SMTPSession, > org.apache.mailet.MailAddress, org.apache.mailet.MailAddress) > */ > public HookResult doRcpt(SMTPSession session, MailAddress sender, > MailAddress rcpt) { > + System.out.println("doRcpt"); > if (check(session,rcpt)) { > return new > HookResult(HookReturnCode.DENY,SMTPRetCode.SYNTAX_ERROR_ARGUMENTS,DSNStatus.getStatus(DSNStatus.PERMANENT, > DSNStatus.DELIVERY_INVALID_ARG) > + " Provided EHLO/HELO " + > session.getState().get(SMTPSession.CURRENT_HELO_NAME) + " can not resolved."); > } else { > return new HookResult(HookReturnCode.DECLINED); > } > - } > - > - /** > - * @see > org.apache.james.smtpserver.hook.EhloHook#doEhlo(org.apache.james.smtpserver.SMTPSession, > java.lang.String) > - */ > - public HookResult doEhlo(SMTPSession session, String helo) { > - return doHelo(session,helo); > } > > /** > > Modified: > james/server/sandbox/handlerapi-experiment/src/java/org/apache/james/smtpserver/core/filter/fastfail/SPFHandler.java > URL: > http://svn.apache.org/viewvc/james/server/sandbox/handlerapi-experiment/src/java/org/apache/james/smtpserver/core/filter/fastfail/SPFHandler.java?view=diff&rev=493873&r1=493872&r2=493873 > ============================================================================== > --- > james/server/sandbox/handlerapi-experiment/src/java/org/apache/james/smtpserver/core/filter/fastfail/SPFHandler.java > (original) > +++ > james/server/sandbox/handlerapi-experiment/src/java/org/apache/james/smtpserver/core/filter/fastfail/SPFHandler.java > Sun Jan 7 15:27:45 2007 > @@ -228,7 +228,7 @@ > * @see > org.apache.james.smtpserver.hook.RcptHook#doRcpt(org.apache.james.smtpserver.SMTPSession, > org.apache.mailet.MailAddress, org.apache.mailet.MailAddress) > */ > public HookResult doRcpt(SMTPSession session, MailAddress sender, > MailAddress rcpt) { > - if (session.getUser() == null) { > + if (!session.isRelayingAllowed()) { > // Check if session is blocklisted > if (session.getState().get(SPF_BLOCKLISTED)!= null) { > return new > HookResult(HookReturnCode.DENY,DSNStatus.getStatus(DSNStatus.PERMANENT, > DSNStatus.SECURITY_AUTH) + " " > > Modified: > james/server/sandbox/handlerapi-experiment/src/java/org/apache/james/smtpserver/core/filter/fastfail/ValidRcptHandler.java > URL: > http://svn.apache.org/viewvc/james/server/sandbox/handlerapi-experiment/src/java/org/apache/james/smtpserver/core/filter/fastfail/ValidRcptHandler.java?view=diff&rev=493873&r1=493872&r2=493873 > ============================================================================== > --- > james/server/sandbox/handlerapi-experiment/src/java/org/apache/james/smtpserver/core/filter/fastfail/ValidRcptHandler.java > (original) > +++ > james/server/sandbox/handlerapi-experiment/src/java/org/apache/james/smtpserver/core/filter/fastfail/ValidRcptHandler.java > Sun Jan 7 15:27:45 2007 > @@ -168,7 +168,7 @@ > */ > public HookResult doRcpt(SMTPSession session, MailAddress sender, > MailAddress rcpt) { > > - if (!session.isRelayingAllowed() && session.getUser() == null) { > + if (!session.isRelayingAllowed()) { > boolean invalidUser = true; > > if > (session.getConfigurationData().getUsersRepository().contains(rcpt.getUser()) > == true || recipients.contains(rcpt.toString().toLowerCase()) || > domains.contains(rcpt.getHost().toLowerCase())) { > > Modified: > james/server/sandbox/handlerapi-experiment/src/test/org/apache/james/smtpserver/ResolvableEhloHeloHandlerTest.java > URL: > http://svn.apache.org/viewvc/james/server/sandbox/handlerapi-experiment/src/test/org/apache/james/smtpserver/ResolvableEhloHeloHandlerTest.java?view=diff&rev=493873&r1=493872&r2=493873 > ============================================================================== > --- > james/server/sandbox/handlerapi-experiment/src/test/org/apache/james/smtpserver/ResolvableEhloHeloHandlerTest.java > (original) > +++ > james/server/sandbox/handlerapi-experiment/src/test/org/apache/james/smtpserver/ResolvableEhloHeloHandlerTest.java > Sun Jan 7 15:27:45 2007 > @@ -124,6 +124,8 @@ > assertEquals("Not reject", result,HookReturnCode.DECLINED); > } > > + /* This is no more valid because it is handled by the hook sequence > instead of > + * checking it in each hook implementation. > public void testNotRejectInvalidHeloAuthUser() throws ParseException { > MailAddress mailAddress = new MailAddress("[EMAIL PROTECTED]"); > SMTPSession session = > setupMockSession(INVALID_HOST,false,true,"[EMAIL PROTECTED]",mailAddress); > @@ -140,6 +142,7 @@ > int result = handler.doRcpt(session,null, mailAddress).getResult(); > assertEquals("Not reject", result,HookReturnCode.DECLINED); > } > + */ > > public void testRejectInvalidHeloAuthUser() throws ParseException { > MailAddress mailAddress = new MailAddress("[EMAIL PROTECTED]"); > @@ -149,7 +152,6 @@ > ContainerUtil.enableLogging(handler,new MockLogger()); > > handler.setDnsServer(setupMockDNSServer()); > - handler.setCheckAuthUsers(true); > > handler.doHelo(session, INVALID_HOST); > assertNotNull("Value > stored",session.getState().get(ResolvableEhloHeloHandler.BAD_EHLO_HELO)); > @@ -194,3 +196,4 @@ > assertEquals("Reject", result,HookReturnCode.DENY); > } > } > + > > Modified: > james/server/sandbox/handlerapi-experiment/src/test/org/apache/james/smtpserver/SMTPServerTest.java > URL: > http://svn.apache.org/viewvc/james/server/sandbox/handlerapi-experiment/src/test/org/apache/james/smtpserver/SMTPServerTest.java?view=diff&rev=493873&r1=493872&r2=493873 > ============================================================================== > --- > james/server/sandbox/handlerapi-experiment/src/test/org/apache/james/smtpserver/SMTPServerTest.java > (original) > +++ > james/server/sandbox/handlerapi-experiment/src/test/org/apache/james/smtpserver/SMTPServerTest.java > Sun Jan 7 15:27:45 2007 > @@ -885,11 +885,13 @@ > String userName = "test_user_smtp"; > m_usersRepository.addUser(userName, "pwd"); > > - smtpProtocol.setSender(""); > - > smtpProtocol.sendCommand("AUTH PLAIN"); > > smtpProtocol.sendCommand(Base64.encodeAsString("\0"+userName+"\0pwd\0")); > assertEquals("authenticated", 235, smtpProtocol.getReplyCode()); > + > + smtpProtocol.setSender(""); > + assertEquals("expected sender ok", 250, smtpProtocol.getReplyCode()); > + > > smtpProtocol.addRecipient("[EMAIL PROTECTED]"); > assertEquals("expected error", 503, smtpProtocol.getReplyCode()); > > Modified: > james/server/sandbox/handlerapi-experiment/src/test/org/apache/james/smtpserver/ValidRcptHandlerTest.java > URL: > http://svn.apache.org/viewvc/james/server/sandbox/handlerapi-experiment/src/test/org/apache/james/smtpserver/ValidRcptHandlerTest.java?view=diff&rev=493873&r1=493872&r2=493873 > ============================================================================== > --- > james/server/sandbox/handlerapi-experiment/src/test/org/apache/james/smtpserver/ValidRcptHandlerTest.java > (original) > +++ > james/server/sandbox/handlerapi-experiment/src/test/org/apache/james/smtpserver/ValidRcptHandlerTest.java > Sun Jan 7 15:27:45 2007 > @@ -137,10 +137,6 @@ > throw new UnsupportedOperationException("Unimplemented Stub > Method"); > } > > - public boolean isVerifyIdentity() { > - throw new UnsupportedOperationException("Unimplemented Stub > Method"); > - } > - > public boolean useHeloEhloEnforcement() { > throw new UnsupportedOperationException("Unimplemented Stub > Method"); > } > > > > --------------------------------------------------------------------- > To unsubscribe, e-mail: [EMAIL PROTECTED] > For additional commands, e-mail: [EMAIL PROTECTED] > > !EXCUBATOR:1,45a1823944671198027181! > --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
