Re: [VOTE] Tomcat modules

2002-12-05 Thread Craig R. McClanahan


On Thu, 5 Dec 2002, Remy Maucherat wrote:

>
> Ok, so to paraphrase:
> - Catalina core: stays in j-t-catalina/catalina
> - Modules which use the Catalina API: j-t-catalina/modules (or by
> component name, like j-t-catalina/cluster ?)

Or maybe j-t-catalina/modules/cluster so that the individual modules are
independent of each other but are easily found?

Craig




--
To unsubscribe, e-mail:   
For additional commands, e-mail: 




cvs commit: jakarta-tomcat-catalina/catalina/src/share/org/apache/catalina/core ApplicationDispatcher.java

2002-12-05 Thread amyroh
amyroh  2002/12/05 18:49:39

  Modified:catalina/src/share/org/apache/catalina/core
ApplicationDispatcher.java
  Log:
  Fix for bugtraq 4787595.
  Filter did not work correctly with JSPs as servlet .
  
  Revision  ChangesPath
  1.6   +15 -15
jakarta-tomcat-catalina/catalina/src/share/org/apache/catalina/core/ApplicationDispatcher.java
  
  Index: ApplicationDispatcher.java
  ===
  RCS file: 
/home/cvs/jakarta-tomcat-catalina/catalina/src/share/org/apache/catalina/core/ApplicationDispatcher.java,v
  retrieving revision 1.5
  retrieving revision 1.6
  diff -u -r1.5 -r1.6
  --- ApplicationDispatcher.java5 Dec 2002 15:44:30 -   1.5
  +++ ApplicationDispatcher.java6 Dec 2002 02:49:39 -   1.6
  @@ -180,6 +180,7 @@
   this.wrapper = wrapper;
   this.context = (Context) wrapper.getParent();
   this.servletPath = servletPath;
  +this.origServletPath = servletPath;
   this.pathInfo = pathInfo;
   this.queryString = queryString;
   this.name = name;
  @@ -281,7 +282,8 @@
*/
   private String servletPath = null;
   
  -
  +private String origServletPath = null;
  +
   /**
* The StringManager for this package.
*/
  @@ -401,7 +403,7 @@
   if (request.getAttribute(ApplicationFilterFactory.DISPATCHER_TYPE_ATTR) 
!= null){
   Integer disInt = 
(Integer)request.getAttribute(ApplicationFilterFactory.DISPATCHER_TYPE_ATTR);
   if (disInt.intValue() != ApplicationFilterFactory.ERROR) {
  -
request.setAttribute(ApplicationFilterFactory.DISPATCHER_REQUEST_PATH_ATTR, 
servletPath);
  +
request.setAttribute(ApplicationFilterFactory.DISPATCHER_REQUEST_PATH_ATTR, 
origServletPath);
   
request.setAttribute(ApplicationFilterFactory.DISPATCHER_TYPE_ATTR, new 
Integer(ApplicationFilterFactory.FORWARD));
   }
   }
  @@ -420,7 +422,7 @@
   if (request.getAttribute(ApplicationFilterFactory.DISPATCHER_TYPE_ATTR) 
!= null){
   Integer disInt = 
(Integer)request.getAttribute(ApplicationFilterFactory.DISPATCHER_TYPE_ATTR);
   if (disInt.intValue() != ApplicationFilterFactory.ERROR) {
  -
request.setAttribute(ApplicationFilterFactory.DISPATCHER_REQUEST_PATH_ATTR, 
servletPath);
  +
request.setAttribute(ApplicationFilterFactory.DISPATCHER_REQUEST_PATH_ATTR, 
origServletPath);
   
request.setAttribute(ApplicationFilterFactory.DISPATCHER_TYPE_ATTR, new 
Integer(ApplicationFilterFactory.FORWARD));
   }
   }
  @@ -460,7 +462,7 @@
   if 
