From 3dd40a70ca7861d349f5750a2f865ffdfb464aaa Mon Sep 17 00:00:00 2001 From: Alejandro Abdelnur Date: Mon, 18 Jun 2012 16:28:52 +0000 Subject: [PATCH] HADOOP-8512. AuthenticatedURL should reset the Token when the server returns other than OK on authentication (tucu) git-svn-id: https://svn.apache.org/repos/asf/hadoop/common/trunk@1351408 13f79535-47bb-0310-9956-ffa450edef68 --- .../security/authentication/client/AuthenticatedURL.java | 1 + .../authentication/client/TestAuthenticatedURL.java | 6 +++++- hadoop-common-project/hadoop-common/CHANGES.txt | 3 +++ 3 files changed, 9 insertions(+), 1 deletion(-) diff --git a/hadoop-common-project/hadoop-auth/src/main/java/org/apache/hadoop/security/authentication/client/AuthenticatedURL.java b/hadoop-common-project/hadoop-auth/src/main/java/org/apache/hadoop/security/authentication/client/AuthenticatedURL.java index 5a446609c2..3c59d40b3a 100644 --- a/hadoop-common-project/hadoop-auth/src/main/java/org/apache/hadoop/security/authentication/client/AuthenticatedURL.java +++ b/hadoop-common-project/hadoop-auth/src/main/java/org/apache/hadoop/security/authentication/client/AuthenticatedURL.java @@ -266,6 +266,7 @@ public static void extractToken(HttpURLConnection conn, Token token) throws IOEx } } } else { + token.set(null); throw new AuthenticationException("Authentication failed, status: " + conn.getResponseCode() + ", message: " + conn.getResponseMessage()); } diff --git a/hadoop-common-project/hadoop-auth/src/test/java/org/apache/hadoop/security/authentication/client/TestAuthenticatedURL.java b/hadoop-common-project/hadoop-auth/src/test/java/org/apache/hadoop/security/authentication/client/TestAuthenticatedURL.java index 525af62606..213818793f 100644 --- a/hadoop-common-project/hadoop-auth/src/test/java/org/apache/hadoop/security/authentication/client/TestAuthenticatedURL.java +++ b/hadoop-common-project/hadoop-auth/src/test/java/org/apache/hadoop/security/authentication/client/TestAuthenticatedURL.java @@ -13,6 +13,7 @@ */ package org.apache.hadoop.security.authentication.client; +import junit.framework.Assert; import junit.framework.TestCase; import org.mockito.Mockito; @@ -100,11 +101,14 @@ public void testExtractTokenFail() throws Exception { headers.put("Set-Cookie", cookies); Mockito.when(conn.getHeaderFields()).thenReturn(headers); + AuthenticatedURL.Token token = new AuthenticatedURL.Token(); + token.set("bar"); try { - AuthenticatedURL.extractToken(conn, new AuthenticatedURL.Token()); + AuthenticatedURL.extractToken(conn, token); fail(); } catch (AuthenticationException ex) { // Expected + Assert.assertFalse(token.isSet()); } catch (Exception ex) { fail(); } diff --git a/hadoop-common-project/hadoop-common/CHANGES.txt b/hadoop-common-project/hadoop-common/CHANGES.txt index 885628871b..351aae0d77 100644 --- a/hadoop-common-project/hadoop-common/CHANGES.txt +++ b/hadoop-common-project/hadoop-common/CHANGES.txt @@ -261,6 +261,9 @@ Branch-2 ( Unreleased changes ) HADOOP-8509. JarFinder duplicate entry: META-INF/MANIFEST.MF exception (tucu) + HADOOP-8512. AuthenticatedURL should reset the Token when the server returns + other than OK on authentication (tucu) + BREAKDOWN OF HDFS-3042 SUBTASKS HADOOP-8220. ZKFailoverController doesn't handle failure to become active