cvs commit: jakarta-tomcat-connectors/ajp/proxy mod_proxy.h

2004-08-09 Thread mturk
mturk   2004/08/09 01:04:11

  Modified:ajp/proxy mod_proxy.h
  Log:
  Added route and route redirect to the runtime worker.
  
  Revision  ChangesPath
  1.26  +5 -2  jakarta-tomcat-connectors/ajp/proxy/mod_proxy.h
  
  Index: mod_proxy.h
  ===
  RCS file: /home/cvs/jakarta-tomcat-connectors/ajp/proxy/mod_proxy.h,v
  retrieving revision 1.25
  retrieving revision 1.26
  diff -u -r1.25 -r1.26
  --- mod_proxy.h   6 Aug 2004 11:41:40 -   1.25
  +++ mod_proxy.h   9 Aug 2004 08:04:11 -   1.26
  @@ -209,6 +209,7 @@
   #if APR_HAS_THREADS
   apr_reslist_t  *res;/* Connection resource list */
   #endif
  +intnfree;   /* Balancer free count number */
   proxy_conn_rec *conn;   /* Single connection for prefork mpm's */
   };
   
  @@ -250,6 +251,8 @@
   double  lbsatus;/* Current lbstatus */
   apr_size_t  transfered; /* Number of bytes transfered to remote */
   apr_size_t  readed; /* Number of bytes readed from remote */
  +const char  *route;
  +const char  *redirect;
   } proxy_runtime_worker;
   
   struct proxy_balancer {
  @@ -311,7 +314,7 @@
*
*/
   APR_DECLARE_EXTERNAL_HOOK(proxy, PROXY, int, pre_request, (proxy_worker **worker,
  -  struct proxy_balancer **balancer,
  +  proxy_balancer **balancer,
 request_rec *r,
 proxy_server_conf *conf, char **url)) 
 
   /**
  @@ -319,7 +322,7 @@
* It is called after request for updating runtime balancer status.
*/
   APR_DECLARE_EXTERNAL_HOOK(proxy, PROXY, int, post_request, (proxy_worker *worker,
  -  struct proxy_balancer *balancer, request_rec *r,
  +  proxy_balancer *balancer, request_rec *r,
 proxy_server_conf *conf))
   
   
  
  
  

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



cvs commit: jakarta-tomcat-connectors/ajp/proxy mod_proxy.c

2004-08-09 Thread mturk
mturk   2004/08/09 01:04:55

  Modified:ajp/proxy mod_proxy.c
  Log:
  Fix some config checking params.
  
  Revision  ChangesPath
  1.30  +9 -9  jakarta-tomcat-connectors/ajp/proxy/mod_proxy.c
  
  Index: mod_proxy.c
  ===
  RCS file: /home/cvs/jakarta-tomcat-connectors/ajp/proxy/mod_proxy.c,v
  retrieving revision 1.29
  retrieving revision 1.30
  diff -u -r1.29 -r1.30
  --- mod_proxy.c   6 Aug 2004 11:42:39 -   1.29
  +++ mod_proxy.c   9 Aug 2004 08:04:55 -   1.30
  @@ -856,7 +856,7 @@
   char *val = strchr(word, '=');
   if (!val) {
   if (cmd->path)
  -return "Invalid ProxyPass parameter. Paramet must be in the 
form key=value";
  +return "Invalid ProxyPass parameter. Paramet must be in the 
form 'key=value'";
   else
   return "ProxyPass can not have a path when defined in a 
location"; 
   }
  @@ -883,12 +883,12 @@
   cmd->pool,
   conf, r);
   if (err)
  -return apr_pstrcat(cmd->temp_pool, "BalancerMember: ", err, NULL);
  +return apr_pstrcat(cmd->temp_pool, "ProxyPass ", err, NULL);
   }
   for (i = 0; i < arr->nelts; i++) {
   const char *err = set_balancer_param(balancer, elts[i].key, 
elts[i].val);
   if (err)
  -return apr_pstrcat(cmd->temp_pool, "ProxyPass: ", err, NULL);
  +return apr_pstrcat(cmd->temp_pool, "ProxyPass ", err, NULL);
   }
   }
   else {
  @@ -896,14 +896,14 @@
   if (!worker) {
   const char *err = ap_proxy_add_worker(&worker, cmd->pool, conf, r);
   if (err)
  -return apr_pstrcat(cmd->temp_pool, "ProxyPass: ", err, NULL);
  +return apr_pstrcat(cmd->temp_pool, "ProxyPass ", err, NULL);
   }
   PROXY_COPY_CONF_PARAMS(worker, conf);
   
   for (i = 0; i < arr->nelts; i++) {
   const char *err = set_worker_param(worker, elts[i].key, elts[i].val);
   if (err)
  -return apr_pstrcat(cmd->temp_pool, "ProxyPass: ", err, NULL);
  +return apr_pstrcat(cmd->temp_pool, "ProxyPass ", err, NULL);
   }
   }
   return NULL;
  @@ -1249,7 +1249,7 @@
   if (cmd->path)
   return "BalancerMember can not have a balancer name when 
defined in a location";
   else
  -return "Invalid BalancerMember parameter. Paramet must be in 
the form key=value";
  +return "Invalid BalancerMember parameter. Paramet must be in 
the form 'key=value'";
   else
   *val++ = '\0';
   apr_table_setn(params, word, val);
  @@ -1268,7 +1268,7 @@
   if (!worker) {
   const char *err;
   if ((err = ap_proxy_add_worker(&worker, cmd->pool, conf, name)) != NULL)
  -return apr_pstrcat(cmd->temp_pool, "BalancerMember: ", err, NULL); 
  +return apr_pstrcat(cmd->temp_pool, "BalancerMember ", err, NULL); 
   }
   PROXY_COPY_CONF_PARAMS(worker, conf);
   
  @@ -1277,7 +1277,7 @@
   for (i = 0; i < arr->nelts; i++) {
   const char *err = set_worker_param(worker, elts[i].key, elts[i].val);
   if (err)
  -return apr_pstrcat(cmd->temp_pool, "BalancerMember: ", err, NULL);
  +return apr_pstrcat(cmd->temp_pool, "BalancerMember ", err, NULL);
   }
   /* Try to find the balancer */
   balancer = ap_proxy_get_balancer(cmd->temp_pool, conf, name); 
  @@ -1286,7 +1286,7 @@
   cmd->pool,
   conf, path);
   if (err)
  -return apr_pstrcat(cmd->temp_pool, "BalancerMember: ", err, NULL);
  +return apr_pstrcat(cmd->temp_pool, "BalancerMember ", err, NULL);
   }
   /* Add the worker to the load balancer */
   ap_proxy_add_worker_to_balancer(balancer, worker);
  
  
  

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



cvs commit: jakarta-tomcat-connectors/ajp/proxy proxy_ajp.c

2004-08-09 Thread mturk
mturk   2004/08/09 01:05:15

  Modified:ajp/proxy proxy_ajp.c
  Log:
  Remove setting module config.
  
  Revision  ChangesPath
  1.14  +2 -0  jakarta-tomcat-connectors/ajp/proxy/proxy_ajp.c
  
  Index: proxy_ajp.c
  ===
  RCS file: /home/cvs/jakarta-tomcat-connectors/ajp/proxy/proxy_ajp.c,v
  retrieving revision 1.13
  retrieving revision 1.14
  diff -u -r1.13 -r1.14
  --- proxy_ajp.c   6 Aug 2004 17:41:25 -   1.13
  +++ proxy_ajp.c   9 Aug 2004 08:05:15 -   1.14
  @@ -350,9 +350,11 @@
   }
   return status;
   }
  +#if 0
   if (!r->main) {
   ap_set_module_config(c->conn_config, &proxy_ajp_module, backend);
   }
  +#endif
   }
   
   backend->is_ssl = 0;
  
  
  

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



cvs commit: jakarta-tomcat-connectors/ajp/proxy config.m4

2004-08-09 Thread mturk
mturk   2004/08/09 01:05:31

  Modified:ajp/proxy config.m4
  Log:
  Add proxy_balancer to build
  
  Revision  ChangesPath
  1.3   +3 -0  jakarta-tomcat-connectors/ajp/proxy/config.m4
  
  Index: config.m4
  ===
  RCS file: /home/cvs/jakarta-tomcat-connectors/ajp/proxy/config.m4,v
  retrieving revision 1.2
  retrieving revision 1.3
  diff -u -r1.2 -r1.3
  --- config.m4 3 Aug 2004 10:18:28 -   1.2
  +++ config.m4 9 Aug 2004 08:05:31 -   1.3
  @@ -17,6 +17,7 @@
   proxy_ftp_objs="proxy_ftp.lo"
   proxy_http_objs="proxy_http.lo"
   proxy_ajp_objs="proxy_ajp.lo ajp_header.lo ajp_link.lo ajp_msg.lo"
  +proxy_balancer_objs="proxy_balancer.lo"
   
   case "$host" in
 *os2*)
  @@ -25,12 +26,14 @@
   proxy_connect_objs="$proxy_connect_objs mod_proxy.la"
   proxy_ftp_objs="$proxy_ftp_objs mod_proxy.la"
   proxy_http_objs="$proxy_http_objs mod_proxy.la"
  +proxy_balancer_objs="$proxy_balancer_objs mod_proxy.la"
   ;;
   esac
   
   APACHE_MODULE(proxy_connect, Apache proxy CONNECT module, $proxy_connect_objs, , 
$proxy_mods_enable)
   APACHE_MODULE(proxy_ftp, Apache proxy FTP module, $proxy_ftp_objs, , 
$proxy_mods_enable)
   APACHE_MODULE(proxy_http, Apache proxy HTTP module, $proxy_http_objs, , 
$proxy_mods_enable)
  +APACHE_MODULE(proxy_balancer, Apache proxy BALANCER module, $proxy_balancer_objs, , 
$proxy_mods_enable)
   APR_ADDTO(INCLUDES, [-I./ajp])
   APACHE_MODULE(proxy_ajp, Apache proxy AJP module, $proxy_ajp_objs, , 
$proxy_mods_enable)
   APACHE_MODPATH_FINISH
  
  
  

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



cvs commit: jakarta-tomcat-connectors/ajp/proxy mod_proxy_balancer.dsp

2004-08-09 Thread mturk
mturk   2004/08/09 01:06:11

  Added:   ajp/proxy mod_proxy_balancer.dsp
  Log:
  Add proxy_balancer build project
  
  Revision  ChangesPath
  1.1  jakarta-tomcat-connectors/ajp/proxy/mod_proxy_balancer.dsp
  
  Index: mod_proxy_balancer.dsp
  ===
  # Microsoft Developer Studio Project File - Name="mod_proxy_balancer" - Package 
