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]

Reply via email to