Author: markt
Date: Tue Aug 16 12:37:25 2011
New Revision: 1158238
URL: http://svn.apache.org/viewvc?rev=1158238&view=rev
Log:
Fix https://issues.apache.org/bugzilla/show_bug.cgi?id=50771
Ensure HttpServletRequest#getAuthType() returns the name of the authentication
scheme
if request has already been authenticated. (kfujino)
Modified:
tomcat/tc5.5.x/trunk/STATUS.txt
tomcat/tc5.5.x/trunk/container/modules/cluster/src/share/org/apache/catalina/cluster/session/DeltaRequest.java
tomcat/tc5.5.x/trunk/container/modules/cluster/src/share/org/apache/catalina/cluster/session/DeltaSession.java
tomcat/tc5.5.x/trunk/container/modules/ha/src/share/org/apache/catalina/ha/session/DeltaRequest.java
tomcat/tc5.5.x/trunk/container/modules/ha/src/share/org/apache/catalina/ha/session/DeltaSession.java
tomcat/tc5.5.x/trunk/container/webapps/docs/changelog.xml
Modified: tomcat/tc5.5.x/trunk/STATUS.txt
URL:
http://svn.apache.org/viewvc/tomcat/tc5.5.x/trunk/STATUS.txt?rev=1158238&r1=1158237&r2=1158238&view=diff
==============================================================================
--- tomcat/tc5.5.x/trunk/STATUS.txt (original)
+++ tomcat/tc5.5.x/trunk/STATUS.txt Tue Aug 16 12:37:25 2011
@@ -25,14 +25,6 @@ $Id$
PATCHES PROPOSED TO BACKPORT:
[ New proposals should be added at the end of the list ]
-* Fix https://issues.apache.org/bugzilla/show_bug.cgi?id=50771
- Ensure HttpServletRequest#getAuthType() returns the name of the
authentication scheme
- if request has already been authenticated.
- http://svn.apache.org/viewvc?view=revision&revision=1070409
- https://issues.apache.org/bugzilla/attachment.cgi?id=26650 (patch against
tc5.5)
- +1: kfujino, markt, kkolinko
- -1:
-
* Fix https://issues.apache.org/bugzilla/show_bug.cgi?id=50744
Skip SSL configuration check if we cannot create an unbound socket
https://issues.apache.org/bugzilla/attachment.cgi?id=26651
Modified:
tomcat/tc5.5.x/trunk/container/modules/cluster/src/share/org/apache/catalina/cluster/session/DeltaRequest.java
URL:
http://svn.apache.org/viewvc/tomcat/tc5.5.x/trunk/container/modules/cluster/src/share/org/apache/catalina/cluster/session/DeltaRequest.java?rev=1158238&r1=1158237&r2=1158238&view=diff
==============================================================================
---
tomcat/tc5.5.x/trunk/container/modules/cluster/src/share/org/apache/catalina/cluster/session/DeltaRequest.java
(original)
+++
tomcat/tc5.5.x/trunk/container/modules/cluster/src/share/org/apache/catalina/cluster/session/DeltaRequest.java
Tue Aug 16 12:37:25 2011
@@ -50,6 +50,7 @@ public class DeltaRequest implements Ext
public static final int TYPE_PRINCIPAL = 1;
public static final int TYPE_ISNEW = 2;
public static final int TYPE_MAXINTERVAL = 3;
+ public static final int TYPE_AUTHTYPE = 4;
public static final int ACTION_SET = 0;
public static final int ACTION_REMOVE = 1;
@@ -57,6 +58,7 @@ public class DeltaRequest implements Ext
public static final String NAME_PRINCIPAL = "__SET__PRINCIPAL__";
public static final String NAME_MAXINTERVAL = "__SET__MAXINTERVAL__";
public static final String NAME_ISNEW = "__SET__ISNEW__";
+ public static final String NAME_AUTHTYPE = "__SET__AUTHTYPE__";
private String sessionId;
private LinkedList actions = new LinkedList();
@@ -115,6 +117,11 @@ public class DeltaRequest implements Ext
addAction(TYPE_ISNEW,action,NAME_ISNEW,new Boolean(n));
}
+ public void setAuthType(String authType) {
+ int action = (authType==null)?ACTION_REMOVE:ACTION_SET;
+ addAction(TYPE_AUTHTYPE,action,NAME_AUTHTYPE, authType);
+ }
+
protected synchronized void addAction(int type,
int action,
String name,
@@ -179,6 +186,14 @@ public class DeltaRequest implements Ext
session.setPrincipal(p,false);
break;
}//case
+ case TYPE_AUTHTYPE: {
+ String authType = null;
+ if ( info.getAction() == ACTION_SET ) {
+ authType = (String)info.getValue();
+ }
+ session.setAuthType(authType,false);
+ break;
+ }//case
default : throw new
java.lang.IllegalArgumentException("Invalid attribute info type="+info);
}//switch
}//for
Modified:
tomcat/tc5.5.x/trunk/container/modules/cluster/src/share/org/apache/catalina/cluster/session/DeltaSession.java
URL:
http://svn.apache.org/viewvc/tomcat/tc5.5.x/trunk/container/modules/cluster/src/share/org/apache/catalina/cluster/session/DeltaSession.java?rev=1158238&r1=1158237&r2=1158238&view=diff
==============================================================================
---
tomcat/tc5.5.x/trunk/container/modules/cluster/src/share/org/apache/catalina/cluster/session/DeltaSession.java
(original)
+++
tomcat/tc5.5.x/trunk/container/modules/cluster/src/share/org/apache/catalina/cluster/session/DeltaSession.java
Tue Aug 16 12:37:25 2011
@@ -317,11 +317,15 @@ public class DeltaSession implements Htt
* The new cached authentication type
*/
public void setAuthType(String authType) {
+ setAuthType(authType, true);
+ }
+ public void setAuthType(String authType, boolean addDeltaRequest) {
String oldAuthType = this.authType;
this.authType = authType;
support.firePropertyChange("authType", oldAuthType, this.authType);
-
+ if (addDeltaRequest && (deltaRequest != null))
+ deltaRequest.setAuthType(authType);
}
/**
Modified:
tomcat/tc5.5.x/trunk/container/modules/ha/src/share/org/apache/catalina/ha/session/DeltaRequest.java
URL:
http://svn.apache.org/viewvc/tomcat/tc5.5.x/trunk/container/modules/ha/src/share/org/apache/catalina/ha/session/DeltaRequest.java?rev=1158238&r1=1158237&r2=1158238&view=diff
==============================================================================
---
tomcat/tc5.5.x/trunk/container/modules/ha/src/share/org/apache/catalina/ha/session/DeltaRequest.java
(original)
+++
tomcat/tc5.5.x/trunk/container/modules/ha/src/share/org/apache/catalina/ha/session/DeltaRequest.java
Tue Aug 16 12:37:25 2011
@@ -53,6 +53,7 @@ public class DeltaRequest implements Ext
public static final int TYPE_PRINCIPAL = 1;
public static final int TYPE_ISNEW = 2;
public static final int TYPE_MAXINTERVAL = 3;
+ public static final int TYPE_AUTHTYPE = 4;
public static final int ACTION_SET = 0;
public static final int ACTION_REMOVE = 1;
@@ -60,6 +61,7 @@ public class DeltaRequest implements Ext
public static final String NAME_PRINCIPAL = "__SET__PRINCIPAL__";
public static final String NAME_MAXINTERVAL = "__SET__MAXINTERVAL__";
public static final String NAME_ISNEW = "__SET__ISNEW__";
+ public static final String NAME_AUTHTYPE = "__SET__AUTHTYPE__";
private String sessionId;
private LinkedList actions = new LinkedList();
@@ -118,6 +120,11 @@ public class DeltaRequest implements Ext
addAction(TYPE_ISNEW,action,NAME_ISNEW,new Boolean(n));
}
+ public void setAuthType(String authType) {
+ int action = (authType==null)?ACTION_REMOVE:ACTION_SET;
+ addAction(TYPE_AUTHTYPE,action,NAME_AUTHTYPE, authType);
+ }
+
protected synchronized void addAction(int type,
int action,
String name,
@@ -188,6 +195,14 @@ public class DeltaRequest implements Ext
session.setPrincipal(p,false);
break;
}//case
+ case TYPE_AUTHTYPE: {
+ String authType = null;
+ if ( info.getAction() == ACTION_SET ) {
+ authType = (String)info.getValue();
+ }
+ session.setAuthType(authType,false);
+ break;
+ }//case
default : throw new
java.lang.IllegalArgumentException("Invalid attribute info type="+info);
}//switch
}//for
Modified:
tomcat/tc5.5.x/trunk/container/modules/ha/src/share/org/apache/catalina/ha/session/DeltaSession.java
URL:
http://svn.apache.org/viewvc/tomcat/tc5.5.x/trunk/container/modules/ha/src/share/org/apache/catalina/ha/session/DeltaSession.java?rev=1158238&r1=1158237&r2=1158238&view=diff
==============================================================================
---
tomcat/tc5.5.x/trunk/container/modules/ha/src/share/org/apache/catalina/ha/session/DeltaSession.java
(original)
+++
tomcat/tc5.5.x/trunk/container/modules/ha/src/share/org/apache/catalina/ha/session/DeltaSession.java
Tue Aug 16 12:37:25 2011
@@ -305,6 +305,27 @@ public class DeltaSession extends Standa
}
/**
+ * Set the authentication type used to authenticate our cached
+ * Principal, if any.
+ *
+ * @param authType The new cached authentication type
+ */
+ public void setAuthType(String authType) {
+ setAuthType(authType, true);
+ }
+
+ public void setAuthType(String authType, boolean addDeltaRequest) {
+ try {
+ lock();
+ super.setAuthType(authType);
+ if (addDeltaRequest && (deltaRequest != null))
+ deltaRequest.setAuthType(authType);
+ } finally {
+ unlock();
+ }
+ }
+
+ /**
* Return the <code>isValid</code> flag for this session.
*/
public boolean isValid() {
Modified: tomcat/tc5.5.x/trunk/container/webapps/docs/changelog.xml
URL:
http://svn.apache.org/viewvc/tomcat/tc5.5.x/trunk/container/webapps/docs/changelog.xml?rev=1158238&r1=1158237&r2=1158238&view=diff
==============================================================================
--- tomcat/tc5.5.x/trunk/container/webapps/docs/changelog.xml (original)
+++ tomcat/tc5.5.x/trunk/container/webapps/docs/changelog.xml Tue Aug 16
12:37:25 2011
@@ -85,6 +85,15 @@
</fix>
</changelog>
</subsection>
+ <subsection name="Cluster">
+ <changelog>
+ <fix>
+ <bug>50771</bug>: Ensure HttpServletRequest#getAuthType() returns the
+ name of the authentication scheme if request has already been
+ authenticated. (kfujino)
+ </fix>
+ </changelog>
+ </subsection>
<subsection name="Webapps">
<changelog>
<fix>
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]