Owner=<4>
  # Microsoft Developer Studio Generated Build File, Format Version 6.00
  # ** DO NOT EDIT **
  
  # TARGTYPE "Win32 (x86) Dynamic-Link Library" 0x0102
  
  CFG=mod_proxy_balancer - Win32 Release
  !MESSAGE This is not a valid makefile. To build this project using NMAKE,
  !MESSAGE use the Export Makefile command and run
  !MESSAGE 
  !MESSAGE NMAKE /f "mod_proxy_balancer.mak".
  !MESSAGE 
  !MESSAGE You can specify a configuration when running NMAKE
  !MESSAGE by defining the macro CFG on the command line. For example:
  !MESSAGE 
  !MESSAGE NMAKE /f "mod_proxy_balancer.mak" CFG="mod_proxy_balancer - Win32 Release"
  !MESSAGE 
  !MESSAGE Possible choices for configuration are:
  !MESSAGE 
  !MESSAGE "mod_proxy_balancer - Win32 Release" (based on "Win32 (x86) Dynamic-Link 
Library")
  !MESSAGE "mod_proxy_balancer - Win32 Debug" (based on "Win32 (x86) Dynamic-Link 
Library")
  !MESSAGE 
  
  # Begin Project
  # PROP AllowPerConfigDependencies 0
  # PROP Scc_ProjName ""
  # PROP Scc_LocalPath ""
  CPP=cl.exe
  MTL=midl.exe
  RSC=rc.exe
  
  !IF  "$(CFG)" == "mod_proxy_balancer - Win32 Release"
  
  # PROP BASE Use_MFC 0
  # PROP BASE Use_Debug_Libraries 0
  # PROP BASE Output_Dir "Release"
  # PROP BASE Intermediate_Dir "Release"
  # PROP BASE Target_Dir ""
  # PROP Use_MFC 0
  # PROP Use_Debug_Libraries 0
  # PROP Output_Dir "Release"
  # PROP Intermediate_Dir "Release"
  # PROP Ignore_Export_Lib 0
  # PROP Target_Dir ""
  # ADD BASE CPP /nologo /MD /W3 /O2 /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /FD /c
  # ADD CPP /nologo /MD /W3 /Zi /O2 /I "../../include" /I "../../srclib/apr/include" 
/I "../../srclib/apr-util/include" /D "NDEBUG" /D "WIN32" /D "_WINDOWS" 
/Fd"Release\mod_proxy_balancer_src" /FD /c
  # ADD BASE MTL /nologo /D "NDEBUG" /win32
  # ADD MTL /nologo /D "NDEBUG" /mktyplib203 /win32
  # ADD BASE RSC /l 0x809 /d "NDEBUG"
  # ADD RSC /l 0x809 /d "NDEBUG"
  BSC32=bscmake.exe
  # ADD BASE BSC32 /nologo
  # ADD BSC32 /nologo
  LINK32=link.exe
  # ADD BASE LINK32 kernel32.lib ws2_32.lib mswsock.lib /nologo /subsystem:windows 
/dll /machine:I386 /out:"Release/mod_proxy_balancer.so" 
/base:@..\..\os\win32\BaseAddr.ref,mod_proxy_balancer.so
  # ADD LINK32 kernel32.lib ws2_32.lib mswsock.lib /nologo /subsystem:windows /dll 
/incremental:no /debug /machine:I386 /out:"Release/mod_proxy_balancer.so" 
/base:@..\..\os\win32\BaseAddr.ref,mod_proxy_balancer.so /opt:ref
  
  !ELSEIF  "$(CFG)" == "mod_proxy_balancer - Win32 Debug"
  
  # PROP BASE Use_MFC 0
  # PROP BASE Use_Debug_Libraries 1
  # PROP BASE Output_Dir "Debug"
  # PROP BASE Intermediate_Dir "Debug"
  # PROP BASE Target_Dir ""
  # PROP Use_MFC 0
  # PROP Use_Debug_Libraries 1
  # PROP Output_Dir "Debug"
  # PROP Intermediate_Dir "Debug"
  # PROP Ignore_Export_Lib 0
  # PROP Target_Dir ""
  # ADD BASE CPP /nologo /MDd /W3 /GX /Zi /Od /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /FD 
/c
  # ADD CPP /nologo /MDd /W3 /GX /Zi /Od /I "../../include" /I 
"../../srclib/apr/include" /I "../../srclib/apr-util/include" /D "_DEBUG" /D "WIN32" 
/D "_WINDOWS" /Fd"Debug\mod_proxy_balancer_src" /FD /c
  # ADD BASE MTL /nologo /D "_DEBUG" /win32
  # ADD MTL /nologo /D "_DEBUG" /mktyplib203 /win32
  # ADD BASE RSC /l 0x809 /d "_DEBUG"
  # ADD RSC /l 0x809 /d "_DEBUG"
  BSC32=bscmake.exe
  # ADD BASE BSC32 /nologo
  # ADD BSC32 /nologo
  LINK32=link.exe
  # ADD BASE LINK32 kernel32.lib ws2_32.lib mswsock.lib /nologo /subsystem:windows 
/dll /incremental:no /debug /machine:I386 /out:"Debug/mod_proxy_balancer.so" 
/base:@..\..\os\win32\BaseAddr.ref,mod_proxy_balancer.so
  # ADD LINK32 kernel32.lib ws2_32.lib mswsock.lib /nologo /subsystem:windows /dll 
/incremental:no /debug /machine:I386 /out:"Debug/mod_proxy_balancer.so" 
/base:@..\..\os\win32\BaseAddr.ref,mod_proxy_balancer.so
  
  !ENDIF 
  
  # Begin Target
  
  # Name "mod_proxy_balancer - Win32 Release"
  # Name "mod_proxy_balancer - Win32 Debug"
  # Begin Group "Source Files"
  
  # PROP Default_Filter "cpp;c;cxx;rc;def;r;odl;hpj;bat;for;f90"
  # Begin Source File
  
  SOURCE=.\proxy_balancer.c
  # End Source File
  # End Group
  # Begin Group "Header Files"
  
  # PROP Default_Filter ".h"
  # Begin Source File
  
  SOURCE=.\mod_proxy.h
  # End Source File
  # End Group
  # Begin Source File
  
  SOURCE=..\..\build\win32\win32ver.awk
  
  !IF  "$(CFG)" == "mod_proxy_balancer - Win32 Release"
  
  # PROP Ignore_Default_Tool 1
  # Begin Custom Build - Creating Version Resource
  InputPath=..\..\build\win32\win32ver.awk
  
  ".\mod_proxy_balancer.rc" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
awk -

cvs commit: jakarta-tomcat-connectors/ajp/proxy proxy_balancer.c

2004-08-09 Thread mturk
mturk   2004/08/09 01:06:40

  Added:   ajp/proxy proxy_balancer.c
  Log:
  Add proxy_balancer initial code.
  
  Revision  ChangesPath
  1.1  jakarta-tomcat-connectors/ajp/proxy/proxy_balancer.c
  
  Index: proxy_balancer.c
  ===
  /* 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.
   */
  
  /* Load balancer module for Apache proxy */
  
  #define CORE_PRIVATE
  
  #include "mod_proxy.h"
  #include "ap_mpm.h"
  #include "apr_version.h"
  
  module AP_MODULE_DECLARE_DATA proxy_balancer_module;
  
  #if APR_HAS_THREADS1
  #define PROXY_BALANCER_LOCK(b)  apr_thread_mutex_lock((b)->mutex)
  #define PROXY_BALANCER_UNLOCK(b)apr_thread_mutex_unlock((b)->mutex)
  #else
  #define PROXY_BALANCER_LOCK(b)  APR_SUCCESS
  #define PROXY_BALANCER_UNLOCK(b)APR_SUCCESS
  #endif
  
  /* Retrieve the parameter with the given name*/
  static char *get_path_param(apr_pool_t *pool, char *url,
  const char *name)
  {
  char *path = NULL;
  
  for (path = strstr(url, name); path; path = strstr(path + 1, name)) {
  path += (strlen(name) + 1);
  if (*path == '=') {
  /*
   * Session path was found, get it's value
   */
  ++path;
  if (strlen(path)) {
  char *q;
  path = apr_pstrdup(pool, path);
  if ((q = strchr(path, '?')))
  *q = '\0';
  return path;
  }
  }
  }
  return NULL;
  }
  
  static char *get_cookie_param(request_rec *r, const char *name)
  {
  const char *cookies;
  const char *start_cookie;
  
  if ((cookies = apr_table_get(r->headers_in, "Cookie"))) {
  for (start_cookie = strstr(cookies, name); start_cookie; 
   start_cookie = strstr(start_cookie + 1, name)) {
  if (start_cookie == cookies ||
  start_cookie[-1] == ';' ||
  start_cookie[-1] == ',' ||
  isspace(start_cookie[-1])) {
  
  start_cookie += strlen(name);
  while(*start_cookie && isspace(*start_cookie))
  ++start_cookie;
  if (*start_cookie == '=' && start_cookie[1]) {
  /*
   * Session cookie was found, get it's value
   */
  char *end_cookie, *cookie;
  ++start_cookie;
  cookie = apr_pstrdup(r->pool, start_cookie);
  if ((end_cookie = strchr(cookie, ';')) != NULL)
  *end_cookie = '\0';
  if((end_cookie = strchr(cookie, ',')) != NULL)
  *end_cookie = '\0';
  return cookie;
  }
  }
  } 
  }
  return NULL;
  }
  
  static proxy_runtime_worker *find_route_worker(proxy_balancer *balancer,
 const char *route)
  {
  int i;
  proxy_runtime_worker *worker = (proxy_runtime_worker *)balancer->workers->elts;
  for (i = 0; i < balancer->workers->nelts; i++) {
  if (worker->route && strcmp(worker->route, route) == 0) {
  return worker;
  }
  worker++;
  }
  return NULL;
  }
  
  static proxy_runtime_worker *find_session_route(proxy_balancer *balancer,
  request_rec *r,
  char **route,
  char **url)
  {
  if (!balancer->sticky)
  return NULL;
  /* Try to find the sticky route inside url */
  *route = get_path_param(r->pool, *url, balancer->sticky);
  if (!*route)
  *route = get_cookie_param(r, balancer->sticky);
  if (*route) {
  proxy_runtime_worker *worker =  find_route_worker(balancer, *route);
  /* TODO: make worker status codes */
  /* See if we have a redirection route */
  if (worker && worker->w->status < 2 && worker->redirect)
  worker = find_route_worker(balancer, worker->redirect);
  else
  worker = NULL;
  return worker;
  }
 

DO NOT REPLY [Bug 30532] New: - When I send a form for to pass of http to https with IE 5.x.

2004-08-09 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://issues.apache.org/bugzilla/show_bug.cgi?id=30532

When I send a form for to pass of http to https with IE 5.x.

   Summary: When I send a form for to pass of http to https with IE
5.x.
   Product: Tomcat 5
   Version: 5.0.27
  Platform: PC
OS/Version: Windows NT/2K
Status: NEW
  Severity: Critical
  Priority: Other
 Component: Catalina
AssignedTo: [EMAIL PROTECTED]
ReportedBy: [EMAIL PROTECTED]


I have installed apache 1.3.27 and Tomcat 5.0.27 and they use jk1.2.5 for 
communication. When I am in http all work fine, but when I pass of http to 
https in Internet Explorer 5.x the fields(user, password)of my form arrive 
empty to Tomcat server. If I try again without close the navegator(send again 
the form), I pass of http to https correctly.

Thank you very much.

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



DO NOT REPLY [Bug 30533] New: - search dtd with system location in CATALINA_BASE/bin

2004-08-09 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://issues.apache.org/bugzilla/show_bug.cgi?id=30533

search dtd with system location in CATALINA_BASE/bin

   Summary: search dtd with system location in CATALINA_BASE/bin
   Product: Tomcat 5
   Version: 5.0.26
  Platform: PC
   URL: http://www.eurotours.at
OS/Version: Windows NT/2K
Status: NEW
  Severity: Normal
  Priority: Other
 Component: Unknown
AssignedTo: [EMAIL PROTECTED]
ReportedBy: [EMAIL PROTECTED]


I have a web-app where I use some XML files with DTD for setting some
configurations. The XML look like:




  


If I run the app I get:

java.io.FileNotFoundException: 
D:\jakarta-tomcat\bin\Request.dtd (Das System kann die angegebene Datei nicht
finden)
at java.io.FileInputStream.open(Native Method)
at java.io.FileInputStream.(FileInputStream.java:106)
at java.io.FileInputStream.(FileInputStream.java:66)
at
sun.net.www.protocol.file.FileURLConnection.connect(FileURLConnection.java:69)
at
sun.net.www.protocol.file.FileURLConnection.getInputStream(FileURLConnection.java:156)
at org.apache.xerces.impl.XMLEntityManager.setupCurrentEntity(Unknown
Source)
at org.apache.xerces.impl.XMLEntityManager.startEntity(Unknown Source)
at org.apache.xerces.impl.XMLEntityManager.startDTDEntity(Unknown Source)
at org.apache.xerces.impl.XMLDTDScannerImpl.setInputSource(Unknown Source)
at
org.apache.xerces.impl.XMLDocumentScannerImpl$DTDDispatcher.dispatch(Unknown Source)
at
org.apache.xerces.impl.XMLDocumentFragmentScannerImpl.scanDocument(Unknown Source)
at org.apache.xerces.parsers.XML11Configuration.parse(Unknown Source)
at org.apache.xerces.parsers.XML11Configuration.parse(Unknown Source)
at org.apache.xerces.parsers.XMLParser.parse(Unknown Source)
at org.apache.xerces.parsers.AbstractSAXParser.parse(Unknown Source)
at javax.xml.parsers.SAXParser.parse(Unknown Source)

I don't belief that the bin path from catalina_home is the right location for
this kind of system DTD without any path in it. I expect the same path as the
xml document.

System:

WinNt 6a
JDK: 1.4.2-b28, mixed mode
Tomcat: 5.0.25

regards Dietmar

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



DO NOT REPLY [Bug 30535] New: - Servlet mapping fails when url includes semicolon

2004-08-09 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://issues.apache.org/bugzilla/show_bug.cgi?id=30535

Servlet mapping fails when url includes semicolon

   Summary: Servlet mapping fails when url includes semicolon
   Product: Tomcat 5
   Version: 5.0.19
  Platform: PC
OS/Version: Other
Status: NEW
  Severity: Normal
  Priority: Other
 Component: Catalina
AssignedTo: [EMAIL PROTECTED]
ReportedBy: [EMAIL PROTECTED]


When servlet mapping includes *.txt and the input url looks like:
http://server:port/app/aaa/bbb/cc%3Bcc/dd%3Bdd/some.txt the Tomcat returns
a status of 404 (Not Found).

It looks that the path is terminated when semicolon (%3B) is meet, and no 
matching occur.

This problem is new to Tomcat 5 as it has been no problems in Tomcat 4 
environments using similar url formats.

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



DO NOT REPLY [Bug 30537] New: - Tomcat 5.0.25 does not support JMX 1.2

2004-08-09 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://issues.apache.org/bugzilla/show_bug.cgi?id=30537

Tomcat 5.0.25 does not support JMX 1.2

   Summary: Tomcat 5.0.25 does not support JMX 1.2
   Product: Tomcat 5
   Version: 5.0.25
  Platform: All
OS/Version: All
Status: NEW
  Severity: Major
  Priority: Other
 Component: Unknown
AssignedTo: [EMAIL PROTECTED]
ReportedBy: [EMAIL PROTECTED]


The jmx.jar located in %CATALINA_HOME%/bin does not implement the JMX 1.2 
specification. MBeanServer interface does not support 'getClassLoader()' 
or 'getClassLoaderRepository()'.

-
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/connector Request.java

2004-08-09 Thread Remy Maucherat
Bill Barker wrote:
- Original Message - 
From: <[EMAIL PROTECTED]>
To: <[EMAIL PROTECTED]>
Sent: Thursday, August 05, 2004 6:27 PM
Subject: cvs commit:
jakarta-tomcat-catalina/catalina/src/share/org/apache/catalina/connector
Request.java

 

luehe   2004/08/05 18:27:50
 Modified:catalina/src/share/org/apache/catalina/connector
   Request.java
 Log:
 Avoid allocating SimpleDateFormat[] for each request. Instead, declare
   

SimpleDateFormat[] as static and use static initializer to initialize it.
 

-1.  SimpleDateFormat isn't thread-safe, so you can't have multiple threads
accessing them.  That's why they were instance variables, so that one one
thread would ever be accessing them.
 

 This is consistent with SimpleDateFormat[] in
   

org.apache.tomcat.util.http.FastHttpDateFormat.
Which is well known to be broken ;-).
 

There's a misunderstanding about the design (I don't think 
FastHttpDateFormat is that broken anyway ;) ). The formats passed in 
argument has to be thread local, and FHDF won't sync.

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


DO NOT REPLY [Bug 30537] - Tomcat 5.0.25 does not support JMX 1.2

2004-08-09 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://issues.apache.org/bugzilla/show_bug.cgi?id=30537

Tomcat 5.0.25 does not support JMX 1.2

[EMAIL PROTECTED] changed:

   What|Removed |Added

 Status|NEW |RESOLVED
 Resolution||INVALID



--- Additional Comments From [EMAIL PROTECTED]  2004-08-09 09:44 ---
Use another JMX implementation then.

-
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/connector Request.java

2004-08-09 Thread jari . auvinen
REMOVE MY NAME FROM THIS MAILING LIST IMMEDIATELY 
!
DO YOU NOT HAVE ANY CONTROL OF YOUR MAILING LISTS ???




Remy Maucherat <[EMAIL PROTECTED]> 
09.08.2004 12:42
Please respond to
"Tomcat Developers List" <[EMAIL PROTECTED]>


To
Tomcat Developers List <[EMAIL PROTECTED]>
cc

Subject
Re: cvs commit: 
jakarta-tomcat-catalina/catalina/src/share/org/apache/catalina/connector 
Request.java






Bill Barker wrote:

