Author: rajikak
Date: Thu Sep 16 04:53:31 2010
New Revision: 997588

URL: http://svn.apache.org/viewvc?rev=997588&view=rev
Log:
Fixed SYNAPSE-620.

Modified:
    
synapse/trunk/java/modules/transports/core/vfs/src/main/java/org/apache/synapse/transport/vfs/VFSTransportListener.java
    
synapse/trunk/java/modules/transports/core/vfs/src/main/java/org/apache/synapse/transport/vfs/VFSUtils.java

Modified: 
synapse/trunk/java/modules/transports/core/vfs/src/main/java/org/apache/synapse/transport/vfs/VFSTransportListener.java
URL: 
http://svn.apache.org/viewvc/synapse/trunk/java/modules/transports/core/vfs/src/main/java/org/apache/synapse/transport/vfs/VFSTransportListener.java?rev=997588&r1=997587&r2=997588&view=diff
==============================================================================
--- 
synapse/trunk/java/modules/transports/core/vfs/src/main/java/org/apache/synapse/transport/vfs/VFSTransportListener.java
 (original)
+++ 
synapse/trunk/java/modules/transports/core/vfs/src/main/java/org/apache/synapse/transport/vfs/VFSTransportListener.java
 Thu Sep 16 04:53:31 2010
@@ -156,7 +156,7 @@ public class VFSTransportListener extend
         FileObject fileObject = null;
 
         if (log.isDebugEnabled()) {
-            log.debug("Scanning directory or file : " + fileURI);
+            log.debug("Scanning directory or file : " + 
VFSUtils.maskURLPassword(fileURI));
         }
 
         boolean wasError = true;
@@ -295,11 +295,11 @@ public class VFSTransportListener extend
                 entry.setNextPollTime(now + entry.getPollInterval());
 
             } else if (log.isDebugEnabled()) {
-                log.debug("Unable to access or read file or directory : " + 
fileURI);
+                log.debug("Unable to access or read file or directory : " + 
VFSUtils.maskURLPassword(fileURI));
             }
             onPollCompletion(entry);
         } catch (FileSystemException e) {
-            processFailure("Error checking for existence and readability : " + 
fileURI, e, entry);
+            processFailure("Error checking for existence and readability : " + 
VFSUtils.maskURLPassword(fileURI), e, entry);
         }
     }
 

Modified: 
synapse/trunk/java/modules/transports/core/vfs/src/main/java/org/apache/synapse/transport/vfs/VFSUtils.java
URL: 
http://svn.apache.org/viewvc/synapse/trunk/java/modules/transports/core/vfs/src/main/java/org/apache/synapse/transport/vfs/VFSUtils.java?rev=997588&r1=997587&r2=997588&view=diff
==============================================================================
--- 
synapse/trunk/java/modules/transports/core/vfs/src/main/java/org/apache/synapse/transport/vfs/VFSUtils.java
 (original)
+++ 
synapse/trunk/java/modules/transports/core/vfs/src/main/java/org/apache/synapse/transport/vfs/VFSUtils.java
 Thu Sep 16 04:53:31 2010
@@ -34,12 +34,24 @@ import java.io.OutputStream;
 import java.util.Arrays;
 import java.util.Map;
 import java.util.Random;
+import java.util.regex.Pattern;
+import java.util.regex.Matcher;
 
 public class VFSUtils extends BaseUtils {
 
     private static final Log log = LogFactory.getLog(VFSUtils.class);
 
     /**
+     * URL pattern
+     */
+    private static final Pattern URL_PATTERN = Pattern.compile("[a-z]+://.*");
+
+    /**
+     * Password pattern
+     */
+    private static final Pattern PASSWORD_PATTERN = 
Pattern.compile(":(?:[^/]+)@");
+
+    /**
      * Get a String property from FileContent message
      *
      * @param message the File message
@@ -168,6 +180,23 @@ public class VFSUtils extends BaseUtils 
         }
     }
 
+    /**
+     * Mask the password of the connection url with ***
+     * @param url the actual url
+     * @return the masked url
+     */
+    public static String maskURLPassword(String url) {
+        final Matcher urlMatcher = URL_PATTERN.matcher(url);
+        String maskUrl;
+        if (urlMatcher.find()) {
+            final Matcher pwdMatcher = PASSWORD_PATTERN.matcher(url);
+            maskUrl = pwdMatcher.replaceFirst("\":*...@\"");
+            return maskUrl;
+        }
+        return url;
+    }
+
+
     private static boolean verifyLock(byte[] lockValue, FileObject lockObject) 
{
         try {
             InputStream is = lockObject.getContent().getInputStream();


Reply via email to