Author: dkulp
Date: Mon Jan 26 16:30:00 2009
New Revision: 737730
URL: http://svn.apache.org/viewvc?rev=737730&view=rev
Log:
Merged revisions 737299 via svnmerge from
https://svn.apache.org/repos/asf/cxf/trunk
........
r737299 | dkulp | 2009-01-23 23:01:19 -0500 (Fri, 23 Jan 2009) | 2 lines
Implement old API overtop of new API
........
Added:
cxf/branches/2.1.x-fixes/rt/transports/http/src/main/java/org/apache/cxf/transport/http/HttpBasicAuthSupplier.java
- copied unchanged from r737299,
cxf/trunk/rt/transports/http/src/main/java/org/apache/cxf/transport/http/HttpBasicAuthSupplier.java
cxf/branches/2.1.x-fixes/rt/transports/http/src/main/java/org/apache/cxf/transport/http/spring/HttpBasicAuthSupplierBeanDefinitionParser.java
- copied unchanged from r737299,
cxf/trunk/rt/transports/http/src/main/java/org/apache/cxf/transport/http/spring/HttpBasicAuthSupplierBeanDefinitionParser.java
Modified:
cxf/branches/2.1.x-fixes/ (props changed)
cxf/branches/2.1.x-fixes/rt/transports/http/src/main/java/org/apache/cxf/transport/http/DigestAuthSupplier.java
cxf/branches/2.1.x-fixes/rt/transports/http/src/main/java/org/apache/cxf/transport/http/HTTPConduit.java
cxf/branches/2.1.x-fixes/rt/transports/http/src/main/java/org/apache/cxf/transport/http/HttpAuthSupplier.java
(props changed)
cxf/branches/2.1.x-fixes/rt/transports/http/src/main/java/org/apache/cxf/transport/http/spring/HttpAuthSupplierBeanDefinitionParser.java
(props changed)
cxf/branches/2.1.x-fixes/rt/transports/http/src/main/java/org/apache/cxf/transport/http/spring/NamespaceHandler.java
cxf/branches/2.1.x-fixes/rt/transports/http/src/main/resources/schemas/configuration/http-conf.xsd
cxf/branches/2.1.x-fixes/rt/transports/http/src/test/java/org/apache/cxf/transport/http/HTTPConduitTest.java
Propchange: cxf/branches/2.1.x-fixes/
------------------------------------------------------------------------------
--- svn:mergeinfo (original)
+++ svn:mergeinfo Mon Jan 26 16:30:00 2009
@@ -1 +1 @@
-/cxf/trunk:686333-686363,686764,686820,687096,687194,687363,687387,687463,687543,687722,687798,687814,687817,687891,687910,687914,688086,688102,688133,688596,688735,688870,689572,689596,689855,689924,690067,690289,691246,691271,691295,691338,691355,691488,691602,691646,691706,691728,692116,692157,692310,692466,692499,693653,693819,694179,694263,694417,694716,694744,694747,694795,694869,694981,694987,694993,695041,695096,695396,695484,695537,695552,695561,695619,695684,695835,695840,695868,695935,695977,696016,696094,696433,696720,697085,697868,698128,699289,700261,700507,700602,700981,701316,701783,701830,701862,702187,702205-702248,702267,702547,702561,702580,702602,702609,702616,702653,702656,702957,703191,703239,703309,703501,703513,703548,704584,704937,704997,705150,705235,705274,705340,705446,705548,705614,705692,705708,706482,706631,706675,706900,706909,707034,707089,707100,707902,708035,708044,708074,708410,708417,708550,708554,709353-709354,709425,710076,710150,71015
4,711193,711388,711410,711490,711635,711949,711975,712194,712198,712238,712272,712299,712312,712670,712893,713082,713095-713096,713099,713584,713597,713737,713804,713899,714167-714168,714245,714255,717937-717961,718281-718448,718565,718620,718640,718665,718970,719017,719210,719215-719218,719222-719273,719305,719327-719680,720053,720119-720218,720238,720293-720316,720497,721221,721241,721501,722117,722129,722412,722988,723024,723338,723378,723716-723791,724333-724372,724433-724438,724449,724481,724485,724668,724780,724782,724785,724793,724795,724940,725071,725316,725332,725335,725348,725364,725418,725425-725426,725455,725506,725554,725562,725651,725671,725688,725754,725773,725799,725839,726342,726524,726631,726634,726637,726639,726692,726724,726769,726992,727096,727445,727521,727568,727692,727754,727781,727792,728070,728087,728696,728897,729051,729430,729449,729460,729863,730082,730139,730889,730891,731598,731604,731615,731631,731635,732036,732050,732320,732363,732411,732450,
732710,732827,733512,733582,733901,734367,734462,734666,734762,734772,734812,734836,734965,735113,735252,735722-735723,735729,735734,735751,735782,735787,735987,736332,736343,736352,736358-736362,736408,736423,736448,736491,736621,736726,736736,736738-736739,736766,736825,736852,737032,737046,737061,737069,737124,737237,737246
+/cxf/trunk:686333-686363,686764,686820,687096,687194,687363,687387,687463,687543,687722,687798,687814,687817,687891,687910,687914,688086,688102,688133,688596,688735,688870,689572,689596,689855,689924,690067,690289,691246,691271,691295,691338,691355,691488,691602,691646,691706,691728,692116,692157,692310,692466,692499,693653,693819,694179,694263,694417,694716,694744,694747,694795,694869,694981,694987,694993,695041,695096,695396,695484,695537,695552,695561,695619,695684,695835,695840,695868,695935,695977,696016,696094,696433,696720,697085,697868,698128,699289,700261,700507,700602,700981,701316,701783,701830,701862,702187,702205-702248,702267,702547,702561,702580,702602,702609,702616,702653,702656,702957,703191,703239,703309,703501,703513,703548,704584,704937,704997,705150,705235,705274,705340,705446,705548,705614,705692,705708,706482,706631,706675,706900,706909,707034,707089,707100,707902,708035,708044,708074,708410,708417,708550,708554,709353-709354,709425,710076,710150,71015
4,711193,711388,711410,711490,711635,711949,711975,712194,712198,712238,712272,712299,712312,712670,712893,713082,713095-713096,713099,713584,713597,713737,713804,713899,714167-714168,714245,714255,717937-717961,718281-718448,718565,718620,718640,718665,718970,719017,719210,719215-719218,719222-719273,719305,719327-719680,720053,720119-720218,720238,720293-720316,720497,721221,721241,721501,722117,722129,722412,722988,723024,723338,723378,723716-723791,724333-724372,724433-724438,724449,724481,724485,724668,724780,724782,724785,724793,724795,724940,725071,725316,725332,725335,725348,725364,725418,725425-725426,725455,725506,725554,725562,725651,725671,725688,725754,725773,725799,725839,726342,726524,726631,726634,726637,726639,726692,726724,726769,726992,727096,727445,727521,727568,727692,727754,727781,727792,728070,728087,728696,728897,729051,729430,729449,729460,729863,730082,730139,730889,730891,731598,731604,731615,731631,731635,732036,732050,732320,732363,732411,732450,
732710,732827,733512,733582,733901,734367,734462,734666,734762,734772,734812,734836,734965,735113,735252,735722-735723,735729,735734,735751,735782,735787,735987,736332,736343,736352,736358-736362,736408,736423,736448,736491,736621,736726,736736,736738-736739,736766,736825,736852,737032,737046,737061,737069,737124,737237,737246,737299
Propchange: cxf/branches/2.1.x-fixes/
------------------------------------------------------------------------------
Binary property 'svnmerge-integrated' - no diff available.
Modified:
cxf/branches/2.1.x-fixes/rt/transports/http/src/main/java/org/apache/cxf/transport/http/DigestAuthSupplier.java
URL:
http://svn.apache.org/viewvc/cxf/branches/2.1.x-fixes/rt/transports/http/src/main/java/org/apache/cxf/transport/http/DigestAuthSupplier.java?rev=737730&r1=737729&r2=737730&view=diff
==============================================================================
---
cxf/branches/2.1.x-fixes/rt/transports/http/src/main/java/org/apache/cxf/transport/http/DigestAuthSupplier.java
(original)
+++
cxf/branches/2.1.x-fixes/rt/transports/http/src/main/java/org/apache/cxf/transport/http/DigestAuthSupplier.java
Mon Jan 26 16:30:00 2009
@@ -86,8 +86,8 @@
}
authInfo.put(currentURL, di);
return di.generateAuth(currentURL.getFile(),
- getUsername(message),
- getPassword(message));
+ getUsername(conduit, message),
+ getPassword(conduit, message));
}
}
@@ -98,25 +98,35 @@
DigestInfo di = authInfo.get(currentURL);
if (di != null) {
return di.generateAuth(currentURL.getFile(),
- getUsername(message),
- getPassword(message));
+ getUsername(conduit, message),
+ getPassword(conduit, message));
}
return null;
}
- private String getPassword(Message message) {
+ private String getPassword(HTTPConduit conduit, Message message) {
AuthorizationPolicy policy
=
(AuthorizationPolicy)message.getContextualProperty(AuthorizationPolicy.class.getName());
- if (policy != null) {
+ if (policy == null) {
+ policy = conduit.getAuthorization();
+ }
+ if (policy != null
+ && (!policy.isSetAuthorizationType()
+ || "Digest".equals(policy.getAuthorizationType()))) {
return policy.getUserName();
}
return null;
}
- private String getUsername(Message message) {
+ private String getUsername(HTTPConduit conduit, Message message) {
AuthorizationPolicy policy
=
(AuthorizationPolicy)message.getContextualProperty(AuthorizationPolicy.class.getName());
- if (policy != null) {
+ if (policy == null) {
+ policy = conduit.getAuthorization();
+ }
+ if (policy != null
+ && (!policy.isSetAuthorizationType()
+ || "Digest".equals(policy.getAuthorizationType()))) {
return policy.getPassword();
}
return null;
@@ -135,7 +145,6 @@
synchronized String generateAuth(String uri, String username, String
password) {
try {
- StringBuilder builder = new StringBuilder("Digest qop=auth,
realm=\"");
nc++;
String ncstring = Integer.toString(nc);
while (ncstring.length() < 8) {
@@ -172,7 +181,12 @@
+ qop + ":" + hasha2;
}
serverDigestValue =
encode(digester.digest(serverDigestValue.getBytes("US-ASCII")));
- builder.append(realm).append("\", opaque=\"")
+ StringBuilder builder = new StringBuilder("Digest ");
+ if (qop != null) {
+ builder.append("qop=auth, ");
+ }
+ builder.append("realm=\"")
+ .append(realm).append("\", opaque=\"")
.append(opaque)
.append("\", nonce=\"")
.append(nonce)
Modified:
cxf/branches/2.1.x-fixes/rt/transports/http/src/main/java/org/apache/cxf/transport/http/HTTPConduit.java
URL:
http://svn.apache.org/viewvc/cxf/branches/2.1.x-fixes/rt/transports/http/src/main/java/org/apache/cxf/transport/http/HTTPConduit.java?rev=737730&r1=737729&r2=737730&view=diff
==============================================================================
---
cxf/branches/2.1.x-fixes/rt/transports/http/src/main/java/org/apache/cxf/transport/http/HTTPConduit.java
(original)
+++
cxf/branches/2.1.x-fixes/rt/transports/http/src/main/java/org/apache/cxf/transport/http/HTTPConduit.java
Mon Jan 26 16:30:00 2009
@@ -527,6 +527,7 @@
"Auth Supplier, but no Premeptive User Pass."
+ " We must cache request.");
}
+ message.put("AUTH_VALUE", auth);
}
if (getClient().isAutoRedirect()) {
needToCacheRequest = true;
@@ -1085,8 +1086,13 @@
&& (newPolicy == null
|| (!"Basic".equals(newPolicy.getAuthorizationType())
&& newPolicy.getAuthorization() == null))) {
- authString = authSupplier.getPreemptiveAuthorization(
+ authString = (String)message.get("AUTH_VALUE");
+ if (authString == null) {
+ authString = authSupplier.getPreemptiveAuthorization(
this, url, message);
+ } else {
+ message.remove("AUTH_VALUE");
+ }
if (authString != null) {
headers.put("Authorization",
createMutableList(authString));
@@ -2139,6 +2145,11 @@
public boolean canAssert(QName type) {
return PolicyUtils.HTTPCLIENTPOLICY_ASSERTION_QNAME.equals(type);
}
+
+ @Deprecated
+ public void setBasicAuthSupplier(HttpBasicAuthSupplier basicAuthSupplier) {
+ setAuthSupplier(basicAuthSupplier);
+ }
}
Propchange:
cxf/branches/2.1.x-fixes/rt/transports/http/src/main/java/org/apache/cxf/transport/http/HttpAuthSupplier.java
------------------------------------------------------------------------------
--- svn:mergeinfo (original)
+++ svn:mergeinfo Mon Jan 26 16:30:00 2009
@@ -0,0 +1 @@
+/cxf/trunk/rt/transports/http/src/main/java/org/apache/cxf/transport/http/HttpAuthSupplier.java:737299
Propchange:
cxf/branches/2.1.x-fixes/rt/transports/http/src/main/java/org/apache/cxf/transport/http/spring/HttpAuthSupplierBeanDefinitionParser.java
------------------------------------------------------------------------------
--- svn:mergeinfo (original)
+++ svn:mergeinfo Mon Jan 26 16:30:00 2009
@@ -0,0 +1 @@
+/cxf/trunk/rt/transports/http/src/main/java/org/apache/cxf/transport/http/spring/HttpAuthSupplierBeanDefinitionParser.java:737299
Modified:
cxf/branches/2.1.x-fixes/rt/transports/http/src/main/java/org/apache/cxf/transport/http/spring/NamespaceHandler.java
URL:
http://svn.apache.org/viewvc/cxf/branches/2.1.x-fixes/rt/transports/http/src/main/java/org/apache/cxf/transport/http/spring/NamespaceHandler.java?rev=737730&r1=737729&r2=737730&view=diff
==============================================================================
---
cxf/branches/2.1.x-fixes/rt/transports/http/src/main/java/org/apache/cxf/transport/http/spring/NamespaceHandler.java
(original)
+++
cxf/branches/2.1.x-fixes/rt/transports/http/src/main/java/org/apache/cxf/transport/http/spring/NamespaceHandler.java
Mon Jan 26 16:30:00 2009
@@ -28,6 +28,8 @@
new MessageTrustDeciderBeanDefinitionParser());
registerBeanDefinitionParser("authSupplier",
new HttpAuthSupplierBeanDefinitionParser());
+ registerBeanDefinitionParser("basicAuthSupplier",
+ new
HttpBasicAuthSupplierBeanDefinitionParser());
registerBeanDefinitionParser("destination",
new HttpDestinationBeanDefinitionParser());
}
Modified:
cxf/branches/2.1.x-fixes/rt/transports/http/src/main/resources/schemas/configuration/http-conf.xsd
URL:
http://svn.apache.org/viewvc/cxf/branches/2.1.x-fixes/rt/transports/http/src/main/resources/schemas/configuration/http-conf.xsd?rev=737730&r1=737729&r2=737730&view=diff
==============================================================================
---
cxf/branches/2.1.x-fixes/rt/transports/http/src/main/resources/schemas/configuration/http-conf.xsd
(original)
+++
cxf/branches/2.1.x-fixes/rt/transports/http/src/main/resources/schemas/configuration/http-conf.xsd
Mon Jan 26 16:30:00 2009
@@ -49,6 +49,7 @@
<xs:element name="tlsClientParameters" type="sec:TLSClientParametersType"/>
<xs:element name="trustDecider" type="cxf-beans:ClassOrBeanType"/>
<xs:element name="authSupplier" type="cxf-beans:ClassOrBeanType"/>
+ <xs:element name="basicAuthSupplier" type="cxf-beans:ClassOrBeanType"/>
<xs:element name="conduit">
@@ -104,6 +105,18 @@
</xs:documentation>
</xs:annotation>
</xs:element>
+ <xs:element ref="http-conf:basicAuthSupplier"
+ minOccurs="0" maxOccurs="1">
+ <xs:annotation>
+ <xs:documentation>
+ Holds the bean reference or class name
+ of an object that supplies Auth information
+ both preemptively and in response to a 401 HTTP
+ Challenge. This class must extend the abstract class
+ org.apache.cxf.transport.http.HttpBasicAuthSupplier.
+ </xs:documentation>
+ </xs:annotation>
+ </xs:element>
<xs:element ref="http-conf:trustDecider"
minOccurs="0" maxOccurs="1">
<xs:annotation>
Modified:
cxf/branches/2.1.x-fixes/rt/transports/http/src/test/java/org/apache/cxf/transport/http/HTTPConduitTest.java
URL:
http://svn.apache.org/viewvc/cxf/branches/2.1.x-fixes/rt/transports/http/src/test/java/org/apache/cxf/transport/http/HTTPConduitTest.java?rev=737730&r1=737729&r2=737730&view=diff
==============================================================================
---
cxf/branches/2.1.x-fixes/rt/transports/http/src/test/java/org/apache/cxf/transport/http/HTTPConduitTest.java
(original)
+++
cxf/branches/2.1.x-fixes/rt/transports/http/src/test/java/org/apache/cxf/transport/http/HTTPConduitTest.java
Mon Jan 26 16:30:00 2009
@@ -82,17 +82,16 @@
* This test class is a Basic Auth Supplier with a
* preemptive UserPass.
*/
- class BasicAuthSupplier extends HttpAuthSupplier {
- public String getPreemptiveAuthorization(
- HTTPConduit conduit, URL url, Message m) {
- String userpass = "Gandalf:staff";
- String token = Base64Utility.encode(userpass.getBytes());
- return "Basic " + token;
+ class BasicAuthSupplier extends HttpBasicAuthSupplier {
+ public UserPass getPreemptiveUserPass(
+ String conduitName, URL url, Message m) {
+ return createUserPass("Gandalf", "staff");
}
- public String getAuthorizationForRealm(
- HTTPConduit conduit, URL url, Message m, String r, String fh) {
+ public UserPass getUserPassForRealm(
+ String conduitName, URL url, Message m, String r) {
return null;
}
+
}
/**
@@ -218,11 +217,9 @@
headers =
CastUtils.cast((Map<?, ?>)message.get(Message.PROTOCOL_HEADERS));
- String head = headers.get("Authorization").get(0);
- assertEquals("Unexpected Authorization Token: "
- + new String(Base64Utility.decode(head.substring(6))),
+ assertEquals("Unexpected Authorization Token",
"Basic " + Base64Utility.encode("Gandalf:staff".getBytes()),
- head);
+ headers.get("Authorization").get(0));
// Setting authorization policy on the message should override all.
AuthorizationPolicy authPolicy = new AuthorizationPolicy();