Likely bug in org.apache.jasper.servlet.JspServlet (Tomcat 5)
I think i found a bug in Tomcat 5 implementation (J2EE 1.4-DR). I would highly appreciate if somebody could provide a brief description of what includeUri, and requestUri below stand for. I looked at the comments in Constants, but can't make out a lot out of them. Please see my comment below. org.apache.jasper.servlet.JspServlet.service() starting on line 190: String includeUri = (String) request.getAttribute(Constants.INC_SERVLET_PATH); String requestUri = (String) request.getAttribute(Constants.INC_REQUEST_URI); String jspUri; // When jsp-property-group/url-matching is used, and when the // jsp is not defined with servlet-name, the url // as to be passed as it is to the JSP container (since // Catalina doesn't know anything about the requested JSP // The first scenario occurs when the jsp is not directly under / // example: /utf16/foo.jsp if (requestUri != null){ // This is pretty unsafe syntax, and i do get an exception here, which is the only reason why i can't migrate my app to J2EE 1.4-DR! /// String currentIncludedUri = requestUri.substring(requestUri.indexOf(includeUri)); if ( !includeUri.equals(currentIncludedUri) ) { includeUri = currentIncludedUri; } } P.S. On a positive note, the custom error pages do work in DR, as opposed to Beta 2. -- Sincerely, Reshat. --- If you see my certificate with this message, you should be able to send me encrypted e-mail. Please consult your e-mail client for details if you would like to do that. smime.p7s Description: S/MIME Cryptographic Signature
AbstractMethodError
Hi, I am writing in connection with tomcat. I would like to use openorb-1.3.1 on linux. But the servlet (it is started through tomcat) cannot work. The following error msg appears: Location: /Toolbox/servlet/ToolboxGenerator Internal Servlet Error: java.lang.AbstractMethodError at org.openorb.CORBA.kernel.Configurator.handleXMLImport(Unknown Source) at org.openorb.CORBA.kernel.Configurator.(Unknown Source) at org.openorb.CORBA.kernel.OpenORBLoader.init(Unknown Source) at org.openorb.CORBA.ORB.set_parameters(Unknown Source) at org.omg.CORBA.ORB.init(ORB.java:324) at se.ericsson.lmc.Toolbox.LoginManager.getOrb(LoginManager.java:44) at se.ericsson.lmc.Toolbox.LoginManager.(LoginManager.java:58) at se.ericsson.lmc.Toolbox.ToolboxGenerator.service(ToolboxGenerator.java:111) at javax.servlet.http.HttpServlet.service(HttpServlet.java:853) at org.apache.tomcat.core.ServletWrapper.doService(ServletWrapper.java:405) at org.apache.tomcat.core.Handler.service(Handler.java:287) at org.apache.tomcat.core.ServletWrapper.service(ServletWrapper.java:372) at org.apache.tomcat.core.ContextManager.internalService(ContextManager.java:812) at org.apache.tomcat.core.ContextManager.service(ContextManager.java:758) at org.apache.tomcat.service.connector.Ajp12ConnectionHandler.processConnection(Ajp12ConnectionHandler.java:166) at org.apache.tomcat.service.TcpWorkerThread.runIt(PoolTcpEndpoint.java:416) at org.apache.tomcat.util.ThreadPool$ControlRunnable.run(ThreadPool.java:501) at java.lang.Thread.run(Thread.java:479) The appropriate jar files are in the classpath of tomcat: logkit.jar, avalon-framework.jar, openorb-1.3.1.jar, xerces.jar I suspect other class and method is called instead of the one being in xerces.jar (If parser.jar is before xerces.jar in the CLASSPATH, then NoSuchMethodError is written ) thank you for the help in advance: Katalin Fonagy - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
cvs commit: jakarta-tomcat-4.0/catalina/src/share/org/apache/catalina/servlets WebdavServlet.java
markt 2003/12/10 13:36:05 Modified:catalina/src/share/org/apache/catalina/servlets WebdavServlet.java Log: - Fix bug 23999, 24001, 24005 Revision ChangesPath 1.30 +122 -96 jakarta-tomcat-4.0/catalina/src/share/org/apache/catalina/servlets/WebdavServlet.java Index: WebdavServlet.java === RCS file: /home/cvs/jakarta-tomcat-4.0/catalina/src/share/org/apache/catalina/servlets/WebdavServlet.java,v retrieving revision 1.29 retrieving revision 1.30 diff -u -r1.29 -r1.30 --- WebdavServlet.java6 Oct 2003 12:24:01 - 1.29 +++ WebdavServlet.java10 Dec 2003 21:36:05 - 1.30 @@ -65,60 +65,39 @@ package org.apache.catalina.servlets; -import java.io.BufferedInputStream; -import java.io.File; -import java.io.FileInputStream; -import java.io.InputStream; import java.io.IOException; -import java.io.PrintWriter; import java.io.StringWriter; import java.io.Writer; -import java.net.MalformedURLException; -import java.net.URL; -import java.sql.Timestamp; +import java.text.SimpleDateFormat; import java.util.Date; import java.util.Enumeration; -import java.util.Vector; -import java.util.Stack; -import java.util.StringTokenizer; -import java.util.Locale; import java.util.Hashtable; -import java.util.Calendar; +import java.util.Stack; import java.util.TimeZone; -import java.text.ParseException; -import java.text.SimpleDateFormat; -import java.security.MessageDigest; -import java.security.NoSuchAlgorithmException; -import org.w3c.dom.Node; -import org.w3c.dom.NodeList; -import org.w3c.dom.Element; -import org.w3c.dom.Document; -import org.xml.sax.InputSource; -import javax.servlet.RequestDispatcher; +import java.util.Vector; + +import javax.naming.NameClassPair; +import javax.naming.NamingEnumeration; +import javax.naming.NamingException; +import javax.naming.directory.DirContext; import javax.servlet.ServletException; -import javax.servlet.ServletContext; -import javax.servlet.ServletOutputStream; -import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import javax.xml.parsers.DocumentBuilder; import javax.xml.parsers.DocumentBuilderFactory; import javax.xml.parsers.ParserConfigurationException; -import javax.naming.NamingException; -import javax.naming.InitialContext; -import javax.naming.Context; -import javax.naming.NamingEnumeration; -import javax.naming.NameClassPair; -import javax.naming.directory.DirContext; -import javax.naming.directory.Attribute; -import javax.naming.directory.Attributes; -import org.apache.naming.resources.Resource; -import org.apache.naming.resources.ResourceAttributes; -import org.apache.catalina.util.MD5Encoder; -import org.apache.catalina.util.StringManager; -import org.apache.catalina.util.XMLWriter; + import org.apache.catalina.util.DOMWriter; import org.apache.catalina.util.RequestUtil; +import org.apache.catalina.util.XMLWriter; +import org.apache.naming.resources.Resource; +import org.apache.tomcat.util.http.FastHttpDateFormat; +import org.w3c.dom.Document; +import org.w3c.dom.Element; +import org.w3c.dom.Node; +import org.w3c.dom.NodeList; +import org.xml.sax.InputSource; +import org.xml.sax.SAXException; /** @@ -134,7 +113,7 @@ // -- Constants - + private static final String METHOD_HEAD = HEAD; private static final String METHOD_PROPFIND = PROPFIND; @@ -359,11 +338,8 @@ protected void doOptions(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { -String path = getRelativePath(req); - resp.addHeader(DAV, 1,2); -String methodsAllowed = null; - + // Retrieve the resources DirContext resources = getResources(); @@ -372,28 +348,10 @@ return; } -boolean exists = true; -Object object = null; -try { -object = resources.lookup(path); -} catch (NamingException e) { -exists = false; -} - -if (!exists) { -methodsAllowed = OPTIONS, MKCOL, PUT, LOCK; -resp.addHeader(Allow, methodsAllowed); -return; -} - -methodsAllowed = OPTIONS, GET, HEAD, POST, DELETE, TRACE, -+ PROPFIND, PROPPATCH, COPY, MOVE, LOCK, UNLOCK; -if (!(object instanceof DirContext)) { -methodsAllowed += , PUT; -} - -resp.addHeader(Allow, methodsAllowed); +StringBuffer methodsAllowed = determineMethodsAllowed(resources, +
cvs commit: jakarta-tomcat-4.0/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/connector SaveConnectorAction.java
markt 2003/12/10 15:05:05 Modified:webapps/admin/WEB-INF/classes/org/apache/webapp/admin/connector SaveConnectorAction.java Log: - Fix bug 24771: Unable to create new connector Revision ChangesPath 1.12 +11 -12 jakarta-tomcat-4.0/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/connector/SaveConnectorAction.java Index: SaveConnectorAction.java === RCS file: /home/cvs/jakarta-tomcat-4.0/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/connector/SaveConnectorAction.java,v retrieving revision 1.11 retrieving revision 1.12 diff -u -r1.11 -r1.12 --- SaveConnectorAction.java 16 May 2002 20:05:50 - 1.11 +++ SaveConnectorAction.java 10 Dec 2003 23:05:05 - 1.12 @@ -62,17 +62,11 @@ package org.apache.webapp.admin.connector; import java.net.URLEncoder; -import java.util.Iterator; import java.util.Locale; import java.io.IOException; import javax.management.Attribute; import javax.management.MBeanServer; -import javax.management.MBeanServerFactory; -import javax.management.QueryExp; -import javax.management.Query; -import javax.management.ObjectInstance; import javax.management.ObjectName; -import javax.management.JMException; import javax.servlet.ServletException; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; @@ -177,11 +171,16 @@ String serviceName = cform.getServiceName(); +String address = cform.getAddress(); +if (address.compareTo() == 0) { +address = null; +} + ObjectName oname = new ObjectName(TomcatTreeBuilder.CONNECTOR_TYPE + ,service= + serviceName + ,port= + cform.getPortText() + - ,address= + cform.getAddress()); + ,address= + address); // Ensure that the requested connector name is unique if (mBServer.isRegistered(oname)) { @@ -200,7 +199,7 @@ values = new Object[3]; values[0] = // parent TomcatTreeBuilder.SERVICE_TYPE + ,name= + serviceName; -values[1] = cform.getAddress(); +values[1] = address; values[2] = new Integer(cform.getPortText()); if (HTTP.equalsIgnoreCase(connectorType)) { - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
DO NOT REPLY [Bug 16541] - jndi realm role search cannot handle \ in user dn correctly
DO NOT REPLY TO THIS EMAIL, BUT PLEASE POST YOUR BUG RELATED COMMENTS THROUGH THE WEB INTERFACE AVAILABLE AT http://nagoya.apache.org/bugzilla/show_bug.cgi?id=16541. ANY REPLY MADE TO THIS MESSAGE WILL NOT BE COLLECTED AND INSERTED IN THE BUG DATABASE. http://nagoya.apache.org/bugzilla/show_bug.cgi?id=16541 jndi realm role search cannot handle \ in user dn correctly [EMAIL PROTECTED] changed: What|Removed |Added Status|NEW |RESOLVED Resolution||DUPLICATE --- Additional Comments From [EMAIL PROTECTED] 2003-12-11 08:16 --- *** This bug has been marked as a duplicate of 23190 *** - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
DO NOT REPLY [Bug 23190] - JNDIRealm doesn't escape search filters
DO NOT REPLY TO THIS EMAIL, BUT PLEASE POST YOUR BUG RELATED COMMENTS THROUGH THE WEB INTERFACE AVAILABLE AT http://nagoya.apache.org/bugzilla/show_bug.cgi?id=23190. ANY REPLY MADE TO THIS MESSAGE WILL NOT BE COLLECTED AND INSERTED IN THE BUG DATABASE. http://nagoya.apache.org/bugzilla/show_bug.cgi?id=23190 JNDIRealm doesn't escape search filters [EMAIL PROTECTED] changed: What|Removed |Added CC||[EMAIL PROTECTED] --- Additional Comments From [EMAIL PROTECTED] 2003-12-11 08:16 --- *** Bug 16541 has been marked as a duplicate of this bug. *** - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: AbstractMethodError
You could try asking on the users list for more info. TC 3.2.x has been unsupported for a very long time. The only advice I can offer is to upgrade to a supported version of Tomcat (e.g. 3.3.x, 4.1.x, 5.0.x). - Original Message - From: Katalin Fónagy (IJ/ETH) [EMAIL PROTECTED] To: [EMAIL PROTECTED] Sent: Wednesday, December 10, 2003 3:04 AM Subject: AbstractMethodError Hi, I am writing in connection with tomcat. I would like to use openorb-1.3.1 on linux. But the servlet (it is started through tomcat) cannot work. The following error msg appears: Location: /Toolbox/servlet/ToolboxGenerator Internal Servlet Error: java.lang.AbstractMethodError at org.openorb.CORBA.kernel.Configurator.handleXMLImport(Unknown Source) at org.openorb.CORBA.kernel.Configurator.(Unknown Source) at org.openorb.CORBA.kernel.OpenORBLoader.init(Unknown Source) at org.openorb.CORBA.ORB.set_parameters(Unknown Source) at org.omg.CORBA.ORB.init(ORB.java:324) at se.ericsson.lmc.Toolbox.LoginManager.getOrb(LoginManager.java:44) at se.ericsson.lmc.Toolbox.LoginManager.(LoginManager.java:58) at se.ericsson.lmc.Toolbox.ToolboxGenerator.service(ToolboxGenerator.java:111) at javax.servlet.http.HttpServlet.service(HttpServlet.java:853) at org.apache.tomcat.core.ServletWrapper.doService(ServletWrapper.java:405) at org.apache.tomcat.core.Handler.service(Handler.java:287) at org.apache.tomcat.core.ServletWrapper.service(ServletWrapper.java:372) at org.apache.tomcat.core.ContextManager.internalService(ContextManager.java:81 2) at org.apache.tomcat.core.ContextManager.service(ContextManager.java:758) at org.apache.tomcat.service.connector.Ajp12ConnectionHandler.processConnection (Ajp12ConnectionHandler.java:166) at org.apache.tomcat.service.TcpWorkerThread.runIt(PoolTcpEndpoint.java:416) at org.apache.tomcat.util.ThreadPool$ControlRunnable.run(ThreadPool.java:501) at java.lang.Thread.run(Thread.java:479) The appropriate jar files are in the classpath of tomcat: logkit.jar, avalon-framework.jar, openorb-1.3.1.jar, xerces.jar I suspect other class and method is called instead of the one being in xerces.jar (If parser.jar is before xerces.jar in the CLASSPATH, then NoSuchMethodError is written ) thank you for the help in advance: Katalin Fonagy - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] This message is intended only for the use of the person(s) listed above as the intended recipient(s), and may contain information that is PRIVILEGED and CONFIDENTIAL. If you are not an intended recipient, you may not read, copy, or distribute this message or any attachment. If you received this communication in error, please notify us immediately by e-mail and then delete all copies of this message and any attachments. In addition you should be aware that ordinary (unencrypted) e-mail sent through the Internet is not secure. Do not send confidential or sensitive information, such as social security numbers, account numbers, personal identification numbers and passwords, to us via ordinary (unencrypted) e-mail. - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: Likely bug in org.apache.jasper.servlet.JspServlet (Tomcat 5)
Reshat Sabiq wrote: I think i found a bug in Tomcat 5 implementation (J2EE 1.4-DR). I would highly appreciate if somebody could provide a brief description of what includeUri, and requestUri below stand for. I looked at the comments in Constants, but can't make out a lot out of them. Please see my comment below. org.apache.jasper.servlet.JspServlet.service() starting on line 190: String includeUri = (String) request.getAttribute(Constants.INC_SERVLET_PATH); String requestUri = (String) request.getAttribute(Constants.INC_REQUEST_URI); String jspUri; // When jsp-property-group/url-matching is used, and when the // jsp is not defined with servlet-name, the url // as to be passed as it is to the JSP container (since // Catalina doesn't know anything about the requested JSP // The first scenario occurs when the jsp is not directly under / // example: /utf16/foo.jsp if (requestUri != null){ // This is pretty unsafe syntax, and i do get an exception here, which is the only reason why i can't migrate my app to J2EE 1.4-DR! /// String currentIncludedUri = requestUri.substring(requestUri.indexOf(includeUri)); if ( !includeUri.equals(currentIncludedUri) ) { includeUri = currentIncludedUri; } } P.S. On a positive note, the custom error pages do work in DR, as opposed to Beta 2. This works fine for me. How about telling us what kind of include causes your bug, and the exception you get ? Rémy - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: cvs commit: jakarta-tomcat-catalina/catalina/src/share/org/apache/catalina/realm RealmBase.java
[EMAIL PROTECTED] wrote: billbarker2003/12/10 21:50:39 Modified:catalina/src/share/org/apache/catalina Realm.java catalina/src/share/org/apache/catalina/authenticator AuthenticatorBase.java catalina/src/share/org/apache/catalina/realm RealmBase.java Log: First attempt to get Tomcat compliant with the Servlet 2.4 Spec for AA. This one isn't very efficient (but not much worse than it was before :). Longer term, I'm looking to modify the j-t-c mapper to be able to return a Collection of mapped objects, and use that. In that case it could also be used for Filter mappings. Filter mapping is simple, and should be efficient enough right now. It was really horrible in 4.1.x (except if somehow all filters are mapped to /* or the exact path :-D), and is obviously used a lot more in 5.0.x, so I did fix it. I was planning to use something fancy when I noticed the requirements for this algorithm: - we have try all the mappings in order, which voids any possible optimization - I think we only have a String at our disposal for filter mapping: getting a char array would remove any performance benefit - we don't have to generate any paths or similar stuff from the mapping results - there was this regionMatches method in String that could do that matching test efficiently And the profiler seems happy :) Maybe it's lying though. For the contraint mapping, since we also have to test them all and return yes/no for each, I recommend using a similar custom algorithm. This version is just to get a Spec compliant version out there that can be tested. Rémy - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
DO NOT REPLY [Bug 25415] - in JSTL fmt Multiple setLocale work is not compatible JSTL 1.1 specif
DO NOT REPLY TO THIS EMAIL, BUT PLEASE POST YOUR BUG RELATED COMMENTS THROUGH THE WEB INTERFACE AVAILABLE AT http://nagoya.apache.org/bugzilla/show_bug.cgi?id=25415. ANY REPLY MADE TO THIS MESSAGE WILL NOT BE COLLECTED AND INSERTED IN THE BUG DATABASE. http://nagoya.apache.org/bugzilla/show_bug.cgi?id=25415 in JSTL fmt Multiple setLocale work is not compatible JSTL 1.1 specif --- Additional Comments From [EMAIL PROTECTED] 2003-12-11 09:41 --- This does work. However, you need to remove your work directory (or only the generated JSP if you know what you're doing) to force a recompilation of the JSP. - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
RE: Jetty Architecture
Hi, I got your diagrams -- they're great! They're about 80% of what I was looking to do. I'm just going to add a little overview and that's about it. I'll post the completed web page on my apache account for you to see before I put it in CVS or anything like that. Thanks, Yoav Shapira Millennium ChemInformatics -Original Message- From: Jeanfrancois Arcand [mailto:[EMAIL PROTECTED] Sent: Wednesday, December 10, 2003 4:33 PM To: Tomcat Developers List Subject: Re: Jetty Architecture Shapira, Yoav wrote: Hi, I like this page: http://jetty.mortbay.org/jetty/doc/JettyArchitecture.html. Does anyone have anything close to this for tomcat, or would I need to create one from scratch? I have something very similar if you want them. Those are basic UML diagram I did a long time ago. Just check your inbox :-) -- Jeanfrancois Yoav Shapira Millennium ChemInformatics This e-mail, including any attachments, is a confidential business communication, and may contain information that is confidential, proprietary and/or privileged. This e-mail is intended only for the individual(s) to whom it is addressed, and may not be saved, copied, printed, disclosed or used by anyone else. If you are not the(an) intended recipient, please immediately delete this e-mail from your computer system and notify the sender. Thank you. - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] This e-mail, including any attachments, is a confidential business communication, and may contain information that is confidential, proprietary and/or privileged. This e-mail is intended only for the individual(s) to whom it is addressed, and may not be saved, copied, printed, disclosed or used by anyone else. If you are not the(an) intended recipient, please immediately delete this e-mail from your computer system and notify the sender. Thank you. - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: Jetty Architecture
Hello, On Wed, 2003-12-10 at 16:08, Filip Hanik wrote: I have a basic doc (text no pictures) one page that describes some of this, let me see if I can dig it up for you, but your diagram would be much bigger :), since the number of components in Tomcat is slightly more complex than Jetty Can you send this to me if you find it, i'm just starting to dig into the tomcat source and it would be very helpful. And Jeanfrancois wrote: I have something very similar if you want them. Those are basic UML diagram I did a long time ago. Just check your inbox :-) May i also have your diagrams please. thanks dave On Wed, 2003-12-10 at 16:08, Filip Hanik wrote: I have a basic doc (text no pictures) one page that describes some of this, let me see if I can dig it up for you, but your diagram would be much bigger :), since the number of components in Tomcat is slightly more complex than Jetty Filip - Original Message - From: Shapira, Yoav [EMAIL PROTECTED] To: [EMAIL PROTECTED] Sent: Wednesday, December 10, 2003 12:50 PM Subject: Jetty Architecture Hi, I like this page: http://jetty.mortbay.org/jetty/doc/JettyArchitecture.html. Does anyone have anything close to this for tomcat, or would I need to create one from scratch? Yoav Shapira Millennium ChemInformatics This e-mail, including any attachments, is a confidential business communication, and may contain information that is confidential, proprietary and/or privileged. This e-mail is intended only for the individual(s) to whom it is addressed, and may not be saved, copied, printed, disclosed or used by anyone else. If you are not the(an) intended recipient, please immediately delete this e-mail from your computer system and notify the sender. Thank you. - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
RE: Jetty Architecture
Howdy, If you can wait a couple of days, let me finish what I'm adding to the document and I think you'll find the result more useful. ;) Yoav Shapira Millennium ChemInformatics -Original Message- From: David Evans [mailto:[EMAIL PROTECTED] Sent: Thursday, December 11, 2003 9:34 AM To: Tomcat Developers List Subject: Re: Jetty Architecture Hello, On Wed, 2003-12-10 at 16:08, Filip Hanik wrote: I have a basic doc (text no pictures) one page that describes some of this, let me see if I can dig it up for you, but your diagram would be much bigger :), since the number of components in Tomcat is slightly more complex than Jetty Can you send this to me if you find it, i'm just starting to dig into the tomcat source and it would be very helpful. And Jeanfrancois wrote: I have something very similar if you want them. Those are basic UML diagram I did a long time ago. Just check your inbox :-) May i also have your diagrams please. thanks dave On Wed, 2003-12-10 at 16:08, Filip Hanik wrote: I have a basic doc (text no pictures) one page that describes some of this, let me see if I can dig it up for you, but your diagram would be much bigger :), since the number of components in Tomcat is slightly more complex than Jetty Filip - Original Message - From: Shapira, Yoav [EMAIL PROTECTED] To: [EMAIL PROTECTED] Sent: Wednesday, December 10, 2003 12:50 PM Subject: Jetty Architecture Hi, I like this page: http://jetty.mortbay.org/jetty/doc/JettyArchitecture.html. Does anyone have anything close to this for tomcat, or would I need to create one from scratch? Yoav Shapira Millennium ChemInformatics This e-mail, including any attachments, is a confidential business communication, and may contain information that is confidential, proprietary and/or privileged. This e-mail is intended only for the individual(s) to whom it is addressed, and may not be saved, copied, printed, disclosed or used by anyone else. If you are not the(an) intended recipient, please immediately delete this e-mail from your computer system and notify the sender. Thank you. - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] This e-mail, including any attachments, is a confidential business communication, and may contain information that is confidential, proprietary and/or privileged. This e-mail is intended only for the individual(s) to whom it is addressed, and may not be saved, copied, printed, disclosed or used by anyone else. If you are not the(an) intended recipient, please immediately delete this e-mail from your computer system and notify the sender. Thank you. - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
DO NOT REPLY [Bug 22293] - JSPC class name doesn't match Jasper
DO NOT REPLY TO THIS EMAIL, BUT PLEASE POST YOUR BUG RELATED COMMENTS THROUGH THE WEB INTERFACE AVAILABLE AT http://nagoya.apache.org/bugzilla/show_bug.cgi?id=22293. ANY REPLY MADE TO THIS MESSAGE WILL NOT BE COLLECTED AND INSERTED IN THE BUG DATABASE. http://nagoya.apache.org/bugzilla/show_bug.cgi?id=22293 JSPC class name doesn't match Jasper --- Additional Comments From [EMAIL PROTECTED] 2003-12-11 14:48 --- I have a work-around: Use JspC -p org.apache.jsp and apply the following patch: +++ --- jakarta-tomcat-4.1.29-src/jasper/src/share/org/apache/jasper/JspC.java Mon Oct 27 16:27:32 2003 +++ jakarta-tomcat-4.1.29-src/jasper/src/share/org/apache/jasper/JspC.java Thu Dec 11 15:34:23 2003 @@ -542,6 +542,8 @@ String jspPackage = toPackageName(jspUri); if (jspPackage.equals()) { clctxt.setServletPackageName(targetPackage); +} else if (targetPackage.equals(org.apache.jsp)) { +clctxt.setServletPackageName(targetPackage); } else { clctxt.setServletPackageName(targetPackage + . + jspPackage); +++ - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
RE: Jetty Architecture
Great, thank you. dave On Thu, 2003-12-11 at 09:35, Shapira, Yoav wrote: Howdy, If you can wait a couple of days, let me finish what I'm adding to the document and I think you'll find the result more useful. ;) Yoav Shapira Millennium ChemInformatics -Original Message- From: David Evans [mailto:[EMAIL PROTECTED] Sent: Thursday, December 11, 2003 9:34 AM To: Tomcat Developers List Subject: Re: Jetty Architecture Hello, On Wed, 2003-12-10 at 16:08, Filip Hanik wrote: I have a basic doc (text no pictures) one page that describes some of this, let me see if I can dig it up for you, but your diagram would be much bigger :), since the number of components in Tomcat is slightly more complex than Jetty Can you send this to me if you find it, i'm just starting to dig into the tomcat source and it would be very helpful. And Jeanfrancois wrote: I have something very similar if you want them. Those are basic UML diagram I did a long time ago. Just check your inbox :-) May i also have your diagrams please. thanks dave On Wed, 2003-12-10 at 16:08, Filip Hanik wrote: I have a basic doc (text no pictures) one page that describes some of this, let me see if I can dig it up for you, but your diagram would be much bigger :), since the number of components in Tomcat is slightly more complex than Jetty Filip - Original Message - From: Shapira, Yoav [EMAIL PROTECTED] To: [EMAIL PROTECTED] Sent: Wednesday, December 10, 2003 12:50 PM Subject: Jetty Architecture Hi, I like this page: http://jetty.mortbay.org/jetty/doc/JettyArchitecture.html. Does anyone have anything close to this for tomcat, or would I need to create one from scratch? Yoav Shapira Millennium ChemInformatics This e-mail, including any attachments, is a confidential business communication, and may contain information that is confidential, proprietary and/or privileged. This e-mail is intended only for the individual(s) to whom it is addressed, and may not be saved, copied, printed, disclosed or used by anyone else. If you are not the(an) intended recipient, please immediately delete this e-mail from your computer system and notify the sender. Thank you. - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] This e-mail, including any attachments, is a confidential business communication, and may contain information that is confidential, proprietary and/or privileged. This e-mail is intended only for the individual(s) to whom it is addressed, and may not be saved, copied, printed, disclosed or used by anyone else. If you are not the(an) intended recipient, please immediately delete this e-mail from your computer system and notify the sender. Thank you. - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
DO NOT REPLY [Bug 25448] New: - jsp:include is intolerant of whitespace
DO NOT REPLY TO THIS EMAIL, BUT PLEASE POST YOUR BUG RELATED COMMENTS THROUGH THE WEB INTERFACE AVAILABLE AT http://nagoya.apache.org/bugzilla/show_bug.cgi?id=25448. ANY REPLY MADE TO THIS MESSAGE WILL NOT BE COLLECTED AND INSERTED IN THE BUG DATABASE. http://nagoya.apache.org/bugzilla/show_bug.cgi?id=25448 jsp:include is intolerant of whitespace Summary: jsp:include is intolerant of whitespace Product: Tomcat 5 Version: 5.0.16 Platform: PC OS/Version: Linux Status: NEW Severity: Minor Priority: Other Component: Jasper AssignedTo: [EMAIL PROTECTED] ReportedBy: [EMAIL PROTECTED] While upgrading from Tomcat 4.1.18 to 5.0.16, I encountered a problem where several of my JSPs will not compile. I found that the following syntax was causing Jasper to to throw an error. The syntax: jsp:include page=/asset/search-includeaction.jsp flush=false /jsp:include Would cause this exception to be thrown: org.apache.jasper.JasperException: /asset/index.jsp(43,6) Expected param tag with name and value attributes at org.apache.jasper.compiler.DefaultErrorHandler.jspError(DefaultErrorHandler.java:83) at org.apache.jasper.compiler.ErrorDispatcher.dispatch(ErrorDispatcher.java:402) at org.apache.jasper.compiler.ErrorDispatcher.jspError(ErrorDispatcher.java:126) at org.apache.jasper.compiler.Parser.parseParam(Parser.java:892) at org.apache.jasper.compiler.Parser.parseBody(Parser.java:1838) at org.apache.jasper.compiler.Parser.parseOptionalBody(Parser.java:1100) at org.apache.jasper.compiler.Parser.parseInclude(Parser.java:928) at org.apache.jasper.compiler.Parser.parseStandardAction(Parser.java:1251) at org.apache.jasper.compiler.Parser.parseElements(Parser.java:1597) at org.apache.jasper.compiler.Parser.parse(Parser.java:171) at org.apache.jasper.compiler.ParserController.parse(ParserController.java:247) at org.apache.jasper.compiler.ParserController.parse(ParserController.java:149) at org.apache.jasper.compiler.ParserController.parse(ParserController.java:135) at org.apache.jasper.compiler.Compiler.generateJava(Compiler.java:237) at org.apache.jasper.compiler.Compiler.compile(Compiler.java:456) at org.apache.jasper.compiler.Compiler.compile(Compiler.java:439) at org.apache.jasper.JspCompilationContext.compile(JspCompilationContext.java:552) at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:291) at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:301) at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:248) at javax.servlet.http.HttpServlet.service(HttpServlet.java:856) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:284) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:204) at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:256) at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:151) at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:564) at org.apache.catalina.core.StandardContextValve.invokeInternal(StandardContextValve.java:245) at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:199) at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:151) at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:594) at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:149) at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:564) at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:195) at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:151) at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:164) at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:149) at org.opennms.web.UTF8RequestEncodingValve.invoke(UTF8RequestEncodingValve.java:56) at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:149) at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:578) at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:149) at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:564) at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:156) at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:151) at
Re: cvs commit: jakarta-tomcat-catalina/catalina/src/share/org/apache/catalina/realm RealmBase.java
Hi, I've been refactoring the piece of code I sent last time, and I've got that now : - the following method just replaces the findSecurityConstraints(HttpRequest request, Context context) method in RealmBase - there is this static Map cache which caches the fake Constraints mapped to (URI, http-method) couples to add - lastly, the matchPattern(String path, String pattern) must be made public. It works OK for me, hope it helps Philippe Leothaud private static Map cache = new HashMap(); private final static String NULL_CONSTRAINT = ; /** * Retrieve from cache or build and return a custom codeSecurityConstraint/code merging all valid * codeSecurityConstraint/codes for the given method and URI, or codenull/code * if there is no such codeSecurityConstraint/code * * @param allConstraints : all the codeSecurityConstraint/codes defined in codeweb.xml/code * @param req: the request of the User * * @return : the custom codeSecurityConstraint/code, wrapped in an array of * codeSecurityConstraint/codes (to not break AuthenticatorBase and RealmBase API) */ public SecurityConstraint[] findSecurityConstraints(HttpRequest request, Context context) { // Get allConstraints Context SecurityConstraint allConstraints[] = context.findConstraints(); if ((allConstraints == null) || (allConstraints.length == 0)) { if (log.isDebugEnabled()) log.debug( No applicable constraints defined); return (null); } // Get URI and method from request HttpServletRequest hreq = (HttpServletRequest) request.getRequest(); String requestURI = request.getDecodedRequestURI(); String contextPath = hreq.getContextPath(); if (contextPath.length() 0) requestURI = requestURI.substring(contextPath.length()); String method = hreq.getMethod(); if ((allConstraints == null) || (allConstraints.length == 0)) { if (log.isDebugEnabled()) log.debug( No applicable constraints defined); return (null); } // Did we already do the job ? Object cached = cache.get(requestURI + :: + method); // No : let's work a bit if(cached == null) { // Determining valid constraints, checking the constraints' url-patterns against the given requestURI Map constraintsAndCollections = null; String bestMatch = ; for (int i = 0; i allConstraints.length; i++) { String constraintBestMatch = ; SecurityCollection[] collections = allConstraints[i].findCollections(); for (int j = 0; j collections.length; j++) { String patterns[] = collections[j].findPatterns(); for (int k = 0; k patterns.length; k++) if (allConstraints[i].matchPattern(requestURI, patterns[k]) patterns[k].length() bestMatch.length()) bestMatch = patterns[k]; } if (constraintBestMatch.length() bestMatch.length()) bestMatch = constraintBestMatch; } for (int i = 0; i allConstraints.length; i++) { SecurityCollection[] collections = allConstraints[i].findCollections(); List matchingWebCollections = null; for (int j = 0; j collections.length; j++) { String patterns[] = collections[j].findPatterns(); for (int k = 0; k patterns.length; k++) { if (bestMatch.equals(patterns[k])) { if(matchingWebCollections == null) matchingWebCollections = new ArrayList(); matchingWebCollections.add(collections[j]); break; } } } if (matchingWebCollections != null) { if (constraintsAndCollections == null) constraintsAndCollections = new HashMap(); constraintsAndCollections.put(allConstraints[i], matchingWebCollections); } } if (constraintsAndCollections == null) { cache.put(requestURI + :: + method, NULL_CONSTRAINT); return null; } // Determining valid constraints, checking the constraints' constrained methods against the given method Set matchingConstraints = constraintsAndCollections.keySet(); Iterator matchingConstraintsIterator = matchingConstraints.iterator(); while (matchingConstraintsIterator.hasNext()) { SecurityConstraint constraint = (SecurityConstraint) matchingConstraintsIterator.next(); List matchingWebCollections = (List) constraintsAndCollections.get(constraint); Iterator matchingWebCollectionsIterator = matchingWebCollections.iterator(); boolean methodIsProtected = false; while (matchingWebCollectionsIterator.hasNext()) { SecurityCollection collection = (SecurityCollection) matchingWebCollectionsIterator.next(); String[] constrainedMethods = collection.findMethods(); if (constrainedMethods == null || constrainedMethods.length == 0) { methodIsProtected = true; break; } for (int i = 0; i constrainedMethods.length; i++) { if (method.equals(constrainedMethods[i])) { methodIsProtected = true; break; } } if (methodIsProtected) break; } if
DO NOT REPLY [Bug 25424] - Possible DOS attack using Apache/AJP/Tomcat?
DO NOT REPLY TO THIS EMAIL, BUT PLEASE POST YOUR BUG RELATED COMMENTS THROUGH THE WEB INTERFACE AVAILABLE AT http://nagoya.apache.org/bugzilla/show_bug.cgi?id=25424. ANY REPLY MADE TO THIS MESSAGE WILL NOT BE COLLECTED AND INSERTED IN THE BUG DATABASE. http://nagoya.apache.org/bugzilla/show_bug.cgi?id=25424 Possible DOS attack using Apache/AJP/Tomcat? [EMAIL PROTECTED] changed: What|Removed |Added Summary|Possible DOS attack using |Possible DOS attack using |Apache/AJP/Tomcat |Apache/AJP/Tomcat? - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
cvs commit: jakarta-tomcat-catalina/catalina/src/share/org/apache/catalina/loader WebappClassLoader.java
jfarcand2003/12/11 08:41:28 Modified:catalina/src/share/org/apache/catalina/loader WebappClassLoader.java Log: Minor fix. Avoid creating two array. Revision ChangesPath 1.29 +3 -3 jakarta-tomcat-catalina/catalina/src/share/org/apache/catalina/loader/WebappClassLoader.java Index: WebappClassLoader.java === RCS file: /home/cvs/jakarta-tomcat-catalina/catalina/src/share/org/apache/catalina/loader/WebappClassLoader.java,v retrieving revision 1.28 retrieving revision 1.29 diff -u -r1.28 -r1.29 --- WebappClassLoader.java10 Dec 2003 23:45:39 - 1.28 +++ WebappClassLoader.java11 Dec 2003 16:41:28 - 1.29 @@ -1436,12 +1436,12 @@ } repositoryURLs = urls; -return repositoryURLs; } catch (MalformedURLException e) { repositoryURLs = new URL[0]; -return (new URL[0]); } + +return repositoryURLs; } - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
DO NOT REPLY [Bug 16541] - jndi realm role search cannot handle \ in user dn correctly
DO NOT REPLY TO THIS EMAIL, BUT PLEASE POST YOUR BUG RELATED COMMENTS THROUGH THE WEB INTERFACE AVAILABLE AT http://nagoya.apache.org/bugzilla/show_bug.cgi?id=16541. ANY REPLY MADE TO THIS MESSAGE WILL NOT BE COLLECTED AND INSERTED IN THE BUG DATABASE. http://nagoya.apache.org/bugzilla/show_bug.cgi?id=16541 jndi realm role search cannot handle \ in user dn correctly --- Additional Comments From [EMAIL PROTECTED] 2003-12-11 17:08 --- After my initial look at this defect yesterday, I had resolved that this was NOT a duplicate of 23190. Maybe it IS though, since the \ will be encoded as \\5c, and the search filter will work. I did not add a test case for such a thing, but I will do so and see if an escaped comma will now work. Leaving this as duplicate for now. - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
DO NOT REPLY [Bug 23190] - JNDIRealm doesn't escape search filters
DO NOT REPLY TO THIS EMAIL, BUT PLEASE POST YOUR BUG RELATED COMMENTS THROUGH THE WEB INTERFACE AVAILABLE AT http://nagoya.apache.org/bugzilla/show_bug.cgi?id=23190. ANY REPLY MADE TO THIS MESSAGE WILL NOT BE COLLECTED AND INSERTED IN THE BUG DATABASE. http://nagoya.apache.org/bugzilla/show_bug.cgi?id=23190 JNDIRealm doesn't escape search filters --- Additional Comments From [EMAIL PROTECTED] 2003-12-11 17:12 --- Just to confirm - this also would be a problem with 5? (Since the JNDIRealm code is the same) - the patch looks ok to me. I'll try to patch on Friday. - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
cvs commit: jakarta-tomcat-catalina/catalina/src/share/org/apache/catalina/core LocalStrings.properties LocalStrings_fr.properties
remm2003/12/11 09:28:15 Modified:catalina/src/share/org/apache/catalina/core LocalStrings.properties LocalStrings_fr.properties Log: - Bug 25419. Revision ChangesPath 1.12 +1 -0 jakarta-tomcat-catalina/catalina/src/share/org/apache/catalina/core/LocalStrings.properties Index: LocalStrings.properties === RCS file: /home/cvs/jakarta-tomcat-catalina/catalina/src/share/org/apache/catalina/core/LocalStrings.properties,v retrieving revision 1.11 retrieving revision 1.12 diff -u -r1.11 -r1.12 --- LocalStrings.properties 7 Oct 2003 14:25:24 - 1.11 +++ LocalStrings.properties 11 Dec 2003 17:28:15 - 1.12 @@ -65,6 +65,7 @@ standardContext.reloadingCompleted=Reloading this Context is completed standardContext.reloadingFailed=Reloading this Context failed due to previous errors standardContext.reloadingStarted=Reloading this Context has started +standardContext.resourcesStart=Error starting static Resources standardContext.securityConstraint.pattern=Invalid url-pattern {0} in security constraint standardContext.servletMap.name=Servlet mapping specifies an unknown servlet name {0} standardContext.servletMap.pattern=Invalid url-pattern {0} in servlet mapping 1.3 +1 -0 jakarta-tomcat-catalina/catalina/src/share/org/apache/catalina/core/LocalStrings_fr.properties Index: LocalStrings_fr.properties === RCS file: /home/cvs/jakarta-tomcat-catalina/catalina/src/share/org/apache/catalina/core/LocalStrings_fr.properties,v retrieving revision 1.2 retrieving revision 1.3 diff -u -r1.2 -r1.3 --- LocalStrings_fr.properties24 Jan 2003 23:47:45 - 1.2 +++ LocalStrings_fr.properties11 Dec 2003 17:28:15 - 1.3 @@ -75,6 +75,7 @@ standardContext.stoppingLoader=Exception à l''arrêt du Loader standardContext.stoppingManager=Exception à l''arrêt du Manager standardContext.stoppingWrapper=Exception à l''arrêt de l''enrobeur (wrapper) de la servlet {0} +standardContext.resourcesStart=Erreur lors du démarrage des Resources statiques standardContext.urlDecode=Impossible de décoder le chemin de requête encodé dans l''URL {0} standardContext.urlPattern.patternWarning=ATTENTION: Le modèle (pattern) URL {0} doit commencer par un '/' dans l''API Servlet 2.4 standardContext.urlValidate=Impossible de valider le chemin de requête encodé dans l''URL {0} - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
DO NOT REPLY [Bug 25419] - property string standardContext.resourcesStart is missing
DO NOT REPLY TO THIS EMAIL, BUT PLEASE POST YOUR BUG RELATED COMMENTS THROUGH THE WEB INTERFACE AVAILABLE AT http://nagoya.apache.org/bugzilla/show_bug.cgi?id=25419. ANY REPLY MADE TO THIS MESSAGE WILL NOT BE COLLECTED AND INSERTED IN THE BUG DATABASE. http://nagoya.apache.org/bugzilla/show_bug.cgi?id=25419 property string standardContext.resourcesStart is missing [EMAIL PROTECTED] changed: What|Removed |Added Status|NEW |RESOLVED Resolution||FIXED --- Additional Comments From [EMAIL PROTECTED] 2003-12-11 17:28 --- Fixed. - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Security (web.xml) clarification
If a security-constraint is defined protecting a certain uri but no login-config is defined in web.xml then upon accessing the uri, tomcat respond with the following error: HTTP Status 500 - Configuration error: Cannot perform access control without an authenticated principal Is this the correct behavior? AFAIK the servlet 2.4 specification allows a web.xml with a security-constraint without a login-config (which makes sense in some situations). Questions: Since there is no way to autenticate a user I would think that one of the following response would be more correct: 1) 403 (Forbidden) - Since no authentication can be performed but the web area is protected this is the obvious choice. 2) 401 (Unauthorized) Alternatively sending a futile auth required response, making the client/server to go into an authentication forever-loop. If sending 500 Configure error after all *is* what you guys think is the correct thing to do shouldn't this instead be flagged when the web.xml is parsed at startup and tomcat refuse to start? -- Jan-Henrik Haukeland - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
RE: Jetty Architecture
here are my notes, it is not much, but it tells you a little about the layout and relationship between the components Filip -Original Message- From: Shapira, Yoav [mailto:[EMAIL PROTECTED] Sent: Thursday, December 11, 2003 5:49 AM To: Tomcat Developers List Subject: RE: Jetty Architecture Hi, I got your diagrams -- they're great! They're about 80% of what I was looking to do. I'm just going to add a little overview and that's about it. I'll post the completed web page on my apache account for you to see before I put it in CVS or anything like that. Thanks, Yoav Shapira Millennium ChemInformatics -Original Message- From: Jeanfrancois Arcand [mailto:[EMAIL PROTECTED] Sent: Wednesday, December 10, 2003 4:33 PM To: Tomcat Developers List Subject: Re: Jetty Architecture Shapira, Yoav wrote: Hi, I like this page: http://jetty.mortbay.org/jetty/doc/JettyArchitecture.html. Does anyone have anything close to this for tomcat, or would I need to create one from scratch? I have something very similar if you want them. Those are basic UML diagram I did a long time ago. Just check your inbox :-) -- Jeanfrancois Yoav Shapira Millennium ChemInformatics This e-mail, including any attachments, is a confidential business communication, and may contain information that is confidential, proprietary and/or privileged. This e-mail is intended only for the individual(s) to whom it is addressed, and may not be saved, copied, printed, disclosed or used by anyone else. If you are not the(an) intended recipient, please immediately delete this e-mail from your computer system and notify the sender. Thank you. - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] This e-mail, including any attachments, is a confidential business communication, and may contain information that is confidential, proprietary and/or privileged. This e-mail is intended only for the individual(s) to whom it is addressed, and may not be saved, copied, printed, disclosed or used by anyone else. If you are not the(an) intended recipient, please immediately delete this e-mail from your computer system and notify the sender. Thank you. - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] Tomcat 5 Startup Sequence Sequence 1. Start from Command Line Class: org.apache.catalina.startup.Bootstrap What it does: a) Set up classloaders commonLoader (common)- System Loader sharedLoader (shared)- commonLoader - System Loader catalinaLoader(server) - commonLoader - System Loader b) Load startup class (reflection) org.apache.catalina.startup.Catalina setParentClassloader - sharedLoader Thread.contextClassloader - catalinaLoader c) Bootstrap.daemon.init() complete Sequence 2. Process command line argument (start, startd, stop, stopd) Class: org.apache.catalina.startup.Bootstrap (assume command-start) What it does: a) Catalina.setAwait(true); b) Catalina.load() b1) initDirs() - set properties like catalina.home catalina.base == catalina.home (most cases) b2) initNaming setProperty(javax.naming.Context.INITIAL_CONTEXT_FACTORY, org.apache.naming.java.javaURLContextFactory -default) b3) createStartDigester() Configures a digester for the main server.xml elements like org.apache.catalina.core.StandardServer (can change of course :) org.apache.catalina.deploy.NamingResources Stores naming resources in the J2EE JNDI tree org.apache.catalina.LifecycleListener implements events for start/stop of major components org.apache.catalina.core.StandardService The single entry for a set of connectors, so that a container can listen to multiple connectors ie, single entry org.apache.coyote.tomcat5.CoyoteConnector Connectors to listen for incoming requests only It also adds the following rulesets to the digester NamingRuleSet EngineRuleSet HostRuleSet
RE: Jetty Architecture
Howdy, That's great, thanks. I'm going to combine this with Jeanfrancois' documents, maybe add a bit of graphics to yours or space it out otherwise, and that's it for the first revision. Yoav Shapira Millennium ChemInformatics -Original Message- From: Filip Hanik [mailto:[EMAIL PROTECTED] Sent: Thursday, December 11, 2003 12:52 PM To: Shapira, Yoav Cc: Tomcat-Dev Subject: RE: Jetty Architecture here are my notes, it is not much, but it tells you a little about the layout and relationship between the components Filip -Original Message- From: Shapira, Yoav [mailto:[EMAIL PROTECTED] Sent: Thursday, December 11, 2003 5:49 AM To: Tomcat Developers List Subject: RE: Jetty Architecture Hi, I got your diagrams -- they're great! They're about 80% of what I was looking to do. I'm just going to add a little overview and that's about it. I'll post the completed web page on my apache account for you to see before I put it in CVS or anything like that. Thanks, Yoav Shapira Millennium ChemInformatics -Original Message- From: Jeanfrancois Arcand [mailto:[EMAIL PROTECTED] Sent: Wednesday, December 10, 2003 4:33 PM To: Tomcat Developers List Subject: Re: Jetty Architecture Shapira, Yoav wrote: Hi, I like this page: http://jetty.mortbay.org/jetty/doc/JettyArchitecture.html. Does anyone have anything close to this for tomcat, or would I need to create one from scratch? I have something very similar if you want them. Those are basic UML diagram I did a long time ago. Just check your inbox :-) -- Jeanfrancois Yoav Shapira Millennium ChemInformatics This e-mail, including any attachments, is a confidential business communication, and may contain information that is confidential, proprietary and/or privileged. This e-mail is intended only for the individual(s) to whom it is addressed, and may not be saved, copied, printed, disclosed or used by anyone else. If you are not the(an) intended recipient, please immediately delete this e-mail from your computer system and notify the sender. Thank you. - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] This e-mail, including any attachments, is a confidential business communication, and may contain information that is confidential, proprietary and/or privileged. This e-mail is intended only for the individual(s) to whom it is addressed, and may not be saved, copied, printed, disclosed or used by anyone else. If you are not the(an) intended recipient, please immediately delete this e-mail from your computer system and notify the sender. Thank you. - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] This e-mail, including any attachments, is a confidential business communication, and may contain information that is confidential, proprietary and/or privileged. This e-mail is intended only for the individual(s) to whom it is addressed, and may not be saved, copied, printed, disclosed or used by anyone else. If you are not the(an) intended recipient, please immediately delete this e-mail from your computer system and notify the sender. Thank you. - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
cvs commit: jakarta-tomcat-jasper/jasper2/src/share/org/apache/jasper/resources messages.properties
kinman 2003/12/11 10:24:22 Modified:jasper2/src/share/org/apache/jasper/compiler Parser.java jasper2/src/share/org/apache/jasper/resources messages.properties Log: - Fix 25448: Allow white spaces in an empty body for jsp:include Revision ChangesPath 1.86 +4 -3 jakarta-tomcat-jasper/jasper2/src/share/org/apache/jasper/compiler/Parser.java Index: Parser.java === RCS file: /home/cvs/jakarta-tomcat-jasper/jasper2/src/share/org/apache/jasper/compiler/Parser.java,v retrieving revision 1.85 retrieving revision 1.86 diff -u -r1.85 -r1.86 --- Parser.java 4 Dec 2003 19:37:58 - 1.85 +++ Parser.java 11 Dec 2003 18:24:21 - 1.86 @@ -1090,6 +1090,7 @@ lt; + tag ); } +reader.skipSpaces(); if( reader.matchesETag( tag ) ) { // EmptyBody return; 1.137 +2 -2 jakarta-tomcat-jasper/jasper2/src/share/org/apache/jasper/resources/messages.properties Index: messages.properties === RCS file: /home/cvs/jakarta-tomcat-jasper/jasper2/src/share/org/apache/jasper/resources/messages.properties,v retrieving revision 1.136 retrieving revision 1.137 diff -u -r1.136 -r1.137 --- messages.properties 10 Dec 2003 00:24:23 - 1.136 +++ messages.properties 11 Dec 2003 18:24:21 - 1.137 @@ -116,7 +116,7 @@ jsp.error.include.badflush=jsp:include page=\...\ flush=\true\ is the only valid combination in JSP 1.0 jsp.error.attempt_to_clear_flushed_buffer=Error: Attempt to clear a buffer that's already been flushed jsp.error.overflow=Error: JSP Buffer overflow -jsp.error.paramexpected=Expected \param\ tag with \name\ and \value\ attributes +jsp.error.paramexpected=Expecting \jsp:param\ standard action with \name\ and \value\ attributes jsp.error.param.invalidUse=The jsp:param action must not be used outside the jsp:include, jsp:forward, or jsp:params elements jsp.error.params.invalidUse=jsp:params must be a direct child of jsp:plugin jsp.error.fallback.invalidUse=jsp:fallback must be a direct child of jsp:plugin - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
DO NOT REPLY [Bug 25448] - jsp:include is intolerant of whitespace
DO NOT REPLY TO THIS EMAIL, BUT PLEASE POST YOUR BUG RELATED COMMENTS THROUGH THE WEB INTERFACE AVAILABLE AT http://nagoya.apache.org/bugzilla/show_bug.cgi?id=25448. ANY REPLY MADE TO THIS MESSAGE WILL NOT BE COLLECTED AND INSERTED IN THE BUG DATABASE. http://nagoya.apache.org/bugzilla/show_bug.cgi?id=25448 jsp:include is intolerant of whitespace [EMAIL PROTECTED] changed: What|Removed |Added Status|NEW |RESOLVED Resolution||FIXED - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
DO NOT REPLY [Bug 25015] - CoyoteAdapter is breaking path info
DO NOT REPLY TO THIS EMAIL, BUT PLEASE POST YOUR BUG RELATED COMMENTS THROUGH THE WEB INTERFACE AVAILABLE AT http://nagoya.apache.org/bugzilla/show_bug.cgi?id=25015. ANY REPLY MADE TO THIS MESSAGE WILL NOT BE COLLECTED AND INSERTED IN THE BUG DATABASE. http://nagoya.apache.org/bugzilla/show_bug.cgi?id=25015 CoyoteAdapter is breaking path info [EMAIL PROTECTED] changed: What|Removed |Added Status|RESOLVED|REOPENED Resolution|REMIND | --- Additional Comments From [EMAIL PROTECTED] 2003-12-11 18:39 --- Ok, thanks, but should this URI: /appname/servlet-name/extra;path/info;here/hi.jsp Become: /appname/servlet-name/extra/info/hi.jsp Or: /appname/servlet-name/extra I think the URI RFC (that nobody cares about in the HTTP world) specifies the first one :) Tomcat currently does the second one. I'm reopening the bug, as we'll get a resolution, apparently. - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
DO NOT REPLY [Bug 25452] New: - JSP compile failure does not stop Ant build
DO NOT REPLY TO THIS EMAIL, BUT PLEASE POST YOUR BUG RELATED COMMENTS THROUGH THE WEB INTERFACE AVAILABLE AT http://nagoya.apache.org/bugzilla/show_bug.cgi?id=25452. ANY REPLY MADE TO THIS MESSAGE WILL NOT BE COLLECTED AND INSERTED IN THE BUG DATABASE. http://nagoya.apache.org/bugzilla/show_bug.cgi?id=25452 JSP compile failure does not stop Ant build Summary: JSP compile failure does not stop Ant build Product: Tomcat 5 Version: 5.0.16 Platform: PC OS/Version: Linux Status: NEW Severity: Normal Priority: Other Component: Jasper AssignedTo: [EMAIL PROTECTED] ReportedBy: [EMAIL PROTECTED] When using Tomcat 5.0.16's org.apache.jasper.JspC class as a taskdef Ant tag, if there is a failure in compiling a JSP file into a Java file, Ant does not know about it. Ant will continue the rest of the build regardless of any JSP compile failures. It might even report success depending on the rest of the build. I would think that a failed JSP compile should halt the build similar to a failed Java compile. (Or at least have a failOnError option.) What I see instead is that any JSPs that fail to compile will cause JspC to write an error message to the logging API and write out a zero-length Java file. Ant, however, just continues building after the JspC task is done. I've seen JSPs not compile for the following reasons: bug #25488, a taglib or JSP action tag is unbalanced, or because an include directive tries to include a file that does not exist. There are probably many other reasons a JSP would fail to be parsed. Workarounds include having a human check the log output of the JspC tag for error messages or do a find . -empty to find zero-length Java files. To solve this issue I recommend having JspC.execute() throw an org.apache.tools.ant.BuildException on build errors. This will work for both the Ant build and when running from the commandline. When running from the command line the main() method can catch and handle the exception appropriately. - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Urgent !! Help needed regarding Tomcat web server !!
Hi All, I am using TOMCAT for jsp/servlet deployment. When I am compiling a servlet class it gives an exception that javax.servlet.* not found. javax.servlet.http.* not found. What should i do to remove this exception, so that java file gets compile successfully. how can i set Path CLASSPATH variable? I am using WindowXP. pls help me asap. Refards Gyan __ Do you Yahoo!? New Yahoo! Photos - easier uploading and sharing. http://photos.yahoo.com/ - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
DO NOT REPLY [Bug 25452] - JSP compile failure does not stop Ant build
DO NOT REPLY TO THIS EMAIL, BUT PLEASE POST YOUR BUG RELATED COMMENTS THROUGH THE WEB INTERFACE AVAILABLE AT http://nagoya.apache.org/bugzilla/show_bug.cgi?id=25452. ANY REPLY MADE TO THIS MESSAGE WILL NOT BE COLLECTED AND INSERTED IN THE BUG DATABASE. http://nagoya.apache.org/bugzilla/show_bug.cgi?id=25452 JSP compile failure does not stop Ant build [EMAIL PROTECTED] changed: What|Removed |Added Status|NEW |RESOLVED Resolution||FIXED --- Additional Comments From [EMAIL PROTECTED] 2003-12-11 19:08 --- JspC has been modified to rethrow any exception raised during compilation, so that should address your problem. Please try the nightly build for Tomcat 5 to see if that's good enough for you. - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: Urgent !! Help needed regarding Tomcat web server !!
how can i set Path CLASSPATH variable? Go here: http://java.sun.com/docs/books/tutorial/getStarted/cupojava/index.html Once you learn how to set up your classpath, make sure you add servlet.jar to it. Servlet.jar can be found in the TOMCAT_HOME/common/lib directory. Good luck On Thursday 11 December 2003 07:47 am, you wrote: Hi All, I am using TOMCAT for jsp/servlet deployment. When I am compiling a servlet class it gives an exception that javax.servlet.* not found. javax.servlet.http.* not found. What should i do to remove this exception, so that java file gets compile successfully. how can i set Path CLASSPATH variable? I am using WindowXP. pls help me asap. Refards Gyan __ Do you Yahoo!? New Yahoo! Photos - easier uploading and sharing. http://photos.yahoo.com/ - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: cvs commit: jakarta-tomcat-catalina/catalina/src/share/org/apache/catalina/realm RealmBase.java
- Original Message - From: Remy Maucherat [EMAIL PROTECTED] To: Tomcat Developers List [EMAIL PROTECTED] Sent: Thursday, December 11, 2003 1:40 AM Subject: Re: cvs commit: jakarta-tomcat-catalina/catalina/src/share/org/apache/catalina/realm RealmBase.java [EMAIL PROTECTED] wrote: billbarker2003/12/10 21:50:39 Modified:catalina/src/share/org/apache/catalina Realm.java catalina/src/share/org/apache/catalina/authenticator AuthenticatorBase.java catalina/src/share/org/apache/catalina/realm RealmBase.java Log: First attempt to get Tomcat compliant with the Servlet 2.4 Spec for AA. This one isn't very efficient (but not much worse than it was before :). Longer term, I'm looking to modify the j-t-c mapper to be able to return a Collection of mapped objects, and use that. In that case it could also be used for Filter mappings. Filter mapping is simple, and should be efficient enough right now. It was really horrible in 4.1.x (except if somehow all filters are mapped to /* or the exact path :-D), and is obviously used a lot more in 5.0.x, so I did fix it. I was planning to use something fancy when I noticed the requirements for this algorithm: - we have try all the mappings in order, which voids any possible optimization - I think we only have a String at our disposal for filter mapping: getting a char array would remove any performance benefit - we don't have to generate any paths or similar stuff from the mapping results - there was this regionMatches method in String that could do that matching test efficiently And the profiler seems happy :) Maybe it's lying though. For the contraint mapping, since we also have to test them all and return yes/no for each, I recommend using a similar custom algorithm. I see your point on char array. I'll probably leave it as Strings. I'll also look at the Filter mapping code. However, the entire point of the exercise is that we *don't* have to test all of the security-constraints. If I have a security-constriaint with a url-pattern/protected/*/url-pattern, and another one with url-pattern*.jsp/url-pattern, then for a request to /myapp/protected/index.jsp, only the first constraint is checked. If you don't believe me, read 12.8.3 ;-). This version is just to get a Spec compliant version out there that can be tested. Rémy - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] This message is intended only for the use of the person(s) listed above as the intended recipient(s), and may contain information that is PRIVILEGED and CONFIDENTIAL. If you are not an intended recipient, you may not read, copy, or distribute this message or any attachment. If you received this communication in error, please notify us immediately by e-mail and then delete all copies of this message and any attachments. In addition you should be aware that ordinary (unencrypted) e-mail sent through the Internet is not secure. Do not send confidential or sensitive information, such as social security numbers, account numbers, personal identification numbers and passwords, to us via ordinary (unencrypted) e-mail. - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
RE: Urgent !! Help needed regarding Tomcat web server !!
In Windows, right click on My Computer and select Properties, then Advanced and then Environmental Variables. In user and system variables add the following: J2EE_HOME j2sdkee1.4\ JAVA_HOME j2sdk1.4.2\ Restart your PC. This should fix the problem. Kind Regards Schalk Neethling Web Developer.Designer.Programmer.CEO Volume4.Development.Multimedia.Branding emotionalize.conceptualize.visualize.realize Tel: +27125468436 Fax: +27125468436 email:[EMAIL PROTECTED] web: www.volume4.com This message contains information that is considered to be sensitive or confidential and may not be forwarded or disclosed to any other party without the permission of the sender. If you received this message in error, please notify me immediately so that I can correct and delete the original email. Thank you. :: -Original Message- :: From: Gyan [mailto:[EMAIL PROTECTED] :: Sent: Thursday, December 11, 2003 2:47 PM :: To: [EMAIL PROTECTED] :: Subject: Urgent !! Help needed regarding Tomcat web server !! :: :: Hi All, :: I am using TOMCAT for jsp/servlet deployment. :: When I am compiling a servlet class it gives an :: exception that javax.servlet.* not found. :: javax.servlet.http.* not found. :: :: What should i do to remove this exception, so that :: java file gets compile successfully. :: :: how can i set Path CLASSPATH variable? :: I am using WindowXP. :: :: pls help me asap. :: :: Refards :: Gyan :: :: __ :: Do you Yahoo!? :: New Yahoo! Photos - easier uploading and sharing. :: http://photos.yahoo.com/ :: :: - :: To unsubscribe, e-mail: [EMAIL PROTECTED] :: For additional commands, e-mail: [EMAIL PROTECTED] - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
DO NOT REPLY [Bug 25015] - CoyoteAdapter is breaking path info
DO NOT REPLY TO THIS EMAIL, BUT PLEASE POST YOUR BUG RELATED COMMENTS THROUGH THE WEB INTERFACE AVAILABLE AT http://nagoya.apache.org/bugzilla/show_bug.cgi?id=25015. ANY REPLY MADE TO THIS MESSAGE WILL NOT BE COLLECTED AND INSERTED IN THE BUG DATABASE. http://nagoya.apache.org/bugzilla/show_bug.cgi?id=25015 CoyoteAdapter is breaking path info --- Additional Comments From [EMAIL PROTECTED] 2003-12-11 19:44 --- I don't think the spec has clearly resolved this issue. Right now, it somewhat implies that the return value of getPathInfo() include the things after ;. SRV.4.1 Path parameters that are part of a GET request are not exposed by these APIs.(getParameter, etc.) They must be parsed from the String values returned by the getRequestURI method or the getPathInfo method. However, practically, the path parameter can be placed ANYWHERE in the URL and it is confusing that getPathInfo returns them. I think returning /appnama/servlet-name/extra is fine. As long as getRequestURI contains the path params, I don't think it violates the spec. - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
RE: Performance Recommendation
I have done performance testing of a real world app against Orion, Resin, Tomcat 3.3, 4.0, and 4.1 and noticed little or no difference. Certainly nothing significant enough to spend money on. -Original Message- From: Roozbeh Zabihollahi [mailto:[EMAIL PROTECTED] Sent: Wednesday, December 10, 2003 6:00 AM To: [EMAIL PROTECTED] Subject: Performance Recommendation Hi, I am tomcat user, as all of readers know, tomcat is very good Jsp Container for developping and not good for production mode (cause of its performance). I installed and run 'RexIPAppServer' ,that says it has best performance, and compare Servlets it generates for JSPs and Tomcat Generated Servlets. I see 'RexIPAppServer' construct static strings that JSP page use with Static Strings. same as: static final char[] _jspText_18=\ \r\n .toCharArray(); but Tomcat doesn't distinguish (or it not want to do) between Static and Dynamic Strings and print them in dynamic way in service method. I want to ask from Tomcat Developers, that eather Tomcat Developers does not want to implement this feature or not? and, could you help me to develop this feature, because i think this is exponentialy improve performance. ^-^ Best Regards, Roozbeh Zabihollahi. __ Do you Yahoo!? New Yahoo! Photos - easier uploading and sharing. http://photos.yahoo.com/ - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
cvs commit: jakarta-tomcat-4.0/catalina/src/share/org/apache/catalina/session PersistentManagerBase.java
markt 2003/12/11 11:56:19 Modified:catalina/src/share/org/apache/catalina/session PersistentManagerBase.java Log: - Adding log message when an excpetion occurs during session expiration. Fixes bug 24368. Revision ChangesPath 1.15 +5 -4 jakarta-tomcat-4.0/catalina/src/share/org/apache/catalina/session/PersistentManagerBase.java Index: PersistentManagerBase.java === RCS file: /home/cvs/jakarta-tomcat-4.0/catalina/src/share/org/apache/catalina/session/PersistentManagerBase.java,v retrieving revision 1.14 retrieving revision 1.15 diff -u -r1.14 -r1.15 --- PersistentManagerBase.java14 Nov 2003 10:26:47 - 1.14 +++ PersistentManagerBase.java11 Dec 2003 19:56:19 - 1.15 @@ -900,6 +900,7 @@ try { session.expire(); } catch (Throwable t) { + log(sm.getString(standardManager.expireException), t); ; } } - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
cvs commit: jakarta-tomcat-4.0/catalina/src/share/org/apache/catalina/session PersistentManagerBase.java
markt 2003/12/11 11:58:14 Modified:catalina/src/share/org/apache/catalina/session PersistentManagerBase.java Log: - And now replacing tabs with spaces - Also remove unused imports - thanks to Eclipse ;) Revision ChangesPath 1.16 +5 -23 jakarta-tomcat-4.0/catalina/src/share/org/apache/catalina/session/PersistentManagerBase.java Index: PersistentManagerBase.java === RCS file: /home/cvs/jakarta-tomcat-4.0/catalina/src/share/org/apache/catalina/session/PersistentManagerBase.java,v retrieving revision 1.15 retrieving revision 1.16 diff -u -r1.15 -r1.16 --- PersistentManagerBase.java11 Dec 2003 19:56:19 - 1.15 +++ PersistentManagerBase.java11 Dec 2003 19:58:14 - 1.16 @@ -66,30 +66,12 @@ import java.beans.PropertyChangeEvent; import java.beans.PropertyChangeListener; -import java.beans.PropertyChangeSupport; -import java.io.BufferedInputStream; -import java.io.BufferedOutputStream; -import java.io.File; -import java.io.FileInputStream; -import java.io.FileNotFoundException; -import java.io.FileOutputStream; -import java.io.InputStream; import java.io.IOException; -import java.io.ObjectInputStream; -import java.io.ObjectOutputStream; -import java.io.ObjectStreamClass; -import java.util.ArrayList; -import java.util.Iterator; -import javax.servlet.ServletContext; import org.apache.catalina.Container; import org.apache.catalina.Context; -import org.apache.catalina.Globals; import org.apache.catalina.Lifecycle; -import org.apache.catalina.LifecycleEvent; import org.apache.catalina.LifecycleException; import org.apache.catalina.LifecycleListener; -import org.apache.catalina.Loader; -import org.apache.catalina.Manager; import org.apache.catalina.Session; import org.apache.catalina.Store; import org.apache.catalina.util.LifecycleSupport; @@ -900,7 +882,7 @@ try { session.expire(); } catch (Throwable t) { - log(sm.getString(standardManager.expireException), t); +log(sm.getString(standardManager.expireException), t); ; } } - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: cvs commit: jakarta-tomcat-catalina/catalina/src/share/org/apache/catalina/realm RealmBase.java
Bill Barker wrote: [EMAIL PROTECTED] wrote: billbarker2003/12/10 21:50:39 Modified:catalina/src/share/org/apache/catalina Realm.java catalina/src/share/org/apache/catalina/authenticator AuthenticatorBase.java catalina/src/share/org/apache/catalina/realm RealmBase.java Log: First attempt to get Tomcat compliant with the Servlet 2.4 Spec for AA. This one isn't very efficient (but not much worse than it was before :). Longer term, I'm looking to modify the j-t-c mapper to be able to return a Collection of mapped objects, and use that. In that case it could also be used for Filter mappings. Filter mapping is simple, and should be efficient enough right now. It was really horrible in 4.1.x (except if somehow all filters are mapped to /* or the exact path :-D), and is obviously used a lot more in 5.0.x, so I did fix it. I was planning to use something fancy when I noticed the requirements for this algorithm: - we have try all the mappings in order, which voids any possible optimization - I think we only have a String at our disposal for filter mapping: getting a char array would remove any performance benefit - we don't have to generate any paths or similar stuff from the mapping results - there was this regionMatches method in String that could do that matching test efficiently And the profiler seems happy :) Maybe it's lying though. For the contraint mapping, since we also have to test them all and return yes/no for each, I recommend using a similar custom algorithm. I see your point on char array. I'll probably leave it as Strings. I'll also look at the Filter mapping code. However, the entire point of the exercise is that we *don't* have to test all of the security-constraints. If I have a security-constriaint with a url-pattern/protected/*/url-pattern, and another one with url-pattern*.jsp/url-pattern, then for a request to /myapp/protected/index.jsp, only the first constraint is checked. If you don't believe me, read 12.8.3 ;-). Ah, great, so it's a third mapping style then, so a third algorithm ;-) Rémy - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
DO NOT REPLY [Bug 24368] - Unhandled Exception in PersistentManagerBase.processExpires() kills PersistentManager thread
DO NOT REPLY TO THIS EMAIL, BUT PLEASE POST YOUR BUG RELATED COMMENTS THROUGH THE WEB INTERFACE AVAILABLE AT http://nagoya.apache.org/bugzilla/show_bug.cgi?id=24368. ANY REPLY MADE TO THIS MESSAGE WILL NOT BE COLLECTED AND INSERTED IN THE BUG DATABASE. http://nagoya.apache.org/bugzilla/show_bug.cgi?id=24368 Unhandled Exception in PersistentManagerBase.processExpires() kills PersistentManager thread [EMAIL PROTECTED] changed: What|Removed |Added Status|REOPENED|RESOLVED Resolution||FIXED --- Additional Comments From [EMAIL PROTECTED] 2003-12-11 20:59 --- The log message has been added. - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
cvs commit: jakarta-tomcat-connectors/coyote/src/java/org/apache/coyote/tomcat4 CoyoteAdapter.java
markt 2003/12/11 13:35:24 Modified:coyote/src/java/org/apache/coyote/tomcat4 CoyoteAdapter.java Log: - Fix bug 24283. Process uri as characters not bytes to ensure correct handling of unicode characters. Revision ChangesPath 1.24 +36 -24 jakarta-tomcat-connectors/coyote/src/java/org/apache/coyote/tomcat4/CoyoteAdapter.java Index: CoyoteAdapter.java === RCS file: /home/cvs/jakarta-tomcat-connectors/coyote/src/java/org/apache/coyote/tomcat4/CoyoteAdapter.java,v retrieving revision 1.23 retrieving revision 1.24 diff -u -r1.23 -r1.24 --- CoyoteAdapter.java19 Nov 2003 23:23:18 - 1.23 +++ CoyoteAdapter.java11 Dec 2003 21:35:24 - 1.24 @@ -69,6 +69,7 @@ import javax.servlet.http.HttpServletRequest; import org.apache.tomcat.util.buf.ByteChunk; +import org.apache.tomcat.util.buf.CharChunk; import org.apache.tomcat.util.buf.MessageBytes; import org.apache.tomcat.util.http.Cookies; import org.apache.tomcat.util.http.ServerCookie; @@ -299,14 +300,14 @@ parseCookies(req, request); // Set the SSL properties - if( request.isSecure() ) { - res.action(ActionCode.ACTION_REQ_SSL_ATTRIBUTE, +if( request.isSecure() ) { +res.action(ActionCode.ACTION_REQ_SSL_ATTRIBUTE, request.getCoyoteRequest()); - //Set up for getAttributeNames - request.getAttribute(Globals.CERTIFICATES_ATTR); - request.getAttribute(Globals.CIPHER_SUITE_ATTR); - request.getAttribute(Globals.KEY_SIZE_ATTR); - } +//Set up for getAttributeNames +request.getAttribute(Globals.CERTIFICATES_ATTR); +request.getAttribute(Globals.CIPHER_SUITE_ATTR); +request.getAttribute(Globals.KEY_SIZE_ATTR); +} // Set the remote principal String principal = req.getRemoteUser().toString(); @@ -322,31 +323,42 @@ */ protected void parseSessionId(Request req, CoyoteRequest request) { -ByteChunk uriBC = req.decodedURI().getByteChunk(); -int semicolon = uriBC.indexOf(match, 0, match.length(), 0); +req.decodedURI().toChars(); +CharChunk uriCC = req.decodedURI().getCharChunk(); +int semicolon = uriCC.indexOf(match, 0, match.length(), 0); if (semicolon 0) { // Parse session ID, and extract it from the decoded request URI -String uri = uriBC.toString(); -String rest = uri.substring(semicolon + match.length()); -int semicolon2 = rest.indexOf(';'); +int start = uriCC.getStart(); +int end = uriCC.getEnd(); + +int sessionIdStart = start + semicolon + match.length(); +int semicolon2 = uriCC.indexOf(';', sessionIdStart); if (semicolon2 = 0) { -request.setRequestedSessionId(rest.substring(0, semicolon2)); -rest = rest.substring(semicolon2); +request.setRequestedSessionId +(new String(uriCC.getBuffer(), sessionIdStart, +semicolon2 - semicolon - match.length())); +req.decodedURI().setString +(new String(uriCC.getBuffer(), start, semicolon) + +new String(uriCC.getBuffer(), +semicolon2, +end-semicolon2)); } else { -request.setRequestedSessionId(rest); -rest = ; +request.setRequestedSessionId +(new String(uriCC.getBuffer(), sessionIdStart, +end - sessionIdStart)); +req.decodedURI().setString +(new String(uriCC.getBuffer(), start, semicolon)); } request.setRequestedSessionURL(true); -req.decodedURI().setString(uri.substring(0, semicolon) + rest); // Extract session ID from request URI -uri = req.requestURI().toString(); +String uri = req.requestURI().toString(); semicolon = uri.indexOf(match); if (semicolon 0) { -rest = uri.substring(semicolon + match.length()); +String rest = uri.substring(semicolon + match.length()); semicolon2 = rest.indexOf(';'); if (semicolon2 = 0) { rest = rest.substring(semicolon2); @@ -376,7 +388,7 @@ Cookie[] cookies = new Cookie[count]; - int idx=0; +int idx=0; for (int i = 0; i count; i++) { ServerCookie scookie = serverCookies.getCookie(i);
DO NOT REPLY [Bug 24283] - Wrong result in request.getPathInfo() using 2-byte Unicode characters
DO NOT REPLY TO THIS EMAIL, BUT PLEASE POST YOUR BUG RELATED COMMENTS THROUGH THE WEB INTERFACE AVAILABLE AT http://nagoya.apache.org/bugzilla/show_bug.cgi?id=24283. ANY REPLY MADE TO THIS MESSAGE WILL NOT BE COLLECTED AND INSERTED IN THE BUG DATABASE. http://nagoya.apache.org/bugzilla/show_bug.cgi?id=24283 Wrong result in request.getPathInfo() using 2-byte Unicode characters [EMAIL PROTECTED] changed: What|Removed |Added Status|NEW |RESOLVED Resolution||FIXED --- Additional Comments From [EMAIL PROTECTED] 2003-12-11 21:38 --- This has been fixed in CVS and will be included in the next release. - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: cvs commit: jakarta-tomcat-connectors/coyote/src/java/org/apache/coyote/tomcat4 CoyoteAdapter.java
Remy Maucherat wrote: [EMAIL PROTECTED] wrote: markt 2003/12/11 13:35:24 Modified:coyote/src/java/org/apache/coyote/tomcat4 CoyoteAdapter.java Log: - Fix bug 24283. Process uri as characters not bytes to ensure correct handling of unicode characters. -1 for this patch. Character decoding should occur afterwards. Mapping should be done as bytes. Oops, forget it, I thought this was in the TC 5 branch. I need to think before pressing send. Rémy - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
cvs commit: jakarta-tomcat-catalina/catalina/src/share/org/apache/catalina/realm JDBCRealm.java
markt 2003/12/11 14:28:49 Modified:catalina/src/share/org/apache/catalina/realm JDBCRealm.java Log: - Fix bug 7080. Handle a null username correctly. - Patch supplied by Tim Walsh. Revision ChangesPath 1.4 +10 -6 jakarta-tomcat-catalina/catalina/src/share/org/apache/catalina/realm/JDBCRealm.java Index: JDBCRealm.java === RCS file: /home/cvs/jakarta-tomcat-catalina/catalina/src/share/org/apache/catalina/realm/JDBCRealm.java,v retrieving revision 1.3 retrieving revision 1.4 diff -u -r1.3 -r1.4 --- JDBCRealm.java2 Sep 2003 21:22:05 - 1.3 +++ JDBCRealm.java11 Dec 2003 22:28:49 - 1.4 @@ -574,9 +574,13 @@ dbConnection.prepareStatement(sb.toString()); } -preparedCredentials.setString(1, username); -return (preparedCredentials); +if (username == null) { +preparedCredentials.setNull(1,java.sql.Types.VARCHAR); +} else { +preparedCredentials.setString(1, username); +} +return (preparedCredentials); } - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
cvs commit: jakarta-tomcat-4.0/catalina/src/share/org/apache/catalina/realm JDBCRealm.java
markt 2003/12/11 14:30:35 Modified:catalina/src/share/org/apache/catalina/realm JDBCRealm.java Log: - Port fix for bug 7080. Handle a null username correctly. - Patch supplied by Tim Walsh. Revision ChangesPath 1.23 +10 -6 jakarta-tomcat-4.0/catalina/src/share/org/apache/catalina/realm/JDBCRealm.java Index: JDBCRealm.java === RCS file: /home/cvs/jakarta-tomcat-4.0/catalina/src/share/org/apache/catalina/realm/JDBCRealm.java,v retrieving revision 1.22 retrieving revision 1.23 diff -u -r1.22 -r1.23 --- JDBCRealm.java21 Nov 2003 19:09:22 - 1.22 +++ JDBCRealm.java11 Dec 2003 22:30:35 - 1.23 @@ -573,9 +573,13 @@ dbConnection.prepareStatement(sb.toString()); } -preparedCredentials.setString(1, username); -return (preparedCredentials); +if (username == null) { +preparedCredentials.setNull(1,java.sql.Types.VARCHAR); +} else { +preparedCredentials.setString(1, username); +} +return (preparedCredentials); } - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
DO NOT REPLY [Bug 7080] - Interbase JDBCRealm - Bug # 5564 - Have a safe fix.
DO NOT REPLY TO THIS EMAIL, BUT PLEASE POST YOUR BUG RELATED COMMENTS THROUGH THE WEB INTERFACE AVAILABLE AT http://nagoya.apache.org/bugzilla/show_bug.cgi?id=7080. ANY REPLY MADE TO THIS MESSAGE WILL NOT BE COLLECTED AND INSERTED IN THE BUG DATABASE. http://nagoya.apache.org/bugzilla/show_bug.cgi?id=7080 Interbase JDBCRealm - Bug # 5564 - Have a safe fix. [EMAIL PROTECTED] changed: What|Removed |Added Status|NEW |RESOLVED Resolution||FIXED --- Additional Comments From [EMAIL PROTECTED] 2003-12-11 22:31 --- This has been fixed in CVS and will be included in the next release. Thanks for the patch. - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
cvs commit: jakarta-tomcat-connectors/coyote/src/java/org/apache/coyote/tomcat4 CoyoteRequest.java
markt 2003/12/11 14:55:48 Modified:coyote/src/java/org/apache/coyote/tomcat4 CoyoteRequest.java Log: - Port of fix for bug 3098. Include the pathInfo when a relative path is used to get a request dispatcher. Revision ChangesPath 1.34 +17 -7 jakarta-tomcat-connectors/coyote/src/java/org/apache/coyote/tomcat4/CoyoteRequest.java Index: CoyoteRequest.java === RCS file: /home/cvs/jakarta-tomcat-connectors/coyote/src/java/org/apache/coyote/tomcat4/CoyoteRequest.java,v retrieving revision 1.33 retrieving revision 1.34 diff -u -r1.33 -r1.34 --- CoyoteRequest.java4 Dec 2003 13:55:53 - 1.33 +++ CoyoteRequest.java11 Dec 2003 22:55:48 - 1.34 @@ -1091,13 +1091,23 @@ if (servletPath == null) servletPath = getServletPath(); -int pos = servletPath.lastIndexOf('/'); +// Add the path info, if there is any +String pathInfo = getPathInfo(); +String requestPath = null; + +if (pathInfo == null) { +requestPath = servletPath; +} else { +requestPath = servletPath + pathInfo; +} + +int pos = requestPath.lastIndexOf('/'); String relative = null; if (pos = 0) { relative = RequestUtil.normalize -(servletPath.substring(0, pos + 1) + path); +(requestPath.substring(0, pos + 1) + path); } else { -relative = RequestUtil.normalize(servletPath + path); +relative = RequestUtil.normalize(requestPath + path); } return (context.getServletContext().getRequestDispatcher(relative)); - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
cvs commit: jakarta-tomcat-4.0/catalina/src/share/org/apache/catalina/connector HttpRequestBase.java
markt 2003/12/11 14:56:14 Modified:catalina/src/share/org/apache/catalina/connector HttpRequestBase.java Log: - Port of fix for bug 3098. Include the pathInfo when a relative path is used to get a request dispatcher. Revision ChangesPath 1.40 +18 -9 jakarta-tomcat-4.0/catalina/src/share/org/apache/catalina/connector/HttpRequestBase.java Index: HttpRequestBase.java === RCS file: /home/cvs/jakarta-tomcat-4.0/catalina/src/share/org/apache/catalina/connector/HttpRequestBase.java,v retrieving revision 1.39 retrieving revision 1.40 diff -u -r1.39 -r1.40 --- HttpRequestBase.java 22 Apr 2002 00:00:50 - 1.39 +++ HttpRequestBase.java 11 Dec 2003 22:56:14 - 1.40 @@ -76,7 +76,6 @@ import java.util.Date; import java.util.Enumeration; import java.util.HashMap; -import java.util.Hashtable; import java.util.Locale; import java.util.Map; import javax.servlet.RequestDispatcher; @@ -94,7 +93,6 @@ import org.apache.catalina.util.Enumerator; import org.apache.catalina.util.ParameterMap; import org.apache.catalina.util.RequestUtil; -import org.apache.catalina.util.StringParser; /** @@ -793,13 +791,24 @@ if (servletPath == null) servletPath = getServletPath(); -int pos = servletPath.lastIndexOf('/'); +// Add the path info, if there is any +String pathInfo = getPathInfo(); +String requestPath = null; + +if (pathInfo == null) { +requestPath = servletPath; +} else { +requestPath = servletPath + pathInfo; +} + +int pos = requestPath.lastIndexOf('/'); + String relative = null; if (pos = 0) { relative = RequestUtil.normalize -(servletPath.substring(0, pos + 1) + path); +(requestPath.substring(0, pos + 1) + path); } else { -relative = RequestUtil.normalize(servletPath + path); +relative = RequestUtil.normalize(requestPath + path); } return (context.getServletContext().getRequestDispatcher(relative)); - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
DO NOT REPLY [Bug 25415] - in JSTL fmt Multiple setLocale work is not compatible JSTL 1.1 specif
DO NOT REPLY TO THIS EMAIL, BUT PLEASE POST YOUR BUG RELATED COMMENTS THROUGH THE WEB INTERFACE AVAILABLE AT http://nagoya.apache.org/bugzilla/show_bug.cgi?id=25415. ANY REPLY MADE TO THIS MESSAGE WILL NOT BE COLLECTED AND INSERTED IN THE BUG DATABASE. http://nagoya.apache.org/bugzilla/show_bug.cgi?id=25415 in JSTL fmt Multiple setLocale work is not compatible JSTL 1.1 specif --- Additional Comments From [EMAIL PROTECTED] 2003-12-11 23:07 --- William, If you are working with a JSP 2.0 container (which Tomcat 5.x is), I suggest you use a JSTL 1.1 implementation. I have tested your page with Tomcat 5.0.16 and standard-1.1.0-B1, and everything worked fine. Here is what you'll have to do: 1. Modify the JSTL URIs: from: %@ taglib uri=http://java.sun.com/jstl/fmt; prefix=f % to: %@ taglib uri=http://java.sun.com/jsp/jstl/fmt; prefix=f % 2. Change your web.xml so it is servlet 2.4 based: from: !DOCTYPE web-app PUBLIC -//Sun Microsystems, Inc.//DTD Web Application 2.3//EN http://java.sun.com/dtd/web-app_2_3.dtd; to: web-app xmlns=http://java.sun.com/xml/ns/j2ee; xmlns:xsi=http://www.w3.org/2001/XMLSchema-instance; xsi:schemaLocation=http://java.sun.com/xml/ns/j2ee web-app_2_4.xsd version=2.4 from: context-param param-namejavax.servlet. jsp.jstl.fmt.localizationContext/param-name param-valueDirectory/param-value description资æºæ–‡ä»¶/description /context-param to: context-param description资æºæ–‡ä»¶/description param-namejavax.servlet. jsp.jstl.fmt.localizationContext/param-name param-valueDirectory/param-value /context-param 3. Use the standard-1.1-B1 jars get rid of the jar files in your WEB-INF/lib directory, and copy standard.jar and jstl.jar from stardard-1.1-B1. If you could confirm that this works for you, and then close the bug, that would be great. - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
DO NOT REPLY [Bug 24368] - Unhandled Exception in PersistentManagerBase.processExpires() kills PersistentManager thread
DO NOT REPLY TO THIS EMAIL, BUT PLEASE POST YOUR BUG RELATED COMMENTS THROUGH THE WEB INTERFACE AVAILABLE AT http://nagoya.apache.org/bugzilla/show_bug.cgi?id=24368. ANY REPLY MADE TO THIS MESSAGE WILL NOT BE COLLECTED AND INSERTED IN THE BUG DATABASE. http://nagoya.apache.org/bugzilla/show_bug.cgi?id=24368 Unhandled Exception in PersistentManagerBase.processExpires() kills PersistentManager thread [EMAIL PROTECTED] changed: What|Removed |Added Severity|Enhancement |Major Status|RESOLVED|REOPENED Resolution|FIXED | --- Additional Comments From [EMAIL PROTECTED] 2003-12-11 23:37 --- In going back to your fix of StandardManagerBase, I see where you now have the try/catch (and the log statement) in the stop() method, but have not added anything to the processExpires() method, that which I had pointed to in this bug. Was this an oversight, or am I just missing something obvious. Going on the assumption that this was an oversight, I have marked the bug severity as major. - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
cvs commit: jakarta-tomcat-4.0/catalina/src/share/org/apache/catalina/session PersistentManagerBase.java
markt 2003/12/11 15:52:04 Modified:catalina/src/share/org/apache/catalina/session PersistentManagerBase.java Log: - Fix for bug 24368. Original report was in processExpires(). Adding try/catch to this method. Revision ChangesPath 1.17 +8 -5 jakarta-tomcat-4.0/catalina/src/share/org/apache/catalina/session/PersistentManagerBase.java Index: PersistentManagerBase.java === RCS file: /home/cvs/jakarta-tomcat-4.0/catalina/src/share/org/apache/catalina/session/PersistentManagerBase.java,v retrieving revision 1.16 retrieving revision 1.17 diff -u -r1.16 -r1.17 --- PersistentManagerBase.java11 Dec 2003 19:58:14 - 1.16 +++ PersistentManagerBase.java11 Dec 2003 23:52:04 - 1.17 @@ -883,7 +883,6 @@ session.expire(); } catch (Throwable t) { log(sm.getString(standardManager.expireException), t); -; } } } @@ -966,7 +965,11 @@ if (!session.isValid()) continue; if (isSessionStale(session, timeNow)) +try { session.expire(); +} catch (Throwable t) { +log(sm.getString(standardManager.expireException), t); +} } } - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
DO NOT REPLY [Bug 24368] - Unhandled Exception in PersistentManagerBase.processExpires() kills PersistentManager thread
DO NOT REPLY TO THIS EMAIL, BUT PLEASE POST YOUR BUG RELATED COMMENTS THROUGH THE WEB INTERFACE AVAILABLE AT http://nagoya.apache.org/bugzilla/show_bug.cgi?id=24368. ANY REPLY MADE TO THIS MESSAGE WILL NOT BE COLLECTED AND INSERTED IN THE BUG DATABASE. http://nagoya.apache.org/bugzilla/show_bug.cgi?id=24368 Unhandled Exception in PersistentManagerBase.processExpires() kills PersistentManager thread [EMAIL PROTECTED] changed: What|Removed |Added Status|REOPENED|RESOLVED Resolution||FIXED --- Additional Comments From [EMAIL PROTECTED] 2003-12-11 23:53 --- Sorry. My original patch got applied in stop() rather than processExpires(). Not sure if this was deliberate or an accident. To be in the safe side I have added the same code to processExpires(). - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
DO NOT REPLY [Bug 15703] - Illegal scope attribute without var in fmt:setLocale tag
DO NOT REPLY TO THIS EMAIL, BUT PLEASE POST YOUR BUG RELATED COMMENTS THROUGH THE WEB INTERFACE AVAILABLE AT http://nagoya.apache.org/bugzilla/show_bug.cgi?id=15703. ANY REPLY MADE TO THIS MESSAGE WILL NOT BE COLLECTED AND INSERTED IN THE BUG DATABASE. http://nagoya.apache.org/bugzilla/show_bug.cgi?id=15703 Illegal scope attribute without var in fmt:setLocale tag [EMAIL PROTECTED] changed: What|Removed |Added CC||[EMAIL PROTECTED] AssignedTo|[EMAIL PROTECTED] |tomcat- ||[EMAIL PROTECTED] Status|ASSIGNED|NEW Component|Standard Taglib |Jasper Product|Taglibs |Tomcat 5 Version|unspecified |5.0.16 --- Additional Comments From [EMAIL PROTECTED] 2003-12-12 01:04 --- The JSP 2.0 spec now states the following: TagLibraryValidator() public ValidationMessage[] validate(java.lang.String prefix, java.lang.String uri, PageData page) ... uri - the tag library’s unique identifier (uri used to be defined as: uri - the value of the uri argument in the directive) This change to the spec means that this bug should now be solved with a JSP 2.0 container. But I still get an error with Tomcat 5.0.16. Thanks for looking into this! - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
cvs commit: jakarta-tomcat-connectors/coyote/src/java/org/apache/coyote/tomcat4 CoyoteConnector.java CoyoteRequest.java
larryi 2003/12/11 18:44:34 Modified:coyote/src/java/org/apache/coyote/tomcat4 CoyoteConnector.java CoyoteRequest.java Log: Port Remy's update for the useBodyEncodingForURI attribute. Revision ChangesPath 1.28 +32 -4 jakarta-tomcat-connectors/coyote/src/java/org/apache/coyote/tomcat4/CoyoteConnector.java Index: CoyoteConnector.java === RCS file: /home/cvs/jakarta-tomcat-connectors/coyote/src/java/org/apache/coyote/tomcat4/CoyoteConnector.java,v retrieving revision 1.27 retrieving revision 1.28 diff -u -r1.27 -r1.28 --- CoyoteConnector.java 19 Nov 2003 23:23:18 - 1.27 +++ CoyoteConnector.java 12 Dec 2003 02:44:34 - 1.28 @@ -357,6 +357,12 @@ private String URIEncoding = null; + /** + * URI encoding as body. + */ + private boolean useBodyEncodingForURI = false; + + // - Properties @@ -972,6 +978,28 @@ public void setURIEncoding(String URIEncoding) { this.URIEncoding = URIEncoding; + + } + + + /** + * Return the true if the entity body encoding should be used for the URI. + */ + public boolean getUseBodyEncodingForURI() { + + return (this.useBodyEncodingForURI); + + } + + + /** + * Set if the entity body encoding should be used for the URI. + * + * @param useBodyEncodingForURI The new value for the flag. + */ + public void setUseBodyEncodingForURI(boolean useBodyEncodingForURI) { + + this.useBodyEncodingForURI = useBodyEncodingForURI; } 1.35 +14 -6 jakarta-tomcat-connectors/coyote/src/java/org/apache/coyote/tomcat4/CoyoteRequest.java Index: CoyoteRequest.java === RCS file: /home/cvs/jakarta-tomcat-connectors/coyote/src/java/org/apache/coyote/tomcat4/CoyoteRequest.java,v retrieving revision 1.34 retrieving revision 1.35 diff -u -r1.34 -r1.35 --- CoyoteRequest.java11 Dec 2003 22:55:48 - 1.34 +++ CoyoteRequest.java12 Dec 2003 02:44:34 - 1.35 @@ -443,7 +443,7 @@ /** * Associated Catalina connector. */ -protected Connector connector; +protected CoyoteConnector connector; /** * Return the Connector through which this Request was received. @@ -458,7 +458,7 @@ * @param connector The new connector */ public void setConnector(Connector connector) { -this.connector = connector; +this.connector = (CoyoteConnector) connector; } /** @@ -1927,11 +1927,19 @@ Parameters parameters = coyoteRequest.getParameters(); String enc = coyoteRequest.getCharacterEncoding(); +boolean useBodyEncodingForURI = connector.getUseBodyEncodingForURI(); if (enc != null) { parameters.setEncoding(enc); +if (useBodyEncodingForURI) { +parameters.setQueryStringEncoding(enc); +} } else { parameters.setEncoding (org.apache.coyote.Constants.DEFAULT_CHARACTER_ENCODING); +if (useBodyEncodingForURI) { +parameters.setQueryStringEncoding +(org.apache.coyote.Constants.DEFAULT_CHARACTER_ENCODING); +} } parameters.handleQueryParameters(); - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
cvs commit: jakarta-tomcat-4.0/webapps/tomcat-docs/config coyote.xml jk2.xml
larryi 2003/12/11 18:45:01 Modified:catalina/src/share/org/apache/catalina/mbeans mbeans-descriptors.xml webapps/tomcat-docs/config coyote.xml jk2.xml Log: Port Remy's update for the useBodyEncodingForURI attribute. Revision ChangesPath 1.80 +5 -1 jakarta-tomcat-4.0/catalina/src/share/org/apache/catalina/mbeans/mbeans-descriptors.xml Index: mbeans-descriptors.xml === RCS file: /home/cvs/jakarta-tomcat-4.0/catalina/src/share/org/apache/catalina/mbeans/mbeans-descriptors.xml,v retrieving revision 1.79 retrieving revision 1.80 diff -u -r1.79 -r1.80 --- mbeans-descriptors.xml20 Nov 2003 10:10:55 - 1.79 +++ mbeans-descriptors.xml12 Dec 2003 02:45:01 - 1.80 @@ -331,6 +331,10 @@ description=Character encoding used to decode the URI type=java.lang.String/ +attribute name=useBodyEncodingForURI + description=Should the body encoding be used for URI query parameters + type=boolean/ + attributename=disableUploadTimeout description=Should Tomcat ignore setting a timeout for uploads? type=boolean/ 1.8 +8 -0 jakarta-tomcat-4.0/webapps/tomcat-docs/config/coyote.xml Index: coyote.xml === RCS file: /home/cvs/jakarta-tomcat-4.0/webapps/tomcat-docs/config/coyote.xml,v retrieving revision 1.7 retrieving revision 1.8 diff -u -r1.7 -r1.8 --- coyote.xml20 Nov 2003 15:14:57 - 1.7 +++ coyote.xml12 Dec 2003 02:45:01 - 1.8 @@ -100,6 +100,14 @@ /p /attribute +attribute name=useBodyEncodingForURI required=false + pThis specifies if the encoding specified in contentType should be used + for URI query parameters, instead of using the URIEncoding. This + setting is present for compatibility with Tomcat 4.1.27 and earlier. + The default value is codefalse/code. + /p +/attribute + /attributes /subsection 1.7 +14 -0 jakarta-tomcat-4.0/webapps/tomcat-docs/config/jk2.xml Index: jk2.xml === RCS file: /home/cvs/jakarta-tomcat-4.0/webapps/tomcat-docs/config/jk2.xml,v retrieving revision 1.6 retrieving revision 1.7 diff -u -r1.6 -r1.7 --- jk2.xml 17 Mar 2003 09:51:43 - 1.6 +++ jk2.xml 12 Dec 2003 02:45:01 - 1.7 @@ -82,6 +82,20 @@ SSL Connector). The default value is codefalse/code./p /attribute +attribute name=URIEncoding required=false + pThis specifies the character encoding used to decode the URI bytes, + after %xx decoding the URL. If not specified, ISO-8859-1 will be used. + /p +/attribute + +attribute name=useBodyEncodingForURI required=false + pThis specifies if the encoding specified in contentType should be used + for URI query parameters, instead of using the URIEncoding. This + setting is present for compatibility with Tomcat 4.1.27 and earlier. + The default value is codefalse/code. + /p +/attribute + /attributes /subsection - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
cvs commit: jakarta-tomcat-catalina/catalina/src/share/org/apache/coyote/tomcat5 mbeans-descriptors.xml
larryi 2003/12/11 18:52:07 Modified:catalina/src/share/org/apache/coyote/tomcat5 mbeans-descriptors.xml Log: Make description a little more specific, since the topic of URI path parameters seems to be gaining popularity, at leat for the moment. Revision ChangesPath 1.11 +1 -1 jakarta-tomcat-catalina/catalina/src/share/org/apache/coyote/tomcat5/mbeans-descriptors.xml Index: mbeans-descriptors.xml === RCS file: /home/cvs/jakarta-tomcat-catalina/catalina/src/share/org/apache/coyote/tomcat5/mbeans-descriptors.xml,v retrieving revision 1.10 retrieving revision 1.11 diff -u -r1.10 -r1.11 --- mbeans-descriptors.xml10 Dec 2003 22:26:28 - 1.10 +++ mbeans-descriptors.xml12 Dec 2003 02:52:07 - 1.11 @@ -174,7 +174,7 @@ type=java.lang.String/ attribute name=useBodyEncodingForURI - description=Should the body encoding be used for URI parameters + description=Should the body encoding be used for URI query parameters type=boolean/ attributename=xpoweredBy - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
cvs commit: jakarta-tomcat-catalina/webapps/docs/config ajp.xml http.xml
larryi 2003/12/11 18:52:27 Modified:webapps/docs/config ajp.xml http.xml Log: Make description a little more specific, since the topic of URI path parameters seems to be gaining popularity, at leat for the moment. Revision ChangesPath 1.3 +1 -1 jakarta-tomcat-catalina/webapps/docs/config/ajp.xml Index: ajp.xml === RCS file: /home/cvs/jakarta-tomcat-catalina/webapps/docs/config/ajp.xml,v retrieving revision 1.2 retrieving revision 1.3 diff -u -r1.2 -r1.3 --- ajp.xml 10 Dec 2003 22:34:18 - 1.2 +++ ajp.xml 12 Dec 2003 02:52:26 - 1.3 @@ -86,7 +86,7 @@ attribute name=useBodyEncodingForURI required=false pThis specifies if the encoding specified in contentType should be used - for URI parameters, instead of using the URIEncoding. This setting is + for URI query parameters, instead of using the URIEncoding. This setting is present for compatibility with Tomcat 4.1.x. The default value is codefalse/code. /p 1.3 +1 -1 jakarta-tomcat-catalina/webapps/docs/config/http.xml Index: http.xml === RCS file: /home/cvs/jakarta-tomcat-catalina/webapps/docs/config/http.xml,v retrieving revision 1.2 retrieving revision 1.3 diff -u -r1.2 -r1.3 --- http.xml 10 Dec 2003 22:34:18 - 1.2 +++ http.xml 12 Dec 2003 02:52:26 - 1.3 @@ -103,7 +103,7 @@ attribute name=useBodyEncodingForURI required=false pThis specifies if the encoding specified in contentType should be used - for URI parameters, instead of using the URIEncoding. This setting is + for URI query parameters, instead of using the URIEncoding. This setting is present for compatibility with Tomcat 4.1.x. The default value is codefalse/code. /p - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
DO NOT REPLY [Bug 25415] - in JSTL fmt Multiple setLocale work is not compatible JSTL 1.1 specif
DO NOT REPLY TO THIS EMAIL, BUT PLEASE POST YOUR BUG RELATED COMMENTS THROUGH THE WEB INTERFACE AVAILABLE AT http://nagoya.apache.org/bugzilla/show_bug.cgi?id=25415. ANY REPLY MADE TO THIS MESSAGE WILL NOT BE COLLECTED AND INSERTED IN THE BUG DATABASE. http://nagoya.apache.org/bugzilla/show_bug.cgi?id=25415 in JSTL fmt Multiple setLocale work is not compatible JSTL 1.1 specif [EMAIL PROTECTED] changed: What|Removed |Added Status|NEW |RESOLVED Resolution||FIXED --- Additional Comments From [EMAIL PROTECTED] 2003-12-12 05:49 --- yes.test ok. close this bug. - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
cvs commit: jakarta-tomcat-catalina/catalina/src/share/org/apache/catalina/realm RealmBase.java
billbarker2003/12/11 22:16:18 Modified:catalina/src/share/org/apache/catalina/realm RealmBase.java Log: Getting back to strict compliance with the Spec for AAA. My last patch included and illegal optimization (check methods before checking path). Now methods are correctly checked after the path has been checked. Also including some of Remy's optimizations from the Filter mapping code. This doesn't include Phillepe's idea of caching the mappings. This is largely because the submitted patch is broken (it assumes that the Realm is configured at the Context level), but I like the idea. I'd like to add a config switch to cache security-constraint mapping (defaulting to what the list's opinions are). Revision ChangesPath 1.21 +69 -64 jakarta-tomcat-catalina/catalina/src/share/org/apache/catalina/realm/RealmBase.java Index: RealmBase.java === RCS file: /home/cvs/jakarta-tomcat-catalina/catalina/src/share/org/apache/catalina/realm/RealmBase.java,v retrieving revision 1.20 retrieving revision 1.21 diff -u -r1.20 -r1.21 --- RealmBase.java11 Dec 2003 05:50:39 - 1.20 +++ RealmBase.java12 Dec 2003 06:16:18 - 1.21 @@ -464,18 +464,20 @@ String method = hreq.getMethod(); int i; + boolean found = false; for (i = 0; i constraints.length; i++) { SecurityCollection [] collection = constraints[i].findCollections(); - + if (log.isDebugEnabled()) log.debug( Checking constraint ' + constraints[i] + ' against + method + + uri + -- + constraints[i].included(uri, method)); for(int j=0; j collection.length; j++){ -if(collection[j].findMethod(method)) { -String [] patterns = collection[j].findPatterns(); -for(int k=0; k patterns.length; k++) { -if(uri.equals(patterns[k])) { +String [] patterns = collection[j].findPatterns(); +for(int k=0; k patterns.length; k++) { +if(uri.equals(patterns[k])) { +found = true; +if(collection[j].findMethod(method)) { if(results == null) { results = new ArrayList(); } @@ -484,15 +486,12 @@ } } } -} -if(results != null) { + } +if(found) { return resultsToArray(results); } int longest = -1; -String testURI = uri; -if(uri.endsWith(/)) { -testURI = uri.substring(0,uri.length()-1); -} + for (i = 0; i constraints.length; i++) { SecurityCollection [] collection = constraints[i].findCollections(); @@ -501,37 +500,44 @@ ' against + method + + uri + -- + constraints[i].included(uri, method)); for(int j=0; j collection.length; j++){ -if(collection[j].findMethod(method)) { -String [] patterns = collection[j].findPatterns(); -boolean matched = false; -int length = -1; -for(int k=0; k patterns.length; k++) { -String pattern = patterns[j]; -if(pattern.startsWith(/) pattern.endsWith(/*) - pattern.length() = longest) { +String [] patterns = collection[j].findPatterns(); +boolean matched = false; +int length = -1; +for(int k=0; k patterns.length; k++) { +String pattern = patterns[j]; +if(pattern.startsWith(/) pattern.endsWith(/*) + pattern.length() = longest) { -if(pattern.length() == 0) { -matched = true; -length = pattern.length(); -} else if(testURI.startsWith(pattern)) { -matched = true; -length = pattern.length(); -} +if(pattern.length() == 2) { +matched = true; +length = pattern.length(); +} else if(pattern.regionMatches(0,uri,0, + pattern.length()-2)) { +matched = true; +
cvs commit: jakarta-tomcat-catalina/catalina/src/share/org/apache/catalina/realm RealmBase.java
billbarker2003/12/11 22:24:36 Modified:catalina/src/share/org/apache/catalina/realm RealmBase.java Log: Trying to escape the dreaded tap-police ;-). No functional changes. Revision ChangesPath 1.22 +9 -9 jakarta-tomcat-catalina/catalina/src/share/org/apache/catalina/realm/RealmBase.java Index: RealmBase.java === RCS file: /home/cvs/jakarta-tomcat-catalina/catalina/src/share/org/apache/catalina/realm/RealmBase.java,v retrieving revision 1.21 retrieving revision 1.22 diff -u -r1.21 -r1.22 --- RealmBase.java12 Dec 2003 06:16:18 - 1.21 +++ RealmBase.java12 Dec 2003 06:24:36 - 1.22 @@ -464,7 +464,7 @@ String method = hreq.getMethod(); int i; - boolean found = false; +boolean found = false; for (i = 0; i constraints.length; i++) { SecurityCollection [] collection = constraints[i].findCollections(); @@ -486,7 +486,7 @@ } } } - } +} if(found) { return resultsToArray(results); } @@ -512,7 +512,7 @@ matched = true; length = pattern.length(); } else if(pattern.regionMatches(0,uri,0, - pattern.length()-2)) { +pattern.length()-2)) { matched = true; length = pattern.length(); } @@ -554,8 +554,8 @@ int slash = uri.lastIndexOf(/); int dot = uri.lastIndexOf(.); if(slash = 0 dot slash -dot != uri.length()-1 -uri.length()-dot == pattern.length()-1) { + dot != uri.length()-1 + uri.length()-dot == pattern.length()-1) { if(pattern.regionMatches(1,uri,dot,uri.length()-dot)) { matched = true; } - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]