svn commit: r326292 - in /tomcat: connectors/trunk/util/java/org/apache/tomcat/util/net/AprEndpoint.java container/tc5.5.x/webapps/docs/changelog.xml
Author: remm Date: Tue Oct 18 16:04:30 2005 New Revision: 326292 URL: http://svn.apache.org/viewcvs?rev=326292view=rev Log: - 37121: Sendfile always needs to be given the length of data to write, not the end of the range. Ranged requests behaved in a weird way and ended with an error status because of that. Modified: tomcat/connectors/trunk/util/java/org/apache/tomcat/util/net/AprEndpoint.java tomcat/container/tc5.5.x/webapps/docs/changelog.xml Modified: tomcat/connectors/trunk/util/java/org/apache/tomcat/util/net/AprEndpoint.java URL: http://svn.apache.org/viewcvs/tomcat/connectors/trunk/util/java/org/apache/tomcat/util/net/AprEndpoint.java?rev=326292r1=326291r2=326292view=diff == --- tomcat/connectors/trunk/util/java/org/apache/tomcat/util/net/AprEndpoint.java (original) +++ tomcat/connectors/trunk/util/java/org/apache/tomcat/util/net/AprEndpoint.java Tue Oct 18 16:04:30 2005 @@ -1341,7 +1341,7 @@ Socket.timeoutSet(data.socket, 0); while (true) { long nw = Socket.sendfile(data.socket, data.fd, null, null, - data.pos, data.end, 0); + data.pos, data.end - data.pos, 0); if (nw 0) { if (!(-nw == Status.EAGAIN)) { Socket.destroy(data.socket); Modified: tomcat/container/tc5.5.x/webapps/docs/changelog.xml URL: http://svn.apache.org/viewcvs/tomcat/container/tc5.5.x/webapps/docs/changelog.xml?rev=326292r1=326291r2=326292view=diff == --- tomcat/container/tc5.5.x/webapps/docs/changelog.xml (original) +++ tomcat/container/tc5.5.x/webapps/docs/changelog.xml Tue Oct 18 16:04:30 2005 @@ -71,6 +71,10 @@ add bug36630/bug: Added extra log output for class instantiation failure. (yoavs) /add + fix +bug37121/bug: Sendfile always needs to be given the length of data to write, +which fixes ranged requests. (remm) + /fix /changelog /subsection subsection name=Jasper - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
svn commit: r331252 - /tomcat/container/tc5.5.x/webapps/docs/changelog.xml
Author: remm Date: Mon Nov 7 02:07:06 2005 New Revision: 331252 URL: http://svn.apache.org/viewcvs?rev=331252view=rev Log: - Changelog update. Modified: tomcat/container/tc5.5.x/webapps/docs/changelog.xml Modified: tomcat/container/tc5.5.x/webapps/docs/changelog.xml URL: http://svn.apache.org/viewcvs/tomcat/container/tc5.5.x/webapps/docs/changelog.xml?rev=331252r1=331251r2=331252view=diff == --- tomcat/container/tc5.5.x/webapps/docs/changelog.xml (original) +++ tomcat/container/tc5.5.x/webapps/docs/changelog.xml Mon Nov 7 02:07:06 2005 @@ -82,6 +82,12 @@ bug37121/bug: Sendfile always needs to be given the length of data to write, which fixes ranged requests. (remm) /fix + fix +Optimized direct byte buffers association with the socket for APR connectors. (mturk) + /fix + fix +Fix hidden NPEs when using the APR connectors and there's no host header. (pero, remm) + /fix /changelog /subsection subsection name=Jasper - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
svn commit: r332801 - /tomcat/container/tc5.5.x/catalina/src/share/org/apache/catalina/loader/WebappClassLoader.java
Author: remm Date: Sat Nov 12 09:48:54 2005 New Revision: 332801 URL: http://svn.apache.org/viewcvs?rev=332801view=rev Log: - Add additional experimental measures against apparent garbage collection bugs by setting to null static final fields. Also unregister any JDBC driver. This code is based on techniques found on the Hibernate forums, where this sort of cleanup proved to be able to fix memory leaking. - According to Hibernate developers, the following scenario is causing a leak of the classloader (note: obviously this is not a Tomcat bug, but merely something where there seems to be a workaround): public class DeployTestServlet extends HttpServlet { private TestValue testValue; public void init(ServletConfig servletConfig) throws ServletException { super.init(servletConfig); testValue = TestHolder.TEST_VALUE; } } public class TestHolder { public static final TestValue TEST_VALUE = new TestValue(); } public class TestValue { private transient ClassLoader value; public TestValue() { value = this.getClass().getClassLoader(); } } Modified: tomcat/container/tc5.5.x/catalina/src/share/org/apache/catalina/loader/WebappClassLoader.java Modified: tomcat/container/tc5.5.x/catalina/src/share/org/apache/catalina/loader/WebappClassLoader.java URL: http://svn.apache.org/viewcvs/tomcat/container/tc5.5.x/catalina/src/share/org/apache/catalina/loader/WebappClassLoader.java?rev=332801r1=332800r2=332801view=diff == --- tomcat/container/tc5.5.x/catalina/src/share/org/apache/catalina/loader/WebappClassLoader.java (original) +++ tomcat/container/tc5.5.x/catalina/src/share/org/apache/catalina/loader/WebappClassLoader.java Sat Nov 12 09:48:54 2005 @@ -23,6 +23,8 @@ import java.io.FilePermission; import java.io.IOException; import java.io.InputStream; +import java.lang.reflect.Field; +import java.lang.reflect.Modifier; import java.net.MalformedURLException; import java.net.URL; import java.net.URLClassLoader; @@ -33,6 +35,9 @@ import java.security.PermissionCollection; import java.security.Policy; import java.security.PrivilegedAction; +import java.sql.Driver; +import java.sql.DriverManager; +import java.sql.SQLException; import java.util.ArrayList; import java.util.Enumeration; import java.util.HashMap; @@ -1470,20 +1475,9 @@ */ public void stop() throws LifecycleException { -/* - * Clear the IntrospectionUtils cache. - * - * Implementation note: - * Any reference to IntrospectionUtils which may cause the static - * initalizer of that class to be invoked must occur prior to setting - * the started flag to FALSE, because the static initializer of - * IntrospectionUtils makes a call to - * org.apache.commons.logging.LogFactory.getLog(), which ultimately - * calls the loadClass() method of the thread context classloader, - * which is the same as this classloader, whose impl throws a - * ThreadDeath if the started flag has been set to FALSE. - */ -IntrospectionUtils.clear(); +// Clearing references should be done before setting started to +// false, due to possible side effects +clearReferences(); started = false; @@ -1526,11 +1520,6 @@ deleteDir(loaderDir); } -// Clear the classloader reference in common-logging -org.apache.commons.logging.LogFactory.release(this); -// Clear the classloader reference in the VM's bean introspector -java.beans.Introspector.flushCaches(); - } @@ -1561,6 +1550,61 @@ // -- Protected Methods + +/** + * Clear references. + */ +protected void clearReferences() { + +// Unregister any JDBC drivers loaded by this classloader +Enumeration drivers = DriverManager.getDrivers(); +while (drivers.hasMoreElements()) { +Driver driver = (Driver) drivers.nextElement(); +if (driver.getClass().getClassLoader() == this) { +try { +DriverManager.deregisterDriver(driver); +} catch (SQLException e) { +log.warn(SQL driver deregistration failed, e); +} +} +} + +// Null out any static or final fields from loaded classes, +// as a workaround for apparent garbage collection bugs +Iterator loadedClasses = resourceEntries.values().iterator(); +while (loadedClasses.hasNext()) { +ResourceEntry entry = (ResourceEntry) loadedClasses.next(); +if (entry.loadedClass != null) { +Field[] fields = entry.loadedClass.getDeclaredFields(); +for (int i = 0; i fields.length; i++) { +Field field
svn commit: r344145 - in /tomcat/current/tc5.5.x: connectors/ container/ jasper/
Author: remm Date: Mon Nov 14 07:19:03 2005 New Revision: 344145 URL: http://svn.apache.org/viewcvs?rev=344145view=rev Log: - Try to delete. Removed: tomcat/current/tc5.5.x/connectors/ tomcat/current/tc5.5.x/container/ tomcat/current/tc5.5.x/jasper/ - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
svn commit: r345233 - /tomcat/container/tc5.5.x/catalina/src/share/org/apache/catalina/loader/WebappClassLoader.java
Author: remm Date: Thu Nov 17 04:10:48 2005 New Revision: 345233 URL: http://svn.apache.org/viewcvs?rev=345233view=rev Log: - Fix NPE and exception problems with setting fields to null. Modified: tomcat/container/tc5.5.x/catalina/src/share/org/apache/catalina/loader/WebappClassLoader.java Modified: tomcat/container/tc5.5.x/catalina/src/share/org/apache/catalina/loader/WebappClassLoader.java URL: http://svn.apache.org/viewcvs/tomcat/container/tc5.5.x/catalina/src/share/org/apache/catalina/loader/WebappClassLoader.java?rev=345233r1=345232r2=345233view=diff == --- tomcat/container/tc5.5.x/catalina/src/share/org/apache/catalina/loader/WebappClassLoader.java (original) +++ tomcat/container/tc5.5.x/catalina/src/share/org/apache/catalina/loader/WebappClassLoader.java Thu Nov 17 04:10:48 2005 @@ -1571,24 +1571,46 @@ // Null out any static or final fields from loaded classes, // as a workaround for apparent garbage collection bugs -Iterator loadedClasses = resourceEntries.values().iterator(); +Iterator loadedClasses = ((HashMap) resourceEntries.clone()).values().iterator(); while (loadedClasses.hasNext()) { ResourceEntry entry = (ResourceEntry) loadedClasses.next(); if (entry.loadedClass != null) { -Field[] fields = entry.loadedClass.getDeclaredFields(); -for (int i = 0; i fields.length; i++) { -Field field = fields[i]; -int mods = field.getModifiers(); -if (!(!Modifier.isStatic(mods) || !Modifier.isFinal(mods) -|| field.getType().isPrimitive() -|| field.getName().indexOf($) != -1)) { -field.setAccessible(true); -try { -field.set(null, null); -} catch (Exception e) { -log.info(Could not set field + field.getName() -+ to null in class + entry.loadedClass.getName(), e); +Class clazz = entry.loadedClass; +try { +Field[] fields = clazz.getDeclaredFields(); +for (int i = 0; i fields.length; i++) { +Field field = fields[i]; +int mods = field.getModifiers(); +if (field.getType().isPrimitive() +|| (field.getName().indexOf($) != -1)) { +continue; } +if (Modifier.isStatic(mods)) { +try { +field.setAccessible(true); +if (Modifier.isFinal(mods)) { +if (!((field.getType().getName().startsWith(java.)) +|| (field.getType().getName().startsWith(javax. { +nullInstance(field.get(null)); +} +} else { +field.set(null, null); +if (log.isDebugEnabled()) { +log.debug(Set field + field.getName() ++ to null in class + clazz.getName()); +} +} +} catch (Throwable t) { +if (log.isDebugEnabled()) { +log.debug(Could not set field + field.getName() ++ to null in class + clazz.getName(), t); +} +} +} +} +} catch (Throwable t) { +if (log.isDebugEnabled()) { +log.debug(Could not clean fields for class + clazz.getName(), t); } } } @@ -1603,6 +1625,41 @@ // Clear the classloader reference in the VM's bean introspector java.beans.Introspector.flushCaches(); +} + + +protected void nullInstance(Object instance) { +if (instance == null) { +return; +} +Field[] fields = instance.getClass().getDeclaredFields(); +for (int i = 0; i fields.length; i++) { +Field field = fields[i]; +int mods = field.getModifiers(); +if (field.getType().isPrimitive() +|| (field.getName().indexOf($) != -1)) { +continue; +} +try { +field.setAccessible(true); +if (Modifier.isStatic(mods
svn commit: r345264 - /tomcat/container/tc5.5.x/catalina/src/share/org/apache/catalina/loader/WebappClassLoader.java
Author: remm Date: Thu Nov 17 07:34:09 2005 New Revision: 345264 URL: http://svn.apache.org/viewcvs?rev=345264view=rev Log: - Remove excessive logging when failing to open a JAR as it may snowball and might be expected situations (moved to debug priority, reported as a regular classloading failure). Modified: tomcat/container/tc5.5.x/catalina/src/share/org/apache/catalina/loader/WebappClassLoader.java Modified: tomcat/container/tc5.5.x/catalina/src/share/org/apache/catalina/loader/WebappClassLoader.java URL: http://svn.apache.org/viewcvs/tomcat/container/tc5.5.x/catalina/src/share/org/apache/catalina/loader/WebappClassLoader.java?rev=345264r1=345263r2=345264view=diff == --- tomcat/container/tc5.5.x/catalina/src/share/org/apache/catalina/loader/WebappClassLoader.java (original) +++ tomcat/container/tc5.5.x/catalina/src/share/org/apache/catalina/loader/WebappClassLoader.java Thu Nov 17 07:34:09 2005 @@ -977,16 +977,17 @@ // Looking at the JAR files synchronized (jarFiles) { -openJARs(); -for (i = 0; i jarFilesLength; i++) { -JarEntry jarEntry = jarFiles[i].getJarEntry(name); -if (jarEntry != null) { -try { -String jarFakeUrl = getURI(jarRealFiles[i]).toString(); -jarFakeUrl = jar: + jarFakeUrl + !/ + name; -result.addElement(new URL(jarFakeUrl)); -} catch (MalformedURLException e) { -// Ignore +if (openJARs()) { +for (i = 0; i jarFilesLength; i++) { +JarEntry jarEntry = jarFiles[i].getJarEntry(name); +if (jarEntry != null) { +try { +String jarFakeUrl = getURI(jarRealFiles[i]).toString(); +jarFakeUrl = jar: + jarFakeUrl + !/ + name; +result.addElement(new URL(jarFakeUrl)); +} catch (MalformedURLException e) { +// Ignore +} } } } @@ -1539,7 +1540,9 @@ jarFiles[i] = null; } } catch (IOException e) { -log.warn(Failed to close JAR, e); +if (log.isDebugEnabled()) { +log.debug(Failed to close JAR, e); +} } } } @@ -1666,19 +1669,23 @@ /** * Used to periodically signal to the classloader to release JAR resources. */ -protected void openJARs() { +protected boolean openJARs() { if (started (jarFiles.length 0)) { lastJarAccessed = System.currentTimeMillis(); if (jarFiles[0] == null) { for (int i = 0; i jarFiles.length; i++) { try { - jarFiles[i] = new JarFile(jarRealFiles[i]); +jarFiles[i] = new JarFile(jarRealFiles[i]); } catch (IOException e) { - log.warn(Failed to open JAR, e); +if (log.isDebugEnabled()) { +log.debug(Failed to open JAR, e); +} +return false; } } } } +return true; } @@ -1903,7 +1910,9 @@ synchronized (jarFiles) { -openJARs(); +if (!openJARs()) { +return null; +} for (i = 0; (entry == null) (i jarFilesLength); i++) { jarEntry = jarFiles[i].getJarEntry(path); - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
svn commit: r345288 - in /tomcat/container/tc5.5.x/webapps/docs: changelog.xml config/context.xml
Author: remm Date: Thu Nov 17 09:16:50 2005 New Revision: 345288 URL: http://svn.apache.org/viewcvs?rev=345288view=rev Log: - Update changelog. Modified: tomcat/container/tc5.5.x/webapps/docs/changelog.xml tomcat/container/tc5.5.x/webapps/docs/config/context.xml Modified: tomcat/container/tc5.5.x/webapps/docs/changelog.xml URL: http://svn.apache.org/viewcvs/tomcat/container/tc5.5.x/webapps/docs/changelog.xml?rev=345288r1=345287r2=345288view=diff == --- tomcat/container/tc5.5.x/webapps/docs/changelog.xml (original) +++ tomcat/container/tc5.5.x/webapps/docs/changelog.xml Thu Nov 17 09:16:50 2005 @@ -72,6 +72,18 @@ bug37150/bug: Turn off directory listing by default and add a warning regarding enabling listing of directories with many entries. (markt) /fix + update +Add configurability for the amount of time that the container will wait for requests +to complete when unloading servlets, using the unloadDelay property. (remm) + /update + update +Add code to set to null fields in loaded classes when stopping a web application, as a +possible workaround for suspicious garbage collection behavior. (remm) + /update + update +Update messages and stack traces for classloading errors which may occur when removing +a web application. (remm) + /update fix bug37319/bug: Fix catalina.bat reference to CATALINA_BASE for logging.properties. Thanks to Pierre-Yves Benzaken. (yoavs) Modified: tomcat/container/tc5.5.x/webapps/docs/config/context.xml URL: http://svn.apache.org/viewcvs/tomcat/container/tc5.5.x/webapps/docs/config/context.xml?rev=345288r1=345287r2=345288view=diff == --- tomcat/container/tc5.5.x/webapps/docs/config/context.xml (original) +++ tomcat/container/tc5.5.x/webapps/docs/config/context.xml Thu Nov 17 09:16:50 2005 @@ -290,6 +290,12 @@ a performance penalty./p /attribute + attribute name=unloadDelay required=false +pAmount of ms that the container will wait for servlets to unload. +If not specified, the default value of the flag is code2000/code +ms./p + /attribute + attribute name=unpackWAR required=false pIf true, Tomcat will unpack all compressed web applications before running them. - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
svn commit: r345898 - /tomcat/connectors/trunk/http11/src/java/org/apache/coyote/http11/Http11AprProcessor.java
Author: remm Date: Mon Nov 21 04:46:09 2005 New Revision: 345898 URL: http://svn.apache.org/viewcvs?rev=345898view=rev Log: - Either I am completely mistaken, or the type used was wrong. Modified: tomcat/connectors/trunk/http11/src/java/org/apache/coyote/http11/Http11AprProcessor.java Modified: tomcat/connectors/trunk/http11/src/java/org/apache/coyote/http11/Http11AprProcessor.java URL: http://svn.apache.org/viewcvs/tomcat/connectors/trunk/http11/src/java/org/apache/coyote/http11/Http11AprProcessor.java?rev=345898r1=345897r2=345898view=diff == --- tomcat/connectors/trunk/http11/src/java/org/apache/coyote/http11/Http11AprProcessor.java (original) +++ tomcat/connectors/trunk/http11/src/java/org/apache/coyote/http11/Http11AprProcessor.java Mon Nov 21 04:46:09 2005 @@ -1173,8 +1173,8 @@ InputFilter savedBody = new SavedRequestInputFilter(body); savedBody.setRequest(request); -InternalInputBuffer internalBuffer = (InternalInputBuffer) -request.getInputBuffer(); +InternalAprInputBuffer internalBuffer = (InternalAprInputBuffer) +request.getInputBuffer(); internalBuffer.addActiveFilter(savedBody); } - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
svn commit: r348476 - /tomcat/connectors/trunk/http11/src/java/org/apache/coyote/http11/Http11AprProcessor.java
Author: remm Date: Wed Nov 23 08:15:53 2005 New Revision: 348476 URL: http://svn.apache.org/viewcvs?rev=348476view=rev Log: - Do the same with SSL. Modified: tomcat/connectors/trunk/http11/src/java/org/apache/coyote/http11/Http11AprProcessor.java Modified: tomcat/connectors/trunk/http11/src/java/org/apache/coyote/http11/Http11AprProcessor.java URL: http://svn.apache.org/viewcvs/tomcat/connectors/trunk/http11/src/java/org/apache/coyote/http11/Http11AprProcessor.java?rev=348476r1=348475r2=348476view=diff == --- tomcat/connectors/trunk/http11/src/java/org/apache/coyote/http11/Http11AprProcessor.java (original) +++ tomcat/connectors/trunk/http11/src/java/org/apache/coyote/http11/Http11AprProcessor.java Wed Nov 23 08:15:53 2005 @@ -1090,8 +1090,8 @@ } else if (actionCode == ActionCode.ACTION_REQ_SSL_ATTRIBUTE ) { -try { -if (ssl) { +if (ssl (socket != 0)) { +try { // Cipher suite Object sslO = SSLSocket.getInfoS(socket, SSL.SSL_INFO_CIPHER); if (sslO != null) { @@ -1127,14 +1127,14 @@ request.setAttribute (AprEndpoint.SESSION_ID_KEY, sslO); } +} catch (Exception e) { +log.warn(sm.getString(http11processor.socket.ssl), e); } -} catch (Exception e) { -log.warn(sm.getString(http11processor.socket.ssl), e); } } else if (actionCode == ActionCode.ACTION_REQ_SSL_CERTIFICATE) { -if (ssl) { +if (ssl (socket != 0)) { // Consume and buffer the request body, so that it does not // interfere with the client's handshake messages InputFilter[] inputFilters = inputBuffer.getFilters(); - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
svn commit: r348506 - /tomcat/container/tc5.5.x/webapps/docs/changelog.xml
Author: remm Date: Wed Nov 23 10:03:53 2005 New Revision: 348506 URL: http://svn.apache.org/viewcvs?rev=348506view=rev Log: - Changelog update. Modified: tomcat/container/tc5.5.x/webapps/docs/changelog.xml Modified: tomcat/container/tc5.5.x/webapps/docs/changelog.xml URL: http://svn.apache.org/viewcvs/tomcat/container/tc5.5.x/webapps/docs/changelog.xml?rev=348506r1=348505r2=348506view=diff == --- tomcat/container/tc5.5.x/webapps/docs/changelog.xml (original) +++ tomcat/container/tc5.5.x/webapps/docs/changelog.xml Wed Nov 23 10:03:53 2005 @@ -85,7 +85,7 @@ /update update Update messages and stack traces for classloading errors which may occur when removing -a web application. (remm) +a web application, and for stopped web applications. (remm) /update fix bug37319/bug: Fix catalina.bat reference to CATALINA_BASE for logging.properties. Thanks @@ -132,6 +132,10 @@ /add updateConnection Timeout is normal, so reduce logging to DEBUG (billbarker) /update + fix +Fix crash which could occur with the HTTP APR connector when accessing request JMX objects +outside of the processing of the said request (remm) + /fix /changelog /subsection subsection name=Jasper - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
svn commit: r348735 - in /tomcat: connectors/trunk/http11/src/java/org/apache/coyote/http11/InternalAprOutputBuffer.java container/tc5.5.x/webapps/docs/changelog.xml
Author: remm Date: Thu Nov 24 06:04:48 2005 New Revision: 348735 URL: http://svn.apache.org/viewcvs?rev=348735view=rev Log: - 37627:Fix buffering issue in the HTTP APR connector when a large buffer size was used for servlets. - Unfortunately the FIXME had never been addressed and the algorithm never implemented properly, unlike for the AJP connector. Modified: tomcat/connectors/trunk/http11/src/java/org/apache/coyote/http11/InternalAprOutputBuffer.java tomcat/container/tc5.5.x/webapps/docs/changelog.xml Modified: tomcat/connectors/trunk/http11/src/java/org/apache/coyote/http11/InternalAprOutputBuffer.java URL: http://svn.apache.org/viewcvs/tomcat/connectors/trunk/http11/src/java/org/apache/coyote/http11/InternalAprOutputBuffer.java?rev=348735r1=348734r2=348735view=diff == --- tomcat/connectors/trunk/http11/src/java/org/apache/coyote/http11/InternalAprOutputBuffer.java (original) +++ tomcat/connectors/trunk/http11/src/java/org/apache/coyote/http11/InternalAprOutputBuffer.java Thu Nov 24 06:04:48 2005 @@ -720,19 +720,20 @@ public int doWrite(ByteChunk chunk, Response res) throws IOException { -// FIXME: It would likely be more efficient to do a number of writes -// through the direct BB; however, the case should happen very rarely. -// An algorithm similar to ByteChunk.append may also be better. -if (chunk.getLength() bbuf.capacity()) { -if (Socket.send(socket, chunk.getBuffer(), chunk.getStart(), -chunk.getLength()) 0) { -throw new IOException(sm.getString(iib.failedwrite)); -} -} else { -if (bbuf.position() + chunk.getLength() bbuf.capacity()) { +int len = chunk.getLength(); +int start = chunk.getStart(); +byte[] b = chunk.getBuffer(); +while (len 0) { +int thisTime = len; +if (bbuf.position() == bbuf.capacity()) { flushBuffer(); } -bbuf.put(chunk.getBuffer(), chunk.getStart(), chunk.getLength()); +if (thisTime bbuf.capacity() - bbuf.position()) { +thisTime = bbuf.capacity() - bbuf.position(); +} +bbuf.put(b, start, thisTime); +len = len - thisTime; +start = start + thisTime; } return chunk.getLength(); Modified: tomcat/container/tc5.5.x/webapps/docs/changelog.xml URL: http://svn.apache.org/viewcvs/tomcat/container/tc5.5.x/webapps/docs/changelog.xml?rev=348735r1=348734r2=348735view=diff == --- tomcat/container/tc5.5.x/webapps/docs/changelog.xml (original) +++ tomcat/container/tc5.5.x/webapps/docs/changelog.xml Thu Nov 24 06:04:48 2005 @@ -136,6 +136,10 @@ Fix crash which could occur with the HTTP APR connector when accessing request JMX objects outside of the processing of the said request (remm) /fix + fix +bug37627/bug: Fix buffering issue in the HTTP APR connector when a large buffer size was +used for servlets (remm) + /fix /changelog /subsection subsection name=Jasper - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
svn commit: r349715 - /tomcat/connectors/trunk/http11/src/java/org/apache/coyote/http11/Http11AprProcessor.java
Author: remm Date: Tue Nov 29 05:29:07 2005 New Revision: 349715 URL: http://svn.apache.org/viewcvs?rev=349715view=rev Log: - 37673: Fix getLocalName and getLocalPort. Modified: tomcat/connectors/trunk/http11/src/java/org/apache/coyote/http11/Http11AprProcessor.java Modified: tomcat/connectors/trunk/http11/src/java/org/apache/coyote/http11/Http11AprProcessor.java URL: http://svn.apache.org/viewcvs/tomcat/connectors/trunk/http11/src/java/org/apache/coyote/http11/Http11AprProcessor.java?rev=349715r1=349714r2=349715view=diff == --- tomcat/connectors/trunk/http11/src/java/org/apache/coyote/http11/Http11AprProcessor.java (original) +++ tomcat/connectors/trunk/http11/src/java/org/apache/coyote/http11/Http11AprProcessor.java Tue Nov 29 05:29:07 2005 @@ -1045,11 +1045,7 @@ if (localAddr == null (socket != 0)) { try { long sa = Address.get(Socket.APR_LOCAL, socket); -Sockaddr addr = new Sockaddr(); -if (Address.fill(addr, sa)) { -localAddr = addr.hostname; -localPort = addr.port; -} +localAddr = Address.getip(sa); } catch (Exception e) { log.warn(sm.getString(http11processor.socket.info), e); } @@ -1077,11 +1073,8 @@ if (localPort == -1 (socket != 0)) { try { long sa = Address.get(Socket.APR_LOCAL, socket); -Sockaddr addr = new Sockaddr(); -if (Address.fill(addr, sa)) { -localAddr = addr.hostname; -localPort = addr.port; -} +Sockaddr addr = Address.getInfo(sa); +localPort = addr.port; } catch (Exception e) { log.warn(sm.getString(http11processor.socket.info), e); } - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
svn commit: r349717 - /tomcat/container/tc5.5.x/webapps/docs/changelog.xml
Author: remm Date: Tue Nov 29 05:55:55 2005 New Revision: 349717 URL: http://svn.apache.org/viewcvs?rev=349717view=rev Log: - Changelog update. Modified: tomcat/container/tc5.5.x/webapps/docs/changelog.xml Modified: tomcat/container/tc5.5.x/webapps/docs/changelog.xml URL: http://svn.apache.org/viewcvs/tomcat/container/tc5.5.x/webapps/docs/changelog.xml?rev=349717r1=349716r2=349717view=diff == --- tomcat/container/tc5.5.x/webapps/docs/changelog.xml (original) +++ tomcat/container/tc5.5.x/webapps/docs/changelog.xml Tue Nov 29 05:55:55 2005 @@ -158,6 +158,10 @@ bug37627/bug: Fix buffering issue in the HTTP APR connector when a large buffer size was used for servlets (remm) /fix + fix +bug37673/bug: Fix implementation of getLocalPort and getLocalAddr in the HTTP APR connector +(remm) + /fix /changelog /subsection subsection name=Jasper - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
svn commit: r350078 - /tomcat/connectors/trunk/http11/src/java/org/apache/coyote/http11/Http11AprProtocol.java
Author: remm Date: Wed Nov 30 15:32:20 2005 New Revision: 350078 URL: http://svn.apache.org/viewcvs?rev=350078view=rev Log: - Remove useless commented out code. Modified: tomcat/connectors/trunk/http11/src/java/org/apache/coyote/http11/Http11AprProtocol.java Modified: tomcat/connectors/trunk/http11/src/java/org/apache/coyote/http11/Http11AprProtocol.java URL: http://svn.apache.org/viewcvs/tomcat/connectors/trunk/http11/src/java/org/apache/coyote/http11/Http11AprProtocol.java?rev=350078r1=350077r2=350078view=diff == --- tomcat/connectors/trunk/http11/src/java/org/apache/coyote/http11/Http11AprProtocol.java (original) +++ tomcat/connectors/trunk/http11/src/java/org/apache/coyote/http11/Http11AprProtocol.java Wed Nov 30 15:32:20 2005 @@ -636,19 +636,6 @@ ((ActionHook) processor).action(ActionCode.ACTION_START, null); } -// FIXME: SSL implementation -/* -if( proto.secure ) { -SSLSupport sslSupport=null; -if(proto.sslImplementation != null) -sslSupport = proto.sslImplementation.getSSLSupport(socket); -processor.setSSLSupport(sslSupport); -} else { -processor.setSSLSupport( null ); -} -processor.setSocket( socket ); -*/ - return processor.process(socket); } catch(java.net.SocketException e) { - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
svn commit: r350083 - /tomcat/container/tc5.5.x/webapps/docs/apr.xml
Author: remm Date: Wed Nov 30 16:12:04 2005 New Revision: 350083 URL: http://svn.apache.org/viewcvs?rev=350083view=rev Log: - Add example SSL config. Modified: tomcat/container/tc5.5.x/webapps/docs/apr.xml Modified: tomcat/container/tc5.5.x/webapps/docs/apr.xml URL: http://svn.apache.org/viewcvs/tomcat/container/tc5.5.x/webapps/docs/apr.xml?rev=350083r1=350082r2=350083view=diff == --- tomcat/container/tc5.5.x/webapps/docs/apr.xml (original) +++ tomcat/container/tc5.5.x/webapps/docs/apr.xml Wed Nov 30 16:12:04 2005 @@ -232,6 +232,19 @@ /attribute /attributes + +p +An example SSL Connector declaration can be: +source +lt;Connector port=443 maxHttpHeaderSize=8192 + maxThreads=150 minSpareThreads=25 maxSpareThreads=75 + enableLookups=false disableUploadTimeout=true + acceptCount=100 scheme=https secure=true + SSLEngine=on + SSLCertificateFile=${catalina.base}/conf/localhost.crt + SSLCertificateKeyFile=${catalina.base}/conf/localhost.key /gt;/source +/p + /subsection subsection name=AJP - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
svn commit: r355530 - in /tomcat/container/tc5.5.x/catalina/src/share/org/apache/catalina/core: ApplicationContextFacade.java ApplicationFilterConfig.java
Author: remm Date: Fri Dec 9 08:42:23 2005 New Revision: 355530 URL: http://svn.apache.org/viewcvs?rev=355530view=rev Log: - Remove a static log that I forgot about earlier. Modified: tomcat/container/tc5.5.x/catalina/src/share/org/apache/catalina/core/ApplicationContextFacade.java tomcat/container/tc5.5.x/catalina/src/share/org/apache/catalina/core/ApplicationFilterConfig.java Modified: tomcat/container/tc5.5.x/catalina/src/share/org/apache/catalina/core/ApplicationContextFacade.java URL: http://svn.apache.org/viewcvs/tomcat/container/tc5.5.x/catalina/src/share/org/apache/catalina/core/ApplicationContextFacade.java?rev=355530r1=355529r2=355530view=diff == --- tomcat/container/tc5.5.x/catalina/src/share/org/apache/catalina/core/ApplicationContextFacade.java (original) +++ tomcat/container/tc5.5.x/catalina/src/share/org/apache/catalina/core/ApplicationContextFacade.java Fri Dec 9 08:42:23 2005 @@ -63,10 +63,6 @@ private HashMap objectCache; -private static org.apache.commons.logging.Log sysLog= -org.apache.commons.logging.LogFactory.getLog( ApplicationContextFacade.class ); - - // --- Constructors @@ -486,22 +482,18 @@ throws Throwable { Throwable realException; - -if (sysLog.isDebugEnabled()) { -sysLog.debug(ApplicationContextFacade. + methodName, ex); -} - - if (ex instanceof PrivilegedActionException) { + +if (ex instanceof PrivilegedActionException) { ex = ((PrivilegedActionException) ex).getException(); - } - +} + if (ex instanceof InvocationTargetException) { realException = - ((InvocationTargetException) ex).getTargetException(); +((InvocationTargetException) ex).getTargetException(); } else { realException = ex; } - + throw realException; } } Modified: tomcat/container/tc5.5.x/catalina/src/share/org/apache/catalina/core/ApplicationFilterConfig.java URL: http://svn.apache.org/viewcvs/tomcat/container/tc5.5.x/catalina/src/share/org/apache/catalina/core/ApplicationFilterConfig.java?rev=355530r1=355529r2=355530view=diff == --- tomcat/container/tc5.5.x/catalina/src/share/org/apache/catalina/core/ApplicationFilterConfig.java (original) +++ tomcat/container/tc5.5.x/catalina/src/share/org/apache/catalina/core/ApplicationFilterConfig.java Fri Dec 9 08:42:23 2005 @@ -46,9 +46,7 @@ final class ApplicationFilterConfig implements FilterConfig, Serializable { -private static org.apache.commons.logging.Log log= -org.apache.commons.logging.LogFactory.getLog( ApplicationFilterConfig.class ); - + // --- Constructors @@ -248,12 +246,11 @@ if (this.filter != null){ if( System.getSecurityManager() != null) { try{ -SecurityUtil.doAsPrivilege(destroy, - filter); -SecurityUtil.remove(filter); +SecurityUtil.doAsPrivilege(destroy, filter); } catch(java.lang.Exception ex){ -log.error(ApplicationFilterConfig.doAsPrivilege, ex); + context.getLogger().error(ApplicationFilterConfig.doAsPrivilege, ex); } +SecurityUtil.remove(filter); } else { filter.destroy(); } @@ -290,12 +287,11 @@ if (this.filter != null){ if( System.getSecurityManager() != null) { try{ -SecurityUtil.doAsPrivilege(destroy, - filter); -SecurityUtil.remove(filter); +SecurityUtil.doAsPrivilege(destroy, filter); } catch(java.lang.Exception ex){ -log.error(ApplicationFilterConfig.doAsPrivilege, ex); + context.getLogger().error(ApplicationFilterConfig.doAsPrivilege, ex); } +SecurityUtil.remove(filter); } else { filter.destroy(); } - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
svn commit: r355539 - /tomcat/connectors/trunk/util/java/org/apache/tomcat/util/net/AprEndpoint.java
Author: remm Date: Fri Dec 9 09:04:06 2005 New Revision: 355539 URL: http://svn.apache.org/viewcvs?rev=355539view=rev Log: - Convert to string error codes. Modified: tomcat/connectors/trunk/util/java/org/apache/tomcat/util/net/AprEndpoint.java Modified: tomcat/connectors/trunk/util/java/org/apache/tomcat/util/net/AprEndpoint.java URL: http://svn.apache.org/viewcvs/tomcat/connectors/trunk/util/java/org/apache/tomcat/util/net/AprEndpoint.java?rev=355539r1=355538r2=355539view=diff == --- tomcat/connectors/trunk/util/java/org/apache/tomcat/util/net/AprEndpoint.java (original) +++ tomcat/connectors/trunk/util/java/org/apache/tomcat/util/net/AprEndpoint.java Fri Dec 9 09:04:06 2005 @@ -541,12 +541,12 @@ // Bind the server socket int ret = Socket.bind(serverSock, inetAddress); if (ret != 0) { -throw new Exception(sm.getString(endpoint.init.bind, + ret)); +throw new Exception(sm.getString(endpoint.init.bind, Error.strerror(ret))); } // Start listening on the server socket ret = Socket.listen(serverSock, backlog); if (ret != 0) { -throw new Exception(sm.getString(endpoint.init.listen, + ret)); +throw new Exception(sm.getString(endpoint.init.listen, Error.strerror(ret))); } if (OS.IS_WIN32 || OS.IS_WIN64) { // On Windows set the reuseaddr flag after the bind/listen - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
svn commit: r358036 - in /tomcat/jasper/tc5.5.x/jasper2/src/share/org/apache/jasper/runtime: BodyContentImpl.java JspFactoryImpl.java
Author: remm Date: Tue Dec 20 09:02:33 2005 New Revision: 358036 URL: http://svn.apache.org/viewcvs?rev=358036view=rev Log: - Add two system properties (as given the JSP API, there is no easy solution to retrieve configuration parameters elsewhere) to allow configuring Jasper memory management. Note that changing from the defaults may affect performance, depending on the application. Modified: tomcat/jasper/tc5.5.x/jasper2/src/share/org/apache/jasper/runtime/BodyContentImpl.java tomcat/jasper/tc5.5.x/jasper2/src/share/org/apache/jasper/runtime/JspFactoryImpl.java Modified: tomcat/jasper/tc5.5.x/jasper2/src/share/org/apache/jasper/runtime/BodyContentImpl.java URL: http://svn.apache.org/viewcvs/tomcat/jasper/tc5.5.x/jasper2/src/share/org/apache/jasper/runtime/BodyContentImpl.java?rev=358036r1=358035r2=358036view=diff == --- tomcat/jasper/tc5.5.x/jasper2/src/share/org/apache/jasper/runtime/BodyContentImpl.java (original) +++ tomcat/jasper/tc5.5.x/jasper2/src/share/org/apache/jasper/runtime/BodyContentImpl.java Tue Dec 20 09:02:33 2005 @@ -40,6 +40,8 @@ private static final String LINE_SEPARATOR = System.getProperty(line.separator); +private static final boolean LIMIT_BUFFER = + Boolean.parseBoolean(System.getProperty(org.apache.jasper.runtime.BodyContentImpl.LIMIT_BUFFER, false)); private char[] cb; private int nextChar; @@ -468,6 +470,10 @@ throw new IOException(); } else { nextChar = 0; +if (LIMIT_BUFFER (cb.length Constants.DEFAULT_TAG_BUFFER_SIZE)) { +bufferSize = Constants.DEFAULT_TAG_BUFFER_SIZE; +cb = new char[bufferSize]; +} } } Modified: tomcat/jasper/tc5.5.x/jasper2/src/share/org/apache/jasper/runtime/JspFactoryImpl.java URL: http://svn.apache.org/viewcvs/tomcat/jasper/tc5.5.x/jasper2/src/share/org/apache/jasper/runtime/JspFactoryImpl.java?rev=358036r1=358035r2=358036view=diff == --- tomcat/jasper/tc5.5.x/jasper2/src/share/org/apache/jasper/runtime/JspFactoryImpl.java (original) +++ tomcat/jasper/tc5.5.x/jasper2/src/share/org/apache/jasper/runtime/JspFactoryImpl.java Tue Dec 20 09:02:33 2005 @@ -40,9 +40,10 @@ private Log log = LogFactory.getLog(JspFactoryImpl.class); private static final String SPEC_VERSION = 2.0; -private static final boolean USE_POOL = true; +private static final boolean USE_POOL = + Boolean.parseBoolean(System.getProperty(org.apache.jasper.runtime.JspFactoryImpl.USE_POOL, true)); -private SimplePool pool = new SimplePool( 100 ); +private SimplePool pool = new SimplePool(100); public PageContext getPageContext(Servlet servlet, ServletRequest request, @@ -51,7 +52,6 @@ boolean needsSession, int bufferSize, boolean autoflush) { - if( System.getSecurityManager() != null ) { PrivilegedGetPageContext dp = new PrivilegedGetPageContext( (JspFactoryImpl)this, servlet, request, response, errorPageURL, - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
svn commit: r358285 - in /tomcat/jasper/tc5.5.x/jasper2/src/share/org/apache/jasper/runtime: BodyContentImpl.java JspFactoryImpl.java
Author: remm Date: Wed Dec 21 05:09:42 2005 New Revision: 358285 URL: http://svn.apache.org/viewcvs?rev=358285view=rev Log: - Ok, so I used a Java 5 API. Modified: tomcat/jasper/tc5.5.x/jasper2/src/share/org/apache/jasper/runtime/BodyContentImpl.java tomcat/jasper/tc5.5.x/jasper2/src/share/org/apache/jasper/runtime/JspFactoryImpl.java Modified: tomcat/jasper/tc5.5.x/jasper2/src/share/org/apache/jasper/runtime/BodyContentImpl.java URL: http://svn.apache.org/viewcvs/tomcat/jasper/tc5.5.x/jasper2/src/share/org/apache/jasper/runtime/BodyContentImpl.java?rev=358285r1=358284r2=358285view=diff == --- tomcat/jasper/tc5.5.x/jasper2/src/share/org/apache/jasper/runtime/BodyContentImpl.java (original) +++ tomcat/jasper/tc5.5.x/jasper2/src/share/org/apache/jasper/runtime/BodyContentImpl.java Wed Dec 21 05:09:42 2005 @@ -41,7 +41,7 @@ private static final String LINE_SEPARATOR = System.getProperty(line.separator); private static final boolean LIMIT_BUFFER = - Boolean.parseBoolean(System.getProperty(org.apache.jasper.runtime.BodyContentImpl.LIMIT_BUFFER, false)); + Boolean.valueOf(System.getProperty(org.apache.jasper.runtime.BodyContentImpl.LIMIT_BUFFER, false)).booleanValue(); private char[] cb; private int nextChar; Modified: tomcat/jasper/tc5.5.x/jasper2/src/share/org/apache/jasper/runtime/JspFactoryImpl.java URL: http://svn.apache.org/viewcvs/tomcat/jasper/tc5.5.x/jasper2/src/share/org/apache/jasper/runtime/JspFactoryImpl.java?rev=358285r1=358284r2=358285view=diff == --- tomcat/jasper/tc5.5.x/jasper2/src/share/org/apache/jasper/runtime/JspFactoryImpl.java (original) +++ tomcat/jasper/tc5.5.x/jasper2/src/share/org/apache/jasper/runtime/JspFactoryImpl.java Wed Dec 21 05:09:42 2005 @@ -41,7 +41,7 @@ private static final String SPEC_VERSION = 2.0; private static final boolean USE_POOL = - Boolean.parseBoolean(System.getProperty(org.apache.jasper.runtime.JspFactoryImpl.USE_POOL, true)); + Boolean.valueOf(System.getProperty(org.apache.jasper.runtime.JspFactoryImpl.USE_POOL, true)).booleanValue(); private SimplePool pool = new SimplePool(100); - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
svn commit: r359864 - /tomcat/connectors/trunk/http11/src/java/org/apache/coyote/http11/Http11AprProcessor.java
Author: remm Date: Thu Dec 29 10:12:55 2005 New Revision: 359864 URL: http://svn.apache.org/viewcvs?rev=359864view=rev Log: - Port patch. Modified: tomcat/connectors/trunk/http11/src/java/org/apache/coyote/http11/Http11AprProcessor.java Modified: tomcat/connectors/trunk/http11/src/java/org/apache/coyote/http11/Http11AprProcessor.java URL: http://svn.apache.org/viewcvs/tomcat/connectors/trunk/http11/src/java/org/apache/coyote/http11/Http11AprProcessor.java?rev=359864r1=359863r2=359864view=diff == --- tomcat/connectors/trunk/http11/src/java/org/apache/coyote/http11/Http11AprProcessor.java (original) +++ tomcat/connectors/trunk/http11/src/java/org/apache/coyote/http11/Http11AprProcessor.java Thu Dec 29 10:12:55 2005 @@ -1364,18 +1364,13 @@ parseHost(valueMB); if (!contentDelimitation) { -// If there's no content length and we're using keep-alive -// (HTTP/1.0 with keep-alive or HTTP/1.1), assume +// If there's no content length +// (broken HTTP/1.0 or HTTP/1.1), assume // the client is not broken and didn't send a body -if (keepAlive) { -inputBuffer.addActiveFilter +inputBuffer.addActiveFilter (inputFilters[Constants.VOID_FILTER]); -contentDelimitation = true; -} +contentDelimitation = true; } - -if (!contentDelimitation) -keepAlive = false; // Advertise sendfile support through a request attribute if (endpoint.getUseSendfile()) { - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
svn commit: r365970 - /tomcat/connectors/trunk/util/java/org/apache/tomcat/util/net/AprEndpoint.java
Author: remm Date: Wed Jan 4 11:28:39 2006 New Revision: 365970 URL: http://svn.apache.org/viewcvs?rev=365970view=rev Log: - Oops. Sync on the right object. Modified: tomcat/connectors/trunk/util/java/org/apache/tomcat/util/net/AprEndpoint.java Modified: tomcat/connectors/trunk/util/java/org/apache/tomcat/util/net/AprEndpoint.java URL: http://svn.apache.org/viewcvs/tomcat/connectors/trunk/util/java/org/apache/tomcat/util/net/AprEndpoint.java?rev=365970r1=365969r2=365970view=diff == --- tomcat/connectors/trunk/util/java/org/apache/tomcat/util/net/AprEndpoint.java (original) +++ tomcat/connectors/trunk/util/java/org/apache/tomcat/util/net/AprEndpoint.java Wed Jan 4 11:28:39 2006 @@ -1212,7 +1212,7 @@ } // Tell threadStop() we have shut ourselves down successfully -synchronized (this) { +synchronized (threadSync) { threadSync.notifyAll(); } - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
svn commit: r367660 - in /tomcat/container/tc5.5.x/catalina/src/share/org/apache/catalina/core: StandardContext.java mbeans-descriptors.xml
Author: remm Date: Tue Jan 10 07:51:42 2006 New Revision: 367660 URL: http://svn.apache.org/viewcvs?rev=367660view=rev Log: - Add JMX configuration capabilities for the ContextConfig classname. Modified: tomcat/container/tc5.5.x/catalina/src/share/org/apache/catalina/core/StandardContext.java tomcat/container/tc5.5.x/catalina/src/share/org/apache/catalina/core/mbeans-descriptors.xml Modified: tomcat/container/tc5.5.x/catalina/src/share/org/apache/catalina/core/StandardContext.java URL: http://svn.apache.org/viewcvs/tomcat/container/tc5.5.x/catalina/src/share/org/apache/catalina/core/StandardContext.java?rev=367660r1=367659r2=367660view=diff == --- tomcat/container/tc5.5.x/catalina/src/share/org/apache/catalina/core/StandardContext.java (original) +++ tomcat/container/tc5.5.x/catalina/src/share/org/apache/catalina/core/StandardContext.java Tue Jan 10 07:51:42 2006 @@ -33,6 +33,7 @@ import java.util.Stack; import java.util.TreeMap; +import javax.management.AttributeNotFoundException; import javax.management.ListenerNotFoundException; import javax.management.MBeanNotificationInfo; import javax.management.MBeanRegistrationException; @@ -5057,11 +5058,31 @@ .registerComponent(host, parentName, null); mserver.invoke(parentName, init, new Object[] {}, new String[] {} ); } -ContextConfig config = new ContextConfig(); + +// Add the main configuration listener +LifecycleListener config = null; +try { +Object configClassname = null; +try { +configClassname = mserver.getAttribute(parentName, configClass); +} catch (AttributeNotFoundException e) { +// Ignore, it's normal a host may not have this optional attribute +} +if (configClassname != null) { +Class clazz = Class.forName(String.valueOf(configClassname)); +config = (LifecycleListener) clazz.newInstance(); +} else { +config = new ContextConfig(); +} +} catch (Exception e) { +log.warn(Error creating ContextConfig for + parentName, e); +throw e; +} this.addLifecycleListener(config); -if(log.isDebugEnabled()) - log.debug( AddChild + parentName + + this); +if (log.isDebugEnabled()) { +log.debug(AddChild + parentName + + this); +} try { mserver.invoke(parentName, addChild, new Object[] { this }, new String[] {org.apache.catalina.Container}); Modified: tomcat/container/tc5.5.x/catalina/src/share/org/apache/catalina/core/mbeans-descriptors.xml URL: http://svn.apache.org/viewcvs/tomcat/container/tc5.5.x/catalina/src/share/org/apache/catalina/core/mbeans-descriptors.xml?rev=367660r1=367659r2=367660view=diff == --- tomcat/container/tc5.5.x/catalina/src/share/org/apache/catalina/core/mbeans-descriptors.xml (original) +++ tomcat/container/tc5.5.x/catalina/src/share/org/apache/catalina/core/mbeans-descriptors.xml Tue Jan 10 07:51:42 2006 @@ -248,6 +248,24 @@ type=org.apache.catalina.Valve/ /operation +operation name=addLifecycleListener + description=Add a lifecycle listener to this Context + impact=ACTION + returnType=void + parameter name=listener + description=New lifecycle listener to be added + type=org.apache.catalina.LifecycleListener/ +/operation + +operation name=removeLifecycleListener + description=Remove a lifecycle listener from this Context + impact=ACTION + returnType=void + parameter name=listener + description=New lifecycle listener to be removed + type=org.apache.catalina.LifecycleListener/ +/operation + operation name=reload description=Reload the webapplication impact=ACTION @@ -384,6 +402,10 @@ description=The auto deploy flag for this Host type=boolean/ +attribute name=configClass + description=The configuration class for contexts + type=java.lang.String/ + attribute name=deployOnStartup description=The deploy on startup flag for this Host type=boolean/ - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
svn commit: r371765 - /tomcat/container/tc5.5.x/catalina/src/share/org/apache/catalina/connector/Response.java
Author: remm Date: Mon Jan 23 17:13:19 2006 New Revision: 371765 URL: http://svn.apache.org/viewcvs?rev=371765view=rev Log: - Remove nonsensical systematic inclusion on ISO-8859-1 charset in the content type, which is noth useless and inefficient. Modified: tomcat/container/tc5.5.x/catalina/src/share/org/apache/catalina/connector/Response.java Modified: tomcat/container/tc5.5.x/catalina/src/share/org/apache/catalina/connector/Response.java URL: http://svn.apache.org/viewcvs/tomcat/container/tc5.5.x/catalina/src/share/org/apache/catalina/connector/Response.java?rev=371765r1=371764r2=371765view=diff == --- tomcat/container/tc5.5.x/catalina/src/share/org/apache/catalina/connector/Response.java (original) +++ tomcat/container/tc5.5.x/catalina/src/share/org/apache/catalina/connector/Response.java Mon Jan 23 17:13:19 2006 @@ -599,20 +599,6 @@ throw new IllegalStateException (sm.getString(coyoteResponse.getWriter.ise)); -/* - * If the response's character encoding has not been specified as - * described in codegetCharacterEncoding/code (i.e., the method - * just returns the default value codeISO-8859-1/code), - * codegetWriter/code updates it to codeISO-8859-1/code - * (with the effect that a subsequent call to getContentType() will - * include a charset=ISO-8859-1 component which will also be - * reflected in the Content-Type response header, thereby satisfying - * the Servlet spec requirement that containers must communicate the - * character encoding used for the servlet response's writer to the - * client). - */ -setCharacterEncoding(getCharacterEncoding()); - usingWriter = true; outputBuffer.checkConverter(); if (writer == null) { - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
svn commit: r371866 - /tomcat/container/tc5.5.x/catalina/src/share/org/apache/catalina/connector/Response.java
Author: remm Date: Tue Jan 24 00:52:54 2006 New Revision: 371866 URL: http://svn.apache.org/viewcvs?rev=371866view=rev Log: - Restore useless and inefficient code. Modified: tomcat/container/tc5.5.x/catalina/src/share/org/apache/catalina/connector/Response.java Modified: tomcat/container/tc5.5.x/catalina/src/share/org/apache/catalina/connector/Response.java URL: http://svn.apache.org/viewcvs/tomcat/container/tc5.5.x/catalina/src/share/org/apache/catalina/connector/Response.java?rev=371866r1=371865r2=371866view=diff == --- tomcat/container/tc5.5.x/catalina/src/share/org/apache/catalina/connector/Response.java (original) +++ tomcat/container/tc5.5.x/catalina/src/share/org/apache/catalina/connector/Response.java Tue Jan 24 00:52:54 2006 @@ -599,6 +599,20 @@ throw new IllegalStateException (sm.getString(coyoteResponse.getWriter.ise)); +/* + * If the response's character encoding has not been specified as + * described in codegetCharacterEncoding/code (i.e., the method + * just returns the default value codeISO-8859-1/code), + * codegetWriter/code updates it to codeISO-8859-1/code + * (with the effect that a subsequent call to getContentType() will + * include a charset=ISO-8859-1 component which will also be + * reflected in the Content-Type response header, thereby satisfying + * the Servlet spec requirement that containers must communicate the + * character encoding used for the servlet response's writer to the + * client). + */ +setCharacterEncoding(getCharacterEncoding()); + usingWriter = true; outputBuffer.checkConverter(); if (writer == null) { - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
svn commit: r372228 [6/6] - in /tomcat/jasper/tc6.0.x/src/share: javax/ javax/el/ org/apache/el/ org/apache/el/lang/ org/apache/el/parser/ org/apache/el/util/
Added: tomcat/jasper/tc6.0.x/src/share/org/apache/el/util/ReflectionUtil.java URL: http://svn.apache.org/viewcvs/tomcat/jasper/tc6.0.x/src/share/org/apache/el/util/ReflectionUtil.java?rev=372228view=auto == --- tomcat/jasper/tc6.0.x/src/share/org/apache/el/util/ReflectionUtil.java (added) +++ tomcat/jasper/tc6.0.x/src/share/org/apache/el/util/ReflectionUtil.java Wed Jan 25 06:37:16 2006 @@ -0,0 +1,183 @@ +/* + * Copyright 1999,2004 The Apache Software Foundation. + * + * Licensed 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.el.util; + +import java.beans.IntrospectionException; +import java.beans.Introspector; +import java.beans.PropertyDescriptor; +import java.lang.reflect.Array; +import java.lang.reflect.Method; +import java.util.Arrays; + +import javax.el.ELException; +import javax.el.MethodNotFoundException; +import javax.el.PropertyNotFoundException; + +import org.apache.el.lang.ELSupport; + + +/** + * Utilities for Managing Serialization and Reflection + * + * @author Jacob Hookom [EMAIL PROTECTED] + * @version $Change: 181177 $$DateTime: 2001/06/26 08:45:09 $$Author: jhook $ + */ +public class ReflectionUtil { + +protected static final String[] EMPTY_STRING = new String[0]; + +protected static final String[] PRIMITIVE_NAMES = new String[] { boolean, +byte, char, double, float, int, long, short, void }; + +protected static final Class[] PRIMITIVES = new Class[] { boolean.class, +byte.class, char.class, double.class, float.class, int.class, +long.class, short.class, Void.TYPE }; + +/** + * + */ +private ReflectionUtil() { +super(); +} + +public static Class forName(String name) throws ClassNotFoundException { +if (null == name || .equals(name)) { +return null; +} +Class c = forNamePrimitive(name); +if (c == null) { +if (name.endsWith([])) { +String nc = name.substring(0, name.length() - 2); +c = Class.forName(nc, true, Thread.currentThread().getContextClassLoader()); +c = Array.newInstance(c, 0).getClass(); +} else { +c = Class.forName(name); +} +} +return c; +} + +protected static Class forNamePrimitive(String name) { +if (name.length() = 8) { +int p = Arrays.binarySearch(PRIMITIVE_NAMES, name); +if (p = 0) { +return PRIMITIVES[p]; +} +} +return null; +} + +/** + * Converts an array of Class names to Class types + * @param s + * @return + * @throws ClassNotFoundException + */ +public static Class[] toTypeArray(String[] s) throws ClassNotFoundException { +if (s == null) +return null; +Class[] c = new Class[s.length]; +for (int i = 0; i s.length; i++) { +c[i] = forName(s[i]); +} +return c; +} + +/** + * Converts an array of Class types to Class names + * @param c + * @return + */ +public static String[] toTypeNameArray(Class[] c) { +if (c == null) +return null; +String[] s = new String[c.length]; +for (int i = 0; i c.length; i++) { +s[i] = c[i].getName(); +} +return s; +} + +/** + * Returns a method based on the criteria + * @param base the object that owns the method + * @param property the name of the method + * @param paramTypes the parameter types to use + * @return the method specified + * @throws MethodNotFoundException + */ +public static Method getMethod(Object base, Object property, +Class[] paramTypes) throws MethodNotFoundException { +if (base == null || property == null) { +throw new MethodNotFoundException(MessageFactory.get( +error.method.notfound, base, property, +paramString(paramTypes))); +} + +String methodName = (property instanceof String) ? (String) property +: property.toString(); + +Method method = null; +try { +method = base.getClass().getMethod(methodName, paramTypes); +} catch (NoSuchMethodException nsme) { +throw new MethodNotFoundException(MessageFactory.get( +
svn commit: r372854 - /tomcat/container/tc5.5.x/catalina/src/share/org/apache/catalina/realm/RealmBase.java
Author: remm Date: Fri Jan 27 05:56:55 2006 New Revision: 372854 URL: http://svn.apache.org/viewcvs?rev=372854view=rev Log: - Always initialize loggers in realm start rather than at a random time earlier. Modified: tomcat/container/tc5.5.x/catalina/src/share/org/apache/catalina/realm/RealmBase.java Modified: tomcat/container/tc5.5.x/catalina/src/share/org/apache/catalina/realm/RealmBase.java URL: http://svn.apache.org/viewcvs/tomcat/container/tc5.5.x/catalina/src/share/org/apache/catalina/realm/RealmBase.java?rev=372854r1=372853r2=372854view=diff == --- tomcat/container/tc5.5.x/catalina/src/share/org/apache/catalina/realm/RealmBase.java (original) +++ tomcat/container/tc5.5.x/catalina/src/share/org/apache/catalina/realm/RealmBase.java Fri Jan 27 05:56:55 2006 @@ -175,7 +175,6 @@ Container oldContainer = this.container; this.container = container; -this.containerLog = container.getLogger(); support.firePropertyChange(container, oldContainer, this.container); } @@ -1268,6 +1267,7 @@ protected boolean initialized=false; public void init() { +this.containerLog = container.getLogger(); if( initialized container != null ) return; initialized=true; - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
svn commit: r374092 - in /tomcat/jasper/tc6.0.x: build.properties.sample build.xml
Author: remm Date: Wed Feb 1 07:58:35 2006 New Revision: 374092 URL: http://svn.apache.org/viewcvs?rev=374092view=rev Log: - Update Ant build script for the current source layout. Modified: tomcat/jasper/tc6.0.x/build.properties.sample tomcat/jasper/tc6.0.x/build.xml Modified: tomcat/jasper/tc6.0.x/build.properties.sample URL: http://svn.apache.org/viewcvs/tomcat/jasper/tc6.0.x/build.properties.sample?rev=374092r1=374091r2=374092view=diff == --- tomcat/jasper/tc6.0.x/build.properties.sample (original) +++ tomcat/jasper/tc6.0.x/build.properties.sample Wed Feb 1 07:58:35 2006 @@ -9,9 +9,48 @@ # $Id$ # - +# - Default Base Path for Dependent Packages - +# Please note this path must be absolute, not relative, +# as it is referenced with different working directory +# contexts by the various build scripts. +base.path=/usr/share/java +#base.path=C:/path/to/the/repository +#base.path=/usr/local + # - Pointer to Catalina - catalina.home=../../jakarta-tomcat-5/build # - Pointer to JSP Standard Tag Library distribution - #standard.home=${base.path}/jakarta-taglibs/standard #jsp20el.jar=${standard.home}/../dist/jsp20el/jsp20el.jar + +compile.source=1.5 + +# - Servlet API v2.4 - +servlet-api.home=${base.path}/servlet-api-2.4 +servlet-api.lib=${servlet-api.home}/lib +servlet-api.jar=${servlet-api.lib}/servlet-api.jar + +# - JSP API v2.0 - +jsp-api.home=${base.path}/jsp-api-2.0 +jsp-api.lib=${jsp-api.home}/lib +jsp-api.jar=${jsp-api.lib}/jsp-api.jar + +# - Commons Logging, version 1.0.1 or later - +commons-logging.home=${base.path}/commons-logging-1.0.4 +commons-logging.lib=${commons-logging.home} +commons-logging-api.jar=${commons-logging.lib}/commons-logging-api.jar +commons-logging.jar=${commons-logging.lib}/commons-logging.jar +commons-logging.loc=${base-jakarta.loc}/commons/logging/binaries/commons-logging-1.0.4.tar.gz + +# - Commons Expression Language (EL), version 1.0 or later - +commons-el.home=${base.path}/commons-el-1.0 +commons-el.lib=${commons-el.home} +commons-el.jar=${commons-el.lib}/commons-el.jar +commons-el.loc=${base-jakarta.loc}/commons/el/binaries/commons-el-1.0.tar.gz + +# - Eclipse JDT, version 3.1.1 or later - +jdt.home=${base.path}/eclipse/plugins +jdt.lib=${jdt.home} +jdt.jar=${jdt.lib}/org.eclipse.jdt.core_3.1.1.jar +jdt.loc=http://sunsite.informatik.rwth-aachen.de/eclipse/downloads/drops/R-3.1.1-200509290840/eclipse-JDT-3.1.1.zip Modified: tomcat/jasper/tc6.0.x/build.xml URL: http://svn.apache.org/viewcvs/tomcat/jasper/tc6.0.x/build.xml?rev=374092r1=374091r2=374092view=diff == --- tomcat/jasper/tc6.0.x/build.xml (original) +++ tomcat/jasper/tc6.0.x/build.xml Wed Feb 1 07:58:35 2006 @@ -1,4 +1,4 @@ -project name=Jasper2 default=deploy basedir=. +project name=Jasper2 default=build-only basedir=. !-- = Initialize Property Values === -- @@ -21,6 +21,7 @@ property name=ant.jar value=${ant.home}/lib/ant.jar/ property name=servlet-api.jar value=${api.home}/jsr154/dist/lib/servlet-api.jar/ property name=jsp-api.jar value=${api.home}/jsr152/dist/lib/jsp-api.jar/ + property name=jasper-compiler-jdt.jar value=${jdt.jar}/ !-- Construct Jasper classpath -- @@ -28,16 +29,9 @@ pathelement location=${ant.jar}/ pathelement location=${servlet-api.jar}/ pathelement location=${jsp-api.jar}/ -pathelement location=${tools.jar}/ -pathelement location=${jasper-compiler-jdt.jar}/ -pathelement location=${xerces.jar}/ -pathelement location=${xercesImpl.jar}/ -pathelement location=${xml-apis.jar}/ -pathelement location=${commons-el.jar}/ -pathelement location=${commons-collections.jar}/ +pathelement location=${jdt.jar}/ pathelement location=${commons-logging.jar}/ -pathelement location=${commons-daemon-launcher.jar}/ -pathelement location=${jasper.build}/shared/classes/ +pathelement location=${commons-el.jar}/ /path !-- Construct unit tests classpath -- @@ -116,10 +110,12 @@ /target !-- Just build jasper -- - target name=build-only + target name=build-only depends=build-prepare property name=jasper.classes value=${jasper.build}/shared/classes/ property name=jasper-compiler.jar value=${jasper.build}/shared/lib/jasper-compiler.jar/ property name=jasper-runtime.jar value=${jasper.build}/shared/lib/jasper-runtime.jar/ +property name=jasper-el.jar value=${jasper.build}/shared/lib/jasper-el.jar/ +property name=el-api.jar value=${jasper.build}/shared/lib/el-api.jar/ !-- Compile internal server components -- javac srcdir=src/share destdir=${jasper.classes} @@ -165,6 +161,26 @@ include name=org/apache/jasper/runtime
svn commit: r374204 - /tomcat/container/tc5.5.x/catalina/src/conf/web.xml
Author: remm Date: Wed Feb 1 15:50:13 2006 New Revision: 374204 URL: http://svn.apache.org/viewcvs?rev=374204view=rev Log: - I guess nobody will do that ... Modified: tomcat/container/tc5.5.x/catalina/src/conf/web.xml Modified: tomcat/container/tc5.5.x/catalina/src/conf/web.xml URL: http://svn.apache.org/viewcvs/tomcat/container/tc5.5.x/catalina/src/conf/web.xml?rev=374204r1=374203r2=374204view=diff == --- tomcat/container/tc5.5.x/catalina/src/conf/web.xml (original) +++ tomcat/container/tc5.5.x/catalina/src/conf/web.xml Wed Feb 1 15:50:13 2006 @@ -1072,7 +1072,7 @@ extensionppt/extension mime-typeapplication/vnd.ms-powerpoint/mime-type /mime-mapping -a + !-- Default Welcome File List = -- !-- When a request URI refers to a directory, the default servlet looks -- !-- for a welcome file within that directory and, if present, -- - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
svn commit: r374205 - in /tomcat/connectors/trunk/http11/src/java/org/apache/coyote/http11: Http11BaseProtocol.java Http11Protocol.java
Author: remm Date: Wed Feb 1 15:52:44 2006 New Revision: 374205 URL: http://svn.apache.org/viewcvs?rev=374205view=rev Log: - 38485: Fix minor regression setting connection timeout and a few others (the connection handler will be created after setting the properties, so setting defaults there is not an option). Modified: tomcat/connectors/trunk/http11/src/java/org/apache/coyote/http11/Http11BaseProtocol.java tomcat/connectors/trunk/http11/src/java/org/apache/coyote/http11/Http11Protocol.java Modified: tomcat/connectors/trunk/http11/src/java/org/apache/coyote/http11/Http11BaseProtocol.java URL: http://svn.apache.org/viewcvs/tomcat/connectors/trunk/http11/src/java/org/apache/coyote/http11/Http11BaseProtocol.java?rev=374205r1=374204r2=374205view=diff == --- tomcat/connectors/trunk/http11/src/java/org/apache/coyote/http11/Http11BaseProtocol.java (original) +++ tomcat/connectors/trunk/http11/src/java/org/apache/coyote/http11/Http11BaseProtocol.java Wed Feb 1 15:52:44 2006 @@ -31,7 +31,6 @@ import org.apache.coyote.Adapter; import org.apache.coyote.ProtocolHandler; import org.apache.coyote.RequestGroupInfo; -import org.apache.coyote.RequestInfo; import org.apache.tomcat.util.net.PoolTcpEndpoint; import org.apache.tomcat.util.net.SSLImplementation; import org.apache.tomcat.util.net.SSLSupport; @@ -40,7 +39,6 @@ import org.apache.tomcat.util.net.TcpConnectionHandler; import org.apache.tomcat.util.res.StringManager; import org.apache.tomcat.util.threads.ThreadPool; -import org.apache.tomcat.util.threads.ThreadWithAttributes; /** @@ -54,6 +52,10 @@ public class Http11BaseProtocol implements ProtocolHandler { public Http11BaseProtocol() { +setSoLinger(Constants.DEFAULT_CONNECTION_LINGER); +setSoTimeout(Constants.DEFAULT_CONNECTION_TIMEOUT); +setServerSoTimeout(Constants.DEFAULT_SERVER_SOCKET_TIMEOUT); +setTcpNoDelay(Constants.DEFAULT_TCP_NO_DELAY); } /** @@ -106,12 +108,7 @@ } protected Http11ConnectionHandler createConnectionHandler() { -Http11ConnectionHandler cHandler = new Http11ConnectionHandler( this ); -setSoLinger(Constants.DEFAULT_CONNECTION_LINGER); -setSoTimeout(Constants.DEFAULT_CONNECTION_TIMEOUT); -setServerSoTimeout(Constants.DEFAULT_SERVER_SOCKET_TIMEOUT); -setTcpNoDelay(Constants.DEFAULT_TCP_NO_DELAY); -return cHandler ; +return new Http11ConnectionHandler( this ); } /** Start the protocol Modified: tomcat/connectors/trunk/http11/src/java/org/apache/coyote/http11/Http11Protocol.java URL: http://svn.apache.org/viewcvs/tomcat/connectors/trunk/http11/src/java/org/apache/coyote/http11/Http11Protocol.java?rev=374205r1=374204r2=374205view=diff == --- tomcat/connectors/trunk/http11/src/java/org/apache/coyote/http11/Http11Protocol.java (original) +++ tomcat/connectors/trunk/http11/src/java/org/apache/coyote/http11/Http11Protocol.java Wed Feb 1 15:52:44 2006 @@ -62,12 +62,7 @@ } protected Http11ConnectionHandler createConnectionHandler() { -Http11ConnectionHandler cHandler = new JmxHttp11ConnectionHandler( this ); -setSoLinger(Constants.DEFAULT_CONNECTION_LINGER); -setSoTimeout(Constants.DEFAULT_CONNECTION_TIMEOUT); -setServerSoTimeout(Constants.DEFAULT_SERVER_SOCKET_TIMEOUT); -setTcpNoDelay(Constants.DEFAULT_TCP_NO_DELAY); -return cHandler ; +return new JmxHttp11ConnectionHandler( this ) ; } ObjectName tpOname; - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
svn commit: r374877 - /tomcat/connectors/trunk/util/java/org/apache/tomcat/util/net/AprEndpoint.java
Author: remm Date: Sat Feb 4 07:00:44 2006 New Revision: 374877 URL: http://svn.apache.org/viewcvs?rev=374877view=rev Log: - Pass along more of the SSL related fields (note: I'm not sure what the skipfirst flag of setCertificateChainFile is actually supposed to do). Modified: tomcat/connectors/trunk/util/java/org/apache/tomcat/util/net/AprEndpoint.java Modified: tomcat/connectors/trunk/util/java/org/apache/tomcat/util/net/AprEndpoint.java URL: http://svn.apache.org/viewcvs/tomcat/connectors/trunk/util/java/org/apache/tomcat/util/net/AprEndpoint.java?rev=374877r1=374876r2=374877view=diff == --- tomcat/connectors/trunk/util/java/org/apache/tomcat/util/net/AprEndpoint.java (original) +++ tomcat/connectors/trunk/util/java/org/apache/tomcat/util/net/AprEndpoint.java Sat Feb 4 07:00:44 2006 @@ -590,10 +590,12 @@ SSLContext.setCipherSuite(sslContext, SSLCipherSuite); // Load Server key and certificate SSLContext.setCertificate(sslContext, SSLCertificateFile, SSLCertificateKeyFile, SSLPassword, SSL.SSL_AIDX_RSA); +// Set certificate chain file +SSLContext.setCertificateChainFile(sslContext, SSLCertificateChainFile, false); // Support Client Certificates -if (SSLCACertificateFile != null) { -SSLContext.setCACertificate(sslContext, SSLCACertificateFile, null); -} +SSLContext.setCACertificate(sslContext, SSLCACertificateFile, SSLCACertificatePath); +// Set revocation +SSLContext.setCARevocation(sslContext, SSLCARevocationFile, SSLCARevocationPath); // Client certificate verification value = SSL.SSL_CVERIFY_NONE; if (optional.equalsIgnoreCase(SSLVerifyClient)) { - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
svn commit: r374878 - in /tomcat: build/tc5.5.x/tomcat.nsi connectors/trunk/jni/native/include/tcn_version.h container/tc5.5.x/catalina/src/share/org/apache/catalina/core/AprLifecycleListener.java
Author: remm Date: Sat Feb 4 07:02:39 2006 New Revision: 374878 URL: http://svn.apache.org/viewcvs?rev=374878view=rev Log: - The IP change of network.c is a backwards incompatible change (a 1.1.1 binary will crash), so bump up the patch level required. Modified: tomcat/build/tc5.5.x/tomcat.nsi tomcat/connectors/trunk/jni/native/include/tcn_version.h tomcat/container/tc5.5.x/catalina/src/share/org/apache/catalina/core/AprLifecycleListener.java Modified: tomcat/build/tc5.5.x/tomcat.nsi URL: http://svn.apache.org/viewcvs/tomcat/build/tc5.5.x/tomcat.nsi?rev=374878r1=374877r2=374878view=diff == --- tomcat/build/tc5.5.x/tomcat.nsi (original) +++ tomcat/build/tc5.5.x/tomcat.nsi Sat Feb 4 07:02:39 2006 @@ -203,11 +203,11 @@ SectionIn 3 - NSISdl::download /TIMEOUT=3 http://tomcat.heanet.ie/native/1.1.1/binaries/win32/tcnative-1.dll $INSTDIR\bin\tcnative-1.dll + NSISdl::download /TIMEOUT=3 http://tomcat.heanet.ie/native/1.1.2/binaries/win32/tcnative-1.dll $INSTDIR\bin\tcnative-1.dll Pop $0 StrCmp $0 success success SetDetailsView show -DetailPrint download failed from http://tomcat.heanet.ie/native/1.1.1/binaries/win32/tcnative-1.dll: $0 +DetailPrint download failed from http://tomcat.heanet.ie/native/1.1.2/binaries/win32/tcnative-1.dll: $0 success: ClearErrors Modified: tomcat/connectors/trunk/jni/native/include/tcn_version.h URL: http://svn.apache.org/viewcvs/tomcat/connectors/trunk/jni/native/include/tcn_version.h?rev=374878r1=374877r2=374878view=diff == --- tomcat/connectors/trunk/jni/native/include/tcn_version.h (original) +++ tomcat/connectors/trunk/jni/native/include/tcn_version.h Sat Feb 4 07:02:39 2006 @@ -68,7 +68,7 @@ #define TCN_MINOR_VERSION 1 /** patch level */ -#define TCN_PATCH_VERSION 1 +#define TCN_PATCH_VERSION 2 /** * This symbol is defined for internal, development copies of TCN. This Modified: tomcat/container/tc5.5.x/catalina/src/share/org/apache/catalina/core/AprLifecycleListener.java URL: http://svn.apache.org/viewcvs/tomcat/container/tc5.5.x/catalina/src/share/org/apache/catalina/core/AprLifecycleListener.java?rev=374878r1=374877r2=374878view=diff == --- tomcat/container/tc5.5.x/catalina/src/share/org/apache/catalina/core/AprLifecycleListener.java (original) +++ tomcat/container/tc5.5.x/catalina/src/share/org/apache/catalina/core/AprLifecycleListener.java Sat Feb 4 07:02:39 2006 @@ -52,7 +52,7 @@ protected static final int REQUIRED_MAJOR = 1; protected static final int REQUIRED_MINOR = 1; -protected static final int REQUIRED_PATCH = 1; +protected static final int REQUIRED_PATCH = 2; // -- LifecycleListener Methods - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
svn commit: r374893 - in /tomcat/container/tc5.5.x/catalina/src/share/org/apache/catalina/core: ContainerBase.java StandardContext.java
Author: remm Date: Sat Feb 4 09:36:19 2006 New Revision: 374893 URL: http://svn.apache.org/viewcvs?rev=374893view=rev Log: - It is always possible that container loggers are acquired before the classloader is correctly setup. Set it to null to ensure the correct classloader will be used the rest of the way. Modified: tomcat/container/tc5.5.x/catalina/src/share/org/apache/catalina/core/ContainerBase.java tomcat/container/tc5.5.x/catalina/src/share/org/apache/catalina/core/StandardContext.java Modified: tomcat/container/tc5.5.x/catalina/src/share/org/apache/catalina/core/ContainerBase.java URL: http://svn.apache.org/viewcvs/tomcat/container/tc5.5.x/catalina/src/share/org/apache/catalina/core/ContainerBase.java?rev=374893r1=374892r2=374893view=diff == --- tomcat/container/tc5.5.x/catalina/src/share/org/apache/catalina/core/ContainerBase.java (original) +++ tomcat/container/tc5.5.x/catalina/src/share/org/apache/catalina/core/ContainerBase.java Sat Feb 4 09:36:19 2006 @@ -993,6 +993,7 @@ // Start our subordinate components, if any if ((loader != null) (loader instanceof Lifecycle)) ((Lifecycle) loader).start(); +logger = null; getLogger(); if ((logger != null) (logger instanceof Lifecycle)) ((Lifecycle) logger).start(); Modified: tomcat/container/tc5.5.x/catalina/src/share/org/apache/catalina/core/StandardContext.java URL: http://svn.apache.org/viewcvs/tomcat/container/tc5.5.x/catalina/src/share/org/apache/catalina/core/StandardContext.java?rev=374893r1=374892r2=374893view=diff == --- tomcat/container/tc5.5.x/catalina/src/share/org/apache/catalina/core/StandardContext.java (original) +++ tomcat/container/tc5.5.x/catalina/src/share/org/apache/catalina/core/StandardContext.java Sat Feb 4 09:36:19 2006 @@ -4082,8 +4082,13 @@ // Binding thread oldCCL = bindThread(); +// Initialize logger again. Other components might have used it too early, +// so it should be reset. +logger = null; +getLogger(); if ((logger != null) (logger instanceof Lifecycle)) ((Lifecycle) logger).start(); + if ((cluster != null) (cluster instanceof Lifecycle)) ((Lifecycle) cluster).start(); if ((realm != null) (realm instanceof Lifecycle)) - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
svn commit: r374898 - in /tomcat/container/tc5.5.x/webapps/docs: apr.xml changelog.xml ssl-howto.xml
Author: remm Date: Sat Feb 4 09:55:49 2006 New Revision: 374898 URL: http://svn.apache.org/viewcvs?rev=374898view=rev Log: - Update SSL docs and changelog. Modified: tomcat/container/tc5.5.x/webapps/docs/apr.xml tomcat/container/tc5.5.x/webapps/docs/changelog.xml tomcat/container/tc5.5.x/webapps/docs/ssl-howto.xml Modified: tomcat/container/tc5.5.x/webapps/docs/apr.xml URL: http://svn.apache.org/viewcvs/tomcat/container/tc5.5.x/webapps/docs/apr.xml?rev=374898r1=374897r2=374898view=diff == --- tomcat/container/tc5.5.x/webapps/docs/apr.xml (original) +++ tomcat/container/tc5.5.x/webapps/docs/apr.xml Sat Feb 4 09:55:49 2006 @@ -230,6 +230,31 @@ Maximum verification depth for client certificates. The default is 10. /p /attribute +attribute name=SSLCACertificateFile required=false +p + See a href=http://httpd.apache.org/docs/2.2/mod/mod_ssl.html#sslcacertificatefile;the mod_ssl documentation/a. +/p +/attribute +attribute name=SSLCACertificatePath required=false +p + See a href=http://httpd.apache.org/docs/2.2/mod/mod_ssl.html#sslcacertificatepath;the mod_ssl documentation/a. +/p +/attribute +attribute name=SSLCertificateChainFile required=false +p + See a href=http://httpd.apache.org/docs/2.2/mod/mod_ssl.html#sslcertificatechainfile;the mod_ssl documentation/a. +/p +/attribute +attribute name=SSLCARevocationFile required=false +p + See a href=http://httpd.apache.org/docs/2.2/mod/mod_ssl.html#sslcarevocationfile;the mod_ssl documentation/a. +/p +/attribute +attribute name=SSLCARevocationPath required=false +p + See a href=http://httpd.apache.org/docs/2.2/mod/mod_ssl.html#sslcarevocationpath;the mod_ssl documentation/a. +/p +/attribute /attributes Modified: tomcat/container/tc5.5.x/webapps/docs/changelog.xml URL: http://svn.apache.org/viewcvs/tomcat/container/tc5.5.x/webapps/docs/changelog.xml?rev=374898r1=374897r2=374898view=diff == --- tomcat/container/tc5.5.x/webapps/docs/changelog.xml (original) +++ tomcat/container/tc5.5.x/webapps/docs/changelog.xml Sat Feb 4 09:55:49 2006 @@ -20,6 +20,9 @@ update Updated / enhanced docs to remove old FIXME references. (yoavs) /update + update +Required tcnative library version upgraded to 1.1.2 (remm) + /update /changelog /subsection subsection name=Catalina @@ -47,6 +50,10 @@ fix Fix the JMX MBeanFactory.createStandardHost signature at mbean-descriptors.xml (pero) /fix + fix + Fix some cases (for example with realm usage) where the container logger for a context + would be retrieved using the wrong classloader (remm) + /fix /changelog /subsection subsection name=Coyote @@ -57,6 +64,14 @@ fix bug38100/bug: Make certain that a valid Host name is set, or none at all. (billbarker) /fix + fix +bug38485/bug: Fix minor regression setting connection timeout (as well as linger and +no delay) where the default value was always used when using the regular +HTTP connector (remm) + /fix + update +Pass along more of the SSL related fields to OpenSSL (remm) + /update /changelog /subsection subsection name=Jasper Modified: tomcat/container/tc5.5.x/webapps/docs/ssl-howto.xml URL: http://svn.apache.org/viewcvs/tomcat/container/tc5.5.x/webapps/docs/ssl-howto.xml?rev=374898r1=374897r2=374898view=diff == --- tomcat/container/tc5.5.x/webapps/docs/ssl-howto.xml (original) +++ tomcat/container/tc5.5.x/webapps/docs/ssl-howto.xml Sat Feb 4 09:55:49 2006 @@ -17,6 +17,9 @@ section name=Quick Start + pbIMPORTANT NOTE: This Howto refers to usage of JSSE. When using APR, Tomcat will + use OpenSSL, which uses a different configuration./b/p + blockquoteem pThe description below uses the variable name $CATALINA_HOME to refer to the directory into which you have installed Tomcat 5, - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
svn commit: r375582 - in /tomcat/connectors/trunk: http11/src/java/org/apache/coyote/http11/InternalAprOutputBuffer.java jk/java/org/apache/coyote/ajp/AjpAprProcessor.java
Author: remm Date: Tue Feb 7 03:47:20 2006 New Revision: 375582 URL: http://svn.apache.org/viewcvs?rev=375582view=rev Log: - 38464: Fix incorrect usage of sendbb method, which can in some cases do incomplete writes. Let me know if there are still problems. - Note: for AJP, the fix is there just-in-case, as it is apparently impossible to get in this situation. Modified: tomcat/connectors/trunk/http11/src/java/org/apache/coyote/http11/InternalAprOutputBuffer.java tomcat/connectors/trunk/jk/java/org/apache/coyote/ajp/AjpAprProcessor.java Modified: tomcat/connectors/trunk/http11/src/java/org/apache/coyote/http11/InternalAprOutputBuffer.java URL: http://svn.apache.org/viewcvs/tomcat/connectors/trunk/http11/src/java/org/apache/coyote/http11/InternalAprOutputBuffer.java?rev=375582r1=375581r2=375582view=diff == --- tomcat/connectors/trunk/http11/src/java/org/apache/coyote/http11/InternalAprOutputBuffer.java (original) +++ tomcat/connectors/trunk/http11/src/java/org/apache/coyote/http11/InternalAprOutputBuffer.java Tue Feb 7 03:47:20 2006 @@ -695,9 +695,14 @@ protected void flushBuffer() throws IOException { if (bbuf.position() 0) { -if (Socket.sendbb(socket, 0, bbuf.position()) 0) { -throw new IOException(sm.getString(iib.failedwrite)); -} +int i = 0; +int n = 0; +do { +if ((n = Socket.sendbb(socket, i, bbuf.position())) 0) { +throw new IOException(); +} +i += n; +} while (i bbuf.position()); bbuf.clear(); } } Modified: tomcat/connectors/trunk/jk/java/org/apache/coyote/ajp/AjpAprProcessor.java URL: http://svn.apache.org/viewcvs/tomcat/connectors/trunk/jk/java/org/apache/coyote/ajp/AjpAprProcessor.java?rev=375582r1=375581r2=375582view=diff == --- tomcat/connectors/trunk/jk/java/org/apache/coyote/ajp/AjpAprProcessor.java (original) +++ tomcat/connectors/trunk/jk/java/org/apache/coyote/ajp/AjpAprProcessor.java Tue Feb 7 03:47:20 2006 @@ -1169,9 +1169,14 @@ protected void flush() throws IOException { if (outputBuffer.position() 0) { -if (Socket.sendbb(socket, 0, outputBuffer.position()) 0) { -throw new IOException(sm.getString(ajpprotocol.failedwrite)); -} +int i = 0; +int n = 0; +do { +if ((n = Socket.sendbb(socket, i, outputBuffer.position())) 0) { +throw new IOException(); +} +i += n; +} while (i outputBuffer.position()); outputBuffer.clear(); } } - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
svn commit: r375613 - in /tomcat/connectors/trunk: http11/src/java/org/apache/coyote/http11/InternalAprOutputBuffer.java jk/java/org/apache/coyote/ajp/AjpAprProcessor.java
Author: remm Date: Tue Feb 7 06:39:54 2006 New Revision: 375613 URL: http://svn.apache.org/viewcvs?rev=375613view=rev Log: - sendbb uses a length, so - i is missing. Modified: tomcat/connectors/trunk/http11/src/java/org/apache/coyote/http11/InternalAprOutputBuffer.java tomcat/connectors/trunk/jk/java/org/apache/coyote/ajp/AjpAprProcessor.java Modified: tomcat/connectors/trunk/http11/src/java/org/apache/coyote/http11/InternalAprOutputBuffer.java URL: http://svn.apache.org/viewcvs/tomcat/connectors/trunk/http11/src/java/org/apache/coyote/http11/InternalAprOutputBuffer.java?rev=375613r1=375612r2=375613view=diff == --- tomcat/connectors/trunk/http11/src/java/org/apache/coyote/http11/InternalAprOutputBuffer.java (original) +++ tomcat/connectors/trunk/http11/src/java/org/apache/coyote/http11/InternalAprOutputBuffer.java Tue Feb 7 06:39:54 2006 @@ -698,7 +698,7 @@ int i = 0; int n = 0; do { -if ((n = Socket.sendbb(socket, i, bbuf.position())) 0) { +if ((n = Socket.sendbb(socket, i, bbuf.position() - i)) 0) { throw new IOException(); } i += n; Modified: tomcat/connectors/trunk/jk/java/org/apache/coyote/ajp/AjpAprProcessor.java URL: http://svn.apache.org/viewcvs/tomcat/connectors/trunk/jk/java/org/apache/coyote/ajp/AjpAprProcessor.java?rev=375613r1=375612r2=375613view=diff == --- tomcat/connectors/trunk/jk/java/org/apache/coyote/ajp/AjpAprProcessor.java (original) +++ tomcat/connectors/trunk/jk/java/org/apache/coyote/ajp/AjpAprProcessor.java Tue Feb 7 06:39:54 2006 @@ -1172,7 +1172,7 @@ int i = 0; int n = 0; do { -if ((n = Socket.sendbb(socket, i, outputBuffer.position())) 0) { +if ((n = Socket.sendbb(socket, i, outputBuffer.position() - i)) 0) { throw new IOException(); } i += n; - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
svn commit: r375625 - in /tomcat/connectors/trunk: http11/src/java/org/apache/coyote/http11/InternalAprOutputBuffer.java jk/java/org/apache/coyote/ajp/AjpAprProcessor.java
Author: remm Date: Tue Feb 7 07:16:02 2006 New Revision: 375625 URL: http://svn.apache.org/viewcvs?rev=375625view=rev Log: - Switch back to using a native fix (in order to not having to do too many JNI calls, since it's the whole point). Modified: tomcat/connectors/trunk/http11/src/java/org/apache/coyote/http11/InternalAprOutputBuffer.java tomcat/connectors/trunk/jk/java/org/apache/coyote/ajp/AjpAprProcessor.java Modified: tomcat/connectors/trunk/http11/src/java/org/apache/coyote/http11/InternalAprOutputBuffer.java URL: http://svn.apache.org/viewcvs/tomcat/connectors/trunk/http11/src/java/org/apache/coyote/http11/InternalAprOutputBuffer.java?rev=375625r1=375624r2=375625view=diff == --- tomcat/connectors/trunk/http11/src/java/org/apache/coyote/http11/InternalAprOutputBuffer.java (original) +++ tomcat/connectors/trunk/http11/src/java/org/apache/coyote/http11/InternalAprOutputBuffer.java Tue Feb 7 07:16:02 2006 @@ -695,14 +695,9 @@ protected void flushBuffer() throws IOException { if (bbuf.position() 0) { -int i = 0; -int n = 0; -do { -if ((n = Socket.sendbb(socket, i, bbuf.position() - i)) 0) { -throw new IOException(); -} -i += n; -} while (i bbuf.position()); +if (Socket.sendbb(socket, 0, bbuf.position()) 0) { +throw new IOException(); +} bbuf.clear(); } } Modified: tomcat/connectors/trunk/jk/java/org/apache/coyote/ajp/AjpAprProcessor.java URL: http://svn.apache.org/viewcvs/tomcat/connectors/trunk/jk/java/org/apache/coyote/ajp/AjpAprProcessor.java?rev=375625r1=375624r2=375625view=diff == --- tomcat/connectors/trunk/jk/java/org/apache/coyote/ajp/AjpAprProcessor.java (original) +++ tomcat/connectors/trunk/jk/java/org/apache/coyote/ajp/AjpAprProcessor.java Tue Feb 7 07:16:02 2006 @@ -1169,14 +1169,9 @@ protected void flush() throws IOException { if (outputBuffer.position() 0) { -int i = 0; -int n = 0; -do { -if ((n = Socket.sendbb(socket, i, outputBuffer.position() - i)) 0) { -throw new IOException(); -} -i += n; -} while (i outputBuffer.position()); +if (Socket.sendbb(socket, 0, outputBuffer.position()) 0) { +throw new IOException(); +} outputBuffer.clear(); } } - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
svn commit: r376345 - in /tomcat/container/tc5.5.x/webapps/docs: config/context.xml config/globalresources.xml jndi-resources-howto.xml
Author: remm Date: Thu Feb 9 08:47:51 2006 New Revision: 376345 URL: http://svn.apache.org/viewcvs?rev=376345view=rev Log: - Add some docs for the Transaction element. Modified: tomcat/container/tc5.5.x/webapps/docs/config/context.xml tomcat/container/tc5.5.x/webapps/docs/config/globalresources.xml tomcat/container/tc5.5.x/webapps/docs/jndi-resources-howto.xml Modified: tomcat/container/tc5.5.x/webapps/docs/config/context.xml URL: http://svn.apache.org/viewcvs/tomcat/container/tc5.5.x/webapps/docs/config/context.xml?rev=376345r1=376344r2=376345view=diff == --- tomcat/container/tc5.5.x/webapps/docs/config/context.xml (original) +++ tomcat/container/tc5.5.x/webapps/docs/config/context.xml Thu Feb 9 08:47:51 2006 @@ -747,6 +747,28 @@ /subsection + subsection name=Transaction + +pYou can declare the characteristics of the UserTransaction +to be returned for JNDI lookup for codejava:comp/UserTransaction/code. +You strongMUST/strong define an object factory class to instantiate +this object as well as the needed resource parameters as attributes of the +codeTransaction/code +element, and the properties used to configure that object factory./p + +pThe valid attributes for the codelt;Transactiongt;/code element +are as follows:/p + +attributes + + attribute name=factory required=true +pThe class name for the JNDI object factory./p + /attribute + +/attributes + + /subsection + /section Modified: tomcat/container/tc5.5.x/webapps/docs/config/globalresources.xml URL: http://svn.apache.org/viewcvs/tomcat/container/tc5.5.x/webapps/docs/config/globalresources.xml?rev=376345r1=376344r2=376345view=diff == --- tomcat/container/tc5.5.x/webapps/docs/config/globalresources.xml (original) +++ tomcat/container/tc5.5.x/webapps/docs/config/globalresources.xml Thu Feb 9 08:47:51 2006 @@ -223,6 +223,28 @@ /subsection + subsection name=Transaction + +pYou can declare the characteristics of the UserTransaction +to be returned for JNDI lookup for codejava:comp/UserTransaction/code. +You strongMUST/strong define an object factory class to instantiate +this object as well as the needed resource parameters as attributes of the +codeTransaction/code +element, and the properties used to configure that object factory./p + +pThe valid attributes for the codelt;Transactiongt;/code element +are as follows:/p + +attributes + + attribute name=factory required=true +pThe class name for the JNDI object factory./p + /attribute + +/attributes + + /subsection + /section Modified: tomcat/container/tc5.5.x/webapps/docs/jndi-resources-howto.xml URL: http://svn.apache.org/viewcvs/tomcat/container/tc5.5.x/webapps/docs/jndi-resources-howto.xml?rev=376345r1=376344r2=376345view=diff == --- tomcat/container/tc5.5.x/webapps/docs/jndi-resources-howto.xml (original) +++ tomcat/container/tc5.5.x/webapps/docs/jndi-resources-howto.xml Thu Feb 9 08:47:51 2006 @@ -121,6 +121,9 @@ thea href=config/globalresources.htmllt;GlobalNamingResourcesgt;/a child element of the a href=config/server.htmllt;Servergt;/a element./li +lia href=config/context.html#Transactionlt;Transactiongt;/a - +Add a resource factory for instantiating the UserTransaction object +instance that is available at codejava:comp/UserTransaction/code./li /ul - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
svn commit: r377994 - in /tomcat/container/tc5.5.x/catalina/src/share/org/apache/catalina/core: ApplicationContext.java ApplicationContextFacade.java
Author: remm Date: Wed Feb 15 04:37:28 2006 New Revision: 377994 URL: http://svn.apache.org/viewcvs?rev=377994view=rev Log: - Add getContextPath to the implementation classes. Modified: tomcat/container/tc5.5.x/catalina/src/share/org/apache/catalina/core/ApplicationContext.java tomcat/container/tc5.5.x/catalina/src/share/org/apache/catalina/core/ApplicationContextFacade.java Modified: tomcat/container/tc5.5.x/catalina/src/share/org/apache/catalina/core/ApplicationContext.java URL: http://svn.apache.org/viewcvs/tomcat/container/tc5.5.x/catalina/src/share/org/apache/catalina/core/ApplicationContext.java?rev=377994r1=377993r2=377994view=diff == --- tomcat/container/tc5.5.x/catalina/src/share/org/apache/catalina/core/ApplicationContext.java (original) +++ tomcat/container/tc5.5.x/catalina/src/share/org/apache/catalina/core/ApplicationContext.java Wed Feb 15 04:37:28 2006 @@ -240,6 +240,14 @@ } } + +/** + * Return the main path associated with this context. + */ +public String getContextPath() { +return context.getPath(); +} + /** * Return the value of the specified initialization parameter, or Modified: tomcat/container/tc5.5.x/catalina/src/share/org/apache/catalina/core/ApplicationContextFacade.java URL: http://svn.apache.org/viewcvs/tomcat/container/tc5.5.x/catalina/src/share/org/apache/catalina/core/ApplicationContextFacade.java?rev=377994r1=377993r2=377994view=diff == --- tomcat/container/tc5.5.x/catalina/src/share/org/apache/catalina/core/ApplicationContextFacade.java (original) +++ tomcat/container/tc5.5.x/catalina/src/share/org/apache/catalina/core/ApplicationContextFacade.java Wed Feb 15 04:37:28 2006 @@ -353,6 +353,15 @@ } +public String getContextPath() { +if (SecurityUtil.isPackageProtectionEnabled()) { +return (String) doPrivileged(getContextPath, null); +} else { +return context.getContextPath(); +} +} + + /** * Use reflection to invoke the requested method. Cache the method object * to speed up the process - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
svn commit: r378241 - /tomcat/connectors/trunk/util/java/org/apache/tomcat/util/net/AprEndpoint.java
Author: remm Date: Thu Feb 16 05:22:51 2006 New Revision: 378241 URL: http://svn.apache.org/viewcvs?rev=378241view=rev Log: - Fix a dumb programming error which could cause a crash (rare, fortunately) after a poll error. i-- was used for the loop, so if sockets add were pending, the first socket (position 0) would be destroyed but not removed from the poller. - Change syncing to sync on this, as init reallocates a new addS object. Please review to make sure all my syncs match my notify calls :) Modified: tomcat/connectors/trunk/util/java/org/apache/tomcat/util/net/AprEndpoint.java Modified: tomcat/connectors/trunk/util/java/org/apache/tomcat/util/net/AprEndpoint.java URL: http://svn.apache.org/viewcvs/tomcat/connectors/trunk/util/java/org/apache/tomcat/util/net/AprEndpoint.java?rev=378241r1=378240r2=378241view=diff == --- tomcat/connectors/trunk/util/java/org/apache/tomcat/util/net/AprEndpoint.java (original) +++ tomcat/connectors/trunk/util/java/org/apache/tomcat/util/net/AprEndpoint.java Thu Feb 16 05:22:51 2006 @@ -985,7 +985,7 @@ */ protected void destroy() { // Close all sockets in the add queue -for (int i = 0; i addCount; i--) { +for (int i = 0; i addCount; i++) { Socket.destroy(addS[i]); } // Close all sockets still in the poller @@ -1009,7 +1009,7 @@ * @param socket to add to the poller */ public void add(long socket) { -synchronized (addS) { +synchronized (this) { // Add socket to the list. Newly added sockets will wait // at most for pollTime before being polled if (addCount = addS.length) { @@ -1019,7 +1019,7 @@ } addS[addCount] = socket; addCount++; -addS.notify(); +this.notify(); } } @@ -1046,8 +1046,8 @@ // Reset maintain time. maintainTime = 0; try { -synchronized (addS) { -addS.wait(); +synchronized (this) { +this.wait(); } } catch (InterruptedException e) { // Ignore @@ -1057,7 +1057,7 @@ try { // Add sockets which are waiting to the poller if (addCount 0) { -synchronized (addS) { +synchronized (this) { for (int i = (addCount - 1); i = 0; i--) { int rv = Poll.add (serverPollset, addS[i], Poll.APR_POLLIN); @@ -1373,9 +1373,9 @@ } // Add socket to the list. Newly added sockets will wait // at most for pollTime before being polled -synchronized (addS) { +synchronized (this) { addS.add(data); -addS.notify(); +this.notify(); } return false; } @@ -1413,8 +1413,8 @@ while (sendfileCount 1 addS.size() 1) { try { -synchronized (addS) { -addS.wait(); +synchronized (this) { +this.wait(); } } catch (InterruptedException e) { // Ignore @@ -1424,7 +1424,7 @@ try { // Add socket to the poller if (addS.size() 0) { -synchronized (addS) { +synchronized (this) { for (int i = (addS.size() - 1); i = 0; i--) { SendfileData data = (SendfileData) addS.get(i); int rv = Poll.add(sendfilePollset, data.socket, Poll.APR_POLLOUT); - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
svn commit: r378248 - /tomcat/connectors/trunk/util/java/org/apache/tomcat/util/net/AprEndpoint.java
Author: remm Date: Thu Feb 16 05:53:29 2006 New Revision: 378248 URL: http://svn.apache.org/viewcvs?rev=378248view=rev Log: - Remove useless thread sync. Modified: tomcat/connectors/trunk/util/java/org/apache/tomcat/util/net/AprEndpoint.java Modified: tomcat/connectors/trunk/util/java/org/apache/tomcat/util/net/AprEndpoint.java URL: http://svn.apache.org/viewcvs/tomcat/connectors/trunk/util/java/org/apache/tomcat/util/net/AprEndpoint.java?rev=378248r1=378247r2=378248view=diff == --- tomcat/connectors/trunk/util/java/org/apache/tomcat/util/net/AprEndpoint.java (original) +++ tomcat/connectors/trunk/util/java/org/apache/tomcat/util/net/AprEndpoint.java Thu Feb 16 05:53:29 2006 @@ -91,12 +91,6 @@ /** - * Synchronization object. - */ -protected final Object threadSync = new Object(); - - -/** * The acceptor thread. */ protected Thread acceptorThread = null; @@ -927,11 +921,6 @@ } -// Notify the threadStop() method that we have shut ourselves down -synchronized (threadSync) { -threadSync.notifyAll(); -} - } } @@ -1115,11 +1104,6 @@ } -// Notify the threadStop() method that we have shut ourselves down -synchronized (threadSync) { -threadSync.notifyAll(); -} - } } @@ -1216,11 +1200,6 @@ } -// Tell threadStop() we have shut ourselves down successfully -synchronized (threadSync) { -threadSync.notifyAll(); -} - } @@ -1504,11 +1483,6 @@ } catch (Throwable t) { log.error(sm.getString(endpoint.poll.error), t); } -} - -// Notify the threadStop() method that we have shut ourselves down -synchronized (threadSync) { -threadSync.notifyAll(); } } - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
svn commit: r378251 - /tomcat/container/tc5.5.x/catalina/src/share/org/apache/catalina/loader/WebappClassLoader.java
Author: remm Date: Thu Feb 16 06:19:13 2006 New Revision: 378251 URL: http://svn.apache.org/viewcvs?rev=378251view=rev Log: - Null instances loaded by WCL only. - Submitted by Matt Jensen. Modified: tomcat/container/tc5.5.x/catalina/src/share/org/apache/catalina/loader/WebappClassLoader.java Modified: tomcat/container/tc5.5.x/catalina/src/share/org/apache/catalina/loader/WebappClassLoader.java URL: http://svn.apache.org/viewcvs/tomcat/container/tc5.5.x/catalina/src/share/org/apache/catalina/loader/WebappClassLoader.java?rev=378251r1=378250r2=378251view=diff == --- tomcat/container/tc5.5.x/catalina/src/share/org/apache/catalina/loader/WebappClassLoader.java (original) +++ tomcat/container/tc5.5.x/catalina/src/share/org/apache/catalina/loader/WebappClassLoader.java Thu Feb 16 06:19:13 2006 @@ -1543,10 +1543,10 @@ (lastJarAccessed + 9))) { for (int i = 0; i jarFiles.length; i++) { try { - if (jarFiles[i] != null) { - jarFiles[i].close(); - jarFiles[i] = null; - } +if (jarFiles[i] != null) { +jarFiles[i].close(); +jarFiles[i] = null; +} } catch (IOException e) { if (log.isDebugEnabled()) { log.debug(Failed to close JAR, e); @@ -1657,10 +1657,25 @@ // Doing something recursively is too risky continue; } else { -field.set(instance, null); -if (log.isDebugEnabled()) { -log.debug(Set field + field.getName() -+ to null in class + instance.getClass().getName()); +Object value = field.get(instance); +if (null != value) { +Class valueClass = value.getClass(); +if (!loadedByThisOrChild(valueClass)) { +if (log.isDebugEnabled()) { +log.debug(Not setting field + field.getName() + + to null in object of class + +instance.getClass().getName() + + because the referenced object was of type + +valueClass.getName() + + which was not loaded by this WebappClassLoader.); +} +} else { +field.set(instance, null); +if (log.isDebugEnabled()) { +log.debug(Set field + field.getName() ++ to null in class + instance.getClass().getName()); +} +} } } } catch (Throwable t) { @@ -1672,7 +1687,25 @@ } } } - + + +/** + * Determine whether a class was loaded by this class loader or one of + * its child class loaders. + */ +protected boolean loadedByThisOrChild(Class clazz) +{ +boolean result = false; +for (ClassLoader classLoader = clazz.getClassLoader(); +null != classLoader; classLoader = classLoader.getParent()) { +if (classLoader.equals(this)) { +result = true; +break; +} +} +return result; +} + /** * Used to periodically signal to the classloader to release JAR resources. @@ -1682,14 +1715,14 @@ lastJarAccessed = System.currentTimeMillis(); if (jarFiles[0] == null) { for (int i = 0; i jarFiles.length; i++) { - try { +try { jarFiles[i] = new JarFile(jarRealFiles[i]); - } catch (IOException e) { +} catch (IOException e) { if (log.isDebugEnabled()) { log.debug(Failed to open JAR, e); } return false; - } +} } } } @@ -1869,6 +1902,7 @@ entry.lastModified = attributes.getLastModified(); if (resource != null) { + try { binaryStream = resource.streamContent
svn commit: r378293 - in /tomcat/container/tc5.5.x/catalina/src/share/org/apache/catalina/util: LocalStrings.properties LocalStrings_es.properties LocalStrings_fr.properties LocalStrings_ja.properties
Author: remm Date: Thu Feb 16 08:36:47 2006 New Revision: 378293 URL: http://svn.apache.org/viewcvs?rev=378293view=rev Log: - 38653: Fix property name. Modified: tomcat/container/tc5.5.x/catalina/src/share/org/apache/catalina/util/LocalStrings.properties tomcat/container/tc5.5.x/catalina/src/share/org/apache/catalina/util/LocalStrings_es.properties tomcat/container/tc5.5.x/catalina/src/share/org/apache/catalina/util/LocalStrings_fr.properties tomcat/container/tc5.5.x/catalina/src/share/org/apache/catalina/util/LocalStrings_ja.properties Modified: tomcat/container/tc5.5.x/catalina/src/share/org/apache/catalina/util/LocalStrings.properties URL: http://svn.apache.org/viewcvs/tomcat/container/tc5.5.x/catalina/src/share/org/apache/catalina/util/LocalStrings.properties?rev=378293r1=378292r2=378293view=diff == --- tomcat/container/tc5.5.x/catalina/src/share/org/apache/catalina/util/LocalStrings.properties (original) +++ tomcat/container/tc5.5.x/catalina/src/share/org/apache/catalina/util/LocalStrings.properties Thu Feb 16 08:36:47 2006 @@ -1,4 +1,4 @@ -propertyMap.locked=No modifications are allowed to a locked ParameterMap +parameterMap.locked=No modifications are allowed to a locked ParameterMap resourceSet.locked=No modifications are allowed to a locked ResourceSet hexUtil.bad=Bad hexadecimal digit hexUtil.odd=Odd number of hexadecimal digits Modified: tomcat/container/tc5.5.x/catalina/src/share/org/apache/catalina/util/LocalStrings_es.properties URL: http://svn.apache.org/viewcvs/tomcat/container/tc5.5.x/catalina/src/share/org/apache/catalina/util/LocalStrings_es.properties?rev=378293r1=378292r2=378293view=diff == --- tomcat/container/tc5.5.x/catalina/src/share/org/apache/catalina/util/LocalStrings_es.properties (original) +++ tomcat/container/tc5.5.x/catalina/src/share/org/apache/catalina/util/LocalStrings_es.properties Thu Feb 16 08:36:47 2006 @@ -1,4 +1,4 @@ -propertyMap.locked=No se permiten modificaciones en un ParameterMap bloqueado +parameterMap.locked=No se permiten modificaciones en un ParameterMap bloqueado resourceSet.locked=No se permiten modificaciones en un ResourceSet bloqueado hexUtil.bad=DÃgito hexadecimal incorrecto hexUtil.odd=Número de dÃgitos hexadecimales impar Modified: tomcat/container/tc5.5.x/catalina/src/share/org/apache/catalina/util/LocalStrings_fr.properties URL: http://svn.apache.org/viewcvs/tomcat/container/tc5.5.x/catalina/src/share/org/apache/catalina/util/LocalStrings_fr.properties?rev=378293r1=378292r2=378293view=diff == --- tomcat/container/tc5.5.x/catalina/src/share/org/apache/catalina/util/LocalStrings_fr.properties (original) +++ tomcat/container/tc5.5.x/catalina/src/share/org/apache/catalina/util/LocalStrings_fr.properties Thu Feb 16 08:36:47 2006 @@ -1,4 +1,4 @@ -propertyMap.locked=Aucune modification n''est authorisée sur un ParameterMap vérrouillé +parameterMap.locked=Aucune modification n''est authorisée sur un ParameterMap vérrouillé resourceSet.locked=Aucune modification n''est authorisée sur un ResourceSet vérrouillé hexUtil.bad=Mauvais digit hexadecimal hexUtil.odd=Nombre impair de digits hexadecimaux Modified: tomcat/container/tc5.5.x/catalina/src/share/org/apache/catalina/util/LocalStrings_ja.properties URL: http://svn.apache.org/viewcvs/tomcat/container/tc5.5.x/catalina/src/share/org/apache/catalina/util/LocalStrings_ja.properties?rev=378293r1=378292r2=378293view=diff == --- tomcat/container/tc5.5.x/catalina/src/share/org/apache/catalina/util/LocalStrings_ja.properties (original) +++ tomcat/container/tc5.5.x/catalina/src/share/org/apache/catalina/util/LocalStrings_ja.properties Thu Feb 16 08:36:47 2006 @@ -1,4 +1,4 @@ -propertyMap.locked=\u30ed\u30c3\u30af\u3055\u308c\u305fParameterMap\u306f\u5909\u66f4\u304c\u8a31\u3055\u308c\u307e\u305b\u3093 +parameterMap.locked=\u30ed\u30c3\u30af\u3055\u308c\u305fParameterMap\u306f\u5909\u66f4\u304c\u8a31\u3055\u308c\u307e\u305b\u3093 resourceSet.locked=\u30ed\u30c3\u30af\u3055\u308c\u305fResourceSet\u306f\u5909\u66f4\u304c\u8a31\u3055\u308c\u307e\u305b\u3093 hexUtil.bad=\u7121\u52b9\u306a16\u9032\u6570\u5024\u3067\u3059 hexUtil.odd=\u5947\u6570\u6841\u306e16\u9032\u6570\u5024\u3067\u3059 - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
svn commit: r378498 - in /tomcat/connectors/trunk/util/java/org/apache/tomcat/util/net: AprEndpoint.java res/LocalStrings.properties
Author: remm Date: Fri Feb 17 04:47:40 2006 New Revision: 378498 URL: http://svn.apache.org/viewcvs?rev=378498view=rev Log: - Update error reports, including the error codes (just in case we get a MS style Unknown error). Modified: tomcat/connectors/trunk/util/java/org/apache/tomcat/util/net/AprEndpoint.java tomcat/connectors/trunk/util/java/org/apache/tomcat/util/net/res/LocalStrings.properties Modified: tomcat/connectors/trunk/util/java/org/apache/tomcat/util/net/AprEndpoint.java URL: http://svn.apache.org/viewcvs/tomcat/connectors/trunk/util/java/org/apache/tomcat/util/net/AprEndpoint.java?rev=378498r1=378497r2=378498view=diff == --- tomcat/connectors/trunk/util/java/org/apache/tomcat/util/net/AprEndpoint.java (original) +++ tomcat/connectors/trunk/util/java/org/apache/tomcat/util/net/AprEndpoint.java Fri Feb 17 04:47:40 2006 @@ -538,12 +538,12 @@ // Bind the server socket int ret = Socket.bind(serverSock, inetAddress); if (ret != 0) { -throw new Exception(sm.getString(endpoint.init.bind, Error.strerror(ret))); +throw new Exception(sm.getString(endpoint.init.bind, + ret, Error.strerror(ret))); } // Start listening on the server socket ret = Socket.listen(serverSock, backlog); if (ret != 0) { -throw new Exception(sm.getString(endpoint.init.listen, Error.strerror(ret))); +throw new Exception(sm.getString(endpoint.init.listen, + ret, Error.strerror(ret))); } if (OS.IS_WIN32 || OS.IS_WIN64) { // On Windows set the reuseaddr flag after the bind/listen @@ -1079,7 +1079,11 @@ } else if (rv 0) { /* Any non timeup error is critical */ if (-rv != Status.TIMEUP) { -log.error(sm.getString(endpoint.poll.fail, Error.strerror(-rv))); +int errn = -rv; +if (errn Status.APR_OS_START_USERERR) { + errn -= Status.APR_OS_START_USERERR; +} +log.error(sm.getString(endpoint.poll.fail, + (-rv), Error.strerror(-rv))); // Handle poll critical failure synchronized (this) { destroy(); @@ -1411,7 +1415,7 @@ sendfileData.put(new Long(data.socket), data); sendfileCount++; } else { - log.warn(sm.getString(endpoint.sendfile.addfail, Error.strerror(rv))); + log.warn(sm.getString(endpoint.sendfile.addfail, + rv, Error.strerror(rv))); // Can't do anything: close the socket right away Socket.destroy(data.socket); } @@ -1471,7 +1475,7 @@ if (-rv == Status.TIMEUP) rv = 0; else { -log.error(sm.getString(endpoint.poll.fail, Error.strerror(-rv))); +log.error(sm.getString(endpoint.poll.fail, + (-rv), Error.strerror(-rv))); // Handle poll critical failure synchronized (this) { destroy(); Modified: tomcat/connectors/trunk/util/java/org/apache/tomcat/util/net/res/LocalStrings.properties URL: http://svn.apache.org/viewcvs/tomcat/connectors/trunk/util/java/org/apache/tomcat/util/net/res/LocalStrings.properties?rev=378498r1=378497r2=378498view=diff == --- tomcat/connectors/trunk/util/java/org/apache/tomcat/util/net/res/LocalStrings.properties (original) +++ tomcat/connectors/trunk/util/java/org/apache/tomcat/util/net/res/LocalStrings.properties Fri Feb 17 04:47:40 2006 @@ -11,14 +11,14 @@ endpoint.debug.unlock=Caught exception trying to unlock accept on port {0} endpoint.err.close=Caught exception trying to close socket endpoint.noProcessor=No Processors - worker thread dead! -endpoint.init.bind=Socket bind failed: {0} -endpoint.init.listen=Socket listen failed: {0} +endpoint.init.bind=Socket bind failed: [{0}] {1} +endpoint.init.listen=Socket listen failed: [{0}] {1} endpoint.accept.fail=Socket accept failed endpoint.poll.limitedpollsize=Failed to create poller with specified size, uses 62 instead endpoint.poll.initfail=Poller creation failed -endpoint.poll.fail=Critical poller failure ({0}), restarting poller +endpoint.poll.fail=Critical poller failure (restarting poller): [{0}] {1} endpoint.poll.error=Unexpected poller error endpoint.sendfile.error=Unexpected sendfile error
svn commit: r378621 - in /tomcat/container/tc5.5.x/webapps: host-manager/WEB-INF/classes/org/apache/catalina/hostmanager/Constants.java manager/WEB-INF/classes/org/apache/catalina/manager/Constants.ja
Author: remm Date: Fri Feb 17 12:36:01 2006 New Revision: 378621 URL: http://svn.apache.org/viewcvs?rev=378621view=rev Log: - Fix logos. Modified: tomcat/container/tc5.5.x/webapps/host-manager/WEB-INF/classes/org/apache/catalina/hostmanager/Constants.java tomcat/container/tc5.5.x/webapps/manager/WEB-INF/classes/org/apache/catalina/manager/Constants.java Modified: tomcat/container/tc5.5.x/webapps/host-manager/WEB-INF/classes/org/apache/catalina/hostmanager/Constants.java URL: http://svn.apache.org/viewcvs/tomcat/container/tc5.5.x/webapps/host-manager/WEB-INF/classes/org/apache/catalina/hostmanager/Constants.java?rev=378621r1=378620r2=378621view=diff == --- tomcat/container/tc5.5.x/webapps/host-manager/WEB-INF/classes/org/apache/catalina/hostmanager/Constants.java (original) +++ tomcat/container/tc5.5.x/webapps/host-manager/WEB-INF/classes/org/apache/catalina/hostmanager/Constants.java Fri Feb 17 12:36:01 2006 @@ -106,11 +106,11 @@ table cellspacing=\4\ width=\100%\ border=\0\\n + tr\n + td colspan=\2\\n + - a href=\http://jakarta.apache.org/\;\n + -img border=\0\ alt=\The Jakarta Project\ align=\left\\n + - src=\{0}/images/jakarta-logo.gif\\n + + a href=\http://www.apache.org/\;\n + +img border=\0\ alt=\The Apache Software Foundation\ align=\left\\n + + src=\{0}/images/asf-logo.gif\\n + /a\n + - a href=\http://jakarta.apache.org/tomcat/\;\n + + a href=\http://tomcat.apache.org/\;\n + img border=\0\ alt=\The Tomcat Servlet/JSP Container\\n + align=\right\ src=\{0}/images/tomcat.gif\\n + /a\n + Modified: tomcat/container/tc5.5.x/webapps/manager/WEB-INF/classes/org/apache/catalina/manager/Constants.java URL: http://svn.apache.org/viewcvs/tomcat/container/tc5.5.x/webapps/manager/WEB-INF/classes/org/apache/catalina/manager/Constants.java?rev=378621r1=378620r2=378621view=diff == --- tomcat/container/tc5.5.x/webapps/manager/WEB-INF/classes/org/apache/catalina/manager/Constants.java (original) +++ tomcat/container/tc5.5.x/webapps/manager/WEB-INF/classes/org/apache/catalina/manager/Constants.java Fri Feb 17 12:36:01 2006 @@ -102,11 +102,11 @@ table cellspacing=\4\ width=\100%\ border=\0\\n + tr\n + td colspan=\2\\n + - a href=\http://jakarta.apache.org/\;\n + -img border=\0\ alt=\The Jakarta Project\ align=\left\\n + - src=\{0}/images/jakarta-logo.gif\\n + + a href=\http://www.apache.org/\;\n + +img border=\0\ alt=\The Apache Software Foundation\ align=\left\\n + + src=\{0}/images/asf-logo.gif\\n + /a\n + - a href=\http://jakarta.apache.org/tomcat/\;\n + + a href=\http://tomcat.apache.org/\;\n + img border=\0\ alt=\The Tomcat Servlet/JSP Container\\n + align=\right\ src=\{0}/images/tomcat.gif\\n + /a\n + - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
svn commit: r379183 - in /tomcat/container/tc5.5.x/catalina/src/share/org/apache/catalina: core/StandardContext.java startup/ContextConfig.java
Author: remm Date: Mon Feb 20 09:45:48 2006 New Revision: 379183 URL: http://svn.apache.org/viewcvs?rev=379183view=rev Log: - Slightly modify the timing of the manager start (unfortunately, setManager in ContextConfig.java causes and immediate start of the manager). Modified: tomcat/container/tc5.5.x/catalina/src/share/org/apache/catalina/core/StandardContext.java tomcat/container/tc5.5.x/catalina/src/share/org/apache/catalina/startup/ContextConfig.java Modified: tomcat/container/tc5.5.x/catalina/src/share/org/apache/catalina/core/StandardContext.java URL: http://svn.apache.org/viewcvs/tomcat/container/tc5.5.x/catalina/src/share/org/apache/catalina/core/StandardContext.java?rev=379183r1=379182r2=379183view=diff == --- tomcat/container/tc5.5.x/catalina/src/share/org/apache/catalina/core/StandardContext.java (original) +++ tomcat/container/tc5.5.x/catalina/src/share/org/apache/catalina/core/StandardContext.java Mon Feb 20 09:45:48 2006 @@ -81,6 +81,7 @@ import org.apache.catalina.deploy.SecurityCollection; import org.apache.catalina.deploy.SecurityConstraint; import org.apache.catalina.loader.WebappLoader; +import org.apache.catalina.session.StandardManager; import org.apache.catalina.startup.ContextConfig; import org.apache.catalina.startup.TldConfig; import org.apache.catalina.util.CharsetMapper; @@ -4116,6 +4117,20 @@ // Notify our interested LifecycleListeners lifecycle.fireLifecycleEvent(START_EVENT, null); +// Configure default manager if none was specified +if (manager == null) { +if ((cluster != null) distributable) { +try { +setManager(cluster.createManager(getName())); +} catch (Exception ex) { +log.error(standardContext.clusterFail, ex); +ok = false; +} +} else { +setManager(new StandardManager()); +} +} + // Start manager if ((manager != null) (manager instanceof Lifecycle)) { ((Lifecycle) getManager()).start(); Modified: tomcat/container/tc5.5.x/catalina/src/share/org/apache/catalina/startup/ContextConfig.java URL: http://svn.apache.org/viewcvs/tomcat/container/tc5.5.x/catalina/src/share/org/apache/catalina/startup/ContextConfig.java?rev=379183r1=379182r2=379183view=diff == --- tomcat/container/tc5.5.x/catalina/src/share/org/apache/catalina/startup/ContextConfig.java (original) +++ tomcat/container/tc5.5.x/catalina/src/share/org/apache/catalina/startup/ContextConfig.java Mon Feb 20 09:45:48 2006 @@ -388,28 +388,6 @@ /** - * Set up a manager. - */ -protected synchronized void managerConfig() { - -if (context.getManager() == null) { -if ((context.getCluster() != null) context.getDistributable()) { -try { -context.setManager(context.getCluster().createManager - (context.getName())); -} catch (Exception ex) { -log.error(contextConfig.clusteringInit, ex); -ok = false; -} -} else { -context.setManager(new StandardManager()); -} -} - -} - - -/** * Set up an Authenticator automatically if required, and one has not * already been configured. */ @@ -1062,10 +1040,6 @@ // Configure an authenticator if we need one if (ok) authenticatorConfig(); - -// Configure a manager -if (ok) -managerConfig(); // Dump the contents of this pipeline if requested if ((log.isDebugEnabled()) (context instanceof ContainerBase)) { - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
svn commit: r379417 [3/7] - in /tomcat/jasper/tc6.0.x/src/share/org/apache: el/lang/ el/parser/ el/util/ jasper/compiler/ jasper/el/ jasper/resources/ jasper/runtime/
Modified: tomcat/jasper/tc6.0.x/src/share/org/apache/jasper/compiler/PageInfo.java URL: http://svn.apache.org/viewcvs/tomcat/jasper/tc6.0.x/src/share/org/apache/jasper/compiler/PageInfo.java?rev=379417r1=379416r2=379417view=diff == --- tomcat/jasper/tc6.0.x/src/share/org/apache/jasper/compiler/PageInfo.java (original) +++ tomcat/jasper/tc6.0.x/src/share/org/apache/jasper/compiler/PageInfo.java Tue Feb 21 02:57:35 2006 @@ -22,8 +22,11 @@ import java.util.List; import java.util.Vector; +import org.apache.el.ExpressionFactoryImpl; import org.apache.jasper.Constants; import org.apache.jasper.JasperException; + +import javax.el.ExpressionFactory; import javax.servlet.jsp.tagext.TagLibraryInfo; /** @@ -63,8 +66,17 @@ private boolean scriptless = false; private boolean scriptingInvalid = false; + private String isELIgnoredValue; private boolean isELIgnored = false; + +// JSP 2.1 +private String deferredSyntaxAllowedAsLiteralValue; +private boolean deferredSyntaxAllowedAsLiteral = false; +private ExpressionFactory expressionFactory = new ExpressionFactoryImpl(); +private String trimDirectiveWhitespacesValue; +private boolean trimDirectiveWhitespaces = false; + private String omitXmlDecl = null; private String doctypeName = null; private String doctypePublic = null; @@ -605,6 +617,48 @@ isELIgnoredValue = value; } + +/* + * deferredSyntaxAllowedAsLiteral + */ +public void setDeferredSyntaxAllowedAsLiteral(String value, Node n, ErrorDispatcher err, + boolean pagedir) +throws JasperException { + +if (true.equalsIgnoreCase(value)) +deferredSyntaxAllowedAsLiteral = true; +else if (false.equalsIgnoreCase(value)) +deferredSyntaxAllowedAsLiteral = false; +else { +if (pagedir) +err.jspError(n, jsp.error.page.invalid.deferredsyntaxallowedasliteral); +else +err.jspError(n, jsp.error.tag.invalid.deferredsyntaxallowedasliteral); +} + +deferredSyntaxAllowedAsLiteralValue = value; +} + +/* + * trimDirectiveWhitespaces + */ +public void setTrimDirectiveWhitespaces(String value, Node n, ErrorDispatcher err, + boolean pagedir) +throws JasperException { + +if (true.equalsIgnoreCase(value)) +trimDirectiveWhitespaces = true; +else if (false.equalsIgnoreCase(value)) +trimDirectiveWhitespaces = false; +else { +if (pagedir) +err.jspError(n, jsp.error.page.invalid.trimdirectivewhitespaces); +else +err.jspError(n, jsp.error.tag.invalid.trimdirectivewhitespaces); +} + +deferredSyntaxAllowedAsLiteralValue = value; +} public void setELIgnored(boolean s) { isELIgnored = s; @@ -624,5 +678,33 @@ public Mark getNonCustomTagPrefix(String prefix) { return (Mark) nonCustomTagPrefixMap.get(prefix); +} + +public String getDeferredSyntaxAllowedAsLiteral() { +return deferredSyntaxAllowedAsLiteralValue; +} + +public boolean isDeferredSyntaxAllowedAsLiteral() { +return deferredSyntaxAllowedAsLiteral; +} + +public void setDeferredSyntaxAllowedAsLiteral(boolean isELDeferred) { +this.deferredSyntaxAllowedAsLiteral = isELDeferred; +} + +public ExpressionFactory getExpressionFactory() { +return expressionFactory; +} + +public String getTrimDirectiveWhitespaces() { +return trimDirectiveWhitespacesValue; +} + +public boolean isTrimDirectiveWhitespaces() { +return trimDirectiveWhitespaces; +} + +public void setTrimDirectiveWhitespaces(boolean trimDirectiveWhitespaces) { +this.trimDirectiveWhitespaces = trimDirectiveWhitespaces; } } - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
svn commit: r379417 [1/7] - in /tomcat/jasper/tc6.0.x/src/share/org/apache: el/lang/ el/parser/ el/util/ jasper/compiler/ jasper/el/ jasper/resources/ jasper/runtime/
Author: remm Date: Tue Feb 21 02:57:35 2006 New Revision: 379417 URL: http://svn.apache.org/viewcvs?rev=379417view=rev Log: - Wire the new EL inside Jasper. - Remove dependency on commons-el. - Temporary problem: this now requires a JSP 2.1 API binary to build. - Small fixes in the EL. - Submitted by Jacob Hookom. Added: tomcat/jasper/tc6.0.x/src/share/org/apache/jasper/el/ tomcat/jasper/tc6.0.x/src/share/org/apache/jasper/el/ELContextImpl.java tomcat/jasper/tc6.0.x/src/share/org/apache/jasper/el/ELResolverImpl.java tomcat/jasper/tc6.0.x/src/share/org/apache/jasper/el/ExpressionEvaluatorImpl.java tomcat/jasper/tc6.0.x/src/share/org/apache/jasper/el/ExpressionImpl.java tomcat/jasper/tc6.0.x/src/share/org/apache/jasper/el/FunctionMapperImpl.java tomcat/jasper/tc6.0.x/src/share/org/apache/jasper/el/VariableResolverImpl.java tomcat/jasper/tc6.0.x/src/share/org/apache/jasper/runtime/JspApplicationContextImpl.java Modified: tomcat/jasper/tc6.0.x/src/share/org/apache/el/lang/ExpressionBuilder.java tomcat/jasper/tc6.0.x/src/share/org/apache/el/parser/Node.java tomcat/jasper/tc6.0.x/src/share/org/apache/el/parser/NodeVisitor.java tomcat/jasper/tc6.0.x/src/share/org/apache/el/parser/SimpleNode.java tomcat/jasper/tc6.0.x/src/share/org/apache/el/util/MessageFactory.java tomcat/jasper/tc6.0.x/src/share/org/apache/jasper/compiler/ELParser.java tomcat/jasper/tc6.0.x/src/share/org/apache/jasper/compiler/JspDocumentParser.java tomcat/jasper/tc6.0.x/src/share/org/apache/jasper/compiler/JspUtil.java tomcat/jasper/tc6.0.x/src/share/org/apache/jasper/compiler/Node.java tomcat/jasper/tc6.0.x/src/share/org/apache/jasper/compiler/PageInfo.java tomcat/jasper/tc6.0.x/src/share/org/apache/jasper/compiler/Parser.java tomcat/jasper/tc6.0.x/src/share/org/apache/jasper/compiler/Validator.java tomcat/jasper/tc6.0.x/src/share/org/apache/jasper/resources/LocalStrings.properties tomcat/jasper/tc6.0.x/src/share/org/apache/jasper/runtime/JspContextWrapper.java tomcat/jasper/tc6.0.x/src/share/org/apache/jasper/runtime/JspFactoryImpl.java tomcat/jasper/tc6.0.x/src/share/org/apache/jasper/runtime/PageContextImpl.java tomcat/jasper/tc6.0.x/src/share/org/apache/jasper/runtime/ProtectedFunctionMapper.java Modified: tomcat/jasper/tc6.0.x/src/share/org/apache/el/lang/ExpressionBuilder.java URL: http://svn.apache.org/viewcvs/tomcat/jasper/tc6.0.x/src/share/org/apache/el/lang/ExpressionBuilder.java?rev=379417r1=379416r2=379417view=diff == --- tomcat/jasper/tc6.0.x/src/share/org/apache/el/lang/ExpressionBuilder.java (original) +++ tomcat/jasper/tc6.0.x/src/share/org/apache/el/lang/ExpressionBuilder.java Tue Feb 21 02:57:35 2006 @@ -133,7 +133,11 @@ } private void prepare(Node node) throws ELException { - node.accept(this); +try { +node.accept(this); +} catch (Exception e) { +throw (ELException) e; +} if (this.fnMapper instanceof FunctionMapperFactory) { this.fnMapper = ((FunctionMapperFactory) this.fnMapper).create(); } Modified: tomcat/jasper/tc6.0.x/src/share/org/apache/el/parser/Node.java URL: http://svn.apache.org/viewcvs/tomcat/jasper/tc6.0.x/src/share/org/apache/el/parser/Node.java?rev=379417r1=379416r2=379417view=diff == --- tomcat/jasper/tc6.0.x/src/share/org/apache/el/parser/Node.java (original) +++ tomcat/jasper/tc6.0.x/src/share/org/apache/el/parser/Node.java Tue Feb 21 02:57:35 2006 @@ -64,7 +64,7 @@ public void setValue(EvaluationContext ctx, Object value) throws ELException; public Class getType(EvaluationContext ctx) throws ELException; public boolean isReadOnly(EvaluationContext ctx) throws ELException; - public void accept(NodeVisitor visitor) throws ELException; + public void accept(NodeVisitor visitor) throws Exception; public MethodInfo getMethodInfo(EvaluationContext ctx, Class[] paramTypes) throws ELException; public Object invoke(EvaluationContext ctx, Class[] paramTypes, Object[] paramValues) throws ELException; } Modified: tomcat/jasper/tc6.0.x/src/share/org/apache/el/parser/NodeVisitor.java URL: http://svn.apache.org/viewcvs/tomcat/jasper/tc6.0.x/src/share/org/apache/el/parser/NodeVisitor.java?rev=379417r1=379416r2=379417view=diff == --- tomcat/jasper/tc6.0.x/src/share/org/apache/el/parser/NodeVisitor.java (original) +++ tomcat/jasper/tc6.0.x/src/share/org/apache/el/parser/NodeVisitor.java Tue Feb 21 02:57:35 2006 @@ -15,12 +15,10 @@ */ package org.apache.el.parser; -import javax.el.ELException; - /** * @author Jacob Hookom [EMAIL PROTECTED] * @version $Change: 181177 $$DateTime: 2001/06/26 08:45:09 $$Author: dpatil
svn commit: r379417 [6/7] - in /tomcat/jasper/tc6.0.x/src/share/org/apache: el/lang/ el/parser/ el/util/ jasper/compiler/ jasper/el/ jasper/resources/ jasper/runtime/
Added: tomcat/jasper/tc6.0.x/src/share/org/apache/jasper/el/ELContextImpl.java URL: http://svn.apache.org/viewcvs/tomcat/jasper/tc6.0.x/src/share/org/apache/jasper/el/ELContextImpl.java?rev=379417view=auto == --- tomcat/jasper/tc6.0.x/src/share/org/apache/jasper/el/ELContextImpl.java (added) +++ tomcat/jasper/tc6.0.x/src/share/org/apache/jasper/el/ELContextImpl.java Tue Feb 21 02:57:35 2006 @@ -0,0 +1,62 @@ +/* + * Copyright 1999,2004 The Apache Software Foundation. + * + * Licensed 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.jasper.el; + +import javax.el.ELContext; +import javax.el.ELResolver; +import javax.el.FunctionMapper; +import javax.el.VariableMapper; + +/** + * Implementation of ELContext + * + * @author Jacob Hookom + */ +public class ELContextImpl extends ELContext { + + private final ELResolver resolver; + private FunctionMapper functionMapper; + private VariableMapper variableMapper; + +public ELContextImpl() { +this(ELResolverImpl.DefaultResolver); +} + + public ELContextImpl(ELResolver resolver) { + this.resolver = resolver; + } + + public ELResolver getELResolver() { + return this.resolver; + } + + public FunctionMapper getFunctionMapper() { + return this.functionMapper; + } + + public VariableMapper getVariableMapper() { + return this.variableMapper; + } + + public void setFunctionMapper(FunctionMapper functionMapper) { + this.functionMapper = functionMapper; + } + + public void setVariableMapper(VariableMapper variableMapper) { + this.variableMapper = variableMapper; + } + +} Added: tomcat/jasper/tc6.0.x/src/share/org/apache/jasper/el/ELResolverImpl.java URL: http://svn.apache.org/viewcvs/tomcat/jasper/tc6.0.x/src/share/org/apache/jasper/el/ELResolverImpl.java?rev=379417view=auto == --- tomcat/jasper/tc6.0.x/src/share/org/apache/jasper/el/ELResolverImpl.java (added) +++ tomcat/jasper/tc6.0.x/src/share/org/apache/jasper/el/ELResolverImpl.java Tue Feb 21 02:57:35 2006 @@ -0,0 +1,129 @@ +package org.apache.jasper.el; + +import java.util.Iterator; + +import javax.el.ArrayELResolver; +import javax.el.BeanELResolver; +import javax.el.CompositeELResolver; +import javax.el.ELContext; +import javax.el.ELException; +import javax.el.ELResolver; +import javax.el.ListELResolver; +import javax.el.MapELResolver; +import javax.el.PropertyNotFoundException; +import javax.el.PropertyNotWritableException; +import javax.el.ResourceBundleELResolver; +import javax.servlet.jsp.el.VariableResolver; + +public class ELResolverImpl extends ELResolver { + + public final static ELResolver DefaultResolver = new CompositeELResolver(); + + static { + ((CompositeELResolver) DefaultResolver).add(new MapELResolver()); + ((CompositeELResolver) DefaultResolver).add(new ResourceBundleELResolver()); + ((CompositeELResolver) DefaultResolver).add(new ListELResolver()); + ((CompositeELResolver) DefaultResolver).add(new ArrayELResolver()); + ((CompositeELResolver) DefaultResolver).add(new BeanELResolver()); + } + + private final VariableResolver variableResolver; + + public ELResolverImpl(VariableResolver variableResolver) { + this.variableResolver = variableResolver; + } + + public Object getValue(ELContext context, Object base, Object property) + throws NullPointerException, PropertyNotFoundException, ELException { + if (context == null) { + throw new NullPointerException(); + } + + if (base == null) { + context.setPropertyResolved(true); + if (property != null) { + try { + return this.variableResolver.resolveVariable(property + .toString()); + } catch (javax.servlet.jsp.el.ELException e) { + throw new ELException(e.getMessage(), e.getCause()); + } +
svn commit: r379427 - /tomcat/connectors/trunk/http11/src/java/org/apache/coyote/http11/Http11Protocol.java
Author: remm Date: Tue Feb 21 03:28:12 2006 New Revision: 379427 URL: http://svn.apache.org/viewcvs?rev=379427view=rev Log: - Fix imports. - 38726: Remove duplicate request group field. Modified: tomcat/connectors/trunk/http11/src/java/org/apache/coyote/http11/Http11Protocol.java Modified: tomcat/connectors/trunk/http11/src/java/org/apache/coyote/http11/Http11Protocol.java URL: http://svn.apache.org/viewcvs/tomcat/connectors/trunk/http11/src/java/org/apache/coyote/http11/Http11Protocol.java?rev=379427r1=379426r2=379427view=diff == --- tomcat/connectors/trunk/http11/src/java/org/apache/coyote/http11/Http11Protocol.java (original) +++ tomcat/connectors/trunk/http11/src/java/org/apache/coyote/http11/Http11Protocol.java Tue Feb 21 03:28:12 2006 @@ -16,34 +16,12 @@ package org.apache.coyote.http11; -import java.io.IOException; -import java.io.InputStream; -import java.io.OutputStream; -import java.net.InetAddress; -import java.net.Socket; -import java.net.URLEncoder; -import java.util.Enumeration; -import java.util.Hashtable; -import java.util.Iterator; - import javax.management.MBeanRegistration; import javax.management.MBeanServer; import javax.management.ObjectName; import org.apache.commons.modeler.Registry; -import org.apache.coyote.ActionCode; -import org.apache.coyote.ActionHook; -import org.apache.coyote.Adapter; -import org.apache.coyote.ProtocolHandler; -import org.apache.coyote.RequestGroupInfo; import org.apache.coyote.RequestInfo; -import org.apache.tomcat.util.net.PoolTcpEndpoint; -import org.apache.tomcat.util.net.SSLImplementation; -import org.apache.tomcat.util.net.SSLSupport; -import org.apache.tomcat.util.net.ServerSocketFactory; -import org.apache.tomcat.util.net.TcpConnection; -import org.apache.tomcat.util.net.TcpConnectionHandler; -import org.apache.tomcat.util.res.StringManager; import org.apache.tomcat.util.threads.ThreadPool; import org.apache.tomcat.util.threads.ThreadWithAttributes; @@ -139,7 +117,6 @@ static class JmxHttp11ConnectionHandler extends Http11ConnectionHandler { Http11Protocol proto; static int count=0; -RequestGroupInfo global=new RequestGroupInfo(); JmxHttp11ConnectionHandler( Http11Protocol proto ) { super(proto); - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
svn commit: r379463 - /tomcat/container/tc5.5.x/webapps/docs/changelog.xml
Author: remm Date: Tue Feb 21 06:41:00 2006 New Revision: 379463 URL: http://svn.apache.org/viewcvs?rev=379463view=rev Log: - Changelog update. Modified: tomcat/container/tc5.5.x/webapps/docs/changelog.xml Modified: tomcat/container/tc5.5.x/webapps/docs/changelog.xml URL: http://svn.apache.org/viewcvs/tomcat/container/tc5.5.x/webapps/docs/changelog.xml?rev=379463r1=379462r2=379463view=diff == --- tomcat/container/tc5.5.x/webapps/docs/changelog.xml (original) +++ tomcat/container/tc5.5.x/webapps/docs/changelog.xml Tue Feb 21 06:41:00 2006 @@ -44,15 +44,41 @@ is doen by the regular deployer. (remm) /fix add - Add JMX serverInfo attribute to Server MBean, that we can identify - the tomcat release remotely. (pero) +Add JMX serverInfo attribute to Server MBean, that we can identify +the tomcat release remotely. (pero) /add fix - Fix the JMX MBeanFactory.createStandardHost signature at mbean-descriptors.xml (pero) +Fix the JMX MBeanFactory.createStandardHost signature at mbean-descriptors.xml (pero) /fix fix - Fix some cases (for example with realm usage) where the container logger for a context - would be retrieved using the wrong classloader (remm) +Fix some cases (for example with realm usage) where the container logger for a context +would be retrieved using the wrong classloader (remm) + /fix + fix +HttpSession.getId will no longer throw an ISE when the session is invalid (remm) + /fix + fix + ore detailed errors for naming issues (remm) + /fix + docs +Add documentation for the Transaction element (remm) + /docs + update +Add getContextPath to the internal servlet context implementation (remm) + /update + fix +Only null instances loaded by the webapp CL, submitted by Matt Jensen (remm) + /fix + update +Deploy folders which don't have a WEB-INF, and return an error when a context +file does not contain a Context element (remm) + /update + fix +bug38653/bug: Fix property name (remm) + /fix + fix +Slightly modify the timing of the manager start, so that it is not started by a +listener (remm) /fix /changelog /subsection @@ -72,6 +98,23 @@ update Pass along more of the SSL related fields to OpenSSL (remm) /update + update +CharChunk now implements CharSequence (remm) + /update + fix +Fix coding error which could cause a rare crash when a poller error occurred and sockets +where pending being added to the keepalive poller (remm) + /fix + fix +Fix potential sync issues when restarting a poller (remm) + /fix + fix +Update APR error reports, including the error codes (remm) + /fix + fix +bug38726/bug: Remove duplicate request group field causing blank statistics for the +HTTP connector (remm) + /fix /changelog /subsection subsection name=Jasper @@ -106,6 +149,9 @@ changelog fix Fix some XSS issues in the JSP examples. (markt) + /fix + fix +Fix logos in the manager webapp (remm) /fix /changelog /subsection - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
svn commit: r379499 [5/5] - in /tomcat/jasper/tc6.0.x/src: etc/ etc/dtd/ share/javax/servlet/ share/javax/servlet/jsp/ share/javax/servlet/jsp/el/ share/javax/servlet/jsp/tagext/ share/javax/servlet/j
Added: tomcat/jasper/tc6.0.x/src/share/javax/servlet/jsp/tagext/TagLibraryInfo.java URL: http://svn.apache.org/viewcvs/tomcat/jasper/tc6.0.x/src/share/javax/servlet/jsp/tagext/TagLibraryInfo.java?rev=379499view=auto == --- tomcat/jasper/tc6.0.x/src/share/javax/servlet/jsp/tagext/TagLibraryInfo.java (added) +++ tomcat/jasper/tc6.0.x/src/share/javax/servlet/jsp/tagext/TagLibraryInfo.java Tue Feb 21 07:46:36 2006 @@ -0,0 +1,286 @@ +/* +* Copyright 2004 The Apache Software Foundation +* +* Licensed 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 javax.servlet.jsp.tagext; + +import javax.servlet.jsp.tagext.TagInfo; +import javax.servlet.jsp.tagext.TagFileInfo; + +/** + * Translation-time information associated with a taglib directive, and its + * underlying TLD file. + * + * Most of the information is directly from the TLD, except for + * the prefix and the uri values used in the taglib directive + * + * + */ + +abstract public class TagLibraryInfo { + +/** + * Constructor. + * + * This will invoke the constructors for TagInfo, and TagAttributeInfo + * after parsing the TLD file. + * + * @param prefix the prefix actually used by the taglib directive + * @param uri the URI actually used by the taglib directive + */ +protected TagLibraryInfo(String prefix, String uri) { + this.prefix = prefix; + this.uri= uri; +} + +// methods accessing taglib information === + +/** + * The value of the uri attribute from the taglib directive for + * this library. + * + * @return the value of the uri attribute + */ + +public String getURI() { +return uri; +} + +/** + * The prefix assigned to this taglib from the taglib directive + * + * @return the prefix assigned to this taglib from the taglib directive + */ + +public String getPrefixString() { + return prefix; +} + +// methods using the TLD data === + +/** + * The preferred short name (prefix) as indicated in the TLD. + * This may be used by authoring tools as the preferred prefix + * to use when creating an taglib directive for this library. + * + * @return the preferred short name for the library + */ +public String getShortName() { +return shortname; +} + +/** + * The reliable URN indicated in the TLD (the uri element). + * This may be used by authoring tools as a global identifier + * to use when creating a taglib directive for this library. + * + * @return a reliable URN to a TLD like this + */ +public String getReliableURN() { +return urn; +} + + +/** + * Information (documentation) for this TLD. + * + * @return the info string for this tag lib + */ + +public String getInfoString() { +return info; +} + + +/** + * A string describing the required version of the JSP container. + * + * @return the (minimal) required version of the JSP container. + * @see javax.servlet.jsp.JspEngineInfo + */ + +public String getRequiredVersion() { +return jspversion; +} + + +/** + * An array describing the tags that are defined in this tag library. + * + * @return the TagInfo objects corresponding to the tags defined by this + * tag library, or a zero length array if this tag library + * defines no tags + */ +public TagInfo[] getTags() { +return tags; +} + +/** + * An array describing the tag files that are defined in this tag library. + * + * @return the TagFileInfo objects corresponding to the tag files defined + * by this tag library, or a zero length array if this + * tag library defines no tags files + * @since 2.0 + */ +public TagFileInfo[] getTagFiles() { +return tagFiles; +} + + +/** + * Get the TagInfo for a given tag name, looking through all the + * tags in this tag library. + * + * @param shortname The short name (no prefix) of the tag + * @return the TagInfo for the tag with the specified short name, or + * null if no such tag is found + */ + +public TagInfo getTag(String shortname) { +TagInfo tags[] = getTags(); + +if (tags == null || tags.length == 0) { +return null; +}
svn commit: r379613 - /tomcat/container/tc5.5.x/catalina/src/share/org/apache/catalina/core/StandardContext.java
Author: remm Date: Tue Feb 21 15:02:25 2006 New Revision: 379613 URL: http://svn.apache.org/viewcvs?rev=379613view=rev Log: - Woops, use getCluster. Modified: tomcat/container/tc5.5.x/catalina/src/share/org/apache/catalina/core/StandardContext.java Modified: tomcat/container/tc5.5.x/catalina/src/share/org/apache/catalina/core/StandardContext.java URL: http://svn.apache.org/viewcvs/tomcat/container/tc5.5.x/catalina/src/share/org/apache/catalina/core/StandardContext.java?rev=379613r1=379612r2=379613view=diff == --- tomcat/container/tc5.5.x/catalina/src/share/org/apache/catalina/core/StandardContext.java (original) +++ tomcat/container/tc5.5.x/catalina/src/share/org/apache/catalina/core/StandardContext.java Tue Feb 21 15:02:25 2006 @@ -4119,9 +4119,9 @@ // Configure default manager if none was specified if (manager == null) { -if ((cluster != null) distributable) { +if ((getCluster() != null) distributable) { try { -setManager(cluster.createManager(getName())); +setManager(getCluster().createManager(getName())); } catch (Exception ex) { log.error(standardContext.clusterFail, ex); ok = false; - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
svn commit: r380645 - /tomcat/connectors/trunk/util/java/org/apache/tomcat/util/digester/Digester.java
Author: remm Date: Fri Feb 24 03:37:46 2006 New Revision: 380645 URL: http://svn.apache.org/viewcvs?rev=380645view=rev Log: - Refresh loggers being used, to make sure the current webapp logger is used. Modified: tomcat/connectors/trunk/util/java/org/apache/tomcat/util/digester/Digester.java Modified: tomcat/connectors/trunk/util/java/org/apache/tomcat/util/digester/Digester.java URL: http://svn.apache.org/viewcvs/tomcat/connectors/trunk/util/java/org/apache/tomcat/util/digester/Digester.java?rev=380645r1=380644r2=380645view=diff == --- tomcat/connectors/trunk/util/java/org/apache/tomcat/util/digester/Digester.java (original) +++ tomcat/connectors/trunk/util/java/org/apache/tomcat/util/digester/Digester.java Fri Feb 24 03:37:46 2006 @@ -2338,7 +2338,10 @@ params.clear(); publicId = null; stack.clear(); - +log = null; +saxLog = null; +configured = false; + } @@ -2550,6 +2553,9 @@ if (configured) { return; } + +log = LogFactory.getLog(org.apache.commons.digester.Digester); +saxLog = LogFactory.getLog(org.apache.commons.digester.Digester.sax); // Perform lazy configuration as needed initialize(); // call hook method for subclasses that want to be initialized once only - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
svn commit: r380673 - /tomcat/build/tc5.5.x/build.properties.default
Author: remm Date: Fri Feb 24 06:11:27 2006 New Revision: 380673 URL: http://svn.apache.org/viewcvs?rev=380673view=rev Log: - Update to JDT 3.1.2. Modified: tomcat/build/tc5.5.x/build.properties.default Modified: tomcat/build/tc5.5.x/build.properties.default URL: http://svn.apache.org/viewcvs/tomcat/build/tc5.5.x/build.properties.default?rev=380673r1=380672r2=380673view=diff == --- tomcat/build/tc5.5.x/build.properties.default (original) +++ tomcat/build/tc5.5.x/build.properties.default Fri Feb 24 06:11:27 2006 @@ -134,11 +134,11 @@ xerces.loc=${base-xml.loc}/xerces-j/binaries/Xerces-J-bin.2.7.1.tar.gz -# - Eclipse JDT, version 3.1.1 or later - +# - Eclipse JDT, version 3.1.2 or later - jdt.home=${base.path}/eclipse/plugins jdt.lib=${jdt.home} -jdt.jar=${jdt.lib}/org.eclipse.jdt.core_3.1.1.jar -jdt.loc=http://sunsite.informatik.rwth-aachen.de/eclipse/downloads/drops/R-3.1.1-200509290840/eclipse-JDT-3.1.1.zip +jdt.jar=${jdt.lib}/org.eclipse.jdt.core_3.1.2.jar +jdt.loc=http://sunsite.informatik.rwth-aachen.de/eclipse/downloads/drops/R-3.1.2-200601181600/eclipse-JDT-3.1.2.zip # - Tomcat native library - - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
svn commit: r381341 - /tomcat/jasper/tc5.5.x/src/share/org/apache/jasper/compiler/JDTCompiler.java
Author: remm Date: Mon Feb 27 06:10:39 2006 New Revision: 381341 URL: http://svn.apache.org/viewcvs?rev=381341view=rev Log: - 38776: Fix source file attribute. - Submitted by Olivier Thomann. Modified: tomcat/jasper/tc5.5.x/src/share/org/apache/jasper/compiler/JDTCompiler.java Modified: tomcat/jasper/tc5.5.x/src/share/org/apache/jasper/compiler/JDTCompiler.java URL: http://svn.apache.org/viewcvs/tomcat/jasper/tc5.5.x/src/share/org/apache/jasper/compiler/JDTCompiler.java?rev=381341r1=381340r2=381341view=diff == --- tomcat/jasper/tc5.5.x/src/share/org/apache/jasper/compiler/JDTCompiler.java (original) +++ tomcat/jasper/tc5.5.x/src/share/org/apache/jasper/compiler/JDTCompiler.java Mon Feb 27 06:10:39 2006 @@ -93,7 +93,7 @@ } public char[] getFileName() { -return className.toCharArray(); +return sourceFile.toCharArray(); } public char[] getContents() { - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
svn commit: r381691 - /tomcat/container/tc5.5.x/webapps/docs/changelog.xml
Author: remm Date: Tue Feb 28 08:25:07 2006 New Revision: 381691 URL: http://svn.apache.org/viewcvs?rev=381691view=rev Log: -Changelog update. Modified: tomcat/container/tc5.5.x/webapps/docs/changelog.xml Modified: tomcat/container/tc5.5.x/webapps/docs/changelog.xml URL: http://svn.apache.org/viewcvs/tomcat/container/tc5.5.x/webapps/docs/changelog.xml?rev=381691r1=381690r2=381691view=diff == --- tomcat/container/tc5.5.x/webapps/docs/changelog.xml (original) +++ tomcat/container/tc5.5.x/webapps/docs/changelog.xml Tue Feb 28 08:25:07 2006 @@ -23,6 +23,9 @@ update Required tcnative library version upgraded to 1.1.2 (remm) /update + update +Update to Eclipse JDT 3.1.2 (remm) + /update /changelog /subsection subsection name=Catalina @@ -80,6 +83,9 @@ Slightly modify the timing of the manager start, so that it is not started by a listener (remm) /fix + fix +Refresh loggers used by the digester (remm) + /fix /changelog /subsection subsection name=Coyote @@ -115,6 +121,10 @@ bug38726/bug: Remove duplicate request group field causing blank statistics for the HTTP connector (remm) /fix + fix +Fix invalid length used by some AJP packets for the AJP APR connector, which could cause +corruption, submitted by Rudiger Plum (jim) + /fix /changelog /subsection subsection name=Jasper @@ -126,6 +136,9 @@ update Add some useful hints to jasper-howto. (pero). /update + fix +bug38776/bug: Fix source file attribute, submitted by Olivier Thomann (remm) + /fix /changelog /subsection subsection name=Cluster - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
svn commit: r386120 - /tomcat/connectors/trunk/util/java/org/apache/tomcat/util/net/AprEndpoint.java
Author: remm Date: Wed Mar 15 09:29:02 2006 New Revision: 386120 URL: http://svn.apache.org/viewcvs?rev=386120view=rev Log: - As suggested by Peter, move getWorkerThread inside the try (an OOM could occur). This isn't going to help the server much, though. Modified: tomcat/connectors/trunk/util/java/org/apache/tomcat/util/net/AprEndpoint.java Modified: tomcat/connectors/trunk/util/java/org/apache/tomcat/util/net/AprEndpoint.java URL: http://svn.apache.org/viewcvs/tomcat/connectors/trunk/util/java/org/apache/tomcat/util/net/AprEndpoint.java?rev=386120r1=386119r2=386120view=diff == --- tomcat/connectors/trunk/util/java/org/apache/tomcat/util/net/AprEndpoint.java (original) +++ tomcat/connectors/trunk/util/java/org/apache/tomcat/util/net/AprEndpoint.java Wed Mar 15 09:29:02 2006 @@ -900,11 +900,10 @@ } } -// Allocate a new worker thread -Worker workerThread = getWorkerThread(); - -// Accept the next incoming connection from the server socket try { +// Allocate a new worker thread +Worker workerThread = getWorkerThread(); +// Accept the next incoming connection from the server socket long socket = Socket.accept(serverSock); // Hand this socket off to an appropriate processor if (setSocketOptions(socket)) { - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
svn commit: r386331 - /tomcat/container/tc5.5.x/catalina/src/share/org/apache/catalina/core/StandardContext.java
Author: remm Date: Thu Mar 16 06:03:12 2006 New Revision: 386331 URL: http://svn.apache.org/viewcvs?rev=386331view=rev Log: - 38795: Associate more closely bind with a finally unbind. - Based on a patch submitted by Darryl Miles. Modified: tomcat/container/tc5.5.x/catalina/src/share/org/apache/catalina/core/StandardContext.java Modified: tomcat/container/tc5.5.x/catalina/src/share/org/apache/catalina/core/StandardContext.java URL: http://svn.apache.org/viewcvs/tomcat/container/tc5.5.x/catalina/src/share/org/apache/catalina/core/StandardContext.java?rev=386331r1=386330r2=386331view=diff == --- tomcat/container/tc5.5.x/catalina/src/share/org/apache/catalina/core/StandardContext.java (original) +++ tomcat/container/tc5.5.x/catalina/src/share/org/apache/catalina/core/StandardContext.java Thu Mar 16 06:03:12 2006 @@ -4059,18 +4059,19 @@ } } -// Binding thread -ClassLoader oldCCL = bindThread(); - // Standard container startup if (log.isDebugEnabled()) log.debug(Processing standard container startup); -if (ok) { +// Binding thread +ClassLoader oldCCL = bindThread(); -boolean mainOk = false; -try { +boolean mainOk = false; +try { + +if (ok) { + started = true; // Start our subordinate components, if any @@ -4141,17 +4142,18 @@ mainOk = true; -} finally { -// Unbinding thread -unbindThread(oldCCL); -if (!mainOk) { -// An exception occurred -// Register with JMX anyway, to allow management -registerJMX(); -} } +} finally { +// Unbinding thread +unbindThread(oldCCL); +if (!mainOk) { +// An exception occurred +// Register with JMX anyway, to allow management +registerJMX(); +} } + if (!getConfigured()) { log.error( Error getConfigured); ok = false; @@ -4168,38 +4170,42 @@ // Binding thread oldCCL = bindThread(); -// Create context attributes that will be required -if (ok) { -postWelcomeFiles(); -} - -if (ok) { -// Notify our interested LifecycleListeners -lifecycle.fireLifecycleEvent(AFTER_START_EVENT, null); -} - -// Configure and call application event listeners and filters -if (ok) { -if (!listenerStart()) { -log.error( Error listenerStart); -ok = false; +try { + +// Create context attributes that will be required +if (ok) { +postWelcomeFiles(); } -} -if (ok) { -if (!filterStart()) { -log.error( Error filterStart); -ok = false; + +if (ok) { +// Notify our interested LifecycleListeners +lifecycle.fireLifecycleEvent(AFTER_START_EVENT, null); } + +// Configure and call application event listeners and filters +if (ok) { +if (!listenerStart()) { +log.error( Error listenerStart); +ok = false; +} +} +if (ok) { +if (!filterStart()) { +log.error( Error filterStart); +ok = false; +} +} + +// Load and initialize all load on startup servlets +if (ok) { +loadOnStartup(findChildren()); +} + +} finally { +// Unbinding thread +unbindThread(oldCCL); } -// Load and initialize all load on startup servlets -if (ok) { -loadOnStartup(findChildren()); -} - -// Unbinding thread -unbindThread(oldCCL); - // Set available status depending upon startup success if (ok) { if (log.isDebugEnabled()) @@ -4324,30 +4330,30 @@ // Binding thread ClassLoader oldCCL = bindThread(); -// Stop our filters -filterStop(); +try { -// Stop our application listeners -listenerStop(); +// Stop our filters +filterStop(); -// Stop ContainerBackgroundProcessor thread -super.threadStop(); +// Stop our application listeners +listenerStop(); -if ((manager != null) (manager instanceof Lifecycle)) { -((Lifecycle) manager).stop
svn commit: r386336 - in /tomcat/container/tc5.5.x/catalina/src/share/org/apache/catalina/startup: HostConfig.java LocalStrings.properties
Author: remm Date: Thu Mar 16 06:13:00 2006 New Revision: 386336 URL: http://svn.apache.org/viewcvs?rev=386336view=rev Log: - Wrap remove inside a try/catch, to prevent recurrent undeploy failures. Modified: tomcat/container/tc5.5.x/catalina/src/share/org/apache/catalina/startup/HostConfig.java tomcat/container/tc5.5.x/catalina/src/share/org/apache/catalina/startup/LocalStrings.properties Modified: tomcat/container/tc5.5.x/catalina/src/share/org/apache/catalina/startup/HostConfig.java URL: http://svn.apache.org/viewcvs/tomcat/container/tc5.5.x/catalina/src/share/org/apache/catalina/startup/HostConfig.java?rev=386336r1=386335r2=386336view=diff == --- tomcat/container/tc5.5.x/catalina/src/share/org/apache/catalina/startup/HostConfig.java (original) +++ tomcat/container/tc5.5.x/catalina/src/share/org/apache/catalina/startup/HostConfig.java Thu Mar 16 06:13:00 2006 @@ -975,12 +975,17 @@ if (log.isInfoEnabled()) log.info(sm.getString(hostConfig.undeploy, app.name)); ContainerBase context = (ContainerBase) host.findChild(app.name); -host.removeChild(context); +try { +host.removeChild(context); +} catch (Throwable t) { +log.warn(sm.getString + (hostConfig.context.remove, app.name), t); +} try { context.destroy(); -} catch (Exception e) { +} catch (Throwable t) { log.warn(sm.getString - (hostConfig.context.destroy, app.name), e); + (hostConfig.context.destroy, app.name), t); } // Delete other redeploy resources for (int j = i + 1; j resources.length; j++) { @@ -1010,12 +1015,17 @@ if (log.isInfoEnabled()) log.info(sm.getString(hostConfig.undeploy, app.name)); ContainerBase context = (ContainerBase) host.findChild(app.name); -host.removeChild(context); +try { +host.removeChild(context); +} catch (Throwable t) { +log.warn(sm.getString + (hostConfig.context.remove, app.name), t); +} try { context.destroy(); -} catch (Exception e) { +} catch (Throwable t) { log.warn(sm.getString - (hostConfig.context.destroy, app.name), e); + (hostConfig.context.destroy, app.name), t); } // Delete all redeploy resources for (int j = i + 1; j resources.length; j++) { @@ -1150,7 +1160,12 @@ DeployedApplication[] apps = (DeployedApplication[]) deployed.values().toArray(new DeployedApplication[0]); for (int i = 0; i apps.length; i++) { -host.removeChild(host.findChild(apps[i].name)); +try { +host.removeChild(host.findChild(apps[i].name)); +} catch (Throwable t) { +log.warn(sm.getString +(hostConfig.context.remove, apps[i].name), t); +} } deployed.clear(); Modified: tomcat/container/tc5.5.x/catalina/src/share/org/apache/catalina/startup/LocalStrings.properties URL: http://svn.apache.org/viewcvs/tomcat/container/tc5.5.x/catalina/src/share/org/apache/catalina/startup/LocalStrings.properties?rev=386336r1=386335r2=386336view=diff == --- tomcat/container/tc5.5.x/catalina/src/share/org/apache/catalina/startup/LocalStrings.properties (original) +++ tomcat/container/tc5.5.x/catalina/src/share/org/apache/catalina/startup/LocalStrings.properties Thu Mar 16 06:13:00 2006 @@ -43,6 +43,7 @@ hostConfig.canonicalizing=Error delete redeploy resources from context [{0}] hostConfig.cce=Lifecycle event data object {0} is not a Host hostConfig.context.destroy=Error during context [{0}] destroy +hostConfig.context.remove=Error while removing context [{0}] hostConfig.context.restart=Error during context [{0}] restart hostConfig.deploy=Deploying web application directory {0} hostConfig.deployDescriptor=Deploying configuration descriptor {0} - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
svn commit: r386390 - /tomcat/build/tc5.5.x/build.properties.default
Author: remm Date: Thu Mar 16 09:22:38 2006 New Revision: 386390 URL: http://svn.apache.org/viewcvs?rev=386390view=rev Log: - Update to Xerces 2.8. Modified: tomcat/build/tc5.5.x/build.properties.default Modified: tomcat/build/tc5.5.x/build.properties.default URL: http://svn.apache.org/viewcvs/tomcat/build/tc5.5.x/build.properties.default?rev=386390r1=386389r2=386390view=diff == --- tomcat/build/tc5.5.x/build.properties.default (original) +++ tomcat/build/tc5.5.x/build.properties.default Thu Mar 16 09:22:38 2006 @@ -126,12 +126,12 @@ commons-modeler.jar=${commons-modeler.lib}/commons-modeler.jar commons-modeler.loc=${base-jakarta.loc}/commons/modeler/binaries/modeler-1.1.tar.gz -# - Xerces XML Parser, version 2.7.1 - -xerces.home=${base.path}/xerces-2_7_1 +# - Xerces XML Parser, version 2.8.0 - +xerces.home=${base.path}/xerces-2_8_0 xerces.lib=${xerces.home} xercesImpl.jar=${xerces.lib}/xercesImpl.jar xml-apis.jar=${xerces.lib}/xml-apis.jar -xerces.loc=${base-xml.loc}/xerces-j/binaries/Xerces-J-bin.2.7.1.tar.gz +xerces.loc=${base-xml.loc}/xerces-j/binaries/Xerces-J-bin.2.8.0.tar.gz # - Eclipse JDT, version 3.1.2 or later - - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
svn commit: r386404 - /tomcat/container/tc5.5.x/catalina/src/share/org/apache/catalina/valves/SemaphoreValve.java
Author: remm Date: Thu Mar 16 09:50:37 2006 New Revision: 386404 URL: http://svn.apache.org/viewcvs?rev=386404view=rev Log: - Expand a bit the semaphore valve. Modified: tomcat/container/tc5.5.x/catalina/src/share/org/apache/catalina/valves/SemaphoreValve.java Modified: tomcat/container/tc5.5.x/catalina/src/share/org/apache/catalina/valves/SemaphoreValve.java URL: http://svn.apache.org/viewcvs/tomcat/container/tc5.5.x/catalina/src/share/org/apache/catalina/valves/SemaphoreValve.java?rev=386404r1=386403r2=386404view=diff == --- tomcat/container/tc5.5.x/catalina/src/share/org/apache/catalina/valves/SemaphoreValve.java (original) +++ tomcat/container/tc5.5.x/catalina/src/share/org/apache/catalina/valves/SemaphoreValve.java Thu Mar 16 09:50:37 2006 @@ -101,6 +101,22 @@ public void setFairness(boolean fairness) { this.fairness = fairness; } +/** + * Block until a permit is available. + */ +protected boolean block = true; +public boolean getBlock() { return block; } +public void setBlock(boolean block) { this.block = block; } + + +/** + * Block interruptibly until a permit is available. + */ +protected boolean interruptible = false; +public boolean getInterruptible() { return interruptible; } +public void setInterruptible(boolean interruptible) { this.interruptible = interruptible; } + + // -- Lifecycle Methods @@ -206,15 +222,55 @@ public void invoke(Request request, Response response) throws IOException, ServletException { -try { -semaphore.acquireUninterruptibly(); -// Perform the request +if (controlConcurrency(request, response)) { +boolean shouldRelease = true; +try { +if (block) { +if (interruptible) { +try { +semaphore.acquire(); +} catch (InterruptedException e) { +shouldRelease = false; +permitDenied(request, response); +return; +} +} else { +semaphore.acquireUninterruptibly(); +} +} else { +if (!semaphore.tryAcquire()) { +shouldRelease = false; +permitDenied(request, response); +return; +} +} +getNext().invoke(request, response); +} finally { +if (shouldRelease) { +semaphore.release(); +} +} +} else { getNext().invoke(request, response); -} finally { -semaphore.release(); } } + +/** + * Subclass friendly method to add conditions. + */ +public boolean controlConcurrency(Request request, Response response) { +return true; +} + + +/** + * Subclass friendly method to add error handling when a permit isn't granted. + */ +public void permitDenied(Request request, Response response) +throws IOException, ServletException { +} + } - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
svn commit: r387554 - /tomcat/connectors/trunk/util/java/org/apache/tomcat/util/net/AprEndpoint.java
Author: remm Date: Tue Mar 21 07:49:50 2006 New Revision: 387554 URL: http://svn.apache.org/viewcvs?rev=387554view=rev Log: - Apparently some OSes can also use EINTR as a semi normal result. - Harmonize sendfile poller handling. Modified: tomcat/connectors/trunk/util/java/org/apache/tomcat/util/net/AprEndpoint.java Modified: tomcat/connectors/trunk/util/java/org/apache/tomcat/util/net/AprEndpoint.java URL: http://svn.apache.org/viewcvs/tomcat/connectors/trunk/util/java/org/apache/tomcat/util/net/AprEndpoint.java?rev=387554r1=387553r2=387554view=diff == --- tomcat/connectors/trunk/util/java/org/apache/tomcat/util/net/AprEndpoint.java (original) +++ tomcat/connectors/trunk/util/java/org/apache/tomcat/util/net/AprEndpoint.java Tue Mar 21 07:49:50 2006 @@ -1076,9 +1076,9 @@ getWorkerThread().assign(desc[n*2+1]); } } else if (rv 0) { -/* Any non timeup error is critical */ -if (-rv != Status.TIMEUP) { -int errn = -rv; +int errn = -rv; +/* Any non timeup or interrupted error is critical */ +if ((errn != Status.TIMEUP) (errn != Status.EINTR)) { if (errn Status.APR_OS_START_USERERR) { errn -= Status.APR_OS_START_USERERR; } @@ -1088,6 +1088,7 @@ destroy(); init(); } +continue; } } if (soTimeout 0 maintainTime 100L) { @@ -1470,16 +1471,19 @@ } } } else if (rv 0) { -/* Any non timeup error is critical */ -if (-rv == Status.TIMEUP) -rv = 0; -else { -log.error(sm.getString(endpoint.poll.fail, + (-rv), Error.strerror(-rv))); +int errn = -rv; +/* Any non timeup or interrupted error is critical */ +if ((errn != Status.TIMEUP) (errn != Status.EINTR)) { +if (errn Status.APR_OS_START_USERERR) { +errn -= Status.APR_OS_START_USERERR; +} +log.error(sm.getString(endpoint.poll.fail, + errn, Error.strerror(errn))); // Handle poll critical failure synchronized (this) { destroy(); init(); } +continue; } } /* TODO: See if we need to call the maintain for sendfile poller */ - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
svn commit: r387572 - /tomcat/container/tc5.5.x/webapps/docs/changelog.xml
Author: remm Date: Tue Mar 21 08:21:02 2006 New Revision: 387572 URL: http://svn.apache.org/viewcvs?rev=387572view=rev Log: - Changelog update. Modified: tomcat/container/tc5.5.x/webapps/docs/changelog.xml Modified: tomcat/container/tc5.5.x/webapps/docs/changelog.xml URL: http://svn.apache.org/viewcvs/tomcat/container/tc5.5.x/webapps/docs/changelog.xml?rev=387572r1=387571r2=387572view=diff == --- tomcat/container/tc5.5.x/webapps/docs/changelog.xml (original) +++ tomcat/container/tc5.5.x/webapps/docs/changelog.xml Tue Mar 21 08:21:02 2006 @@ -15,6 +15,13 @@ body section name=Tomcat 5.5.17 (yoavs) + subsection name=General +changelog + update +Update to Xerces 2.8.0 (remm) + /update +/changelog + /subsection subsection name=Catalina changelog fix @@ -32,6 +39,16 @@ fix bug38761/bug: Handle relative symlinks to shell scripts as suggested by Adam Murray (keith) /fix + fix +bug38795/bug: Associate more closely bind with a finally unbind in StandardContext start and +stop, based on a patch by Darryl Miles (remm) + /fix + fix +Improve undeployment robustness (remm) + /fix + update +Expand the semaphore valve (remm) + /update /changelog /subsection subsection name=Coyote @@ -41,6 +58,14 @@ suites enabled by default rather than the set of all cipher suites. This prevents ciphers suites that do not provide confidentiality protection and/or server authentication being used by default. (markt) + /fix + fix +Move AprEndpoint.getWorkerThread inside the try/catch for the main accept loop, to guard +about an OOM (which would most likely doom the server anyway) (remm) + /fix + fix +As exhibited in the ASF's JIRA installation, it seems EINTR is a status code that should +be ignored as a result to a poll call (remm) /fix /changelog /subsection - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
svn commit: r387832 - in /tomcat/connectors/trunk/http11/src/java/org/apache/coyote/http11: Http11AprProtocol.java Http11BaseProtocol.java
Author: remm Date: Wed Mar 22 03:20:25 2006 New Revision: 387832 URL: http://svn.apache.org/viewcvs?rev=387832view=rev Log: - Modify the read default to 8KB (thanks IE). Modified: tomcat/connectors/trunk/http11/src/java/org/apache/coyote/http11/Http11AprProtocol.java tomcat/connectors/trunk/http11/src/java/org/apache/coyote/http11/Http11BaseProtocol.java Modified: tomcat/connectors/trunk/http11/src/java/org/apache/coyote/http11/Http11AprProtocol.java URL: http://svn.apache.org/viewcvs/tomcat/connectors/trunk/http11/src/java/org/apache/coyote/http11/Http11AprProtocol.java?rev=387832r1=387831r2=387832view=diff == --- tomcat/connectors/trunk/http11/src/java/org/apache/coyote/http11/Http11AprProtocol.java (original) +++ tomcat/connectors/trunk/http11/src/java/org/apache/coyote/http11/Http11AprProtocol.java Wed Mar 22 03:20:25 2006 @@ -192,7 +192,7 @@ private int maxKeepAliveRequests=100; // as in Apache HTTPD server private int timeout = 30; // 5 minutes as in Apache HTTPD server private int maxSavePostSize = 4 * 1024; -private int maxHttpHeaderSize = 4 * 1024; +private int maxHttpHeaderSize = 8 * 1024; private int socketCloseDelay=-1; private boolean disableUploadTimeout = true; private int socketBuffer = 9000; Modified: tomcat/connectors/trunk/http11/src/java/org/apache/coyote/http11/Http11BaseProtocol.java URL: http://svn.apache.org/viewcvs/tomcat/connectors/trunk/http11/src/java/org/apache/coyote/http11/Http11BaseProtocol.java?rev=387832r1=387831r2=387832view=diff == --- tomcat/connectors/trunk/http11/src/java/org/apache/coyote/http11/Http11BaseProtocol.java (original) +++ tomcat/connectors/trunk/http11/src/java/org/apache/coyote/http11/Http11BaseProtocol.java Wed Mar 22 03:20:25 2006 @@ -199,7 +199,7 @@ private int maxKeepAliveRequests=100; // as in Apache HTTPD server private int timeout = 30; // 5 minutes as in Apache HTTPD server private int maxSavePostSize = 4 * 1024; -private int maxHttpHeaderSize = 4 * 1024; +private int maxHttpHeaderSize = 8 * 1024; private String reportedname; private int socketCloseDelay=-1; private boolean disableUploadTimeout = true; - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
svn commit: r387833 - /tomcat/connectors/trunk/jk/java/org/apache/coyote/ajp/Constants.java
Author: remm Date: Wed Mar 22 03:21:43 2006 New Revision: 387833 URL: http://svn.apache.org/viewcvs?rev=387833view=rev Log: - Unless I missed something, I think it's better to use -1 here rather than 0. Modified: tomcat/connectors/trunk/jk/java/org/apache/coyote/ajp/Constants.java Modified: tomcat/connectors/trunk/jk/java/org/apache/coyote/ajp/Constants.java URL: http://svn.apache.org/viewcvs/tomcat/connectors/trunk/jk/java/org/apache/coyote/ajp/Constants.java?rev=387833r1=387832r2=387833view=diff == --- tomcat/connectors/trunk/jk/java/org/apache/coyote/ajp/Constants.java (original) +++ tomcat/connectors/trunk/jk/java/org/apache/coyote/ajp/Constants.java Wed Mar 22 03:21:43 2006 @@ -36,7 +36,7 @@ public static final String Package = org.apache.coyote.ajp; public static final int DEFAULT_CONNECTION_LINGER = -1; -public static final int DEFAULT_CONNECTION_TIMEOUT = 0; +public static final int DEFAULT_CONNECTION_TIMEOUT = -1; public static final int DEFAULT_CONNECTION_UPLOAD_TIMEOUT = 30; public static final int DEFAULT_SERVER_SOCKET_TIMEOUT = 0; public static final boolean DEFAULT_TCP_NO_DELAY = true; - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
svn commit: r387838 - in /tomcat/connectors/trunk/util/java/org/apache/tomcat/util/net: AprEndpoint.java res/LocalStrings.properties
Author: remm Date: Wed Mar 22 03:30:42 2006 New Revision: 387838 URL: http://svn.apache.org/viewcvs?rev=387838view=rev Log: - New defaults, which should be more production friendly. - New (cleaner) way of allocating pollers (note: the 62 size is there because it was an older Win32 limitation in APR). Normally, APR right now limits to 1024 on Windows. Modified: tomcat/connectors/trunk/util/java/org/apache/tomcat/util/net/AprEndpoint.java tomcat/connectors/trunk/util/java/org/apache/tomcat/util/net/res/LocalStrings.properties Modified: tomcat/connectors/trunk/util/java/org/apache/tomcat/util/net/AprEndpoint.java URL: http://svn.apache.org/viewcvs/tomcat/connectors/trunk/util/java/org/apache/tomcat/util/net/AprEndpoint.java?rev=387838r1=387837r2=387838view=diff == --- tomcat/connectors/trunk/util/java/org/apache/tomcat/util/net/AprEndpoint.java (original) +++ tomcat/connectors/trunk/util/java/org/apache/tomcat/util/net/AprEndpoint.java Wed Mar 22 03:30:42 2006 @@ -181,7 +181,7 @@ /** * Maximum amount of worker threads. */ -protected int maxThreads = 60; +protected int maxThreads = 40; public void setMaxThreads(int maxThreads) { this.maxThreads = maxThreads; } public int getMaxThreads() { return maxThreads; } @@ -197,7 +197,7 @@ /** * Size of the socket poller. */ -protected int pollerSize = 768; +protected int pollerSize = 16 * 1024; public void setPollerSize(int pollerSize) { this.pollerSize = pollerSize; } public int getPollerSize() { return pollerSize; } @@ -205,7 +205,7 @@ /** * Size of the sendfile (= concurrent files which can be served). */ -protected int sendfileSize = 256; +protected int sendfileSize = 1 * 1024; public void setSendfileSize(int sendfileSize) { this.sendfileSize = sendfileSize; } public int getSendfileSize() { return sendfileSize; } @@ -280,7 +280,7 @@ * Poll interval, in microseconds. The smaller the value, the more CPU the poller * will use, but the more responsive to activity it will be. */ -protected int pollTime = 5000; +protected int pollTime = 2000; public int getPollTime() { return pollTime; } public void setPollTime(int pollTime) { this.pollTime = pollTime; } @@ -627,15 +627,15 @@ // Start acceptor thread acceptorThread = new Thread(new Acceptor(), getName() + -Acceptor); -acceptorThread.setPriority(getThreadPriority()); -acceptorThread.setDaemon(true); +acceptorThread.setPriority(threadPriority); +acceptorThread.setDaemon(daemon); acceptorThread.start(); // Start poller thread poller = new Poller(); poller.init(); pollerThread = new Thread(poller, getName() + -Poller); -pollerThread.setPriority(getThreadPriority()); +pollerThread.setPriority(threadPriority); pollerThread.setDaemon(true); pollerThread.start(); @@ -644,7 +644,7 @@ sendfile = new Sendfile(); sendfile.init(); sendfileThread = new Thread(sendfile, getName() + -Sendfile); -sendfileThread.setPriority(getThreadPriority()); +sendfileThread.setPriority(threadPriority); sendfileThread.setDaemon(true); sendfileThread.start(); } @@ -872,6 +872,25 @@ } } + +/** + * Allocate a new poller of the specified size. + */ +protected long allocatePoller(int size, long pool, int timeout) { +try { +return Poll.create(size, pool, 0, timeout * 1000); +} catch (Error e) { +if (Status.APR_STATUS_IS_EINVAL(e.getError())) { +log.info(sm.getString(endpoint.poll.limitedpollsize, + size)); +return 0; +} else { +log.error(sm.getString(endpoint.poll.initfail), e); +return -1; +} +} +} + + // --- Acceptor Inner Class @@ -946,21 +965,12 @@ */ protected void init() { pool = Pool.create(serverSockPool); -try { -serverPollset = Poll.create(pollerSize, pool, 0, soTimeout * 1000); -} catch (Error e) { -if (Status.APR_STATUS_IS_EINVAL(e.getError())) { -try { -// Use WIN32 maximum poll size -pollerSize = 62; -serverPollset = Poll.create(pollerSize, pool, 0, soTimeout * 1000); - log.warn(sm.getString(endpoint.poll.limitedpollsize)); -} catch (Error err) { -log.error(sm.getString(endpoint.poll.initfail), e
svn commit: r387887 - /tomcat/connectors/trunk/util/java/org/apache/tomcat/util/net/AprEndpoint.java
Author: remm Date: Wed Mar 22 08:36:13 2006 New Revision: 387887 URL: http://svn.apache.org/viewcvs?rev=387887view=rev Log: - Woops, fix sizes being used. Modified: tomcat/connectors/trunk/util/java/org/apache/tomcat/util/net/AprEndpoint.java Modified: tomcat/connectors/trunk/util/java/org/apache/tomcat/util/net/AprEndpoint.java URL: http://svn.apache.org/viewcvs/tomcat/connectors/trunk/util/java/org/apache/tomcat/util/net/AprEndpoint.java?rev=387887r1=387886r2=387887view=diff == --- tomcat/connectors/trunk/util/java/org/apache/tomcat/util/net/AprEndpoint.java (original) +++ tomcat/connectors/trunk/util/java/org/apache/tomcat/util/net/AprEndpoint.java Wed Mar 22 08:36:13 2006 @@ -965,16 +965,19 @@ */ protected void init() { pool = Pool.create(serverSockPool); -serverPollset = allocatePoller(pollerSize, pool, soTimeout); -if (serverPollset == 0 pollerSize 1024) { -serverPollset = allocatePoller(1024, pool, soTimeout); +int size = pollerSize; +serverPollset = allocatePoller(size, pool, soTimeout); +if (serverPollset == 0 size 1024) { +size = 1024; +serverPollset = allocatePoller(size, pool, soTimeout); } if (serverPollset == 0) { -serverPollset = allocatePoller(62, pool, soTimeout); +size = 62; +serverPollset = allocatePoller(size, pool, soTimeout); } -desc = new long[pollerSize * 2]; +desc = new long[size * 2]; keepAliveCount = 0; -addS = new long[pollerSize]; +addS = new long[size]; addCount = 0; } @@ -1275,15 +1278,18 @@ */ protected void init() { pool = Pool.create(serverSockPool); +int size = sendfileSize; sendfilePollset = allocatePoller(sendfileSize, pool, soTimeout); -if (sendfilePollset == 0 pollerSize 1024) { -sendfilePollset = allocatePoller(1024, pool, soTimeout); +if (sendfilePollset == 0 size 1024) { +size = 1024; +sendfilePollset = allocatePoller(size, pool, soTimeout); } if (sendfilePollset == 0) { -sendfilePollset = allocatePoller(62, pool, soTimeout); +size = 62; +sendfilePollset = allocatePoller(size, pool, soTimeout); } -desc = new long[sendfileSize * 2]; -sendfileData = new HashMap(sendfileSize); +desc = new long[size * 2]; +sendfileData = new HashMap(size); addS = new ArrayList(); } - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
svn commit: r388500 - /tomcat/connectors/trunk/util/java/org/apache/tomcat/util/net/AprEndpoint.java
Author: remm Date: Fri Mar 24 04:37:27 2006 New Revision: 388500 URL: http://svn.apache.org/viewcvs?rev=388500view=rev Log: - As suggested by Peter, replace the (synced) Stack with a specialized unsynced stack. Modified: tomcat/connectors/trunk/util/java/org/apache/tomcat/util/net/AprEndpoint.java Modified: tomcat/connectors/trunk/util/java/org/apache/tomcat/util/net/AprEndpoint.java URL: http://svn.apache.org/viewcvs/tomcat/connectors/trunk/util/java/org/apache/tomcat/util/net/AprEndpoint.java?rev=388500r1=388499r2=388500view=diff == --- tomcat/connectors/trunk/util/java/org/apache/tomcat/util/net/AprEndpoint.java (original) +++ tomcat/connectors/trunk/util/java/org/apache/tomcat/util/net/AprEndpoint.java Fri Mar 24 04:37:27 2006 @@ -19,7 +19,6 @@ import java.net.InetAddress; import java.util.ArrayList; import java.util.HashMap; -import java.util.Stack; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; @@ -109,10 +108,9 @@ /** - * Available processors. + * Available workers. */ -// FIXME: Stack is synced, which makes it a non optimal choice -protected Stack workers = new Stack(); +protected WorkerStack workers = null; /** @@ -510,7 +508,7 @@ if (initialized) return; - + // Create the root APR memory pool rootPool = Pool.create(0); // Create the pool for the server socket @@ -625,6 +623,9 @@ running = true; paused = false; +// Create worker collection +workers = new WorkerStack(maxThreads); + // Start acceptor thread acceptorThread = new Thread(new Acceptor(), getName() + -Acceptor); acceptorThread.setPriority(threadPriority); @@ -808,7 +809,7 @@ synchronized (workers) { if (workers.size() 0) { curThreadsBusy++; -return ((Worker) workers.pop()); +return (workers.pop()); } if ((maxThreads 0) (curThreads maxThreads)) { curThreadsBusy++; @@ -1516,5 +1517,60 @@ public boolean process(long socket); } + +// - WorkerStack Inner Class + + +public class WorkerStack { + +protected Worker[] workers = null; +protected int end = 0; + +public WorkerStack(int size) { +workers = new Worker[size]; +} + +/** + * Put the object into the queue. + * + * @param object the object to be appended to the queue (first element). + */ +public void push(Worker worker) { +workers[end++] = worker; +} + +/** + * Get the first object out of the queue. Return null if the queue + * is empty. + */ +public Worker pop() { +if (end 0) { +return workers[--end]; +} +return null; +} + +/** + * Get the first object out of the queue, Return null if the queue + * is empty. + */ +public Worker peek() { +return workers[end]; +} + +/** + * Is the queue empty? + */ +public boolean isEmpty() { +return (end == 0); +} + +/** + * How many elements are there in this queue? + */ +public int size() { +return (end); +} +} } - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
svn commit: r388594 - /tomcat/connectors/trunk/util/java/org/apache/tomcat/util/net/AprEndpoint.java
Author: remm Date: Fri Mar 24 10:15:16 2006 New Revision: 388594 URL: http://svn.apache.org/viewcvs?rev=388594view=rev Log: - Add many threading options, the most useful being multiple pollers for Win (after testing, it's really not possible to have large pollers and reasonable performance). Modified: tomcat/connectors/trunk/util/java/org/apache/tomcat/util/net/AprEndpoint.java Modified: tomcat/connectors/trunk/util/java/org/apache/tomcat/util/net/AprEndpoint.java URL: http://svn.apache.org/viewcvs/tomcat/connectors/trunk/util/java/org/apache/tomcat/util/net/AprEndpoint.java?rev=388594r1=388593r2=388594view=diff == --- tomcat/connectors/trunk/util/java/org/apache/tomcat/util/net/AprEndpoint.java (original) +++ tomcat/connectors/trunk/util/java/org/apache/tomcat/util/net/AprEndpoint.java Fri Mar 24 10:15:16 2006 @@ -92,19 +92,19 @@ /** * The acceptor thread. */ -protected Thread acceptorThread = null; +//protected Thread[] acceptorThreads = null; /** * The socket poller thread. */ -protected Thread pollerThread = null; +//protected Thread[] pollerThreads = null; /** * The sendfile thread. */ -protected Thread sendfileThread = null; +//protected Thread[] sendfileThreads = null; /** @@ -195,7 +195,7 @@ /** * Size of the socket poller. */ -protected int pollerSize = 16 * 1024; +protected int pollerSize = 8 * 1024; public void setPollerSize(int pollerSize) { this.pollerSize = pollerSize; } public int getPollerSize() { return pollerSize; } @@ -269,7 +269,7 @@ /** * Timeout on first request read before going to the poller, in ms. */ -protected int firstReadTimeout = 100; +protected int firstReadTimeout = -1; public int getFirstReadTimeout() { return firstReadTimeout; } public void setFirstReadTimeout(int firstReadTimeout) { this.firstReadTimeout = firstReadTimeout; } @@ -310,31 +310,49 @@ /** - * Number of keepalive sockets. + * Acceptor thread count. */ -protected int keepAliveCount = 0; -public int getKeepAliveCount() { return keepAliveCount; } +protected int acceptorThreadCount = 0; +public void setAcceptorThreadCount(int acceptorThreadCount) { this.acceptorThreadCount = acceptorThreadCount; } +public int getAcceptorThreadCount() { return acceptorThreadCount; } /** - * Number of sendfile sockets. + * Sendfile thread count. + */ +protected int sendfileThreadCount = 0; +public void setSendfileThreadCount(int sendfileThreadCount) { this.sendfileThreadCount = sendfileThreadCount; } +public int getSendfileThreadCount() { return sendfileThreadCount; } + + +/** + * Poller thread count. */ -protected int sendfileCount = 0; -public int getSendfileCount() { return sendfileCount; } +protected int pollerThreadCount = 0; +public void setPollerThreadCount(int pollerThreadCount) { this.pollerThreadCount = pollerThreadCount; } +public int getPollerThreadCount() { return pollerThreadCount; } /** * The socket poller. */ -protected Poller poller = null; -public Poller getPoller() { return poller; } +protected Poller[] pollers = null; +protected int pollerRoundRobin = 0; +public Poller getPoller() { +pollerRoundRobin = (pollerRoundRobin + 1) % pollers.length; +return pollers[pollerRoundRobin]; +} /** * The static file sender. */ -protected Sendfile sendfile = null; -public Sendfile getSendfile() { return sendfile; } +protected Sendfile[] sendfiles = null; +protected int sendfileRoundRobin = 0; +public Sendfile getSendfile() { +sendfileRoundRobin = (sendfileRoundRobin + 1) % sendfiles.length; +return sendfiles[sendfileRoundRobin]; +} /** @@ -458,6 +476,38 @@ /** + * Number of keepalive sockets. + */ +public int getKeepAliveCount() { +if (pollers == null) { +return 0; +} else { +int keepAliveCount = 0; +for (int i = 0; i pollers.length; i++) { +keepAliveCount += pollers[i].getKeepAliveCount(); +} +return keepAliveCount; +} +} + + +/** + * Number of sendfile sockets. + */ +public int getSendfileCount() { +if (sendfiles == null) { +return 0; +} else { +int sendfileCount = 0; +for (int i = 0; i sendfiles.length; i++) { +sendfileCount += sendfiles[i].getSendfileCount(); +} +return sendfileCount; +} +} + + +/** * Return the amount of threads that are managed by the pool. * * @return the amount of threads that are managed by the pool @@ -554,6 +604,35 @@ useSendfile
svn commit: r388679 - /tomcat/connectors/trunk/util/java/org/apache/tomcat/util/net/AprEndpoint.java
Author: remm Date: Fri Mar 24 15:59:49 2006 New Revision: 388679 URL: http://svn.apache.org/viewcvs?rev=388679view=rev Log: - Remove commented out code. Modified: tomcat/connectors/trunk/util/java/org/apache/tomcat/util/net/AprEndpoint.java Modified: tomcat/connectors/trunk/util/java/org/apache/tomcat/util/net/AprEndpoint.java URL: http://svn.apache.org/viewcvs/tomcat/connectors/trunk/util/java/org/apache/tomcat/util/net/AprEndpoint.java?rev=388679r1=388678r2=388679view=diff == --- tomcat/connectors/trunk/util/java/org/apache/tomcat/util/net/AprEndpoint.java (original) +++ tomcat/connectors/trunk/util/java/org/apache/tomcat/util/net/AprEndpoint.java Fri Mar 24 15:59:49 2006 @@ -90,24 +90,6 @@ /** - * The acceptor thread. - */ -//protected Thread[] acceptorThreads = null; - - -/** - * The socket poller thread. - */ -//protected Thread[] pollerThreads = null; - - -/** - * The sendfile thread. - */ -//protected Thread[] sendfileThreads = null; - - -/** * Available workers. */ protected WorkerStack workers = null; @@ -606,7 +588,7 @@ // Initialize thread count defaults for acceptor, poller and sendfile if (acceptorThreadCount == 0) { -// FIXME: Default to one per CPU ? +// FIXME: Doesn't seem to work that well with multiple accept threads acceptorThreadCount = 1; } if (pollerThreadCount == 0) { - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
svn commit: r388948 - /tomcat/connectors/trunk/util/java/org/apache/tomcat/util/net/AprEndpoint.java
Author: remm Date: Sun Mar 26 11:50:47 2006 New Revision: 388948 URL: http://svn.apache.org/viewcvs?rev=388948view=rev Log: - Add a guard to pollTime. Modified: tomcat/connectors/trunk/util/java/org/apache/tomcat/util/net/AprEndpoint.java Modified: tomcat/connectors/trunk/util/java/org/apache/tomcat/util/net/AprEndpoint.java URL: http://svn.apache.org/viewcvs/tomcat/connectors/trunk/util/java/org/apache/tomcat/util/net/AprEndpoint.java?rev=388948r1=388947r2=388948view=diff == --- tomcat/connectors/trunk/util/java/org/apache/tomcat/util/net/AprEndpoint.java (original) +++ tomcat/connectors/trunk/util/java/org/apache/tomcat/util/net/AprEndpoint.java Sun Mar 26 11:50:47 2006 @@ -262,7 +262,7 @@ */ protected int pollTime = 2000; public int getPollTime() { return pollTime; } -public void setPollTime(int pollTime) { this.pollTime = pollTime; } +public void setPollTime(int pollTime) { if (pollTime 0) { this.pollTime = pollTime; } } /** - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
svn commit: r388949 - /tomcat/container/tc5.5.x/catalina/src/share/org/apache/catalina/realm/RealmBase.java
Author: remm Date: Sun Mar 26 11:55:03 2006 New Revision: 388949 URL: http://svn.apache.org/viewcvs?rev=388949view=rev Log: - 39021: Add back support for authentication only. - Submitted by Scott Stark. Modified: tomcat/container/tc5.5.x/catalina/src/share/org/apache/catalina/realm/RealmBase.java Modified: tomcat/container/tc5.5.x/catalina/src/share/org/apache/catalina/realm/RealmBase.java URL: http://svn.apache.org/viewcvs/tomcat/container/tc5.5.x/catalina/src/share/org/apache/catalina/realm/RealmBase.java?rev=388949r1=388948r2=388949view=diff == --- tomcat/container/tc5.5.x/catalina/src/share/org/apache/catalina/realm/RealmBase.java (original) +++ tomcat/container/tc5.5.x/catalina/src/share/org/apache/catalina/realm/RealmBase.java Sun Mar 26 11:55:03 2006 @@ -152,6 +152,12 @@ */ protected boolean validate = true; + +/** + * The all role mode. + */ +protected AllRolesMode allRolesMode = AllRolesMode.STRICT_MODE; + // - Properties @@ -180,6 +186,25 @@ } /** + * Return the all roles mode. + */ +public String getAllRolesMode() { + +return allRolesMode.toString(); + +} + + +/** + * Set the all roles mode. + */ +public void setAllRolesMode(String allRolesMode) { + +this.allRolesMode = AllRolesMode.toMode(allRolesMode); + +} + +/** * Return the digest algorithm used for storing credentials. */ public String getDigest() { @@ -767,6 +792,38 @@ } } } + +if (allRolesMode != AllRolesMode.STRICT_MODE !status principal != null) { +if (log.isDebugEnabled()) { +log.debug(Checking for all roles mode: + allRolesMode); +} +// Check for an all roles(role-name=*) +for (int i = 0; i constraints.length; i++) { +SecurityConstraint constraint = constraints[i]; +String roles[]; +// If the all roles mode exists, sets +if (constraint.getAllRoles()) { +if (allRolesMode == AllRolesMode.AUTH_ONLY_MODE) { +if (log.isDebugEnabled()) { +log.debug(Granting access for role-name=*, auth-only); +} +status = true; +break; +} + +// For AllRolesMode.STRICT_AUTH_ONLY_MODE there must be zero roles +roles = request.getContext().findSecurityRoles(); +if (roles.length == 0 allRolesMode == AllRolesMode.STRICT_AUTH_ONLY_MODE) { +if (log.isDebugEnabled()) { +log.debug(Granting access for role-name=*, strict auth-only); +} +status = true; +break; +} +} +} +} + // Return a Forbidden message denying access to this resource if(!status) { response.sendError @@ -1310,6 +1367,60 @@ } } +} + + +protected static class AllRolesMode { + +private String name; +/** Use the strict servlet spec interpretation which requires that the user + * have one of the web-app/security-role/role-name + */ +public static final AllRolesMode STRICT_MODE = new AllRolesMode(strict); +/** Allow any authenticated user + */ +public static final AllRolesMode AUTH_ONLY_MODE = new AllRolesMode(authOnly); +/** Allow any authenticated user only if there are no web-app/security-roles + */ +public static final AllRolesMode STRICT_AUTH_ONLY_MODE = new AllRolesMode(strictAuthOnly); + +static AllRolesMode toMode(String name) +{ +AllRolesMode mode; +if( name.equalsIgnoreCase(STRICT_MODE.name) ) +mode = STRICT_MODE; +else if( name.equalsIgnoreCase(AUTH_ONLY_MODE.name) ) +mode = AUTH_ONLY_MODE; +else if( name.equalsIgnoreCase(STRICT_AUTH_ONLY_MODE.name) ) +mode = STRICT_AUTH_ONLY_MODE; +else +throw new IllegalStateException(Unknown mode, must be one of: strict, authOnly, strictAuthOnly); +return mode; +} + +private AllRolesMode(String name) +{ +this.name = name; +} + +public boolean equals(Object o) +{ +boolean equals = false; +if( o instanceof AllRolesMode ) +{ +AllRolesMode mode = (AllRolesMode) o; +equals = name.equals(mode.name
svn commit: r389140 - /tomcat/tc6.0.x/
Author: remm Date: Mon Mar 27 05:34:09 2006 New Revision: 389140 URL: http://svn.apache.org/viewcvs?rev=389140view=rev Log: (empty) Added: tomcat/tc6.0.x/ - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
svn commit: r389146 - in /tomcat/tc6.0.x/trunk: ./ java/ java/javax/ java/javax/el/ java/javax/servlet/ java/javax/servlet/http/ java/javax/servlet/jsp/ java/javax/servlet/jsp/el/ java/javax/servlet/j
Author: remm Date: Mon Mar 27 05:53:46 2006 New Revision: 389146 URL: http://svn.apache.org/viewcvs?rev=389146view=rev Log: - Attempt to create a new repository according to the earlier thread. - No modules right now. - Dependencies on c-logging, c-modeler (which I think I will merge/simplify to util, as done with digester earlier), Ant, JDT, PureTLS and JavaMail. Maybe it is possible to add dummy sources for JavaMail to build without having to get the JAR, don't know about PureTLS. - Will require Java 5. [This commit notification would consist of 124 parts, which exceeds the limit of 50 ones, so it was shortened to the summary.] - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
svn commit: r389238 - /tomcat/tc6.0.x/trunk/java/org/apache/jasper/runtime/JspFactoryImpl.java
Author: remm Date: Mon Mar 27 11:51:18 2006 New Revision: 389238 URL: http://svn.apache.org/viewcvs?rev=389238view=rev Log: - Add missing patch. Modified: tomcat/tc6.0.x/trunk/java/org/apache/jasper/runtime/JspFactoryImpl.java Modified: tomcat/tc6.0.x/trunk/java/org/apache/jasper/runtime/JspFactoryImpl.java URL: http://svn.apache.org/viewcvs/tomcat/tc6.0.x/trunk/java/org/apache/jasper/runtime/JspFactoryImpl.java?rev=389238r1=389237r2=389238view=diff == --- tomcat/tc6.0.x/trunk/java/org/apache/jasper/runtime/JspFactoryImpl.java (original) +++ tomcat/tc6.0.x/trunk/java/org/apache/jasper/runtime/JspFactoryImpl.java Mon Mar 27 11:51:18 2006 @@ -42,7 +42,8 @@ private Log log = LogFactory.getLog(JspFactoryImpl.class); private static final String SPEC_VERSION = 2.0; -private static final boolean USE_POOL = true; +private static final boolean USE_POOL = + Boolean.valueOf(System.getProperty(org.apache.jasper.runtime.JspFactoryImpl.USE_POOL, true)).booleanValue(); private SimplePool pool = new SimplePool( 100 ); - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
svn commit: r389531 - /tomcat/tc6.0.x/trunk/build.xml
Author: remm Date: Tue Mar 28 08:17:54 2006 New Revision: 389531 URL: http://svn.apache.org/viewcvs?rev=389531view=rev Log: - Add building some JARs. Modified: tomcat/tc6.0.x/trunk/build.xml Modified: tomcat/tc6.0.x/trunk/build.xml URL: http://svn.apache.org/viewcvs/tomcat/tc6.0.x/trunk/build.xml?rev=389531r1=389530r2=389531view=diff == --- tomcat/tc6.0.x/trunk/build.xml (original) +++ tomcat/tc6.0.x/trunk/build.xml Tue Mar 28 08:17:54 2006 @@ -24,6 +24,142 @@ property name=final.namevalue=${project}-${version} / property name=final-src.namevalue=${project}-${version}-src / + !-- Build Defaults -- + property name=tomcat.build value=${basedir}/build/ + property name=tomcat.classesvalue=${basedir}/classes/ + property name=tomcat.dist value=${basedir}/dist/ + property name=test.failonerror value=true/ + property name=test.runner value=junit.textui.TestRunner/ + !-- JAR artifacts -- + property name=servlet-api.jar value=${tomcat.build}/common/lib/servlet-api.jar/ + property name=jsp-api.jar value=${tomcat.build}/common/lib/jsp-api.jar/ + property name=el-api.jar value=${tomcat.build}/common/lib/el-api.jar/ + property name=jasper-compiler.jar value=${tomcat.build}/common/lib/jasper-compiler.jar/ + property name=jasper-runtime.jar value=${tomcat.build}/common/lib/jasper-runtime.jar/ + property name=jasper-el.jar value=${tomcat.build}/common/lib/jasper-el.jar/ + + !-- Classpath -- + path id=tomcat.classpath +pathelement location=${ant.jar}/ +pathelement location=${jdt.jar}/ +pathelement location=${commons-logging.jar}/ +pathelement location=${commons-modeler.jar}/ + /path -/project \ No newline at end of file + !-- Just build Tomcat -- + target name=build-prepare + +available classname=junit.framework.TestCase property=junit.present / + +mkdir dir=${tomcat.classes}/ + +mkdir dir=${tomcat.build}/ +mkdir dir=${tomcat.build}/bin/ +mkdir dir=${tomcat.build}/conf/ +mkdir dir=${tomcat.build}/lib/ + + /target + + target name=build-only depends=build-prepare + +!-- Compile internal server components -- +javac srcdir=java destdir=${tomcat.classes} + debug=${compile.debug} + deprecation=${compile.deprecation} + source=${compile.source} + optimize=${compile.optimize} + excludes=**/CVS/**,**/.svn/** + classpath refid=tomcat.classpath / + exclude name=org/apache/tomcat/util/net/puretls/** / +/javac + +!-- Copy static resource files -- +copy todir=${tomcat.classes} + fileset dir=java +include name=**/*.properties/ +include name=**/*.dtd/ + /fileset +/copy + +!-- Servlet 2.5 Implementation JAR File -- +jar jarfile=${servlet-api.jar} + fileset dir=${tomcat.classes} +include name=javax/servlet/* / +include name=javax/servlet/http/* / +include name=javax/servlet/resources/* / +!-- Javadoc and i18n exclusions -- +exclude name=**/package.html / +exclude name=**/LocalStrings_* / + /fileset +/jar + +!-- JSP 2.1 Implementation JAR File -- +jar jarfile=${jsp-api.jar} + fileset dir=${tomcat.classes} +include name=javax/servlet/jsp/** / +!-- Javadoc and i18n exclusions -- +exclude name=**/package.html / +exclude name=**/LocalStrings_* / + /fileset +/jar + +!-- JSP 2.1 EL Implementation JAR File -- +jar jarfile=${el-api.jar} + fileset dir=${tomcat.classes} +include name=javax/el/** / +!-- Javadoc and i18n exclusions -- +exclude name=**/package.html / +exclude name=**/LocalStrings_* / + /fileset +/jar + +!-- Jasper Compiler JAR File -- +jar jarfile=${jasper-compiler.jar} + fileset dir=${tomcat.classes} + include name=org/apache/jasper/compiler/** / + include name=org/apache/jasper/xmlparser/** / + include name=org/apache/jasper/servlet/** / + include name=org/apache/jasper/tagplugins/** / + exclude name=org/apache/jasper/Constants.class / + exclude name=org/apache/jasper/JasperException.class / + include name=org/apache/jasper/*.class / + !-- Javadoc and i18n exclusions -- + exclude name=**/package.html / + exclude name=**/LocalStrings_* / + /fileset + /jar + + !-- Jasper Runtime JAR File -- + jar jarfile=${jasper-runtime.jar} + fileset dir=${tomcat.classes} + include name=org/apache/jasper/Constants.class / + include name=org/apache/jasper/JasperException.class / + include name=org/apache/jasper/compiler/Localizer.class / + include name=org/apache/jasper/el/** / + include name=org/apache/jasper/resources/** / + include name=org/apache/jasper/runtime/** / + include name=org
svn commit: r389768 - /tomcat/container/tc5.5.x/webapps/docs/apr.xml
Author: remm Date: Wed Mar 29 03:49:10 2006 New Revision: 389768 URL: http://svn.apache.org/viewcvs?rev=389768view=rev Log: - Document according to the current defaults. Modified: tomcat/container/tc5.5.x/webapps/docs/apr.xml Modified: tomcat/container/tc5.5.x/webapps/docs/apr.xml URL: http://svn.apache.org/viewcvs/tomcat/container/tc5.5.x/webapps/docs/apr.xml?rev=389768r1=389767r2=389768view=diff == --- tomcat/container/tc5.5.x/webapps/docs/apr.xml (original) +++ tomcat/container/tc5.5.x/webapps/docs/apr.xml Wed Mar 29 03:49:10 2006 @@ -68,7 +68,7 @@ p Requirements: ul -liAPR 1.1+ development headers (libapr1-dev package)/li +liAPR 1.2+ development headers (libapr1-dev package)/li liOpenSSL 0.9.7+ development headers (libssl-dev package)/li liJNI headers from Java compatible JDK 1.4+/li liGNU development environment (gcc, make)/li @@ -128,22 +128,28 @@ attribute name=firstReadTimeout required=false pThe first read of a request will be made using the specified timeout. If no data is available - after the specified time, the socket will be placed in the poller. Setting this value to 0 will - increase scalability, but will have a minor impact on latency (see the related pollTime attribute). - The default value is 100 (100ms). Note: on Windows, the actual value of firstReadTimeout will - be 500 + the specified value./p + after the specified time, the socket will be placed in the poller. The value of this attribute is + in ms. Setting this value to 0 or -1 will + increase scalability by always using a poller to handle keepalive, but will have a minor impact + on latency (see the related pollTime attribute). The difference is that with 0, the first read of + a request will be made using a short timeout, while with -1, the first read will be made using the + regular socket timeout that is configured on the connector. Setting this to -2 will cause + the connector to not use the poller for keepalive in most situations, emulating the behavior of + the java.io HTTP connector. + The default value is -1. Note: on Windows, the actual value of firstReadTimeout will + be 500 + the specified value, if the specified value is strictly positive./p /attribute attribute name=pollTime required=false pDuration of a poll call. Lowering this value will slightly decrease latency of connections being kept alive in some cases, but will use more CPU as more poll calls are being made. The - default value is 5000 (5ms)./p + default value is 2000 (5ms)./p /attribute attribute name=pollerSize required=false pAmount of sockets that the poller responsible for polling kept alive connections can hold at a - given time. Extra connections will be closed right away. The default value is 768, corresponding to - 768 keepalive connections./p + given time. Extra connections will be closed right away. The default value is 8192, corresponding to + 8192 keepalive connections./p /attribute attribute name=useSendfile required=false @@ -156,7 +162,7 @@ (resulting in a zero length file on the client side). Note that in most cases, sendfile is a call that will return right away (being taken care of synchonously by the kernel), and the sendfile poller will not be used, so the amount of static files which can be sent concurrently is much larger - than the specified amount. The default value is 256./p + than the specified amount. The default value is 1024./p /attribute /attributes @@ -291,22 +297,28 @@ attribute name=firstReadTimeout required=false pThe first read of a request will be made using the specified timeout. If no data is available - after the specified time, the socket will be placed in the poller. Setting this value to 0 will - increase scalability, but will have a minor impact on latency (see the related pollTime attribute). - The default value is 100 (100ms). Note: on Windows, the actual value of firstReadTimeout will - be 500 + the specified value./p + after the specified time, the socket will be placed in the poller. The value of this attribute is + in ms. Setting this value to 0 or -1 will + increase scalability by always using a poller to handle keepalive, but will have a minor impact + on latency (see the related pollTime attribute). The difference is that with 0, the first read of + a request will be made using a short timeout, while with -1, the first read will be made using the + regular socket timeout that is configured on the connector. Setting this to -2 will cause + the connector to not use the poller for keepalive in most situations, emulating the behavior of + the java.io
svn commit: r389796 - in /tomcat/tc6.0.x/trunk: BUILDING.txt README.txt
Author: remm Date: Wed Mar 29 06:00:01 2006 New Revision: 389796 URL: http://svn.apache.org/viewcvs?rev=389796view=rev Log: - Clear obsolete content. Modified: tomcat/tc6.0.x/trunk/BUILDING.txt tomcat/tc6.0.x/trunk/README.txt Modified: tomcat/tc6.0.x/trunk/BUILDING.txt URL: http://svn.apache.org/viewcvs/tomcat/tc6.0.x/trunk/BUILDING.txt?rev=389796r1=389795r2=389796view=diff == --- tomcat/tc6.0.x/trunk/BUILDING.txt (original) +++ tomcat/tc6.0.x/trunk/BUILDING.txt Wed Mar 29 06:00:01 2006 @@ -1,73 +1,2 @@ -$Id: BUILDING.txt 304991 2002-07-16 19:30:53Z kinman $ - Building The Tomcat 4.0 Servlet/JSP Container With Jasper2 - == -Jasper2 is a reimplementation of the JSP Container for Tomcat 4.0 that is -cleaner and easier to extend. It also forms the basis of the JSP 2.0 -implementation. Jasper2 will eventually replace the Jasper module -built into the Tomcat distribution. In the meanwhile, you can build Jasper2 -alongside Tomcat 4.0 and replace Jasper. - -To build Jasper2, first make sure you have a working build environment for -Tomcat 4.0. You can do so by following the instructions in the BUILDING.txt -file in the Tomcat 4.0 workspace. - -Once you have a working build environment for Tomcat 4.0, do the following: - -(0) Modify your build.properties file in Tomcat 4.0 - -* Add a line to your build.properties file for Tomcat 4.0 that - points the build script to Jasper2 instead of Jasper, as follows: - - # - Jakarta Tomcat Jasper source path - - jasper.home=${base.path}/jakarta-tomcat-jasper/jasper2 - - This directory is relative to the location of build.xml for Tomcat. - -(1) Use anonymous CVS (as described on the Jakarta web site at -http://jakarta.apache.org/site/cvsindex.html, or download a source -distribution of the jakarta-taglibs repository (7/15/2002 or later). - -http://jakarta.apache.org/builds/jakarta-taglibs/nightly/projects/standard/ - -* Unpack the package into a convenient location so that - it resides in its own subdirectory. - -* Follow the instructions in BUILDING.txt to set up the correct - build environment. Make sure you have a valid build.properties file. - -* Change directory to standard and build the special JSP 2.0 build target - for producing the JSP 2.0 Expression Language Evaluator. The ant target - is called jsp20el.dist. - -cd standard -ant jsp20el.dist - -(2) Customize Build Properties for this subproject - -Most Jakarta subprojects allow you to customize Ant properties (with default -values defined in the build.xml file. This is done by creating a text file -named build.properties in the source distribution directory (for property -definitions local to this subproject) and/or your user home directory (for -property definitions shared across subprojects). You can use the included -build.properties.sample file as a starting point for this. - -Jasper2 has external dependencies that are satisfied by configuring -appropriate values in your build.properties file. The easiest -way to satisfy these dependencies is to copy the build.properties.sample -file (in the top-level Tomcat source directory) to build.properties, and -then edit it to suit your environment. On Unix, this would be done as: - - cd ${jasper2.source} - cp build.properties.sample build.properties - emacs build.properties - -NOTE: Be *sure* that you do not check build.properties in to the CVS -repository. This file is local to your own development environment, and -each developer will have their own version. - -(3) Build A Binary Distribution - -Jasper2 is built as part of Tomcat. Follow the instructions in -BUILDING.txt in the Tomcat project to build Tomcat with Jasper2. Modified: tomcat/tc6.0.x/trunk/README.txt URL: http://svn.apache.org/viewcvs/tomcat/tc6.0.x/trunk/README.txt?rev=389796r1=389795r2=389796view=diff == --- tomcat/tc6.0.x/trunk/README.txt (original) +++ tomcat/tc6.0.x/trunk/README.txt Wed Mar 29 06:00:01 2006 @@ -1,24 +1,2 @@ -This project is a rewrite of Jasper for tomcat 4.x. - -1. Main goals: - - * Cleanup of the current Jasper. - * Use for RI work for JSP 1.3 - * Use for optimization work for generated servlet codes. - -2. Status - - * Main jasper engine (parser, attribute validates, code generator) - basically complete. - -3. Todo - - * Rewrite attribute parser for better spec comformance. - * More cleanup, especially jspc parts. - * Added large file option. - * Error messages. - * JSR045 support - * Expression language support (JSP1.3) - * Optimizations, optimizations, and optimizations - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
svn commit: r389806 - in /tomcat/tc6.0.x/trunk: build.xml java/org/apache/catalina/startup/catalina.properties res/bootstrap.jar.manifest
Author: remm Date: Wed Mar 29 06:39:52 2006 New Revision: 389806 URL: http://svn.apache.org/viewcvs?rev=389806view=rev Log: - Fixes according to the directory structure. Modified: tomcat/tc6.0.x/trunk/build.xml tomcat/tc6.0.x/trunk/java/org/apache/catalina/startup/catalina.properties tomcat/tc6.0.x/trunk/res/bootstrap.jar.manifest Modified: tomcat/tc6.0.x/trunk/build.xml URL: http://svn.apache.org/viewcvs/tomcat/tc6.0.x/trunk/build.xml?rev=389806r1=389805r2=389806view=diff == --- tomcat/tc6.0.x/trunk/build.xml (original) +++ tomcat/tc6.0.x/trunk/build.xml Wed Mar 29 06:39:52 2006 @@ -38,9 +38,7 @@ property name=servlet-api.jar value=${tomcat.build}/lib/servlet-api.jar/ property name=jsp-api.jar value=${tomcat.build}/lib/jsp-api.jar/ property name=el-api.jar value=${tomcat.build}/lib/el-api.jar/ - property name=bootstrap.jar value=${tomcat.build}/bin/bootstrap.jar/ property name=catalina.jar value=${tomcat.build}/lib/catalina.jar/ - property name=catalina-optional.jar value=${tomcat.build}/lib/catalina-optional.jar/ property name=catalina-ant.jar value=${tomcat.build}/lib/catalina-ant.jar/ property name=catalina-ant-jmx.jar value=${tomcat.build}/lib/catalina-ant-jmx.jar/ property name=naming-factory.jar value=${tomcat.build}/lib/naming-factory.jar/ @@ -142,30 +140,8 @@ /fileset /jar -!-- Catalina Bootstrap JAR File -- -jar jarfile=${bootstrap.jar} index=true - manifest=res/bootstrap.jar.manifest - fileset dir=${tomcat.classes} -include name=org/apache/catalina/startup/Bootstrap.class / -include name=org/apache/catalina/startup/catalina.properties / -include name=org/apache/catalina/startup/CatalinaProperties.class / -include name=org/apache/catalina/startup/ClassLoaderFactory.class / -include name=org/apache/catalina/startup/Tool.class / -include name=org/apache/catalina/loader/StandardClassLoader*.class / -include name=org/apache/catalina/loader/Extension.class / -include name=org/apache/catalina/loader/Reloader.class / -include name=org/apache/catalina/security/SecurityClassLoad.class / -include name=org/apache/catalina/launcher/CatalinaLaunchFilter.class / -include name=org/apache/naming/JndiPermission.class / -include name=org/apache/tomcat/util/compat/* / - !-- Javadoc and i18n exclusions -- -exclude name=**/package.html / -exclude name=**/LocalStrings_* / - /fileset -/jar - !-- Catalina Main JAR File -- -jar jarfile=${catalina.jar} index=true +jar jarfile=${catalina.jar} index=true manifest=res/bootstrap.jar.manifest fileset dir=${tomcat.classes} include name=org/apache/catalina/** / !-- Javadoc and i18n exclusions -- @@ -176,76 +152,8 @@ exclude name=org/apache/catalina/cluster/** / exclude name=org/apache/catalina/launcher/** / exclude name=org/apache/catalina/servlets/** / -exclude name=org/apache/catalina/startup/Bootstrap.class / exclude name=org/apache/catalina/storeconfig/** / exclude name=org/apache/catalina/ssi/** / -exclude name=org/apache/naming/** / -!-- Catalina-optional classes -- -exclude name=org/apache/catalina/realm/DataSourceRealm.class / -exclude name=org/apache/catalina/realm/JAAS* / -exclude name=org/apache/catalina/realm/JDBC* / -exclude name=org/apache/catalina/realm/JNDI* / -exclude name=org/apache/catalina/realm/Memory* / -exclude name=org/apache/catalina/session/StoreBase.class / -exclude name=org/apache/catalina/session/*Store.class / -exclude name=org/apache/catalina/session/PersistentManager* / -exclude name=org/apache/catalina/util/CGIProcessEnvironment.class / -exclude name=org/apache/catalina/util/CookieTools.class / -exclude name=org/apache/catalina/util/DateTool.class / -exclude name=org/apache/catalina/util/DOMWriter.class / -exclude name=org/apache/catalina/util/FastDateFormat.class / -exclude name=org/apache/catalina/util/IOTools.class / -exclude name=org/apache/catalina/util/MIME2Java.class / -exclude name=org/apache/catalina/util/Process* / -exclude name=org/apache/catalina/util/Queue.class / -exclude name=org/apache/catalina/util/Strftime.class / -exclude name=org/apache/catalina/util/XMLWriter.class / -exclude name=org/apache/catalina/valves/ExtendedAccessLogValve.class / -exclude name=org/apache/catalina/valves/FastCommonAccessLogValve.class / -exclude name=org/apache/catalina/valves/FieldInfo.class / -exclude name=org/apache/catalina/valves/JDBCAccessLogValve.class / -exclude name=org/apache/catalina/valves/PersistentValve.class / -exclude name=org/apache/catalina/valves
svn commit: r390055 - /tomcat/tc6.0.x/trunk/java/org/apache/tomcat/util/modeler/Registry.java
Author: remm Date: Thu Mar 30 02:00:57 2006 New Revision: 390055 URL: http://svn.apache.org/viewcvs?rev=390055view=rev Log: - Add missing patch (I didn't update from sources before merging). Modified: tomcat/tc6.0.x/trunk/java/org/apache/tomcat/util/modeler/Registry.java Modified: tomcat/tc6.0.x/trunk/java/org/apache/tomcat/util/modeler/Registry.java URL: http://svn.apache.org/viewcvs/tomcat/tc6.0.x/trunk/java/org/apache/tomcat/util/modeler/Registry.java?rev=390055r1=390054r2=390055view=diff == --- tomcat/tc6.0.x/trunk/java/org/apache/tomcat/util/modeler/Registry.java (original) +++ tomcat/tc6.0.x/trunk/java/org/apache/tomcat/util/modeler/Registry.java Thu Mar 30 02:00:57 2006 @@ -1,5 +1,5 @@ /* - * Copyright 2001-2004 The Apache Software Foundation. + * Copyright 2001-2006 The Apache Software Foundation. * * Licensed under the Apache License, Version 2.0 (the License); * you may not use this file except in compliance with the License. @@ -713,6 +713,9 @@ } else if( java.lang.Integer.equals( type ) || int.equals( type )) { objValue=new Integer( value ); +} else if( java.lang.Long.equals( type ) || +long.equals( type )) { +objValue=new Long( value ); } else if( java.lang.Boolean.equals( type ) || boolean.equals( type )) { objValue=new Boolean( value ); - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
svn commit: r390120 - /tomcat/tc6.0.x/trunk/.classpath
Author: remm Date: Thu Mar 30 05:27:59 2006 New Revision: 390120 URL: http://svn.apache.org/viewcvs?rev=390120view=rev Log: - Remove modeler. - Fix CRLF. Modified: tomcat/tc6.0.x/trunk/.classpath Modified: tomcat/tc6.0.x/trunk/.classpath URL: http://svn.apache.org/viewcvs/tomcat/tc6.0.x/trunk/.classpath?rev=390120r1=390119r2=390120view=diff == --- tomcat/tc6.0.x/trunk/.classpath (original) +++ tomcat/tc6.0.x/trunk/.classpath Thu Mar 30 05:27:59 2006 @@ -1,10 +1,9 @@ -?xml version=1.0 encoding=UTF-8? -classpath - classpathentry excluding=org/apache/tomcat/util/net/puretls/|org/apache/naming/factory/MailSessionFactory.java|org/apache/naming/factory/SendMailFactory.java kind=src path=java/ - classpathentry kind=con path=org.eclipse.jdt.launching.JRE_CONTAINER/ - classpathentry kind=var path=TOMCAT_LIBS_BASE/commons-logging-1.0.4/commons-logging.jar/ - classpathentry kind=var path=TOMCAT_LIBS_BASE/commons-modeler-1.1/commons-modeler.jar/ - classpathentry kind=var path=TOMCAT_LIBS_BASE/apache-ant-1.6.5/lib/ant.jar/ - classpathentry kind=var path=TOMCAT_LIBS_BASE/eclipse/plugins/org.eclipse.jdt.core_3.1.1.jar/ - classpathentry kind=output path=classes/ -/classpath +?xml version=1.0 encoding=UTF-8? +classpath + classpathentry excluding=org/apache/tomcat/util/net/puretls/|org/apache/naming/factory/MailSessionFactory.java|org/apache/naming/factory/SendMailFactory.java kind=src path=java/ + classpathentry kind=con path=org.eclipse.jdt.launching.JRE_CONTAINER/ + classpathentry kind=var path=TOMCAT_LIBS_BASE/commons-logging-1.0.4/commons-logging.jar/ + classpathentry kind=var path=TOMCAT_LIBS_BASE/apache-ant-1.6.5/lib/ant.jar/ + classpathentry kind=var path=TOMCAT_LIBS_BASE/eclipse/plugins/org.eclipse.jdt.core_3.1.2.jar/ + classpathentry kind=output path=classes/ +/classpath - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
svn commit: r390124 - /tomcat/tc6.0.x/trunk/.classpath
Author: remm Date: Thu Mar 30 05:32:04 2006 New Revision: 390124 URL: http://svn.apache.org/viewcvs?rev=390124view=rev Log: - Move output so that Eclipse doesn't pollute the useful classes folder with his junk. Modified: tomcat/tc6.0.x/trunk/.classpath Modified: tomcat/tc6.0.x/trunk/.classpath URL: http://svn.apache.org/viewcvs/tomcat/tc6.0.x/trunk/.classpath?rev=390124r1=390123r2=390124view=diff == --- tomcat/tc6.0.x/trunk/.classpath (original) +++ tomcat/tc6.0.x/trunk/.classpath Thu Mar 30 05:32:04 2006 @@ -5,5 +5,5 @@ classpathentry kind=var path=TOMCAT_LIBS_BASE/commons-logging-1.0.4/commons-logging.jar/ classpathentry kind=var path=TOMCAT_LIBS_BASE/apache-ant-1.6.5/lib/ant.jar/ classpathentry kind=var path=TOMCAT_LIBS_BASE/eclipse/plugins/org.eclipse.jdt.core_3.1.2.jar/ - classpathentry kind=output path=classes/ + classpathentry kind=output path=.settings/output/ /classpath - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
svn commit: r390155 - /tomcat/tc6.0.x/trunk/java/org/apache/tomcat/util/modeler/modules/MbeansDescriptorsDigesterSource.java
Author: remm Date: Thu Mar 30 07:08:31 2006 New Revision: 390155 URL: http://svn.apache.org/viewcvs?rev=390155view=rev Log: - Clean up a bit. - For some reason, trying to recycle a static digester doesn't improve performance. Modified: tomcat/tc6.0.x/trunk/java/org/apache/tomcat/util/modeler/modules/MbeansDescriptorsDigesterSource.java Modified: tomcat/tc6.0.x/trunk/java/org/apache/tomcat/util/modeler/modules/MbeansDescriptorsDigesterSource.java URL: http://svn.apache.org/viewcvs/tomcat/tc6.0.x/trunk/java/org/apache/tomcat/util/modeler/modules/MbeansDescriptorsDigesterSource.java?rev=390155r1=390154r2=390155view=diff == --- tomcat/tc6.0.x/trunk/java/org/apache/tomcat/util/modeler/modules/MbeansDescriptorsDigesterSource.java (original) +++ tomcat/tc6.0.x/trunk/java/org/apache/tomcat/util/modeler/modules/MbeansDescriptorsDigesterSource.java Thu Mar 30 07:08:31 2006 @@ -37,192 +37,199 @@ String type; Object source; List mbeans=new ArrayList(); - -public void setRegistry(Registry reg) { -this.registry=reg; -} - -public void setLocation( String loc ) { -this.location=loc; -} - -/** Used if a single component is loaded - * - * @param type - */ -public void setType( String type ) { - this.type=type; -} - -public void setSource( Object source ) { -this.source=source; -} - -public List loadDescriptors( Registry registry, String location, - String type, Object source) -throws Exception -{ -setRegistry(registry); -setLocation(location); -setType(type); -setSource(source); -execute(); -return mbeans; -} - -public void execute() throws Exception { -if( registry==null ) registry=Registry.getRegistry(); - -InputStream stream=(InputStream)source; - -long t1=System.currentTimeMillis(); + +protected static Digester createDigester(Registry registry) { Digester digester = new Digester(); digester.setNamespaceAware(false); digester.setValidating(false); -URL url = registry.getClass().getResource -(/org/apache/commons/modeler/mbeans-descriptors.dtd); +URL url = Registry.getRegistry(null, null).getClass().getResource +(/org/apache/tomcat/util/modeler/mbeans-descriptors.dtd); digester.register -(-//Apache Software Foundation//DTD Model MBeans Configuration File, -url.toString()); - -// Push our registry object onto the stack -digester.push(mbeans); - +(-//Apache Software Foundation//DTD Model MBeans Configuration File, +url.toString()); + // Configure the parsing rules digester.addObjectCreate -(mbeans-descriptors/mbean, -org.apache.tomcat.util.modeler.ManagedBean); +(mbeans-descriptors/mbean, +org.apache.tomcat.util.modeler.ManagedBean); digester.addSetProperties -(mbeans-descriptors/mbean); +(mbeans-descriptors/mbean); digester.addSetNext -(mbeans-descriptors/mbean, -add, -java.lang.Object); - +(mbeans-descriptors/mbean, +add, +java.lang.Object); + digester.addObjectCreate -(mbeans-descriptors/mbean/attribute, -org.apache.tomcat.util.modeler.AttributeInfo); +(mbeans-descriptors/mbean/attribute, +org.apache.tomcat.util.modeler.AttributeInfo); digester.addSetProperties -(mbeans-descriptors/mbean/attribute); +(mbeans-descriptors/mbean/attribute); digester.addSetNext -(mbeans-descriptors/mbean/attribute, -addAttribute, -org.apache.tomcat.util.modeler.AttributeInfo); - +(mbeans-descriptors/mbean/attribute, +addAttribute, +org.apache.tomcat.util.modeler.AttributeInfo); + digester.addObjectCreate (mbeans-descriptors/mbean/attribute/descriptor/field, - org.apache.tomcat.util.modeler.FieldInfo); +org.apache.tomcat.util.modeler.FieldInfo); digester.addSetProperties (mbeans-descriptors/mbean/attribute/descriptor/field); digester.addSetNext (mbeans-descriptors/mbean/attribute/descriptor/field, - addField, - org.apache.tomcat.util.modeler.FieldInfo); - -digester.addObjectCreate -(mbeans-descriptors/mbean/constructor, -org.apache.tomcat.util.modeler.ConstructorInfo); -digester.addSetProperties -(mbeans
svn commit: r390157 - /tomcat/tc6.0.x/trunk/java/org/apache/tomcat/util/modeler/Registry.java
Author: remm Date: Thu Mar 30 07:10:13 2006 New Revision: 390157 URL: http://svn.apache.org/viewcvs?rev=390157view=rev Log: - Standardize on the digester (which is apparently a bit faster than using DOM). This way, digester now handles all XML parsing in Catalina. Modified: tomcat/tc6.0.x/trunk/java/org/apache/tomcat/util/modeler/Registry.java Modified: tomcat/tc6.0.x/trunk/java/org/apache/tomcat/util/modeler/Registry.java URL: http://svn.apache.org/viewcvs/tomcat/tc6.0.x/trunk/java/org/apache/tomcat/util/modeler/Registry.java?rev=390157r1=390156r2=390157view=diff == --- tomcat/tc6.0.x/trunk/java/org/apache/tomcat/util/modeler/Registry.java (original) +++ tomcat/tc6.0.x/trunk/java/org/apache/tomcat/util/modeler/Registry.java Thu Mar 30 07:10:13 2006 @@ -773,7 +773,7 @@ } if( sourceType==null ) { -sourceType=MbeansDescriptorsDOMSource; +sourceType=MbeansDescriptorsDigesterSource; } ModelerSource ds=getModelerSource(sourceType); List mbeans=ds.loadDescriptors(this, location, type, inputsource); @@ -786,7 +786,7 @@ return MbeansDescriptorsSerSource; } else if( s.endsWith(.xml)) { -return MbeansDescriptorsDOMSource; +return MbeansDescriptorsDigesterSource; } return null; } @@ -866,7 +866,7 @@ searchedPaths.put( packageName, dURL ); try { if( descriptors.endsWith(.xml )) -loadDescriptors(MbeansDescriptorsDOMSource, dURL, null); +loadDescriptors(MbeansDescriptorsDigesterSource, dURL, null); else loadDescriptors(MbeansDescriptorsSerSource, dURL, null); return; @@ -912,7 +912,7 @@ URL url=(URL)en.nextElement(); InputStream is=url.openStream(); if( log.isDebugEnabled()) log.debug(Loading + url); -loadDescriptors(MBeansDescriptorDOMSource, is, null ); +loadDescriptors(MbeansDescriptorsDigesterSource, is, null ); } } catch( Exception ex ) { ex.printStackTrace(); @@ -957,7 +957,7 @@ private ModelerSource getModelerSource( String type ) throws Exception { -if( type==null ) type=MbeansDescriptorsDOMSource; +if( type==null ) type=MbeansDescriptorsDigesterSource; if( type.indexOf( .) 0 ) { type=org.apache.tomcat.util.modeler.modules. + type; } @@ -1031,7 +1031,7 @@ public void loadDescriptors( Object source ) throws Exception { -loadDescriptors(MbeansDescriptorsDOMSource, source, null ); +loadDescriptors(MbeansDescriptorsDigesterSource, source, null ); } /** @deprecated - may still be used in code using pre-1.1 builds - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
svn commit: r390187 - /tomcat/container/tc5.5.x/catalina/src/share/org/apache/catalina/connector/Request.java
Author: remm Date: Thu Mar 30 09:40:57 2006 New Revision: 390187 URL: http://svn.apache.org/viewcvs?rev=390187view=rev Log: - Revert fix for 38113, which doesn't seem to be a bug, and appears to be causing regressions. Modified: tomcat/container/tc5.5.x/catalina/src/share/org/apache/catalina/connector/Request.java Modified: tomcat/container/tc5.5.x/catalina/src/share/org/apache/catalina/connector/Request.java URL: http://svn.apache.org/viewcvs/tomcat/container/tc5.5.x/catalina/src/share/org/apache/catalina/connector/Request.java?rev=390187r1=390186r2=390187view=diff == --- tomcat/container/tc5.5.x/catalina/src/share/org/apache/catalina/connector/Request.java (original) +++ tomcat/container/tc5.5.x/catalina/src/share/org/apache/catalina/connector/Request.java Thu Mar 30 09:40:57 2006 @@ -1893,7 +1893,11 @@ */ public String getQueryString() { String queryString = coyoteRequest.queryString().toString(); - return queryString; +if (queryString == null || queryString.equals()) { +return (null); +} else { +return queryString; +} } - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
svn commit: r390188 - /tomcat/tc6.0.x/trunk/java/org/apache/catalina/connector/Request.java
Author: remm Date: Thu Mar 30 09:41:19 2006 New Revision: 390188 URL: http://svn.apache.org/viewcvs?rev=390188view=rev Log: - Revert fix for 38113, which doesn't seem to be a bug, and appears to be causing regressions. Modified: tomcat/tc6.0.x/trunk/java/org/apache/catalina/connector/Request.java Modified: tomcat/tc6.0.x/trunk/java/org/apache/catalina/connector/Request.java URL: http://svn.apache.org/viewcvs/tomcat/tc6.0.x/trunk/java/org/apache/catalina/connector/Request.java?rev=390188r1=390187r2=390188view=diff == --- tomcat/tc6.0.x/trunk/java/org/apache/catalina/connector/Request.java (original) +++ tomcat/tc6.0.x/trunk/java/org/apache/catalina/connector/Request.java Thu Mar 30 09:41:19 2006 @@ -1893,7 +1893,11 @@ */ public String getQueryString() { String queryString = coyoteRequest.queryString().toString(); - return queryString; +if (queryString == null || queryString.equals()) { +return (null); +} else { +return queryString; +} } - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
svn commit: r390189 - /tomcat/tc6.0.x/trunk/build.xml
Author: remm Date: Thu Mar 30 09:42:06 2006 New Revision: 390189 URL: http://svn.apache.org/viewcvs?rev=390189view=rev Log: - Copy the XML descriptors. Modified: tomcat/tc6.0.x/trunk/build.xml Modified: tomcat/tc6.0.x/trunk/build.xml URL: http://svn.apache.org/viewcvs/tomcat/tc6.0.x/trunk/build.xml?rev=390189r1=390188r2=390189view=diff == --- tomcat/tc6.0.x/trunk/build.xml (original) +++ tomcat/tc6.0.x/trunk/build.xml Thu Mar 30 09:42:06 2006 @@ -91,6 +91,7 @@ include name=**/*.properties/ include name=**/*.dtd/ include name=**/*.xsd/ +include name=**/*.xml/ /fileset /copy - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
svn commit: r391182 - /tomcat/tc6.0.x/trunk/java/javax/servlet/ServletContext.java
Author: remm Date: Mon Apr 3 17:00:33 2006 New Revision: 391182 URL: http://svn.apache.org/viewcvs?rev=391182view=rev Log: - Add getContextPath. Modified: tomcat/tc6.0.x/trunk/java/javax/servlet/ServletContext.java Modified: tomcat/tc6.0.x/trunk/java/javax/servlet/ServletContext.java URL: http://svn.apache.org/viewcvs/tomcat/tc6.0.x/trunk/java/javax/servlet/ServletContext.java?rev=391182r1=391181r2=391182view=diff == --- tomcat/tc6.0.x/trunk/java/javax/servlet/ServletContext.java (original) +++ tomcat/tc6.0.x/trunk/java/javax/servlet/ServletContext.java Mon Apr 3 17:00:33 2006 @@ -82,7 +82,9 @@ public ServletContext getContext(String uripath); - + +public String getContextPath(); + /** * Returns the major version of the Java Servlet API that this - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
svn commit: r391183 - in /tomcat/tc6.0.x/trunk/java/org/apache/catalina/connector: Request.java Response.java
Author: remm Date: Mon Apr 3 17:01:51 2006 New Revision: 391183 URL: http://svn.apache.org/viewcvs?rev=391183view=rev Log: - Slightly updated behavior for setCharEnc, and allow setting a session cookie from an included resource in some cases. Modified: tomcat/tc6.0.x/trunk/java/org/apache/catalina/connector/Request.java tomcat/tc6.0.x/trunk/java/org/apache/catalina/connector/Response.java Modified: tomcat/tc6.0.x/trunk/java/org/apache/catalina/connector/Request.java URL: http://svn.apache.org/viewcvs/tomcat/tc6.0.x/trunk/java/org/apache/catalina/connector/Request.java?rev=391183r1=391182r2=391183view=diff == --- tomcat/tc6.0.x/trunk/java/org/apache/catalina/connector/Request.java (original) +++ tomcat/tc6.0.x/trunk/java/org/apache/catalina/connector/Request.java Mon Apr 3 17:01:51 2006 @@ -1421,6 +1421,9 @@ public void setCharacterEncoding(String enc) throws UnsupportedEncodingException { +if (usingReader) +return; + // Ensure that the specified encoding is valid byte buffer[] = new byte[1]; buffer[0] = (byte) 'a'; @@ -2231,7 +2234,7 @@ Cookie cookie = new Cookie(Globals.SESSION_COOKIE_NAME, session.getIdInternal()); configureSessionCookie(cookie); -response.addCookie(cookie); +response.addCookieInternal(cookie); } if (session != null) { Modified: tomcat/tc6.0.x/trunk/java/org/apache/catalina/connector/Response.java URL: http://svn.apache.org/viewcvs/tomcat/tc6.0.x/trunk/java/org/apache/catalina/connector/Response.java?rev=391183r1=391182r2=391183view=diff == --- tomcat/tc6.0.x/trunk/java/org/apache/catalina/connector/Response.java (original) +++ tomcat/tc6.0.x/trunk/java/org/apache/catalina/connector/Response.java Mon Apr 3 17:01:51 2006 @@ -908,11 +908,24 @@ */ public void addCookie(final Cookie cookie) { -if (isCommitted()) -return; - // Ignore any call from an included servlet if (included) +return; + +addCookieInternal(cookie); + +} + + +/** + * Add the specified Cookie to those that will be included with + * this Response. + * + * @param cookie Cookie to be added + */ +public void addCookieInternal(final Cookie cookie) { + +if (isCommitted()) return; cookies.add(cookie); - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
svn commit: r391184 - in /tomcat/tc6.0.x/trunk/java/org/apache/catalina: core/ApplicationFilterFactory.java deploy/FilterMap.java
Author: remm Date: Mon Apr 3 17:03:14 2006 New Revision: 391184 URL: http://svn.apache.org/viewcvs?rev=391184view=rev Log: - Add support for the new * special URL pattern for filters. Modified: tomcat/tc6.0.x/trunk/java/org/apache/catalina/core/ApplicationFilterFactory.java tomcat/tc6.0.x/trunk/java/org/apache/catalina/deploy/FilterMap.java Modified: tomcat/tc6.0.x/trunk/java/org/apache/catalina/core/ApplicationFilterFactory.java URL: http://svn.apache.org/viewcvs/tomcat/tc6.0.x/trunk/java/org/apache/catalina/core/ApplicationFilterFactory.java?rev=391184r1=391183r2=391184view=diff == --- tomcat/tc6.0.x/trunk/java/org/apache/catalina/core/ApplicationFilterFactory.java (original) +++ tomcat/tc6.0.x/trunk/java/org/apache/catalina/core/ApplicationFilterFactory.java Mon Apr 3 17:03:14 2006 @@ -196,13 +196,18 @@ /** * Return codetrue/code if the context-relative request path * matches the requirements of the specified filter mapping; - * otherwise, return codenull/code. + * otherwise, return codefalse/code. * * @param filterMap Filter mapping being checked * @param requestPath Context-relative request path of this request */ private boolean matchFiltersURL(FilterMap filterMap, String requestPath) { +// Check the specific * special URL pattern, which also matches +// named dispatches +if (filterMap.getAllMatch()) +return (true); + if (requestPath == null) return (false); Modified: tomcat/tc6.0.x/trunk/java/org/apache/catalina/deploy/FilterMap.java URL: http://svn.apache.org/viewcvs/tomcat/tc6.0.x/trunk/java/org/apache/catalina/deploy/FilterMap.java?rev=391184r1=391183r2=391184view=diff == --- tomcat/tc6.0.x/trunk/java/org/apache/catalina/deploy/FilterMap.java (original) +++ tomcat/tc6.0.x/trunk/java/org/apache/catalina/deploy/FilterMap.java Mon Apr 3 17:03:14 2006 @@ -89,6 +89,16 @@ this.servletName = servletName; } + +/** + * The flag that indicates this mapping will match all. + */ +private boolean allMatch = false; + +public boolean getAllMatch() { +return allMatch; +} + /** * The URL pattern this mapping matches. @@ -100,7 +110,11 @@ } public void setURLPattern(String urlPattern) { -this.urlPattern = RequestUtil.URLDecode(urlPattern); +if (*.equals(urlPattern)) { +this.allMatch = true; +} else { +this.urlPattern = RequestUtil.URLDecode(urlPattern); +} } /** - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
svn commit: r391185 - /tomcat/tc6.0.x/trunk/java/org/apache/jasper/servlet/JspCServletContext.java
Author: remm Date: Mon Apr 3 17:03:50 2006 New Revision: 391185 URL: http://svn.apache.org/viewcvs?rev=391185view=rev Log: - Add new method (dummy). Modified: tomcat/tc6.0.x/trunk/java/org/apache/jasper/servlet/JspCServletContext.java Modified: tomcat/tc6.0.x/trunk/java/org/apache/jasper/servlet/JspCServletContext.java URL: http://svn.apache.org/viewcvs/tomcat/tc6.0.x/trunk/java/org/apache/jasper/servlet/JspCServletContext.java?rev=391185r1=391184r2=391185view=diff == --- tomcat/tc6.0.x/trunk/java/org/apache/jasper/servlet/JspCServletContext.java (original) +++ tomcat/tc6.0.x/trunk/java/org/apache/jasper/servlet/JspCServletContext.java Mon Apr 3 17:03:50 2006 @@ -121,6 +121,16 @@ /** + * Return the context path. + */ +public String getContextPath() { + +return (null); + +} + + +/** * Return the specified context initialization parameter. * * @param name Name of the requested parameter - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
svn commit: r391370 - /tomcat/tc6.0.x/trunk/java/org/apache/catalina/connector/CoyoteAdapter.java
Author: remm Date: Tue Apr 4 10:19:42 2006 New Revision: 391370 URL: http://svn.apache.org/viewcvs?rev=391370view=rev Log: - Update poweredby. Modified: tomcat/tc6.0.x/trunk/java/org/apache/catalina/connector/CoyoteAdapter.java Modified: tomcat/tc6.0.x/trunk/java/org/apache/catalina/connector/CoyoteAdapter.java URL: http://svn.apache.org/viewcvs/tomcat/tc6.0.x/trunk/java/org/apache/catalina/connector/CoyoteAdapter.java?rev=391370r1=391369r2=391370view=diff == --- tomcat/tc6.0.x/trunk/java/org/apache/catalina/connector/CoyoteAdapter.java (original) +++ tomcat/tc6.0.x/trunk/java/org/apache/catalina/connector/CoyoteAdapter.java Tue Apr 4 10:19:42 2006 @@ -136,7 +136,7 @@ } if (connector.getXpoweredBy()) { -response.addHeader(X-Powered-By, Servlet/2.4); +response.addHeader(X-Powered-By, Servlet/2.5); } try { - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
svn commit: r391432 - in /tomcat/tc6.0.x/trunk/java/org/apache: catalina/ catalina/core/ catalina/deploy/ catalina/startup/ tomcat/util/digester/
Author: remm Date: Tue Apr 4 15:34:09 2006 New Revision: 391432 URL: http://svn.apache.org/viewcvs?rev=391432view=rev Log: - Add support for multiple servlet and filter mappings. - Fix a bug I found by accident where application listeners are not reinitialized when reloading. - That's all folks, all the useful Servlet 2.5 features are done. Now the annotations ... (sigh) - Reuse the ignoreAnnotations field name from the patch submitted by Fabien Carrion. Modified: tomcat/tc6.0.x/trunk/java/org/apache/catalina/Context.java tomcat/tc6.0.x/trunk/java/org/apache/catalina/core/ApplicationFilterFactory.java tomcat/tc6.0.x/trunk/java/org/apache/catalina/core/StandardContext.java tomcat/tc6.0.x/trunk/java/org/apache/catalina/deploy/FilterMap.java tomcat/tc6.0.x/trunk/java/org/apache/catalina/startup/WebRuleSet.java tomcat/tc6.0.x/trunk/java/org/apache/tomcat/util/digester/CallMethodRule.java Modified: tomcat/tc6.0.x/trunk/java/org/apache/catalina/Context.java URL: http://svn.apache.org/viewcvs/tomcat/tc6.0.x/trunk/java/org/apache/catalina/Context.java?rev=391432r1=391431r2=391432view=diff == --- tomcat/tc6.0.x/trunk/java/org/apache/catalina/Context.java (original) +++ tomcat/tc6.0.x/trunk/java/org/apache/catalina/Context.java Tue Apr 4 15:34:09 2006 @@ -259,6 +259,21 @@ /** + * Return the boolean on the annotations parsing. + */ +public boolean getIgnoreAnnotations(); + + +/** + * Set the boolean on the annotations parsing for this web + * application. + * + * @param ignoreAnnotations The boolean on the annotations parsing + */ +public void setIgnoreAnnotations(boolean ignoreAnnotations); + + +/** * Return the login configuration descriptor for this web application. */ public LoginConfig getLoginConfig(); Modified: tomcat/tc6.0.x/trunk/java/org/apache/catalina/core/ApplicationFilterFactory.java URL: http://svn.apache.org/viewcvs/tomcat/tc6.0.x/trunk/java/org/apache/catalina/core/ApplicationFilterFactory.java?rev=391432r1=391431r2=391432view=diff == --- tomcat/tc6.0.x/trunk/java/org/apache/catalina/core/ApplicationFilterFactory.java (original) +++ tomcat/tc6.0.x/trunk/java/org/apache/catalina/core/ApplicationFilterFactory.java Tue Apr 4 15:34:09 2006 @@ -212,7 +212,30 @@ return (false); // Match on context relative request path -String testPath = filterMap.getURLPattern(); +String[] testPaths = filterMap.getURLPatterns(); + +for (int i = 0; i testPaths.length; i++) { +if (matchFiltersURL(testPaths[i], requestPath)) { +return (true); +} +} + +// No match +return (false); + +} + + +/** + * Return codetrue/code if the context-relative request path + * matches the requirements of the specified filter mapping; + * otherwise, return codefalse/code. + * + * @param testPath URL mapping being checked + * @param requestPath Context-relative request path of this request + */ +private boolean matchFiltersURL(String testPath, String requestPath) { + if (testPath == null) return (false); @@ -268,11 +291,13 @@ if (servletName == null) { return (false); } else { -if (servletName.equals(filterMap.getServletName())) { -return (true); -} else { -return false; +String[] servletNames = filterMap.getServletNames(); +for (int i = 0; i servletNames.length; i++) { +if (servletName.equals(servletNames[i])) { +return (true); +} } +return false; } } Modified: tomcat/tc6.0.x/trunk/java/org/apache/catalina/core/StandardContext.java URL: http://svn.apache.org/viewcvs/tomcat/tc6.0.x/trunk/java/org/apache/catalina/core/StandardContext.java?rev=391432r1=391431r2=391432view=diff == --- tomcat/tc6.0.x/trunk/java/org/apache/catalina/core/StandardContext.java (original) +++ tomcat/tc6.0.x/trunk/java/org/apache/catalina/core/StandardContext.java Tue Apr 4 15:34:09 2006 @@ -301,7 +301,7 @@ private boolean delegate = false; - /** +/** * The display name of this web application. */ private String displayName = null; @@ -360,6 +360,12 @@ /** + * Ignore annotations. + */ +private boolean ignoreAnnotations = false; + + +/** * The set of classnames of InstanceListeners that will be added * to each newly created Wrapper by codecreateWrapper()/code. */ @@ -1301,6 +1307,28 @@ /** + * Return the boolean
svn commit: r391433 - /tomcat/container/tc5.5.x/catalina/src/share/org/apache/catalina/core/StandardContext.java
Author: remm Date: Tue Apr 4 15:46:41 2006 New Revision: 391433 URL: http://svn.apache.org/viewcvs?rev=391433view=rev Log: - Fix a bug I found by accident where application listeners are not reinitialized when reloading. - Port patch. Modified: tomcat/container/tc5.5.x/catalina/src/share/org/apache/catalina/core/StandardContext.java Modified: tomcat/container/tc5.5.x/catalina/src/share/org/apache/catalina/core/StandardContext.java URL: http://svn.apache.org/viewcvs/tomcat/container/tc5.5.x/catalina/src/share/org/apache/catalina/core/StandardContext.java?rev=391433r1=391432r2=391433view=diff == --- tomcat/container/tc5.5.x/catalina/src/share/org/apache/catalina/core/StandardContext.java (original) +++ tomcat/container/tc5.5.x/catalina/src/share/org/apache/catalina/core/StandardContext.java Tue Apr 4 15:46:41 2006 @@ -4446,7 +4446,6 @@ lifecycle.fireLifecycleEvent(DESTROY_EVENT, null); instanceListeners = new String[0]; -applicationListeners = new String[0]; } private void resetContext() throws Exception, MBeanRegistrationException { @@ -4459,6 +4458,10 @@ // Bugzilla 32867 distributable = false; + +applicationListeners = new String[0]; +applicationEventListenersObjects = new Object[0]; +applicationLifecycleListenersObjects = new Object[0]; if(log.isDebugEnabled()) log.debug(resetContext + oname + + mserver); - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
svn commit: r391990 - in /tomcat/tc6.0.x/trunk/java/javax/annotation: ./ security/
Author: remm Date: Thu Apr 6 07:09:45 2006 New Revision: 391990 URL: http://svn.apache.org/viewcvs?rev=391990view=rev Log: - Add common annotations interfaces. - The latest docs seem to indicate that it's Declare*s*Roles. Added: tomcat/tc6.0.x/trunk/java/javax/annotation/ tomcat/tc6.0.x/trunk/java/javax/annotation/Generated.java tomcat/tc6.0.x/trunk/java/javax/annotation/PostConstruct.java tomcat/tc6.0.x/trunk/java/javax/annotation/PreDestroy.java tomcat/tc6.0.x/trunk/java/javax/annotation/Resource.java tomcat/tc6.0.x/trunk/java/javax/annotation/Resources.java tomcat/tc6.0.x/trunk/java/javax/annotation/security/ tomcat/tc6.0.x/trunk/java/javax/annotation/security/DeclaresRoles.java tomcat/tc6.0.x/trunk/java/javax/annotation/security/DenyAll.java tomcat/tc6.0.x/trunk/java/javax/annotation/security/PermitAll.java tomcat/tc6.0.x/trunk/java/javax/annotation/security/RolesAllowed.java tomcat/tc6.0.x/trunk/java/javax/annotation/security/RunAs.java Added: tomcat/tc6.0.x/trunk/java/javax/annotation/Generated.java URL: http://svn.apache.org/viewcvs/tomcat/tc6.0.x/trunk/java/javax/annotation/Generated.java?rev=391990view=auto == --- tomcat/tc6.0.x/trunk/java/javax/annotation/Generated.java (added) +++ tomcat/tc6.0.x/trunk/java/javax/annotation/Generated.java Thu Apr 6 07:09:45 2006 @@ -0,0 +1,40 @@ +/* + * Copyright 2006 The Apache Software Foundation. + * + * Licensed 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 javax.annotation; + +import static java.lang.annotation.ElementType.ANNOTATION_TYPE; +import static java.lang.annotation.ElementType.CONSTRUCTOR; +import static java.lang.annotation.ElementType.FIELD; +import static java.lang.annotation.ElementType.LOCAL_VARIABLE; +import static java.lang.annotation.ElementType.METHOD; +import static java.lang.annotation.ElementType.PACKAGE; +import static java.lang.annotation.ElementType.PARAMETER; +import static java.lang.annotation.ElementType.TYPE; +import static java.lang.annotation.RetentionPolicy.SOURCE; + +import java.lang.annotation.Retention; +import java.lang.annotation.Target; + [EMAIL PROTECTED]({ANNOTATION_TYPE, CONSTRUCTOR, FIELD, LOCAL_VARIABLE, METHOD, PACKAGE, PARAMETER, TYPE}) [EMAIL PROTECTED](SOURCE) + +public @interface Generated { +public String[] value(); +public String date() default ; +public String comment() default ; +} Added: tomcat/tc6.0.x/trunk/java/javax/annotation/PostConstruct.java URL: http://svn.apache.org/viewcvs/tomcat/tc6.0.x/trunk/java/javax/annotation/PostConstruct.java?rev=391990view=auto == --- tomcat/tc6.0.x/trunk/java/javax/annotation/PostConstruct.java (added) +++ tomcat/tc6.0.x/trunk/java/javax/annotation/PostConstruct.java Thu Apr 6 07:09:45 2006 @@ -0,0 +1,29 @@ +/* + * Copyright 2006 The Apache Software Foundation. + * + * Licensed 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 javax.annotation; + +import static java.lang.annotation.ElementType.METHOD; +import static java.lang.annotation.RetentionPolicy.RUNTIME; + +import java.lang.annotation.Retention; +import java.lang.annotation.Target; + [EMAIL PROTECTED]({METHOD}) [EMAIL PROTECTED](RUNTIME) +public @interface PostConstruct { +} Added: tomcat/tc6.0.x/trunk/java/javax/annotation/PreDestroy.java URL: http://svn.apache.org/viewcvs/tomcat/tc6.0.x/trunk/java/javax/annotation/PreDestroy.java?rev=391990view=auto == --- tomcat/tc6.0.x/trunk/java/javax/annotation/PreDestroy.java (added) +++ tomcat/tc6.0.x/trunk/java/javax/annotation/PreDestroy.java Thu Apr 6 07:09:45 2006 @@ -0,0 +1,29 @@ +/* + * Copyright 2006 The Apache Software Foundation. + * + * Licensed under the Apache License, Version 2.0 (the License); + * you may not use this file except
svn commit: r391991 - in /tomcat/tc6.0.x/trunk/java/org/apache/catalina: deploy/ContextService.java deploy/NamingResources.java startup/WebRuleSet.java
Author: remm Date: Thu Apr 6 07:13:54 2006 New Revision: 391991 URL: http://svn.apache.org/viewcvs?rev=391991view=rev Log: - Add support (note: not in NamingContextListener yet) for service-ref (after all, there's support for all other elements, so ...). - Submitted by Fabien Carrion. Added: tomcat/tc6.0.x/trunk/java/org/apache/catalina/deploy/ContextService.java Modified: tomcat/tc6.0.x/trunk/java/org/apache/catalina/deploy/NamingResources.java tomcat/tc6.0.x/trunk/java/org/apache/catalina/startup/WebRuleSet.java Added: tomcat/tc6.0.x/trunk/java/org/apache/catalina/deploy/ContextService.java URL: http://svn.apache.org/viewcvs/tomcat/tc6.0.x/trunk/java/org/apache/catalina/deploy/ContextService.java?rev=391991view=auto == --- tomcat/tc6.0.x/trunk/java/org/apache/catalina/deploy/ContextService.java (added) +++ tomcat/tc6.0.x/trunk/java/org/apache/catalina/deploy/ContextService.java Thu Apr 6 07:13:54 2006 @@ -0,0 +1,235 @@ +/* + * Copyright 2006 The Apache Software Foundation. + * + * Licensed 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.catalina.deploy; + +import java.io.Serializable; + +/** + * Representation of a web service reference for a web application, as + * represented in a codelt;service-refgt;/code element in the + * deployment descriptor. + * + * @author Fabien Carrion + * @version $Revision: 303342 $ $Date: 2005-03-15 23:29:49 -0700 (Web, 15 Mar 2006) $ + */ + +public class ContextService extends ResourceBase implements Serializable { + + +// - Properties + + +/** + * The WebService reference name. + */ +private String displayname = null; + +public String getDisplayname() { +return (this.displayname); +} + +public void setDisplayname(String displayname) { +this.displayname = displayname; +} + +/** + * An icon for this WebService. + */ +private String icon = null; + +public String getIcon() { +return (this.icon); +} + +public void setIcon(String icon) { +this.icon = icon; +} + +/** + * An icon for this WebService. + */ +private String serviceinterface = null; + +public String getServiceinterface() { +return (this.serviceinterface); +} + +public void setServiceinterface(String serviceinterface) { +this.serviceinterface = serviceinterface; +} + +/** + * Contains the location (relative to the root of + * the module) of the web service WSDL description. + */ +private String wsdlfile = null; + +public String getWsdlfile() { +return (this.wsdlfile); +} + +public void setWsdlfile(String wsdlfile) { +this.wsdlfile = wsdlfile; +} + +/** + * A file specifying the correlation of the WSDL definition + * to the interfaces (Service Endpoint Interface, Service Interface). + */ +private String jaxrpcmappingfile = null; + +public String getJaxrpcmappingfile() { +return (this.jaxrpcmappingfile); +} + +public void setJaxrpcmappingfile(String jaxrpcmappingfile) { +this.jaxrpcmappingfile = jaxrpcmappingfile; +} + +/** + * Declares the specific WSDL service element that is being referred to. + * It is not specified if no wsdl-file is declared or if WSDL contains only + * 1 service element. + * + * A service-qname is composed by a namespaceURI and a localpart. + * It must be defined if more than 1 service is declared in the WSDL. + * + * serviceqname[0] : namespaceURI + * serviceqname[1] : localpart + */ +private String[] serviceqname = new String[2]; + +public String[] getServiceqname() { +return (this.serviceqname); +} + +public void setServiceqname(String[] serviceqname) { +this.serviceqname = serviceqname; +} + +public void setServiceqname(String serviceqname, int i) { +this.serviceqname[i] = serviceqname; +} + +public void setNamespaceURI(String namespaceuri) { +this.serviceqname[0] = namespaceuri; +} + +public void setLocalpart(String localpart) { +this.serviceqname[1] = localpart; +} + +/** + * Declares a client dependency on the container to resolving a Service Endpoint Interface + * to a WSDL port. It optionally associates the Service
svn commit: r391995 - /tomcat/tc6.0.x/trunk/build.xml
Author: remm Date: Thu Apr 6 07:29:14 2006 New Revision: 391995 URL: http://svn.apache.org/viewcvs?rev=391995view=rev Log: - Add annotations JAR. Modified: tomcat/tc6.0.x/trunk/build.xml Modified: tomcat/tc6.0.x/trunk/build.xml URL: http://svn.apache.org/viewcvs/tomcat/tc6.0.x/trunk/build.xml?rev=391995r1=391994r2=391995view=diff == --- tomcat/tc6.0.x/trunk/build.xml (original) +++ tomcat/tc6.0.x/trunk/build.xml Thu Apr 6 07:29:14 2006 @@ -37,6 +37,7 @@ !-- JAR artifacts -- property name=bootstrap.jar value=${tomcat.build}/bin/bootstrap.jar/ + property name=annotations-api.jar value=${tomcat.build}/lib/annotations-api.jar/ property name=servlet-api.jar value=${tomcat.build}/lib/servlet-api.jar/ property name=jsp-api.jar value=${tomcat.build}/lib/jsp-api.jar/ property name=el-api.jar value=${tomcat.build}/lib/el-api.jar/ @@ -100,6 +101,16 @@ target name=build-only depends=build-prepare,compile,package / target name=package + +!-- Common Annotations 1.0 JAR File -- +jar jarfile=${annotations-api.jar} + fileset dir=${tomcat.classes} +include name=javax/annotation/** / +!-- Javadoc and i18n exclusions -- +exclude name=**/package.html / +exclude name=**/LocalStrings_* / + /fileset +/jar !-- Servlet 2.5 Implementation JAR File -- jar jarfile=${servlet-api.jar} - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
svn commit: r392122 - /tomcat/tc6.0.x/trunk/java/javax/annotation/Resource.java
Author: remm Date: Thu Apr 6 16:44:36 2006 New Revision: 392122 URL: http://svn.apache.org/viewcvs?rev=392122view=rev Log: - I don't know if this field is legitimate or not, but it's used by the rest of the patch. I'll check it. Modified: tomcat/tc6.0.x/trunk/java/javax/annotation/Resource.java Modified: tomcat/tc6.0.x/trunk/java/javax/annotation/Resource.java URL: http://svn.apache.org/viewcvs/tomcat/tc6.0.x/trunk/java/javax/annotation/Resource.java?rev=392122r1=392121r2=392122view=diff == --- tomcat/tc6.0.x/trunk/java/javax/annotation/Resource.java (original) +++ tomcat/tc6.0.x/trunk/java/javax/annotation/Resource.java Thu Apr 6 16:44:36 2006 @@ -37,4 +37,5 @@ public AuthenticationType authenticationType() default AuthenticationType.CONTAINER; public boolean shareable() default true; public String description() default ; +public String mappedName(); } - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
svn commit: r393198 - /tomcat/container/tc5.5.x/catalina/src/share/org/apache/catalina/core/AprLifecycleListener.java
Author: remm Date: Tue Apr 11 05:17:19 2006 New Revision: 393198 URL: http://svn.apache.org/viewcvs?rev=393198view=rev Log: - Update version number. Modified: tomcat/container/tc5.5.x/catalina/src/share/org/apache/catalina/core/AprLifecycleListener.java Modified: tomcat/container/tc5.5.x/catalina/src/share/org/apache/catalina/core/AprLifecycleListener.java URL: http://svn.apache.org/viewcvs/tomcat/container/tc5.5.x/catalina/src/share/org/apache/catalina/core/AprLifecycleListener.java?rev=393198r1=393197r2=393198view=diff == --- tomcat/container/tc5.5.x/catalina/src/share/org/apache/catalina/core/AprLifecycleListener.java (original) +++ tomcat/container/tc5.5.x/catalina/src/share/org/apache/catalina/core/AprLifecycleListener.java Tue Apr 11 05:17:19 2006 @@ -52,7 +52,7 @@ protected static final int REQUIRED_MAJOR = 1; protected static final int REQUIRED_MINOR = 1; -protected static final int REQUIRED_PATCH = 2; +protected static final int REQUIRED_PATCH = 3; // -- LifecycleListener Methods - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
svn commit: r393199 - in /tomcat/build/tc5.5.x: build.properties.default tomcat.nsi
Author: remm Date: Tue Apr 11 05:17:55 2006 New Revision: 393199 URL: http://svn.apache.org/viewcvs?rev=393199view=rev Log: - New tcnative version numbers and locations. Modified: tomcat/build/tc5.5.x/build.properties.default tomcat/build/tc5.5.x/tomcat.nsi Modified: tomcat/build/tc5.5.x/build.properties.default URL: http://svn.apache.org/viewcvs/tomcat/build/tc5.5.x/build.properties.default?rev=393199r1=393198r2=393199view=diff == --- tomcat/build/tc5.5.x/build.properties.default (original) +++ tomcat/build/tc5.5.x/build.properties.default Tue Apr 11 05:17:55 2006 @@ -142,9 +142,9 @@ # - Tomcat native library - -tomcat-native.home=${base.path}/tomcat-native-1.1.2 +tomcat-native.home=${base.path}/tomcat-native-1.1.3 tomcat-native.tar.gz=${tomcat-native.home}/tomcat-native.tar.gz -tomcat-native.loc=${base-tomcat.loc}/tomcat-connectors/native/tomcat-native-1.1.2.tar.gz +tomcat-native.loc=${base-tomcat.loc}/tomcat-connectors/native/tomcat-native-1.1.3.tar.gz # -- Modified: tomcat/build/tc5.5.x/tomcat.nsi URL: http://svn.apache.org/viewcvs/tomcat/build/tc5.5.x/tomcat.nsi?rev=393199r1=393198r2=393199view=diff == --- tomcat/build/tc5.5.x/tomcat.nsi (original) +++ tomcat/build/tc5.5.x/tomcat.nsi Tue Apr 11 05:17:55 2006 @@ -203,11 +203,11 @@ SectionIn 3 - NSISdl::download /TIMEOUT=3 http://tomcat.heanet.ie/native/1.1.2/binaries/win32/tcnative-1.dll $INSTDIR\bin\tcnative-1.dll + NSISdl::download /TIMEOUT=3 http://tomcat.heanet.ie/native/1.1.3/binaries/win32/tcnative-1.dll $INSTDIR\bin\tcnative-1.dll Pop $0 StrCmp $0 success success SetDetailsView show -DetailPrint download failed from http://tomcat.heanet.ie/native/1.1.2/binaries/win32/tcnative-1.dll: $0 +DetailPrint download failed from http://tomcat.heanet.ie/native/1.1.3/binaries/win32/tcnative-1.dll: $0 success: ClearErrors - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]