(wrequest.getAttribute(ApplicationFilterFactory.DISPATCHER_TYPE_ATTR) != null){
   Integer disInt = 
(Integer)request.getAttribute(ApplicationFilterFactory.DISPATCHER_TYPE_ATTR);
   if (disInt.intValue() != ApplicationFilterFactory.ERROR) {
  -
wrequest.setAttribute(ApplicationFilterFactory.DISPATCHER_REQUEST_PATH_ATTR, 
servletPath);
  +
wrequest.setAttribute(ApplicationFilterFactory.DISPATCHER_REQUEST_PATH_ATTR, 
origServletPath);
   
wrequest.setAttribute(ApplicationFilterFactory.DISPATCHER_TYPE_ATTR, new 
Integer(ApplicationFilterFactory.FORWARD));
   }
   }
  @@ -539,7 +541,6 @@
   private void doInclude(ServletRequest request, ServletResponse response)
   throws ServletException, IOException
   {
  -
   // Set up to handle the specified request and response
   setup(request, response, true);
   
  @@ -553,9 +554,9 @@
   
   if ( log.isDebugEnabled() )
   log.debug(" Non-HTTP Include");
  - request.setAttribute(ApplicationFilterFactory.DISPATCHER_TYPE_ATTR,
  +request.setAttribute(ApplicationFilterFactory.DISPATCHER_TYPE_ATTR,
new 
Integer(ApplicationFilterFactory.INCLUDE));
  - 
request.setAttribute(ApplicationFilterFactory.DISPATCHER_REQUEST_PATH_ATTR, 
servletPath);
  +
request.setAttribute(ApplicationFilterFactory.DISPATCHER_REQUEST_PATH_ATTR, 
origServletPath);
   invoke(request, outerResponse);
   unwrapResponse();
   
  @@ -574,7 +575,7 @@
   wrequest.setServletPath(servletPath);
   wrequest.setAttribute(ApplicationFilterFactory.DISPATCHER_TYPE_ATTR,
new 
Integer(ApplicationFilterFactory.INCLUDE));
  -
wrequest.setAttribute(ApplicationFilterFactory.DISPATCHER_REQUEST_PATH_ATTR, 
servletPath);
  +
wrequest.setAttribute(ApplicationFilterFactory.DISPATCHER_REQUEST_PATH_ATTR, 
origServletPath);
   invo

Re: minimal

2002-12-05 Thread Jon Scott Stevens
on 2002/12/5 11:51 AM, "Costin Manolache" <[EMAIL PROTECTED]> wrote:

> - jasper ( at least jasper runtime - but probably the whole thing ).

Now that we have JSR 154 and JSR 153, can't we make a distribution of Tomcat
that does not include Jasper? That would rock. =)

-jon

-- 
StudioZ.tv /\ Bar/Nightclub/Entertainment
314 11th Street @ Folsom /\ San Francisco
http://studioz.tv/


--
To unsubscribe, e-mail:   
For additional commands, e-mail: 




Re: minimal

2002-12-05 Thread Jon Scott Stevens
on 2002/12/5 10:34 AM, "Costin Manolache" <[EMAIL PROTECTED]> wrote:

> And components to be included in minimal:
> - catalina
> - coyote
> - tomcat-util
> - http11/jk2
> - all valves/etc that are required for tomcat to operate.
> - naming

I'm 100% +1 on a minimal distribution of Tomcat 4 that only includes enough
crud to allow "normal" servlets to run.

I have one with Scarab and it was a PITA to create because I basically had
to trial and error which .jar files needed to be included (and where). Take
a look at Scarab's distribution of Tomcat.

http://scarab.tigris.org/source/browse/scarab/src/tomcat-4.1/

-jon

-- 
StudioZ.tv /\ Bar/Nightclub/Entertainment
314 11th Street @ Folsom /\ San Francisco
http://studioz.tv/


--
To unsubscribe, e-mail:   
For additional commands, e-mail: 




cvs commit: jakarta-tomcat-jasper/jasper2/src/share/org/apache/jasper/tagplugins/jstl ForEach.java

2002-12-05 Thread luehe
luehe   2002/12/05 15:56:40

  Modified:jasper2  build.xml
   jasper2/src/share/org/apache/jasper/compiler Compiler.java
Generator.java Node.java TagPluginManager.java
  Added:   jasper2/src/share/org/apache/jasper/tagplugins/jstl
ForEach.java
  Log:
  First cut at plugin implementation for JSTL's  action.
  
  Revision  ChangesPath
  1.18  +1 -0  jakarta-tomcat-jasper/jasper2/build.xml
  
  Index: build.xml
  ===
  RCS file: /home/cvs/jakarta-tomcat-jasper/jasper2/build.xml,v
  retrieving revision 1.17
  retrieving revision 1.18
  diff -u -r1.17 -r1.18
  --- build.xml 30 Aug 2002 18:04:50 -  1.17
  +++ build.xml 5 Dec 2002 23:56:39 -   1.18
  @@ -134,6 +134,7 @@
   
   
   
  +
   
   
   
  
  
  
  1.40  +1 -1  
jakarta-tomcat-jasper/jasper2/src/share/org/apache/jasper/compiler/Compiler.java
  
  Index: Compiler.java
  ===
  RCS file: 
/home/cvs/jakarta-tomcat-jasper/jasper2/src/share/org/apache/jasper/compiler/Compiler.java,v
  retrieving revision 1.39
  retrieving revision 1.40
  diff -u -r1.39 -r1.40
  --- Compiler.java 4 Dec 2002 00:48:42 -   1.39
  +++ Compiler.java 5 Dec 2002 23:56:39 -   1.40
  @@ -291,7 +291,7 @@
   
// Optimizations by Tag Plugins
TagPluginManager tagPluginManager = options.getTagPluginManager();
  - tagPluginManager.apply(pageNodes);
  + tagPluginManager.apply(pageNodes, errDispatcher);
   
// generate servlet .java file
Generator.generate(writer, this, pageNodes);
  
  
  
  1.138 +6 -6  
jakarta-tomcat-jasper/jasper2/src/share/org/apache/jasper/compiler/Generator.java
  
  Index: Generator.java
  ===
  RCS file: 
/home/cvs/jakarta-tomcat-jasper/jasper2/src/share/org/apache/jasper/compiler/Generator.java,v
  retrieving revision 1.137
  retrieving revision 1.138
  diff -u -r1.137 -r1.138
  --- Generator.java5 Dec 2002 17:56:43 -   1.137
  +++ Generator.java5 Dec 2002 23:56:39 -   1.138
  @@ -1871,13 +1871,13 @@
}
}
   
  - public void visit(Node.GenAttribute n) throws JasperException {
  + public void visit(Node.AttributeGenerator n) throws JasperException {
Node.CustomTag tag = n.getTag();
   Node.JspAttribute[] attrs = tag.getJspAttributes();
   for (int i=0; ihttp://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 AND
   * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
   * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
   * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
   * SUCH DAMAGE.
   * 
   *
   * This software consists of voluntary contributions made by many
   * individuals on behalf of the Apache Software Foundation.  For more
   * information on the Apache Software Foundation, please see
   * .
   *
   */
  
  package org.apache.jasper.tagplugins.jstl;
  
  import org.apache.jasper.compiler.tagplugin.*;
  
  public class ForEach implements TagPlugin {
  
  public void doTag(TagPluginContext ctxt) {
  
String index = null;
  
if (ctxt.isAttributeSpecified("begin")) {
index = ctxt.getTemporaryVariableName();
ctxt.generateJavaSource("for (int " + index + " = ");
ctxt.generateAttribute("begin");
ctxt.generateJavaSource("; " + index + " <= ");
ctxt.generateAttribute("end");
ctxt.generateJavaSource("; 

cvs commit: jakarta-tomcat-jasper/jasper2/src/share/org/apache/jasper/tagplugins/jstl - New directory

2002-12-05 Thread luehe
luehe   2002/12/05 15:55:15

  jakarta-tomcat-jasper/jasper2/src/share/org/apache/jasper/tagplugins/jstl - New 
directory

--
To unsubscribe, e-mail:   
For additional commands, e-mail: 




cvs commit: jakarta-tomcat-jasper/jasper2/src/share/org/apache/jasper/tagplugins - New directory

2002-12-05 Thread luehe
luehe   2002/12/05 15:54:51

  jakarta-tomcat-jasper/jasper2/src/share/org/apache/jasper/tagplugins - New directory

--
To unsubscribe, e-mail:   
For additional commands, e-mail: 




DO NOT REPLY [Bug 15105] - pushBody()/popBody() error on tomcat 4.1.12

2002-12-05 Thread bugzilla
DO NOT REPLY TO THIS EMAIL, BUT PLEASE POST YOUR BUG 
RELATED COMMENTS THROUGH THE WEB INTERFACE AVAILABLE AT
.
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=15105

pushBody()/popBody() error on tomcat 4.1.12

[EMAIL PROTECTED] changed:

   What|Removed |Added

 Status|NEW |RESOLVED
 Resolution||WORKSFORME



--- Additional Comments From [EMAIL PROTECTED]  2002-12-05 23:44 ---
pushBody and popBody are usually invoked by the generated codes, and they have
worked as expected.  Looking at the source in runtime/PageContextImpl.java also
does not support your claim that popBody writes to the previous body.  You'll
need to supply an actualy test case.

--
To unsubscribe, e-mail:   
For additional commands, e-mail: 




logging error on 5.0/OS X 10.2.2

2002-12-05 Thread Matt Raible
I'm using OS X 10.2.2 and JDK 1.3.1.

When I run my application on Tomcat 5.0, I get the following error:

java.lang.ExceptionInInitializerError:  
org.apache.commons.logging.LogConfigurationException:  
org.apache.commons.logging.LogConfigurationException:  
org.apache.commons.logging.LogConfigurationException: Class  
org.apache.commons.logging.impl.SimpleLog does not implement Log
	at  
org.apache.commons.logging.impl.LogFactoryImpl.newInstance(LogFactoryImp 
l.java:555)
	at  
org.apache.commons.logging.impl.LogFactoryImpl.getInstance(LogFactoryImp 
l.java:289)
	at  
org.apache.commons.logging.impl.LogFactoryImpl.getInstance(LogFactoryImp 
l.java:259)
	at org.apache.commons.logging.LogFactory.getLog(LogFactory.java:390)
	at org.apache.jasper.compiler.Compiler.(Compiler.java:99)

Is this a known issue?

Thanks,

Matt


--
To unsubscribe, e-mail:   
For additional commands, e-mail: 



Re: minimal

2002-12-05 Thread Costin Manolache
Another try:

Required libs:
- JMX
- JAAS
- JNDI
- digester ( and beanutils, collections it needs ). 
- modeler
- ant ( required by jasper runtime and startup )
- commons-logging
When/if the JNDI-based abstraction of config files is ready we'll not
need digester - but most likely it'll still be required by
modeler, and also by jasper, so I don't think we can remove it.

Minimal:
- subset of catalina ( non-deprecated interfaces and base impl that is 
required for tomcat to work ).
- coyote
- tomcat-util
- http11/jk2
- all valves/etc that are required for tomcat to operate.
- naming
- jasper ( at least jasper runtime - but probably the whole thing ).

Optional:
- all components with external deps. 
- all components that are not required to get tomcat running
as a fully-functional servlet container.
- admin webapp
- example webapps
- manager ( since JMX can already do most of the stuff that's there )
- slide  ( if we agree to replace our internal webdav with the real thing )
- struts ( required by admin, but also as a separate component ).
- extra taglibs
- doc webapp

This can changes as we go - this is just to get things started.
We can add more stuff in the optional - like other jakarta projects,
log4j, etc. 

The "full" distribution will include minimal+optional.

The goal is to keep "minimal" small :-)
 
Costin



--
To unsubscribe, e-mail:   
For additional commands, e-mail: 




cvs commit: jakarta-tomcat-jasper/jasper2/src/share/org/apache/jasper/compiler/tagplugin TagPluginContext.java

2002-12-05 Thread kinman
kinman  2002/12/05 11:32:52

  Modified:jasper2/src/share/org/apache/jasper/compiler
TagPluginManager.java
   jasper2/src/share/org/apache/jasper/compiler/tagplugin
TagPluginContext.java
  Log:
  - Add getTemporaryVariableName() to TagPluginContext.
  
  Revision  ChangesPath
  1.6   +7 -3  
jakarta-tomcat-jasper/jasper2/src/share/org/apache/jasper/compiler/TagPluginManager.java
  
  Index: TagPluginManager.java
  ===
  RCS file: 
/home/cvs/jakarta-tomcat-jasper/jasper2/src/share/org/apache/jasper/compiler/TagPluginManager.java,v
  retrieving revision 1.5
  retrieving revision 1.6
  diff -u -r1.5 -r1.6
  --- TagPluginManager.java 5 Dec 2002 17:56:43 -   1.5
  +++ TagPluginManager.java 5 Dec 2002 19:32:52 -   1.6
  @@ -192,6 +192,10 @@
return getAttribute(attribute) != null;
}
   
  + public String getTemporaryVariableName() {
  + return JspUtil.nextTemporaryVariableName();
  + }
  +
public void generateJavaSource(String s) {
curNodes.add(new Node.Scriptlet(node.getStart(), null));
}
  
  
  
  1.6   +9 -4  
jakarta-tomcat-jasper/jasper2/src/share/org/apache/jasper/compiler/tagplugin/TagPluginContext.java
  
  Index: TagPluginContext.java
  ===
  RCS file: 
/home/cvs/jakarta-tomcat-jasper/jasper2/src/share/org/apache/jasper/compiler/tagplugin/TagPluginContext.java,v
  retrieving revision 1.5
  retrieving revision 1.6
  diff -u -r1.5 -r1.6
  --- TagPluginContext.java 5 Dec 2002 17:56:43 -   1.5
  +++ TagPluginContext.java 5 Dec 2002 19:32:52 -   1.6
  @@ -82,6 +82,11 @@
   boolean isAttributeSpecified(String attribute);
   
   /**
  + * @return An unique temporary variable name that the plugin can use.
  + */
  +String getTemporaryVariableName();
  +
  +/**
* Generate Java source codes
*/
   void generateJavaSource(String s);
  @@ -100,7 +105,7 @@
   
   /**
* Abandon optimization for this tag handler, and instruct
  - * Jaser to generate the tag handler calls, as usual.
  + * Jasper to generate the tag handler calls, as usual.
* Should be invoked if errors are detected, or when the tag body
* is deemed too compilicated for optimization.
*/
  
  
  

--
To unsubscribe, e-mail:   
For additional commands, e-mail: 




RE: cvs commit: jakarta-tomcat-catalina/catalina/src/share/org/apache/catalina/cluster JGCluster.java JGManager.java ReplicatedSession.java ReplicationStream.java SerializablePrincipal.java SessionMessage.java

2002-12-05 Thread Filip Hanik
Hi Remy,
we have been actually been working on this at
sourceforge.net/projects/tomcat-jg

could I continue the work in TC?
I have several improvements to make, over the next few months

Filip

~
Namaste - I bow to the divine in you
~
Filip Hanik
Software Architect
www.filip.net

>-Original Message-
>From: Remy Maucherat [mailto:[EMAIL PROTECTED]]
>Sent: Thursday, December 05, 2002 7:57 AM
>To: Tomcat Developers List
>Subject: Re: cvs commit:
>jakarta-tomcat-catalina/catalina/src/share/org/apache/catalina/cluster
>JGCluster.java JGManager.java ReplicatedSession.java
>ReplicationStream.java SerializablePrincipal.java SessionMessage.java
>
>
>[EMAIL PROTECTED] wrote:
>> remm2002/12/05 04:25:09
>>
>>   Added:   catalina/src/share/org/apache/catalina/cluster
>> JGCluster.java JGManager.java
>> ReplicatedSession.java ReplicationStream.java
>> SerializablePrincipal.java SessionMessage.java
>>   Log:
>>   - Clustered JG support (untested for now; it builds, and
>doesn't appear to crash TC).
>
>For extended credits:
>- written by Filip Hanik
>- resubmitted privately to me by Bela Ban
>
>Remy
>
>
>--
>To unsubscribe, e-mail:
>[EMAIL PROTECTED]>
>For additional
>commands, e-mail:
>
>
>


--
To unsubscribe, e-mail:   
For additional commands, e-mail: 




Re: minimal

2002-12-05 Thread Jeanfrancois Arcand


Remy Maucherat wrote:


Costin Manolache wrote:


Jeanfrancois Arcand wrote:



Yep. There is a couple of Realm/Authenticator that can be optional (the
default one should stay in the core module)




Speaking of defaults:
- Should we make the JAAS realm the default ? Or at least include it 
in the core ? In my opinion the user.xml Realm should eventually be
rewritten as a JAAS plugin - and same for the LDAP/JDBC ones. But
I don't have the time, so including both jaas and user.xml in the 
minimal would be a reasonable solution. 


+1




- I think the vote on JMX passed ( or will pass). Do we agree on 
requiring JAAS and JNDI ( i.e JDK1.3 or JDK1.2 + jndi.jar + jaas.jar ) ?
That would eliminate some of the conditionals and clean up things. 


+1




One major criteria for making things "optional" can be the external
dependencies ( on non-required features ). Another thing that can be 
made "optional" for 5.0 is the deprecated stuff we include only for
backward compatibility.

My current preference for the list of "required":
- JMX
- JAAS
- JNDI
- digester ( and beanutils it needs ) 


+ collections (digester use it)





Ok. If we use a JNDI context to abstract the XML, we could remove the 
digester (or, OTOH, we could use the digester to populate the JNDI 
context). Wasn't that the idea ?

And components to be included in minimal:
- catalina



I think we'll be able to remove things in there.


- coyote
- tomcat-util
- http11/jk2
- all valves/etc that are required for tomcat to operate.
- naming 


What about Struts? Do we want the Admin App included as minimal? If yes, 
then Jasper will need to be added to the list




+1.


For optional:
- all components with external deps. - all components that are not 
required to get tomcat running
as a fully-functional servlet container.





+1. 

+1

Jeanfrancois




Remy


--
To unsubscribe, e-mail:   

For additional commands, e-mail: 





--
To unsubscribe, e-mail:   
For additional commands, e-mail: 




Re: minimal

2002-12-05 Thread Remy Maucherat
Costin Manolache wrote:

Jeanfrancois Arcand wrote:



Yep. There is a couple of Realm/Authenticator that can be optional (the
default one should stay in the core module)



Speaking of defaults: 

- Should we make the JAAS realm the default ? Or at least include it 
in the core ? In my opinion the user.xml Realm should eventually be
rewritten as a JAAS plugin - and same for the LDAP/JDBC ones. But
I don't have the time, so including both jaas and user.xml in the 
minimal would be a reasonable solution.

- I think the vote on JMX passed ( or will pass). Do we agree on 
requiring JAAS and JNDI ( i.e JDK1.3 or JDK1.2 + jndi.jar + jaas.jar ) ?
That would eliminate some of the conditionals and clean up things.

One major criteria for making things "optional" can be the external
dependencies ( on non-required features ). Another thing that can be 
made "optional" for 5.0 is the deprecated stuff we include only for
backward compatibility.

My current preference for the list of "required":
- JMX
- JAAS
- JNDI
- digester ( and beanutils it needs )

Ok. If we use a JNDI context to abstract the XML, we could remove the 
digester (or, OTOH, we could use the digester to populate the JNDI 
context). Wasn't that the idea ?

And components to be included in minimal:
- catalina


I think we'll be able to remove things in there.


- coyote
- tomcat-util
- http11/jk2
- all valves/etc that are required for tomcat to operate.
- naming


+1.


For optional:
- all components with external deps. 
- all components that are not required to get tomcat running
as a fully-functional servlet container.

+1.

Remy


--
To unsubscribe, e-mail:   
For additional commands, e-mail: 




minimal

2002-12-05 Thread Costin Manolache
Jeanfrancois Arcand wrote:

> Yep. There is a couple of Realm/Authenticator that can be optional (the
> default one should stay in the core module)

Speaking of defaults: 

- Should we make the JAAS realm the default ? Or at least include it 
in the core ? In my opinion the user.xml Realm should eventually be
rewritten as a JAAS plugin - and same for the LDAP/JDBC ones. But
I don't have the time, so including both jaas and user.xml in the 
minimal would be a reasonable solution.

- I think the vote on JMX passed ( or will pass). Do we agree on 
requiring JAAS and JNDI ( i.e JDK1.3 or JDK1.2 + jndi.jar + jaas.jar ) ?
That would eliminate some of the conditionals and clean up things.

One major criteria for making things "optional" can be the external
dependencies ( on non-required features ). Another thing that can be 
made "optional" for 5.0 is the deprecated stuff we include only for
backward compatibility.

My current preference for the list of "required":
- JMX
- JAAS
- JNDI
- digester ( and beanutils it needs )

And components to be included in minimal:
- catalina
- coyote
- tomcat-util
- http11/jk2
- all valves/etc that are required for tomcat to operate.
- naming

For optional:
- all components with external deps. 
- all components that are not required to get tomcat running
as a fully-functional servlet container.


Costin




--
To unsubscribe, e-mail:   
For additional commands, e-mail: 




DO NOT REPLY [Bug 15115] New: - correct docs... XML parser *cannot* be overridden by putting in WEB-INF/lib

2002-12-05 Thread bugzilla
DO NOT REPLY TO THIS EMAIL, BUT PLEASE POST YOUR BUG 
RELATED COMMENTS THROUGH THE WEB INTERFACE AVAILABLE AT
.
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=15115

correct docs... XML parser *cannot* be overridden by putting in WEB-INF/lib

   Summary: correct docs... XML parser *cannot* be overridden by
putting in WEB-INF/lib
   Product: Tomcat 4
   Version: 4.1.16
  Platform: Other
OS/Version: Other
Status: NEW
  Severity: Enhancement
  Priority: Other
 Component: Webapps:Documentation
AssignedTo: [EMAIL PROTECTED]
ReportedBy: [EMAIL PROTECTED]


http://jakarta.apache.org/tomcat/tomcat-4.1-doc/class-loader-howto.html

I see a problem with the documentation.  It says:


xerces.jar - The XML parser that is visible by default to Tomcat
internal classes and to web applications. This can be overridden, for
a particular web application, by including your desired parser in /WEB-INF/lib.


That is very wrong and violates the Sun classloading spec.  Tomcat has
enforced this since 4.0.2, but things were buggy at that time so
Tomcat didn't do a perfect job at ignoring the XML parser.  Instead,
you'd get ClassCastExceptions and such.  I'm
pretty sure Xerces is mostly ignored in Tomcat-4.1.12.  The XML parser
should exist in one of a few places:

1.  In the JDK (true with j2sdk1.4.x)
2.  Overridden in JAVA_HOME/jre/lib/endorsed
3.  Overridden in CATALINA_HOME/common/endorsed
4.  Be placed in CATALINA_HOME/common/lib.  Note that this will not
override existing XML parsers from endorsed directories, but if you
are using JDK1.3.x, then it will be used since that JDK version
doesn't include an XML parser.  The Xerces classes will be
loaded either way...unless the full Xerces is in an endorsed directory
already.

See the following bug reports and comments by Remy and others about why it is
true that the XML parser (and DOM libraries) should *not* be in WEB-INF/lib

http://nagoya.apache.org/bugzilla/show_bug.cgi?id=6248
http://nagoya.apache.org/bugzilla/show_bug.cgi?id=6476
http://nagoya.apache.org/bugzilla/show_bug.cgi?id=6374
http://nagoya.apache.org/bugzilla/show_bug.cgi?id=7175

Jake

--
To unsubscribe, e-mail:   
For additional commands, e-mail: 




Re: build files ( again )

2002-12-05 Thread Jeanfrancois Arcand


Costin Manolache wrote:


Since we are talking about clean and organized: 

Can I (re)move the antcall to jk, http11, jtc from 
j-t-catalina/catalina/build.xml ? j-t5 is the main
build file and it should call all 'child' build.xml files 
directly.

+1



Is anyone else using the "build" target ? Any objections
to creating all the output in j-t5 ( as done "build" ) 
instead of all the different dirs and then copy ?

+1. This should speed up the process



Another one: I added a flag "build.tomcat.minimal" and
split the compile target in catalina/build.xml. One piece
will build the core stuff, the other will build all 
optional code ( unless minimal is set ). You shouldn't
notice any change. 
We do have to decide what is optional and what is not.
 

Yep. There is a couple of Realm/Authenticator that can be optional (the 
default one should stay in the core module)

-- Jeanfrancois


Costin



--
To unsubscribe, e-mail:   
For additional commands, e-mail: 


 



--
To unsubscribe, e-mail:   
For additional commands, e-mail: 




cvs commit: jakarta-tomcat-5 tomcat.nsi

2002-12-05 Thread remm
remm2002/12/05 09:59:38

  Modified:.tomcat.nsi
  Log:
  - Add cute welcome and finish pages.
  - This really looks like MSI, except it's a lot faster :)
  
  Revision  ChangesPath
  1.18  +15 -5 jakarta-tomcat-5/tomcat.nsi
  
  Index: tomcat.nsi
  ===
  RCS file: /home/cvs/jakarta-tomcat-5/tomcat.nsi,v
  retrieving revision 1.17
  retrieving revision 1.18
  diff -u -r1.17 -r1.18
  --- tomcat.nsi15 Nov 2002 20:39:21 -  1.17
  +++ tomcat.nsi5 Dec 2002 17:59:38 -   1.18
  @@ -12,15 +12,20 @@
   ;
   ;Configuration
   
  +  !define MUI_WELCOMEPAGE
  +  !define MUI_FINISHPAGE
  +  !define MUI_FINISHPAGE_SHOWREADME "$INSTDIR\webapps\ROOT\RELEASE-NOTES.txt"
  +  !define MUI_FINISHPAGE_NOREBOOTSUPPORT
  +
 !define MUI_LICENSEPAGE
 !define MUI_COMPONENTSPAGE
 !define MUI_DIRECTORYPAGE
  +
 !define MUI_ABORTWARNING
  +  !define MUI_CUSTOMPAGECOMMANDS
   
 !define MUI_UNINSTALLER
   
  -  !define MUI_CUSTOMPAGECOMMANDS
  -
 !define TEMP1 $R0
 !define TEMP2 $R1
   
  @@ -46,12 +51,14 @@
 LangString TEXT_CONF_PAGETITLE ${LANG_ENGLISH} ": Configuration Options"
   
 ;Page order
  +  !insertmacro MUI_PAGECOMMAND_WELCOME
 !insertmacro MUI_PAGECOMMAND_LICENSE
 !insertmacro MUI_PAGECOMMAND_COMPONENTS
 !insertmacro MUI_PAGECOMMAND_DIRECTORY
 Page custom SetConfiguration "$(TEXT_CONF_PAGETITLE)"
 Page custom SetChooseJVM "$(TEXT_JVM_PAGETITLE)"
 !insertmacro MUI_PAGECOMMAND_INSTFILES
  +  !insertmacro MUI_PAGECOMMAND_FINISH
   
 ;License dialog
 LicenseData INSTALLLICENSE
  @@ -83,6 +90,8 @@
 !insertmacro MUI_UNPAGECOMMAND_INSTFILES
   
 !insertmacro MUI_RESERVEFILE_INSTALLOPTIONS
  +  !insertmacro MUI_RESERVEFILE_SPECIALINI
  +  !insertmacro MUI_RESERVEFILE_SPECIALBITMAP
 ReserveFile "jvm.ini"
 ReserveFile "config.ini"
   
  @@ -216,9 +225,10 @@
   
   SectionEnd
   
  -!insertmacro MUI_SECTIONS_FINISHHEADER
  -
   Section -post
  +
  +  SetOutPath "$INSTDIR"
  +  File "${NSISDIR}\Contrib\UIs\modern.exe"
   
 WriteUninstaller "$INSTDIR\Uninstall.exe"
   
  
  
  

--
To unsubscribe, e-mail:   
For additional commands, e-mail: 




Re: build files ( again )

2002-12-05 Thread Remy Maucherat
Costin Manolache wrote:

Since we are talking about clean and organized: 

Can I (re)move the antcall to jk, http11, jtc from 
j-t-catalina/catalina/build.xml ? j-t5 is the main
build file and it should call all 'child' build.xml files 
directly.

Is anyone else using the "build" target ? Any objections
to creating all the output in j-t5 ( as done "build" ) 
instead of all the different dirs and then copy ?

If it works, yes.


Another one: I added a flag "build.tomcat.minimal" and
split the compile target in catalina/build.xml. One piece
will build the core stuff, the other will build all 
optional code ( unless minimal is set ). You shouldn't
notice any change. 
We do have to decide what is optional and what is not.

It would be best to build both at the same time, rather than using a 
flag. At least that would make my life much easier (the 4.1 style is 
painful and error prone when building a binary).

Remy


--
To unsubscribe, e-mail:   
For additional commands, e-mail: 



cvs commit: jakarta-tomcat-jasper/jasper2/src/share/org/apache/jasper/compiler/tagplugin TagPlugin.java TagPluginContext.java

2002-12-05 Thread luehe
luehe   2002/12/05 09:56:43

  Modified:jasper2/src/share/org/apache/jasper/compiler Generator.java
JspDocumentParser.java JspReader.java Node.java
PageDataImpl.java Parser.java TagPluginManager.java
   jasper2/src/share/org/apache/jasper/compiler/tagplugin
TagPlugin.java TagPluginContext.java
  Log:
  Store scriptlet text as String (instead of char[]), to avoid
  unnecessary conversions between String and char[].
  
  Revision  ChangesPath
  1.137 +7 -8  
jakarta-tomcat-jasper/jasper2/src/share/org/apache/jasper/compiler/Generator.java
  
  Index: Generator.java
  ===
  RCS file: 
/home/cvs/jakarta-tomcat-jasper/jasper2/src/share/org/apache/jasper/compiler/Generator.java,v
  retrieving revision 1.136
  retrieving revision 1.137
  diff -u -r1.136 -r1.137
  --- Generator.java5 Dec 2002 02:39:03 -   1.136
  +++ Generator.java5 Dec 2002 17:56:43 -   1.137
  @@ -831,7 +831,7 @@
   
public void visit(Node.Scriptlet n) throws JasperException {
n.setBeginJavaLine(out.getJavaLine());
  - out.printMultiLn(new String(n.getText()));
  + out.printMultiLn(n.getText());
out.println();
n.setEndJavaLine(out.getJavaLine());
}
  @@ -1713,8 +1713,7 @@
   
public void visit(Node.TemplateText n) throws JasperException {
   
  - char[] chars = n.getText();
  - int size = chars.length;
  + String text = n.getText();
   
n.setBeginJavaLine(out.getJavaLine());
   
  @@ -1722,8 +1721,8 @@
StringBuffer sb = new StringBuffer("out.write(\"");
int initLength = sb.length();
int count = CHUNKSIZE;
  - for (int i = 0 ; i < size ; i++) {
  - char ch = chars[i];
  + for (int i = 0 ; i < text.length() ; i++) {
  + char ch = text.charAt(i);
--count;
switch(ch) {
case '"':
  
  
  
  1.31  +11 -13
jakarta-tomcat-jasper/jasper2/src/share/org/apache/jasper/compiler/JspDocumentParser.java
  
  Index: JspDocumentParser.java
  ===
  RCS file: 
/home/cvs/jakarta-tomcat-jasper/jasper2/src/share/org/apache/jasper/compiler/JspDocumentParser.java,v
  retrieving revision 1.30
  retrieving revision 1.31
  diff -u -r1.30 -r1.31
  --- JspDocumentParser.java27 Nov 2002 16:42:26 -  1.30
  +++ JspDocumentParser.java5 Dec 2002 17:56:43 -   1.31
  @@ -368,9 +368,9 @@
for (int i = offset; i < limit; i++) {
int ch = buf[i];
if (lastCh == '$' && ch == '{') {
  - char[] bufCopy = ttext.toCharArray();
  - if (bufCopy.length > 0) {
  - new Node.TemplateText(bufCopy, start, current);
  + if (ttext.size() > 0) {
  + new Node.TemplateText(ttext.toString(), start,
  +   current);
ttext = new CharArrayWriter();
}
// following "${" to first unquoted "}"
  @@ -392,7 +392,8 @@
continue;
}
if (ch == '}') {
  - new Node.ELExpression(ttext.toCharArray(), start, current);
  + new Node.ELExpression(ttext.toString(), start,
  +   current);
ttext = new CharArrayWriter();
break;
}
  @@ -417,9 +418,8 @@
if (lastCh == '$') {
ttext.write('$');
}
  - char[] bufCopy = ttext.toCharArray();
  - if (bufCopy.length > 0) {
  - new Node.TemplateText(bufCopy, start, current);
  + if (ttext.size() > 0) {
  + new Node.TemplateText(ttext.toString(), start, current);
}
}
   }
  @@ -482,9 +482,7 @@
if (!inDTD) {
Mark start = new Mark(path, locator.getLineNumber(),
  locator.getColumnNumber());
  - char[] bufCopy = new char[len];
  - System.arraycopy(buf, offset, bufCopy, 0, len);
  - new Node.Comment(bufCopy, start, current);
  + new Node.Comment(new String(buf, offset, len), start, current);
}
   }
   
  
  
  
  1.12  +5 -7  
jakarta-tomcat-jasper/jasper2/src/share/org/apache/jasper/compiler/JspReader.java
  
  Index: JspReader.java
  ===
  RCS file: 
/home/cvs/jakarta-tomcat-jasper/jasper2/src/share/org/apache/jasper/compiler/JspReader.java,v
  retrieving revision 1.11
  retrieving revision 1.12
  diff -u -r1.11 -r1.12
  --- JspReader

build files ( again )

2002-12-05 Thread Costin Manolache
Since we are talking about clean and organized: 

Can I (re)move the antcall to jk, http11, jtc from 
j-t-catalina/catalina/build.xml ? j-t5 is the main
build file and it should call all 'child' build.xml files 
directly.

Is anyone else using the "build" target ? Any objections
to creating all the output in j-t5 ( as done "build" ) 
instead of all the different dirs and then copy ?

Another one: I added a flag "build.tomcat.minimal" and
split the compile target in catalina/build.xml. One piece
will build the core stuff, the other will build all 
optional code ( unless minimal is set ). You shouldn't
notice any change. 
We do have to decide what is optional and what is not.

Costin



--
To unsubscribe, e-mail:   
For additional commands, e-mail: 




Re: [VOTE] Tomcat modules

2002-12-05 Thread Costin Manolache
Remy Maucherat wrote:

> Costin Manolache wrote:
>> Remy Maucherat wrote:
>> 
>> 
>>>Hi,
>>>
>>>I plan to reorganize the jakarta-tomcat-catalina repository as follows:
>>>- catalina folder: Catalina core; this depends on the servlet API
>>>- modules folders: Optional functionality and modules (one example is
>>>clustering), but which depends on the Catalina API; this does not
>>>directly depend on the servlet API
>>>
>>>Alternately, using another repository (j-t-modules) is possible, but
>>>just using a folder looks simpler, as there is an API dependency.
>>>
>>>I propose putting independent modules in j-t-connectors (like eventually
>>>some of the naming features).
>>>
>>>
>>>+1 [X]
>>>-1 [ ]
>>>
>> 
>> 
>> Some comments: while it is a good idea for the new code ( clustering ),
>> it's probably not worth moving the existing code around. At least
>> not until we decide about the Action and auth*.
>> 
>> Code that is independent of catalina core should be in j-t-connectors or
>> j-t-modules. Probably a modules cvs repository would make sense - but
>> there's no problem with using j-t-connectors.
> 
> Ok, so to paraphrase:
> - Catalina core: stays in j-t-catalina/catalina
> - Modules which use the Catalina API: j-t-catalina/modules (or by
> component name, like j-t-catalina/cluster ?)

I think j-t-catalina/cluster is better. 

> - Rest: j-t-c

Sounds good. j-t-module may be better name - but I don't think it's 
worth the effort. Maybe we just extend "connector" to more than
web-server-connector, but external-stuff-connector :-)


> I won't bother moving code around for now then (and you like doing that
> way too much, so I'll let you do it if it's needed ;-) ).

Please do move the cluster and new stuff :-)
I like things to be clear and well organized - but we should first 
have a clear decision on what we want. Cluster seems clear - 
it'll be optional, well separated - and minimal interface changes in
catalina to support it. ( later on we can support other kinds of 
cluster - in addition to javagroup - if we want, in a separate module ).

Costin






--
To unsubscribe, e-mail:   
For additional commands, e-mail: 




DO NOT REPLY [Bug 15084] - preloaded jsp's have their init method called again on first hit

2002-12-05 Thread bugzilla
DO NOT REPLY TO THIS EMAIL, BUT PLEASE POST YOUR BUG 
RELATED COMMENTS THROUGH THE WEB INTERFACE AVAILABLE AT
.
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=15084

preloaded jsp's have their init method called again on first hit

[EMAIL PROTECTED] changed:

   What|Removed |Added

 Status|RESOLVED|REOPENED
 Resolution|INVALID |



--- Additional Comments From [EMAIL PROTECTED]  2002-12-05 17:33 ---
Hi, I basically understand what you are saying, but
I can tell you I've never seen any other servlet container
do it this way (call the init method twice) -- Tomcat 3.x
never did this, WebLogic 7 doesn't do this, Resin doesn't do
this. Are you sure this is really the way to do it?
I think it's not good because suppose my init method does something
fairly intensive, like load some data from a database - I don't
want this happending twice for no good reason.
Sorry to be a pain and reopen the bug, but I really question this.
Thanks.

--
To unsubscribe, e-mail:   
For additional commands, e-mail: 




Re: [VOTE] Tomcat modules

2002-12-05 Thread Remy Maucherat
Costin Manolache wrote:

Remy Maucherat wrote:



Hi,

I plan to reorganize the jakarta-tomcat-catalina repository as follows:
- catalina folder: Catalina core; this depends on the servlet API
- modules folders: Optional functionality and modules (one example is
clustering), but which depends on the Catalina API; this does not
directly depend on the servlet API

Alternately, using another repository (j-t-modules) is possible, but
just using a folder looks simpler, as there is an API dependency.

I propose putting independent modules in j-t-connectors (like eventually
some of the naming features).


+1 [X]  
-1 [ ]



Some comments: while it is a good idea for the new code ( clustering ),
it's probably not worth moving the existing code around. At least 
not until we decide about the Action and auth*. 

Code that is independent of catalina core should be in j-t-connectors or 
j-t-modules. Probably a modules cvs repository would make sense - but
there's no problem with using j-t-connectors.

Ok, so to paraphrase:
- Catalina core: stays in j-t-catalina/catalina
- Modules which use the Catalina API: j-t-catalina/modules (or by 
component name, like j-t-catalina/cluster ?)
- Rest: j-t-c

I won't bother moving code around for now then (and you like doing that 
way too much, so I'll let you do it if it's needed ;-) ).

Remy


--
To unsubscribe, e-mail:   
For additional commands, e-mail: 



Re: [VOTE] Tomcat modules

2002-12-05 Thread Jeanfrancois Arcand


Remy Maucherat wrote:




+1 [X ]
-1 [ ]


Remy


I like the idea of having j-t-module, because it's look like 
jakarta-commons. But j-t-connector is fine for now.

-- Jeanfrancois


--
To unsubscribe, e-mail:   
For additional commands, e-mail: 



cvs commit: jakarta-tomcat-5/resources/confinstall server_2.xml

2002-12-05 Thread remm
remm2002/12/05 08:03:06

  Modified:resources/confinstall server_2.xml
  Log:
  - Add JG cluster example.
  
  Revision  ChangesPath
  1.8   +19 -0 jakarta-tomcat-5/resources/confinstall/server_2.xml
  
  Index: server_2.xml
  ===
  RCS file: /home/cvs/jakarta-tomcat-5/resources/confinstall/server_2.xml,v
  retrieving revision 1.7
  retrieving revision 1.8
  diff -u -r1.7 -r1.8
  --- server_2.xml  3 Dec 2002 18:45:16 -   1.7
  +++ server_2.xml  5 Dec 2002 16:03:06 -   1.8
  @@ -113,6 +113,25 @@
 
   
  +  
  +  
  +
  +
  +
  +
   

cvs commit: jakarta-tomcat-catalina/catalina/src/conf server.xml

2002-12-05 Thread remm
remm2002/12/05 08:02:54

  Modified:catalina/src/conf server.xml
  Log:
  - Add JG cluster example.
  
  Revision  ChangesPath
  1.12  +7 -1  jakarta-tomcat-catalina/catalina/src/conf/server.xml
  
  Index: server.xml
  ===
  RCS file: /home/cvs/jakarta-tomcat-catalina/catalina/src/conf/server.xml,v
  retrieving revision 1.11
  retrieving revision 1.12
  diff -u -r1.11 -r1.12
  --- server.xml3 Dec 2002 18:44:51 -   1.11
  +++ server.xml5 Dec 2002 16:02:54 -   1.12
  @@ -201,7 +201,6 @@
 
 
  - 
   
 
  +
  +
  +
   
   

cvs commit: jakarta-tomcat-catalina/webapps/admin build.xml

2002-12-05 Thread costin
costin  2002/12/05 07:59:03

  Modified:webapps/admin build.xml
  Log:
  Added digester ( in some cases it wasn't picked up - for example when
  calling it directly )
  
  Revision  ChangesPath
  1.5   +1 -0  jakarta-tomcat-catalina/webapps/admin/build.xml
  
  Index: build.xml
  ===
  RCS file: /home/cvs/jakarta-tomcat-catalina/webapps/admin/build.xml,v
  retrieving revision 1.4
  retrieving revision 1.5
  diff -u -r1.4 -r1.5
  --- build.xml 16 Aug 2002 23:56:18 -  1.4
  +++ build.xml 5 Dec 2002 15:59:03 -   1.5
  @@ -28,6 +28,7 @@
   
   
   
  +
 
   
   
  
  
  

--
To unsubscribe, e-mail:   
For additional commands, e-mail: 




cvs commit: jakarta-tomcat-catalina/catalina/src/share/org/apache/catalina/startup Catalina.java

2002-12-05 Thread costin
costin  2002/12/05 07:57:48

  Modified:catalina/src/share/org/apache/catalina/startup Catalina.java
  Log:
  Make Catalina extend Embed.
  
  Some methods moved ( setters/getters grouped ).
  Duplicated methods removed ( use the ones in parent ).
  Catalina.home and jndi are done in parent.
  
  For consistency and to keep the embeded tomcat close to standalone -
  please make all the changes in Embed, except those related with server.xml
  reading.
  
  Revision  ChangesPath
  1.11  +51 -126   
jakarta-tomcat-catalina/catalina/src/share/org/apache/catalina/startup/Catalina.java
  
  Index: Catalina.java
  ===
  RCS file: 
/home/cvs/jakarta-tomcat-catalina/catalina/src/share/org/apache/catalina/startup/Catalina.java,v
  retrieving revision 1.10
  retrieving revision 1.11
  diff -u -r1.10 -r1.11
  --- Catalina.java 20 Nov 2002 00:21:33 -  1.10
  +++ Catalina.java 5 Dec 2002 15:57:48 -   1.11
  @@ -97,12 +97,14 @@
* -stop - Stop the currently running instance of Catalina.
* 
*
  + * Should do the same thing as Embedded, but using a server.xml file.
  + *
* @author Craig R. McClanahan
* @author Remy Maucherat
* @version $Revision$ $Date$
*/
   
  -public class Catalina {
  +public class Catalina extends Embedded {
   
   
   // - Instance Variables
  @@ -113,13 +115,7 @@
*/
   protected String configFile = "conf/server.xml";
   
  -
  -/**
  - * Set the debugging detail level on our Digester.
  - */
  -protected boolean debug = false;
  -
  -
  +// XXX Should be moved to embedded
   /**
* The shared extensions class loader for this server.
*/
  @@ -145,18 +141,6 @@
   protected boolean stopping = false;
   
   /**
  - * Are we using naming ?
  - */
  -protected boolean useNaming = true;
  -
  -
  -/**
  - * Use await.
  - */
  -protected boolean await = false;
  -
  -
  -/**
* Shutdown hook.
*/
   protected Thread shutdownHook = new CatalinaShutdownHook();
  @@ -165,23 +149,38 @@
   // - Properties
   
   
  -public void setUseNaming(boolean b) {
  -useNaming = b;
  -}
  -
  -
   public void setConfig(String file) {
   configFile = file;
   }
   
  +public String getConfigFile() {
  +return configFile;
  +}
  +
  +/**
  + * Set the shared extensions class loader.
  + *
  + * @param parentClassLoader The shared extensions class loader.
  + */
  +public void setParentClassLoader(ClassLoader parentClassLoader) {
  +
  +this.parentClassLoader = parentClassLoader;
   
  -public void setAwait(boolean b) {
  -await = b;
   }
   
   
  -// --- Main Program
  +/**
  + * Set the server instance we are configuring.
  + *
  + * @param server The new server
  + */
  +public void setServer(Server server) {
  +
  +this.server = server;
  +
  +}
   
  +// --- Main Program
   
   /**
* The application main program.
  @@ -218,33 +217,6 @@
   }
   
   
  -// - Public Methods
  -
  -
  -/**
  - * Set the shared extensions class loader.
  - *
  - * @param parentClassLoader The shared extensions class loader.
  - */
  -public void setParentClassLoader(ClassLoader parentClassLoader) {
  -
  -this.parentClassLoader = parentClassLoader;
  -
  -}
  -
  -
  -/**
  - * Set the server instance we are configuring.
  - *
  - * @param server The new server
  - */
  -public void setServer(Server server) {
  -
  -this.server = server;
  -
  -}
  -
  -
   // -- Protected Methods
   
   
  @@ -271,9 +243,9 @@
   } else if (args[i].equals("-config")) {
   isConfig = true;
   } else if (args[i].equals("-debug")) {
  -debug = true;
  +debug = 1;
   } else if (args[i].equals("-nonaming")) {
  -useNaming = false;
  +setUseNaming( false );
   } else if (args[i].equals("-help")) {
   usage();
   return (false);
  @@ -314,8 +286,8 @@
   long t1=System.currentTimeMillis();
   // Initialize the digester
   Digester digester = new Digester();
  -if (debug)
  -digester.setDebug(999);
  +if (debug>0)
  +digester.setDebug(debug);
   digester.setValidating(false);
   
   // Configure the actions we will be using
  @@ -

Re: cvs commit: jakarta-tomcat-catalina/catalina/src/share/org/apache/catalina/clusterJGCluster.java JGManager.java ReplicatedSession.java ReplicationStream.javaSerializablePrincipal.java SessionMessage.java

2002-12-05 Thread Remy Maucherat
[EMAIL PROTECTED] wrote:

remm2002/12/05 04:25:09

  Added:   catalina/src/share/org/apache/catalina/cluster
JGCluster.java JGManager.java
ReplicatedSession.java ReplicationStream.java
SerializablePrincipal.java SessionMessage.java
  Log:
  - Clustered JG support (untested for now; it builds, and doesn't appear to crash TC).


For extended credits:
- written by Filip Hanik
- resubmitted privately to me by Bela Ban

Remy


--
To unsubscribe, e-mail:   
For additional commands, e-mail: 




cvs commit: jakarta-tomcat-catalina/catalina/src/share/org/apache/catalina/startup Embedded.java

2002-12-05 Thread costin
costin  2002/12/05 07:53:57

  Modified:catalina/src/share/org/apache/catalina/startup Embedded.java
  Log:
  Move to c-l.
  
  A bit of refactoring in catalina.home initialization - to make it
  consistent to Catalina ( the server.xml init ). Also added a check with
  IntrospectionUtils ( using the classpath ).
  
  I added some methods from Catalina, again - to make them more consistent.
  Catalina will extend Embeded and add only the server.xml processing.
  
  Please review and let me know if you don't like it !
  
  Revision  ChangesPath
  1.2   +142 -65   
jakarta-tomcat-catalina/catalina/src/share/org/apache/catalina/startup/Embedded.java
  
  Index: Embedded.java
  ===
  RCS file: 
/home/cvs/jakarta-tomcat-catalina/catalina/src/share/org/apache/catalina/startup/Embedded.java,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- Embedded.java 18 Jul 2002 16:47:49 -  1.1
  +++ Embedded.java 5 Dec 2002 15:53:57 -   1.2
  @@ -95,6 +95,8 @@
   import org.apache.catalina.realm.MemoryRealm;
   import org.apache.catalina.util.LifecycleSupport;
   import org.apache.catalina.util.StringManager;
  +import org.apache.commons.logging.LogFactory;
  +import org.apache.commons.logging.Log;
   
   
   /**
  @@ -155,7 +157,7 @@
*/
   
   public class Embedded implements Lifecycle {
  -
  +private static Log log = LogFactory.getLog(Embedded.class);
   
   // --- Constructors
   
  @@ -264,6 +266,10 @@
*/
   protected boolean started = false;
   
  +/**
  + * Use await.
  + */
  +protected boolean await = false;
   
   /**
* The property change support for this component.
  @@ -393,6 +399,24 @@
   
   }
   
  +public void setAwait(boolean b) {
  +await = b;
  +}
  +
  +public boolean isAwait() {
  +return await;
  +}
  +
  +public void setCatalinaHome( String s ) {
  +System.out.println("Setting home "+ s);
  +System.setProperty( "catalina.home", s);
  +}
  +
  +public void setCatalinaBase( String s ) {
  +System.setProperty( "catalina.base", s);
  +}
  +
  +
   
   // - Public Methods
   
  @@ -407,8 +431,8 @@
*/
   public synchronized void addConnector(Connector connector) {
   
  -if (debug >= 1) {
  -logger.log("Adding connector (" + connector.getInfo() + ")");
  +if( log.isDebugEnabled() ) {
  +log.debug("Adding connector (" + connector.getInfo() + ")");
   }
   
   // Make sure we have a Container to send requests to
  @@ -434,7 +458,7 @@
   ((Lifecycle) connector).start();
   }
   } catch (LifecycleException e) {
  -logger.log("Connector.start", e);
  +log.error("Connector.start", e);
   }
   }
   
  @@ -448,8 +472,8 @@
*/
   public synchronized void addEngine(Engine engine) {
   
  -if (debug >= 1)
  -logger.log("Adding engine (" + engine.getInfo() + ")");
  +if( log.isDebugEnabled() )
  +log.debug("Adding engine (" + engine.getInfo() + ")");
   
   // Add this Engine to our set of defined Engines
   Engine results[] = new Engine[engines.length + 1];
  @@ -463,7 +487,7 @@
   try {
   ((Lifecycle) engine).start();
   } catch (LifecycleException e) {
  -logger.log("Engine.start", e);
  +log.error("Engine.start", e);
   }
   }
   
  @@ -494,8 +518,8 @@
   public Connector createConnector(InetAddress address, int port,
boolean secure) {
   
  -if (debug >= 1)
  -logger.log("Creating connector for address='" +
  +if( log.isDebugEnabled() )
  +log.debug("Creating connector for address='" +
  ((address == null) ? "ALL" : address.getHostAddress()) +
  "' port='" + port + "' secure='" + secure + "'");
   
  @@ -543,12 +567,12 @@
   serverSocketFactoryClass.newInstance();
   connector.setFactory(factory);
   } catch (Exception e) {
  -logger.log("Couldn't load SSL server socket factory.");
  +log.error("Couldn't load SSL server socket factory.");
   }
   }
   
   } catch (Exception e) {
  -logger.log("Couldn't create connector.");
  +log.error("Couldn't create connector.");
   } 
   
   return (connector);
  @@ -581,8 +605,8 @@
*/
   public Context createContext(String path, String docBase) {
   
  -if (debu

cvs commit: jakarta-tomcat-catalina/catalina/src/share/org/apache/catalina/core ApplicationDispatcher.java

2002-12-05 Thread costin
costin  2002/12/05 07:44:30

  Modified:catalina/src/share/org/apache/catalina/core
ApplicationDispatcher.java
  Log:
  One more conversion to c-l
  
  Revision  ChangesPath
  1.5   +62 -55
jakarta-tomcat-catalina/catalina/src/share/org/apache/catalina/core/ApplicationDispatcher.java
  
  Index: ApplicationDispatcher.java
  ===
  RCS file: 
/home/cvs/jakarta-tomcat-catalina/catalina/src/share/org/apache/catalina/core/ApplicationDispatcher.java,v
  retrieving revision 1.4
  retrieving revision 1.5
  diff -u -r1.4 -r1.5
  --- ApplicationDispatcher.java12 Sep 2002 00:09:27 -  1.4
  +++ ApplicationDispatcher.java5 Dec 2002 15:44:30 -   1.5
  @@ -97,6 +97,8 @@
   import org.apache.catalina.core.StandardWrapper;
   import org.apache.catalina.util.InstanceSupport;
   import org.apache.catalina.util.StringManager;
  +import org.apache.commons.logging.LogFactory;
  +import org.apache.commons.logging.Log;
   
   
   /**
  @@ -186,8 +188,8 @@
   else
   this.support = new InstanceSupport(wrapper);
   
  -if (debug >= 1)
  -log("servletPath=" + this.servletPath + ", pathInfo=" +
  +if ( log.isDebugEnabled() )
  +log.debug("servletPath=" + this.servletPath + ", pathInfo=" +
   this.pathInfo + ", queryString=" + queryString +
   ", name=" + this.name);
   
  @@ -195,8 +197,8 @@
   // the request parameters appropriately
   String jspFile = wrapper.getJspFile();
   if (jspFile != null) {
  -if (debug >= 1)
  -log("-->servletPath=" + jspFile);
  +if ( log.isDebugEnabled() )
  +log.debug("-->servletPath=" + jspFile);
   this.servletPath = jspFile;
   }
   
  @@ -205,6 +207,7 @@
   
   // - Instance Variables
   
  +private static Log log = LogFactory.getLog(ApplicationDispatcher.class);
   
   /**
* The request specified by the dispatching application.
  @@ -362,16 +365,16 @@
   {
   // Reset any output that has been buffered, but keep headers/cookies
   if (response.isCommitted()) {
  -if (debug >= 1)
  -log("  Forward on committed response --> ISE");
  +if ( log.isDebugEnabled() )
  +log.debug("  Forward on committed response --> ISE");
   throw new IllegalStateException
   (sm.getString("applicationDispatcher.forward.ise"));
   }
   try {
   response.resetBuffer();
   } catch (IllegalStateException e) {
  -if (debug >= 1)
  -log("  Forward resetBuffer() returned ISE: " + e);
  +if ( log.isDebugEnabled() )
  +log.debug("  Forward resetBuffer() returned ISE: " + e);
   throw e;
   }
   
  @@ -389,8 +392,8 @@
   // Handle a non-HTTP forward by passing the existing request/response
   if ((hrequest == null) || (hresponse == null)) {
   
  -if (debug >= 1)
  -log(" Non-HTTP Forward");
  +if ( log.isDebugEnabled() )
  +log.debug(" Non-HTTP Forward");
   // only set the Dispatcher Type to Forward if it has not been set. It 
will have
   // been set by the ErrorDispatcherValue in the case of an ERROR
   // it will be REQUEST coming in from the StandardWrapperValue and 
  @@ -408,8 +411,8 @@
   // Handle an HTTP named dispatcher forward
   else if ((servletPath == null) && (pathInfo == null)) {
   
  -if (debug >= 1)
  -log(" Named Dispatcher Forward");
  +if ( log.isDebugEnabled() )
  +log.debug(" Named Dispatcher Forward");
   // only set the Dispatcher Type to Forward if it has not been set. It 
will have
   // been set by the ErrorDispatcherValue in the case of an ERROR
   // it will be REQUEST coming in from the StandardWrapperValue and 
  @@ -428,8 +431,8 @@
   // Handle an HTTP path-based forward
   else {
   
  -if (debug >= 1)
  -log(" Path Based Forward");
  +if ( log.isDebugEnabled() )
  +log.debug(" Path Based Forward");
   
   ApplicationHttpRequest wrequest =
   (ApplicationHttpRequest) wrapRequest();
  @@ -466,13 +469,15 @@
   
   }
   
  -// Commit and close the response before we return
  -if (debug >= 1)
  -log(" Committing and closing response");
  +// This is not a real close in order to support error processing
  +if ( log.isDebugEnabled() )
  +log.debug(" Disabling the response for futher output");
   
  -if (response 

cvs commit: jakarta-tomcat-catalina/catalina/src/bin catalina.xml

2002-12-05 Thread costin
costin  2002/12/05 07:42:13

  Modified:catalina/src/bin catalina.xml
  Log:
  Fix the relative paths ( so it can be used from bin/ )
  
  Revision  ChangesPath
  1.7   +2 -2  jakarta-tomcat-catalina/catalina/src/bin/catalina.xml
  
  Index: catalina.xml
  ===
  RCS file: /home/cvs/jakarta-tomcat-catalina/catalina/src/bin/catalina.xml,v
  retrieving revision 1.6
  retrieving revision 1.7
  diff -u -r1.6 -r1.7
  --- catalina.xml  16 Nov 2002 00:51:20 -  1.6
  +++ catalina.xml  5 Dec 2002 15:42:13 -   1.7
  @@ -172,10 +172,10 @@
 
   
 
  -
  +
   
   
  -  
  +  
 
 
 
  
  
  

--
To unsubscribe, e-mail:   
For additional commands, e-mail: 




cvs commit: jakarta-tomcat-catalina/catalina build.xml

2002-12-05 Thread costin
costin  2002/12/05 07:41:37

  Modified:catalina build.xml
  Log:
  Pass commons-modeler to jk.
  I'll change the jmx support from dynamic mbean to modeler.
  
  Revision  ChangesPath
  1.33  +1 -0  jakarta-tomcat-catalina/catalina/build.xml
  
  Index: build.xml
  ===
  RCS file: /home/cvs/jakarta-tomcat-catalina/catalina/build.xml,v
  retrieving revision 1.32
  retrieving revision 1.33
  diff -u -r1.32 -r1.33
  --- build.xml 5 Dec 2002 12:01:16 -   1.32
  +++ build.xml 5 Dec 2002 15:41:37 -   1.33
  @@ -655,6 +655,7 @@
   
 
 
  +  
 
   
   
  
  
  

--
To unsubscribe, e-mail:   
For additional commands, e-mail: 




Re: [VOTE] Tomcat modules

2002-12-05 Thread Costin Manolache
Remy Maucherat wrote:

> Hi,
> 
> I plan to reorganize the jakarta-tomcat-catalina repository as follows:
> - catalina folder: Catalina core; this depends on the servlet API
> - modules folders: Optional functionality and modules (one example is
> clustering), but which depends on the Catalina API; this does not
> directly depend on the servlet API
> 
> Alternately, using another repository (j-t-modules) is possible, but
> just using a folder looks simpler, as there is an API dependency.
> 
> I propose putting independent modules in j-t-connectors (like eventually
> some of the naming features).
> 
> 
> +1 [X]  
> -1 [ ]
> 

Some comments: while it is a good idea for the new code ( clustering ),
it's probably not worth moving the existing code around. At least 
not until we decide about the Action and auth*. 

Code that is independent of catalina core should be in j-t-connectors or 
j-t-modules. Probably a modules cvs repository would make sense - but
there's no problem with using j-t-connectors.


Costin

 


> 
> Remy




--
To unsubscribe, e-mail:   
For additional commands, e-mail: 




cvs commit: jakarta-tomcat-catalina/catalina/src/share/org/apache/catalina/cluster JGManager.java

2002-12-05 Thread remm
remm2002/12/05 06:05:22

  Modified:catalina/src/share/org/apache/catalina/cluster
JGManager.java
  Log:
  - Allow specifying the implementation class for sessions when deserializing
(obviously, JG doesn't like StandardSession instances).
  
  Revision  ChangesPath
  1.2   +12 -3 
jakarta-tomcat-catalina/catalina/src/share/org/apache/catalina/cluster/JGManager.java
  
  Index: JGManager.java
  ===
  RCS file: 
/home/cvs/jakarta-tomcat-catalina/catalina/src/share/org/apache/catalina/cluster/JGManager.java,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- JGManager.java5 Dec 2002 12:25:09 -   1.1
  +++ JGManager.java5 Dec 2002 14:05:22 -   1.2
  @@ -66,6 +66,7 @@
   import org.apache.catalina.Session;
   import org.apache.catalina.realm.GenericPrincipal;
   import org.apache.catalina.session.StandardManager;
  +import org.apache.catalina.session.StandardSession;
   import org.apache.catalina.util.CustomObjectInputStream;
   
   import org.javagroups.stack.IpAddress;
  @@ -132,6 +133,14 @@
   return;
   }
   this.cluster = cluster;
  +}
  +
  +
  +/**
  + * Get new session class to be used in the doLoad() method.
  + */
  +protected StandardSession getNewSession() {
  +return new ReplicatedSession(this);
   }
   
   
  
  
  

--
To unsubscribe, e-mail:   
For additional commands, e-mail: 




cvs commit: jakarta-tomcat-catalina/catalina/src/share/org/apache/catalina/session StandardManager.java

2002-12-05 Thread remm
remm2002/12/05 06:05:12

  Modified:catalina/src/share/org/apache/catalina/session
StandardManager.java
  Log:
  - Allow specifying the implementation class for sessions when deserializing
(obviously, JG doesn't like StandardSession instances).
  
  Revision  ChangesPath
  1.4   +16 -7 
jakarta-tomcat-catalina/catalina/src/share/org/apache/catalina/session/StandardManager.java
  
  Index: StandardManager.java
  ===
  RCS file: 
/home/cvs/jakarta-tomcat-catalina/catalina/src/share/org/apache/catalina/session/StandardManager.java,v
  retrieving revision 1.3
  retrieving revision 1.4
  diff -u -r1.3 -r1.4
  --- StandardManager.java  18 Oct 2002 21:39:57 -  1.3
  +++ StandardManager.java  5 Dec 2002 14:05:12 -   1.4
  @@ -396,7 +396,16 @@
   doLoad();
   }   
   }
  -
  +
  +
  +/**
  + * Get new session class to be used in the doLoad() method.
  + */
  +protected StandardSession getNewSession() {
  +return new StandardSession(this);
  +}
  +
  +
   /**
* Load any currently active sessions that were previously unloaded
* to the appropriate persistence mechanism, if any.  If persistence is not
  @@ -466,11 +475,11 @@
   if (debug >= 1)
   log("Loading " + n + " persisted sessions");
   for (int i = 0; i < n; i++) {
  -StandardSession session = new StandardSession(this);
  +StandardSession session = getNewSession();
   session.readObjectData(ois);
   session.setManager(this);
   sessions.put(session.getId(), session);
  -((StandardSession) session).activate();
  +session.activate();
   }
   } catch (ClassNotFoundException e) {
 log(sm.getString("standardManager.loading.cnfe", e), e);
  
  
  

--
To unsubscribe, e-mail:   
For additional commands, e-mail: 




cvs commit: jakarta-tomcat-catalina/catalina/src/share/org/apache/catalina/session ManagerBase.java StandardSession.java DistributedManager.java

2002-12-05 Thread remm
remm2002/12/05 05:52:51

  Modified:catalina/src/share/org/apache/catalina/session
ManagerBase.java StandardSession.java
  Removed: catalina/src/share/org/apache/catalina/session
DistributedManager.java
  Log:
  - Allow extending StdSession and ManagerBase.
  - Remove DistributedManager.
  
  Revision  ChangesPath
  1.4   +7 -7  
jakarta-tomcat-catalina/catalina/src/share/org/apache/catalina/session/ManagerBase.java
  
  Index: ManagerBase.java
  ===
  RCS file: 
/home/cvs/jakarta-tomcat-catalina/catalina/src/share/org/apache/catalina/session/ManagerBase.java,v
  retrieving revision 1.3
  retrieving revision 1.4
  diff -u -r1.3 -r1.4
  --- ManagerBase.java  13 Nov 2002 00:40:14 -  1.3
  +++ ManagerBase.java  5 Dec 2002 13:52:51 -   1.4
  @@ -790,7 +790,7 @@
*
* @param message Message to be logged
*/
  -void log(String message) {
  +protected void log(String message) {
   
   Logger logger = null;
   if (container != null)
  @@ -815,7 +815,7 @@
* @param message Message to be logged
* @param throwable Associated exception
*/
  -void log(String message, Throwable throwable) {
  +protected void log(String message, Throwable throwable) {
   
   Logger logger = null;
   if (container != null)
  @@ -840,7 +840,7 @@
*
* @param session Session to be recycled
*/
  -void recycle(Session session) {
  +protected void recycle(Session session) {
   
   synchronized (recycled) {
   recycled.add(session);
  
  
  
  1.7   +9 -9  
jakarta-tomcat-catalina/catalina/src/share/org/apache/catalina/session/StandardSession.java
  
  Index: StandardSession.java
  ===
  RCS file: 
/home/cvs/jakarta-tomcat-catalina/catalina/src/share/org/apache/catalina/session/StandardSession.java,v
  retrieving revision 1.6
  retrieving revision 1.7
  diff -u -r1.6 -r1.7
  --- StandardSession.java  26 Nov 2002 19:56:09 -  1.6
  +++ StandardSession.java  5 Dec 2002 13:52:51 -   1.7
  @@ -118,7 +118,7 @@
* @version $Revision$ $Date$
*/
   
  -class StandardSession
  +public class StandardSession
   implements HttpSession, Session, Serializable {
   
   
  @@ -845,7 +845,7 @@
* @exception ClassNotFoundException if an unknown class is specified
* @exception IOException if an input/output error occurs
*/
  -void readObjectData(ObjectInputStream stream)
  +public void readObjectData(ObjectInputStream stream)
   throws ClassNotFoundException, IOException {
   
   readObject(stream);
  @@ -862,7 +862,7 @@
*
* @exception IOException if an input/output error occurs
*/
  -void writeObjectData(ObjectOutputStream stream)
  +public void writeObjectData(ObjectOutputStream stream)
   throws IOException {
   
   writeObject(stream);
  @@ -1550,7 +1550,7 @@
*
* @param message Message to be logged
*/
  -private void log(String message) {
  +protected void log(String message) {
   
   if ((manager != null) && (manager instanceof ManagerBase)) {
   ((ManagerBase) manager).log(message);
  @@ -1567,7 +1567,7 @@
* @param message Message to be logged
* @param throwable Associated exception
*/
  -private void log(String message, Throwable throwable) {
  +protected void log(String message, Throwable throwable) {
   
   if ((manager != null) && (manager instanceof ManagerBase)) {
   ((ManagerBase) manager).log(message, throwable);
  
  
  

--
To unsubscribe, e-mail:   
For additional commands, e-mail: 




DO NOT REPLY [Bug 15077] - NPE when reloading servlets in org.apache.catalina.core.StandardWrapper.allocate(StandardWrapper.java:686)

2002-12-05 Thread bugzilla
DO NOT REPLY TO THIS EMAIL, BUT PLEASE POST YOUR BUG 
RELATED COMMENTS THROUGH THE WEB INTERFACE AVAILABLE AT
.
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=15077

NPE when reloading servlets in  
org.apache.catalina.core.StandardWrapper.allocate(StandardWrapper.java:686)

[EMAIL PROTECTED] changed:

   What|Removed |Added

   Severity|Major   |Normal
 Status|NEW |RESOLVED
 Resolution||FIXED



--- Additional Comments From [EMAIL PROTECTED]  2002-12-05 13:35 ---
This is a cosmetic issue. I've modified it, and servlets should now return that
they're not available when accessed during a webapp reload.

--
To unsubscribe, e-mail:   
For additional commands, e-mail: 




cvs commit: jakarta-tomcat-catalina/catalina/src/share/org/apache/catalina/core StandardWrapper.java

2002-12-05 Thread remm
remm2002/12/05 05:34:09

  Modified:catalina/src/share/org/apache/catalina/core
StandardWrapper.java
  Log:
  - Slightly experimental: mark servlets as unavailable
when the wrapper is stopped (bug 15077).
  
  Revision  ChangesPath
  1.9   +10 -5 
jakarta-tomcat-catalina/catalina/src/share/org/apache/catalina/core/StandardWrapper.java
  
  Index: StandardWrapper.java
  ===
  RCS file: 
/home/cvs/jakarta-tomcat-catalina/catalina/src/share/org/apache/catalina/core/StandardWrapper.java,v
  retrieving revision 1.8
  retrieving revision 1.9
  diff -u -r1.8 -r1.9
  --- StandardWrapper.java  20 Nov 2002 00:19:54 -  1.8
  +++ StandardWrapper.java  5 Dec 2002 13:34:09 -   1.9
  @@ -1343,6 +1343,8 @@
   // Load and initialize an instance of this servlet if requested
   // MOVED TO StandardContext START() METHOD
   
  +setAvailable(0L);
  +
   }
   
   
  @@ -1354,11 +1356,14 @@
*/
   public void stop() throws LifecycleException {
   
  +setAvailable(Long.MAX_VALUE);
  +
   // Shut down our servlet instance (if it has been initialized)
   try {
   unload();
   } catch (ServletException e) {
  -log.error(sm.getString("standardWrapper.unloadException", getName()), 
e);
  +log.error(sm.getString
  +  ("standardWrapper.unloadException", getName()), e);
   }
   
   // Shut down this component
  
  
  

--
To unsubscribe, e-mail:   
For additional commands, e-mail: 




DO NOT REPLY [Bug 15081] - WAR loses date information for enclosed contents

2002-12-05 Thread bugzilla
DO NOT REPLY TO THIS EMAIL, BUT PLEASE POST YOUR BUG 
RELATED COMMENTS THROUGH THE WEB INTERFACE AVAILABLE AT
.
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=15081

WAR loses date information for enclosed contents

[EMAIL PROTECTED] changed:

   What|Removed |Added

 Status|NEW |RESOLVED
 Resolution||WONTFIX



--- Additional Comments From [EMAIL PROTECTED]  2002-12-05 13:29 ---
We can't really do it, AFAIK.
OTOH, you can use unpackWARs="false" to get the real modification dates.

--
To unsubscribe, e-mail:   
For additional commands, e-mail: 




cvs commit: jakarta-tomcat-catalina/catalina/src/share/org/apache/catalina/mbeans mbeans-descriptors.xml

2002-12-05 Thread remm
remm2002/12/05 04:26:08

  Modified:catalina/src/share/org/apache/catalina/mbeans
mbeans-descriptors.xml
  Log:
  - Add a few MBeans (cluster is not supported yet, though :-( ).
  
  Revision  ChangesPath
  1.13  +78 -1 
jakarta-tomcat-catalina/catalina/src/share/org/apache/catalina/mbeans/mbeans-descriptors.xml
  
  Index: mbeans-descriptors.xml
  ===
  RCS file: 
/home/cvs/jakarta-tomcat-catalina/catalina/src/share/org/apache/catalina/mbeans/mbeans-descriptors.xml,v
  retrieving revision 1.12
  retrieving revision 1.13
  diff -u -r1.12 -r1.13
  --- mbeans-descriptors.xml27 Nov 2002 18:35:38 -  1.12
  +++ mbeans-descriptors.xml5 Dec 2002 12:26:08 -   1.13
  @@ -2284,6 +2284,83 @@
 
   
   
  +  
  +
  +
  +
  +  
  +
  +
  +  
  +
  +
  +
  +
  +
  +
  +
  +
  +
  +
  +
  +
  +
  +
  +
  +
  +
  +
  +
  +
  +
  +
  +
  +  
  +
 mailto:[EMAIL PROTECTED]>
For additional commands, e-mail: 




cvs commit: jakarta-tomcat-catalina/catalina/src/share/org/apache/catalina/cluster ClusterMemberInfo.java ClusterReceiver.java ClusterSender.java ClusterSessionBase.java MulticastReceiver.java MulticastSender.java ReplicationWrapper.java StandardCluster.java

2002-12-05 Thread remm
remm2002/12/05 04:25:35

  Removed: catalina/src/share/org/apache/catalina/cluster
ClusterMemberInfo.java ClusterReceiver.java
ClusterSender.java ClusterSessionBase.java
MulticastReceiver.java MulticastSender.java
ReplicationWrapper.java StandardCluster.java
  Log:
  - Remove old clustering features.

--
To unsubscribe, e-mail:   
For additional commands, e-mail: 




cvs commit: jakarta-tomcat-catalina/catalina/src/share/org/apache/catalina/cluster JGCluster.java JGManager.java ReplicatedSession.java ReplicationStream.java SerializablePrincipal.java SessionMessage.java

2002-12-05 Thread remm
remm2002/12/05 04:25:09

  Added:   catalina/src/share/org/apache/catalina/cluster
JGCluster.java JGManager.java
ReplicatedSession.java ReplicationStream.java
SerializablePrincipal.java SessionMessage.java
  Log:
  - Clustered JG support (untested for now; it builds, and doesn't appear to crash TC).
  
  Revision  ChangesPath
  1.1  
jakarta-tomcat-catalina/catalina/src/share/org/apache/catalina/cluster/JGCluster.java
  
  Index: JGCluster.java
  ===
  /*
   * $Header: 
/home/cvs/jakarta-tomcat-catalina/catalina/src/share/org/apache/catalina/cluster/JGCluster.java,v
 1.1 2002/12/05 12:25:09 remm Exp $
   * $Revision: 1.1 $
   * $Date: 2002/12/05 12:25:09 $
   *
   * 
   *
   * 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 AND
   * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
   * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
   * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
   * SUCH DAMAGE.
   * 
   *
   * This software consists of voluntary contributions made by many
   * individuals on behalf of the Apache Software Foundation.  For more
   * information on the Apache Software Foundation, please see
   * .
   *
   * [Additional notices, if required by prior licensing conditions]
   *
   */
  
  package org.apache.catalina.cluster;
  
  import java.beans.PropertyChangeSupport;
  import java.net.InetAddress;
  import java.net.MulticastSocket;
  import java.net.UnknownHostException;
  import java.io.IOException;
  import java.util.HashMap;
  
  import org.apache.catalina.Cluster;
  import org.apache.catalina.Container;
  import org.apache.catalina.Lifecycle;
  import org.apache.catalina.LifecycleEvent;
  import org.apache.catalina.LifecycleException;
  import org.apache.catalina.LifecycleListener;
  import org.apache.catalina.Logger;
  import org.apache.catalina.Manager;
  import org.apache.catalina.util.LifecycleSupport;
  import org.apache.catalina.util.StringManager;
  
  import org.javagroups.View;
  import org.javagroups.JChannel;
  import org.javagroups.Message;
  import org.javagroups.stack.IpAddress;
  
  /**
   * A Cluster implementation using JavaGroups. Responsible for setting 
   * up a cluster and provides callers with a valid multicast receiver/sender.
   *
   * @author Filip Hanik
   * @author Remy Maucherat
   * @version $Revision: 1.1 $, $Date: 2002/12/05 12:25:09 $
   */
  
  public class JGCluster
  implements Cluster, Lifecycle {
  
  
  private static org.apache.commons.logging.Log log =
  org.apache.commons.logging.LogFactory.getLog( JGCluster.class );
  
  
 

cvs commit: jakarta-tomcat-catalina/catalina/src/share/org/apache/catalina/core StandardContext.java

2002-12-05 Thread remm
remm2002/12/05 04:23:37

  Modified:catalina/src/share/org/apache/catalina/core
StandardContext.java
  Log:
  - Get a clustered manager if a cluster is associated with the host.
  
  Revision  ChangesPath
  1.11  +10 -5 
jakarta-tomcat-catalina/catalina/src/share/org/apache/catalina/core/StandardContext.java
  
  Index: StandardContext.java
  ===
  RCS file: 
/home/cvs/jakarta-tomcat-catalina/catalina/src/share/org/apache/catalina/core/StandardContext.java,v
  retrieving revision 1.10
  retrieving revision 1.11
  diff -u -r1.10 -r1.11
  --- StandardContext.java  29 Nov 2002 14:44:15 -  1.10
  +++ StandardContext.java  5 Dec 2002 12:23:37 -   1.11
  @@ -104,6 +104,7 @@
   import org.apache.naming.resources.ProxyDirContext;
   import org.apache.naming.resources.WARDirContext;
   import org.apache.naming.resources.DirContextURLStreamHandler;
  +import org.apache.catalina.Cluster;
   import org.apache.catalina.Container;
   import org.apache.catalina.ContainerListener;
   import org.apache.catalina.Context;
  @@ -3640,7 +3641,11 @@
   if (getManager() == null) { // (3) After prerequisites
   if (debug >= 1)
   log("Configuring default Manager");
  -setManager(new StandardManager());
  +if (getCluster() != null) {
  +setManager(getCluster().createManager(getName()));
  +} else {
  +setManager(new StandardManager());
  +}
   }
   
   // Initialize character set mapper
  
  
  

--
To unsubscribe, e-mail:   
For additional commands, e-mail: 




cvs commit: jakarta-tomcat-catalina/catalina/src/share/org/apache/catalina/startup HostRuleSet.java

2002-12-05 Thread remm
remm2002/12/05 04:22:52

  Modified:catalina/src/share/org/apache/catalina/startup
HostRuleSet.java
  Log:
  - This should be setCluster (how long since Cluster was last used ?).
  
  Revision  ChangesPath
  1.2   +5 -5  
jakarta-tomcat-catalina/catalina/src/share/org/apache/catalina/startup/HostRuleSet.java
  
  Index: HostRuleSet.java
  ===
  RCS file: 
/home/cvs/jakarta-tomcat-catalina/catalina/src/share/org/apache/catalina/startup/HostRuleSet.java,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- HostRuleSet.java  18 Jul 2002 16:47:50 -  1.1
  +++ HostRuleSet.java  5 Dec 2002 12:22:52 -   1.2
  @@ -157,7 +157,7 @@
"className");
   digester.addSetProperties(prefix + "Host/Cluster");
   digester.addSetNext(prefix + "Host/Cluster",
  -"addCluster",
  +"setCluster",
   "org.apache.catalina.Cluster");
   
   digester.addObjectCreate(prefix + "Host/Listener",
  
  
  

--
To unsubscribe, e-mail:   
For additional commands, e-mail: 




cvs commit: jakarta-tomcat-catalina/catalina/src/share/org/apache/catalina Cluster.java

2002-12-05 Thread remm
remm2002/12/05 04:22:15

  Modified:catalina/src/share/org/apache/catalina Cluster.java
  Log:
  - Simplify cluster interface.
  
  Revision  ChangesPath
  1.2   +19 -53
jakarta-tomcat-catalina/catalina/src/share/org/apache/catalina/Cluster.java
  
  Index: Cluster.java
  ===
  RCS file: 
/home/cvs/jakarta-tomcat-catalina/catalina/src/share/org/apache/catalina/Cluster.java,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- Cluster.java  18 Jul 2002 16:47:36 -  1.1
  +++ Cluster.java  5 Dec 2002 12:22:15 -   1.2
  @@ -64,11 +64,6 @@
   package org.apache.catalina;
   
   
  -import java.beans.PropertyChangeListener;
  -import java.util.Collection;
  -import org.apache.catalina.cluster.ClusterMemberInfo;
  -import org.apache.catalina.cluster.ClusterReceiver;
  -import org.apache.catalina.cluster.ClusterSender;
   
   /**
* A Cluster works as a Cluster client/server for the local host
  @@ -80,6 +75,7 @@
* ClusterInfo used for receiving information in the Cluster.
*
* @author Bip Thelin
  + * @author Remy Maucherat
* @version $Revision$, $Date$
*/
   
  @@ -103,21 +99,6 @@
   public String getClusterName();
   
   /**
  - * Set the time in seconds that the Cluster waits before
  - * checking for changes and replicated data.
  - *
  - * @param checkInterval The time in seconds to sleep
  - */
  -public void setCheckInterval(int checkInterval);
  -
  -/**
  - * Get the time in seconds that this Cluster sleeps.
  - *
  - * @return The value in seconds
  - */
  -public int getCheckInterval();
  -
  -/**
* Set the name of the cluster to join, if no cluster with
* this name is present create one.
*
  @@ -153,44 +134,29 @@
*/
   public int getDebug();
   
  -// - Public Methods
  -
   /**
  - * Returns a collection containing ClusterMemberInfo
  - * on the remote members of this Cluster. This method does
  - * not include the local host, to retrieve
  - * ClusterMemberInfo on the local host
  - * use getLocalClusterInfo() instead.
  + * Set the protocol parameters.
*
  - * @return Collection with all members in the Cluster
  + * @param protocol The protocol used by the cluster
*/
  -public ClusterMemberInfo[] getRemoteClusterMembers();
  +public void setProtocol(String protocol);
   
   /**
  - * Returns a ClusterSender which is the interface
  - * to use when sending information in the Cluster. senderId is
  - * used as a identifier so that information sent through this
  - * instance can only be used with the respectice
  - * ClusterReceiver
  + * Get the protocol used by the cluster.
*
  - * @return The ClusterSender
  + * @return The protocol
*/
  -public ClusterSender getClusterSender(String senderId);
  +public String getProtocol();
   
  -/**
  - * Returns a ClusterReceiver which is the interface
  - * to use when receiving information in the Cluster. senderId is
  - * used as a indentifier, only information send through the
  - * ClusterSender with the same senderId can be received.
  - *
  - * @return The ClusterReceiver
  - */
  -public ClusterReceiver getClusterReceiver(String senderId);
  +// - Public Methods
   
   /**
  - * Return cluster information about the local host
  - *
  - * @return Cluster information
  + * Create a new manager which will use this cluster to replicate its 
  + * sessions.
  + * 
  + * @param name Name (key) of the application with which the manager is
  + * associated
*/
  -public ClusterMemberInfo getLocalClusterMember();
  +public Manager createManager(String name);
  +
   }
  
  
  

--
To unsubscribe, e-mail:   
For additional commands, e-mail: 




cvs commit: jakarta-tomcat-5 build.properties.default build.xml

2002-12-05 Thread remm
remm2002/12/05 04:01:32

  Modified:.build.properties.default build.xml
  Log:
  - Add JavaGroups support (which will be moved somewhere else relatively quickly).
  
  Revision  ChangesPath
  1.53  +9 -2  jakarta-tomcat-5/build.properties.default
  
  Index: build.properties.default
  ===
  RCS file: /home/cvs/jakarta-tomcat-5/build.properties.default,v
  retrieving revision 1.52
  retrieving revision 1.53
  diff -u -r1.52 -r1.53
  --- build.properties.default  26 Nov 2002 00:46:29 -  1.52
  +++ build.properties.default  5 Dec 2002 12:01:32 -   1.53
  @@ -150,6 +150,13 @@
   
commons-pool.loc=http://jakarta.apache.org/builds/jakarta-commons/release/commons-pool/v1.0.1/commons-pool-1.0.1.tar.gz
   
   
  +# - JavaGroups, version 2.0.3 or later -
  +javagroups.home=${base.path}/JavaGroups-2.0.3.bin
  +javagroups.lib=${javagroups.home}
  +javagroups.jar=${javagroups.lib}/javagroups-all.jar
  
+javagroups.loc=http://telia.dl.sourceforge.net/sourceforge/javagroups/JavaGroups-2.0.3.bin.zip
  +
  +
   # - JavaService, version 1.2.0 or later -
   javaservice.home=${base.path}/javaservice
   javaservice.exe=${javaservice.home}/bin/JavaService.exe
  @@ -168,7 +175,7 @@
   junit.home=${base.path}/junit3.7
   junit.lib=${junit.home}
   junit.jar=${junit.lib}/junit.jar
  -junit.loc=http://download.sourceforge.net/junit/junit3.7.zip
  +junit.loc=http://telia.dl.sourceforge.net/sourceforge/junit/junit3.7.zip
   
   
   # - NSIS, version 2.0a7 or later -
  
  
  
  1.59  +6 -0  jakarta-tomcat-5/build.xml
  
  Index: build.xml
  ===
  RCS file: /home/cvs/jakarta-tomcat-5/build.xml,v
  retrieving revision 1.58
  retrieving revision 1.59
  diff -u -r1.58 -r1.59
  --- build.xml 8 Nov 2002 15:26:50 -   1.58
  +++ build.xml 5 Dec 2002 12:01:32 -   1.59
  @@ -840,6 +840,12 @@
   
   
   
  +  
  +  
  +  
  +
  +
  +
 
 
 
  
  
  

--
To unsubscribe, e-mail:   
For additional commands, e-mail: 




cvs commit: jakarta-tomcat-catalina/catalina build.xml

2002-12-05 Thread remm
remm2002/12/05 04:01:17

  Modified:catalina build.xml
  Log:
  - Add JavaGroups support (which will be moved somewhere else relatively quickly).
  
  Revision  ChangesPath
  1.32  +1 -0  jakarta-tomcat-catalina/catalina/build.xml
  
  Index: build.xml
  ===
  RCS file: /home/cvs/jakarta-tomcat-catalina/catalina/build.xml,v
  retrieving revision 1.31
  retrieving revision 1.32
  diff -u -r1.31 -r1.32
  --- build.xml 20 Nov 2002 00:16:26 -  1.31
  +++ build.xml 5 Dec 2002 12:01:16 -   1.32
  @@ -56,6 +56,7 @@
   
   
   
  +
   
   
   
  
  
  

--
To unsubscribe, e-mail:   
For additional commands, e-mail: 




[VOTE] Tomcat modules

2002-12-05 Thread Remy Maucherat
Hi,

I plan to reorganize the jakarta-tomcat-catalina repository as follows:
- catalina folder: Catalina core; this depends on the servlet API
- modules folders: Optional functionality and modules (one example is 
clustering), but which depends on the Catalina API; this does not 
directly depend on the servlet API

Alternately, using another repository (j-t-modules) is possible, but 
just using a folder looks simpler, as there is an API dependency.

I propose putting independent modules in j-t-connectors (like eventually 
some of the naming features).


+1 [ ]
-1 [ ]


Remy


--
To unsubscribe, e-mail:   
For additional commands, e-mail: 



DO NOT REPLY [Bug 15104] - sendRedirect() does not write the port on the redirect url

2002-12-05 Thread bugzilla
DO NOT REPLY TO THIS EMAIL, BUT PLEASE POST YOUR BUG 
RELATED COMMENTS THROUGH THE WEB INTERFACE AVAILABLE AT
.
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=15104

sendRedirect() does not write the port on the redirect url

[EMAIL PROTECTED] changed:

   What|Removed |Added

 Status|NEW |RESOLVED
 Resolution||INVALID



--- Additional Comments From [EMAIL PROTECTED]  2002-12-05 11:00 ---
The welcome file handling is using that mechanism, which works fine. Note that
the result depends on what the client sent as the Host header (in your example,
it has to be Host: host:8080).

--
To unsubscribe, e-mail:   
For additional commands, e-mail: 




DO NOT REPLY [Bug 15105] New: - pushBody()/popBody() error on tomcat 4.1.12

2002-12-05 Thread bugzilla
DO NOT REPLY TO THIS EMAIL, BUT PLEASE POST YOUR BUG 
RELATED COMMENTS THROUGH THE WEB INTERFACE AVAILABLE AT
.
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=15105

pushBody()/popBody() error on tomcat 4.1.12

   Summary: pushBody()/popBody() error on tomcat 4.1.12
   Product: Tomcat 4
   Version: 4.1.12
  Platform: PC
OS/Version: Windows NT/2K
Status: NEW
  Severity: Critical
  Priority: Other
 Component: Catalina
AssignedTo: [EMAIL PROTECTED]
ReportedBy: [EMAIL PROTECTED]


How it should work:

I am using bodytag that calls a pushBody(), then the current body writer
sould be kept and it should be createa a new one, later when I call the
popBody() the system should get the previous body (that is, the body
that has been kept on the call to pushBody())

What it does now:

All works as expected, but  after I call popBody() the new body writer
that has been created on the call to pushBody() writes its contents to
the previous body writer (that is, the body that has been kept on the
call to pushBody()). I think that the content should not been copied on
the other body writer.

It fails on Tomcat 4.1.12 and it works fine on Tomcat 4.0.X.

--
To unsubscribe, e-mail:   
For additional commands, e-mail: 




DO NOT REPLY [Bug 15104] New: - sendRedirect() does not write the port on the redirect url

2002-12-05 Thread bugzilla
DO NOT REPLY TO THIS EMAIL, BUT PLEASE POST YOUR BUG 
RELATED COMMENTS THROUGH THE WEB INTERFACE AVAILABLE AT
.
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=15104

sendRedirect() does not write the port on the redirect url

   Summary: sendRedirect() does not write the port on the redirect
url
   Product: Tomcat 4
   Version: 4.1.12
  Platform: PC
OS/Version: Windows NT/2K
Status: NEW
  Severity: Blocker
  Priority: Other
 Component: Catalina
AssignedTo: [EMAIL PROTECTED]
ReportedBy: [EMAIL PROTECTED]


When I make a response.sendRedirect("/file.jsp") using tomcat 4.1.12, on   port
8080, I get a redirection but to http://host/file.jsp, but it should be
http://host:8080/file.jsp. If I were on another server port it should change the
redirection port to the server port that I am using ..

This problem is not shown if you use the browser as client and the server has
the keep connections alive activated, because it does not create a new
connection because it reuses the created connection.

--
To unsubscribe, e-mail:   
For additional commands, e-mail: 




cvs commit: jakarta-tomcat-4.0/catalina/src/share/org/apache/catalina/valves PersistentValve.java

2002-12-05 Thread jfclere
jfclere 2002/12/05 02:41:35

  Modified:catalina/src/share/org/apache/catalina/valves
PersistentValve.java
  Log:
  Now it works as I excepted it. I will move it to 5.0 soon.
  
  Revision  ChangesPath
  1.2   +29 -9 
jakarta-tomcat-4.0/catalina/src/share/org/apache/catalina/valves/PersistentValve.java
  
  Index: PersistentValve.java
  ===
  RCS file: 
/home/cvs/jakarta-tomcat-4.0/catalina/src/share/org/apache/catalina/valves/PersistentValve.java,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- PersistentValve.java  29 Nov 2002 08:30:44 -  1.1
  +++ PersistentValve.java  5 Dec 2002 10:41:35 -   1.2
  @@ -174,11 +174,31 @@
   HttpServletRequest hreq = (HttpServletRequest) request.getRequest();
   String sessionId = hreq.getRequestedSessionId();
   Manager manager = context.getManager();
  -if (sessionId != null) {
  -if (manager != null) {
  -Session session = manager.findSession(sessionId);
  -if ((session != null) && session.isValid())
  -session.access();
  +if (sessionId != null && manager != null) {
  +if (manager instanceof PersistentManager) {
  +Store store = ((PersistentManager) manager).getStore();
  +if (store != null) {
  +Session session = null;
  +try {
  +session = store.load(sessionId);
  +} catch (Exception e) {
  +log("deserializeError");
  +}
  +if (session != null) {
  +if (!session.isValid() ||
  +isSessionStale(session, System.currentTimeMillis())) {
  +log("session swapped in is invalid or expired");
  +session.expire();
  +store.remove(sessionId);
  +} else {
  +session.setManager(manager);
  +// session.setId(sessionId); Only if new ???
  +manager.add(session);
  +// ((StandardSession)session).activate();
  +session.access();
  +}
  +}
  +}
   }
   }
   log("sessionId: " + sessionId);
  
  
  

--
To unsubscribe, e-mail:   
For additional commands, e-mail: 




DO NOT REPLY [Bug 15084] - preloaded jsp's have their init method called again on first hit

2002-12-05 Thread bugzilla
DO NOT REPLY TO THIS EMAIL, BUT PLEASE POST YOUR BUG 
RELATED COMMENTS THROUGH THE WEB INTERFACE AVAILABLE AT
.
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=15084

preloaded jsp's have their init method called again on first hit

[EMAIL PROTECTED] changed:

   What|Removed |Added

 Status|NEW |RESOLVED
 Resolution||INVALID



--- Additional Comments From [EMAIL PROTECTED]  2002-12-05 09:45 ---
Actually, that's normal. Your have your JSP servlets defined, but they are not
mapped to anything.
So they get initialized once.
Then, when you actually access your JSP in the browser, you're invoking the main
JSP servlet, mapped to *.jsp. So your JSP gets initilized again (as a different
servlet).
I think this is a duplicate.

--
To unsubscribe, e-mail:   
For additional commands, e-mail: 




Unexpected behavior in mod_jk redirector for IIS

2002-12-05 Thread Joakim Ström
Hello,

I'm trying to use Tomcat in a Webdav app running under IIS,
but keep running into severe problems with the IIS connector
that are stalling our project.

I have tried the users list without any luck with two cases,
and some colleagues now think we should look for another servlet
container. But I would like to try this list before giving up,
as we suspect there may be bugs in mod_jk.

We are using IIS 5.0 and Tomcat 4.1.12. Neither of the problems
below occur if I use Tomcat directly on port 8080.

1. mod_jk v. 1.2.1

With mod_jk v. 1.2.1, all HTTP OPTIONS requests are turned down
with status 500 internal server error code. The options requests
never enter my servlet code.

I found a similar question which has been posted earlier to Bugzilla:

http://nagoya.apache.org/bugzilla/show_bug.cgi?id=8709

The problem description seems identical to what I am experiencing.
But I have found no follow-up on this report. Any clues on this?


2. mod_jk2 v. 2.0.1 and 2.0.2

This works much better. But there is one serious error:

in some cases large files get corrupted when
uploading--32 bytes of the file are taken from one location
and copied to a later place in the file. Typically the error
occurs the first time at appr. the 56,000th byte in the file.
If the file is very large, the same sequence of 32 bytes gets
copied several times later on in the file. The file is not
sent using chunked transfer-encoding.

The call finishes without errors, and there are no suspicious-
looking entries in the logs as far as I can tell (I have set
log_level=debug in the registry for the isapi filter). The size
of the produced file on the server is the same as the original,
but the same number of bytes that were erroneously copied are
missing at the end of the file. The next http call after this
happens always fails, as the bytes that should have been at the
end of the file seem to be left on the socket.

This error does not happen every time I upload a large file, but
usually once out of 2-5 tries.

I would be very happy if the problem could be resolved, especially
with JK2 which seems like the better bet, and any help will be much
appreciated.

Best Regards,
Joakim Strom, Excosoft



--
To unsubscribe, e-mail:   
For additional commands, e-mail: 




Re: [PATCH] change jndi auth in tomcat

2002-12-05 Thread John Holman
Carsten

LDAP authentication with a bind is supported in the JNDIRealm included 
with Tomcat 4.1

John.


Carsten Burghardt wrote:

Hi,

I tried to get a ldap-authentification with domino but noticed that the 
current code (I checked tomcat 4.0.6 so if this is obsolete in a newer 
version forgive me) checks the given password with the retrieved one. This 
doesn't work as domino uses a different hash algorithm.
So I changed the getUserDN method from the JNDIRealm to auth with a bind.

Here's my code:

-
   protected String getUserDN(DirContext context,
  String username, String credentials)
   throws NamingException {

   if (debug >= 2)
   log("getUserDN(" + username + ")");
   if (username == null)
   return (null);
   if ((userFormat == null) || (userPassword == null))
   return (null);

   // Retrieve the user password attribute for this user
   String dn = userFormat.format(new String[] { username });
   if (debug >= 3)
   log("  dn=" + dn);

   context.addToEnvironment(Context.SECURITY_PRINCIPAL, dn);
   context.addToEnvironment(Context.SECURITY_CREDENTIALS, credentials);
   if (debug >= 3)
   log("Doing a lookup");
   Object user = context.lookup(dn);
   if (user == null)
   {
 log("Lookup failed");
 return (null);
   }

   return (dn);

   }
-

 



--
To unsubscribe, e-mail:   
For additional commands, e-mail: 




DO NOT REPLY [Bug 15086] - System.out from destroy goes to different place than init message

2002-12-05 Thread bugzilla
DO NOT REPLY TO THIS EMAIL, BUT PLEASE POST YOUR BUG 
RELATED COMMENTS THROUGH THE WEB INTERFACE AVAILABLE AT
.
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=15086

System.out from destroy goes to different place than init message

[EMAIL PROTECTED] changed:

   What|Removed |Added

 Status|NEW |RESOLVED
 Resolution||FIXED



--- Additional Comments From [EMAIL PROTECTED]  2002-12-05 09:14 ---
Fixed in CVS. This will be in 4.1.17.

--
To unsubscribe, e-mail:   
For additional commands, e-mail: 




cvs commit: jakarta-tomcat-4.0/catalina/src/share/org/apache/catalina/core StandardWrapper.java

2002-12-05 Thread remm
remm2002/12/05 01:12:38

  Modified:catalina/src/share/org/apache/catalina/core
StandardWrapper.java
  Log:
  - Use the swallowOutput flag when unloading (bug 15086).
  
  Revision  ChangesPath
  1.43  +15 -11
jakarta-tomcat-4.0/catalina/src/share/org/apache/catalina/core/StandardWrapper.java
  
  Index: StandardWrapper.java
  ===
  RCS file: 
/home/cvs/jakarta-tomcat-4.0/catalina/src/share/org/apache/catalina/core/StandardWrapper.java,v
  retrieving revision 1.42
  retrieving revision 1.43
  diff -u -r1.42 -r1.43
  --- StandardWrapper.java  27 Sep 2002 07:12:01 -  1.42
  +++ StandardWrapper.java  5 Dec 2002 09:12:37 -   1.43
  @@ -,7 +,9 @@
   ClassLoader classLoader = instance.getClass().getClassLoader();
   
   PrintStream out = System.out;
  -SystemLogHandler.startCapture();
  +if (swallowOutput) {
  +SystemLogHandler.startCapture();
  +}
   
   // Call the servlet destroy() method
   try {
  @@ -1136,12 +1138,14 @@
   // restore the context ClassLoader
   Thread.currentThread().setContextClassLoader(oldCtxClassLoader);
   // Write captured output
  -String log = SystemLogHandler.stopCapture();
  -if (log != null && log.length() > 0) {
  -if (getServletContext() != null) {
  -getServletContext().log(log);
  -} else {
  -out.println(log);
  +if (swallowOutput) {
  +String log = SystemLogHandler.stopCapture();
  +if (log != null && log.length() > 0) {
  +if (getServletContext() != null) {
  +getServletContext().log(log);
  +} else {
  +out.println(log);
  +}
   }
   }
   }
  
  
  

--
To unsubscribe, e-mail:   
For additional commands, e-mail: 




DO NOT REPLY [Bug 9997] - Servlet.service() for servlet default threw exception java.net.SocketException: Operation would block

2002-12-05 Thread bugzilla
DO NOT REPLY TO THIS EMAIL, BUT PLEASE POST YOUR BUG 
RELATED COMMENTS THROUGH THE WEB INTERFACE AVAILABLE AT
.
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=9997

Servlet.service() for servlet default threw exception java.net.SocketException: 
Operation would block

[EMAIL PROTECTED] changed:

   What|Removed |Added

 Status|NEW |ASSIGNED

--
To unsubscribe, e-mail:   
For additional commands, e-mail: 




DO NOT REPLY [Bug 9997] - Servlet.service() for servlet default threw exception java.net.SocketException: Operation would block

2002-12-05 Thread bugzilla
DO NOT REPLY TO THIS EMAIL, BUT PLEASE POST YOUR BUG 
RELATED COMMENTS THROUGH THE WEB INTERFACE AVAILABLE AT
.
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=9997

Servlet.service() for servlet default threw exception java.net.SocketException: 
Operation would block

[EMAIL PROTECTED] changed:

   What|Removed |Added

  Component|Connector:JK/AJP|Connector:Webapp
   |(deprecated)|

--
To unsubscribe, e-mail:   
For additional commands, e-mail: