You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@hc.apache.org by ol...@apache.org on 2012/12/20 14:04:50 UTC
svn commit: r1424447 - in /httpcomponents/httpclient/trunk: RELEASE_NOTES.txt
httpclient/src/main/java/org/apache/http/impl/auth/GGSSchemeBase.java
Author: olegk
Date: Thu Dec 20 13:04:50 2012
New Revision: 1424447
URL: http://svn.apache.org/viewvc?rev=1424447&view=rev
Log:
Kerberos and SPNego auth schemes use incorrect authorization header name when authenticating with a proxy
Modified:
httpcomponents/httpclient/trunk/RELEASE_NOTES.txt
httpcomponents/httpclient/trunk/httpclient/src/main/java/org/apache/http/impl/auth/GGSSchemeBase.java
Modified: httpcomponents/httpclient/trunk/RELEASE_NOTES.txt
URL: http://svn.apache.org/viewvc/httpcomponents/httpclient/trunk/RELEASE_NOTES.txt?rev=1424447&r1=1424446&r2=1424447&view=diff
==============================================================================
--- httpcomponents/httpclient/trunk/RELEASE_NOTES.txt (original)
+++ httpcomponents/httpclient/trunk/RELEASE_NOTES.txt Thu Dec 20 13:04:50 2012
@@ -1,6 +1,10 @@
Changes in trunk
-------------------
+* Kerberos and SPNego auth schemes use incorrect authorization header name when authenticating
+ with a proxy.
+ Contributed by Oleg Kalnichevski <olegk at apache.org>
+
* [HTTPCLIENT-1283] NTLM needs to use Locale-independent form of
toUpperCase().
Contributed by Karl Wright <DaddyWri at gmail.com>
Modified: httpcomponents/httpclient/trunk/httpclient/src/main/java/org/apache/http/impl/auth/GGSSchemeBase.java
URL: http://svn.apache.org/viewvc/httpcomponents/httpclient/trunk/httpclient/src/main/java/org/apache/http/impl/auth/GGSSchemeBase.java?rev=1424447&r1=1424446&r2=1424447&view=diff
==============================================================================
--- httpcomponents/httpclient/trunk/httpclient/src/main/java/org/apache/http/impl/auth/GGSSchemeBase.java (original)
+++ httpcomponents/httpclient/trunk/httpclient/src/main/java/org/apache/http/impl/auth/GGSSchemeBase.java Thu Dec 20 13:04:50 2012
@@ -31,6 +31,7 @@ import org.apache.commons.logging.LogFac
import org.apache.http.Header;
import org.apache.http.HttpHost;
import org.apache.http.HttpRequest;
+import org.apache.http.auth.AUTH;
import org.apache.http.auth.AuthenticationException;
import org.apache.http.auth.ContextAwareAuthScheme;
import org.apache.http.auth.Credentials;
@@ -38,7 +39,7 @@ import org.apache.http.auth.InvalidCrede
import org.apache.http.auth.MalformedChallengeException;
import org.apache.http.client.protocol.ClientContext;
import org.apache.http.conn.routing.HttpRoute;
-import org.apache.http.message.BasicHeader;
+import org.apache.http.message.BufferedHeader;
import org.apache.http.protocol.HttpContext;
import org.apache.http.util.Args;
import org.apache.http.util.CharArrayBuffer;
@@ -175,7 +176,15 @@ public abstract class GGSSchemeBase exte
if (log.isDebugEnabled()) {
log.debug("Sending response '" + tokenstr + "' back to the auth server");
}
- return new BasicHeader("Authorization", "Negotiate " + tokenstr);
+ CharArrayBuffer buffer = new CharArrayBuffer(32);
+ if (isProxy()) {
+ buffer.append(AUTH.PROXY_AUTH_RESP);
+ } else {
+ buffer.append(AUTH.WWW_AUTH_RESP);
+ }
+ buffer.append(": Negotiate ");
+ buffer.append(tokenstr);
+ return new BufferedHeader(buffer);
default:
throw new IllegalStateException("Illegal state: " + state);
}