Re: cvs commit: jakarta-tomcat-connectors/jni/native/src network.c

2005-04-18 Thread jean-frederic clere
Remy Maucherat wrote:
Mladen Turk wrote:
[EMAIL PROTECTED] wrote:
jfclere 2005/04/16 03:31:34
  Modified:jni/java/org/apache/tomcat/jni Socket.java
   jni/native/src network.c
  Log:
  Throw an exception when bind() failed.
  

Why did you do that?
I mean there is no need to throw an exception if we can get a direct
APR status code.
The trow is used *only* for functions that return status and fill
a single pointer.
We are not trying to be Java compatible, but as close to follow the
APR api (as is possible).

Yes, please don't start adding exception throwing everywhere.
I'm only -0 for this particular commit, since there are far worse places 
to throw something.
Ok I am now convinced that testing apr-status is better than throwing 
exception...
Rémy
-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]


-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]


Re: bugreports for commons-daemon

2005-04-18 Thread jean-frederic clere
Simon Kitching wrote:
Hi,
Commons-daemon is shipped with Tomcat. In fact, I believe it originated
in the Tomcat project and was moved to commons.
However it appears that there are no longer any active developers
working on commons-daemon. The number of bugreports in bugzilla for this
component is growing: currently at 11 open bugreports + 1 reasonable
enhancement request.
I will try to spend some time on the problems.
I just thought I would bring this to your attention...if there are any
tomcat developers willing to dedicate some time to addressing these
bugreports I am sure it would be appreciated.
Cheers,
Simon
-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]


http://jakarta.apache.org/tomcat/tomcat-5.5-doc/building.html

2005-04-18 Thread jean-frederic clere
Hi,
I have tried to build the tomcat following the document. The part about using 
proxy misses the problems related to cvs (cvs does not support http-proxy and 
ssh + ext could be used for committers).
I have some questions:
- When do we move to subversion?
- Does it make sense to improve the building.html document?

Cheers
Jean-Frederic
-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]


DO NOT REPLY [Bug 33494] - jscv configure script fails on x86_64

2005-04-18 Thread bugzilla
DO NOT REPLY TO THIS EMAIL, BUT PLEASE POST YOUR BUG·
RELATED COMMENTS THROUGH THE WEB INTERFACE AVAILABLE AT
http://issues.apache.org/bugzilla/show_bug.cgi?id=33494.
ANY REPLY MADE TO THIS MESSAGE WILL NOT BE COLLECTED AND·
INSERTED IN THE BUG DATABASE.

http://issues.apache.org/bugzilla/show_bug.cgi?id=33494





--- Additional Comments From [EMAIL PROTECTED]  2005-04-18 09:41 ---
FROM bug 34192:

(In reply to comment #4)
 Resolving duplicate to get everything on one thread.
 
 Ok, I've got three different values suggested for CPU (this one, the one 
 currently in apsupport.m4, and the one from 33494), and no access to this 
 arch 
 myself.  A little help here please ;-).


Please let us know what do you need. 
I would invest a bit of time to help and hopefuly get it working as it should.
Simon 

I have also some issues with jsvc and jdk1.5 64BIT. I 'll take a look at it a
little bit later (next week or so).

-- 
Configure bugmail: http://issues.apache.org/bugzilla/userprefs.cgi?tab=email
--- You are receiving this mail because: ---
You are the assignee for the bug, or are watching the assignee.

-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



Returned mail: Delivery failed

2005-04-18 Thread aina . peters

The attempted delivery of 
http://jakarta.apache.org/tomcat/tomcat-5.5-doc/building.html; failed for the 
following reason:


555 ... User mailbox full [EMAIL PROTECTED]



-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



Returned mail: Delivery failed

2005-04-18 Thread aina . peters

The attempted delivery of DO NOT REPLY [Bug 33494]  -jscv configure script 
fails on x86_64 failed for the following reason:


555 ... User mailbox full [EMAIL PROTECTED]



-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



[EMAIL PROTECTED]: Project jakarta-tomcat-jasper_tc5 (in module jakarta-tomcat-jasper_tc5) failed

2005-04-18 Thread bobh
To whom it may engage...

This is an automated request, but not an unsolicited one. For 
more information please visit http://gump.apache.org/nagged.html, 
and/or contact the folk at [EMAIL PROTECTED]

Project jakarta-tomcat-jasper_tc5 has an issue affecting its community 
integration.
This issue affects 14 projects,
 and has been outstanding for 15 runs.
The current state of this project is 'Failed', with reason 'Build Failed'.
For reference only, the following projects are affected by this:
- avalon-http-context :  Avalon SVN
- avalon-http-demo :  Avalon SVN
- avalon-http-examples :  Avalon SVN
- avalon-http-impl :  Avalon SVN
- avalon-http-server :  Avalon SVN
- avalon-http-servlet :  Avalon SVN
- avalon-http-static :  Avalon SVN
- avalon-http-test :  Avalon SVN
- avalon-planet-facilities :  Avalon SVN
- jakarta-tomcat-5 :  Servlet 2.4 and JSP 2.0 Reference Implementation
- jakarta-tomcat-catalina :  Servlet 2.4 Reference Implementation
- jakarta-tomcat-jasper_tc5 :  JavaServer Pages JSP 2.0 implementation (for 
Tomcat 5.x)
- jakarta-tomcat-jk :  Connectors to various web servers
- metro-reflector-blocks-complete :  Avalon SVN


Full details are available at:

http://brutus.apache.org/gump/public/jakarta-tomcat-jasper_tc5/jakarta-tomcat-jasper_tc5/index.html

That said, some information snippets are provided here.

The following annotations (debug/informational/warning/error messages) were 
provided:
 -DEBUG- Output [jasper-runtime.jar] identifier set to output basename: 
[jasper-runtime]
 -DEBUG- Output [jasper-compiler.jar] identifier set to output basename: 
[jasper-compiler]
 -DEBUG- Dependency on ant exists, no need to add for property ant.jar.
 -INFO- Failed with reason build failed
 -DEBUG- Extracted fallback artifacts from Gump Repository



The following work was performed:
http://brutus.apache.org/gump/public/jakarta-tomcat-jasper_tc5/jakarta-tomcat-jasper_tc5/gump_work/build_jakarta-tomcat-jasper_tc5_jakarta-tomcat-jasper_tc5.html
Work Name: build_jakarta-tomcat-jasper_tc5_jakarta-tomcat-jasper_tc5 (Type: 
Build)
Work ended in a state of : Failed
Elapsed: 5 secs
Command Line: java -Djava.awt.headless=true 
-Xbootclasspath/p:/usr/local/gump/public/workspace/xml-xerces2/java/build/xercesImpl.jar
 org.apache.tools.ant.Main 
-Dgump.merge=/home/gump/workspaces2/public/gump/work/merge.xml 
-Dbuild.sysclasspath=only 
-Djsp-api.jar=/usr/local/gump/public/workspace/jakarta-servletapi-5/jsr152/dist/lib/jsp-api.jar
 
-Dcommons-el.jar=/usr/local/gump/public/workspace/jakarta-commons/el/dist/commons-el.jar
 
-Djasper-compiler-jdt.jar=/usr/local/gump/public/workspace/cocoon/lib/optional/jdtcore-3.0.2.jar
 -Dant.jar=/usr/local/gump/public/workspace/ant/dist/lib/ant.jar 
-Dservlet-api.jar=/usr/local/gump/public/workspace/jakarta-servletapi-5/jsr154/dist/lib/servlet-api.jar
 -Dcompile.source=1.4 dist 
[Working Directory: 
/usr/local/gump/public/workspace/jakarta-tomcat-jasper_tc5/jasper2]
CLASSPATH: 
/opt/jdk1.4/lib/tools.jar:/usr/local/gump/public/workspace/ant/dist/lib/ant-jmf.jar:/usr/local/gump/public/workspace/ant/dist/lib/ant-swing.jar:/usr/local/gump/public/workspace/ant/dist/lib/ant-apache-resolver.jar:/usr/local/gump/public/workspace/ant/dist/lib/ant-trax.jar:/usr/local/gump/public/workspace/ant/dist/lib/ant-junit.jar:/usr/local/gump/public/workspace/ant/dist/lib/ant-launcher.jar:/usr/local/gump/public/workspace/ant/dist/lib/ant-nodeps.jar:/usr/local/gump/public/workspace/ant/dist/lib/ant.jar:/usr/local/gump/public/workspace/jakarta-commons/logging/dist/commons-logging.jar:/usr/local/gump/public/workspace/jakarta-commons/logging/dist/commons-logging-api.jar:/usr/local/gump/public/workspace/jakarta-commons/el/dist/commons-el.jar:/usr/local/gump/public/workspace/jakarta-servletapi-5/jsr154/dist/lib/servlet-api.jar:/usr/local/gump/public/workspace/jakarta-servletapi-5/jsr152/dist/lib/jsp-api.jar:/usr/local/gump/public/workspace/cocoon/lib/optional/jdtcore-3.0.2.jar
-
Buildfile: build.xml

build-prepare:
[mkdir] Created dir: 
/home/gump/workspaces2/public/workspace/jakarta-tomcat-jasper_tc5/jasper2/build
[mkdir] Created dir: 
/home/gump/workspaces2/public/workspace/jakarta-tomcat-jasper_tc5/jasper2/build/bin
[mkdir] Created dir: 
/home/gump/workspaces2/public/workspace/jakarta-tomcat-jasper_tc5/jasper2/build/common/classes
[mkdir] Created dir: 
/home/gump/workspaces2/public/workspace/jakarta-tomcat-jasper_tc5/jasper2/build/common/lib
[mkdir] Created dir: 
/home/gump/workspaces2/public/workspace/jakarta-tomcat-jasper_tc5/jasper2/build/shared/classes
[mkdir] Created dir: 
/home/gump/workspaces2/public/workspace/jakarta-tomcat-jasper_tc5/jasper2/build/shared/lib

copy-launcher.jars:

build-static:
 [copy] Copying 4 files to 
/home/gump/workspaces2/public/workspace/jakarta-tomcat-jasper_tc5/jasper2/build/bin

build-only:
[javac] Compiling 87 source files to 

[EMAIL PROTECTED]: Project jakarta-tomcat-jk-native (in module jakarta-tomcat-connectors) failed

2005-04-18 Thread Bill Barker
To whom it may engage...

This is an automated request, but not an unsolicited one. For 
more information please visit http://gump.apache.org/nagged.html, 
and/or contact the folk at [EMAIL PROTECTED]

Project jakarta-tomcat-jk-native has an issue affecting its community 
integration.
This issue affects 1 projects,
 and has been outstanding for 102 runs.
The current state of this project is 'Failed', with reason 'Build Failed'.
For reference only, the following projects are affected by this:
- jakarta-tomcat-jk-native :  Connectors to various web servers


Full details are available at:

http://brutus.apache.org/gump/public/jakarta-tomcat-connectors/jakarta-tomcat-jk-native/index.html

That said, some information snippets are provided here.

The following annotations (debug/informational/warning/error messages) were 
provided:
 -INFO- Failed with reason build failed



The following work was performed:
http://brutus.apache.org/gump/public/jakarta-tomcat-connectors/jakarta-tomcat-jk-native/gump_work/build_jakarta-tomcat-connectors_jakarta-tomcat-jk-native.html
Work Name: build_jakarta-tomcat-connectors_jakarta-tomcat-jk-native (Type: 
Build)
Work ended in a state of : Failed
Elapsed: 
Command Line: make 
[Working Directory: 
/usr/local/gump/public/workspace/jakarta-tomcat-connectors/jk/native]
-
Making all in common
make[1]: Entering directory 
`/home/gump/workspaces2/public/workspace/jakarta-tomcat-connectors/jk/native/common'
/bin/sh 
/usr/local/gump/public/workspace/apache-httpd/dest-18042005/build/libtool 
--silent --mode=compile gcc 
-I/usr/local/gump/public/workspace/apache-httpd/dest-18042005/include -g -O2 -g 
-O2 -pthread -DHAVE_APR  
-I/usr/local/gump/public/workspace/apr/dest-18042005/include/apr-1 -g -O2 
-DLINUX=2 -D_REENTRANT -D_GNU_SOURCE -D_LARGEFILE64_SOURCE 
-I/home/gump/workspaces2/public/workspace/apache-httpd/srclib/pcre -I 
/opt/jdk1.4/include -I /opt/jdk1.4/include/ -c jk_ajp12_worker.c 
/usr/local/gump/public/workspace/apache-httpd/dest-18042005/build/libtool: 
/usr/local/gump/public/workspace/apache-httpd/dest-18042005/build/libtool: No 
such file or directory
make[1]: *** [jk_ajp12_worker.lo] Error 127
make[1]: Leaving directory 
`/home/gump/workspaces2/public/workspace/jakarta-tomcat-connectors/jk/native/common'
make: *** [all-recursive] Error 1
-

