Author: rdonkin
Date: Tue Sep 15 13:38:30 2009
New Revision: 815326

URL: http://svn.apache.org/viewvc?rev=815326&view=rev
Log:
JAMES-917 Add session sensitive logging 
http://issues.apache.org/jira/browse/JAMES-917

Modified:
    
james/server/trunk/smtpserver-function/src/main/java/org/apache/james/smtpserver/core/DataLineMessageHookHandler.java
    
james/server/trunk/smtpserver-function/src/main/java/org/apache/james/smtpserver/core/filter/fastfail/DNSRBLHandler.java
    
james/server/trunk/smtpserver-function/src/main/java/org/apache/james/smtpserver/core/filter/fastfail/GreylistHandler.java
    
james/server/trunk/smtpserver-function/src/main/java/org/apache/james/smtpserver/core/filter/fastfail/SPFHandler.java
    
james/server/trunk/smtpserver-function/src/main/java/org/apache/james/smtpserver/core/filter/fastfail/SpamTrapHandler.java
    
james/server/trunk/smtpserver-function/src/main/java/org/apache/james/smtpserver/core/filter/fastfail/URIRBLHandler.java
    
james/server/trunk/smtpserver-function/src/main/java/org/apache/james/smtpserver/core/filter/fastfail/ValidRcptHandler.java

Modified: 
james/server/trunk/smtpserver-function/src/main/java/org/apache/james/smtpserver/core/DataLineMessageHookHandler.java
URL: 
http://svn.apache.org/viewvc/james/server/trunk/smtpserver-function/src/main/java/org/apache/james/smtpserver/core/DataLineMessageHookHandler.java?rev=815326&r1=815325&r2=815326&view=diff
==============================================================================
--- 
james/server/trunk/smtpserver-function/src/main/java/org/apache/james/smtpserver/core/DataLineMessageHookHandler.java
 (original)
+++ 
james/server/trunk/smtpserver-function/src/main/java/org/apache/james/smtpserver/core/DataLineMessageHookHandler.java
 Tue Sep 15 13:38:30 2009
@@ -103,7 +103,7 @@
     
                 } catch (MessagingException e) {
                     // TODO probably return a temporary problem
-                    getLogger().info("Unexpected error handling DATA 
stream",e);
+                    session.getLogger().info("Unexpected error handling DATA 
stream",e);
                     session.writeSMTPResponse(new 
SMTPResponse(SMTPRetCode.LOCAL_ERROR, "Unexpected error handling DATA 
stream."));
                 } finally {
                     ContainerUtil.dispose(mimeMessageCopyOnWriteProxy);
@@ -128,7 +128,7 @@
             response = new 
SMTPResponse(SMTPRetCode.LOCAL_ERROR,DSNStatus.getStatus(DSNStatus.TRANSIENT,
                             DSNStatus.UNDEFINED_STATUS) + " Error processing 
message: " + e.getMessage());
             
-            getLogger().error(
+            session.getLogger().error(
                     "Unknown error occurred while processing DATA.", e);
             session.writeSMTPResponse(response);
             return;
@@ -145,13 +145,13 @@
                 int count = messageHandlers.size();
                 for(int i =0; i < count; i++) {
                     Object rawHandler =  messageHandlers.get(i);
-                    getLogger().debug("executing message handler " + 
rawHandler);
+                    session.getLogger().debug("executing message handler " + 
rawHandler);
                     HookResult hRes = 
((MessageHook)rawHandler).onMessage(session, (Mail) mail);
                     
                     if (rHooks != null) {
                         for (int i2 = 0; i2 < rHooks.size(); i2++) {
                             Object rHook = rHooks.get(i2);
-                            getLogger().debug("executing hook " + rHook);
+                            session.getLogger().debug("executing hook " + 
rHook);
                             hRes = ((HookResultHook) 
rHook).onHookResult(session, hRes, rawHandler);
                         }
                     }

Modified: 
james/server/trunk/smtpserver-function/src/main/java/org/apache/james/smtpserver/core/filter/fastfail/DNSRBLHandler.java
URL: 
http://svn.apache.org/viewvc/james/server/trunk/smtpserver-function/src/main/java/org/apache/james/smtpserver/core/filter/fastfail/DNSRBLHandler.java?rev=815326&r1=815325&r2=815326&view=diff
==============================================================================
--- 
james/server/trunk/smtpserver-function/src/main/java/org/apache/james/smtpserver/core/filter/fastfail/DNSRBLHandler.java
 (original)
+++ 
james/server/trunk/smtpserver-function/src/main/java/org/apache/james/smtpserver/core/filter/fastfail/DNSRBLHandler.java
 Tue Sep 15 13:38:30 2009
@@ -177,7 +177,7 @@
          * This whould make no sense.
          */
         if (session.isRelayingAllowed()) {
-            getLogger().info("Ipaddress " + session.getRemoteIPAddress() + " 
is allowed to relay. Don't check it");
+            session.getLogger().info("Ipaddress " + 
session.getRemoteIPAddress() + " is allowed to relay. Don't check it");
             return;
         }
         
@@ -193,14 +193,14 @@
                 String[] rblList = whitelist;
                 for (int i = 0 ; i < rblList.length ; i++) try {
                     dnsService.getByName(reversedOctets + rblList[i]);
-                    if (getLogger().isInfoEnabled()) {
-                        getLogger().info("Connection from " + ipAddress + " 
whitelisted by " + rblList[i]);
+                    if (session.getLogger().isInfoEnabled()) {
+                        session.getLogger().info("Connection from " + 
ipAddress + " whitelisted by " + rblList[i]);
                     }
                     
                     return;
                 } catch (java.net.UnknownHostException uhe) {
-                    if (getLogger().isDebugEnabled()) {
-                        getLogger().debug("IpAddress " + 
session.getRemoteIPAddress() + " not listed on " + rblList[i]);
+                    if (session.getLogger().isDebugEnabled()) {
+                        session.getLogger().debug("IpAddress " + 
session.getRemoteIPAddress() + " not listed on " + rblList[i]);
                     }
                 }
             }
@@ -209,8 +209,8 @@
                 String[] rblList = blacklist;
                 for (int i = 0 ; i < rblList.length ; i++) try {
                     dnsService.getByName(reversedOctets + rblList[i]);
-                    if (getLogger().isInfoEnabled()) {
-                        getLogger().info("Connection from " + ipAddress + " 
restricted by " + rblList[i] + " to SMTP AUTH/postmaster/abuse.");
+                    if (session.getLogger().isInfoEnabled()) {
+                        session.getLogger().info("Connection from " + 
ipAddress + " restricted by " + rblList[i] + " to SMTP AUTH/postmaster/abuse.");
                     }
                     
                     // we should try to retrieve details
@@ -230,8 +230,8 @@
                     return;
                 } catch (java.net.UnknownHostException uhe) {
                     // if it is unknown, it isn't blocked
-                    if (getLogger().isDebugEnabled()) {
-                        getLogger().debug("unknown host exception thrown:" + 
rblList[i]);
+                    if (session.getLogger().isDebugEnabled()) {
+                        session.getLogger().debug("unknown host exception 
thrown:" + rblList[i]);
                     }
                 }
             }

Modified: 
james/server/trunk/smtpserver-function/src/main/java/org/apache/james/smtpserver/core/filter/fastfail/GreylistHandler.java
URL: 
http://svn.apache.org/viewvc/james/server/trunk/smtpserver-function/src/main/java/org/apache/james/smtpserver/core/filter/fastfail/GreylistHandler.java?rev=815326&r1=815325&r2=815326&view=diff
==============================================================================
--- 
james/server/trunk/smtpserver-function/src/main/java/org/apache/james/smtpserver/core/filter/fastfail/GreylistHandler.java
 (original)
+++ 
james/server/trunk/smtpserver-function/src/main/java/org/apache/james/smtpserver/core/filter/fastfail/GreylistHandler.java
 Tue Sep 15 13:38:30 2009
@@ -316,7 +316,7 @@
                 count = Integer.parseInt(data.next());
             }
             
-            getLogger().debug("Triplet " + ipAddress + " | " + sender + " | " 
+ recip  +" -> TimeStamp: " + createTimeStamp);
+            session.getLogger().debug("Triplet " + ipAddress + " | " + sender 
+ " | " + recip  +" -> TimeStamp: " + createTimeStamp);
 
 
             // if the timestamp is bigger as 0 we have allready a triplet 
stored
@@ -328,14 +328,14 @@
                         + " Temporary rejected: Reconnect to fast. Please try 
again later");
                 } else {
                     
-                    getLogger().debug("Update triplet " + ipAddress + " | " + 
sender + " | " + recip + " -> timestamp: " + time);
+                    session.getLogger().debug("Update triplet " + ipAddress + 
" | " + sender + " | " + recip + " -> timestamp: " + time);
                     
                     // update the triplet..
                     updateTriplet(datasource.getConnection(), ipAddress, 
sender, recip, count, time);
 
                 }
             } else {
-                getLogger().debug("New triplet " + ipAddress + " | " + sender 
+ " | " + recip );
+                session.getLogger().debug("New triplet " + ipAddress + " | " + 
sender + " | " + recip );
            
                 // insert a new triplet
                 insertTriplet(datasource.getConnection(), ipAddress, sender, 
recip, count, time);
@@ -349,7 +349,7 @@
             if (Math.random() > 0.99) {
                 // cleanup old entries
             
-                getLogger().debug("Delete old entries");
+                session.getLogger().debug("Delete old entries");
             
                 cleanupAutoWhiteListGreyList(datasource.getConnection(),(time 
- autoWhiteListLifeTime));
                 cleanupGreyList(datasource.getConnection(), (time - 
unseenLifeTime));
@@ -357,7 +357,7 @@
 
         } catch (SQLException e) {
             // just log the exception
-            getLogger().error("Error on SQLquery: " + e.getMessage());
+            session.getLogger().error("Error on SQLquery: " + e.getMessage());
         }
         return new HookResult(HookReturnCode.DECLINED);
     }
@@ -645,10 +645,10 @@
             if ((wNetworks == null) || 
(!wNetworks.matchInetNetwork(session.getRemoteIPAddress()))) {
                 return doGreyListCheck(session, sender,rcpt);
             } else {
-                getLogger().info("IpAddress " + session.getRemoteIPAddress() + 
" is whitelisted. Skip greylisting.");
+                session.getLogger().info("IpAddress " + 
session.getRemoteIPAddress() + " is whitelisted. Skip greylisting.");
             }
         } else {
-            getLogger().info("IpAddress " + session.getRemoteIPAddress() + " 
is allowed to send. Skip greylisting.");
+            session.getLogger().info("IpAddress " + 
session.getRemoteIPAddress() + " is allowed to send. Skip greylisting.");
         }
         return new HookResult(HookReturnCode.DECLINED);
     }

Modified: 
james/server/trunk/smtpserver-function/src/main/java/org/apache/james/smtpserver/core/filter/fastfail/SPFHandler.java
URL: 
http://svn.apache.org/viewvc/james/server/trunk/smtpserver-function/src/main/java/org/apache/james/smtpserver/core/filter/fastfail/SPFHandler.java?rev=815326&r1=815325&r2=815326&view=diff
==============================================================================
--- 
james/server/trunk/smtpserver-function/src/main/java/org/apache/james/smtpserver/core/filter/fastfail/SPFHandler.java
 (original)
+++ 
james/server/trunk/smtpserver-function/src/main/java/org/apache/james/smtpserver/core/filter/fastfail/SPFHandler.java
 Tue Sep 15 13:38:30 2009
@@ -156,11 +156,11 @@
 
         // We have no Sender or HELO/EHLO yet return false
         if (sender == null || heloEhlo == null) {
-            getLogger().info("No Sender or HELO/EHLO present");
+            session.getLogger().info("No Sender or HELO/EHLO present");
         } else {
             // No checks for authorized cliends
             if (session.isRelayingAllowed() && checkAuthNetworks == false) {
-                getLogger().info(
+                session.getLogger().info(
                         "Ipaddress " + session.getRemoteIPAddress()
                                 + " is allowed to relay. Don't check it");
             } else {
@@ -178,7 +178,7 @@
                 // Store the header
                 session.getState().put(SPF_HEADER, result.getHeaderText());
 
-                getLogger().info(
+                session.getLogger().info(
                         "Result for " + ip + " - " + sender + " - " + heloEhlo
                                 + " = " + spfResult);
 

Modified: 
james/server/trunk/smtpserver-function/src/main/java/org/apache/james/smtpserver/core/filter/fastfail/SpamTrapHandler.java
URL: 
http://svn.apache.org/viewvc/james/server/trunk/smtpserver-function/src/main/java/org/apache/james/smtpserver/core/filter/fastfail/SpamTrapHandler.java?rev=815326&r1=815325&r2=815326&view=diff
==============================================================================
--- 
james/server/trunk/smtpserver-function/src/main/java/org/apache/james/smtpserver/core/filter/fastfail/SpamTrapHandler.java
 (original)
+++ 
james/server/trunk/smtpserver-function/src/main/java/org/apache/james/smtpserver/core/filter/fastfail/SpamTrapHandler.java
 Tue Sep 15 13:38:30 2009
@@ -26,8 +26,6 @@
 import java.util.List;
 import java.util.Map;
 
-
-import org.apache.avalon.framework.logger.AbstractLogEnabled;
 import org.apache.commons.configuration.Configuration;
 import org.apache.commons.configuration.ConfigurationException;
 import org.apache.james.smtpserver.Configurable;
@@ -41,14 +39,14 @@
  * This handler can be used for providing a spam trap. IPAddresses which send 
emails to the configured
  * recipients will get blacklisted for the configured time.
  */
-public class SpamTrapHandler extends AbstractLogEnabled implements 
RcptHook,Configurable{
+public class SpamTrapHandler implements RcptHook,Configurable{
 
-    // Map which hold blockedIps and blockTime in memory
+    /** Map which hold blockedIps and blockTime in memory */
     private Map<String,Long> blockedIps = new HashMap<String,Long>();
     
     private Collection<String> spamTrapRecips = new ArrayList<String>();
     
-    // Default blocktime 12 hours
+    /** Default blocktime 12 hours */
     private long blockTime = 4320000; 
     
     /**
@@ -80,13 +78,13 @@
      * @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 (isBlocked(session.getRemoteIPAddress())) {
+        if (isBlocked(session.getRemoteIPAddress(), session)) {
             return new HookResult(HookReturnCode.DENY);
         } else {
          
             if (spamTrapRecips.contains(rcpt.toString().toLowerCase())){
         
-                addIp(session.getRemoteIPAddress());
+                addIp(session.getRemoteIPAddress(), session);
             
                 return new HookResult(HookReturnCode.DENY);
             }
@@ -99,19 +97,20 @@
      * Check if ipAddress is in the blockList.
      * 
      * @param ip ipAddress to check
+     * @param session not null
      * @return true or false
      */
-    private boolean isBlocked(String ip) {
+    private boolean isBlocked(String ip, SMTPSession session) {
         Long rawTime = blockedIps.get(ip);
     
         if (rawTime != null) {
             long blockTime = rawTime.longValue();
            
             if (blockTime > System.currentTimeMillis()) {
-                getLogger().debug("BlockList contain Ip " + ip);
+                session.getLogger().debug("BlockList contain Ip " + ip);
                 return true;
             } else {
-                getLogger().debug("Remove ip " + ip + " from blockList");
+                session.getLogger().debug("Remove ip " + ip + " from 
blockList");
                
                 synchronized(blockedIps) {
                     blockedIps.remove(ip);
@@ -125,11 +124,12 @@
      * Add ipaddress to blockList
      * 
      * @param ip IpAddress to add
+     * @param session not null
      */
-    private void addIp(String ip) {
+    private void addIp(String ip, SMTPSession session) {
         long bTime = System.currentTimeMillis() + blockTime;
         
-        getLogger().debug("Add ip " + ip + " for " + bTime + " to blockList");
+        session.getLogger().debug("Add ip " + ip + " for " + bTime + " to 
blockList");
     
         synchronized(blockedIps) {
             blockedIps.put(ip, new Long(bTime));

Modified: 
james/server/trunk/smtpserver-function/src/main/java/org/apache/james/smtpserver/core/filter/fastfail/URIRBLHandler.java
URL: 
http://svn.apache.org/viewvc/james/server/trunk/smtpserver-function/src/main/java/org/apache/james/smtpserver/core/filter/fastfail/URIRBLHandler.java?rev=815326&r1=815325&r2=815326&view=diff
==============================================================================
--- 
james/server/trunk/smtpserver-function/src/main/java/org/apache/james/smtpserver/core/filter/fastfail/URIRBLHandler.java
 (original)
+++ 
james/server/trunk/smtpserver-function/src/main/java/org/apache/james/smtpserver/core/filter/fastfail/URIRBLHandler.java
 Tue Sep 15 13:38:30 2009
@@ -177,14 +177,15 @@
      * strings that are found are added to the supplied HashSet.
      *
      * @param part MimePart to scan
+     * @param session not null
      * @return domains The HashSet that contains the domains which were 
extracted
      */
-    private HashSet<String> scanMailForDomains(MimePart part) throws 
MessagingException, IOException {
+    private HashSet<String> scanMailForDomains(MimePart part, SMTPSession 
session) throws MessagingException, IOException {
         HashSet<String> domains = new HashSet<String>();
-        getLogger().debug("mime type is: \"" + part.getContentType() + "\"");
+        session.getLogger().debug("mime type is: \"" + part.getContentType() + 
"\"");
        
         if (part.isMimeType("text/plain") || part.isMimeType("text/html")) {
-            getLogger().debug("scanning: \"" + part.getContent().toString() + 
"\"");
+            session.getLogger().debug("scanning: \"" + 
part.getContent().toString() + "\"");
             HashSet<String> newDom = URIScanner.scanContentForDomains(domains, 
part.getContent().toString());
            
             // Check if new domains are found and add the domains 
@@ -194,12 +195,12 @@
         } else if (part.isMimeType("multipart/*")) {
             MimeMultipart multipart = (MimeMultipart) part.getContent();
             int count = multipart.getCount();
-            getLogger().debug("multipart count is: " + count);
+            session.getLogger().debug("multipart count is: " + count);
           
             for (int index = 0; index < count; index++) {
-                getLogger().debug("recursing index: " + index);
+                session.getLogger().debug("recursing index: " + index);
                 MimeBodyPart mimeBodyPart = (MimeBodyPart) 
multipart.getBodyPart(index);
-                HashSet<String> newDomains = scanMailForDomains(mimeBodyPart);
+                HashSet<String> newDomains = scanMailForDomains(mimeBodyPart, 
session);
                 
                 // Check if new domains are found and add the domains 
                 if(newDomains != null && newDomains.size() > 0) {
@@ -224,7 +225,7 @@
         try {
             message = mail.getMessage();
 
-            HashSet<String> domains = scanMailForDomains(message);
+            HashSet<String> domains = scanMailForDomains(message, session);
 
             Iterator<String> fDomains = domains.iterator();
 
@@ -237,8 +238,8 @@
                         String uRblServer = uRbl.next().toString();
                         String address = target + "." + uRblServer;
                         
-                        if (getLogger().isDebugEnabled()) {
-                            getLogger().debug("Lookup " + address);
+                        if (session.getLogger().isDebugEnabled()) {
+                            session.getLogger().debug("Lookup " + address);
                         }
                         
                         dnsService.getByName(address);
@@ -255,9 +256,9 @@
                 }
             }
         } catch (MessagingException e) {
-            getLogger().error(e.getMessage());
+            session.getLogger().error(e.getMessage());
         } catch (IOException e) {
-            getLogger().error(e.getMessage());
+            session.getLogger().error(e.getMessage());
         }
         return false;
     }

Modified: 
james/server/trunk/smtpserver-function/src/main/java/org/apache/james/smtpserver/core/filter/fastfail/ValidRcptHandler.java
URL: 
http://svn.apache.org/viewvc/james/server/trunk/smtpserver-function/src/main/java/org/apache/james/smtpserver/core/filter/fastfail/ValidRcptHandler.java?rev=815326&r1=815325&r2=815326&view=diff
==============================================================================
--- 
james/server/trunk/smtpserver-function/src/main/java/org/apache/james/smtpserver/core/filter/fastfail/ValidRcptHandler.java
 (original)
+++ 
james/server/trunk/smtpserver-function/src/main/java/org/apache/james/smtpserver/core/filter/fastfail/ValidRcptHandler.java
 Tue Sep 15 13:38:30 2009
@@ -190,7 +190,7 @@
                     }
                 } catch (ErrorMappingException e) {
                     String responseString = e.getMessage();
-                    getLogger().info("Rejected message. Reject Message: " + 
responseString);
+                    session.getLogger().info("Rejected message. Reject 
Message: " + responseString);
                     SMTPResponse resp = new SMTPResponse(responseString);
                     return new 
HookResult(HookReturnCode.DENY,resp.getRetCode(),resp.getLines().get(0));
                 }
@@ -211,11 +211,11 @@
         
             if (invalidUser == true) {
                 //user not exist
-                getLogger().info("Rejected message. Unknown user: " + 
rcpt.toString());
+                session.getLogger().info("Rejected message. Unknown user: " + 
rcpt.toString());
                 return new 
HookResult(HookReturnCode.DENY,SMTPRetCode.TRANSACTION_FAILED, 
DSNStatus.getStatus(DSNStatus.PERMANENT,DSNStatus.ADDRESS_MAILBOX) + " Unknown 
user: " + rcpt.toString());
             }
         } else {
-            getLogger().debug("Sender allowed");
+            session.getLogger().debug("Sender allowed");
         }
         return new HookResult(HookReturnCode.DECLINED);
     }



---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to