| 
					
				 | 
			
			
				@@ -20,11 +20,14 @@ import junit.framework.TestCase; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import org.acegisecurity.DisabledException; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import org.acegisecurity.MockFilterConfig; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import org.acegisecurity.UserDetails; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import org.acegisecurity.context.SecurityContextHolder; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import org.acegisecurity.context.SecurityContextImpl; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import org.acegisecurity.providers.dao.AuthenticationDao; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import org.acegisecurity.providers.dao.UserCache; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import org.acegisecurity.providers.dao.UsernameNotFoundException; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import org.acegisecurity.util.StringSplitUtils; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import org.apache.commons.codec.binary.Base64; 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -114,8 +117,8 @@ public class DigestProcessingFilterTests extends TestCase { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         String nc = "00000002"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         String cnonce = "c822c727a648aba7"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         String password = "koala"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        String responseDigest = DigestProcessingFilter.generateDigest(username, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                realm, password, "GET", uri, qop, nonce, nc, cnonce); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        String responseDigest = DigestProcessingFilter.generateDigest(false, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                username, realm, password, "GET", uri, qop, nonce, nc, cnonce); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         // Setup our HTTP request 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         MockHttpServletRequest request = new MockHttpServletRequest("GET", uri); 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -263,8 +266,8 @@ public class DigestProcessingFilterTests extends TestCase { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         String nc = "00000002"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         String cnonce = "c822c727a648aba7"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         String password = "koala"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        String responseDigest = DigestProcessingFilter.generateDigest(username, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                realm, password, "GET", uri, qop, nonce, nc, cnonce); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        String responseDigest = DigestProcessingFilter.generateDigest(false, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                username, realm, password, "GET", uri, qop, nonce, nc, cnonce); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         // Setup our HTTP request 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         MockHttpServletRequest request = new MockHttpServletRequest(); 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -307,8 +310,8 @@ public class DigestProcessingFilterTests extends TestCase { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         String nc = "00000002"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         String cnonce = "c822c727a648aba7"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         String password = "koala"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        String responseDigest = DigestProcessingFilter.generateDigest(username, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                realm, password, "GET", uri, qop, nonce, nc, cnonce); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        String responseDigest = DigestProcessingFilter.generateDigest(false, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                username, realm, password, "GET", uri, qop, nonce, nc, cnonce); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         // Setup our HTTP request 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         MockHttpServletRequest request = new MockHttpServletRequest(); 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -351,8 +354,8 @@ public class DigestProcessingFilterTests extends TestCase { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         String nc = "00000002"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         String cnonce = "c822c727a648aba7"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         String password = "koala"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        String responseDigest = DigestProcessingFilter.generateDigest(username, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                realm, password, "GET", uri, qop, nonce, nc, cnonce); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        String responseDigest = DigestProcessingFilter.generateDigest(false, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                username, realm, password, "GET", uri, qop, nonce, nc, cnonce); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         // Setup our HTTP request 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         MockHttpServletRequest request = new MockHttpServletRequest(); 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -395,8 +398,8 @@ public class DigestProcessingFilterTests extends TestCase { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         String nc = "00000002"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         String cnonce = "c822c727a648aba7"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         String password = "koala"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        String responseDigest = DigestProcessingFilter.generateDigest(username, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                realm, password, "GET", uri, qop, nonce, nc, cnonce); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        String responseDigest = DigestProcessingFilter.generateDigest(false, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                username, realm, password, "GET", uri, qop, nonce, nc, cnonce); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         // Setup our HTTP request 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         MockHttpServletRequest request = new MockHttpServletRequest(); 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -426,7 +429,54 @@ public class DigestProcessingFilterTests extends TestCase { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         assertEquals(401, response.getStatus()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    public void testNormalOperation() throws Exception { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public void testNormalOperationWhenPasswordIsAlreadyEncoded() 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        throws Exception { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        Map responseHeaderMap = generateValidHeaders(60); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        String username = "marissa"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        String realm = (String) responseHeaderMap.get("realm"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        String nonce = (String) responseHeaderMap.get("nonce"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        String uri = "/some_file.html"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        String qop = (String) responseHeaderMap.get("qop"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        String nc = "00000002"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        String cnonce = "c822c727a648aba7"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        String password = DigestProcessingFilter.encodePasswordInA1Format(username, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                realm, "koala"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        String responseDigest = DigestProcessingFilter.generateDigest(true, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                username, realm, password, "GET", uri, qop, nonce, nc, cnonce); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        // Setup our HTTP request 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        MockHttpServletRequest request = new MockHttpServletRequest("GET", uri); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        request.addHeader("Authorization", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            createAuthorizationHeader(username, realm, nonce, uri, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                responseDigest, qop, nc, cnonce)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        request.setServletPath("/some_file.html"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        // Launch an application context and access our bean 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        ApplicationContext ctx = new ClassPathXmlApplicationContext( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                "org/acegisecurity/ui/digestauth/filtertest-valid.xml"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        DigestProcessingFilter filter = (DigestProcessingFilter) ctx.getBean( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                "digestProcessingFilter"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        // Setup our filter configuration 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        MockFilterConfig config = new MockFilterConfig(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        // Setup our expectation that the filter chain will be invoked 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        MockFilterChain chain = new MockFilterChain(true); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        MockHttpServletResponse response = new MockHttpServletResponse(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        // Test 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        executeFilterInContainerSimulator(config, filter, request, response, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            chain); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        assertNotNull(SecurityContextHolder.getContext().getAuthentication()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        assertEquals("marissa", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            ((UserDetails) SecurityContextHolder.getContext().getAuthentication() 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                                                .getPrincipal()).getUsername()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public void testNormalOperationWhenPasswordNotAlreadyEncoded() 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        throws Exception { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         Map responseHeaderMap = generateValidHeaders(60); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         String username = "marissa"; 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -437,8 +487,8 @@ public class DigestProcessingFilterTests extends TestCase { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         String nc = "00000002"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         String cnonce = "c822c727a648aba7"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         String password = "koala"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        String responseDigest = DigestProcessingFilter.generateDigest(username, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                realm, password, "GET", uri, qop, nonce, nc, cnonce); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        String responseDigest = DigestProcessingFilter.generateDigest(false, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                username, realm, password, "GET", uri, qop, nonce, nc, cnonce); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         // Setup our HTTP request 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         MockHttpServletRequest request = new MockHttpServletRequest("GET", uri); 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -466,8 +516,8 @@ public class DigestProcessingFilterTests extends TestCase { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         assertNotNull(SecurityContextHolder.getContext().getAuthentication()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         assertEquals("marissa", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            ((UserDetails) SecurityContextHolder.getContext().getAuthentication().getPrincipal()) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            .getUsername()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            ((UserDetails) SecurityContextHolder.getContext().getAuthentication() 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                                                .getPrincipal()).getUsername()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     public void testOtherAuthorizationSchemeIsIgnored() 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -535,8 +585,8 @@ public class DigestProcessingFilterTests extends TestCase { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         String nc = "00000002"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         String cnonce = "c822c727a648aba7"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         String password = "koala"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        String responseDigest = DigestProcessingFilter.generateDigest(username, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                realm, password, "GET", uri, qop, nonce, nc, cnonce); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        String responseDigest = DigestProcessingFilter.generateDigest(false, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                username, realm, password, "GET", uri, qop, nonce, nc, cnonce); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         // Setup our HTTP request 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         MockHttpServletRequest request = new MockHttpServletRequest("GET", uri); 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -566,8 +616,8 @@ public class DigestProcessingFilterTests extends TestCase { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         // Now retry, giving an invalid nonce 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         password = "WRONG_PASSWORD"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        responseDigest = DigestProcessingFilter.generateDigest(username, realm, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                password, "GET", uri, qop, nonce, nc, cnonce); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        responseDigest = DigestProcessingFilter.generateDigest(false, username, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                realm, password, "GET", uri, qop, nonce, nc, cnonce); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         request = new MockHttpServletRequest(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         request.addHeader("Authorization", 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -593,8 +643,9 @@ public class DigestProcessingFilterTests extends TestCase { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         String nc = "00000002"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         String cnonce = "NOT_SAME_AS_USED_FOR_DIGEST_COMPUTATION"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         String password = "koala"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        String responseDigest = DigestProcessingFilter.generateDigest(username, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                realm, password, "GET", uri, qop, nonce, nc, "DIFFERENT_CNONCE"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        String responseDigest = DigestProcessingFilter.generateDigest(false, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                username, realm, password, "GET", uri, qop, nonce, nc, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                "DIFFERENT_CNONCE"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         // Setup our HTTP request 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         MockHttpServletRequest request = new MockHttpServletRequest("GET", uri); 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -635,8 +686,8 @@ public class DigestProcessingFilterTests extends TestCase { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         String nc = "00000002"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         String cnonce = "c822c727a648aba7"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         String password = "WRONG_PASSWORD"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        String responseDigest = DigestProcessingFilter.generateDigest(username, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                realm, password, "GET", uri, qop, nonce, nc, cnonce); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        String responseDigest = DigestProcessingFilter.generateDigest(false, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                username, realm, password, "GET", uri, qop, nonce, nc, cnonce); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         // Setup our HTTP request 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         MockHttpServletRequest request = new MockHttpServletRequest("GET", uri); 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -677,8 +728,8 @@ public class DigestProcessingFilterTests extends TestCase { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         String nc = "00000002"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         String cnonce = "c822c727a648aba7"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         String password = "koala"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        String responseDigest = DigestProcessingFilter.generateDigest(username, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                realm, password, "GET", uri, qop, nonce, nc, cnonce); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        String responseDigest = DigestProcessingFilter.generateDigest(false, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                username, realm, password, "GET", uri, qop, nonce, nc, cnonce); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         // Setup our HTTP request 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         MockHttpServletRequest request = new MockHttpServletRequest("GET", uri); 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -719,8 +770,8 @@ public class DigestProcessingFilterTests extends TestCase { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         String nc = "00000002"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         String cnonce = "c822c727a648aba7"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         String password = "koala"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        String responseDigest = DigestProcessingFilter.generateDigest(username, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                realm, password, "GET", uri, qop, nonce, nc, cnonce); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        String responseDigest = DigestProcessingFilter.generateDigest(false, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                username, realm, password, "GET", uri, qop, nonce, nc, cnonce); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         // Setup our HTTP request 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         MockHttpServletRequest request = new MockHttpServletRequest("GET", uri); 
			 |