>- Original Message - 
>From: <[EMAIL PROTECTED]>
>To: <[EMAIL PROTECTED]>
>Sent: Thursday, August 05, 2004 6:27 PM
>Subject: cvs commit:
>jakarta-tomcat-catalina/catalina/src/share/org/apache/catalina/connector
>Request.java
>
>
> 
>
>>luehe   2004/08/05 18:27:50
>>
>>  Modified:catalina/src/share/org/apache/catalina/connector
>>Request.java
>>  Log:
>>  Avoid allocating SimpleDateFormat[] for each request. Instead, declare
>> 
>>
>SimpleDateFormat[] as static and use static initializer to initialize it.
> 
>
>
>-1.  SimpleDateFormat isn't thread-safe, so you can't have multiple 
threads
>accessing them.  That's why they were instance variables, so that one one
>thread would ever be accessing them.
>
> 
>
>>  This is consistent with SimpleDateFormat[] in
>> 
>>
>org.apache.tomcat.util.http.FastHttpDateFormat.
>
>Which is well known to be broken ;-).
> 
>
There's a misunderstanding about the design (I don't think 
FastHttpDateFormat is that broken anyway ;) ). The formats passed in 
argument has to be thread local, and FHDF won't sync.

So -1 too.

Rémy


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




cvs commit: jakarta-tomcat-connectors/ajp/proxy mod_proxy.h

2004-08-09 Thread mturk
mturk   2004/08/09 02:54:07

  Modified:ajp/proxy mod_proxy.h
  Log:
  Fix structure element typo.
  
  Revision  ChangesPath
  1.27  +1 -1  jakarta-tomcat-connectors/ajp/proxy/mod_proxy.h
  
  Index: mod_proxy.h
  ===
  RCS file: /home/cvs/jakarta-tomcat-connectors/ajp/proxy/mod_proxy.h,v
  retrieving revision 1.26
  retrieving revision 1.27
  diff -u -r1.26 -r1.27
  --- mod_proxy.h   9 Aug 2004 08:04:11 -   1.26
  +++ mod_proxy.h   9 Aug 2004 09:54:07 -   1.27
  @@ -248,7 +248,7 @@
   proxy_balancer  *b; /* balancer containing this worker */
   proxy_worker*w;
   double  lbfactor;   /* dynamic lbfactor */
  -double  lbsatus;/* Current lbstatus */
  +double  lbstatus;   /* Current lbstatus */
   apr_size_t  transfered; /* Number of bytes transfered to remote */
   apr_size_t  readed; /* Number of bytes readed from remote */
   const char  *route;
  
  
  

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



cvs commit: jakarta-tomcat-connectors/ajp/proxy proxy_balancer.c

2004-08-09 Thread mturk
mturk   2004/08/09 02:55:47

  Modified:ajp/proxy proxy_balancer.c
  Log:
  Add finding of a most suitable worker.
  The implemeted algo is round-robin with boost factor.
  
  Revision  ChangesPath
  1.2   +120 -2jakarta-tomcat-connectors/ajp/proxy/proxy_balancer.c
  
  Index: proxy_balancer.c
  ===
  RCS file: /home/cvs/jakarta-tomcat-connectors/ajp/proxy/proxy_balancer.c,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- proxy_balancer.c  9 Aug 2004 08:06:40 -   1.1
  +++ proxy_balancer.c  9 Aug 2004 09:55:47 -   1.2
  @@ -23,7 +23,7 @@
   
   module AP_MODULE_DECLARE_DATA proxy_balancer_module;
   
  -#if APR_HAS_THREADS1
  +#if APR_HAS_THREADS
   #define PROXY_BALANCER_LOCK(b)  apr_thread_mutex_lock((b)->mutex)
   #define PROXY_BALANCER_UNLOCK(b)apr_thread_mutex_unlock((b)->mutex)
   #else
  @@ -130,6 +130,90 @@
   return NULL;
   }
   
  +static proxy_runtime_worker *find_best_worker(proxy_balancer *balancer,
  +  request_rec *r)
  +{
  +int i;
  +double total_status = 0.0;
  +proxy_runtime_worker *worker = (proxy_runtime_worker *)balancer->workers->elts;
  +proxy_runtime_worker *candidate = NULL;
  +
  +/* First try to see if we have available candidate */
  +for (i = 0; i < balancer->workers->nelts; i++) {
  +/* If the worker is not error state
  + * or not in disabled mode
  + */
  +
  +/* TODO: read the scoreboard status */
  +if (worker->w->status < 2) {
  +if (!candidate)
  +candidate = worker;
  +else {
  +/* See if the worker has a larger number of free channels */
  +if (worker->w->cp->nfree > candidate->w->cp->nfree)
  +candidate = worker;
  +}
  +total_status += worker->lbstatus;
  +}
  +worker++;
  +}
  +if (!candidate) {
  +/* All the workers are in error state or disabled.
  + * If the balancer has a timeout wait.
  + */
  +#if APR_HAS_THREADS
  +if (balancer->timeout) {
  +/* XXX: This can perhaps be build using some 
  + * smarter mechanism, like tread_cond.
  + * But since the statuses can came from 
  + * different childs, use the provided algo. 
  + */
  +apr_interval_time_t timeout = balancer->timeout;
  +apr_interval_time_t step, tval = 0;
  +balancer->timeout = 0;
  +step = timeout / 100;
  +while (tval < timeout) {
  +apr_sleep(step);
  +/* Try again */
  +if ((candidate = find_best_worker(balancer, r)))
  +break;
  +tval += step;
  +}
  +/* restore the timeout */
  +balancer->timeout = timeout;
  +}
  +#endif
  +}
  +else {
  +/* We have at least one candidate that is not in
  + * error state or disabled.
  + * Now calculate the appropriate one 
  + */
  +for (i = 0; i < balancer->workers->nelts; i++) {
  +/* If the worker is not error state
  + * or not in disabled mode
  + */
  +if (worker->w->status > 2) {
  +/* 1. Find the worker with higher lbstatus.
  + * Lbstatus is of higher importance then
  + * the number of empty slots.
  + */
  +if (worker->lbstatus > candidate->lbstatus) {
  +candidate = worker;
  +}
  +}
  +worker++;
  +}
  +/* XXX: The lbfactor can be update using bytes transfered
  + * Right now, use the round-robin scheme
  + */
  +candidate->lbstatus += candidate->lbfactor;
  +if (candidate->lbstatus >= total_status)
  +candidate->lbstatus = candidate->lbfactor;
  +}
  +return candidate;
  +}
  +
   static int proxy_balancer_pre_request(proxy_worker **worker,
 proxy_balancer **balancer,
 request_rec *r,
  @@ -140,6 +224,7 @@
   char *route;
   apr_status_t rv;
   
  +*worker = NULL;
   /* Spet 1: check if the url is for us */
   if (!(*balancer = ap_proxy_get_balancer(r->pool, conf, *url)))
   return DECLINED;
  @@ -155,6 +240,10 @@
   return HTTP_SERVICE_UNAVAILABLE;
   }
   }
  +else {
  +/* We have a sticky load balancer */
  +*worker = runtime->w;
  +}
   /* Lock the LoadBalancer
* XXX: perhaps we need the process lock here
*/
  @@ -163,6 +252,23 @@
"proxy_balancer_pre_request: lock");
   ret

cvs commit: jakarta-tomcat-connectors/ajp/proxy proxy_util.c

2004-08-09 Thread mturk
mturk   2004/08/09 03:00:24

  Modified:ajp/proxy proxy_util.c
  Log:
  Set initial lbstatus to calculated lbfactor.
  
  Revision  ChangesPath
  1.21  +6 -11 jakarta-tomcat-connectors/ajp/proxy/proxy_util.c
  
  Index: proxy_util.c
  ===
  RCS file: /home/cvs/jakarta-tomcat-connectors/ajp/proxy/proxy_util.c,v
  retrieving revision 1.20
  retrieving revision 1.21
  diff -u -r1.20 -r1.21
  --- proxy_util.c  6 Aug 2004 14:05:45 -   1.20
  +++ proxy_util.c  9 Aug 2004 10:00:23 -   1.21
  @@ -1017,24 +1017,15 @@
 const char *url)
   {
   char *c, *q, *uri = apr_pstrdup(p, url);
  -int port;
   apr_status_t rc = 0;
   
   c = strchr(uri, ':');   
   if (c == NULL || c[1] != '/' || c[2] != '/' || c[3] == '\0')
  -   return "Bad syntax for a remote proxy server";
  +   return "Bad syntax for a balancer name";
   /* remove path from uri */
   if ((q = strchr(c + 3, '/')))
   *q = '\0';
   
  -q = strchr(c + 3, ':');
  -if (q != NULL) {
  -if (sscanf(q + 1, "%u", &port) != 1 || port > 65535) {
  -return "Bad syntax for a remote proxy server (bad port number)";
  -}
  -}
  -else
  -port = -1;
   ap_str_tolower(uri);
   *balancer = apr_array_push(conf->balancers);
   (*balancer)->name = uri;
  @@ -1189,7 +1180,10 @@
   workers[i].lbfactor -= median;
   }
   } 
  -
  +for (i = 0; i < balancer->workers->nelts; i++) {
  +/* Update the status entires */
  +workers[i].lbstatus = workers[i].lbfactor;
  +}
   }
   
   PROXY_DECLARE(int) ap_proxy_pre_request(proxy_worker **worker,
  @@ -1421,6 +1415,7 @@
   /* Set min to be lower then smax */
   if (worker->min > worker->smax)
   worker->min = worker->smax; 
  +worker->cp->nfree = worker->hmax;
   }
   else {
   /* This will supress the apr_reslist creation */
  
  
  

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



cvs commit: jakarta-tomcat-connectors/ajp/proxy proxy_balancer.c

2004-08-09 Thread mturk
mturk   2004/08/09 03:10:24

  Modified:ajp/proxy proxy_balancer.c
  Log:
  The lbstatus needs to be updated for every worker, not just the candidate.
  
  Revision  ChangesPath
  1.3   +20 -8 jakarta-tomcat-connectors/ajp/proxy/proxy_balancer.c
  
  Index: proxy_balancer.c
  ===
  RCS file: /home/cvs/jakarta-tomcat-connectors/ajp/proxy/proxy_balancer.c,v
  retrieving revision 1.2
  retrieving revision 1.3
  diff -u -r1.2 -r1.3
  --- proxy_balancer.c  9 Aug 2004 09:55:47 -   1.2
  +++ proxy_balancer.c  9 Aug 2004 10:10:24 -   1.3
  @@ -134,7 +134,7 @@
 request_rec *r)
   {
   int i;
  -double total_status = 0.0;
  +double total_factor = 0.0;
   proxy_runtime_worker *worker = (proxy_runtime_worker *)balancer->workers->elts;
   proxy_runtime_worker *candidate = NULL;
   
  @@ -153,7 +153,11 @@
   if (worker->w->cp->nfree > candidate->w->cp->nfree)
   candidate = worker;
   }
  -total_status += worker->lbstatus;
  +/* Total factor should allways be 100.
  + * This is for cases when worker is in error state.
  + * It will force the even request distribution
  + */
  +total_factor += worker->lbfactor;
   }
   worker++;
   }
  @@ -204,12 +208,20 @@
   }
   worker++;
   }
  -/* XXX: The lbfactor can be update using bytes transfered
  - * Right now, use the round-robin scheme
  - */
  -candidate->lbstatus += candidate->lbfactor;
  -if (candidate->lbstatus >= total_status)
  -candidate->lbstatus = candidate->lbfactor;
  +for (i = 0; i < balancer->workers->nelts; i++) {
  +/* If the worker is not error state
  + * or not in disabled mode
  + */
  +if (worker->w->status > 2) {
  +/* XXX: The lbfactor can be update using bytes transfered
  + * Right now, use the round-robin scheme
  + */
  +worker->lbstatus += worker->lbfactor;
  +if (worker->lbstatus >= total_factor)
  +worker->lbstatus = worker->lbfactor;
  +}
  +worker++;
  +}
   }
   return candidate;
   }
  
  
  

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



Re: Fw: cvs commit: jakarta-tomcat-connectors/ajp/proxy proxy_util.c

2004-08-09 Thread Mladen Turk
[EMAIL PROTECTED] wrote:
REMOVE MY NAME FROM THIS MAILING LIST IMMEDIATELY 
!
DO YOU NOT HAVE ANY CONTROL OF YOUR MAILING LISTS ???


First of all it's not my list :-).
Second read the documentation how to unsubscribe from the developers 
list on the jakarta site.

MT.



smime.p7s
Description: S/MIME Cryptographic Signature


DO NOT REPLY [Bug 30539] New: - possible security hole: mod_jk2 bypassed when client issues Host: header with an invalid port number

2004-08-09 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://issues.apache.org/bugzilla/show_bug.cgi?id=30539

possible security hole: mod_jk2 bypassed when client issues Host: header with an 
invalid port number

   Summary: possible security hole: mod_jk2 bypassed when client
issues Host: header with an invalid port number
   Product: Tomcat 5
   Version: 5.0.24
  Platform: Other
OS/Version: Linux
Status: NEW
  Severity: Major
  Priority: Other
 Component: Connector:AJP
AssignedTo: [EMAIL PROTECTED]
ReportedBy: [EMAIL PROTECTED]


I have a specific mod_jk2 2.0.4 configuration which maps 2 different port
numbers (running different Apache 2.0.49 virtual hosts) to 2 different Tomcat
5.0.24 services.

I managed to do this by using the following workers2.properties configuration (I
provide relevant directives only):

--- BEGIN SNIP ---

[ajp13:localhost:8009]
channel=channel.socket:localhost:8009
group=ajp13:localhost:8009

[ajp13:localhost:8010]
channel=channel.socket:localhost:8010
group=ajp13:localhost:8010

[channel.socket:localhost:8009]
port=8009
host=localhost
group=ajp13:localhost:8009
 
[channel.socket:localhost:8010]
port=8010
host=localhost
group=ajp13:localhost:8010