To subscribe to this information via syndicated feeds:
- RSS: 
http://brutus.apache.org/gump/public/jakarta-tomcat-connectors/jakarta-tomcat-jk-native/rss.xml
- Atom: 
http://brutus.apache.org/gump/public/jakarta-tomcat-connectors/jakarta-tomcat-jk-native/atom.xml

== Gump Tracking Only ===
Produced by Gump version 2.2.
Gump Run 2218042005, brutus:brutus-public:2218042005
Gump E-mail Identifier (unique within run) #20.

--
Apache Gump
http://gump.apache.org/ [Instance: brutus]

-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



cvs commit: jakarta-tomcat-connectors/jni/native/include tcn.h

2005-04-18 Thread mturk
mturk   2005/04/18 05:30:54

  Modified:jni/native/include tcn.h
  Log:
  Added ASSERT macro for DEBUG build to track the invalid params.
  
  Revision  ChangesPath
  1.3   +7 -0  jakarta-tomcat-connectors/jni/native/include/tcn.h
  
  Index: tcn.h
  ===
  RCS file: /home/cvs/jakarta-tomcat-connectors/jni/native/include/tcn.h,v
  retrieving revision 1.2
  retrieving revision 1.3
  diff -u -r1.2 -r1.3
  --- tcn.h 17 Jan 2005 07:22:50 -  1.2
  +++ tcn.h 18 Apr 2005 12:30:54 -  1.3
  @@ -19,6 +19,13 @@
   
   #include jni.h
   
  +#if defined(_DEBUG) || defined(DEBUG)
  +#include assert.h
  +#define TCN_ASSERT(x)  assert((x))
  +#else
  +#define TCN_ASSERT(x) (void)0
  +#endif
  +
   #ifdef min
   #undef min
   #endif
  
  
  

-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



cvs commit: jakarta-tomcat-connectors/jni/native/src network.c pool.c

