On 21 February 2013 09:25,  <joe...@apache.org> wrote:
> Author: joehni
> Date: Thu Feb 21 09:25:37 2013
> New Revision: 1448560
>
> URL: http://svn.apache.org/r1448560
> Log:
> Sent FTP/FTPS commands and the received answer is logged at debug level 
> (VFS-459).
>
> Modified:
>     
> commons/proper/vfs/trunk/core/src/main/java/org/apache/commons/vfs2/provider/ftp/FtpClientFactory.java
>     commons/proper/vfs/trunk/src/changes/changes.xml
>
> Modified: 
> commons/proper/vfs/trunk/core/src/main/java/org/apache/commons/vfs2/provider/ftp/FtpClientFactory.java
> URL: 
> http://svn.apache.org/viewvc/commons/proper/vfs/trunk/core/src/main/java/org/apache/commons/vfs2/provider/ftp/FtpClientFactory.java?rev=1448560&r1=1448559&r2=1448560&view=diff
> ==============================================================================
> --- 
> commons/proper/vfs/trunk/core/src/main/java/org/apache/commons/vfs2/provider/ftp/FtpClientFactory.java
>  (original)
> +++ 
> commons/proper/vfs/trunk/core/src/main/java/org/apache/commons/vfs2/provider/ftp/FtpClientFactory.java
>  Thu Feb 21 09:25:37 2013
> @@ -17,7 +17,13 @@
>  package org.apache.commons.vfs2.provider.ftp;
>
>  import java.io.IOException;
> +import java.io.PrintWriter;
> +import java.io.StringWriter;
> +import java.io.Writer;
>
> +import org.apache.commons.logging.Log;
> +import org.apache.commons.logging.LogFactory;
> +import org.apache.commons.net.PrintCommandListener;
>  import org.apache.commons.net.ftp.FTPClient;
>  import org.apache.commons.net.ftp.FTPClientConfig;
>  import org.apache.commons.net.ftp.FTPReply;
> @@ -72,6 +78,7 @@ public final class FtpClientFactory
>          private static final char[] ANON_CHAR_ARRAY = 
> "anonymous".toCharArray();
>         private static final int BUFSZ = 40;
>
> +       protected Log log = LogFactory.getLog(getClass());
>         protected B builder;
>
>          protected ConnectionFactory(B builder)
> @@ -97,6 +104,23 @@ public final class FtpClientFactory
>                 {
>                     final C client = createClient(fileSystemOptions);
>
> +                   if (log.isDebugEnabled()) {
> +                                       final Writer writer = new 
> StringWriter(1024){
> +                                               @Override
> +                                               public void flush()
> +                                               {
> +                                                       final StringBuffer 
> buffer = getBuffer();
> +                                                       String message = 
> buffer.toString();
> +                                                       if 
> (message.toUpperCase().startsWith("PASS ") && message.length() > 5) {
> +                                                               message = 
> "PASS ***";
> +                                                       }
> +                                                       log.debug(message);
> +                                                       buffer.setLength(0);
> +                                               }
> +                       };
> +                       client.addProtocolCommandListener(new 
> PrintCommandListener(new PrintWriter(writer)));

Why not use the built-in login suppression facility?

client.addProtocolCommandListener(new PrintCommandListener(new
PrintWriter(writer), true));

Also, AFAICT the obfuscation only applies to messages which happen to
have the PASS command at the start of a buffer when flush is called.

> +                   }
> +
>                     configureClient(fileSystemOptions, client);
>
>                                 final FTPFileEntryParserFactory myFactory =
>
> Modified: commons/proper/vfs/trunk/src/changes/changes.xml
> URL: 
> http://svn.apache.org/viewvc/commons/proper/vfs/trunk/src/changes/changes.xml?rev=1448560&r1=1448559&r2=1448560&view=diff
> ==============================================================================
> --- commons/proper/vfs/trunk/src/changes/changes.xml (original)
> +++ commons/proper/vfs/trunk/src/changes/changes.xml Thu Feb 21 09:25:37 2013
> @@ -26,7 +26,10 @@
>  <!--       <action issue="VFS-443" dev="ggregory" type="update" 
> due-to="nickallen"> -->
>  <!--           [Local] Need an easy way to convert from a FileObject to a 
> File. -->
>  <!--       </action> -->
> -      <action issue="VFS-458" dev="jos" type="fix">
> +      <action issue="VFS-459" dev="joehni" type="update">
> +        Sent FTP/FTPS commands and the received answer is logged at debug 
> level.
> +      </action>
> +      <action issue="VFS-458" dev="joehni" type="fix">
>          FTPS provider missed functionality and bug fixes already available 
> for the FTP provider.
>        </action>
>        <action issue="VFS-452" dev="ggregory" type="fix" due-to="Jean-Marc 
> Borer">
>
>

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscr...@commons.apache.org
For additional commands, e-mail: dev-h...@commons.apache.org

Reply via email to