# URI mappings
[uri:*:80/*.jsp]
group=ajp13:localhost:8009

[uri:*:443/*.jsp]
group=ajp13:localhost:8009

# mapping from the second Apache virtual host (running on secret port )
# to the second Tomcat service:

[uri:*:/*.jsp]
group=ajp13:localhost:8010

--- END SNIP ---

This configuration works fine, but there's a security problem we've recently
discovered that I suspect to be the mod_jk2's fault:

If a HTTP client requests a JSP page and supplies a "Host:" HTTP header, and
provides a port there, and the port is not valid (that is, it's not 80, 443, or
), then Apache spills out the JSP file's source instead of putting it
through mod_jk2 to be serviced by Tomcat!

This can be easily reproduced with livehttpheaders extension for Mozilla.

Steps to reproduce:
1) install the livehttpheaders extension in Mozilla:
http://livehttpheaders.mozdev.org/
2) open the livehttpheaders window (Tools->Web Development->Live HTTP Headers)
3) load a JSP page from Apache, it should display normally
4) select the URL line over "GET .jsp" line in the livehttpheaders window
5) click "Replay..."
6) change the "Host:" header to use an invalid port number, e.g. "Host:
www.example.com:1234"
7) click "Replay" - In my case, I received the source of JSP page (as text/plain).


I've tried remedying the problem by supplying additional "catch-all" URI
mappings at the end of workers2.properties, using various patterns:
"[uri:*.jsp]", or "[uri:*:*.jsp]", but none of them has helped - it seemed that
Apache was just bypassing mod_jk2 and _ANY_ URI mappings when the Host header
contained an invalid port.

So as a temporary workaround I've prepared the following access control
mechanism in Apache:

--- BEGIN SNIP ---
# If the "Host:" header specifies a port, deny access to JSP files by setting a
custom env variable:
SetEnvIfNoCase Host \: HOST_PORT_DENIED=yes
# The ports 80, 443 and  are valid, unset the custom env variable for them:
SetEnvIfNoCase Host \:80$ !HOST_PORT_DENIED
SetEnvIfNoCase Host \:443$ !HOST_PORT_DENIED
SetEnvIfNoCase Host \:$ !HOST_PORT_DENIED

# deny access to JSP based on custom env variable presence:

  Order Allow,Deny
  Allow from all
  Deny from env=HOST_PORT_DENIED

--- END SNIP ---

This, however, is only a workaround. Ideally, requests with "Host:" header
specifying a port on which Apache doesn't listen, should be denied (IMHO), or at
least passed through mod_jk2 and its URI mappings.

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



DO NOT REPLY [Bug 28875] - Multi-byte characters in default error page aren't printed out correctly.

2004-08-09 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://issues.apache.org/bugzilla/show_bug.cgi?id=28875

Multi-byte characters in default error page aren't printed out correctly.

[EMAIL PROTECTED] changed:

   What|Removed |Added

 Status|RESOLVED|VERIFIED



--- Additional Comments From [EMAIL PROTECTED]  2004-08-09 12:57 ---
Good, thanks for checking.  I'm verifying this issue.

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



DO NOT REPLY [Bug 30539] - possible security hole: mod_jk2 bypassed when client issues Host: header with an invalid port number

2004-08-09 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://issues.apache.org/bugzilla/show_bug.cgi?id=30539

possible security hole: mod_jk2 bypassed when client issues Host: header with an 
invalid port number





--- Additional Comments From [EMAIL PROTECTED]  2004-08-09 13:46 ---
For the record, the issue has been discovered by Paweł Sawicki
([EMAIL PROTECTED]).

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



Subject is not available during the first call to the servlet which use the basic authentication

2004-08-09 Thread jjureta
Hi,

I’m using jakarta-tomcat-5.0.27-src and Windows XP.

I made a servlet that print current subject principals (authenticated user).
The servlet code is:


private void doQuery(
HttpServletRequest request,
HttpServletResponse response)
throws ServletException, IOException {

response.setContentType("text/html");
PrintWriter out = response.getWriter();

out.println("");
out.println("");
out.println("TestServletProtected");

out.println("");
out.println("");

out.println("");

out.println("");

out.println("");
out.println(request.getAuthType());
out.println("");
out.println("");
out.println(request.getRemoteUser());
out.println("");
out.println("");
out.println(request.getUserPrincipal());
out.println("");
out.println("");
out.println(request.isUserInRole("tomcat"));
out.println("");
out.println("");
out.println(request.isUserInRole("admin"));
out.println("");

Subject subject = Subject.getSubject(AccessController.getContext());
out.println("");
out.println(subject);
out.println("");

subject =
(Subject) request.getSession(true).getAttribute(
"javax.security.auth.subject");

out.println("");
out.println(subject);
out.println("");
out.println("");

out.println("");
out.println("");

out.close();
}


The first time I call this servlet I get:
BASIC 
tomcat 
GenericPrincipal[tomcat(admin,manager,tomcat,)] 
true 
true 
null 
null

The next time I get:
BASIC 
tomcat 
GenericPrincipal[tomcat(admin,manager,tomcat,)] 
true 
true 
Subject: Principal: GenericPrincipal[tomcat(admin,manager,tomcat,)] 
Subject: Principal: GenericPrincipal[tomcat(admin,manager,tomcat,)]

I found that SecurityUtil.execute trying to find the subject in the current session, 
but because the session is not been created yet, the subject passed to the function 
Subject.doAsPrivileged is null.

When I changed the code in the function SecurityUtil.execute to:

// The first argument is always the request object
if (targetArguments != null 
&& targetArguments[0] instanceof HttpServletRequest){
HttpServletRequest request = 
(HttpServletRequest)targetArguments[0];

HttpSession session = request.getSession(false);
if (session != null){
subject =(Subject)session.getAttribute(Globals.SUBJECT_ATTR);
}

if ((subject == null) && (principal != null)){
subject = new Subject();
subject.getPrincipals().add(principal);

if(session != null) {
session.setAttribute(Globals.SUBJECT_ATTR, subject);
}
}
}

Everything looks OK except that the subject is not in the session 
(request.getSession(true).getAttribute(
"javax.security.auth.subject"); return null).



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



RE: [PATCH] for someone with jakarta-site2 karma

2004-08-09 Thread Shapira, Yoav

Hola,
Patch committed, site updated.  Any time ;)

Yoav Shapira
Millennium Research Informatics


>-Original Message-
>From: Mladen Turk [mailto:[EMAIL PROTECTED]
>Sent: Saturday, August 07, 2004 4:56 PM
>To: Tomcat Developers List
>Subject: [PATCH] for someone with jakarta-site2 karma
>
>Index: whoweare.xml
>===
>RCS file: /home/cvs/jakarta-site2/xdocs/site/whoweare.xml,v
>retrieving revision 1.121
>diff -u -r1.121 whoweare.xml
>--- whoweare.xml   29 Jun 2004 02:06:18 -  1.121
>+++ whoweare.xml   7 Aug 2004 20:47:29 -
>@@ -485,9 +485,12 @@
>  James Taylor 
>  Mark Thomas 
> 
>-Mladen Turk
>+Mladen Turk (mturk at apache.org)
> 
>-
>+Mladen Turk as being Borg from Delta Quadrant has a singular goal,
namely
>the consumption of technology, rather than wealth or political
expansion as
>most species seek.
>+He held a degree in Physics and Computer Science from Zagreb
University,
>Croatia, before he was assimilated back in 80's. After that his primary
>goal
>is to make a
>+artificial life being and brake the Turing test. In the meantime he
was a
>undercover high-school teacher for years, even Bill Gates give him a
MCSE
>certification.
>+Right now his primary objective is to replicate himself with his
beautiful
>wife Adela, and generally shake the things around ASF as much as
>possible.
> 
> James Turner
> 
>
>
>Regards,
>MT.



This e-mail, including any attachments, is a confidential business communication, and 
may contain information that is confidential, proprietary and/or privileged.  This 
e-mail is intended only for the individual(s) to whom it is addressed, and may not be 
saved, copied, printed, disclosed or used by anyone else.  If you are not the(an) 
intended recipient, please immediately delete this e-mail from your computer system 
and notify the sender.  Thank you.


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



DO NOT REPLY [Bug 30404] - default charset for conten-type header

2004-08-09 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://issues.apache.org/bugzilla/show_bug.cgi?id=30404

default charset for conten-type header





--- Additional Comments From [EMAIL PROTECTED]  2004-08-09 14:57 ---
Yes, I tested it in 4.1.30 and found it working. Sorry, I promise to use the 
latest version next time before posting a bug.
I read the related bug reports before posting mine and today I read them again. 
I still find them not fully related to my problem, that's why I wrote a new 
report.
Anyway, thanks a lot!

Michael

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



cvs commit: jakarta-tomcat-connectors/ajp/proxy mod_proxy.h

2004-08-09 Thread mturk
mturk   2004/08/09 08:06:24

  Modified:ajp/proxy mod_proxy.h
  Log:
  Add route and redirect to worker so they can be set trough configuration.
  Add worker status flag definitions.
  
  Revision  ChangesPath
  1.28  +11 -2 jakarta-tomcat-connectors/ajp/proxy/mod_proxy.h
  
  Index: mod_proxy.h
  ===
  RCS file: /home/cvs/jakarta-tomcat-connectors/ajp/proxy/mod_proxy.h,v
  retrieving revision 1.27
  retrieving revision 1.28
  diff -u -r1.27 -r1.28
  --- mod_proxy.h   9 Aug 2004 09:54:07 -   1.27
  +++ mod_proxy.h   9 Aug 2004 15:06:24 -   1.28
  @@ -213,6 +213,15 @@
   proxy_conn_rec *conn;   /* Single connection for prefork mpm's */
   };
   
  +/* woker status flags */
  +#define PROXY_WORKER_INITIALIZED0x0001
  +#define PROXY_WORKER_IN_SHUTDOWN0x0010
  +#define PROXY_WORKER_DISABLED   0x0020
  +#define PROXY_WORKER_IN_ERROR   0x0040
  +
  +#define PROXY_WORKER_IS_USABLE(f)   (!((f)->status & 0x00F0))
  +
  +
   /* Worker configuration */
   struct proxy_worker {
   int status;
  @@ -223,6 +232,8 @@
   const char  *name;
   const char  *scheme;/* scheme to use ajp|http|https */
   const char  *hostname;  /* remote backend address */
  +const char  *route; /* balancing route */
  +const char  *redirect;  /* temporary balancing redirection route */
   apr_port_t  port;
   int min;/* Desired minimum number of available connections 
*/
   int smax;   /* Soft maximum on the total number of connections 
*/
  @@ -251,8 +262,6 @@
   double  lbstatus;   /* Current lbstatus */
   apr_size_t  transfered; /* Number of bytes transfered to remote */
   apr_size_t  readed; /* Number of bytes readed from remote */
  -const char  *route;
  -const char  *redirect;
   } proxy_runtime_worker;
   
   struct proxy_balancer {
  
  
  

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



cvs commit: jakarta-tomcat-connectors/ajp/proxy proxy_util.c

2004-08-09 Thread mturk
mturk   2004/08/09 08:07:20

  Modified:ajp/proxy proxy_util.c
  Log:
  Use definitions for setting worker status.
  
  Revision  ChangesPath
  1.22  +2 -3  jakarta-tomcat-connectors/ajp/proxy/proxy_util.c
  
  Index: proxy_util.c
  ===
  RCS file: /home/cvs/jakarta-tomcat-connectors/ajp/proxy/proxy_util.c,v
  retrieving revision 1.21
  retrieving revision 1.22
  diff -u -r1.21 -r1.22
  --- proxy_util.c  9 Aug 2004 10:00:23 -   1.21
  +++ proxy_util.c  9 Aug 2004 15:07:20 -   1.22
  @@ -1450,15 +1450,14 @@
   {
   apr_status_t rv;
   
  -if (!worker->status) {
  +if (!(worker->status & PROXY_WORKER_INITIALIZED)) {
   if ((rv = init_conn_worker(worker, s)) != APR_SUCCESS) {
   ap_log_error(APLOG_MARK, APLOG_ERR, rv, s,
"proxy: %s: failed to initialize worker for (%s)",
proxy_function, worker->hostname);
   return DECLINED;
   }
  -/* TODO: make worker status codes */
  -worker->status = 1;
  +worker->status = PROXY_WORKER_INITIALIZED;
   }
   #if APR_HAS_THREADS
   if (worker->hmax) {
  
  
  

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



cvs commit: jakarta-tomcat-connectors/ajp/proxy proxy_balancer.c

2004-08-09 Thread mturk
mturk   2004/08/09 08:08:28

  Modified:ajp/proxy proxy_balancer.c
  Log:
  Add rewrite url function and calcute lbstatuses when session worker is elected.
  
  Revision  ChangesPath
  1.4   +48 -10jakarta-tomcat-connectors/ajp/proxy/proxy_balancer.c
  
  Index: proxy_balancer.c
  ===
  RCS file: /home/cvs/jakarta-tomcat-connectors/ajp/proxy/proxy_balancer.c,v
  retrieving revision 1.3
  retrieving revision 1.4
  diff -u -r1.3 -r1.4
  --- proxy_balancer.c  9 Aug 2004 10:10:24 -   1.3
  +++ proxy_balancer.c  9 Aug 2004 15:08:28 -   1.4
  @@ -97,7 +97,7 @@
   int i;
   proxy_runtime_worker *worker = (proxy_runtime_worker *)balancer->workers->elts;
   for (i = 0; i < balancer->workers->nelts; i++) {
  -if (worker->route && strcmp(worker->route, route) == 0) {
  +if (worker->w->route && strcmp(worker->w->route, route) == 0) {
   return worker;
   }
   worker++;
  @@ -120,8 +120,13 @@
   proxy_runtime_worker *worker =  find_route_worker(balancer, *route);
   /* TODO: make worker status codes */
   /* See if we have a redirection route */
  -if (worker && worker->w->status < 2 && worker->redirect)
  -worker = find_route_worker(balancer, worker->redirect);
  +if (worker && !PROXY_WORKER_IS_USABLE(worker->w)) {
  +if (worker->w->redirect)
  +worker = find_route_worker(balancer, worker->w->redirect);
  +/* Check if the redirect worker is usable */
  +if (worker && !PROXY_WORKER_IS_USABLE(worker->w))
  +worker = NULL;
  +}
   else
   worker = NULL;
   return worker;
  @@ -145,7 +150,7 @@
*/
   
   /* TODO: read the scoreboard status */
  -if (worker->w->status < 2) {
  +if (PROXY_WORKER_IS_USABLE(worker->w)) {
   if (!candidate)
   candidate = worker;
   else {
  @@ -197,7 +202,7 @@
   /* If the worker is not error state
* or not in disabled mode
*/
  -if (worker->w->status > 2) {
  +if (PROXY_WORKER_IS_USABLE(worker->w)) {
   /* 1. Find the worker with higher lbstatus.
* Lbstatus is of higher importance then
* the number of empty slots.
  @@ -212,7 +217,7 @@
   /* If the worker is not error state
* or not in disabled mode
*/
  -if (worker->w->status > 2) {
  +if (PROXY_WORKER_IS_USABLE(worker->w)) {
   /* XXX: The lbfactor can be update using bytes transfered
* Right now, use the round-robin scheme
*/
  @@ -226,12 +231,32 @@
   return candidate;
   }
   
  +static int rewrite_url(request_rec *r, proxy_worker *worker,
  +char **url)
  +{
  +const char *path = strchr(*url, '/');
  +
  +/* we break the URL into host, port, uri */
  +if (!worker) {
  +return ap_proxyerror(r, HTTP_BAD_REQUEST, apr_pstrcat(r->pool,
  + "missing worker. URI cannot be parsed: ", *url,
  + NULL));
  +}
  +
  +*url = apr_pstrcat(r->pool, worker->name, path, NULL);
  +
  +ap_log_error(APLOG_MARK, APLOG_DEBUG, 0, r->server,
  + "proxy: BALANCER rewriting to %s", *url);
  +   
  +return OK;
  +}
  +
   static int proxy_balancer_pre_request(proxy_worker **worker,
 proxy_balancer **balancer,
 request_rec *r,
 proxy_server_conf *conf, char **url)
   {
  -int access_status = OK;
  +int access_status;
   proxy_runtime_worker *runtime;
   char *route;
   apr_status_t rv;
  @@ -253,8 +278,22 @@
   }
   }
   else {
  +int i;
  +proxy_runtime_worker *workers;
   /* We have a sticky load balancer */
   *worker = runtime->w;
  +/* Update the workers status 
  + * so that even session routes get
  + * into account.
  + */
  +workers = (proxy_runtime_worker *)(*balancer)->workers->elts;
  +for (i = 0; i < (*balancer)->workers->nelts; i++) {
  +/* For now assume that all workers are OK */
  +workers->lbstatus += workers->lbfactor;
  +if (workers->lbstatus >= 100.0)
  +workers->lbstatus = workers->lbfactor;
  +workers++;
  +}
   }
   /* Lock the LoadBalancer
* XXX: perhaps we need the process lock here
  @@ -274,8 +313,6 @@
   PROXY_BALANCER_UNLOCK(*balancer);
   return HTTP_SERVICE_UNAVAILABLE;
   }
  -/* TODO: rewrite the url to coresponds

cvs commit: jakarta-tomcat-connectors/ajp/proxy mod_proxy.c

2004-08-09 Thread mturk
mturk   2004/08/09 08:10:02

  Modified:ajp/proxy mod_proxy.c
  Log:
  Add pool to functions for setting worker and balancer parameters.
  Still have no idea why that doesn't work without duping as JeanFrederic reported.
  
  Revision  ChangesPath
  1.31  +18 -7 jakarta-tomcat-connectors/ajp/proxy/mod_proxy.c
  
  Index: mod_proxy.c
  ===
  RCS file: /home/cvs/jakarta-tomcat-connectors/ajp/proxy/mod_proxy.c,v
  retrieving revision 1.30
  retrieving revision 1.31
  diff -u -r1.30 -r1.31
  --- mod_proxy.c   9 Aug 2004 08:04:55 -   1.30
  +++ mod_proxy.c   9 Aug 2004 15:10:02 -   1.31
  @@ -82,7 +82,8 @@
   (w)->io_buffer_size_set   = (c)->io_buffer_size_set;\
   } while (0)
   
  -static const char *set_worker_param(proxy_worker *worker,
  +static const char *set_worker_param(apr_pool_t *p,
  +proxy_worker *worker,
   const char *key,
   const char *val)
   {
  @@ -160,20 +161,27 @@
   return "KeepAlive must be On|Off";
   worker->keepalive_set = 1;
   }
  +else if (!strcasecmp(key, "route")) {
  +worker->route = apr_pstrdup(p, val);
  +}
  +else if (!strcasecmp(key, "redirect")) {
  +worker->redirect = apr_pstrdup(p, val);
  +}
   else {
   return "unknown parameter";
   }
   return NULL;
   }
   
  -static const char *set_balancer_param(proxy_balancer *balancer,
  +static const char *set_balancer_param(apr_pool_t *p,
  +  proxy_balancer *balancer,
 const char *key,
 const char *val)
   {
   
   int ival;
   if (!strcasecmp(key, "stickysession")) {
  -balancer->sticky = val;
  +balancer->sticky = apr_pstrdup(p, val);
   }
   else if (!strcasecmp(key, "nofailover")) {
   if (!strcasecmp(val, "on"))
  @@ -186,7 +194,7 @@
   else if (!strcasecmp(key, "timeout")) {
   ival = atoi(val);
   if (ival < 1)
  -return "timeout must be al least one second";
  +return "timeout must be at least one second";
   balancer->timeout = apr_time_from_sec(ival);
   }
   else {
  @@ -886,7 +894,8 @@
   return apr_pstrcat(cmd->temp_pool, "ProxyPass ", err, NULL);
   }
   for (i = 0; i < arr->nelts; i++) {
  -const char *err = set_balancer_param(balancer, elts[i].key, 
elts[i].val);
  +const char *err = set_balancer_param(cmd->pool, balancer, elts[i].key,
  + elts[i].val);
   if (err)
   return apr_pstrcat(cmd->temp_pool, "ProxyPass ", err, NULL);
   }
  @@ -901,7 +910,8 @@
   PROXY_COPY_CONF_PARAMS(worker, conf);
   
   for (i = 0; i < arr->nelts; i++) {
  -const char *err = set_worker_param(worker, elts[i].key, elts[i].val);
  +const char *err = set_worker_param(cmd->pool, worker, elts[i].key,
  +   elts[i].val);
   if (err)
   return apr_pstrcat(cmd->temp_pool, "ProxyPass ", err, NULL);
   }
  @@ -1275,7 +1285,8 @@
   arr = apr_table_elts(params);
   elts = (const apr_table_entry_t *)arr->elts;
   for (i = 0; i < arr->nelts; i++) {
  -const char *err = set_worker_param(worker, elts[i].key, elts[i].val);
  +const char *err = set_worker_param(cmd->pool, worker, elts[i].key,
  +   elts[i].val);
   if (err)
   return apr_pstrcat(cmd->temp_pool, "BalancerMember ", err, NULL);
   }
  
  
  

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



cvs commit: jakarta-tomcat-connectors/util/java/org/apache/tomcat/util/http Parameters.java

2004-08-09 Thread luehe
luehe   2004/08/09 09:00:11

  Modified:util/java/org/apache/tomcat/util/http Parameters.java
  Log:
  Consider case where query params were set as strings instead of bytes
  
  Revision  ChangesPath
  1.14  +6 -4  
jakarta-tomcat-connectors/util/java/org/apache/tomcat/util/http/Parameters.java
  
  Index: Parameters.java
  ===
  RCS file: 
/home/cvs/jakarta-tomcat-connectors/util/java/org/apache/tomcat/util/http/Parameters.java,v
  retrieving revision 1.13
  retrieving revision 1.14
  diff -u -r1.13 -r1.14
  --- Parameters.java   24 Feb 2004 08:50:04 -  1.13
  +++ Parameters.java   9 Aug 2004 16:00:10 -   1.14
  @@ -258,9 +258,7 @@
   // Can't happen, as decodedQuery can't overflow
   e.printStackTrace();
   }
  -ByteChunk bc = decodedQuery.getByteChunk();
  -processParameters( bc.getBytes(), bc.getOffset(),
  -   bc.getLength(), queryStringEncoding );
  +processParameters( decodedQuery, queryStringEncoding );
   }
   
   // 
  @@ -491,12 +489,16 @@
   }
   
   public void processParameters( MessageBytes data ) {
  +processParameters(data, encoding);
  +}
  +
  +public void processParameters( MessageBytes data, String encoding ) {
if( data==null || data.isNull() || data.getLength() <= 0 ) return;
   
if( data.getType() == MessageBytes.T_BYTES ) {
ByteChunk bc=data.getByteChunk();
processParameters( bc.getBytes(), bc.getOffset(),
  -bc.getLength());
  +bc.getLength(), encoding);
} else {
if (data.getType()!= MessageBytes.T_CHARS ) 
data.toChars();
  
  
  

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



DO NOT REPLY [Bug 30543] New: - Deadlock in multithreaded SecurityManager access by class loader

2004-08-09 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://issues.apache.org/bugzilla/show_bug.cgi?id=30543

Deadlock in multithreaded SecurityManager access by class loader

   Summary: Deadlock in multithreaded SecurityManager access by
class loader
   Product: Tomcat 5
   Version: 5.0.0
  Platform: Other
OS/Version: Other
Status: NEW
  Severity: Normal
  Priority: Other
 Component: Catalina
AssignedTo: [EMAIL PROTECTED]
ReportedBy: [EMAIL PROTECTED]


Found one Java-level deadlock:
=
"http-8080-Processor4":
  waiting to lock monitor 0x180fe98 (object 0x26cb9c80, a  java.lang.Class),
  which is held by "http-8080-Processor2"
"http-8080-Processor2":
  waiting to lock monitor 0x180fde4 (object 0x9a1b040, a  [Ljava.lang.String;),
  which is held by "http-8080-Processor4"

Java stack information for the threads listed above:
===
"http-8080-Processor4":
at javax.security.auth.Policy.getPolicyNoCheck(Policy.java:193)
- waiting to lock <0x26cb9c80> (a java.lang.Class)
at javax.security.auth.Policy.getPolicy(Policy.java:179)
at 
javax.security.auth.SubjectDomainCombiner$2.run(SubjectDomainCombiner.ja va:178)
at java.security.AccessController.doPrivileged(Native Method)
at 
javax.security.auth.SubjectDomainCombiner.combine(SubjectDomainCombiner. java:174)
at 
java.security.AccessControlContext.goCombiner(AccessControlContext.java: 386)
at 
java.security.AccessControlContext.optimize(AccessControlContext.java: 310)
at 
java.security.AccessController.checkPermission(AccessController.java: 400)
at  java.lang.SecurityManager.checkPermission(SecurityManager.java:524)
at  java.lang.SecurityManager.checkPackageAccess(SecurityManager.java:1491)
- locked <0x9a1b040> (a [Ljava.lang.String;)
at 
org.apache.catalina.loader.StandardClassLoader.loadClass(StandardClassLo
ader.java:785)
at 
org.apache.catalina.loader.StandardClassLoader.loadClass(StandardClassLo
ader.java:721)
at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:302)
- locked <0x9a00598> (a  org.apache.catalina.loader.StandardClassLoader)
at 
org.apache.jasper.servlet.JspServletWrapper.(JspServletWrapper.jav a:90)
at  org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:
285)
- locked <0x7808518> (a org.apache.jasper.servlet.JspServlet)
at  org.apache.jasper.servlet.JspServlet.service(JspServlet.java:236)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at 
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.jav a:39)
at 
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessor
Impl.java:25)
at java.lang.reflect.Method.invoke(Method.java:324)
at  org.apache.catalina.security.SecurityUtil$1.run(SecurityUtil.java:239)
at java.security.AccessController.doPrivileged(Native Method)
at javax.security.auth.Subject.doAsPrivileged(Subject.java:500)
at  org.apache.catalina.security.SecurityUtil.execute(SecurityUtil.java:
266)
at 
org.apache.catalina.security.SecurityUtil.doAsPrivilege(SecurityUtil.jav a:157)
at 
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Applica
tionFilterChain.java:231)
at 
org.apache.catalina.core.ApplicationFilterChain.access$000(ApplicationFi
lterChain.java:50)
at 
org.apache.catalina.core.ApplicationFilterChain$1.run(ApplicationFilterC
hain.java:140)
at java.security.AccessController.doPrivileged(Native Method)
at 
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilt
erChain.java:136)
at 
org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValv e.java:214)
at 
org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveCo
ntext.java:104)
at 
org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java: 520)
at 
org.apache.catalina.core.StandardContextValve.invokeInternal(StandardCon
textValve.java:198)
at 
org.apache.catalina.core.StandardContextValve.invoke(StandardContextValv e.java:152)
at 
org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveCo
ntext.java:104)
at 
org.apache.catalina.authenticator.AuthenticatorBase.invoke(Authenticator
Base.java:462)
at 
org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveCo
ntext.java:102)
at 
org.apache.catalina.core.StandardPipeline.invo

DO NOT REPLY [Bug 30543] - Deadlock in multithreaded SecurityManager access by class loader

2004-08-09 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://issues.apache.org/bugzilla/show_bug.cgi?id=30543

Deadlock in multithreaded SecurityManager access by class loader

[EMAIL PROTECTED] changed:

   What|Removed |Added

Version|5.0.0   |5.0.27

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



DO NOT REPLY [Bug 29579] - J2SE 1.5.0 and xmlParserAPIs.jar

2004-08-09 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://issues.apache.org/bugzilla/show_bug.cgi?id=29579

J2SE 1.5.0 and xmlParserAPIs.jar





--- Additional Comments From [EMAIL PROTECTED]  2004-08-09 16:39 ---
Well, in Tomcat 5.0.27, xmlParserAPIs.jar was renamed to xml-apis.jar, but the
nature of the issue remains the same.

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



Tomcat 5.0.28 release

2004-08-09 Thread Petr Jiricka
Hi,
we have been using Tomcat in the NetBeans product for about 4 years now 
(since the 3.2 beta releases), so first off, Thanks! for all your great 
work. Tomcat provides NetBeans users with the ability to run their 
applications out of the box, debug in on the Java and JSP level, and 
generally serves as an excellent testing environment for web 
applications developed using NetBeans.

Now, on behalf of the Sun Developer Tools group, I'd like to propose a 
next release of the Tomcat 5.0.x codeline, i.e. Tomcat 5.0.28. The goals 
of this release would be the following:

- Continue to deliver a stable release of Tomcat in roughly 1 month 
intervals. One of the reasons why Tomcat is so highly valued in the 
community is because the time between finding a bug and deliveing the 
fix is very short, thanks to the short release cycles. The community 
appreciates the high quality of releases resulting from this release model.

- The Sun Developer Tools group would like to include into this release 
several bug fixes in the Jasper area, that are currently available in 
the trunk (5.1.x codebase), and that affect NetBeans 4.0 functionality, 
such as JSP debugging or JSP editor.

- The goal of 5.0.28 would be to support the upcoming JDK 1.5 release 
(now called JDK 5.0) out of the box, so no post-install setup steps are 
necessary to run on JDK 5.0. Note that in Tomcat 5.0.27, it is necessary 
to manually remove file common/endorsed/xml-apis.jar to make Tomcat work 
with JDK 5.0, see also bug report 29579 or Tomcat release notes. This 
not only degrades the initial experience on 1.5, but also poses problems 
in the multiuser scenario, when some of the users who use a shared 
Tomcat installation run JDK 1.4.x, and others run 1.5. 
(Implementation-wise, this could be done e.g. by ignoring xml-apis.jar 
in the classloader, when running on JDK 5.0, but there may be other 
solutions available.)

- Last but not least, other bug fixes present in the trunk, that are 
easily and safely portable to 5.0.x, should be considered.

From a codeline perspective, we are suggesting to create a Tomcat 5.0.x 
branch (exact name TBD) off the Tomcat 5.0.27 tag, and continue the 
5.0.x development in this branch. Also, subsequent releases of Tomcat 
5.0.x beyond 5.0.28 can be considered, until the 5.1 codebase reaches 
stability, or while there is interest in the community to continue 
development of the 5.0.x codebase.

Thanks in advance for your comments.
Petr Jiricka
Sun Developer Tools group
-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]


RE: Tomcat 5.0.28 release

2004-08-09 Thread Shapira, Yoav

Hi,
A TOMCAT_5_0 branch was created at the time 5.0.27 was released.  I'm
not gung-ho about making significant Tomcat 5.0 additions and
enhancements, given the advanced state of Tomcat 5.1 development.  If
there's a showstopper, security, or spec-compliance bug than of course
it will be fixed and additional releases made.

However, if you really want this strongly, feel free to submit patches
back-porting the CVS HEAD patches onto the TOMCAT_5_0 branch code, and
we'll look at them.

As for JDK 1.5 specifically: Tomcat 5.1 will support JDK 1.5 without
needing to modify anything.  Tomcat 5.0 doesn't make that claim, but it
does let you modify parsers as you want using the standard endorsed
classloading mechanism.  Of course I've already said that on the bug
report ;)

Yoav Shapira
Millennium Research Informatics


>-Original Message-
>From: Petr Jiricka [mailto:[EMAIL PROTECTED]
>Sent: Monday, August 09, 2004 12:43 PM
>To: [EMAIL PROTECTED]
>Subject: Tomcat 5.0.28 release
>
>Hi,
>
>we have been using Tomcat in the NetBeans product for about 4 years now
>(since the 3.2 beta releases), so first off, Thanks! for all your great
>work. Tomcat provides NetBeans users with the ability to run their
>applications out of the box, debug in on the Java and JSP level, and
>generally serves as an excellent testing environment for web
>applications developed using NetBeans.
>
>Now, on behalf of the Sun Developer Tools group, I'd like to propose a
>next release of the Tomcat 5.0.x codeline, i.e. Tomcat 5.0.28. The
goals
>of this release would be the following:
>
>- Continue to deliver a stable release of Tomcat in roughly 1 month
>intervals. One of the reasons why Tomcat is so highly valued in the
>community is because the time between finding a bug and deliveing the
>fix is very short, thanks to the short release cycles. The community
>appreciates the high quality of releases resulting from this release
model.
>
>- The Sun Developer Tools group would like to include into this release
>several bug fixes in the Jasper area, that are currently available in
>the trunk (5.1.x codebase), and that affect NetBeans 4.0 functionality,
>such as JSP debugging or JSP editor.
>
>- The goal of 5.0.28 would be to support the upcoming JDK 1.5 release
>(now called JDK 5.0) out of the box, so no post-install setup steps are
>necessary to run on JDK 5.0. Note that in Tomcat 5.0.27, it is
necessary
>to manually remove file common/endorsed/xml-apis.jar to make Tomcat
work
>with JDK 5.0, see also bug report 29579 or Tomcat release notes. This
>not only degrades the initial experience on 1.5, but also poses
problems
>in the multiuser scenario, when some of the users who use a shared
>Tomcat installation run JDK 1.4.x, and others run 1.5.
>(Implementation-wise, this could be done e.g. by ignoring xml-apis.jar
>in the classloader, when running on JDK 5.0, but there may be other
>solutions available.)
>
>- Last but not least, other bug fixes present in the trunk, that are
>easily and safely portable to 5.0.x, should be considered.
>
>
> From a codeline perspective, we are suggesting to create a Tomcat
5.0.x
>branch (exact name TBD) off the Tomcat 5.0.27 tag, and continue the
>5.0.x development in this branch. Also, subsequent releases of Tomcat
>5.0.x beyond 5.0.28 can be considered, until the 5.1 codebase reaches
>stability, or while there is interest in the community to continue
>development of the 5.0.x codebase.
>
>Thanks in advance for your comments.
>
>Petr Jiricka
>Sun Developer Tools group
>
>
>-
>To unsubscribe, e-mail: [EMAIL PROTECTED]
>For additional commands, e-mail: [EMAIL PROTECTED]




This e-mail, including any attachments, is a confidential business communication, and 
may contain information that is confidential, proprietary and/or privileged.  This 
e-mail is intended only for the individual(s) to whom it is addressed, and may not be 
saved, copied, printed, disclosed or used by anyone else.  If you are not the(an) 
intended recipient, please immediately delete this e-mail from your computer system 
and notify the sender.  Thank you.


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



RE: Tomcat 5.0.28 release

2004-08-09 Thread Shapira, Yoav

Hi,
Oh and BTW, definitely -1 on committing to regular monthly releases.
They'll come when they're ready: that's always been the process.  And
"ready" itself is also ambiguously defined as a critical fix,
significant enhancements, large number of bug fixes, or a combination
thereof.  If the average duration between releases for us has been 1
month, that's great, but it's a coincidence that I don't want to commit
to ;)  There are far too many variables in our work for that.

Yoav Shapira
Millennium Research Informatics


>-Original Message-
>From: Shapira, Yoav
>Sent: Monday, August 09, 2004 1:05 PM
>To: Tomcat Developers List
>Subject: RE: Tomcat 5.0.28 release
>
>
>Hi,
>A TOMCAT_5_0 branch was created at the time 5.0.27 was released.  I'm
>not gung-ho about making significant Tomcat 5.0 additions and
>enhancements, given the advanced state of Tomcat 5.1 development.  If
>there's a showstopper, security, or spec-compliance bug than of course
>it will be fixed and additional releases made.
>
>However, if you really want this strongly, feel free to submit patches
>back-porting the CVS HEAD patches onto the TOMCAT_5_0 branch code, and
>we'll look at them.
>
>As for JDK 1.5 specifically: Tomcat 5.1 will support JDK 1.5 without
>needing to modify anything.  Tomcat 5.0 doesn't make that claim, but it
>does let you modify parsers as you want using the standard endorsed
>classloading mechanism.  Of course I've already said that on the bug
>report ;)
>
>Yoav Shapira
>Millennium Research Informatics
>
>
>>-Original Message-
>>From: Petr Jiricka [mailto:[EMAIL PROTECTED]
>>Sent: Monday, August 09, 2004 12:43 PM
>>To: [EMAIL PROTECTED]
>>Subject: Tomcat 5.0.28 release
>>
>>Hi,
>>
>>we have been using Tomcat in the NetBeans product for about 4 years
now
>>(since the 3.2 beta releases), so first off, Thanks! for all your
great
>>work. Tomcat provides NetBeans users with the ability to run their
>>applications out of the box, debug in on the Java and JSP level, and
>>generally serves as an excellent testing environment for web
>>applications developed using NetBeans.
>>
>>Now, on behalf of the Sun Developer Tools group, I'd like to propose a
>>next release of the Tomcat 5.0.x codeline, i.e. Tomcat 5.0.28. The
>goals
>>of this release would be the following:
>>
>>- Continue to deliver a stable release of Tomcat in roughly 1 month
>>intervals. One of the reasons why Tomcat is so highly valued in the
>>community is because the time between finding a bug and deliveing the
>>fix is very short, thanks to the short release cycles. The community
>>appreciates the high quality of releases resulting from this release
>model.
>>
>>- The Sun Developer Tools group would like to include into this
release
>>several bug fixes in the Jasper area, that are currently available in
>>the trunk (5.1.x codebase), and that affect NetBeans 4.0
functionality,
>>such as JSP debugging or JSP editor.
>>
>>- The goal of 5.0.28 would be to support the upcoming JDK 1.5 release
>>(now called JDK 5.0) out of the box, so no post-install setup steps
are
>>necessary to run on JDK 5.0. Note that in Tomcat 5.0.27, it is
>necessary
>>to manually remove file common/endorsed/xml-apis.jar to make Tomcat
>work
>>with JDK 5.0, see also bug report 29579 or Tomcat release notes. This
>>not only degrades the initial experience on 1.5, but also poses
>problems
>>in the multiuser scenario, when some of the users who use a shared
>>Tomcat installation run JDK 1.4.x, and others run 1.5.
>>(Implementation-wise, this could be done e.g. by ignoring xml-apis.jar
>>in the classloader, when running on JDK 5.0, but there may be other
>>solutions available.)
>>
>>- Last but not least, other bug fixes present in the trunk, that are
>>easily and safely portable to 5.0.x, should be considered.
>>
>>
>> From a codeline perspective, we are suggesting to create a Tomcat
>5.0.x
>>branch (exact name TBD) off the Tomcat 5.0.27 tag, and continue the
>>5.0.x development in this branch. Also, subsequent releases of Tomcat
>>5.0.x beyond 5.0.28 can be considered, until the 5.1 codebase reaches
>>stability, or while there is interest in the community to continue
>>development of the 5.0.x codebase.
>>
>>Thanks in advance for your comments.
>>
>>Petr Jiricka
>>Sun Developer Tools group
>>
>>
>>-
>>To unsubscribe, e-mail: [EMAIL PROTECTED]
>>For additional commands, e-mail: [EMAIL PROTECTED]
>
>
>
>
>This e-mail, including any attachments, is a confidential business
>communication, and may contain information that is confidential,
>proprietary and/or privileged.  This e-mail is intended only for the
>individual(s) to whom it is addressed, and may not be saved, copied,
>printed, disclosed or used by anyone else.  If you are not the(an)
intended
>recipient, please immediately delete this e-mail from your computer
system
>and notify the sender.  Thank you.
>
>
>--

Re: cvs commit: jakarta-tomcat-catalina/catalina/src/share/org/apache/catalina/connector Request.java

2004-08-09 Thread Jan Luehe
Remy Maucherat wrote:
Bill Barker wrote:
- Original Message - From: <[EMAIL PROTECTED]>
To: <[EMAIL PROTECTED]>
Sent: Thursday, August 05, 2004 6:27 PM
Subject: cvs commit:
jakarta-tomcat-catalina/catalina/src/share/org/apache/catalina/connector
Request.java
 

luehe   2004/08/05 18:27:50
 Modified:catalina/src/share/org/apache/catalina/connector
   Request.java
 Log:
 Avoid allocating SimpleDateFormat[] for each request. Instead, declare
  
SimpleDateFormat[] as static and use static initializer to initialize it.
 

-1.  SimpleDateFormat isn't thread-safe, so you can't have multiple 
threads
accessing them.  That's why they were instance variables, so that one one
thread would ever be accessing them.
OK.
 This is consistent with SimpleDateFormat[] in
  
org.apache.tomcat.util.http.FastHttpDateFormat.
Which is well known to be broken ;-).
 

There's a misunderstanding about the design (I don't think 
FastHttpDateFormat is that broken anyway ;) ). The formats passed in 
argument has to be thread local, and FHDF won't sync.

So -1 too.

actually, FHDF.parseDate() does sync around SimpleDateFormat.parse()
if the "threadLocalformats" passed to it is null, in which case it
falls back to its own static "formats" (notice that in this case,
FHDF.internalParseDate() is within the synchronized block):
public static final long parseDate(String value,
   DateFormat[] threadLocalformats) {

if (threadLocalformats != null) {
date = internalParseDate(value, threadLocalformats);
synchronized (parseCache) {
updateCache(parseCache, value, date);
}
} else {
synchronized (parseCache) {
date = internalParseDate(value, formats);
updateCache(parseCache, value, date);
}
}
}
The DateFormat[] passed in from Request.parseDate() is *identical* to
the static "formats" in FHDF, so why are we not just passing "null"
from Request.parseDate() and leverage FHDF.formats (instead of having
each Request object provide its own SimpleDateFormat[] instance var)?
Is it to avoid that the potentially expensive date parsing is
performed inside the synchronized block?
Thanks,
Jan
-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]


Re: Tomcat 5.0.28 release

2004-08-09 Thread Remy Maucherat
Petr Jiricka wrote:
- Continue to deliver a stable release of Tomcat in roughly 1 month 
intervals. One of the reasons why Tomcat is so highly valued in the 
community is because the time between finding a bug and deliveing the 
fix is very short, thanks to the short release cycles. The community 
appreciates the high quality of releases resulting from this release 
model.
I do manage to integrate patches in the JBoss tree without the need for 
a stable release, whenever I really need a particular fix.
IMO, you should be prepared to do the same once in a while, it's easier 
for everyone. I believe Tomcat is used in a number of high profile 
servers (in addition to your usage), so making a release each time 
someone needs something (I suppose in the few days before a freeze of 
the relevant products, it would probably be every 5 minutes ;) ) isn't 
possible.

- The Sun Developer Tools group would like to include into this 
release several bug fixes in the Jasper area, that are currently 
available in the trunk (5.1.x codebase), and that affect NetBeans 4.0 
functionality, such as JSP debugging or JSP editor.

- The goal of 5.0.28 would be to support the upcoming JDK 1.5 release 
(now called JDK 5.0) out of the box, so no post-install setup steps 
are necessary to run on JDK 5.0. Note that in Tomcat 5.0.27, it is 
necessary to manually remove file common/endorsed/xml-apis.jar to make 
Tomcat work with JDK 5.0, see also bug report 29579 or Tomcat release 
notes. This not only degrades the initial experience on 1.5, but also 
poses problems in the multiuser scenario, when some of the users who 
use a shared Tomcat installation run JDK 1.4.x, and others run 1.5. 
(Implementation-wise, this could be done e.g. by ignoring xml-apis.jar 
in the classloader, when running on JDK 5.0, but there may be other 
solutions available.)
This is disruptive for 5.0.x. So, sorry, but I vote no for that one.
My current idea for the new branch is to ship a JDK 1.5 bundle with a 
separate zip/tar.gz to easily install the additional binaries when using 
JDK 1.4-. This will be smaller (no JMX, no Xerces) and maybe higher 
quality (more testing of the bundled components ?).

- Last but not least, other bug fixes present in the trunk, that are 
easily and safely portable to 5.0.x, should be considered.
This makes sense, but you need to indicate which patches need to be 
backported. I expect it's the JSP debugging related fixes then ?

From a codeline perspective, we are suggesting to create a Tomcat 
5.0.x branch (exact name TBD) off the Tomcat 5.0.27 tag, and continue 
the 5.0.x development in this branch. Also, subsequent releases of 
Tomcat 5.0.x beyond 5.0.28 can be considered, until the 5.1 codebase 
reaches stability, or while there is interest in the community to 
continue development of the 5.0.x codebase.
Nice plan :)
(ok, actually, we did that already before starting the refactoring, as 
Yoav mentioned)

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/connector Request.java

2004-08-09 Thread Remy Maucherat
Jan Luehe wrote:
Remy Maucherat wrote:
Bill Barker wrote:
- Original Message - From: <[EMAIL PROTECTED]>
To: <[EMAIL PROTECTED]>
Sent: Thursday, August 05, 2004 6:27 PM
Subject: cvs commit:
jakarta-tomcat-catalina/catalina/src/share/org/apache/catalina/connector 

Request.java
 

luehe   2004/08/05 18:27:50
 Modified:catalina/src/share/org/apache/catalina/connector
   Request.java
 Log:
 Avoid allocating SimpleDateFormat[] for each request. Instead, 
declare
  

SimpleDateFormat[] as static and use static initializer to 
initialize it.
 

-1.  SimpleDateFormat isn't thread-safe, so you can't have multiple 
threads
accessing them.  That's why they were instance variables, so that 
one one
thread would ever be accessing them.

OK.
 This is consistent with SimpleDateFormat[] in
  

org.apache.tomcat.util.http.FastHttpDateFormat.
Which is well known to be broken ;-).
 

There's a misunderstanding about the design (I don't think 
FastHttpDateFormat is that broken anyway ;) ). The formats passed in 
argument has to be thread local, and FHDF won't sync.

So -1 too.

actually, FHDF.parseDate() does sync around SimpleDateFormat.parse()
if the "threadLocalformats" passed to it is null, in which case it
falls back to its own static "formats" (notice that in this case,
FHDF.internalParseDate() is within the synchronized block):
public static final long parseDate(String value,
   DateFormat[] threadLocalformats) {

if (threadLocalformats != null) {
date = internalParseDate(value, threadLocalformats);
synchronized (parseCache) {
updateCache(parseCache, value, date);
}
} else {
synchronized (parseCache) {
date = internalParseDate(value, formats);
updateCache(parseCache, value, date);
}
}
}
The DateFormat[] passed in from Request.parseDate() is *identical* to
the static "formats" in FHDF, so why are we not just passing "null"
from Request.parseDate() and leverage FHDF.formats (instead of having
each Request object provide its own SimpleDateFormat[] instance var)?
Is it to avoid that the potentially expensive date parsing is
performed inside the synchronized block?
Yes, it's sort of obvious ;)
How much memory does a formatter uses ? I'd like to point out that 
pasing of dates will happen relatively often (last modified headers in 
requests, etc).

To summarize:
- passing null is correct, but syncs (otherwise it wouldn't work)
- passing a thread local formatter is correct
- passing a shared formatter isn't correct (as there would be thread 
safety issues)

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


Re: Tomcat 5.0.28 release

2004-08-09 Thread Tim Funk
Didn't we already try that with the tomcat 4 LE edition?
-Tim
Remy Maucherat wrote:
My current idea for the new branch is to ship a JDK 1.5 bundle with a 
separate zip/tar.gz to easily install the additional binaries when using 
JDK 1.4-. This will be smaller (no JMX, no Xerces) and maybe higher 
quality (more testing of the bundled components ?).
-
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/connector Request.java

2004-08-09 Thread Jan Luehe
[EMAIL PROTECTED]
The DateFormat[] passed in from Request.parseDate() is *identical* to
the static "formats" in FHDF, so why are we not just passing "null"
from Request.parseDate() and leverage FHDF.formats (instead of having
each Request object provide its own SimpleDateFormat[] instance var)?
Is it to avoid that the potentially expensive date parsing is
performed inside the synchronized block?

Yes, it's sort of obvious ;)
How much memory does a formatter uses ? I'd like to point out that 
pasing of dates will happen relatively often (last modified headers in 
requests, etc).

To summarize:
- passing null is correct, but syncs (otherwise it wouldn't work)
- passing a thread local formatter is correct
- passing a shared formatter isn't correct (as there would be thread 
safety issues)
Agreed.
I stumbled across mem usage as I was running a stress test
under OptimizeIt (and eventually getting OutOfMemory errors from
Servlets), and noticed a large number of char[] instances had been
allocated due to each Request creating its own SimpleDateFormat[].
Jan
-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]


Intercepting RMI over IIOP calls

2004-08-09 Thread Arif Siddiqui
Hi,

I wish to intercept RMI over IIOP calls in Tomcat and add some
information to them.  What is the best way to go about doing it.  

Does Tomcat support the CORBA standard org.omg.PortableInterceptor?
What is the alternative of RequestInterceptor directive (server.xml)
in Tomcat 5?

P.S.  I posted the questions above to the user list but didn't receive
any replies, any help is appreciated.

Thanks.

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



Re: Intercepting RMI over IIOP calls

2004-08-09 Thread mail
I'm away from my computer now, but when I return, I'll read your mail and respond 
within one week.

Jeg er væk fra min computer nu, men når jeg vender tilbage, vil jeg læse din mail og 
besvare den inden en uge.

Best regards / Med venlig hilsen


Søren Frederiksen
www.sofr.dk



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



Re: Re: Intercepting RMI over IIOP calls

2004-08-09 Thread mail
I'm away from my computer now, but when I return, I'll read your mail and respond 
within one week.

Jeg er væk fra min computer nu, men når jeg vender tilbage, vil jeg læse din mail og 
besvare den inden en uge.

Best regards / Med venlig hilsen


Søren Frederiksen
www.sofr.dk



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



Re: Re: Re: Intercepting RMI over IIOP calls

2004-08-09 Thread mail
I'm away from my computer now, but when I return, I'll read your mail and respond 
within one week.

Jeg er væk fra min computer nu, men når jeg vender tilbage, vil jeg læse din mail og 
besvare den inden en uge.

Best regards / Med venlig hilsen


Søren Frederiksen
www.sofr.dk



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



Re: Re: Re: Re: Intercepting RMI over IIOP calls

2004-08-09 Thread mail
I'm away from my computer now, but when I return, I'll read your mail and respond 
within one week.

Jeg er væk fra min computer nu, men når jeg vender tilbage, vil jeg læse din mail og 
besvare den inden en uge.

Best regards / Med venlig hilsen


Søren Frederiksen
www.sofr.dk



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



Re: Re: Re: Re: Re: Intercepting RMI over IIOP calls

2004-08-09 Thread mail
I'm away from my computer now, but when I return, I'll read your mail and respond 
within one week.

Jeg er væk fra min computer nu, men når jeg vender tilbage, vil jeg læse din mail og 
besvare den inden en uge.

Best regards / Med venlig hilsen


Søren Frederiksen
www.sofr.dk



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



Re: Re: Re: Re: Re: Re: Intercepting RMI over IIOP calls

2004-08-09 Thread mail
I'm away from my computer now, but when I return, I'll read your mail and respond 
within one week.

Jeg er væk fra min computer nu, men når jeg vender tilbage, vil jeg læse din mail og 
besvare den inden en uge.

Best regards / Med venlig hilsen


Søren Frederiksen
www.sofr.dk



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



Re: Re: Re: Re: Re: Re: Re: Intercepting RMI over IIOP calls

2004-08-09 Thread mail
I'm away from my computer now, but when I return, I'll read your mail and respond 
within one week.

Jeg er væk fra min computer nu, men når jeg vender tilbage, vil jeg læse din mail og 
besvare den inden en uge.

Best regards / Med venlig hilsen


Søren Frederiksen
www.sofr.dk



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



Re: Re: Re: Re: Re: Re: Re: Re: Intercepting RMI over IIOP calls

2004-08-09 Thread mail
I'm away from my computer now, but when I return, I'll read your mail and respond 
within one week.

Jeg er væk fra min computer nu, men når jeg vender tilbage, vil jeg læse din mail og 
besvare den inden en uge.

Best regards / Med venlig hilsen


Søren Frederiksen
www.sofr.dk



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



Re: Re: Re: Re: Re: Re: Re: Re: Re: Intercepting RMI over IIOP calls

2004-08-09 Thread mail
I'm away from my computer now, but when I return, I'll read your mail and respond 
within one week.

Jeg er væk fra min computer nu, men når jeg vender tilbage, vil jeg læse din mail og 
besvare den inden en uge.

Best regards / Med venlig hilsen


Søren Frederiksen
www.sofr.dk



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



Re: Re: Re: Re: Re: Re: Re: Re: Re: Re: Intercepting RMI over IIOP calls

2004-08-09 Thread mail
I'm away from my computer now, but when I return, I'll read your mail and respond 
within one week.

Jeg er væk fra min computer nu, men når jeg vender tilbage, vil jeg læse din mail og 
besvare den inden en uge.

Best regards / Med venlig hilsen


Søren Frederiksen
www.sofr.dk



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



DO NOT REPLY [Bug 30285] - Jasper fails to compile in a reloaded webapp with static method signature change

2004-08-09 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://issues.apache.org/bugzilla/show_bug.cgi?id=30285

Jasper fails to compile in a reloaded webapp with static method signature change

[EMAIL PROTECTED] changed:

   What|Removed |Added

 Status|REOPENED|RESOLVED
 Resolution||WORKSFORME



--- Additional Comments From [EMAIL PROTECTED]  2004-08-09 20:16 ---
Just tested this with Eclipse with the MyEclipse plug-in.

This works as expected. For info I noted the following:
Just replacing the class file has no effect
(the servlet has already been loaded)

Then updating the JSP causes the exception
(the servlet still has the old signature and the JSP is trying to use the new 
one)

Reloading the webapp through the manager fixes the error
(both the servlet and the JSP refer to the new signature)

-
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/connector Request.java

2004-08-09 Thread Remy Maucherat
Jan Luehe wrote:
Agreed.
I stumbled across mem usage as I was running a stress test
under OptimizeIt (and eventually getting OutOfMemory errors from
Servlets), and noticed a large number of char[] instances had been
allocated due to each Request creating its own SimpleDateFormat[].
You get an OOM because of it ? I think not, though.
You need to speak hard numbers here (because syncing will have its own 
cost, esp on a large server that your company makes so much cash on ;) 
): how many bytes are allocated by each formatter ?

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


DO NOT REPLY [Bug 30551] New: - New version of JK Connector(1.2.6) does not seem to be working for POST requests.

2004-08-09 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://issues.apache.org/bugzilla/show_bug.cgi?id=30551

New version of JK Connector(1.2.6) does not seem to be working for POST requests.

   Summary: New version of JK Connector(1.2.6) does not seem to be
working for POST requests.
   Product: Tomcat 4
   Version: 4.1.30
  Platform: PC
OS/Version: Windows XP
Status: NEW
  Severity: Critical
  Priority: Other
 Component: Connector:JK/AJP (deprecated)
AssignedTo: [EMAIL PROTECTED]
ReportedBy: [EMAIL PROTECTED]


I am trying to port an existing application that is using JK2 to new release 
of JK connector. When I could not configure the app I tried to run a simple 
example application from Tomcat. I could not configure it either. 
Here is my set-up for the simple Tomcat sample application.

I am using JK 1.2.6(recent release) to link IIS5.0 to Tomcat4.1.30 both 
running on WinXP. I am tring to send a simple POST request using 
the "SessionExamples" sample Tomcat application(url 
http://localhost/examples/servlet/SessionExample).
Here are my worker.property and uriworkermap.properties file(from 
)  
worker.properties***
#  Begin worker.properties **
worker.list=test
worker.test.host=10.1.85.182
worker.test.port=8009
worker.test.type=ajp13
*

**uriworkermap.properties
/examples/*=test
*
My isapi_redirect.dll file is located @\bin\win32\i386 there is
read\execute permission set on the virtual directory.

Get requests are getting processed fine but I am getting following error on 
POST requests:

ERROR***
Aug 9, 2004 10:44:21 AM org.apache.coyote.http11.Http11Protocol init
INFO: Initializing Coyote HTTP/1.1 on port 8080
Starting service Tomcat-Standalone
Apache Tomcat/4.1.30
Aug 9, 2004 10:44:22 AM org.apache.struts.util.PropertyMessageResources 
INFO: Initializing, config='org.apache.struts.util.LocalStrings', 
returnNull=true
Aug 9, 2004 10:44:22 AM org.apache.struts.util.PropertyMessageResources 
INFO: Initializing, config='org.apache.struts.action.ActionResources', 
returnNull=true
Aug 9, 2004 10:44:22 AM org.apache.struts.util.PropertyMessageResources 
INFO: Initializing, config='org.apache.webapp.admin.ApplicationResources', 
returnNull=true
Aug 9, 2004 10:44:24 AM org.apache.coyote.http11.Http11Protocol start
INFO: Starting Coyote HTTP/1.1 on port 8080
Aug 9, 2004 10:44:24 AM org.apache.jk.common.ChannelSocket init
INFO: JK2: ajp13 listening on /0.0.0.0:8009
Aug 9, 2004 10:44:24 AM org.apache.jk.server.JkMain start
INFO: Jk running ID=0 time=0/50  config=null
Aug 9, 2004 10:45:41 AM org.apache.jk.common.HandlerRequest invoke
SEVERE: Error decoding request
java.io.IOException
at org.apache.jk.common.JkInputStream.receive(JkInputStream.java:294)
at org.apache.jk.common.HandlerRequest.decodeRequest
(HandlerRequest.java:537)
at org.apache.jk.common.HandlerRequest.invoke(HandlerRequest.java:373)
at org.apache.jk.common.ChannelSocket.invoke(ChannelSocket.java:673)
at org.apache.jk.common.ChannelSocket.processConnection
(ChannelSocket.java:615)
at org.apache.jk.common.SocketConnection.runIt(ChannelSocket.java:786)
at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run
(ThreadPool.java:683)
at java.lang.Thread.run(Thread.java:534)

12 34 02 28 02 04 00 08 48 54 54 50 2f 31 2e 31  | .4.(HTTP/1.1
00 00 20 2f 65 78 61 6d 70 6c 65 73 2f 73 65 72  | .. /examples/ser
76 6c 65 74 2f 53 65 73 73 69 6f 6e 45 78 61 6d  | vlet/SessionExam
70 6c 65 00 00 09 31 32 37 2e 30 2e 30 2e 31 00  | ple...127.0.0.1.
00 09 31 32 37 2e 30 2e 30 2e 31 00 00 09 6c 6f  | ..127.0.0.1...lo
63 61 6c 68 6f 73 74 00 00 50 00 00 0b a0 01 00  | calhost..P...?..
a4 69 6d 61 67 65 2f 67 69 66 2c 20 69 6d 61 67  | ?image/gif, imag
65 2f 78 2d 78 62 69 74 6d 61 70 2c 20 69 6d 61  | e/x-xbitmap, ima
67 65 2f 6a 70 65 67 2c 20 69 6d 61 67 65 2f 70  | ge/jpeg, image/p
6a 70 65 67 2c 20 61 70 70 6c 69 63 61 74 69 6f  | jpeg, applicatio
6e 2f 76 6e 64 2e 6d 73 2d 65 78 63 65 6c 2c 20  | n/vnd.ms-excel,
61 70 70 6c 69 63 61 74 69 6f 6e 2f 76 6e 64 2e  | application/vnd.
6d 73 2d 70 6f 77 65 72 70 6f 69 6e 74 2c 20 61  | ms-powerpoint, a
70 70 6c 69 63 61 74 69 6f 6e 2f 6d 73 77 6f 72  | pplication/mswor
64 2c 20 61 70 70 6c 69 63 61 74 69 6f 6e 2f 78  | d, application/x
2d 73 68 6f 63 6b 77 61 76 65 2d 66 6c 61 73 68  | -shockwave-flash
2c 20 2a 2f 2a 00 a0 04 00 05 65 6e 2d 75 73 00  | , */*.?...en-us.
a0 06 00 0a 4b 65 65 70 2d 

cvs commit: jakarta-tomcat-connectors/jk/native/common jk_ajp_common.c

2004-08-09 Thread mmanders
mmanders2004/08/09 15:30:53

  Modified:jk/native/common jk_ajp_common.c
  Log:
  The variables being referenced by the format strings were in the wrong order.
  
  Revision  ChangesPath
  1.57  +3 -3  jakarta-tomcat-connectors/jk/native/common/jk_ajp_common.c
  
  Index: jk_ajp_common.c
  ===
  RCS file: /home/cvs/jakarta-tomcat-connectors/jk/native/common/jk_ajp_common.c,v
  retrieving revision 1.56
  retrieving revision 1.57
  diff -u -r1.56 -r1.57
  --- jk_ajp_common.c   1 Mar 2004 13:51:48 -   1.56
  +++ jk_ajp_common.c   9 Aug 2004 22:30:53 -   1.57
  @@ -801,7 +801,7 @@
   jk_log(l, JK_LOG_ERROR,
  "ajp_connection_tcp_get_message: "
  "Error - Wrong message format 0x%04x from %s\n",
  -   jk_dump_hinfo(&ae->worker->worker_inet_addr, buf), header);
  +   header, jk_dump_hinfo(&ae->worker->worker_inet_addr, buf));
   }
   return JK_FALSE;
   }
  @@ -818,7 +818,7 @@
   jk_log(l, JK_LOG_ERROR,
  "ajp_connection_tcp_get_message: "
  "Error - Wrong message format 0x%04x from %s\n",
  -   jk_dump_hinfo(&ae->worker->worker_inet_addr, buf), header);
  +   header, jk_dump_hinfo(&ae->worker->worker_inet_addr, buf));
   }
   return JK_FALSE;
   }
  
  
  

-
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/connector Request.java

2004-08-09 Thread Jan Luehe
Remy Maucherat wrote:
Jan Luehe wrote:
Agreed.
I stumbled across mem usage as I was running a stress test
under OptimizeIt (and eventually getting OutOfMemory errors from
Servlets), and noticed a large number of char[] instances had been
allocated due to each Request creating its own SimpleDateFormat[].

You get an OOM because of it ? I think not, though.
No, definitely not because of this, but i'm in the process of
eliminating any redundant allocations.
I thought SimpleDateFormat with a constant pattern was a candidate, but
as Bill and you pointed out (and the javadocs now mention), it is not
thread-safe.
You need to speak hard numbers here (because syncing will have its own 
cost, esp on a large server that your company makes so much cash on ;) 
):
Agreed. :)
how many bytes are allocated by each formatter ?
I'll get back to you on this. For the time being, I'll revert my
previous change.
Jan
-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]


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

2004-08-09 Thread luehe
luehe   2004/08/09 15:55:00

  Modified:catalina/src/share/org/apache/catalina/connector
Request.java
  Log:
  Reverted previous patch (except for keeping the GMT_ZONE constant),
  because SimpleDateFormat is not thread-safe and therefore cannot be
  declared as a static var.
  
  We could pass "null" to FastHttpDateFormat.parseDate(), in which case
  we would leverage FastHttpDateFormat's SimpleDateFormat[] constant,
  but this would mean that dates would be parsed within the synchronized
  block in FastHttpDateFormat.parseDate(), which may be costly.
  
  Revision  ChangesPath
  1.12  +26 -18
jakarta-tomcat-catalina/catalina/src/share/org/apache/catalina/connector/Request.java
  
  Index: Request.java
  ===
  RCS file: 
/home/cvs/jakarta-tomcat-catalina/catalina/src/share/org/apache/catalina/connector/Request.java,v
  retrieving revision 1.11
  retrieving revision 1.12
  diff -u -r1.11 -r1.12
  --- Request.java  6 Aug 2004 01:27:50 -   1.11
  +++ Request.java  9 Aug 2004 22:55:00 -   1.12
  @@ -82,6 +82,18 @@
   implements HttpServletRequest {
   
   
  +// --- Constructors
  +
  +
  +public Request() {
  +
  +formats[0].setTimeZone(GMT_ZONE);
  +formats[1].setTimeZone(GMT_ZONE);
  +formats[2].setTimeZone(GMT_ZONE);
  +
  +}
  +
  +
   // - Properties
   
   
  @@ -111,26 +123,9 @@
   // - Variables
   
   
  -/**
  - * The set of SimpleDateFormat formats to use in getDateHeader().
  - */
  -protected static final SimpleDateFormat FORMATS[] = {
  -new SimpleDateFormat("EEE, dd MMM  HH:mm:ss zzz", Locale.US),
  -new SimpleDateFormat("EE, dd-MMM-yy HH:mm:ss zzz", Locale.US),
  -new SimpleDateFormat("EEE  d HH:mm:ss ", Locale.US)
  -};
  -
  -
   protected static final TimeZone GMT_ZONE = TimeZone.getTimeZone("GMT");
   
   
  -static {
  -FORMATS[0].setTimeZone(GMT_ZONE);
  -FORMATS[1].setTimeZone(GMT_ZONE);
  -FORMATS[2].setTimeZone(GMT_ZONE);
  -}
  -
  -
   /**
* The string manager for this package.
*/
  @@ -145,6 +140,19 @@
   
   
   /**
  + * The set of SimpleDateFormat formats to use in getDateHeader().
  + *
  + * Notice that because SimpleDateFormat is not thread-safe, we can't
  + * declare formats[] as a static variable.
  + */
  +protected SimpleDateFormat formats[] = {
  +new SimpleDateFormat("EEE, dd MMM  HH:mm:ss zzz", Locale.US),
  +new SimpleDateFormat("EE, dd-MMM-yy HH:mm:ss zzz", Locale.US),
  +new SimpleDateFormat("EEE  d HH:mm:ss ", Locale.US)
  +};
  +
  +
  +/**
* The default Locale if none are specified.
*/
   protected static Locale defaultLocale = Locale.getDefault();
  @@ -1765,7 +1773,7 @@
   return (-1L);
   
   // Attempt to convert the date header in a variety of formats
  -long result = FastHttpDateFormat.parseDate(value, FORMATS);
  +long result = FastHttpDateFormat.parseDate(value, formats);
   if (result != (-1L)) {
   return result;
   }
  
  
  

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



cvs commit: jakarta-tomcat-connectors/util/java/org/apache/tomcat/util/http Cookies.java

2004-08-09 Thread luehe
luehe   2004/08/09 16:23:43

  Modified:util/java/org/apache/tomcat/util/http Cookies.java
  Log:
  Avoid potential ArrayIndexOutOfBoundsException for something like
  
Cookie: abc=
  
  We've been incrementing pos and later accessing
  
cc=bytes[pos];
  
  without checking for out-of-range, causing
  ArrayIndexOutOfBoundsException in some cases.
  
  Revision  ChangesPath
  1.7   +1 -1  
jakarta-tomcat-connectors/util/java/org/apache/tomcat/util/http/Cookies.java
  
  Index: Cookies.java
  ===
  RCS file: 
/home/cvs/jakarta-tomcat-connectors/util/java/org/apache/tomcat/util/http/Cookies.java,v
  retrieving revision 1.6
  retrieving revision 1.7
  diff -u -r1.6 -r1.7
  --- Cookies.java  24 Feb 2004 08:50:04 -  1.6
  +++ Cookies.java  9 Aug 2004 23:23:43 -   1.7
  @@ -225,7 +225,7 @@
   
cc=bytes[pos];
pos++;
  - if( cc==';' || cc==',' ) {
  + if( cc==';' || cc==',' || pos>=end ) {
if( ! isSpecial && startName!= endName ) {
sc=addCookie();
sc.getName().setBytes( bytes, startName,
  
  
  

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



DO NOT REPLY [Bug 30552] New: - DirectoryIndex directive broken by mod_jk 1.2.6

2004-08-09 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://issues.apache.org/bugzilla/show_bug.cgi?id=30552

DirectoryIndex directive broken by mod_jk 1.2.6

   Summary: DirectoryIndex directive broken by mod_jk 1.2.6
   Product: Tomcat 5
   Version: 5.0.27
  Platform: Other
OS/Version: All
Status: NEW
  Severity: Normal
  Priority: Other
 Component: Native:JK
AssignedTo: [EMAIL PROTECTED]
ReportedBy: [EMAIL PROTECTED]


Something in mod_jk 1.2.6 is breaking my DirectoryIndex directive.  It works
fine with mod_jk 1.2.5

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



DO NOT REPLY [Bug 30552] - DirectoryIndex directive broken by mod_jk 1.2.6

2004-08-09 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://issues.apache.org/bugzilla/show_bug.cgi?id=30552

DirectoryIndex directive broken by mod_jk 1.2.6





--- Additional Comments From [EMAIL PROTECTED]  2004-08-10 02:39 ---
BTW I'm using Apache 2.0.50 and Tomcat 5.0.27

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



DO NOT REPLY [Bug 29579] - J2SE 1.5.0 and xmlParserAPIs.jar

2004-08-09 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://issues.apache.org/bugzilla/show_bug.cgi?id=29579

J2SE 1.5.0 and xmlParserAPIs.jar





--- Additional Comments From [EMAIL PROTECTED]  2004-08-10 03:47 ---
To use the same Tomcat home for users with different JDK requirements, users 
can always create their own Tomcat startup scripts to set a different 
java.endorsed.dirs env setting.  One doesn't have to modified the 
common/endorsed directory.

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



autostart for /admin - was Re: StandardClassLoader ?

2004-08-09 Thread Costin Manolache
Remy Maucherat wrote:
The time is mostly parsing web.xml. However, it's nothing when 
compared to starting certain webapps (such as the admin webapp), 
where *one* webapp takes more time than starting up the rest of 
Tomcat (including all the simple webapps, JMX and the modeler 
descriptors, etc).

Does it really need "load-on-startup" for its ApplicationServlet ??

Try it without ;)
I tried.

Do we really need to load /admin on startup ? Most people never use it,
or use it only ocasionally. How many times do you configure the server ?

I know, but it doesn't work right now (it's Struts' fault :( ). If you 
have ideas to make it work, then I'm obviously +1 for removing the 
load-on-startup thing.

One simple solution is to add
<% // Force the initialization of "action" servlet
   RequestDispatcher 
actionS=getServletContext().getNamedDispatcher("action").include(request,response);
%>

in login.jsp
A better solution is to add a small filter that will make sure struts is 
initialized. However that doesn't seem to work with login.jsp - the 
filter is not called ( I tried explicit match, by name, etc ).

BTW, does the spec says that the form login page is excluded from filters ??
I can check in both the filter and the small hack to login.jsp, it seems 
to work fine.



Having "lazy loaded" webapps as a generic solution will help both 
admin/ but also other infrequently used webapps. BTW - load-on-startup 
doesn't necesarily mean "server startup" ( at least that's my 
understanding ), it means when the webapp is started.

I don't think we can have that. It doesn't fit the way the other stuff 
works (deployer, mapper).
Well, the mapper is already able to deal with webapps that are 
removed/added/reloaded.

A "lazy loaded" app is like an app that has a single mapping, /* - 
mapped to a lazy-load action that will read web.xml and add the other 
mappings.

I think it's a very reasonable use case - performance is not only about 
HelloWorld response time, but also about hosting 1000s small ( and 
infrequently used ) apps. Apache can handle very large numbers of 
virtual hosts and apps.

Well, you can use DOM for web.xml - but you need DOM only when 
changing settings, so you can also create the dom lazy, and use the 
.ser form
on regular startup.

DOM is for server.xml. I don't think we need to save web.xml, right ?
Well, that's a big discussion, let's leave it for another time :-)


I agree. I'm kinda running out of optimization ideas, though (I don't 
know if you profiled the regular request processing lately, but there's 
really nothing left). There doesn't seem to be too much which is doable 
with the startup overall.
See above. I ran out of ideas for the basic path long ago ( or at least 
out of interest :-), it is more than enough for most uses.

Optimizations for the other direction - very larger number of 
apps/vhosts - are more interesting. So is optimizing the uptime - having 
tomcat never need a restart is sometimes better than slightly better 
startup time.

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


Re: Tomcat 5.0.28 release

2004-08-09 Thread Costin Manolache
I'm sorry, but can't remember - why do we still need the endorsed ?
I tought they were a temporary solution for JDK1.4 and some validation 
problems - tomcat should work fine with any SAX/DOM parser, including 
the one in JDK1.4.

The only problem is JDK1.3 - and I agree that it would be better to just 
provide a patch for 1.3 ( or ask the user to install a parser in jre/ext
or classpath, to get the same behavior as in 1.4 ). Or even better -
in Bootstrap check if we're in 1.3 and add the parser to the classpath,
otherwise use whatever is in jdk ( and maybe turn validation of if the
version of jdk and parser is not the right one ).

In any case - modularizing the distribution would be really good. Having 
a core JDK1.5 distro, and additional packages to add JDK1.4 and JDK1.3 
support is good. It would also be good to distribute more components as 
optional plug-ins.

Again - I missed a lot of discussions, probably most of this has been 
discussed, I'll try more searches on the archives :-)

Costin
Tim Funk wrote:
Didn't we already try that with the tomcat 4 LE edition?
-Tim
Remy Maucherat wrote:
My current idea for the new branch is to ship a JDK 1.5 bundle with a 
separate zip/tar.gz to easily install the additional binaries when 
using JDK 1.4-. This will be smaller (no JMX, no Xerces) and maybe 
higher quality (more testing of the bundled components ?).

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