Author: rjung Date: Wed Nov 26 16:55:26 2014 New Revision: 1641855 URL: http://svn.apache.org/r1641855 Log: Fix https://issues.apache.org/bugzilla/show_bug.cgi?id=50950 Prevent NotSerializableException caused by trying to replicate the Subject when running a cluster under a security manager.
Backport of r1101361 from TC6. Modified: tomcat/sandbox/tomcat-oacc/trunk/docs/changelog.xml tomcat/sandbox/tomcat-oacc/trunk/src/share/org/apache/catalina/cluster/session/DeltaSession.java Modified: tomcat/sandbox/tomcat-oacc/trunk/docs/changelog.xml URL: http://svn.apache.org/viewvc/tomcat/sandbox/tomcat-oacc/trunk/docs/changelog.xml?rev=1641855&r1=1641854&r2=1641855&view=diff ============================================================================== --- tomcat/sandbox/tomcat-oacc/trunk/docs/changelog.xml (original) +++ tomcat/sandbox/tomcat-oacc/trunk/docs/changelog.xml Wed Nov 26 16:55:26 2014 @@ -32,6 +32,10 @@ <section name="Tomcat OACC 0.1 (rjung)"> <subsection name="Cluster"> <fix> + <bug>50950</bug>: Correct possible NotSerializableException for an + authenticated session when running with a security manager. (markt) + </fix> + <fix> Be consistent with locks on sessionCreationTiming, sessionExpirationTiming in DeltaManager.resetStatistics(). (rjung) </fix> Modified: tomcat/sandbox/tomcat-oacc/trunk/src/share/org/apache/catalina/cluster/session/DeltaSession.java URL: http://svn.apache.org/viewvc/tomcat/sandbox/tomcat-oacc/trunk/src/share/org/apache/catalina/cluster/session/DeltaSession.java?rev=1641855&r1=1641854&r2=1641855&view=diff ============================================================================== --- tomcat/sandbox/tomcat-oacc/trunk/src/share/org/apache/catalina/cluster/session/DeltaSession.java (original) +++ tomcat/sandbox/tomcat-oacc/trunk/src/share/org/apache/catalina/cluster/session/DeltaSession.java Wed Nov 26 16:55:26 2014 @@ -600,7 +600,9 @@ public class DeltaSession extends Standa try { lock(); super.setAttribute(name,value, notify); - if (addDeltaRequest && (deltaRequest != null)) deltaRequest.setAttribute(name, value); + if (addDeltaRequest && deltaRequest != null && !exclude(name)) { + deltaRequest.setAttribute(name, value); + } } finally { unlock(); } @@ -776,7 +778,9 @@ public class DeltaSession extends Standa if (value == null) return; super.removeAttributeInternal(name,notify); - if (addDeltaRequest && (deltaRequest != null)) deltaRequest.removeAttribute(name); + if (addDeltaRequest && deltaRequest != null && !exclude(name)) { + deltaRequest.removeAttribute(name); + } }finally { unlock(); --------------------------------------------------------------------- To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org