You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@commons.apache.org by se...@apache.org on 2011/01/31 19:28:35 UTC

svn commit: r1065703 - /commons/proper/net/branches/NET_1_X/src/java/org/apache/commons/net/pop3/POP3Client.java

Author: sebb
Date: Mon Jan 31 18:28:35 2011
New Revision: 1065703

URL: http://svn.apache.org/viewvc?rev=1065703&view=rev
Log:
NET-351 - APOP authentication fails most of the time
Fix by adding leading 0 if necessary
Patch due to Bogdan Drozdowski

Modified:
    commons/proper/net/branches/NET_1_X/src/java/org/apache/commons/net/pop3/POP3Client.java

Modified: commons/proper/net/branches/NET_1_X/src/java/org/apache/commons/net/pop3/POP3Client.java
URL: http://svn.apache.org/viewvc/commons/proper/net/branches/NET_1_X/src/java/org/apache/commons/net/pop3/POP3Client.java?rev=1065703&r1=1065702&r2=1065703&view=diff
==============================================================================
--- commons/proper/net/branches/NET_1_X/src/java/org/apache/commons/net/pop3/POP3Client.java (original)
+++ commons/proper/net/branches/NET_1_X/src/java/org/apache/commons/net/pop3/POP3Client.java Mon Jan 31 18:28:35 2011
@@ -191,8 +191,11 @@ public class POP3Client extends POP3
         digest = md5.digest(timestamp.getBytes());
         digestBuffer = new StringBuffer(128);
 
-        for (i = 0; i < digest.length; i++)
-            digestBuffer.append(Integer.toHexString(digest[i] & 0xff));
+        for (i = 0; i < digest.length; i++) {
+            int digit = digest[i] & 0xff;
+            if (digit <= 15) digestBuffer.append("0"); // Add leading zero if necessary (NET-351)
+            digestBuffer.append(Integer.toHexString(digit));            
+        }
 
         buffer = new StringBuffer(256);
         buffer.append(username);