2005-04-18 Thread mturk
mturk   2005/04/18 05:31:13

  Modified:jni/native/src network.c pool.c
  Log:
  Added ASSERT macro for DEBUG build to track the invalid params.
  
  Revision  ChangesPath
  1.12  +28 -1 jakarta-tomcat-connectors/jni/native/src/network.c
  
  Index: network.c
  ===
  RCS file: /home/cvs/jakarta-tomcat-connectors/jni/native/src/network.c,v
  retrieving revision 1.11
  retrieving revision 1.12
  diff -u -r1.11 -r1.12
  --- network.c 16 Apr 2005 16:45:13 -  1.11
  +++ network.c 18 Apr 2005 12:31:13 -  1.12
  @@ -112,6 +112,7 @@
   apr_int32_t f, t;
   
   UNREFERENCED(o);
  +TCN_ASSERT(pool != 0);
   GET_S_FAMILY(f, family);
   GET_S_TYPE(t, type);
   
  @@ -129,6 +130,7 @@
   apr_socket_t *s = J2P(sock, apr_socket_t *);
   
   UNREFERENCED_STDARGS;
  +TCN_ASSERT(sock != 0);
   return (jint)apr_socket_shutdown(s, (apr_shutdown_how_e)how);
   }
   
  @@ -137,6 +139,7 @@
   apr_socket_t *s = J2P(sock, apr_socket_t *);
   
   UNREFERENCED_STDARGS;
  +TCN_ASSERT(sock != 0);
   return (jint)apr_socket_close(s);
   }
   
  @@ -147,6 +150,7 @@
   apr_sockaddr_t *a = J2P(sa, apr_sockaddr_t *);
   
   UNREFERENCED_STDARGS;
  +TCN_ASSERT(sock != 0);
   return (jint)apr_socket_bind(s, a);
   }
   
  @@ -156,6 +160,7 @@
   apr_socket_t *s = J2P(sock, apr_socket_t *);
   
   UNREFERENCED_STDARGS;
  +TCN_ASSERT(sock != 0);
   return (jint)apr_socket_listen(s, backlog);
   }
   
  @@ -167,6 +172,7 @@
   apr_socket_t *n = NULL;
   
   UNREFERENCED(o);
  +TCN_ASSERT(sock != 0);
   
   TCN_THROW_IF_ERR(apr_socket_accept(n, s, p), s);
   
  @@ -181,6 +187,7 @@
   apr_sockaddr_t *a = J2P(sa, apr_sockaddr_t *);
   
   UNREFERENCED_STDARGS;
  +TCN_ASSERT(sock != 0);
   return (jint)apr_socket_connect(s, a);
   }
   
  @@ -194,6 +201,7 @@
   apr_status_t ss;
   
   UNREFERENCED(o);
  +TCN_ASSERT(sock != 0);
   apr_socket_opt_get(s, APR_SO_NONBLOCK, nb);
   if (tosend  0)
   nbytes = min(nbytes - offset, (apr_size_t)tosend);
  @@ -222,6 +230,8 @@
   apr_status_t ss;
   
   UNREFERENCED(o);
  +TCN_ASSERT(sock != 0);
  +TCN_ASSERT(buf != NULL);
   bytes  = (char *)(*e)-GetDirectBufferAddress(e, buf);
   nbytes = (apr_size_t)(*e)-GetDirectBufferCapacity(e, buf);
   if (bytes == NULL || nbytes  0)
  @@ -248,6 +258,7 @@
   apr_status_t ss;
   
   UNREFERENCED(o);
  +TCN_ASSERT(sock != 0);
   
   if (nvec = APR_MAX_IOVEC_SIZE)
   return (jint)(-APR_ENOMEM);
  @@ -280,6 +291,7 @@
   apr_status_t ss;
   
   UNREFERENCED(o);
  +TCN_ASSERT(sock != 0);
   apr_socket_opt_get(s, APR_SO_NONBLOCK, nb);
   if (tosend  0)
   nbytes = min(nbytes - offset, (apr_size_t)tosend);
  @@ -308,6 +320,7 @@
   apr_status_t ss;
   
   UNREFERENCED(o);
  +TCN_ASSERT(sock != 0);
   if (toread  0)
   nbytes = min(nbytes - offset, (apr_size_t)toread);
   
  @@ -332,6 +345,8 @@
   apr_interval_time_t t;
   
   UNREFERENCED(o);
  +TCN_ASSERT(sock != 0);
  +TCN_ASSERT(buf != NULL);
   
   if (toread  0)
   nbytes = min(nbytes - offset, (apr_size_t)toread);
  @@ -360,6 +375,8 @@
   char *bytes;
   
   UNREFERENCED(o);
  +TCN_ASSERT(sock != 0);
  +TCN_ASSERT(buf != NULL);
   bytes  = (char *)(*e)-GetDirectBufferAddress(e, buf);
   nbytes = (apr_size_t)(*e)-GetDirectBufferCapacity(e, buf);
   if (bytes == NULL || nbytes  0)
  @@ -386,6 +403,8 @@
   apr_interval_time_t t;
   
   UNREFERENCED(o);
  +TCN_ASSERT(sock != 0);
  +TCN_ASSERT(buf != NULL);
   bytes  = (char *)(*e)-GetDirectBufferAddress(e, buf);
   nbytes = (apr_size_t)(*e)-GetDirectBufferCapacity(e, buf);
   if (bytes == NULL || nbytes  0)
  @@ -418,6 +437,8 @@
   apr_status_t ss;
   
   UNREFERENCED(o);
  +TCN_ASSERT(sock != 0);
  +TCN_ASSERT(buf != NULL);
   if (toread  0)
   nbytes = min(nbytes - offset, (apr_size_t)toread);
   
  @@ -437,6 +458,7 @@
   apr_socket_t *s = J2P(sock, apr_socket_t *);
   
   UNREFERENCED_STDARGS;
  +TCN_ASSERT(sock != 0);
   return (jint)apr_socket_opt_set(s, (apr_int32_t)opt, (apr_int32_t)on);
   }
   
  @@ -447,6 +469,7 @@
   apr_int32_t on;
   
   UNREFERENCED(o);
  +TCN_ASSERT(sock != 0);
   TCN_THROW_IF_ERR(apr_socket_opt_get(s, (apr_int32_t)opt,
   on), on);
   cleanup:
  @@ -459,6 +482,7 @@
   apr_socket_t *s = J2P(sock, apr_socket_t *);
   
   UNREFERENCED_STDARGS;
  +TCN_ASSERT(sock != 0);
   return (jint)apr_socket_timeout_set(s, J2T(timeout));
   }
   
  @@ -468,6 +492,7 @@
   apr_interval_time_t timeout;
   
   UNREFERENCED(o);
  +TCN_ASSERT(sock != 0);
   TCN_THROW_IF_ERR(apr_socket_timeout_get(s, timeout), 

cvs commit: jakarta-tomcat-connectors/jni/native/src poll.c

2005-04-18 Thread mturk
mturk   2005/04/18 05:33:42

  Modified:jni/native/src poll.c
  Log:
  Make poll threadsafe and with add queue that is added to pollset
  before the actuall poll is called.
  
  Revision  ChangesPath
  1.6   +101 -20   jakarta-tomcat-connectors/jni/native/src/poll.c
  
  Index: poll.c
  ===
  RCS file: /home/cvs/jakarta-tomcat-connectors/jni/native/src/poll.c,v
  retrieving revision 1.5
  retrieving revision 1.6
  diff -u -r1.5 -r1.6
  --- poll.c15 Apr 2005 10:14:46 -  1.5
  +++ poll.c18 Apr 2005 12:33:42 -  1.6
  @@ -16,6 +16,7 @@
   #include apr.h
   #include apr_pools.h
   #include apr_poll.h
  +#include apr_thread_mutex.h
   #include tcn.h
   
   /* Internal poll structure for queryset
  @@ -24,10 +25,13 @@
   typedef struct tcn_pollset {
   apr_pool_t*pool;
   apr_int32_t   nelts;
  +apr_int32_t   nadds;
   apr_int32_t   nalloc;
   apr_pollset_t *pollset;
  +apr_thread_mutex_t *mutex;
   apr_pollfd_t  *query_set;
  -apr_time_t*query_add;
  +apr_pollfd_t  *query_add;
  +apr_time_t*query_ttl;
   apr_interval_time_t max_ttl;
   } tcn_pollset_t;
   
  @@ -38,24 +42,44 @@
   apr_pool_t *p = J2P(pool, apr_pool_t *);
   apr_pollset_t *pollset = NULL;
   tcn_pollset_t *tps = NULL;
  +apr_thread_mutex_t *mutex = NULL;
  +apr_uint32_t f = (apr_uint32_t)flags;
   UNREFERENCED(o);
  +TCN_ASSERT(pool != 0);
   
  -TCN_THROW_IF_ERR(apr_pollset_create(pollset,
  - (apr_uint32_t)size, p, (apr_uint32_t)flags),
  - pollset);
  +TCN_THROW_IF_ERR(apr_thread_mutex_create(mutex,
  + APR_THREAD_MUTEX_DEFAULT, p),  mutex);
  +
  +if (f  APR_POLLSET_THREADSAFE) {
  +apr_status_t rv = apr_pollset_create(pollset, (apr_uint32_t)size, 
p, f);
  +if (rv == APR_ENOTIMPL)
  +f = ~APR_POLLSET_THREADSAFE;
  +else if (rv != APR_SUCCESS) {
  +tcn_ThrowAPRException(e, rv);
  +goto cleanup;
  +}
  +}
  +if (pollset == NULL) {
  +TCN_THROW_IF_ERR(apr_pollset_create(pollset,
  + (apr_uint32_t)size, p, f), pollset);
  +}
   
   tps = apr_palloc(p, sizeof(tcn_pollset_t));
   tps-pollset = pollset;
  +tps-mutex   = mutex;
   tps-query_set = apr_palloc(p, size * sizeof(apr_pollfd_t));
  -tps-query_add = apr_palloc(p, size * sizeof(apr_time_t));
  +tps-query_add = apr_palloc(p, size * sizeof(apr_pollfd_t));
  +tps-query_ttl = apr_palloc(p, size * sizeof(apr_time_t));
   tps-nelts  = 0;
  +tps-nadds  = 0;
   tps-nalloc = size;
   tps-pool   = p;
   tps-max_ttl = J2T(ttl);
  -
  -cleanup:
   return P2J(tps);
  -
  +cleanup:
  +if (mutex)
  +apr_thread_mutex_destroy(mutex);
  +return 0;
   }
   
   TCN_IMPLEMENT_CALL(jint, Poll, destroy)(TCN_STDARGS, jlong pollset)
  @@ -63,6 +87,8 @@
   tcn_pollset_t *p = J2P(pollset,  tcn_pollset_t *);
   
   UNREFERENCED_STDARGS;
  +TCN_ASSERT(pollset != 0);
  +apr_thread_mutex_destroy(p-mutex);
   return (jint)apr_pollset_destroy(p-pollset);
   }
   
  @@ -75,20 +101,20 @@
   apr_status_t rv;
   
   UNREFERENCED_STDARGS;
  -if (p-nelts == p-nalloc) {
  -return APR_ENOMEM;
  -}
  +TCN_ASSERT(socket != 0);
   
  +if (p-nadds == p-nalloc)
  +return APR_ENOMEM;
  +if ((rv = apr_thread_mutex_lock(p-mutex)) != APR_SUCCESS)
  +return rv;
   memset(fd, 0, sizeof(apr_pollfd_t));
   fd.desc_type = APR_POLL_SOCKET;
   fd.reqevents = (apr_int16_t)reqevents;
   fd.desc.s = J2P(socket, apr_socket_t *);
   fd.client_data = J2P(data, void *);
  -if ((rv = apr_pollset_add(p-pollset, fd)) == APR_SUCCESS) {
  -p-query_set[p-nelts] = fd;
  -p-query_add[p-nelts] = apr_time_now();
  -p-nelts++;
  -}
  +p-query_add[p-nadds] = fd;
  +p-nadds++;
  +apr_thread_mutex_unlock(p-mutex);
   return (jint)rv;
   }
   
  @@ -98,13 +124,17 @@
   tcn_pollset_t *p = J2P(pollset,  tcn_pollset_t *);
   apr_pollfd_t fd;
   apr_int32_t i;
  +apr_status_t rv;
   
   UNREFERENCED_STDARGS;
  +TCN_ASSERT(socket != 0);
   
   memset(fd, 0, sizeof(apr_pollfd_t));
   fd.desc_type = APR_POLL_SOCKET;
   fd.desc.s = J2P(socket, apr_socket_t *);
   
  +if ((rv = apr_thread_mutex_lock(p-mutex)) != APR_SUCCESS)
  +return (jint)rv;
   for (i = 0; i  p-nelts; i++) {
   if (fd.desc.s == p-query_set[i].desc.s) {
   /* Found an instance of the fd: remove this and any other copies 
*/
  @@ -123,8 +153,31 @@
   break;
   }
   }
  +/* Remove from add queue if present
  + * This is unlikely to happen, but do it anyway.
  + */
  +for (i = 0; i  p-nadds; i++) {
  +if (fd.desc.s == 

cvs commit: jakarta-tomcat-connectors/jni/native BUILDING

2005-04-18 Thread jfclere
jfclere 2005/04/18 06:52:49

  Modified:jni/native BUILDING
  Log:
  Add how to run the example and to use Tomcat 5.5.x with the new code.
  
  Revision  ChangesPath
  1.2   +17 -2 jakarta-tomcat-connectors/jni/native/BUILDING
  
  Index: BUILDING
  ===
  RCS file: /home/cvs/jakarta-tomcat-connectors/jni/native/BUILDING,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- BUILDING  15 Apr 2005 12:36:05 -  1.1
  +++ BUILDING  18 Apr 2005 13:52:49 -  1.2
  @@ -1,5 +1,20 @@
 Building from the cvs tree:
  -  chmod a+x build/get-version.sh
 sh buildconf --with-apr=apr_source_location.
 configure --with-apr=apr_install_location.
  -  
  +  make
  +
  +  Testing the build:
  +  The make should produce a .so file named libtcnative-1.so.
  +  Build the jar containing the example by
  +  cd ..
  +  ant jar
  +  Run the example:
  +  ant example-basic
  + 
  +  Using it in Tomcat:
  +  1 - In Connector use of conf/server.xml:
  +protocol=org.apache.coyote.http11.Http11AprProtocol
  +  2 - In bin/setup.sh add the following:
  +CATALINA_OPTS=$CATALINA_OPTS -Djava.library.path=tclib_location
  +In my machine I am using:
  +/home/jfclere/jakarta-tomcat-connectors/jni/native/.libs for 
tclib_location 
  
  
  

-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



cvs commit: jakarta-tomcat-connectors/jni/native/src poll.c

2005-04-18 Thread mturk
mturk   2005/04/18 06:53:33

  Modified:jni/native/src poll.c
  Log:
  Instead returning file desriptors, return socket, events and client data in
  array offset.
  
  Revision  ChangesPath
  1.7   +9 -5  jakarta-tomcat-connectors/jni/native/src/poll.c
  
  Index: poll.c
  ===
  RCS file: /home/cvs/jakarta-tomcat-connectors/jni/native/src/poll.c,v
  retrieving revision 1.6
  retrieving revision 1.7
  diff -u -r1.6 -r1.7
  --- poll.c18 Apr 2005 12:33:42 -  1.6
  +++ poll.c18 Apr 2005 13:53:33 -  1.7
  @@ -212,12 +212,15 @@
   if (rv != APR_SUCCESS)
   return (jint)(-rv);
   rv = apr_pollset_poll(p-pollset, J2T(timeout), num, fd);
  +apr_thread_mutex_lock(p-mutex);
   if (rv != APR_SUCCESS)
   num = 0;
   
   if (num  0) {
   for (i = 0; i  num; i++) {
  -pset[i] = P2J(fd);
  +pset[i*4+0] = (jlong)(fd-rtnevents);
  +pset[i*4+1] = P2J(fd-desc.s);
  +pset[i*4+2] = P2J(fd-client_data);
   fd ++;
   }
   }
  @@ -227,18 +230,19 @@
   /* TODO: Add thread mutex protection
* or make sure the Java part is synchronized.
*/
  -apr_thread_mutex_lock(p-mutex);
   for (n = 0; n  p-nelts; n++) {
   if ((now - p-query_ttl[n])  p-max_ttl) {
   p-query_set[n].rtnevents = APR_POLLHUP | APR_POLLIN;
  -if (i  p-nelts) {
  -pset[i++] = P2J((p-query_set[n]));
  +if (num  p-nelts) {
  +pset[num*4+0] = (jlong)(p-query_set[n].rtnevents);
  +pset[num*4+1] = P2J(p-query_set[n].desc.s);
  +pset[num*4+2] = P2J(p-query_set[n].client_data);
   num++;
   }
   }
   }
  -apr_thread_mutex_unlock(p-mutex);
   }
  +apr_thread_mutex_unlock(p-mutex);
   if (num)
   (*e)-ReleaseLongArrayElements(e, set, pset, 0);
   else
  
  
  

-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



cvs commit: jakarta-tomcat-connectors/util/java/org/apache/tomcat/util/net AprEndpoint.java

2005-04-18 Thread mturk
mturk   2005/04/18 06:57:12

  Modified:util/java/org/apache/tomcat/util/net AprEndpoint.java
  Log:
  Fix pool usage.
  Use indexed descriptors for obtaining poll params and data.
  It spares 3 JNI calls for each polled socket.
  
  Revision  ChangesPath
  1.8   +83 -91
jakarta-tomcat-connectors/util/java/org/apache/tomcat/util/net/AprEndpoint.java
  
  Index: AprEndpoint.java
  ===
  RCS file: 
/home/cvs/jakarta-tomcat-connectors/util/java/org/apache/tomcat/util/net/AprEndpoint.java,v
  retrieving revision 1.7
  retrieving revision 1.8
  diff -u -r1.7 -r1.8
  --- AprEndpoint.java  15 Apr 2005 17:19:52 -  1.7
  +++ AprEndpoint.java  18 Apr 2005 13:57:12 -  1.8
  @@ -53,7 +53,7 @@
   
   protected static Log log = LogFactory.getLog(AprEndpoint.class);
   
  -protected static StringManager sm = 
  +protected static StringManager sm =
   StringManager.getManager(org.apache.tomcat.util.net.res);
   
   
  @@ -70,27 +70,27 @@
* The acceptor thread.
*/
   protected Thread acceptorThread = null;
  -
  -
  +
  +
   /**
* The socket poller.
*/
   protected Poller poller = null;
  -
  -
  +
  +
   /**
* The socket poller thread.
*/
   protected Thread pollerThread = null;
  -
  -
  +
  +
   /**
* The sendfile thread.
*/
   // FIXME: Add senfile support
   protected Thread sendfileThread = null;
  -
  -
  +
  +
   /**
* Available processors.
*/
  @@ -108,14 +108,14 @@
* Running state of the endpoint.
*/
   protected volatile boolean running = false;
  -
  -
  +
  +
   /**
* Will be set to true whenever the endpoint is paused.
*/
   protected volatile boolean paused = false;
  -
  -
  +
  +
   /**
* Track the initialization state of the endpoint.
*/
  @@ -126,14 +126,14 @@
* Current worker threads busy count.
*/
   protected int curThreadsBusy = 0;
  -
  +
   
   /**
* Current worker threads count.
*/
   protected int curThreads = 0;
  -
  -
  +
  +
   /**
* Sequence number used to generate thread names.
*/
  @@ -144,14 +144,14 @@
* Root APR memory pool.
*/
   protected long rootPool = 0;
  -
  -
  +
  +
   /**
* Server socket pointer.
*/
   protected long serverSock = 0;
  -
  -
  +
  +
   /**
* APR memory pool for the server socket.
*/
  @@ -167,8 +167,8 @@
   protected int maxThreads = 20;
   public void setMaxThreads(int maxThreads) { this.maxThreads = 
maxThreads; }
   public int getMaxThreads() { return maxThreads; }
  -
  -
  +
  +
   /**
* Priority of the acceptor and poller threads.
*/
  @@ -192,7 +192,7 @@
   public int getPort() { return port; }
   public void setPort(int port ) { this.port=port; }
   
  -
  +
   /**
* Address for the server socket.
*/
  @@ -200,7 +200,7 @@
   public InetAddress getAddress() { return address; }
   public void setAddress(InetAddress address) { this.address = address; }
   
  -
  +
   /**
* Handling of accepted sockets.
*/
  @@ -260,7 +260,7 @@
   public void setPollTime(int pollTime) { this.pollTime = pollTime; }
   
   
  -/** 
  +/**
* The default is true - the created threads will be
*  in daemon mode. If set to false, the control thread
*  will not be daemon - and will keep the process alive.
  @@ -277,15 +277,15 @@
   public void setName(String name) { this.name = name; }
   public String getName() { return name; }
   
  -
  +
   /**
* Number of keepalive sockets.
*/
   protected int keepAliveCount = 0;
   public int getKeepAliveCount() { return keepAliveCount; }
   public void setKeepAliveCount(int keepAliveCount) { this.keepAliveCount 
= keepAliveCount; }
  -
  -
  +
  +
   /**
* Dummy maxSpareThreads property.
*/
  @@ -303,9 +303,9 @@
   
   /**
* Return the APR memory pool for the server socket, to be used by 
handler
  - * which would need to allocate things like pollers, while having 
  + * which would need to allocate things like pollers, while having
* consistent resource handling.
  - * 
  + *
* @return the id for the server socket pool
*/
   public long getServerSocketPool() {
  @@ -315,7 +315,7 @@
   
   /**
* Return the amount of threads that are managed by the pool.
  - * 
  + *
* @return the amount of threads that are managed by the pool
*/
   public int getCurrentThreadCount() {
  @@ -325,17 +325,17 @@
   
   /**
* Return the amount of threads 

cvs commit: jakarta-tomcat-connectors/jni/examples/org/apache/tomcat/jni Echo.java

2005-04-18 Thread jfclere
jfclere 2005/04/18 07:06:42

  Modified:jni/examples/org/apache/tomcat/jni Echo.java
  Log:
  Check the return code of bind().
  
  Revision  ChangesPath
  1.8   +5 -2  
jakarta-tomcat-connectors/jni/examples/org/apache/tomcat/jni/Echo.java
  
  Index: Echo.java
  ===
  RCS file: 
/home/cvs/jakarta-tomcat-connectors/jni/examples/org/apache/tomcat/jni/Echo.java,v
  retrieving revision 1.7
  retrieving revision 1.8
  diff -u -r1.7 -r1.8
  --- Echo.java 16 Apr 2005 17:24:13 -  1.7
  +++ Echo.java 18 Apr 2005 14:06:42 -  1.8
  @@ -83,7 +83,10 @@
   System.out.println(IP:  + Address.getip(sa) +
  : + addr.port);
   }   
  -Socket.bind(serverSock, inetAddress);
  +int rc = Socket.bind(serverSock, inetAddress);
  +if (rc != 0) {
  +  throw(new Exception(Can't create Acceptor:bind failed));
  +}
   Socket.listen(serverSock, 5);
   }
   catch( Exception ex ) {
  
  
  

-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



Re: cvs commit: jakarta-tomcat-connectors/jni/examples/org/apache/tomcat/jni Echo.java

2005-04-18 Thread Mladen Turk
[EMAIL PROTECTED] wrote:
  +int rc = Socket.bind(serverSock, inetAddress);
  +if (rc != 0) {
  +  throw(new Exception(Can't create Acceptor:bind failed));
  +}
You can use 'throw(new Exception(Error.strerror(rv)));'
It will return apr_os_error.
Regards,
Mladen.
-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]


cvs commit: jakarta-tomcat-catalina/modules/cluster/src/share/org/apache/catalina/cluster/tcp ClusterReceiverBase.java

2005-04-18 Thread fhanik
fhanik  2005/04/18 07:29:28

  Modified:modules/cluster/src/share/org/apache/catalina/cluster/tcp
ClusterReceiverBase.java
  Log:
  Fixed spelling error
  
  Revision  ChangesPath
  1.4   +4 -4  
jakarta-tomcat-catalina/modules/cluster/src/share/org/apache/catalina/cluster/tcp/ClusterReceiverBase.java
  
  Index: ClusterReceiverBase.java
  ===
  RCS file: 
/home/cvs/jakarta-tomcat-catalina/modules/cluster/src/share/org/apache/catalina/cluster/tcp/ClusterReceiverBase.java,v
  retrieving revision 1.3
  retrieving revision 1.4
  diff -u -r1.3 -r1.4
  --- ClusterReceiverBase.java  16 Apr 2005 07:23:05 -  1.3
  +++ ClusterReceiverBase.java  18 Apr 2005 14:29:28 -  1.4
  @@ -402,7 +402,7 @@
   timeSent = System.currentTimeMillis();
   }
   try {
  -ClusterMessage message = deserialze(data);
  +ClusterMessage message = deserialize(data);
   cluster.receive(message);
   } catch (Exception x) {
   log
  @@ -417,13 +417,13 @@
   }
   
   /**
  - * deserialze the receieve cluster message
  + * deserialize the receieve cluster message
* @param data uncompress data
* @return
* @throws IOException
* @throws ClassNotFoundException
*/
  -protected ClusterMessage deserialze(byte[] data)
  +protected ClusterMessage deserialize(byte[] data)
   throws IOException, ClassNotFoundException {
   Object message = null;
   if (data != null) {
  
  
  

-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



cvs commit: jakarta-tomcat-catalina/modules/cluster/test/src/share/org/apache/catalina/cluster/tcp ReplicationTransmitterTest.java

2005-04-18 Thread fhanik
fhanik  2005/04/18 07:34:56

  Modified:modules/cluster/src/share/org/apache/catalina/cluster/tcp
ReplicationTransmitter.java
   modules/cluster/test/src/share/org/apache/catalina/cluster/tcp
ReplicationTransmitterTest.java
  Log:
  Fixed spelling errors
  
  Revision  ChangesPath
  1.32  +5 -5  
jakarta-tomcat-catalina/modules/cluster/src/share/org/apache/catalina/cluster/tcp/ReplicationTransmitter.java
  
  Index: ReplicationTransmitter.java
  ===
  RCS file: 
/home/cvs/jakarta-tomcat-catalina/modules/cluster/src/share/org/apache/catalina/cluster/tcp/ReplicationTransmitter.java,v
  retrieving revision 1.31
  retrieving revision 1.32
  diff -u -r1.31 -r1.32
  --- ReplicationTransmitter.java   16 Apr 2005 07:22:41 -  1.31
  +++ ReplicationTransmitter.java   18 Apr 2005 14:34:56 -  1.32
  @@ -425,7 +425,7 @@
   time = System.currentTimeMillis();
   }
   try {
  -byte[] data = serialze(message);
  +byte[] data = serialize(message);
   String key = getKey(member);
   IDataSender sender = (IDataSender) map.get(key);
   sendMessageData(message.getUniqueId(), data, sender);
  @@ -447,7 +447,7 @@
   time = System.currentTimeMillis();
   }
   try {
  -byte[] data = serialze(message);
  +byte[] data = serialize(message);
   IDataSender[] senders = getSenders();
   for (int i = 0; i  senders.length; i++) {
   
  @@ -751,13 +751,13 @@
   }
   
   /**
  - * serialze message and add timestamp
  + * serialize message and add timestamp
* @see GZIPOutputStream
* @param msg cluster message
* @return cluster message as byte array
* @throws IOException
*/
  -protected byte[] serialze(ClusterMessage msg) throws IOException {
  +protected byte[] serialize(ClusterMessage msg) throws IOException {
   msg.setTimestamp(System.currentTimeMillis());
   ByteArrayOutputStream outs = new ByteArrayOutputStream();
   ObjectOutputStream out;
  
  
  
  1.3   +2 -2  
jakarta-tomcat-catalina/modules/cluster/test/src/share/org/apache/catalina/cluster/tcp/ReplicationTransmitterTest.java
  
  Index: ReplicationTransmitterTest.java
  ===
  RCS file: 
/home/cvs/jakarta-tomcat-catalina/modules/cluster/test/src/share/org/apache/catalina/cluster/tcp/ReplicationTransmitterTest.java,v
  retrieving revision 1.2
  retrieving revision 1.3
  diff -u -r1.2 -r1.3
  --- ReplicationTransmitterTest.java   17 Apr 2005 16:17:16 -  1.2
  +++ ReplicationTransmitterTest.java   18 Apr 2005 14:34:56 -  1.3
  @@ -36,7 +36,7 @@
   transmitter.setCompress(true);
   SessionMessageImpl message= new SessionMessageImpl();
   message.setUniqueId(test);
  -byte [] data = transmitter.serialze(message);
  +byte [] data = transmitter.serialize(message);
   assertTrue(200  data.length);
   Object myobj = getGZPObject(data);
   assertTrue(myobj instanceof SessionMessageImpl);
  
  
  

-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



cvs commit: jakarta-tomcat-connectors/jni/native/src poll.c

2005-04-18 Thread mturk
mturk   2005/04/18 08:24:01

  Modified:jni/examples/org/apache/tomcat/jni Echo.java
   jni/java/org/apache/tomcat/jni Poll.java
   jni/native/src poll.c
  Log:
  Remove obsolete Poll.socket, Poll.events and Poll.data calls.
  Now Api uses indexed array for Poll.poll to minimize the JNI calls.
  
  Revision  ChangesPath
  1.9   +6 -5  
jakarta-tomcat-connectors/jni/examples/org/apache/tomcat/jni/Echo.java
  
  Index: Echo.java
  ===
  RCS file: 
/home/cvs/jakarta-tomcat-connectors/jni/examples/org/apache/tomcat/jni/Echo.java,v
  retrieving revision 1.8
  retrieving revision 1.9
  diff -u -r1.8 -r1.9
  --- Echo.java 18 Apr 2005 14:06:42 -  1.8
  +++ Echo.java 18 Apr 2005 15:24:01 -  1.9
  @@ -180,13 +180,14 @@
   Thread.sleep(1);
   continue;
   }
  -long [] desc = new long[16];
  +/* Four times size then  created pollset */
  +long [] desc = new long[64];
   /* USe 1 second poll timeout */
   int rv = Poll.poll(serverPollset, 100, desc);
   for (int n = 0; n  rv; n++) {
  -long clientSock = Poll.socket(desc[n]);
  -int  workerId   = (int)Poll.data(desc[n]);
  -System.out.println(Poll flags  + 
Poll.events(desc[n]));
  +long clientSock = desc[n*4+1];
  +int  workerId   = (int)desc[n*4+2];
  +System.out.println(Poll flags  + desc[n*4]);
   remove(clientSock, workerId);
   Worker worker = new Worker(clientSock, workerId,
  
this.getClass().getName());
  
  
  
  1.7   +10 -19
jakarta-tomcat-connectors/jni/java/org/apache/tomcat/jni/Poll.java
  
  Index: Poll.java
  ===
  RCS file: 
/home/cvs/jakarta-tomcat-connectors/jni/java/org/apache/tomcat/jni/Poll.java,v
  retrieving revision 1.6
  retrieving revision 1.7
  diff -u -r1.6 -r1.7
  --- Poll.java 15 Apr 2005 10:15:07 -  1.6
  +++ Poll.java 18 Apr 2005 15:24:01 -  1.7
  @@ -96,30 +96,21 @@
* @param pollset The pollset to use
* @param timeout Timeout in microseconds
* @param descriptors Array of signalled descriptors (output parameter)
  + *The desctiptor array must be four times the size of pollset.
  + *and are populated as follows:
  + * PRE
  + * descriptors[n + 0] - returned events
  + * descriptors[n + 1] - socket
  + * descriptors[n + 2] - client data
  + * descriptors[n + 2] - reserved
  + * /PRE
* @return Number of signalled descriptors (output parameter)
  + * or negative APR error code.
*/
   public static native int poll(long pollset, long timeout,
 long [] descriptors);
   
   /**
  - * Return socket from poll descriptor
  - * @param polldesc The pollset decriptor to use
  - */
  -public static native long socket(long polldesc);
  -
  -/**
  - * Return client data from poll descriptor
  - * @param polldesc The pollset decriptor to use
  - */
  -public static native long data(long polldesc);
  -
  -/**
  - * Return rtnevents from poll descriptor
  - * @param polldesc The pollset decriptor to use
  - */
  -public static native int events(long polldesc);
  -
  -/**
* Set the socket time to live.
* @param pollset The pollset to use
* @param ttl Timeout in microseconds
  
  
  
  1.8   +0 -24 jakarta-tomcat-connectors/jni/native/src/poll.c
  
  Index: poll.c
  ===
  RCS file: /home/cvs/jakarta-tomcat-connectors/jni/native/src/poll.c,v
  retrieving revision 1.7
  retrieving revision 1.8
  diff -u -r1.7 -r1.8
  --- poll.c18 Apr 2005 13:53:33 -  1.7
  +++ poll.c18 Apr 2005 15:24:01 -  1.8
  @@ -251,30 +251,6 @@
   return (jint)num;
   }
   
  -TCN_IMPLEMENT_CALL(jlong, Poll, socket)(TCN_STDARGS, jlong pollfd)
  -{
  -apr_pollfd_t *fd = J2P(pollfd,  apr_pollfd_t *);
  -UNREFERENCED_STDARGS;
  -TCN_ASSERT(pollfd != 0);
  -return P2J(fd-desc.s);
  -}
  -
  -TCN_IMPLEMENT_CALL(jlong, Poll, data)(TCN_STDARGS, jlong pollfd)
  -{
  -apr_pollfd_t *fd = J2P(pollfd,  apr_pollfd_t *);
  -UNREFERENCED_STDARGS;
  -TCN_ASSERT(pollfd != 0);
  -return P2J(fd-client_data);
  -}
  -
  -TCN_IMPLEMENT_CALL(jint, Poll, events)(TCN_STDARGS, jlong pollfd)
  -{
  -apr_pollfd_t *fd = J2P(pollfd,  apr_pollfd_t *);
  -UNREFERENCED_STDARGS;
  -TCN_ASSERT(pollfd != 0);
  -

cvs commit: jakarta-tomcat-connectors/jni/examples/org/apache/tomcat/jni Echo.java

2005-04-18 Thread jfclere
jfclere 2005/04/18 08:28:06

  Modified:jni/examples/org/apache/tomcat/jni Echo.java
  Log:
  use Error.strerror(). Thanks Mladen ;-)
  
  Revision  ChangesPath
  1.10  +2 -2  
jakarta-tomcat-connectors/jni/examples/org/apache/tomcat/jni/Echo.java
  
  Index: Echo.java
  ===
  RCS file: 
/home/cvs/jakarta-tomcat-connectors/jni/examples/org/apache/tomcat/jni/Echo.java,v
  retrieving revision 1.9
  retrieving revision 1.10
  diff -u -r1.9 -r1.10
  --- Echo.java 18 Apr 2005 15:24:01 -  1.9
  +++ Echo.java 18 Apr 2005 15:28:06 -  1.10
  @@ -85,7 +85,7 @@
   }   
   int rc = Socket.bind(serverSock, inetAddress);
   if (rc != 0) {
  -  throw(new Exception(Can't create Acceptor:bind failed));
  +  throw(new Exception(Can't create Acceptor: bind:  + 
Error.strerror(rc)));
   }
   Socket.listen(serverSock, 5);
   }
  
  
  

-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



Re: cvs commit: jakarta-tomcat-connectors/jni/examples/org/apache/tomcat/jni Echo.java

2005-04-18 Thread jean-frederic clere
Mladen Turk wrote:
[EMAIL PROTECTED] wrote:
  +int rc = Socket.bind(serverSock, inetAddress);
  +if (rc != 0) {
  +  throw(new Exception(Can't create Acceptor:bind 
failed));
  +}

You can use 'throw(new Exception(Error.strerror(rv)));'
It will return apr_os_error.
done.
Regards,
Mladen.
-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]


cvs commit: jakarta-tomcat-connectors/jni/native/src poll.c

2005-04-18 Thread mturk
mturk   2005/04/18 08:43:35

  Modified:jni/native/src poll.c
  Log:
  If add queue is too large, do not return APR_ENOMEM, but rather
  bail out from the add loop. Whats in the queue will be added on the next
  call.
  
  Revision  ChangesPath
  1.9   +3 -1  jakarta-tomcat-connectors/jni/native/src/poll.c
  
  Index: poll.c
  ===
  RCS file: /home/cvs/jakarta-tomcat-connectors/jni/native/src/poll.c,v
  retrieving revision 1.8
  retrieving revision 1.9
  diff -u -r1.8 -r1.9
  --- poll.c18 Apr 2005 15:24:01 -  1.8
  +++ poll.c18 Apr 2005 15:43:35 -  1.9
  @@ -198,7 +198,9 @@
   for (n = 0; n  p-nadds; n++) {
   apr_pollfd_t pf = p-query_add[n];
   if (p-nelts == p-nalloc) {
  -rv = APR_ENOMEM;
  +/* In case the add queue is too large
  + * skip adding to pollset
  + */
   break;
   }
   if ((rv = apr_pollset_add(p-pollset, pf)) != APR_SUCCESS)
  
  
  

-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



cvs commit: jakarta-tomcat-connectors/jni/native/src network.c

2005-04-18 Thread mturk
mturk   2005/04/18 09:22:23

  Modified:jni/java/org/apache/tomcat/jni Socket.java
   jni/native/src network.c
  Log:
  Added sendfilet (sendfile with timeout) function to skip the need
  to call two additional JNI calls in case we wish nonblocking sendifle.
  
  Revision  ChangesPath
  1.11  +26 -1 
jakarta-tomcat-connectors/jni/java/org/apache/tomcat/jni/Socket.java
  
  Index: Socket.java
  ===
  RCS file: 
/home/cvs/jakarta-tomcat-connectors/jni/java/org/apache/tomcat/jni/Socket.java,v
  retrieving revision 1.10
  retrieving revision 1.11
  diff -u -r1.10 -r1.11
  --- Socket.java   16 Apr 2005 15:07:53 -  1.10
  +++ Socket.java   18 Apr 2005 16:22:22 -  1.11
  @@ -445,4 +445,29 @@
 byte[][] trailers, long offset,
 int len, int flags);
   
  +/**
  + * Send a file from an open file descriptor to a socket, along with
  + * optional headers and trailers, with a timeout.
  + * br /
  + * This functions acts like a blocking write by default.  To change
  + * this behavior, use apr_socket_timeout_set() or the
  + * APR_SO_NONBLOCK socket option.
  + * The number of bytes actually sent is stored in the len parameter.
  + * The offset parameter is passed by reference for no reason; its
  + * value will never be modified by the apr_socket_sendfile() function.
  + * @param sock The socket to which we're writing
  + * @param file The open file from which to read
  + * @param headers Array containing the headers to send
  + * @param trailers Array containing the trailers to send
  + * @param offset Offset into the file where we should begin writing
  + * @param len Number of bytes to send from the file
  + * @param flags APR flags that are mapped to OS specific flags
  + * @return Number of bytes actually sent, including headers,
  + * file, and trailers
  + *
  + */
  +public static native int sendfilet(long sock, long file, byte [][] 
headers,
  +   byte[][] trailers, long offset,
  +   int len, int flags, long timeout);
  +
   }
  
  
  
  1.13  +73 -0 jakarta-tomcat-connectors/jni/native/src/network.c
  
  Index: network.c
  ===
  RCS file: /home/cvs/jakarta-tomcat-connectors/jni/native/src/network.c,v
  retrieving revision 1.12
  retrieving revision 1.13
  diff -u -r1.12 -r1.13
  --- network.c 18 Apr 2005 12:31:13 -  1.12
  +++ network.c 18 Apr 2005 16:22:23 -  1.13
  @@ -577,3 +577,76 @@
   else
   return -(jint)ss;
   }
  +
  +TCN_IMPLEMENT_CALL(jint, Socket, sendfilet)(TCN_STDARGS, jlong sock,
  +jlong file,
  +jobjectArray headers,
  +jobjectArray trailers,
  +jlong offset, jint len,
  +jint flags, jlong timeout)
  +{
  +apr_socket_t *s = J2P(sock, apr_socket_t *);
  +apr_file_t *f = J2P(file, apr_file_t *);
  +jsize nh = 0;
  +jsize nt = 0;
  +jsize i;
  +struct iovec hvec[APR_MAX_IOVEC_SIZE];
  +struct iovec tvec[APR_MAX_IOVEC_SIZE];
  +jobject hba[APR_MAX_IOVEC_SIZE];
  +jobject tba[APR_MAX_IOVEC_SIZE];
  +apr_off_t off = (apr_off_t)offset;
  +apr_size_t written = (apr_size_t)len;
  +apr_hdtr_t hdrs;
  +apr_status_t ss;
  +apr_interval_time_t t;
  +
  +UNREFERENCED(o);
  +TCN_ASSERT(sock != 0);
  +TCN_ASSERT(file != 0);
  +
  +if (headers)
  +nh = (*e)-GetArrayLength(e, headers);
  +if (trailers)
  +nt = (*e)-GetArrayLength(e, trailers);
  +/* Check for overflow */
  +if (nh = APR_MAX_IOVEC_SIZE || nt = APR_MAX_IOVEC_SIZE)
  +return (jint)(-APR_ENOMEM);
  +if ((ss = apr_socket_timeout_get(s, t)) != APR_SUCCESS)
  + return -(jint)ss;
  +if ((ss = apr_socket_timeout_set(s, J2T(timeout))) != APR_SUCCESS)
  + return -(jint)ss;
  +
  +for (i = 0; i  nh; i++) {
  +hba[i] = (*e)-GetObjectArrayElement(e, headers, i);
  +hvec[i].iov_len  = (*e)-GetArrayLength(e, hba[i]);
  +hvec[i].iov_base = (*e)-GetByteArrayElements(e, hba[i], NULL);
  +}
  +for (i = 0; i  nt; i++) {
  +tba[i] = (*e)-GetObjectArrayElement(e, trailers, i);
  +tvec[i].iov_len  = (*e)-GetArrayLength(e, tba[i]);
  +tvec[i].iov_base = (*e)-GetByteArrayElements(e, tba[i], NULL);
  +}
  +hdrs.headers = hvec[0];
  +hdrs.numheaders = nh;
  +hdrs.trailers = tvec[0];
  +hdrs.numtrailers = nt;
  +
  +ss = apr_socket_sendfile(s, f, hdrs, off, written, 

Re: cvs commit: jakarta-tomcat-connectors/jni/native/src network.c

2005-04-18 Thread webmaster
This email address is not in use. To contact us please visit www.ps.com



-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



cvs commit: jakarta-tomcat-connectors/jni/java/org/apache/tomcat/jni Socket.java

2005-04-18 Thread mturk
mturk   2005/04/18 09:25:20

  Modified:jni/java/org/apache/tomcat/jni Socket.java
  Log:
  Update javadocs for sendfilet.
  
  Revision  ChangesPath
  1.12  +3 -5  
jakarta-tomcat-connectors/jni/java/org/apache/tomcat/jni/Socket.java
  
  Index: Socket.java
  ===
  RCS file: 
/home/cvs/jakarta-tomcat-connectors/jni/java/org/apache/tomcat/jni/Socket.java,v
  retrieving revision 1.11
  retrieving revision 1.12
  diff -u -r1.11 -r1.12
  --- Socket.java   18 Apr 2005 16:22:22 -  1.11
  +++ Socket.java   18 Apr 2005 16:25:20 -  1.12
  @@ -448,10 +448,6 @@
   /**
* Send a file from an open file descriptor to a socket, along with
* optional headers and trailers, with a timeout.
  - * br /
  - * This functions acts like a blocking write by default.  To change
  - * this behavior, use apr_socket_timeout_set() or the
  - * APR_SO_NONBLOCK socket option.
* The number of bytes actually sent is stored in the len parameter.
* The offset parameter is passed by reference for no reason; its
* value will never be modified by the apr_socket_sendfile() function.
  @@ -462,6 +458,8 @@
* @param offset Offset into the file where we should begin writing
* @param len Number of bytes to send from the file
* @param flags APR flags that are mapped to OS specific flags
  + * @param timeout Socket timeout to use with the call. The original
  + *socket timeout will be preserved.
* @return Number of bytes actually sent, including headers,
* file, and trailers
*
  
  
  

-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



cvs commit: jakarta-tomcat-connectors/http11/src/java/org/apache/coyote/http11 Http11AprProtocol.java Http11AprProcessor.java

2005-04-18 Thread remm
remm2005/04/18 09:47:48

  Modified:util/java/org/apache/tomcat/util/net AprEndpoint.java
   http11/src/java/org/apache/coyote/http11
Http11AprProtocol.java Http11AprProcessor.java
  Log:
  - Add the basis for sendfile (not used yet).
  - Bugfixes to poll handling.
  - The processor will now send the socket to the poller by itself (allows 
future similar use of sendfile), while the boolean will only
indicate if the socket should be closed or not.
is only used to indicate if the socket is to be closed.
  
  Revision  ChangesPath
  1.9   +254 -34   
jakarta-tomcat-connectors/util/java/org/apache/tomcat/util/net/AprEndpoint.java
  
  Index: AprEndpoint.java
  ===
  RCS file: 
/home/cvs/jakarta-tomcat-connectors/util/java/org/apache/tomcat/util/net/AprEndpoint.java,v
  retrieving revision 1.8
  retrieving revision 1.9
  diff -u -r1.8 -r1.9
  --- AprEndpoint.java  18 Apr 2005 13:57:12 -  1.8
  +++ AprEndpoint.java  18 Apr 2005 16:47:47 -  1.9
  @@ -17,6 +17,7 @@
   package org.apache.tomcat.util.net;
   
   import java.net.InetAddress;
  +import java.util.HashMap;
   import java.util.Stack;
   import java.util.Vector;
   
  @@ -24,6 +25,7 @@
   import org.apache.commons.logging.LogFactory;
   import org.apache.tomcat.jni.Address;
   import org.apache.tomcat.jni.Error;
  +import org.apache.tomcat.jni.File;
   import org.apache.tomcat.jni.Library;
   import org.apache.tomcat.jni.Poll;
   import org.apache.tomcat.jni.Pool;
  @@ -73,12 +75,6 @@
   
   
   /**
  - * The socket poller.
  - */
  -protected Poller poller = null;
  -
  -
  -/**
* The socket poller thread.
*/
   protected Thread pollerThread = null;
  @@ -87,7 +83,6 @@
   /**
* The sendfile thread.
*/
  -// FIXME: Add senfile support
   protected Thread sendfileThread = null;
   
   
  @@ -180,12 +175,20 @@
   /**
* Size of the socket poller.
*/
  -protected int pollerSize = 512;
  +protected int pollerSize = 768;
   public void setPollerSize(int pollerSize) { this.pollerSize = 
pollerSize; }
   public int getPollerSize() { return pollerSize; }
   
   
   /**
  + * Size of the sendfile (= concurrent files which can be served).
  + */
  +protected int sendfileSize = 256;
  +public void setSendfileSize(int sendfileSize) { this.sendfileSize = 
sendfileSize; }
  +public int getSendfileSize() { return sendfileSize; }
  +
  +
  +/**
* Server socket port.
*/
   protected int port;
  @@ -283,10 +286,30 @@
*/
   protected int keepAliveCount = 0;
   public int getKeepAliveCount() { return keepAliveCount; }
  -public void setKeepAliveCount(int keepAliveCount) { this.keepAliveCount 
= keepAliveCount; }
  +
  +
  +/**
  + * Number of sendfile sockets.
  + */
  +protected int sendfileCount = 0;
  +public int getSendfileCount() { return sendfileCount; }
  +
  +
  +/**
  + * The socket poller.
  + */
  +protected Poller poller = null;
  +public Poller getPoller() { return poller; }
   
   
   /**
  + * The static file sender.
  + */
  +protected Sendfile sendfile = null;
  +public Sendfile getSendfile() { return sendfile; }
  +
  +
  +/**
* Dummy maxSpareThreads property.
*/
   public int getMaxSpareThreads() { return 0; }
  @@ -412,14 +435,20 @@
   acceptorThread.start();
   
   // Start poller thread
  -poller = new Poller(pollerSize);
  +poller = new Poller();
  +poller.init();
   pollerThread = new Thread(poller, getName() + -Poller);
   pollerThread.setPriority(getThreadPriority());
   pollerThread.setDaemon(true);
   pollerThread.start();
   
   // Start sendfile thread
  -// FIXME: Implement sendfile support
  +sendfile = new Sendfile();
  +sendfile.init();
  +sendfileThread = new Thread(sendfile, getName() + -Sendfile);
  +sendfileThread.setPriority(getThreadPriority());
  +sendfileThread.setDaemon(true);
  +sendfileThread.start();
   }
   }
   
  @@ -441,6 +470,8 @@
   if (running) {
   running = false;
   unlockAccept();
  +poller.destroy();
  +sendfile.destroy();
   acceptorThread = null;
   pollerThread = null;
   sendfileThread = null;
  @@ -519,14 +550,14 @@
   }
   
   
  -protected boolean processSocket(long s) {
  +protected boolean processSocket(long socket, long pool) {
   // Process the connection
   int step = 1;
   boolean result = true;
   try {
   
   // 1: Set socket 

mod_jk 1.2.10 - return code when Tomcat not running

2005-04-18 Thread Marx, Mitchell E \(Mitch\), ALABS
 
Using the same configuration files for 1.2.8 and 1.2.10, I get differing
behaviors when Tomcat isn't running.

Machine:
Solaris 8, Apache 1.3.33

Relevant configuration
JkMount /*.jsp ajp13

1.2.8 Response:
!DOCTYPE HTML PUBLIC -//IETF//DTD HTML 2.0//EN
HTMLHEAD
TITLE500 Internal Server Error/TITLE
/HEADBODY
H1Internal Server Error/H1
The server encountered an internal error or
misconfiguration and was unable to complete
your request.P
Please contact the server administrator,
 [no address given] and inform them of the time the error occurred,
and anything you might have done that may have
caused the error.P
More information about this error may be available
in the server error log.P
/BODY/HTML

1.2.10 Response:
!DOCTYPE HTML PUBLIC -//IETF//DTD HTML 2.0//EN
HTMLHEAD
TITLE200 OK/TITLE
/HEADBODY
H1OK/H1
The server encountered an internal error or
misconfiguration and was unable to complete
your request.P
Please contact the server administrator,
 [no address given] and inform them of the time the error occurred,
and anything you might have done that may have
caused the error.P
More information about this error may be available
in the server error log.P
/BODY/HTML

Is this by design?  If so, should it be in the changelog
http://jakarta.apache.org/tomcat/connectors-doc/changelog.html

and BTW,
http://jakarta.apache.org/site/downloads/downloads_tomcat-connectors.cgi
shows 1.2.6 as latest.

-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



cvs commit: jakarta-tomcat-catalina/modules/cluster/test/src/share/org/apache/catalina/cluster/tcp SimpleTcpClusterTest.java

2005-04-18 Thread pero
pero2005/04/18 11:55:38

  Added:   modules/cluster/test/src/share/org/apache/catalina/cluster/tcp
SimpleTcpClusterTest.java
  Log:
  Test auto ClusterSessionListener creation as no other ClusterListener is 
configured!
  
  Revision  ChangesPath
  1.1  
jakarta-tomcat-catalina/modules/cluster/test/src/share/org/apache/catalina/cluster/tcp/SimpleTcpClusterTest.java
  
  Index: SimpleTcpClusterTest.java
  ===
  /*
   * Copyright 1999,2004 The Apache Software Foundation.
   * 
   * Licensed under the Apache License, Version 2.0 (the License); you may not
   * use this file except in compliance with the License. You may obtain a copy 
of
   * the License at
   * 
   * http://www.apache.org/licenses/LICENSE-2.0
   * 
   * Unless required by applicable law or agreed to in writing, software
   * distributed under the License is distributed on an AS IS BASIS, WITHOUT
   * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
   * License for the specific language governing permissions and limitations 
under
   * the License.
   */
  
  package org.apache.catalina.cluster.tcp;
  
  import junit.framework.TestCase;
  
  import org.apache.catalina.LifecycleException;
  import org.apache.catalina.cluster.deploy.FarmWarDeployer;
  import org.apache.catalina.cluster.mcast.McastService;
  import org.apache.catalina.cluster.session.ClusterSessionListener;
  
  /*
  * @author Peter Rossbach
  * @version $Revision: 1.1 $ $Date: 2005/04/18 18:55:38 $
  */
  public class SimpleTcpClusterTest extends TestCase {
  
  
  public void testCreateClusterSessionListenerAtStart() throws 
LifecycleException
  {
  SimpleTcpCluster cluster = new SimpleTcpCluster() ;
  cluster.setMembershipService( new McastService() { public void 
start() {} });
  cluster.setClusterDeployer(new FarmWarDeployer() { public void 
start() {}});
  SocketReplicationListener receiver = new SocketReplicationListener(){ 
public void start() {}};
  receiver.setTcpListenAddress(localhost);
  receiver.setTcpListenPort(45660);
  cluster.setClusterReceiver(receiver);
  cluster.setClusterSender(new ReplicationTransmitter(){ public void 
start() {}});
  cluster.start();
  assertEquals(1,cluster.clusterListeners.size());
  assertTrue( cluster.clusterListeners.get(0) instanceof 
ClusterSessionListener);
  }
  }
  
  
  

-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



Re: mod_jk 1.2.10 - return code when Tomcat not running

2005-04-18 Thread Mladen Turk
Marx, Mitchell E (Mitch), ALABS wrote:
 
Using the same configuration files for 1.2.8 and 1.2.10, I get differing
behaviors when Tomcat isn't running.

1.2.10 Response:
!DOCTYPE HTML PUBLIC -//IETF//DTD HTML 2.0//EN
HTMLHEAD
TITLE200 OK/TITLE
This is bug, and will be fixed.
It should return SERVER_BUSY (503) if can not connect to Tomcat.
You can try to use the load balancer with the single worker, and
it should work like explained.
and BTW,
http://jakarta.apache.org/site/downloads/downloads_tomcat-connectors.cgi
shows 1.2.6 as latest.
Sure I know.
The site has not been updated for a long time.
Regards,
Mladen.
-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]


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

2005-04-18 Thread keith
keith   2005/04/18 13:20:46

  Modified:catalina/src/share/org/apache/catalina/authenticator Tag:
TOMCAT_5_0 AuthenticatorBase.java
  Log:
  [34083 et al] For webapps with security constraints, we default to sending
  headers to disable caching.  This is well-intentioned but IE will not open
  office documents under SSL with the Pragma header.  Remove the Pragma
  header and change the Cache-Control to private based on comments in
  the many bugs about this and my reading of the 1.1 spec.
  
  Revision  ChangesPath
  No   revision
  No   revision
  1.19.2.1  +2 -3  
jakarta-tomcat-catalina/catalina/src/share/org/apache/catalina/authenticator/AuthenticatorBase.java
  
  Index: AuthenticatorBase.java
  ===
  RCS file: 
/home/cvs/jakarta-tomcat-catalina/catalina/src/share/org/apache/catalina/authenticator/AuthenticatorBase.java,v
  retrieving revision 1.19
  retrieving revision 1.19.2.1
  diff -u -r1.19 -r1.19.2.1
  --- AuthenticatorBase.java26 Apr 2004 21:54:15 -  1.19
  +++ AuthenticatorBase.java18 Apr 2005 20:20:46 -  1.19.2.1
  @@ -473,8 +473,7 @@
   !POST.equalsIgnoreCase(hsrequest.getMethod())) {
   HttpServletResponse sresponse = 
   (HttpServletResponse) response.getResponse();
  -sresponse.setHeader(Pragma, No-cache);
  -sresponse.setHeader(Cache-Control, no-cache);
  +sresponse.setHeader(Cache-Control, private);
   sresponse.setHeader(Expires, DATE_ONE);
   }
   
  
  
  

-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



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

2005-04-18 Thread keith
keith   2005/04/18 13:21:57

  Modified:catalina/src/share/org/apache/catalina/authenticator
AuthenticatorBase.java
  Log:
  [34083 et al] For webapps with security constraints, we default to sending
  headers to disable caching.  This is well-intentioned but IE will not open
  office documents under SSL with the Pragma header.  Remove the Pragma
  header and change the Cache-Control to private based on comments in
  the many bugs about this and my reading of the 1.1 spec.
  
  Per Remy make this behavior optional, with a new valve attribute
  
  Revision  ChangesPath
  1.26  +35 -3 
jakarta-tomcat-catalina/catalina/src/share/org/apache/catalina/authenticator/AuthenticatorBase.java
  
  Index: AuthenticatorBase.java
  ===
  RCS file: 
/home/cvs/jakarta-tomcat-catalina/catalina/src/share/org/apache/catalina/authenticator/AuthenticatorBase.java,v
  retrieving revision 1.25
  retrieving revision 1.26
  diff -u -r1.25 -r1.26
  --- AuthenticatorBase.java13 Sep 2004 21:07:43 -  1.25
  +++ AuthenticatorBase.java18 Apr 2005 20:21:57 -  1.26
  @@ -144,6 +144,12 @@
   protected boolean disableProxyCaching = true;
   
   /**
  + * Flag to determine if we disable proxy caching with headers compatible
  + * with IE 
  + */
  +protected boolean IECompatibleProxyCacheDisableHeaders = true;
  +
  +/**
* The lifecycle event support for this component.
*/
   protected LifecycleSupport lifecycle = new LifecycleSupport(this);
  @@ -339,6 +345,25 @@
   public void setDisableProxyCaching(boolean nocache) {
   disableProxyCaching = nocache;
   }
  +
  +/**
  + * Return the flag that states, if proxy caching is disabled, what 
headers
  + * we add to disable the caching.  
  + */
  +public boolean getIECompatibleProxyCacheDisableHeaders() {
  +return IECompatibleProxyCacheDisableHeaders;
  +}
  +
  +/**
  + * Set the value of the flag that states what headers we add to disable
  + * proxy caching.
  + * @param compatible codetrue/code if we add headers which are
  + * generally compatible, codefalse/code if add headers which aren't
  + * known to be compatible.
  + */
  +public void setIECompatibleProxyCacheDisableHeaders(boolean compatible) {
  +IECompatibleProxyCacheDisableHeaders = compatible;
  +}
   
   // - Public 
Methods
   
  @@ -415,8 +440,15 @@
   // (improper caching issue)
   //!request.isSecure() 
   !POST.equalsIgnoreCase(request.getMethod())) {
  -response.setHeader(Pragma, No-cache);
  -response.setHeader(Cache-Control, no-cache);
  +if (IECompatibleProxyCacheDisableHeaders) {
  +  //this is the standard way to disable caching
  +  response.setHeader(Cache-Control, private);
  +} else {
  +  //IE won't render the page under SSL if this header is 
specified
  +  //TODO It was stipulated that these not be removed, not sure 
why
  +  response.setHeader(Pragma, No-cache);
  +  response.setHeader(Cache-Control, no-cache);
  +}
   response.setHeader(Expires, DATE_ONE);
   }
   
  
  
  

-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



DO NOT REPLY [Bug 34506] New: - Default encoding issue running Tomcat on z/os

2005-04-18 Thread bugzilla
DO NOT REPLY TO THIS EMAIL, BUT PLEASE POST YOUR BUG·
RELATED COMMENTS THROUGH THE WEB INTERFACE AVAILABLE AT
http://issues.apache.org/bugzilla/show_bug.cgi?id=34506.
ANY REPLY MADE TO THIS MESSAGE WILL NOT BE COLLECTED AND·
INSERTED IN THE BUG DATABASE.

http://issues.apache.org/bugzilla/show_bug.cgi?id=34506

   Summary: Default encoding issue running Tomcat on z/os
   Product: Tomcat 5
   Version: 5.0.28
  Platform: Other
OS/Version: other
Status: NEW
  Severity: major
  Priority: P2
 Component: Catalina
AssignedTo: tomcat-dev@jakarta.apache.org
ReportedBy: [EMAIL PROTECTED]


There is a bug in the commons-fileupload code. On a multipart post, the boundary
string is converted to a byte array using the platform's default encoding
instead of using 8859-1. This was reported as Bugzilla bug 26194
(http://issues.apache.org/bugzilla/show_bug.cgi?id=26194) and has been fixed in
the source code. However, there hasn't yet been an official release of the new
fileupload stuff, and it looks like the latest nightly build breaks other items
with multipart posts.

This can be fixed with 1) a new stable release of commons-fileupload and 2)
updating Tomcat to that new stable release

-- 
Configure bugmail: http://issues.apache.org/bugzilla/userprefs.cgi?tab=email
--- You are receiving this mail because: ---
You are the assignee for the bug, or are watching the assignee.

-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



Re: cvs commit: jakarta-tomcat-catalina/catalina/src/share/org/apache/catalina/authenticator AuthenticatorBase.java

2005-04-18 Thread Remy Maucherat
[EMAIL PROTECTED] wrote:
keith   2005/04/18 13:21:57
  Modified:catalina/src/share/org/apache/catalina/authenticator
AuthenticatorBase.java
  Log:
  [34083 et al] For webapps with security constraints, we default to sending
  headers to disable caching.  This is well-intentioned but IE will not open
  office documents under SSL with the Pragma header.  Remove the Pragma
  header and change the Cache-Control to private based on comments in
  the many bugs about this and my reading of the 1.1 spec.
  
  Per Remy make this behavior optional, with a new valve attribute
When I say make it optional, I mean: the current behavior should 
remain the default (as it has been since day one, and I am not the one 
who actually did it), but I am ok with having the new proposed behavior 
as an option (and documenting it).

Maybe a better attribute name can be found, BTW. 
IECompatibleProxyCacheDisableHeaders is probably better than 
StupidSettingWhichWillIntroduceBrokenBehaviorIfYouSetItToFalse, but not 
by much.

Rémy
-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]


Re: cvs commit: jakarta-tomcat-catalina/catalina/src/share/org/apache/catalina/authenticator AuthenticatorBase.java

2005-04-18 Thread Keith Wannamaker
I'd like to omit pragma header by default.  What specific client 
requires it?  The community has identified a specific, widespread 
failure with the former code-- it did not work out of the box with IE 
under SSL.So, if we want to keep the pragma header the default, what 
are the reasons?

Keith
Remy Maucherat wrote:
[EMAIL PROTECTED] wrote:
keith   2005/04/18 13:21:57
  Modified:catalina/src/share/org/apache/catalina/authenticator
AuthenticatorBase.java
  Log:
  [34083 et al] For webapps with security constraints, we default to 
sending
  headers to disable caching.  This is well-intentioned but IE will 
not open
  office documents under SSL with the Pragma header.  Remove the Pragma
  header and change the Cache-Control to private based on comments in
  the many bugs about this and my reading of the 1.1 spec.
Per Remy make this behavior optional, with a new valve attribute

When I say make it optional, I mean: the current behavior should 
remain the default (as it has been since day one, and I am not the one 
who actually did it), but I am ok with having the new proposed behavior 
as an option (and documenting it).

Maybe a better attribute name can be found, BTW. 
IECompatibleProxyCacheDisableHeaders is probably better than 
StupidSettingWhichWillIntroduceBrokenBehaviorIfYouSetItToFalse, but not 
by much.

Rémy
-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]


Re: cvs commit: jakarta-tomcat-catalina/catalina/src/share/org/apache/catalina/authenticator AuthenticatorBase.java

2005-04-18 Thread Remy Maucherat
Keith Wannamaker wrote:
I'd like to omit pragma header by default.  What specific client 
requires it?  The community has identified a specific, widespread 
failure with the former code-- it did not work out of the box with IE 
under SSL.So, if we want to keep the pragma header the default, what 
are the reasons?
I am not willing to discuss this issue. This has been like this forever, 
the behavior was not introduced by myself, and existing flags do exist. 
Your new flag restricts security, and could cause inappropriate caching 
of pages on the client, which could cause user errors on important 
sections of the website.

Rémy
-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]


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

