cvs commit: jakarta-tomcat-4.0/catalina/src/share/org/apache/catalina/ssi SSIServlet.java
markt 2005/04/03 11:55:30 Modified:catalina/src/share/org/apache/catalina/ssi SSIServlet.java Log: Partial fix for bug 10385. Forcing content type to text/html;charset=UTF-8 broke more things than it fixed. Revision ChangesPath 1.5 +3 -5 jakarta-tomcat-4.0/catalina/src/share/org/apache/catalina/ssi/SSIServlet.java Index: SSIServlet.java === RCS file: /home/cvs/jakarta-tomcat-4.0/catalina/src/share/org/apache/catalina/ssi/SSIServlet.java,v retrieving revision 1.4 retrieving revision 1.5 diff -u -r1.4 -r1.5 --- SSIServlet.java 30 Mar 2005 21:53:05 - 1.4 +++ SSIServlet.java 3 Apr 2005 18:55:30 - 1.5 @@ -153,20 +153,18 @@ path.toUpperCase().startsWith(/WEB-INF) || path.toUpperCase().startsWith(/META-INF) ) { -res.sendError(res.SC_NOT_FOUND, path); +res.sendError(HttpServletResponse.SC_NOT_FOUND, path); log( Can't serve file: + path ); return; } URL resource = servletContext.getResource(path); if (resource==null) { -res.sendError(res.SC_NOT_FOUND, path); +res.sendError(HttpServletResponse.SC_NOT_FOUND, path); log( Can't find file: + path ); return; } -res.setContentType(text/html;charset=UTF-8); - if (expires != null) { res.setDateHeader(Expires, ( new java.util.Date()).getTime() + expires.longValue() * 1000); - 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/ssi SSIServlet.java
amyroh 2002/12/04 13:09:08 Modified:catalina/src/share/org/apache/catalina Globals.java catalina/src/share/org/apache/catalina/servlets CGIServlet.java catalina/src/share/org/apache/catalina/ssi SSIServlet.java Log: Fix for SSI normal configuration which invokes a CGI script. Patch submitted by Nick Bauman [EMAIL PROTECTED]. Revision ChangesPath 1.45 +15 -4 jakarta-tomcat-4.0/catalina/src/share/org/apache/catalina/Globals.java Index: Globals.java === RCS file: /home/cvs/jakarta-tomcat-4.0/catalina/src/share/org/apache/catalina/Globals.java,v retrieving revision 1.44 retrieving revision 1.45 diff -u -r1.44 -r1.45 --- Globals.java 23 Sep 2002 00:16:35 - 1.44 +++ Globals.java 4 Dec 2002 21:09:07 - 1.45 @@ -266,6 +266,17 @@ public static final String SESSION_PARAMETER_NAME = jsessionid; + /** +* The servlet context attribute under which we store a flag used +* to mark this request as having been processed by the SSIServlet. +* We do this because of the pathInfo mangling happening when using +* the CGIServlet in conjunction with the SSI servlet. (value stored +* as an object of type String) +*/ +public static final String SSI_FLAG_ATTR = +org.apache.catalina.ssi.SSIServlet; + + /** * The request attribute under which we forward an HTTP status code * (as an object of type Integer) to an error page. 1.11 +13 -8 jakarta-tomcat-4.0/catalina/src/share/org/apache/catalina/servlets/CGIServlet.java Index: CGIServlet.java === RCS file: /home/cvs/jakarta-tomcat-4.0/catalina/src/share/org/apache/catalina/servlets/CGIServlet.java,v retrieving revision 1.10 retrieving revision 1.11 diff -u -r1.10 -r1.11 --- CGIServlet.java 22 Nov 2002 21:51:14 - 1.10 +++ CGIServlet.java 4 Dec 2002 21:09:07 - 1.11 @@ -967,7 +967,12 @@ String[] sCGINames; -sPathInfoOrig = this.pathInfo; +if (null != req.getAttribute(Globals.SSI_FLAG_ATTR)) { +// invoked by SSIServlet, which eats our req.getPathInfo() data +sPathInfoOrig = (String) req.getAttribute(Globals.PATH_INFO_ATTR); +} else { +sPathInfoOrig = this.pathInfo; +} sPathInfoOrig = sPathInfoOrig == null ? : sPathInfoOrig; sPathTranslatedOrig = req.getPathTranslated(); 1.2 +35 -28 jakarta-tomcat-4.0/catalina/src/share/org/apache/catalina/ssi/SSIServlet.java Index: SSIServlet.java === RCS file: /home/cvs/jakarta-tomcat-4.0/catalina/src/share/org/apache/catalina/ssi/SSIServlet.java,v retrieving revision 1.1 retrieving revision 1.2 diff -u -r1.1 -r1.2 --- SSIServlet.java 26 May 2002 00:00:55 - 1.1 +++ SSIServlet.java 4 Dec 2002 21:09:08 - 1.2 @@ -95,6 +95,7 @@ import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; +import org.apache.catalina.Globals; /** * Servlet to process SSI requests within a webpage. @@ -106,6 +107,7 @@ * @version $Revision$, $Date$ */ public class SSIServlet extends HttpServlet { + /** Debug level for this servlet. */ protected int debug = 0; @@ -217,14 +219,14 @@ path.toUpperCase().startsWith(/META-INF) ) { res.sendError(res.SC_NOT_FOUND, path); - log( Can't serve file: + path ); +log( Can't serve file: + path ); return; } - - URL resource = servletContext.getResource(path); + +URL resource = servletContext.getResource(path); if (resource==null) { res.sendError(res.SC_NOT_FOUND, path); - log( Can't find file: + path ); +log( Can't find file: + path ); return; } @@ -234,37 +236,42 @@ res.setDateHeader(Expires, ( new java.util.Date()).getTime() + expires.longValue() * 1000); } - - processSSI( req, res, resource ); + +req.setAttribute(Globals.SSI_FLAG_ATTR,true); +processSSI( req, res, resource ); } protected void processSSI( HttpServletRequest req, -HttpServletResponse res, -URL resource ) throws IOException { - SSIExternalResolver ssiExternalResolver = new SSIServletExternalResolver( this, req, res, -
Re: cvs commit: jakarta-tomcat-4.0/catalina/src/share/org/apache/catalina/ssi SSIServlet.java SSIServletExternalResolver.java
Thanks Remy! This is a better solution. - Original Message - From: [EMAIL PROTECTED] To: [EMAIL PROTECTED] Sent: Saturday, May 25, 2002 5:00 PM Subject: cvs commit: jakarta-tomcat-4.0/catalina/src/share/org/apache/catalina/ssi SSIServlet.java SSIServletExternalResolver.java remm02/05/25 17:00:55 Modified:catalina/src/share/org/apache/catalina/ssi SSIServletExternalResolver.java Added: catalina/src/share/org/apache/catalina/ssi SSIServlet.java Log: - Move SSI servlet to the ssi package (so that it's more an independent package). - Remove uneeded imports. - SSI is mostly independent of Catalina. Whatever util classes it needs can be moved to j-t-c/util. Then we could consider moving it out of the Catalina tree (the return of the j-t-modules repository ?). -- To unsubscribe, e-mail: mailto:[EMAIL PROTECTED] For additional commands, e-mail: mailto:[EMAIL PROTECTED]
cvs commit: jakarta-tomcat-4.0/catalina/src/share/org/apache/catalina/ssi SSIServlet.java SSIServletExternalResolver.java
remm02/05/25 17:00:55 Modified:catalina/src/share/org/apache/catalina/ssi SSIServletExternalResolver.java Added: catalina/src/share/org/apache/catalina/ssi SSIServlet.java Log: - Move SSI servlet to the ssi package (so that it's more an independent package). - Remove uneeded imports. - SSI is mostly independent of Catalina. Whatever util classes it needs can be moved to j-t-c/util. Then we could consider moving it out of the Catalina tree (the return of the j-t-modules repository ?). Revision ChangesPath 1.2 +4 -6 jakarta-tomcat-4.0/catalina/src/share/org/apache/catalina/ssi/SSIServletExternalResolver.java Index: SSIServletExternalResolver.java === RCS file: /home/cvs/jakarta-tomcat-4.0/catalina/src/share/org/apache/catalina/ssi/SSIServletExternalResolver.java,v retrieving revision 1.1 retrieving revision 1.2 diff -u -r1.1 -r1.2 --- SSIServletExternalResolver.java 24 May 2002 04:38:58 - 1.1 +++ SSIServletExternalResolver.java 26 May 2002 00:00:55 - 1.2 @@ -1,8 +1,8 @@ /* * SSIServletExternalResolver.java - * $Header: /home/cvs/jakarta-tomcat-4.0/catalina/src/share/org/apache/catalina/ssi/SSIServletExternalResolver.java,v 1.1 2002/05/24 04:38:58 billbarker Exp $ - * $Revision: 1.1 $ - * $Date: 2002/05/24 04:38:58 $ + * $Header: /home/cvs/jakarta-tomcat-4.0/catalina/src/share/org/apache/catalina/ssi/SSIServletExternalResolver.java,v 1.2 2002/05/26 00:00:55 remm Exp $ + * $Revision: 1.2 $ + * $Date: 2002/05/26 00:00:55 $ * * * @@ -95,14 +95,12 @@ import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; -import org.apache.catalina.Globals; -import org.apache.catalina.util.RequestUtil; /** * An implementation of SSIExternalResolver that is used with servlets. * * @author Dan Sandberg - * @version $Revision: 1.1 $, $Date: 2002/05/24 04:38:58 $ + * @version $Revision: 1.2 $, $Date: 2002/05/26 00:00:55 $ */ public class SSIServletExternalResolver implements SSIExternalResolver { protected final String VARIABLE_NAMES[] = { 1.1 jakarta-tomcat-4.0/catalina/src/share/org/apache/catalina/ssi/SSIServlet.java Index: SSIServlet.java === /* * SSIServlet.java * $Header: /home/cvs/jakarta-tomcat-4.0/catalina/src/share/org/apache/catalina/ssi/SSIServlet.java,v 1.1 2002/05/26 00:00:55 remm Exp $ * $Revision: 1.1 $ * $Date: 2002/05/26 00:00:55 $ * * * * The Apache Software License, Version 1.1 * * Copyright (c) 1999 The Apache Software Foundation. All rights * reserved. * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions * are met: * * 1. Redistributions of source code must retain the above copyright *notice, this list of conditions and the following disclaimer. * * 2. Redistributions in binary form must reproduce the above copyright *notice, this list of conditions and the following disclaimer in *the documentation and/or other materials provided with the *distribution. * * 3. The end-user documentation included with the redistribution, if *any, must include the following acknowlegement: * This product includes software developed by the *Apache Software Foundation (http://www.apache.org/). *Alternately, this acknowlegement may appear in the software itself, *if and wherever such third-party acknowlegements normally appear. * * 4. The names The Jakarta Project, Tomcat, and Apache Software *Foundation must not be used to endorse or promote products derived *from this software without prior written permission. For written *permission, please contact [EMAIL PROTECTED] * * 5. Products derived from this software may not be called Apache *nor may Apache appear in their names without prior written *permission of the Apache Group. * * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE * DISCLAIMED. IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF * USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED