DO NOT REPLY [Bug 50975] IIS connector times out on Transfer Encoded content, never sending the chunked content
https://issues.apache.org/bugzilla/show_bug.cgi?id=50975 Tim Whittington changed: What|Removed |Added OS/Version||All --- Comment #3 from Tim Whittington 2011-03-31 03:59:11 EDT --- Hi Aaron Thanks for the report (and providing in logs and network traces). Looking at the traces you supplied, it doesn't look like there is a Content-Length in the request from the client -> IIS/connector, so I'm confused by the patch modifying the behaviour when the Content-Length is present in the request. e.g.: POST /rm/services/ServerInfo.asmx HTTP/1.1 Content-Type: text/xml; charset=utf-8 SOAPAction: "http://www.logiclibrary.com/types/getServerSoapVersion"; User-Agent: Axis/1.3 Host: 192.168.231.61:81 Transfer-Encoding: chunked I think there are a few 'quirky' parts in the code around this, but I'd like to be definite on the failing test case before delving in. -- Configure bugmail: https://issues.apache.org/bugzilla/userprefs.cgi?tab=email --- You are receiving this mail because: --- You are the assignee for the bug. - To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org
Re: svn commit: r1087128 - in /tomcat/trunk: java/org/apache/catalina/util/SessionIdGenerator.java webapps/docs/changelog.xml
Would it be more "efficient" to do this instead? -/** Node identifier when in a cluster. Defaults to the empty string. */ -private String jvmRoute = ""; +/** Node identifier when in a cluster. */ +private String jvmRoute = null; ... public void setJvmRoute(String jvmRoute) { if (jvmRoute!=null&&jvmRoute.length()==0) { jvmRoute=null; } this.jvmRoute = jvmRoute; } -Tim On 3/30/2011 7:09 PM, ma...@apache.org wrote: Author: markt Date: Wed Mar 30 23:09:10 2011 New Revision: 1087128 URL: http://svn.apache.org/viewvc?rev=1087128&view=rev Log: Don't append the jvmRoute to a session ID if the jvmRoute is a zero length string. Modified: tomcat/trunk/java/org/apache/catalina/util/SessionIdGenerator.java tomcat/trunk/webapps/docs/changelog.xml Modified: tomcat/trunk/java/org/apache/catalina/util/SessionIdGenerator.java URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/util/SessionIdGenerator.java?rev=1087128&r1=1087127&r2=1087128&view=diff == --- tomcat/trunk/java/org/apache/catalina/util/SessionIdGenerator.java (original) +++ tomcat/trunk/java/org/apache/catalina/util/SessionIdGenerator.java Wed Mar 30 23:09:10 2011 @@ -168,7 +168,7 @@ public class SessionIdGenerator { } } -if (jvmRoute != null) { +if (jvmRoute != null&& jvmRoute.length()> 0) { buffer.append('.').append(jvmRoute); } Modified: tomcat/trunk/webapps/docs/changelog.xml URL: http://svn.apache.org/viewvc/tomcat/trunk/webapps/docs/changelog.xml?rev=1087128&r1=1087127&r2=1087128&view=diff == --- tomcat/trunk/webapps/docs/changelog.xml (original) +++ tomcat/trunk/webapps/docs/changelog.xml Wed Mar 30 23:09:10 2011 @@ -128,6 +128,10 @@ name ending in.jar to be treated as an expanded JAR file by the default JarScanner. Based on patch by Rodion Zhitomirsky. (markt) + +Don't append the jvmRoute to a session ID if the jvmRoute is a zero +length string. (markt) + - To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org
svn commit: r1087247 - in /tomcat/trunk: java/org/apache/juli/AsyncFileHandler.java java/org/apache/juli/FileHandler.java webapps/docs/logging.xml
Author: kkolinko Date: Thu Mar 31 10:43:22 2011 New Revision: 1087247 URL: http://svn.apache.org/viewvc?rev=1087247&view=rev Log: Improve the logging documentation Modified: tomcat/trunk/java/org/apache/juli/AsyncFileHandler.java tomcat/trunk/java/org/apache/juli/FileHandler.java tomcat/trunk/webapps/docs/logging.xml Modified: tomcat/trunk/java/org/apache/juli/AsyncFileHandler.java URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/juli/AsyncFileHandler.java?rev=1087247&r1=1087246&r2=1087247&view=diff == --- tomcat/trunk/java/org/apache/juli/AsyncFileHandler.java (original) +++ tomcat/trunk/java/org/apache/juli/AsyncFileHandler.java Thu Mar 31 10:43:22 2011 @@ -20,6 +20,23 @@ import java.util.concurrent.LinkedBlocki import java.util.concurrent.TimeUnit; import java.util.logging.LogRecord; /** + * A {@link FileHandler} implementation that uses a queue of log entries. + * + * Configuration properties are inherited from the {@link FileHandler} + * class. This class does not add its own configuration properties for the + * logging configuration, but relies on the following system properties + * instead: + * + * + * org.apache.juli.AsyncOverflowDropType + *Default value: 1 + * org.apache.juli.AsyncMaxRecordCount + *Default value: 1 + * org.apache.juli.AsyncLoggerPollInterval + *Default value: 1000 + * + * + * See the System Properties page in the configuration reference of Tomcat. * * @author Filip Hanik * Modified: tomcat/trunk/java/org/apache/juli/FileHandler.java URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/juli/FileHandler.java?rev=1087247&r1=1087246&r2=1087247&view=diff == --- tomcat/trunk/java/org/apache/juli/FileHandler.java (original) +++ tomcat/trunk/java/org/apache/juli/FileHandler.java Thu Mar 31 10:43:22 2011 @@ -39,8 +39,42 @@ import java.util.logging.SimpleFormatter /** * Implementation of Handler that appends log messages to a file - * named {prefix}.{date}.{suffix} in a configured directory, with an - * optional preceding timestamp. + * named {prefix}{date}{suffix} in a configured directory. + * + * The following configuration properties are available: + * + * + * directory - The directory where to create the log file. + *If the path is not absolute, it is relative to the current working + *directory of the application. The Apache Tomcat configuration files usually + *specify an absolute path for this property, + *${catalina.base}/logs + *Default value: logs + * rotatable - If true, the log file will be + *rotated on the first write past midnight and the filename will be + *{prefix}{date}{suffix}, where date is -MM-dd. If false, + *the file will not be rotated and the filename will be {prefix}{suffix}. + *Default value: true + * prefix - The leading part of the log file name. + *Default value: juli. + * suffix - The trailing part of the log file name. Default value: .log + * bufferSize - Configures buffering. The value of 0 + *uses system default buffering (typically an 8K buffer will be used). A + *value of <0 forces a writer flush upon each log write. A + *value >0 uses a BufferedOutputStream with the defined + *value but note that the system default buffering will also be + *applied. Default value: -1 + * encoding - Character set used by the log file. Default value: + *empty string, which means to use the system default character set. + * level - The level threshold for this Handler. See the + *java.util.logging.Level class for the possible levels. + *Default value: ALL + * filter - The java.util.logging.Filter + *implementation class name for this Handler. Default value: unset + * formatter - The java.util.logging.Formatter + *implementation class name for this Handler. Default value: + *java.util.logging.SimpleFormatter + * * * @version $Id$ */ Modified: tomcat/trunk/webapps/docs/logging.xml URL: http://svn.apache.org/viewvc/tomcat/trunk/webapps/docs/logging.xml?rev=1087247&r1=1087246&r2=1087247&view=diff == --- tomcat/trunk/webapps/docs/logging.xml (original) +++ tomcat/trunk/webapps/docs/logging.xml Thu Mar 31 10:43:22 2011 @@ -113,9 +113,7 @@ - More details about Tomcat JULI may be found below and in Tomcat Javadoc - for the org.apache.juli - package. + More details about Tomcat JULI may be found below. @@ -371,6 +369,20 @@ java.util.logging.ConsoleHandler.formatt + + See the following resources for additional information: + +Tomcat Javadoc for the + org.apache.juli + package. + +Oracle Java 6 Javadoc for the + http://downloa
Re: svn commit: r1086969 - in /tomcat/trunk: java/org/apache/catalina/startup/HostConfig.java webapps/docs/changelog.xml
By this rev I think that /META-INF/context.xml is added to redeployResources when copyXML is false. Then, there is two question. Q1. After deploying war, the order of redeployResources becomes war -> directory -> /META-INF/context.xml. When /META-INF/context.xml is updated, the context is redeployed. Then, because /META-INF/context.xml already exists in the directory, the order of redeployResources becomes war -> /META-INF/context.xml -> directory. The next resource of the updated resource is deleted in HostConfig#checkResources. Therefore, when /META-INF/context.xml is updated again, the directory is deleted. However /META-INF/context.xml exists in the deleted directory. As a result, because updated /META-INF/context.xml is deleted, it might not be intended work. Q2. Is the addition of /META-INF/context.xml only deployment of the war? Need it for deployment of the directory? 2011/3/30 : > Author: markt > Date: Wed Mar 30 14:33:30 2011 > New Revision: 1086969 > > URL: http://svn.apache.org/viewvc?rev=1086969&view=rev > Log: > Correctly track changes to context.xml files and trigger redeployment when > copyXML is set to false > > Modified: > tomcat/trunk/java/org/apache/catalina/startup/HostConfig.java > tomcat/trunk/webapps/docs/changelog.xml > > Modified: tomcat/trunk/java/org/apache/catalina/startup/HostConfig.java > URL: > http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/startup/HostConfig.java?rev=1086969&r1=1086968&r2=1086969&view=diff > == > --- tomcat/trunk/java/org/apache/catalina/startup/HostConfig.java (original) > +++ tomcat/trunk/java/org/apache/catalina/startup/HostConfig.java Wed Mar 30 > 14:33:30 2011 > @@ -777,8 +777,15 @@ public class HostConfig > JarEntry entry = null; > InputStream istream = null; > BufferedOutputStream ostream = null; > - File xml = new File > - (configBase(), file.substring(0, file.lastIndexOf(".")) + > ".xml"); > + File xml; > + if (copyXML) { > + xml = new File(configBase(), > + file.substring(0, file.lastIndexOf(".")) + ".xml"); > + } else { > + xml = new File(appBase(), > + file.substring(0, file.lastIndexOf(".")) + > + "/META-INF/context.xml"); > + } > boolean xmlInWar = false; > > if (deployXML && !xml.exists()) { > @@ -931,6 +938,10 @@ public class HostConfig > Long.valueOf(docBase.lastModified())); > addWatchedResources(deployedApp, docBase.getAbsolutePath(), > context); > + if (deployXML && !copyXML && xmlInWar) { > + deployedApp.redeployResources.put(xml.getAbsolutePath(), > + Long.valueOf(xml.lastModified())); > + } > } else { > addWatchedResources(deployedApp, null, context); > } > > Modified: tomcat/trunk/webapps/docs/changelog.xml > URL: > http://svn.apache.org/viewvc/tomcat/trunk/webapps/docs/changelog.xml?rev=1086969&r1=1086968&r2=1086969&view=diff > == > --- tomcat/trunk/webapps/docs/changelog.xml (original) > +++ tomcat/trunk/webapps/docs/changelog.xml Wed Mar 30 14:33:30 2011 > @@ -119,6 +119,10 @@ > Provide a configuration option that lets the close method to be used > for > a JNDI Resource to be defined by the user. (markt) > > + > + Correctly track changes to context.xml files and trigger redeployment > + when copyXML is set to false. (markt) > + > > > > > > > - > To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org > For additional commands, e-mail: dev-h...@tomcat.apache.org > > -- Keiichi.Fujino - To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org
Re: svn commit: r1086969 - in /tomcat/trunk: java/org/apache/catalina/startup/HostConfig.java webapps/docs/changelog.xml
On 31/03/2011 12:25, Keiichi Fujino wrote: > By this rev I think that /META-INF/context.xml is added to > redeployResources when copyXML is false. That was indeed the intention. > Then, there is two question. > > Q1. > After deploying war, > the order of redeployResources becomes war -> directory -> > /META-INF/context.xml. So far, so good. > When /META-INF/context.xml is updated, the context is redeployed. > Then, because /META-INF/context.xml already exists in the directory, > the order of redeployResources becomes war -> /META-INF/context.xml -> > directory. I smell trouble ahead. > The next resource of the updated resource is deleted in > HostConfig#checkResources. > Therefore, when /META-INF/context.xml is updated again, the directory > is deleted. > However /META-INF/context.xml exists in the deleted directory. > > As a result, because updated /META-INF/context.xml is deleted, it > might not be intended work. Yep. Trouble. That isn't good at all. Thanks for the review. I had missed that. I'll revisit it. > Q2. > Is the addition of /META-INF/context.xml only deployment of the war? > Need it for deployment of the directory? I think the answer is yes. The intention is that the redeployment order is always: war -> directory -> /META-INF/context.xml Mark - To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org
svn commit: r1087281 - /tomcat/trunk/java/org/apache/catalina/startup/HostConfig.java
Author: markt Date: Thu Mar 31 12:37:10 2011 New Revision: 1087281 URL: http://svn.apache.org/viewvc?rev=1087281&view=rev Log: Follow up to http://svn.apache.org/viewvc?rev=1086969&view=rev Ensure that when copyXML=false: - removing context.xml triggers a redploy but does not remove any other files - removing context.xml triggers a redploy and the context.xml is re-copied from the WAR This should be consistent with behaviour when copyXML=true Modified: tomcat/trunk/java/org/apache/catalina/startup/HostConfig.java Modified: tomcat/trunk/java/org/apache/catalina/startup/HostConfig.java URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/startup/HostConfig.java?rev=1087281&r1=1087280&r2=1087281&view=diff == --- tomcat/trunk/java/org/apache/catalina/startup/HostConfig.java (original) +++ tomcat/trunk/java/org/apache/catalina/startup/HostConfig.java Thu Mar 31 12:37:10 2011 @@ -795,7 +795,7 @@ public class HostConfig if (entry != null) { xmlInWar = true; } -if (copyXML && xmlInWar) { +if ((copyXML || unpackWARs) && xmlInWar) { istream = jar.getInputStream(entry); ostream = @@ -915,7 +915,7 @@ public class HostConfig deployedApp.redeployResources.put (war.getAbsolutePath(), Long.valueOf(war.lastModified())); -if (deployXML && xml.exists()) { +if (deployXML && xml.exists() && copyXML) { deployedApp.redeployResources.put(xml.getAbsolutePath(), Long.valueOf(xml.lastModified())); } @@ -938,7 +938,7 @@ public class HostConfig Long.valueOf(docBase.lastModified())); addWatchedResources(deployedApp, docBase.getAbsolutePath(), context); -if (deployXML && !copyXML && xmlInWar) { +if (deployXML && !copyXML && (xmlInWar || xml.exists())) { deployedApp.redeployResources.put(xml.getAbsolutePath(), Long.valueOf(xml.lastModified())); } - To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org
svn commit: r1087286 - in /tomcat/trunk: java/org/apache/catalina/deploy/ContextResource.java webapps/docs/changelog.xml webapps/docs/config/context.xml
Author: markt Date: Thu Mar 31 13:02:20 2011 New Revision: 1087286 URL: http://svn.apache.org/viewvc?rev=1087286&view=rev Log: Feedback on https://issues.apache.org/bugzilla/show_bug.cgi?id=50991 Change the default Modified: tomcat/trunk/java/org/apache/catalina/deploy/ContextResource.java tomcat/trunk/webapps/docs/changelog.xml tomcat/trunk/webapps/docs/config/context.xml Modified: tomcat/trunk/java/org/apache/catalina/deploy/ContextResource.java URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/deploy/ContextResource.java?rev=1087286&r1=1087285&r2=1087286&view=diff == --- tomcat/trunk/java/org/apache/catalina/deploy/ContextResource.java (original) +++ tomcat/trunk/java/org/apache/catalina/deploy/ContextResource.java Thu Mar 31 13:02:20 2011 @@ -87,7 +87,7 @@ public class ContextResource extends Res * the clean-up of resources that would otherwise happen via garbage * collection. */ -private String closeMethod = "close"; +private String closeMethod = null; public String getCloseMethod() { return closeMethod; Modified: tomcat/trunk/webapps/docs/changelog.xml URL: http://svn.apache.org/viewvc/tomcat/trunk/webapps/docs/changelog.xml?rev=1087286&r1=1087285&r2=1087286&view=diff == --- tomcat/trunk/webapps/docs/changelog.xml (original) +++ tomcat/trunk/webapps/docs/changelog.xml Thu Mar 31 13:02:20 2011 @@ -117,7 +117,9 @@ Provide a configuration option that lets the close method to be used for -a JNDI Resource to be defined by the user. (markt) +a JNDI Resource to be defined by the user. This change also disables +using the close method unless one is explicitly defined for the +resource. (markt) Correctly track changes to context.xml files and trigger redeployment Modified: tomcat/trunk/webapps/docs/config/context.xml URL: http://svn.apache.org/viewvc/tomcat/trunk/webapps/docs/config/context.xml?rev=1087286&r1=1087285&r2=1087286&view=diff == --- tomcat/trunk/webapps/docs/config/context.xml (original) +++ tomcat/trunk/webapps/docs/config/context.xml Thu Mar 31 13:02:20 2011 @@ -1016,8 +1016,8 @@ Name of zero-argument method to call on the resource when it is no longer required to speed up clean-up of resources that would otherwise -happen as part of garbage collection. If not specificed, the default -value of close is used. +happen as part of garbage collection. If not specificed, no default is +defined and no close method will be called. - To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org
svn commit: r1087291 - in /tomcat/trunk: java/org/apache/catalina/deploy/NamingResources.java webapps/docs/changelog.xml webapps/docs/config/context.xml
Author: markt Date: Thu Mar 31 13:11:26 2011 New Revision: 1087291 URL: http://svn.apache.org/viewvc?rev=1087291&view=rev Log: Feedback on https://issues.apache.org/bugzilla/show_bug.cgi?id=50991 No point trying to close a non-singleton resource Modified: tomcat/trunk/java/org/apache/catalina/deploy/NamingResources.java tomcat/trunk/webapps/docs/changelog.xml tomcat/trunk/webapps/docs/config/context.xml Modified: tomcat/trunk/java/org/apache/catalina/deploy/NamingResources.java URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/deploy/NamingResources.java?rev=1087291&r1=1087290&r2=1087291&view=diff == --- tomcat/trunk/java/org/apache/catalina/deploy/NamingResources.java (original) +++ tomcat/trunk/java/org/apache/catalina/deploy/NamingResources.java Thu Mar 31 13:11:26 2011 @@ -980,18 +980,21 @@ public class NamingResources extends Lif return; } for (ContextResource cr: resources.values()) { -String closeMethod = cr.getCloseMethod(); -if (closeMethod != null && closeMethod.length() > 0) { -String name = cr.getName(); -Object resource; -try { - resource = ctxt.lookup(name); -} catch (NamingException e) { -log.warn(sm.getString("namingResources.cleanupNoResource", -cr.getName(), container), e); -continue; +if (cr.getSingleton()) { +String closeMethod = cr.getCloseMethod(); +if (closeMethod != null && closeMethod.length() > 0) { +String name = cr.getName(); +Object resource; +try { + resource = ctxt.lookup(name); +} catch (NamingException e) { +log.warn(sm.getString( +"namingResources.cleanupNoResource", +cr.getName(), container), e); +continue; +} +cleanUp(resource, name, closeMethod); } -cleanUp(resource, name, closeMethod); } } } Modified: tomcat/trunk/webapps/docs/changelog.xml URL: http://svn.apache.org/viewvc/tomcat/trunk/webapps/docs/changelog.xml?rev=1087291&r1=1087290&r2=1087291&view=diff == --- tomcat/trunk/webapps/docs/changelog.xml (original) +++ tomcat/trunk/webapps/docs/changelog.xml Thu Mar 31 13:11:26 2011 @@ -119,7 +119,7 @@ Provide a configuration option that lets the close method to be used for a JNDI Resource to be defined by the user. This change also disables using the close method unless one is explicitly defined for the -resource. (markt) +resource and limits it to singleton resources. (markt) Correctly track changes to context.xml files and trigger redeployment Modified: tomcat/trunk/webapps/docs/config/context.xml URL: http://svn.apache.org/viewvc/tomcat/trunk/webapps/docs/config/context.xml?rev=1087291&r1=1087290&r2=1087291&view=diff == --- tomcat/trunk/webapps/docs/config/context.xml (original) +++ tomcat/trunk/webapps/docs/config/context.xml Thu Mar 31 13:11:26 2011 @@ -1014,10 +1014,12 @@ -Name of zero-argument method to call on the resource when it is no -longer required to speed up clean-up of resources that would otherwise -happen as part of garbage collection. If not specificed, no default is -defined and no close method will be called. +Name of the zero-argument method to call on a singleton resource when +it is no longer required. This is intended to speed up clean-up of +resources that would otherwise happen as part of garbage collection. +This attribute is ignored if the singleton attribute is +false. If not specificed, no default is defined and no close method will +be called. - To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org
svn commit: r1087292 - in /tomcat/trunk: java/org/apache/catalina/core/NamingContextListener.java webapps/docs/changelog.xml webapps/docs/config/context.xml
Author: markt Date: Thu Mar 31 13:22:11 2011 New Revision: 1087292 URL: http://svn.apache.org/viewvc?rev=1087292&view=rev Log: Only register a DataSource with JMX if it is a singleton Modified: tomcat/trunk/java/org/apache/catalina/core/NamingContextListener.java tomcat/trunk/webapps/docs/changelog.xml tomcat/trunk/webapps/docs/config/context.xml Modified: tomcat/trunk/java/org/apache/catalina/core/NamingContextListener.java URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/core/NamingContextListener.java?rev=1087292&r1=1087291&r2=1087292&view=diff == --- tomcat/trunk/java/org/apache/catalina/core/NamingContextListener.java (original) +++ tomcat/trunk/java/org/apache/catalina/core/NamingContextListener.java Thu Mar 31 13:22:11 2011 @@ -1014,7 +1014,8 @@ public class NamingContextListener logger.error(sm.getString("naming.bindFailed", e)); } -if ("javax.sql.DataSource".equals(ref.getClassName())) { +if ("javax.sql.DataSource".equals(ref.getClassName()) && +resource.getSingleton()) { try { ObjectName on = createObjectName(resource); Object actualResource = envCtx.lookup(resource.getName()); Modified: tomcat/trunk/webapps/docs/changelog.xml URL: http://svn.apache.org/viewvc/tomcat/trunk/webapps/docs/changelog.xml?rev=1087292&r1=1087291&r2=1087292&view=diff == --- tomcat/trunk/webapps/docs/changelog.xml (original) +++ tomcat/trunk/webapps/docs/changelog.xml Thu Mar 31 13:22:11 2011 @@ -134,6 +134,9 @@ Don't append the jvmRoute to a session ID if the jvmRoute is a zero length string. (markt) + +Don't register non-singelton DataSource resources with JMX. (markt) + Modified: tomcat/trunk/webapps/docs/config/context.xml URL: http://svn.apache.org/viewvc/tomcat/trunk/webapps/docs/config/context.xml?rev=1087292&r1=1087291&r2=1087292&view=diff == --- tomcat/trunk/webapps/docs/config/context.xml (original) +++ tomcat/trunk/webapps/docs/config/context.xml Thu Mar 31 13:22:11 2011 @@ -1044,8 +1044,11 @@ attribute is true, multiple JNDI lookups for this resource will return the same object. If this attribute is false, multiple JNDI lookups for this resource will return different objects. -The value of this attribute must be true or -false. By default, this attribute is true. +This attribute must be true for +javax.sql.DataSource resources to enable JMX registration +of the DataSource. The value of this attribute must be true +or false. By default, this attribute is true. + - To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org
DO NOT REPLY [Bug 50991] Data source is closed before contextDestroyed is executed. tomcat 7.0.11
https://issues.apache.org/bugzilla/show_bug.cgi?id=50991 Mark Thomas changed: What|Removed |Added Status|REOPENED|RESOLVED Resolution||FIXED --- Comment #6 from Mark Thomas 2011-03-31 09:25:03 EDT --- Thanks for the review and feedback. I have made the following changes for 7.0.12: - disable by default be changing the default for closeMethod to null (r1087286) - don't try and close non-singleton resources as it is pointless (r1087291) - only register DataSources with JMX if they are singletons (r1087292) -- Configure bugmail: https://issues.apache.org/bugzilla/userprefs.cgi?tab=email --- You are receiving this mail because: --- You are the assignee for the bug. - To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org
DO NOT REPLY [Bug 50975] IIS connector times out on Transfer Encoded content, never sending the chunked content
https://issues.apache.org/bugzilla/show_bug.cgi?id=50975 --- Comment #4 from Aaron Johnson 2011-03-31 10:10:43 EDT --- The problem is that IIS is inserting the content length into the chunked request at some point in its filtering chain. You are correct the client isn't sending content-length, but when the isapi_redirect.dll connector gets the request it does contain the C-L header. I think that is what is causing the connector endpoint to hang. The C-L header is confusing the endpoint because it is waiting for the chunked content because of the C-L header, but the connector is expecting the endpoint to request the chunked content. I'd suspect that maybe the other connectors would have this bug as well, but it is only IIS putting C-L header on causing both the C-L and C-E=chunked headers to appear on the request. I was able to test out the patch on 64-bit IIS and it does solve my immediate problem with the POSTs hanging, but I'm not familiar with what the specs say about having both C-L and C-E on the same request. -- Configure bugmail: https://issues.apache.org/bugzilla/userprefs.cgi?tab=email --- You are receiving this mail because: --- You are the assignee for the bug. - To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org
svn commit: r1087392 - in /tomcat/trunk: java/org/apache/catalina/authenticator/ webapps/docs/ webapps/docs/config/
Author: markt Date: Thu Mar 31 18:02:10 2011 New Revision: 1087392 URL: http://svn.apache.org/viewvc?rev=1087392&view=rev Log: Switch SPNEGO authenticator to use file based JAAS config as this provides greater flexibility including making it easier to work with non-Oracle JVMs. Clean up the code, add debug logging and improve error handling. Modified: tomcat/trunk/java/org/apache/catalina/authenticator/Constants.java tomcat/trunk/java/org/apache/catalina/authenticator/LocalStrings.properties tomcat/trunk/java/org/apache/catalina/authenticator/SpnegoAuthenticator.java tomcat/trunk/webapps/docs/config/valve.xml tomcat/trunk/webapps/docs/windows-auth-howto.xml Modified: tomcat/trunk/java/org/apache/catalina/authenticator/Constants.java URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/authenticator/Constants.java?rev=1087392&r1=1087391&r2=1087392&view=diff == --- tomcat/trunk/java/org/apache/catalina/authenticator/Constants.java (original) +++ tomcat/trunk/java/org/apache/catalina/authenticator/Constants.java Thu Mar 31 18:02:10 2011 @@ -40,6 +40,15 @@ public class Constants { // SPNEGO authentication constants public static final String DEFAULT_KEYTAB = "conf/tomcat.keytab"; public static final String DEFAULT_SPN_CLASS = "HTTP"; +public static final String KRB5_CONF_PROPERTY = "java.security.krb5.conf"; +public static final String DEFAULT_KRB5_CONF = "conf/krb5.ini"; +public static final String JAAS_CONF_PROPERTY = +"java.security.auth.login.config"; +public static final String DEFAULT_JAAS_CONF = "conf/jaas.conf"; +public static final String DEFAULT_LOGIN_MODULE_NAME = +"com.sun.security.jgss.krb5.accept"; +public static final String USE_SUBJECT_CREDS_ONLY_PROPERTY = +"javax.security.auth.useSubjectCredsOnly"; // Cookie name for single sign on support public static final String SINGLE_SIGN_ON_COOKIE = Modified: tomcat/trunk/java/org/apache/catalina/authenticator/LocalStrings.properties URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/authenticator/LocalStrings.properties?rev=1087392&r1=1087391&r2=1087392&view=diff == --- tomcat/trunk/java/org/apache/catalina/authenticator/LocalStrings.properties (original) +++ tomcat/trunk/java/org/apache/catalina/authenticator/LocalStrings.properties Thu Mar 31 18:02:10 2011 @@ -20,6 +20,7 @@ authenticator.invalid=Invalid client cer authenticator.loginFail=Login failed authenticator.keystore=Exception loading key store authenticator.manager=Exception initializing trust managers +authenticator.noAuthHeader=No authorization header sent by client authenticator.notAuthenticated=Configuration error: Cannot perform access control without an authenticated principal authenticator.notContext=Configuration error: Must be attached to a Context authenticator.requestBodyTooBig=The request body was too large to be cached during the authentication process @@ -30,6 +31,8 @@ authenticator.userDataConstraint=This re formAuthenticator.forwardErrorFail=Unexpected error forwarding to error page formAuthenticator.forwardLoginFail=Unexpected error forwarding to login page +spnegoAuthenticator.authHeaderNoToken=The Negotiate authorization header sent by the client did include a token +spnegoAuthenticator.authHeaderNotNego=The authorization header sent by the client did not start with Negotiate spnegoAuthenticator.hostnameFail=Unable to determine the host name to construct the default SPN. Please set the spn attribute of the authenticator. spnegoAuthenticator.serviceLoginFail=Unable to login as the service principal spnegoAuthenticator.ticketValidateFail=Failed to validate client supplied ticket \ No newline at end of file Modified: tomcat/trunk/java/org/apache/catalina/authenticator/SpnegoAuthenticator.java URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/authenticator/SpnegoAuthenticator.java?rev=1087392&r1=1087391&r2=1087392&view=diff == --- tomcat/trunk/java/org/apache/catalina/authenticator/SpnegoAuthenticator.java (original) +++ tomcat/trunk/java/org/apache/catalina/authenticator/SpnegoAuthenticator.java Thu Mar 31 18:02:10 2011 @@ -18,22 +18,12 @@ package org.apache.catalina.authenticato import java.io.File; import java.io.IOException; -import java.net.InetAddress; -import java.net.UnknownHostException; import java.security.Principal; -import java.security.PrivilegedActionException; -import java.security.PrivilegedExceptionAction; -import java.util.HashMap; -import java.util.Map; - -import javax.security.auth.Subject; -import javax.security.auth.login.AppConfigurationEntry; -import javax.security.auth.login.Configuration; + import javax.security.auth.log
svn commit: r1087416 - in /tomcat/trunk: java/org/apache/catalina/ java/org/apache/catalina/authenticator/ java/org/apache/catalina/connector/ java/org/apache/catalina/realm/ java/org/apache/catalina/
Author: markt Date: Thu Mar 31 19:33:04 2011 New Revision: 1087416 URL: http://svn.apache.org/viewvc?rev=1087416&view=rev Log: SPNEGO support part 2 Expose the users delegated credentials through a request attribute so applications can make use of it Modified: tomcat/trunk/java/org/apache/catalina/Globals.java tomcat/trunk/java/org/apache/catalina/Realm.java tomcat/trunk/java/org/apache/catalina/authenticator/SpnegoAuthenticator.java tomcat/trunk/java/org/apache/catalina/connector/Request.java tomcat/trunk/java/org/apache/catalina/realm/CombinedRealm.java tomcat/trunk/java/org/apache/catalina/realm/GenericPrincipal.java tomcat/trunk/java/org/apache/catalina/realm/LocalStrings.properties tomcat/trunk/java/org/apache/catalina/realm/LockOutRealm.java tomcat/trunk/java/org/apache/catalina/realm/RealmBase.java tomcat/trunk/java/org/apache/catalina/session/StandardSession.java tomcat/trunk/webapps/docs/config/valve.xml Modified: tomcat/trunk/java/org/apache/catalina/Globals.java URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/Globals.java?rev=1087416&r1=1087415&r2=1087416&view=diff == --- tomcat/trunk/java/org/apache/catalina/Globals.java (original) +++ tomcat/trunk/java/org/apache/catalina/Globals.java Thu Mar 31 19:33:04 2011 @@ -151,6 +151,10 @@ public final class Globals { "javax.security.auth.subject"; +public static final String GSS_CREDENTIAL_ATTR = +"org.apache.catalina.realm.GSS_CREDENTIAL"; + + /** * The master flag which controls strict servlet specification * compliance. Modified: tomcat/trunk/java/org/apache/catalina/Realm.java URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/Realm.java?rev=1087416&r1=1087415&r2=1087416&view=diff == --- tomcat/trunk/java/org/apache/catalina/Realm.java (original) +++ tomcat/trunk/java/org/apache/catalina/Realm.java Thu Mar 31 19:33:04 2011 @@ -111,9 +111,11 @@ public interface Realm { * Return the Principal associated with the specified chain of X509 * client certificates. If there is none, return null. * - * @param certs The gssContext processed by the {@link Authenticator}. + * @param gssContext The gssContext processed by the {@link Authenticator}. + * @param storeCreds Should the realm attempt to store the delegated + * credentials in the returned Principal? */ -public Principal authenticate(GSSContext gssContext); +public Principal authenticate(GSSContext gssContext, boolean storeCreds); /** Modified: tomcat/trunk/java/org/apache/catalina/authenticator/SpnegoAuthenticator.java URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/authenticator/SpnegoAuthenticator.java?rev=1087416&r1=1087415&r2=1087416&view=diff == --- tomcat/trunk/java/org/apache/catalina/authenticator/SpnegoAuthenticator.java (original) +++ tomcat/trunk/java/org/apache/catalina/authenticator/SpnegoAuthenticator.java Thu Mar 31 19:33:04 2011 @@ -77,6 +77,15 @@ public class SpnegoAuthenticator extends this.loginConfigName = loginConfigName; } +private boolean storeDelegatedCredentials = true; +public boolean isStoreDelegatedCredentials() { +return storeDelegatedCredentials; +} +public void setStoreDelegatedCredentials( +boolean storeDelegatedCredentials) { +this.storeDelegatedCredentials = storeDelegatedCredentials; +} + @Override protected String getAuthMethod() { @@ -229,7 +238,8 @@ public class SpnegoAuthenticator extends return false; } -principal = context.getRealm().authenticate(gssContext); +principal = context.getRealm().authenticate(gssContext, +storeDelegatedCredentials); } catch (GSSException e) { if (log.isDebugEnabled()) { log.debug(sm.getString("spnegoAuthenticator.ticketValidateFail", Modified: tomcat/trunk/java/org/apache/catalina/connector/Request.java URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/connector/Request.java?rev=1087416&r1=1087415&r2=1087416&view=diff == --- tomcat/trunk/java/org/apache/catalina/connector/Request.java (original) +++ tomcat/trunk/java/org/apache/catalina/connector/Request.java Thu Mar 31 19:33:04 2011 @@ -923,6 +923,13 @@ public class Request return asyncSupported; } +if (name.equals(Globals.GSS_CREDENTIAL_ATTR)) { +if (userPrincipal instanceof GenericPrincipal) { +return ((GenericPrincipal) userPrincipal).getGssCredential(); +
svn commit: r1087442 - /tomcat/trunk/modules/jdbc-pool/src/main/java/org/apache/tomcat/jdbc/pool/ProxyConnection.java
Author: fhanik Date: Thu Mar 31 21:20:30 2011 New Revision: 1087442 URL: http://svn.apache.org/viewvc?rev=1087442&view=rev Log: Fix NPE that can happen during concurrency (connection being abandoned, misconfiguration in abandon timeout or lack of ResetAbandonedTimer interceptor) http://markmail.org/message/yhshyvyunddb5ngt Modified: tomcat/trunk/modules/jdbc-pool/src/main/java/org/apache/tomcat/jdbc/pool/ProxyConnection.java Modified: tomcat/trunk/modules/jdbc-pool/src/main/java/org/apache/tomcat/jdbc/pool/ProxyConnection.java URL: http://svn.apache.org/viewvc/tomcat/trunk/modules/jdbc-pool/src/main/java/org/apache/tomcat/jdbc/pool/ProxyConnection.java?rev=1087442&r1=1087441&r2=1087442&view=diff == --- tomcat/trunk/modules/jdbc-pool/src/main/java/org/apache/tomcat/jdbc/pool/ProxyConnection.java (original) +++ tomcat/trunk/modules/jdbc-pool/src/main/java/org/apache/tomcat/jdbc/pool/ProxyConnection.java Thu Mar 31 21:20:30 2011 @@ -122,7 +122,12 @@ public class ProxyConnection extends Jdb return this.isWrapperFor((Class)args[0]); } try { -return method.invoke(connection.getConnection(),args); +PooledConnection poolc = connection; +if (poolc!=null) { +return method.invoke(poolc.getConnection(),args); +} else { +throw new SQLException("Connection has already been closed."); +} }catch (Throwable t) { if (t instanceof InvocationTargetException) { InvocationTargetException it = (InvocationTargetException)t; - To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org
svn commit: r1087467 - in /tomcat/trunk/modules/jdbc-pool/src/main/java/org/apache/tomcat/jdbc/pool: PoolProperties.java TrapException.java
Author: fhanik Date: Thu Mar 31 22:28:54 2011 New Revision: 1087467 URL: http://svn.apache.org/viewvc?rev=1087467&view=rev Log: Implement exception traps as suggested by Eiji Takahashi http://markmail.org/message/c7hrhky4jtgcto76 Added: tomcat/trunk/modules/jdbc-pool/src/main/java/org/apache/tomcat/jdbc/pool/TrapException.java Modified: tomcat/trunk/modules/jdbc-pool/src/main/java/org/apache/tomcat/jdbc/pool/PoolProperties.java Modified: tomcat/trunk/modules/jdbc-pool/src/main/java/org/apache/tomcat/jdbc/pool/PoolProperties.java URL: http://svn.apache.org/viewvc/tomcat/trunk/modules/jdbc-pool/src/main/java/org/apache/tomcat/jdbc/pool/PoolProperties.java?rev=1087467&r1=1087466&r2=1087467&view=diff == --- tomcat/trunk/modules/jdbc-pool/src/main/java/org/apache/tomcat/jdbc/pool/PoolProperties.java (original) +++ tomcat/trunk/modules/jdbc-pool/src/main/java/org/apache/tomcat/jdbc/pool/PoolProperties.java Thu Mar 31 22:28:54 2011 @@ -401,15 +401,17 @@ public class PoolProperties implements P interceptors = new InterceptorDefinition[0]; } else { String[] interceptorValues = jdbcInterceptors.split(";"); -InterceptorDefinition[] definitions = new InterceptorDefinition[interceptorValues.length]; +InterceptorDefinition[] definitions = new InterceptorDefinition[interceptorValues.length+1]; +//always add the trap interceptor to the mix +definitions[0] = new InterceptorDefinition(TrapException.class); for (int i=0; i cl) { +this(cl.getName()); +clazz = cl; +} public String getClassName() { return className; Added: tomcat/trunk/modules/jdbc-pool/src/main/java/org/apache/tomcat/jdbc/pool/TrapException.java URL: http://svn.apache.org/viewvc/tomcat/trunk/modules/jdbc-pool/src/main/java/org/apache/tomcat/jdbc/pool/TrapException.java?rev=1087467&view=auto == --- tomcat/trunk/modules/jdbc-pool/src/main/java/org/apache/tomcat/jdbc/pool/TrapException.java (added) +++ tomcat/trunk/modules/jdbc-pool/src/main/java/org/apache/tomcat/jdbc/pool/TrapException.java Thu Mar 31 22:28:54 2011 @@ -0,0 +1,80 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package org.apache.tomcat.jdbc.pool; + + +import java.lang.reflect.InvocationTargetException; +import java.lang.reflect.Method; +import java.sql.SQLException; +/** + * Interceptor that traps any unhandled exception types and throws an exception that has been declared by the method + * called, or throw a SQLException if it is declared. + * If the caught exception is not declared, and the method doesn't throw SQLException, then this interceptor will + * throw a RuntimeException + * @author fhanik + * + */ +public class TrapException extends JdbcInterceptor { + + +public TrapException() { +} + +@Override +public Object invoke(Object proxy, Method method, Object[] args) throws Throwable { +try { +return super.invoke(proxy, method, args); +}catch (Throwable t) { +Throwable exception = t; +if (t instanceof InvocationTargetException) { +InvocationTargetException it = (InvocationTargetException)t; +exception = it.getCause()!=null?it.getCause():it; +} +Class exceptionClass = exception.getClass(); +if (!isDeclaredException(method, exceptionClass)) { +if (isDeclaredException(method,SQLException.class)) { +SQLException sqlx = new SQLException("Uncaught underlying exception."); +sqlx.initCause(exception); +exception = sqlx; +} else { +RuntimeException rx = new RuntimeException("Uncaught underlying exception."); +rx.initCause(exception); +exception = rx; +} +} +throw exception; +} + +} + +public boolean isDeclaredException(M
svn commit: r1087524 - in /tomcat/trunk: java/org/apache/catalina/authenticator/ java/org/apache/catalina/realm/ webapps/docs/ webapps/docs/config/
Author: markt Date: Fri Apr 1 00:34:45 2011 New Revision: 1087524 URL: http://svn.apache.org/viewvc?rev=1087524&view=rev Log: SPNEGP part 3 - the final part for 7.0.12 Integrate with JNDI realm so delegated credentials are used by default. Modified: tomcat/trunk/java/org/apache/catalina/authenticator/SpnegoAuthenticator.java tomcat/trunk/java/org/apache/catalina/realm/JNDIRealm.java tomcat/trunk/java/org/apache/catalina/realm/RealmBase.java tomcat/trunk/webapps/docs/changelog.xml tomcat/trunk/webapps/docs/config/realm.xml tomcat/trunk/webapps/docs/windows-auth-howto.xml Modified: tomcat/trunk/java/org/apache/catalina/authenticator/SpnegoAuthenticator.java URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/authenticator/SpnegoAuthenticator.java?rev=1087524&r1=1087523&r2=1087524&view=diff == --- tomcat/trunk/java/org/apache/catalina/authenticator/SpnegoAuthenticator.java (original) +++ tomcat/trunk/java/org/apache/catalina/authenticator/SpnegoAuthenticator.java Fri Apr 1 00:34:45 2011 @@ -46,24 +46,6 @@ import org.ietf.jgss.Oid; * multiple components. If the configuration is invalid, the error messages are * often cryptic although a Google search will usually point you in the right * direction. - * - * TODO: - * - * Add support for delegating credentials? Need this if we want to - * authenticate to a realm as the user. This is likely to result in a fair - * amount of internal refactoring. - * - * - * TBDs: - * - * Does the domain name have to be in upper case? - * Does the SPN have to start with HTTP/...? - * Can a port number be appended to the end of the host in the SPN? - * Can the domain be left off the user in the ktpass command? - * What are the limitations on the account that Tomcat can run as? SPN - * associated account works, domain admin works, local admin doesn't - * work - * */ public class SpnegoAuthenticator extends AuthenticatorBase { Modified: tomcat/trunk/java/org/apache/catalina/realm/JNDIRealm.java URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/realm/JNDIRealm.java?rev=1087524&r1=1087523&r2=1087524&view=diff == --- tomcat/trunk/java/org/apache/catalina/realm/JNDIRealm.java (original) +++ tomcat/trunk/java/org/apache/catalina/realm/JNDIRealm.java Fri Apr 1 00:34:45 2011 @@ -56,6 +56,7 @@ import org.apache.catalina.LifecycleExce import org.apache.catalina.util.Base64; import org.apache.tomcat.util.buf.ByteChunk; import org.apache.tomcat.util.buf.CharChunk; +import org.ietf.jgss.GSSCredential; /** * Implementation of Realm that works with a directory @@ -415,6 +416,14 @@ public class JNDIRealm extends RealmBase */ protected int timeLimit = 0; + +/** + * Should delegated credentials from the SPNEGO authenticator be used if + * available + */ +protected boolean useDelegatedCredential = true; + + // - Properties /** @@ -950,6 +959,15 @@ public class JNDIRealm extends RealmBase } + +public boolean isUseDelegatedCredential() { +return useDelegatedCredential; +} + +public void setUseDelegatedCredential(boolean useDelegatedCredential) { +this.useDelegatedCredential = useDelegatedCredential; +} + /** * Return descriptive information about this Realm implementation and * the corresponding version number, in the format @@ -1935,6 +1953,12 @@ public class JNDIRealm extends RealmBase */ @Override protected Principal getPrincipal(String username) { +return getPrincipal(username, null); +} + +@Override +protected Principal getPrincipal(String username, +GSSCredential gssCredential) { DirContext context = null; Principal principal = null; @@ -1949,7 +1973,7 @@ public class JNDIRealm extends RealmBase try { // Authenticate the specified username if possible -principal = getPrincipal(context, username); +principal = getPrincipal(context, username, gssCredential); } catch (CommunicationException e) { @@ -1964,7 +1988,7 @@ public class JNDIRealm extends RealmBase context = open(); // Try the authentication again. -principal = getPrincipal(context, username); +principal = getPrincipal(context, username, gssCredential); } catch (ServiceUnavailableException e) { @@ -1979,7 +2003,7 @@ public class JNDIRealm extends RealmBase context = open(); // Try the authentication again. -principal = getPrincipal(context, username); +principal = getPrincipal(context, username, gssCredent
svn commit: r1087525 - /tomcat/trunk/webapps/docs/changelog.xml
Author: markt Date: Fri Apr 1 00:35:47 2011 New Revision: 1087525 URL: http://svn.apache.org/viewvc?rev=1087525&view=rev Log: Add credit Modified: tomcat/trunk/webapps/docs/changelog.xml Modified: tomcat/trunk/webapps/docs/changelog.xml URL: http://svn.apache.org/viewvc/tomcat/trunk/webapps/docs/changelog.xml?rev=1087525&r1=1087524&r2=1087525&view=diff == --- tomcat/trunk/webapps/docs/changelog.xml (original) +++ tomcat/trunk/webapps/docs/changelog.xml Fri Apr 1 00:35:47 2011 @@ -101,7 +101,8 @@ user's delegated credentials and exposing the user's delegated credentials via a request attribute so applications can make use of the to impersonate the current user when accessing third-party systems that -use a compatible authentication mechanism. (markt) +use a compatible authentication mechanism. Based on a patch provided by +Michael Osipov. (markt) HTTP range requests cannot be reliably served when a Writer is in use so - To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org
DO NOT REPLY [Bug 48685] Spnego Support in Tomcat
https://issues.apache.org/bugzilla/show_bug.cgi?id=48685 Mark Thomas changed: What|Removed |Added Status|NEW |RESOLVED Resolution||FIXED --- Comment #36 from Mark Thomas 2011-03-31 20:42:47 EDT --- The final part of the Tomcat SPNEGO implementation has just been committed. It is broadly based on Michael's patch. The key features are: - a new SPNEGO login-config for use in web.xml that supports Windows native authentication via kerberos - integration with all Tomcat Realms - additional integration with the JNDI Realm that enabled the user's delegated credentials to be used to connected to AD - the user's delegated credentials are exposed via a request attribute so applications can use then to impersonate the user when accessing external services The main differences compared to the original patch are: - Use existing Base64 encoder/decoder rather than proposed one - Integrate with the JNDI realm rather than a new one - Use existing GenericPrincipal rather than proposed ones - Documentation This requires Java 6 so it won't get proposed for back-port to 6.0.x. Bugs in this implementation and additional configuration / feature requests should be raised as new Bugzilla issues against Tomcat 7. -- Configure bugmail: https://issues.apache.org/bugzilla/userprefs.cgi?tab=email --- You are receiving this mail because: --- You are the assignee for the bug. - To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org
svn commit: r1087534 - /tomcat/trunk/java/org/apache/catalina/startup/HostConfig.java
Author: markt Date: Fri Apr 1 01:02:07 2011 New Revision: 1087534 URL: http://svn.apache.org/viewvc?rev=1087534&view=rev Log: Another context.xml tracking issue. This time if using just dir deployment. A changes in context.xml now triggers a redeploy rather than a reload (so the context.xml is re-read) Modified: tomcat/trunk/java/org/apache/catalina/startup/HostConfig.java Modified: tomcat/trunk/java/org/apache/catalina/startup/HostConfig.java URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/startup/HostConfig.java?rev=1087534&r1=1087533&r2=1087534&view=diff == --- tomcat/trunk/java/org/apache/catalina/startup/HostConfig.java (original) +++ tomcat/trunk/java/org/apache/catalina/startup/HostConfig.java Fri Apr 1 01:02:07 2011 @@ -1055,10 +1055,16 @@ public class HostConfig host.addChild(context); deployedApp.redeployResources.put(dir.getAbsolutePath(), Long.valueOf(dir.lastModified())); -if (xmlCopy != null) { -deployedApp.redeployResources.put( -xmlCopy.getAbsolutePath(), -Long.valueOf(xmlCopy.lastModified())); +if (deployXML && xml.exists()) { +if (xmlCopy == null) { +deployedApp.redeployResources.put( +xml.getAbsolutePath(), +Long.valueOf(xml.lastModified())); +} else { +deployedApp.redeployResources.put( +xmlCopy.getAbsolutePath(), +Long.valueOf(xmlCopy.lastModified())); +} } addWatchedResources(deployedApp, dir.getAbsolutePath(), context); } catch (Throwable t) { - To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org
DO NOT REPLY [Bug 50957] Blocking IO can serve wrong response data
https://issues.apache.org/bugzilla/show_bug.cgi?id=50957 --- Comment #14 from Tim Whittington 2011-04-01 02:32:40 EDT --- It may be unrelated, but I'm trying to track down a (very) reproducible error on one of our products where using Firefox with HTTP pipelining enabled results in garbled responses (and a smattering of 401 and 505 responses). The user reports of this error went along the lines of seeing JavaScript content where HTML responses were expected, images switched etc., which sounds similar to this. -- Configure bugmail: https://issues.apache.org/bugzilla/userprefs.cgi?tab=email --- You are receiving this mail because: --- You are the assignee for the bug. - To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org