You are viewing a plain text version of this content. The canonical link for it is here.
Posted to server-dev@james.apache.org by no...@apache.org on 2006/06/04 11:15:10 UTC

svn commit: r411542 - in /james/server/trunk/src/java/org/apache/james: smtpserver/DataCmdHandler.java transport/matchers/SMTPIsAuthNetwork.java

Author: norman
Date: Sun Jun  4 02:15:10 2006
New Revision: 411542

URL: http://svn.apache.org/viewvc?rev=411542&view=rev
Log:
Add mailattribute for networks which a allowed to relay and add the matcher for this. See JAMES-263

Added:
    james/server/trunk/src/java/org/apache/james/transport/matchers/SMTPIsAuthNetwork.java
Modified:
    james/server/trunk/src/java/org/apache/james/smtpserver/DataCmdHandler.java

Modified: james/server/trunk/src/java/org/apache/james/smtpserver/DataCmdHandler.java
URL: http://svn.apache.org/viewvc/james/server/trunk/src/java/org/apache/james/smtpserver/DataCmdHandler.java?rev=411542&r1=411541&r2=411542&view=diff
==============================================================================
--- james/server/trunk/src/java/org/apache/james/smtpserver/DataCmdHandler.java (original)
+++ james/server/trunk/src/java/org/apache/james/smtpserver/DataCmdHandler.java Sun Jun  4 02:15:10 2006
@@ -66,6 +66,11 @@
     private final static String SMTP_AUTH_USER_ATTRIBUTE_NAME = "org.apache.james.SMTPAuthUser";
 
     /**
+     * The mail attribute which get set if the client is allowed to relay
+     */
+    private final static String SMTP_AUTH_NETWORK_NAME = "org.apache.james.SMTPIsAuthNetwork";
+
+    /**
      * The character array that indicates termination of an SMTP connection
      */
     private final static char[] SMTPTerminator = { '\r', '\n', '.', '\r', '\n' };
@@ -277,6 +282,11 @@
             if (session.getUser() != null) {
                 mail.setAttribute(SMTP_AUTH_USER_ATTRIBUTE_NAME, session.getUser());
             }
+            
+            if (session.isRelayingAllowed()) {
+                mail.setAttribute(SMTP_AUTH_NETWORK_NAME,"true");
+            }
+            
             session.setMail(mail);
         } finally {
             if (recipientCollection != null) {

Added: james/server/trunk/src/java/org/apache/james/transport/matchers/SMTPIsAuthNetwork.java
URL: http://svn.apache.org/viewvc/james/server/trunk/src/java/org/apache/james/transport/matchers/SMTPIsAuthNetwork.java?rev=411542&view=auto
==============================================================================
--- james/server/trunk/src/java/org/apache/james/transport/matchers/SMTPIsAuthNetwork.java (added)
+++ james/server/trunk/src/java/org/apache/james/transport/matchers/SMTPIsAuthNetwork.java Sun Jun  4 02:15:10 2006
@@ -0,0 +1,50 @@
+/***********************************************************************
+ * Copyright (c) 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.transport.matchers;
+
+import org.apache.mailet.GenericMatcher;
+import org.apache.mailet.Mail;
+
+import java.util.Collection;
+
+/**
+ * <P>
+ * Matches mails that are sent by an client which is allowed to relay.
+ * </P>
+ * 
+ * <PRE><CODE> &lt;mailet match=&quot;SMTPIsAuthNetwork&quot;
+ * class=&quot;&lt;any-class&gt;&quot;&gt; </CODE></PRE>
+ * 
+ */
+public class SMTPIsAuthNetwork extends GenericMatcher {
+
+    /**
+     * The mail attribute which is set if the client is allowed to relay
+     */
+    private final static String SMTP_AUTH_NETWORK_NAME = "org.apache.james.SMTPIsAuthNetwork";
+
+    public Collection match(Mail mail) {
+        String relayingAllowed = (String) mail
+                .getAttribute(SMTP_AUTH_NETWORK_NAME);
+        if (relayingAllowed != null && relayingAllowed.equals("true")) {
+            return mail.getRecipients();
+        } else {
+            return null;
+        }
+    }
+}



---------------------------------------------------------------------
To unsubscribe, e-mail: server-dev-unsubscribe@james.apache.org
For additional commands, e-mail: server-dev-help@james.apache.org