2005-04-18 Thread remm
remm2005/04/18 14:47:17

  Modified:catalina/src/share/org/apache/catalina/authenticator
AuthenticatorBase.java
  Log:
  - Since my previous comments are being ignored, I am making the necessary 
changes.
  
  Revision  ChangesPath
  1.27  +7 -7  
jakarta-tomcat-catalina/catalina/src/share/org/apache/catalina/authenticator/AuthenticatorBase.java
  
  Index: AuthenticatorBase.java
  ===
  RCS file: 
/home/cvs/jakarta-tomcat-catalina/catalina/src/share/org/apache/catalina/authenticator/AuthenticatorBase.java,v
  retrieving revision 1.26
  retrieving revision 1.27
  diff -u -r1.26 -r1.27
  --- AuthenticatorBase.java18 Apr 2005 20:21:57 -  1.26
  +++ AuthenticatorBase.java18 Apr 2005 21:47:17 -  1.27
  @@ -147,7 +147,7 @@
* Flag to determine if we disable proxy caching with headers compatible
* with IE 
*/
  -protected boolean IECompatibleProxyCacheDisableHeaders = true;
  +protected boolean securePaggesAsPrivate = false;
   
   /**
* The lifecycle event support for this component.
  @@ -350,8 +350,8 @@
* Return the flag that states, if proxy caching is disabled, what 
headers
* we add to disable the caching.  
*/
  -public boolean getIECompatibleProxyCacheDisableHeaders() {
  -return IECompatibleProxyCacheDisableHeaders;
  +public boolean getSecurePaggesAsPrivate() {
  +return securePaggesAsPrivate;
   }
   
   /**
  @@ -361,8 +361,8 @@
* generally compatible, codefalse/code if add headers which aren't
* known to be compatible.
*/
  -public void setIECompatibleProxyCacheDisableHeaders(boolean compatible) {
  -IECompatibleProxyCacheDisableHeaders = compatible;
  +public void setSecurePaggesAsPrivate(boolean securePaggesAsPrivate) {
  +this.securePaggesAsPrivate = securePaggesAsPrivate;
   }
   
   // - Public 
Methods
  @@ -440,7 +440,7 @@
   // (improper caching issue)
   //!request.isSecure() 
   !POST.equalsIgnoreCase(request.getMethod())) {
  -if (IECompatibleProxyCacheDisableHeaders) {
  +if (securePaggesAsPrivate) {
 //this is the standard way to disable caching
 response.setHeader(Cache-Control, private);
   } else {
  
  
  

-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



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

2005-04-18 Thread remm
remm2005/04/18 14:48:14

  Modified:catalina/src/share/org/apache/catalina/authenticator
AuthenticatorBase.java
  Log:
  - Typo.
  
  Revision  ChangesPath
  1.28  +7 -7  
jakarta-tomcat-catalina/catalina/src/share/org/apache/catalina/authenticator/AuthenticatorBase.java
  
  Index: AuthenticatorBase.java
  ===
  RCS file: 
/home/cvs/jakarta-tomcat-catalina/catalina/src/share/org/apache/catalina/authenticator/AuthenticatorBase.java,v
  retrieving revision 1.27
  retrieving revision 1.28
  diff -u -r1.27 -r1.28
  --- AuthenticatorBase.java18 Apr 2005 21:47:17 -  1.27
  +++ AuthenticatorBase.java18 Apr 2005 21:48:14 -  1.28
  @@ -147,7 +147,7 @@
* Flag to determine if we disable proxy caching with headers compatible
* with IE 
*/
  -protected boolean securePaggesAsPrivate = false;
  +protected boolean securePagesAsPrivate = false;
   
   /**
* The lifecycle event support for this component.
  @@ -350,8 +350,8 @@
* Return the flag that states, if proxy caching is disabled, what 
headers
* we add to disable the caching.  
*/
  -public boolean getSecurePaggesAsPrivate() {
  -return securePaggesAsPrivate;
  +public boolean getSecurePagesAsPrivate() {
  +return securePagesAsPrivate;
   }
   
   /**
  @@ -361,8 +361,8 @@
* generally compatible, codefalse/code if add headers which aren't
* known to be compatible.
*/
  -public void setSecurePaggesAsPrivate(boolean securePaggesAsPrivate) {
  -this.securePaggesAsPrivate = securePaggesAsPrivate;
  +public void setSecurePagesAsPrivate(boolean securePagesAsPrivate) {
  +this.securePagesAsPrivate = securePagesAsPrivate;
   }
   
   // - Public 
Methods
  @@ -440,7 +440,7 @@
   // (improper caching issue)
   //!request.isSecure() 
   !POST.equalsIgnoreCase(request.getMethod())) {
  -if (securePaggesAsPrivate) {
  +if (securePagesAsPrivate) {
 //this is the standard way to disable caching
 response.setHeader(Cache-Control, private);
   } else {
  
  
  

-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



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

2005-04-18 Thread remm
remm2005/04/18 15:02:02

  Modified:catalina/src/share/org/apache/catalina/core
StandardServer.java
  Log:
  - All done: great job Peter.
  
  Revision  ChangesPath
  1.43  +1 -4  
jakarta-tomcat-catalina/catalina/src/share/org/apache/catalina/core/StandardServer.java
  
  Index: StandardServer.java
  ===
  RCS file: 
/home/cvs/jakarta-tomcat-catalina/catalina/src/share/org/apache/catalina/core/StandardServer.java,v
  retrieving revision 1.42
  retrieving revision 1.43
  diff -u -r1.42 -r1.43
  --- StandardServer.java   29 Jan 2005 19:41:16 -  1.42
  +++ StandardServer.java   18 Apr 2005 22:02:02 -  1.43
  @@ -55,10 +55,7 @@
*
* @author Craig R. McClanahan
* @version $Revision$ $Date$
  - * TODO remove useless code
  - * TODO test the new save context backuo saving mode!!
*/
  -
   public final class StandardServer
   implements Lifecycle, Server, MBeanRegistration 
{
  
  
  

-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



Re: mod_jk 1.2.10 - return code when Tomcat not running

2005-04-18 Thread William A. Rowe, Jr.
At 02:04 PM 4/18/2005, Mladen Turk wrote:

This is bug, and will be fixed.
It should return SERVER_BUSY (503) if can not connect to Tomcat.
You can try to use the load balancer with the single worker, and
it should work like explained.

It depends;

Connection refused == 
503 HTTP_SERVICE_UNAVAILABLE
Connection timeout == 504 HTTP_GATEWAY_TIME_OUT





-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



Re: cvs commit: jakarta-tomcat-catalina/catalina/src/share/org/apache/catalina/authenticator AuthenticatorBase.java

2005-04-18 Thread Keith Wannamaker
Pragma has never been sent out on a secure connection until recently 
(rev 1.13)  This is brand new behavior and it causes problems with IE 
under SSL.  At the time you even said you'd be willing to roll it back. 
 I'd be happy to leave cache-control to no-cache, it is the Pragma that 
is killing us.  Are you aware of a client that depends solely on Pragma 
for cache instruction?  I would argue that being unable to serve pages 
to IE under SSL is more significant than a caching problem in a client 
that doesn't understand cache-control.

Keith
Remy Maucherat wrote:
Keith Wannamaker wrote:
I'd like to omit pragma header by default.  What specific client 
requires it?  The community has identified a specific, widespread 
failure with the former code-- it did not work out of the box with IE 
under SSL.So, if we want to keep the pragma header the default, 
what are the reasons?

I am not willing to discuss this issue. This has been like this forever, 
the behavior was not introduced by myself, and existing flags do exist. 
Your new flag restricts security, and could cause inappropriate caching 
of pages on the client, which could cause user errors on important 
sections of the website.

Rémy
-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]


Re: cvs commit: jakarta-tomcat-catalina/catalina/src/share/org/apache/catalina/authenticator AuthenticatorBase.java

2005-04-18 Thread Remy Maucherat
Keith Wannamaker wrote:
Pragma has never been sent out on a secure connection until recently 
(rev 1.13)  This is brand new behavior and it causes problems with IE 
under SSL.  At the time you even said you'd be willing to roll it back.
Coincidentally, it was sufficiently long ago that I actually forgot 
about it. I would characterize this as recently, however, as given the 
version in which it went in, it's in all the stable 5.0.x and 5.5.x builds.

 I'd be happy to leave cache-control to no-cache, it is the Pragma that 
is killing us.  Are you aware of a client that depends solely on Pragma 
for cache instruction?  I would argue that being unable to serve pages 
to IE under SSL is more significant than a caching problem in a client 
that doesn't understand cache-control.
I read:
// FIXME: Disabled for Mozilla FORM support over SSL
// (improper caching issue)
Indeed (I now remember the issue), there would be serious issues should 
this not be the default.

Now, I think you are misrepresenting the IE issue, and it's not such a 
big issue. I am perfectly fine with adding new configurability and 
documenting it properly, but defaults should lean towards the safer 
solution.

BTW, I really don't see any problem with not using the defaults, and 
actually configuring something. Is that really a big issue for you and 
the people who reported this problem ? For example, in JBoss, I use a 
different default configuration and I don't make a big issue out of it.

Rémy
-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]


DO NOT REPLY [Bug 34509] New: - tag names that are xml:Name but not java identifier are not accepted

2005-04-18 Thread bugzilla
DO NOT REPLY TO THIS EMAIL, BUT PLEASE POST YOUR BUG·
RELATED COMMENTS THROUGH THE WEB INTERFACE AVAILABLE AT
http://issues.apache.org/bugzilla/show_bug.cgi?id=34509.
ANY REPLY MADE TO THIS MESSAGE WILL NOT BE COLLECTED AND·
INSERTED IN THE BUG DATABASE.

http://issues.apache.org/bugzilla/show_bug.cgi?id=34509

   Summary: tag names that are xml:Name but not java identifier are
not accepted
   Product: Tomcat 5
   Version: 5.5.8
  Platform: PC
OS/Version: Windows XP
Status: NEW
  Severity: normal
  Priority: P3
 Component: Jasper
AssignedTo: tomcat-dev@jakarta.apache.org
ReportedBy: [EMAIL PROTECTED]


According to the JSP 2.0 specification, custom tag prefix and name should be 
of the type XML:Name. However, for Tomcat 5.5.8, if the name is not a legal 
java identifier, then a compilation error occurs. For instance, Tomcat won't 
accept Da~te`T#ag as a legal name for the Tag.

-- 
Configure bugmail: http://issues.apache.org/bugzilla/userprefs.cgi?tab=email
--- You are receiving this mail because: ---
You are the assignee for the bug, or are watching the assignee.

-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



cvs commit: jakarta-tomcat-catalina/webapps/manager/WEB-INF/classes/org/apache/catalina/manager StatusManagerServlet.java StatusTransformer.java

2005-04-18 Thread remm
remm2005/04/18 15:50:24

  Modified:webapps/manager/WEB-INF/classes/org/apache/catalina/manager
StatusManagerServlet.java StatusTransformer.java
  Log:
  - Add some OS level stats if APR is available. Swallow silently if APR is not 
available.
  
  Revision  ChangesPath
  1.16  +4 -1  
jakarta-tomcat-catalina/webapps/manager/WEB-INF/classes/org/apache/catalina/manager/StatusManagerServlet.java
  
  Index: StatusManagerServlet.java
  ===
  RCS file: 
/home/cvs/jakarta-tomcat-catalina/webapps/manager/WEB-INF/classes/org/apache/catalina/manager/StatusManagerServlet.java,v
  retrieving revision 1.15
  retrieving revision 1.16
  diff -u -r1.15 -r1.16
  --- StatusManagerServlet.java 23 Sep 2004 07:03:27 -  1.15
  +++ StatusManagerServlet.java 18 Apr 2005 22:50:24 -  1.16
  @@ -276,6 +276,9 @@
   
   try {
   
  +// Display operating system statistics using APR if available
  +StatusTransformer.writeOSState(writer,mode);
  +
   // Display virtual machine statistics
   StatusTransformer.writeVMState(writer,mode);
   
  
  
  
  1.26  +52 -2 
jakarta-tomcat-catalina/webapps/manager/WEB-INF/classes/org/apache/catalina/manager/StatusTransformer.java
  
  Index: StatusTransformer.java
  ===
  RCS file: 
/home/cvs/jakarta-tomcat-catalina/webapps/manager/WEB-INF/classes/org/apache/catalina/manager/StatusTransformer.java,v
  retrieving revision 1.25
  retrieving revision 1.26
  diff -u -r1.25 -r1.26
  --- StatusTransformer.java14 Apr 2005 23:32:54 -  1.25
  +++ StatusTransformer.java18 Apr 2005 22:50:24 -  1.26
  @@ -18,6 +18,7 @@
   package org.apache.catalina.manager;
   
   import java.io.PrintWriter;
  +import java.lang.reflect.Method;
   import java.text.MessageFormat;
   import java.util.Date;
   import java.util.Enumeration;
  @@ -142,6 +143,55 @@
   
   
   /**
  + * Write the OS state. Mode 0 will generate HTML.
  + * Mode 1 will generate XML.
  + */
  +public static void writeOSState(PrintWriter writer, int mode) {
  +long[] result = new long[14];
  +boolean ok = false;
  +try {
  +String methodName = info;
  +Class paramTypes[] = new Class[1];
  +paramTypes[0] = result.getClass();
  +Object paramValues[] = new Object[1];
  +paramValues[0] = result;
  +Method method = Class.forName(org.apache.tomcat.jni.OS)
  +.getMethod(methodName, paramTypes);
  +method.invoke(null, paramValues);
  +ok = true;
  +} catch (Throwable t) {
  +// Ignore
  +}
  +
  +if (ok) {
  +if (mode == 0){
  +writer.print(h1OS/h1);
  +
  +writer.print(p);
  +writer.print( Physical memory: );
  +writer.print(formatSize(new Long(result[0]), true));
  +writer.print( Available memory: );
  +writer.print(formatSize(new Long(result[1]), true));
  +writer.print( Total page file: );
  +writer.print(formatSize(new Long(result[2]), true));
  +writer.print( Free page file: );
  +writer.print(formatSize(new Long(result[3]), true));
  +writer.print( Memory load: );
  +writer.print(new Long(result[4]));
  +writer.print(br);
  +writer.print( Process kernel time: );
  +writer.print(formatTime(new Long(result[9] / 1000), true));
  +writer.print( Process user time: );
  +writer.print(formatTime(new Long(result[10] / 1000), true));
  +writer.print(/p);
  +} else if (mode == 1){
  +}
  +}
  +
  +}
  +
  +
  +/**
* Write the VM state. Mode 0 will generate HTML.
* Mode 1 will generate XML.
*/
  @@ -853,7 +903,7 @@
   }
   
   if (seconds) {
  -return ((time / 1000) +  s);
  +return float) time ) / 1000) +  s);
   } else {
   return (time +  ms);
   }
  
  
  

-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



Re: cvs commit: jakarta-tomcat-catalina/catalina/src/share/org/apache/catalina/authenticator AuthenticatorBase.java

2005-04-18 Thread Keith Wannamaker
I read:
// FIXME: Disabled for Mozilla FORM support over SSL
// (improper caching issue)
Indeed (I now remember the issue), there would be serious issues should 
this not be the default.
The issue here is, apparently, that Mozilla has a caching bug we are 
working around, so we have to disable caching.  However, I don't know 
that the broken Mozilla agent requires the Pragma header to do this.

Now, I think you are misrepresenting the IE issue, and it's not such a 
big issue. 
Here is a test war for you and those interested,
http://apache.org/~keith/ietest.war.  If you deploy this you will see 
that you cannot download the one file in the webapp with IE with head of 
tree.  If you comment out the pragma header in AuthenticatorBase, it 
works fine.

Despite your renaming, I want to emphasize that I am not talking about 
the cache-control header, and am fine with it being either private or 
no-cache.

I am perfectly fine with adding new configurability and 
documenting it properly, but defaults should lean towards the safer 
solution.
I disagree, defaults should be friendly to the largest client base.
BTW, I really don't see any problem with not using the defaults, and 
actually configuring something. Is that really a big issue for you and 
the people who reported this problem ? For example, in JBoss, I use a 
different default configuration and I don't make a big issue out of it.
I think Tomcat should work with IE under SSL, and yes, I think it is a 
big issue that Tomcat doesn't, out of the box.

Keith
-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]