DO NOT REPLY [Bug 43377] New: - RequestDumperValve garbles POST data

2007-09-13 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=43377

   Summary: RequestDumperValve garbles POST data
   Product: Tomcat 5
   Version: Unknown
  Platform: Other
OS/Version: other
Status: NEW
  Severity: normal
  Priority: P2
 Component: Catalina
AssignedTo: [EMAIL PROTECTED]
ReportedBy: [EMAIL PROTECTED]


Enabling the RequestDumperValve can lead to garbled POST data, but only under
the following circumstances:

1. The POST data is submitted with the content type/method
application/x-www-form-urlencoded. The issue does NOT occur if the POST request
uses multipart/form-data.
2. The POST data must contain some non-ASCII characters (e.g. German umlauts
äöüÄÖÜ) which are transferred using UTF-8 multi-byte sequences.

I have not debugged this problem on the source code level, but what seems to
happen is the following:
- the encoded POST data looks e.g. like this:
comment=noch+ein+Test+%C3%A4%C3%B6%C3%BC%C3%84%C3%96%C3%9C
- the form data is de-escaped, i.e. the %xx sequences are converted to binary
- the next step should be to UTF-8 decode the data, but this step seems to be
skipped. 
- the garbled, i.e. not UTF-8 decoded data ends up in the request parameters,
looking like this "noch ein Test äöüÄÖÜ" instead of this 
"noch ein Test
äöüÄÖÜ"

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

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



svn commit: r575262 - /tomcat/tc6.0.x/trunk/webapps/docs/virtual-hosting-howto.xml

2007-09-13 Thread markt
Author: markt
Date: Thu Sep 13 04:32:38 2007
New Revision: 575262

URL: http://svn.apache.org/viewvc?rev=575262&view=rev
Log:
Take account of bug 39013. Not sure if it is valid but there is a warning about 
it in the context docs.

Modified:
tomcat/tc6.0.x/trunk/webapps/docs/virtual-hosting-howto.xml

Modified: tomcat/tc6.0.x/trunk/webapps/docs/virtual-hosting-howto.xml
URL: 
http://svn.apache.org/viewvc/tomcat/tc6.0.x/trunk/webapps/docs/virtual-hosting-howto.xml?rev=575262&r1=575261&r2=575262&view=diff
==
--- tomcat/tc6.0.x/trunk/webapps/docs/virtual-hosting-howto.xml (original)
+++ tomcat/tc6.0.x/trunk/webapps/docs/virtual-hosting-howto.xml Thu Sep 13 
04:32:38 2007
@@ -48,8 +48,8 @@
 
 
 
-
-
+
+
 
 
 
@@ -68,8 +68,8 @@
   Create directories for each of the virtual hosts:
 
 
-mkdir $CATALINA_HOME/webapps-ren
-mkdir $CATALINA_HOME/webapps-stimpy
+mkdir $CATALINA_HOME/renapps
+mkdir $CATALINA_HOME/stimpyapps
 
   
 
@@ -78,10 +78,10 @@
   Contexts are normally located underneath the appBase directory. For
example, to deploy the foobar context as a war file in
the ren host, use
-   $CATALINA_HOME/webapps-ren/foobar.war. Note that the
+   $CATALINA_HOME/renapps/foobar.war. Note that the
default or ROOT context for ren would be deployed as
-   $CATALINA_HOME/webapps-ren/ROOT.war (WAR) or
-   $CATALINA_HOME/webapps-ren/ROOR (directory).
+   $CATALINA_HOME/renapps/ROOT.war (WAR) or
+   $CATALINA_HOME/renapps/ROOR (directory).
   
   NOTE: The docBase for a context should never be
 the same as the appBase for a host.
@@ -92,7 +92,7 @@
 Within your Context, create a META-INF directory and then
 place your Context definition in it in a file named
 context.xml. i.e.
-$CATALINA_HOME/webapps-ren/ROOT/META-INF/context.xml
+$CATALINA_HOME/renapps/ROOT/META-INF/context.xml
 This makes deployment easier, particularly if you're distributing a WAR
 file.
   



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



svn commit: r575265 - /tomcat/container/tc5.5.x/webapps/docs/virtual-hosting-howto.xml

2007-09-13 Thread markt
Author: markt
Date: Thu Sep 13 04:34:53 2007
New Revision: 575265

URL: http://svn.apache.org/viewvc?rev=575265&view=rev
Log:
Port changes from TC6

Modified:
tomcat/container/tc5.5.x/webapps/docs/virtual-hosting-howto.xml

Modified: tomcat/container/tc5.5.x/webapps/docs/virtual-hosting-howto.xml
URL: 
http://svn.apache.org/viewvc/tomcat/container/tc5.5.x/webapps/docs/virtual-hosting-howto.xml?rev=575265&r1=575264&r2=575265&view=diff
==
--- tomcat/container/tc5.5.x/webapps/docs/virtual-hosting-howto.xml (original)
+++ tomcat/container/tc5.5.x/webapps/docs/virtual-hosting-howto.xml Thu Sep 13 
04:34:53 2007
@@ -48,8 +48,8 @@
 
 
 
-
-
+
+
 
 
 
@@ -68,8 +68,8 @@
   Create directories for each of the virtual hosts:
 
 
-mkdir $CATALINA_HOME/webapps-ren
-mkdir $CATALINA_HOME/webapps-stimpy
+mkdir $CATALINA_HOME/renapps
+mkdir $CATALINA_HOME/stimpyapps
 
   
 
@@ -78,10 +78,10 @@
   Contexts are normally located underneath the appBase directory. For
example, to deploy the foobar context as a war file in
the ren host, use
-   $CATALINA_HOME/webapps-ren/foobar.war. Note that the
+   $CATALINA_HOME/renapps/foobar.war. Note that the
default or ROOT context for ren would be deployed as
-   $CATALINA_HOME/webapps-ren/ROOT.war (WAR) or
-   $CATALINA_HOME/webapps-ren/ROOR (directory).
+   $CATALINA_HOME/renapps/ROOT.war (WAR) or
+   $CATALINA_HOME/renapps/ROOR (directory).
   
   NOTE: The docBase for a context should never be
 the same as the appBase for a host.
@@ -92,7 +92,7 @@
 Within your Context, create a META-INF directory and then
 place your Context definition in it in a file named
 context.xml. i.e.
-$CATALINA_HOME/webapps-ren/ROOT/META-INF/context.xml
+$CATALINA_HOME/renapps/ROOT/META-INF/context.xml
 This makes deployment easier, particularly if you're distributing a WAR
 file.
   



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



svn commit: r575272 - /tomcat/container/tc5.5.x/webapps/docs/config/context.xml

2007-09-13 Thread markt
Author: markt
Date: Thu Sep 13 04:42:36 2007
New Revision: 575272

URL: http://svn.apache.org/viewvc?rev=575272&view=rev
Log:
More clarification about Contexts, path and docBase as a result of 
http://marc.info/?l=tomcat-user&m=118945359807000&w=2.

Modified:
tomcat/container/tc5.5.x/webapps/docs/config/context.xml

Modified: tomcat/container/tc5.5.x/webapps/docs/config/context.xml
URL: 
http://svn.apache.org/viewvc/tomcat/container/tc5.5.x/webapps/docs/config/context.xml?rev=575272&r1=575271&r2=575272&view=diff
==
--- tomcat/container/tc5.5.x/webapps/docs/config/context.xml (original)
+++ tomcat/container/tc5.5.x/webapps/docs/config/context.xml Thu Sep 13 
04:42:36 2007
@@ -169,8 +169,11 @@
 Do not choose a docBase that starts with your Host's appBase string.
 The default appBase is "webapps" so do not choose a docBase like
 "webapps-foo."  Doing so will lead to deployment errors: see 
-http://issues.apache.org/bugzilla/show_bug.cgi?id=39013"; 
title="Bugzilla 39013">Bugzilla
-for details.
+http://issues.apache.org/bugzilla/show_bug.cgi?id=39013";
+title="Bugzilla 39013">Bugzilla for details.
+The value of this field must not be set when the Context is
+configured using a META-INF/context.xml file as it will be
+inferred by the automatic deployment process.
   
 
   
@@ -193,10 +196,10 @@
 within a particular Host must be unique.
 If you specify a context path of an empty string (""), you are
 defining the default web application for this Host, which
-will process all requests not assigned to other Contexts. The value of
-this field must not be set except when statically defining a Context in
-server.xml, as it will be inferred from the filenames used for either 
the 
-.xml context file or the docBase.
+will process all requests not assigned to other Contexts.
+The value of this field must not be set except when statically
+defining a Context in server.xml, as it will be inferred from the
+filenames used for either the .xml context file or the docBase.
   
 
   



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



svn commit: r575274 - /tomcat/tc6.0.x/trunk/webapps/docs/config/context.xml

2007-09-13 Thread markt
Author: markt
Date: Thu Sep 13 04:48:25 2007
New Revision: 575274

URL: http://svn.apache.org/viewvc?rev=575274&view=rev
Log:
More clarification about Contexts, path and docBase as a result of 
http://marc.info/?l=tomcat-user&m=118945359807000&w=2.

Modified:
tomcat/tc6.0.x/trunk/webapps/docs/config/context.xml

Modified: tomcat/tc6.0.x/trunk/webapps/docs/config/context.xml
URL: 
http://svn.apache.org/viewvc/tomcat/tc6.0.x/trunk/webapps/docs/config/context.xml?rev=575274&r1=575273&r2=575274&view=diff
==
--- tomcat/tc6.0.x/trunk/webapps/docs/config/context.xml (original)
+++ tomcat/tc6.0.x/trunk/webapps/docs/config/context.xml Thu Sep 13 04:48:25 
2007
@@ -158,10 +158,13 @@
 The Document Base (also known as the Context
 Root) directory for this web application, or the pathname
 to the web application archive file (if this web application is
-being executed directly from the WAR file).You may specify
+being executed directly from the WAR file). You may specify
 an absolute pathname for this directory or WAR file, or a pathname
 that is relative to the appBase directory of the
 owning Host.
+The value of this field must not be set when the Context is
+configured using a META-INF/context.xml file as it will be
+inferred by the automatic deployment process.
   
 
   
@@ -188,10 +191,10 @@
 within a particular Host must be unique.
 If you specify a context path of an empty string (""), you are
 defining the default web application for this Host, which
-will process all requests not assigned to other Contexts. The value of
-this field must not be set except when statically defining a Context in
-server.xml, as it will be inferred from the filenames used for either 
the 
-.xml context file or the docBase.
+will process all requests not assigned to other Contexts.
+The value of this field must not be set except when statically
+defining a Context in server.xml, as it will be inferred from the
+filenames used for either the .xml context file or the docBase.
   
 
   



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



svn commit: r575332 - in /tomcat/tc6.0.x/trunk: java/org/apache/naming/resources/FileDirContext.java webapps/docs/changelog.xml

2007-09-13 Thread funkman
Author: funkman
Date: Thu Sep 13 08:19:59 2007
New Revision: 575332

URL: http://svn.apache.org/viewvc?rev=575332&view=rev
Log:
Allow for Aliases at the resource level. 

This is to prevent situations of relying on symlinks, or Filters 
while still make outside directories appear as part of the webapp. 
(A common feature request seen on the user list) 

Example usage:

  


If the feature is NOT used - there is no additional overhead.



Modified:
tomcat/tc6.0.x/trunk/java/org/apache/naming/resources/FileDirContext.java
tomcat/tc6.0.x/trunk/webapps/docs/changelog.xml

Modified: 
tomcat/tc6.0.x/trunk/java/org/apache/naming/resources/FileDirContext.java
URL: 
http://svn.apache.org/viewvc/tomcat/tc6.0.x/trunk/java/org/apache/naming/resources/FileDirContext.java?rev=575332&r1=575331&r2=575332&view=diff
==
--- tomcat/tc6.0.x/trunk/java/org/apache/naming/resources/FileDirContext.java 
(original)
+++ tomcat/tc6.0.x/trunk/java/org/apache/naming/resources/FileDirContext.java 
Thu Sep 13 08:19:59 2007
@@ -108,6 +108,17 @@
 protected boolean allowLinking = false;
 
 
+/**
+ * Aliases
+ */
+protected String aliases;
+
+
+/**
+ * Aliases in decoded form.
+ */
+protected Alias[] pathAliases;
+
 // - Properties
 
 
@@ -123,22 +134,22 @@
  */
 public void setDocBase(String docBase) {
 
-// Validate the format of the proposed document root
-if (docBase == null)
-throw new IllegalArgumentException
-(sm.getString("resources.null"));
+// Validate the format of the proposed document root
+if (docBase == null)
+throw new IllegalArgumentException
+(sm.getString("resources.null"));
 
-// Calculate a File object referencing this document base directory
-base = new File(docBase);
+// Calculate a File object referencing this document base directory
+base = new File(docBase);
 try {
 base = base.getCanonicalFile();
 } catch (IOException e) {
 // Ignore
 }
 
-// Validate that the document base is an existing directory
-if (!base.exists() || !base.isDirectory() || !base.canRead())
-throw new IllegalArgumentException
+// Validate that the document base is an existing directory
+if (!base.exists() || !base.isDirectory() || !base.canRead())
+throw new IllegalArgumentException
 (sm.getString("fileResources.base", docBase));
 this.absoluteBase = base.getAbsolutePath();
 super.setDocBase(docBase);
@@ -177,18 +188,69 @@
 return allowLinking;
 }
 
-
-// - Public Methods
+/**
+ * Get the alias string in use.
+ */
+public String getAliases(String aliases) {
+return aliases;
+}
 
 
 /**
- * Release any resources allocated for this directory context.
+ * Set files system aliases. Aliases are of the form
+ * prefix=path,prefix2=path2
+ * For example: 
+ * 
+ *   /images/=/tmp/images/,
+ *   /pdf/=/usr/local/data/pdfs/
+ * 
  */
-public void release() {
-super.release();
+public void setAliases(String aliases) {
+this.aliases = aliases;
+
+pathAliases = null;
+if (this.aliases!=null) {
+this.aliases = this.aliases.trim();
+}
+if (this.aliases==null||this.aliases.length()==0) {
+this.aliases=null;
+return;
+}
+
+String[] split1 = this.aliases.split(",");
+ArrayList aliasList = new ArrayList();
+for (int i=0; split1!=null && i0 && kvp[1].length()>0) {
+Alias alias = new Alias();
+alias.prefix=kvp[0];
+alias.basePath= new File(kvp[1]);
+alias.absPath=alias.basePath.getAbsolutePath();
+aliasList.add(alias);
+}
+}
+}
+
+if (aliasList.size()>0) {
+pathAliases = new Alias[aliasList.size()];
+for (int i=0; i= 0)
-normalized = normalized.replace('\\', '/');
-if (!normalized.startsWith("/"))
-normalized = "/" + normalized;
-
-// Resolve occurrences of "//" in the normalized path
-while (true) {
-int index = normalized.indexOf("//");
-if (index < 0)
-break;
-normalized = normalized.substring(0, index) +
-normalized.substring(index + 1);
-}
-
-// Resolve occurrences of "/./" in the normalized path
-while (true) {
-int index = normalized.indexOf("/./");
-if (index < 0)
-break;
-normalized = normalized.substring(0, index) +
-normalized.substring(index + 2);
-}
-
-// Resolve occurrences of "/../" in the normalized path
-wh

Re: svn commit: r575332 - in /tomcat/tc6.0.x/trunk: java/org/apache/naming/resources/FileDirContext.java webapps/docs/changelog.xml

2007-09-13 Thread Remy Maucherat

[EMAIL PROTECTED] wrote:

Author: funkman
Date: Thu Sep 13 08:19:59 2007
New Revision: 575332

URL: http://svn.apache.org/viewvc?rev=575332&view=rev
Log:
Allow for Aliases at the resource level. 

This is to prevent situations of relying on symlinks, or Filters 
while still make outside directories appear as part of the webapp. 
(A common feature request seen on the user list) 


Example usage:

  


If the feature is NOT used - there is no additional overhead.


The reasonable thing would have been to talk a bit about it. I think 
using a subclass (assuming you really want to put this in, which I don't 
really like - small euphemism) would be more reasonable.


Since you did not do any of this, I will have to veto this patch.

Rémy

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



Re: svn commit: r575332 - in /tomcat/tc6.0.x/trunk: java/org/apache/naming/resources/FileDirContext.java webapps/docs/changelog.xml

2007-09-13 Thread Peter Rossbach

Hi,

I like this FileDirContext extension. It is a very nice way to  
include external content without symlinks!


Regards
Peter



Am 13.09.2007 um 17:25 schrieb Remy Maucherat:


[EMAIL PROTECTED] wrote:

Author: funkman
Date: Thu Sep 13 08:19:59 2007
New Revision: 575332
URL: http://svn.apache.org/viewvc?rev=575332&view=rev
Log:
Allow for Aliases at the resource level. This is to prevent  
situations of relying on symlinks, or Filters while still make  
outside directories appear as part of the webapp. (A common  
feature request seen on the user list) Example usage:


  

If the feature is NOT used - there is no additional overhead.


The reasonable thing would have been to talk a bit about it. I  
think using a subclass (assuming you really want to put this in,  
which I don't really like - small euphemism) would be more reasonable.


Since you did not do any of this, I will have to veto this patch.

Rémy

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






Re: svn commit: r575332 - in /tomcat/tc6.0.x/trunk: java/org/apache/naming/resources/FileDirContext.java webapps/docs/changelog.xml

2007-09-13 Thread Remy Maucherat

Peter Rossbach wrote:

Hi,

I like this FileDirContext extension. It is a very nice way to include 
external content without symlinks!


I'm not hot about it, and this seems like a a sort of superset of the 
customizable classloader (which I already didn't like much, if you're 
following my idea). In the end, it reduces portability, can cause a lot 
of hacking, and is going to have to get supported (= the capabilities 
and configuration need some thought).


Rémy

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



Re: svn commit: r575332 - in /tomcat/tc6.0.x/trunk: java/org/apache/naming/resources/FileDirContext.java webapps/docs/changelog.xml

2007-09-13 Thread Tim Funk

D'oh.

I was tempted to post a patch first and discuss, but since it was only a 
setZZZ addition and the functionality is exactly the same when the 
parameter is NOT set - I thought this could go CTR. In light of the 
recent CTR/RTC discussions - we are still CTR until the vote passes. 
Likewise - while this is an API change - I guess my expectation on API 
change was anything that breaks backwards compatibility. (method 
signature changes) Unless someone subclassed FileDirContext and used the 
method names in the patch - then no one (user community) would notice.


When I first wrote this, my first pass was to subclass it where I could 
just call files() but that didn't work due since I still had to change 
other methods. I'd have to do a more comprehensive change (more risky 
IMO) to FileDirContext before I'd be able subclass it effectively.


The real use case is where you have uploaded files, or just a bunch of 
other files sitting in a different location on disk. You need to make 
them look as part of the current webapp while not having to rely on 
symlinks. So the feature is "similar" to the Alias directive in apache.


Since you -1 - I'd like to have a technical reason on why to back the 
patch out. Then I'd be glad to do so or make the appropriate changes. If 
the reason is - I think its bloat - I'm not sure how to resolve this issue.


[I'm actually on vacation this week so my replies might be slower than 
normal]


-Tim

Remy Maucherat wrote:

[EMAIL PROTECTED] wrote:

Author: funkman
Date: Thu Sep 13 08:19:59 2007
New Revision: 575332

URL: http://svn.apache.org/viewvc?rev=575332&view=rev
The reasonable thing would have been to talk a bit about it. I think 
using a subclass (assuming you really want to put this in, which I don't 
really like - small euphemism) would be more reasonable.


Since you did not do any of this, I will have to veto this patch.



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



Re: svn commit: r575332 - in /tomcat/tc6.0.x/trunk: java/org/apache/naming/resources/FileDirContext.java webapps/docs/changelog.xml

2007-09-13 Thread Filip Hanik - Dev Lists

Remy Maucherat wrote:

[EMAIL PROTECTED] wrote:

Author: funkman
Date: Thu Sep 13 08:19:59 2007
New Revision: 575332

URL: http://svn.apache.org/viewvc?rev=575332&view=rev
Log:
Allow for Aliases at the resource level.
This is to prevent situations of relying on symlinks, or Filters 
while still make outside directories appear as part of the webapp. (A 
common feature request seen on the user list)

Example usage:

  


If the feature is NOT used - there is no additional overhead.


The reasonable thing would have been to talk a bit about it. I think 
using a subclass (assuming you really want to put this in, which I 
don't really like - small euphemism) would be more reasonable.

oh brother, let go of the control, it's not your code base.


Since you did not do any of this, I will have to veto this patch.

based on what?

Filip

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



DO NOT REPLY [Bug 42559] - ErrorReportValve does not provide an error report

2007-09-13 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=42559


[EMAIL PROTECTED] changed:

   What|Removed |Added

 Status|NEW |RESOLVED
 Resolution||FIXED




--- Additional Comments From [EMAIL PROTECTED]  2007-09-13 10:48 ---
This looks fixed already from this:

http://svn.apache.org/viewvc?view=rev&revision=543307

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

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



DO NOT REPLY [Bug 43115] - Simple JSP fails to compile/load

2007-09-13 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=43115


[EMAIL PROTECTED] changed:

   What|Removed |Added

 Status|NEW |RESOLVED
 Resolution||INVALID




--- Additional Comments From [EMAIL PROTECTED]  2007-09-13 10:51 ---
Please use tomcat-user to debug this. Deployement details have changed when
moving from 5.X to 6


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

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



DO NOT REPLY [Bug 43079] - pattern verification broken

2007-09-13 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=43079


[EMAIL PROTECTED] changed:

   What|Removed |Added

  Attachment #20640|0   |1
is obsolete||




--- Additional Comments From [EMAIL PROTECTED]  2007-09-13 10:55 ---
(From update of attachment 20640)
old patch


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

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



svn commit: r575385 - /tomcat/tc6.0.x/trunk/webapps/docs/deployer-howto.xml

2007-09-13 Thread funkman
Author: funkman
Date: Thu Sep 13 10:57:17 2007
New Revision: 575385

URL: http://svn.apache.org/viewvc?rev=575385&view=rev
Log:
BZ 43057 - Trivail doc fix

Modified:
tomcat/tc6.0.x/trunk/webapps/docs/deployer-howto.xml

Modified: tomcat/tc6.0.x/trunk/webapps/docs/deployer-howto.xml
URL: 
http://svn.apache.org/viewvc/tomcat/tc6.0.x/trunk/webapps/docs/deployer-howto.xml?rev=575385&r1=575384&r2=575385&view=diff
==
--- tomcat/tc6.0.x/trunk/webapps/docs/deployer-howto.xml (original)
+++ tomcat/tc6.0.x/trunk/webapps/docs/deployer-howto.xml Thu Sep 13 10:57:17 
2007
@@ -121,7 +121,7 @@
 
 
 Context Descriptors not only help Tomcat to know how to configure 
-Contexts but other tools such as the Tomcat Manager and TDC often 
use 
+Contexts but other tools such as the Tomcat Manager and TCD often 
use 
 these Context Descriptors to perform their roles properly.
 
 



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



DO NOT REPLY [Bug 43057] - Typo of "TDC" in deployment docs

2007-09-13 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=43057


[EMAIL PROTECTED] changed:

   What|Removed |Added

 Status|NEW |RESOLVED
 Resolution||FIXED




--- Additional Comments From [EMAIL PROTECTED]  2007-09-13 10:57 ---
fixed - thanks
Committed revision 575385.

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

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



DO NOT REPLY [Bug 43079] - pattern verification broken

2007-09-13 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=43079





--- Additional Comments From [EMAIL PROTECTED]  2007-09-13 10:59 ---
Created an attachment (id=20820)
 --> (http://issues.apache.org/bugzilla/attachment.cgi?id=20820&action=view)
Modified patch to SecurityCollection w/ better link

Added a slightly better link to the documentation. referenced this bug.

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

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



DO NOT REPLY [Bug 41818] - Realm authenticate(.) method enhancement

2007-09-13 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=41818


[EMAIL PROTECTED] changed:

   What|Removed |Added

 Status|NEW |RESOLVED
 Resolution||WONTFIX




--- Additional Comments From [EMAIL PROTECTED]  2007-09-13 11:00 ---
I think to get this desired functionality - you'll need to write your own valve.

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

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



svn commit: r575390 - /tomcat/tc6.0.x/trunk/dist.xml

2007-09-13 Thread funkman
Author: funkman
Date: Thu Sep 13 11:16:23 2007
New Revision: 575390

URL: http://svn.apache.org/viewvc?rev=575390&view=rev
Log:
Bug 42831

Permissions aren't set correctly on $CATALINA_HOME/bin/version.sh


Modified:
tomcat/tc6.0.x/trunk/dist.xml

Modified: tomcat/tc6.0.x/trunk/dist.xml
URL: 
http://svn.apache.org/viewvc/tomcat/tc6.0.x/trunk/dist.xml?rev=575390&r1=575389&r2=575390&view=diff
==
--- tomcat/tc6.0.x/trunk/dist.xml (original)
+++ tomcat/tc6.0.x/trunk/dist.xml Thu Sep 13 11:16:23 2007
@@ -573,6 +573,7 @@
 
 
 
+
   
   
 
@@ -602,6 +603,7 @@
 
 
 
+
 
 
 



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



DO NOT REPLY [Bug 42831] - Permissions aren't set correctly on $CATALINA_HOME/bin/version.sh

2007-09-13 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=42831


[EMAIL PROTECTED] changed:

   What|Removed |Added

 Status|NEW |RESOLVED
 Resolution||FIXED




--- Additional Comments From [EMAIL PROTECTED]  2007-09-13 11:16 ---
Thanks!

Committed revision 575390.

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

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



svn commit: r575411 - in /tomcat/tc6.0.x/trunk: java/org/apache/catalina/valves/AccessLogValve.java java/org/apache/catalina/valves/ExtendedAccessLogValve.java webapps/docs/changelog.xml webapps/docs/

2007-09-13 Thread pero
Author: pero
Date: Thu Sep 13 12:31:16 2007
New Revision: 575411

URL: http://svn.apache.org/viewvc?rev=575411&view=rev
Log:
Support logging of all response header values at AccessLogValve (ex. add 
%{Set-Cookie}o to your pattern)
and ExtendedAccessLogValve (ex. add x-O(Set-Cookie) to your pattern)

Modified:
tomcat/tc6.0.x/trunk/java/org/apache/catalina/valves/AccessLogValve.java

tomcat/tc6.0.x/trunk/java/org/apache/catalina/valves/ExtendedAccessLogValve.java
tomcat/tc6.0.x/trunk/webapps/docs/changelog.xml
tomcat/tc6.0.x/trunk/webapps/docs/config/valve.xml

Modified: 
tomcat/tc6.0.x/trunk/java/org/apache/catalina/valves/AccessLogValve.java
URL: 
http://svn.apache.org/viewvc/tomcat/tc6.0.x/trunk/java/org/apache/catalina/valves/AccessLogValve.java?rev=575411&r1=575410&r2=575411&view=diff
==
--- tomcat/tc6.0.x/trunk/java/org/apache/catalina/valves/AccessLogValve.java 
(original)
+++ tomcat/tc6.0.x/trunk/java/org/apache/catalina/valves/AccessLogValve.java 
Thu Sep 13 12:31:16 2007
@@ -94,6 +94,7 @@
  * It is modeled after the apache syntax:
  * 
  * %{xxx}i for incoming headers
+ * %{xxx}o for outgoing response headers
  * %{xxx}c for a specific cookie
  * %{xxx}r xxx is an attribute in the ServletRequest
  * %{xxx}s xxx is an attribute in the HttpSession
@@ -111,7 +112,9 @@
  * @author Jason Brittain
  * @author Remy Maucherat
  * @author Takayuki Kaneko
- * @version $Revision$ $Date: 2007-01-04 12:17:11 +0900
+ * @author Peter Rossbach
+ * 
+ * @version $Revision$ $Date$
  */
 
 public class AccessLogValve
@@ -140,7 +143,7 @@
  * The descriptive information about this implementation.
  */
 protected static final String info =
-"org.apache.catalina.valves.AccessLogValve/2.0";
+"org.apache.catalina.valves.AccessLogValve/2.1";
 
 
 /**
@@ -1248,6 +1251,34 @@
 }
 
 /**
+ * write a specific response header - %{xxx}o
+ */
+protected class ResponseHeaderElement implements AccessLogElement {
+private String header;
+
+public ResponseHeaderElement(String header) {
+this.header = header;
+}
+
+public void addElement(StringBuffer buf, Date date, Request request,
+Response response, long time) {
+   if (null != response) {
+String[] values = response.getHeaderValues(header);
+if(values.length > 0) {
+for (int i = 0; i < values.length; i++) {
+String string = values[i];
+buf.append(string) ;
+if(i+1http://svn.apache.org/viewvc/tomcat/tc6.0.x/trunk/java/org/apache/catalina/valves/ExtendedAccessLogValve.java?rev=575411&r1=575410&r2=575411&view=diff
==
--- 
tomcat/tc6.0.x/trunk/java/org/apache/catalina/valves/ExtendedAccessLogValve.java
 (original)
+++ 
tomcat/tc6.0.x/trunk/java/org/apache/catalina/valves/ExtendedAccessLogValve.java
 Thu Sep 13 12:31:16 2007
@@ -64,6 +64,7 @@
  * time-taken:  Time (in seconds) taken to serve the 
request
  * x-A(XXX): Pull XXX attribute from the servlet context 
  * x-C(XXX): Pull the first cookie of the name XXX 
+ * x-O(XXX): Pull the all response header values XXX 
  * x-R(XXX): Pull XXX attribute from the servlet request 
  * x-S(XXX): Pull XXX attribute from the session 
  * x-P(...):  Call request.getParameter(...)
@@ -122,6 +123,8 @@
  *
  *
  * @author Tim Funk
+ * @author Peter Rossbach
+ * 
  * @version $Revision$ $Date$
  */
 
@@ -138,7 +141,7 @@
  * The descriptive information about this implementation.
  */
 protected static final String extendedAccessLogInfo =
-"org.apache.catalina.valves.ExtendedAccessLogValve/1.0";
+"org.apache.catalina.valves.ExtendedAccessLogValve/2.1";
 
 
 // - Properties
@@ -209,7 +212,7 @@
 super.open();
 if (currentLogFile.length()==0) {
 writer.println("#Fields: " + pattern);
-writer.println("#Version: 1.0");
+writer.println("#Version: 2.0");
 writer.println("#Software: " + ServerInfo.getServerInfo());
 }
 }
@@ -331,6 +334,36 @@
 }
 }
 
+/**
+ * write a specific response header - x-O(xxx)
+ */
+protected class ResponseAllHeaderElement implements AccessLogElement {
+private String header;
+
+public ResponseAllHeaderElement(String header) {
+this.header = header;
+}
+
+public void addElement(StringBuffer buf, Date date, Request request,
+Response response, long time) {
+   if (null != response) {
+String[] values = response.getHeaderValues(header);
+if(values.length > 0) {
+StringBuffer buffer = new StringBuffer();
+

DO NOT REPLY [Bug 43079] - pattern verification broken

2007-09-13 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=43079


[EMAIL PROTECTED] changed:

   What|Removed |Added

  Attachment #20820|0   |1
is obsolete||




--- Additional Comments From [EMAIL PROTECTED]  2007-09-13 12:53 ---
Created an attachment (id=20821)
 --> (http://issues.apache.org/bugzilla/attachment.cgi?id=20821&action=view)
Patch: fixed possible indexOutOfBounds Exception for url-patterns which are
just '*'

Found a bug in the original patch. It didn't check if the length was < 2. This
is a bad url, so we also print the error under these conditions.

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

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



Re: svn commit: r575332 - in /tomcat/tc6.0.x/trunk: java/org/apache/naming/resources/FileDirContext.java webapps/docs/changelog.xml

2007-09-13 Thread Remy Maucherat

Tim Funk wrote:

D'oh.

I was tempted to post a patch first and discuss, but since it was only a 
setZZZ addition and the functionality is exactly the same when the 
parameter is NOT set - I thought this could go CTR. In light of the 
recent CTR/RTC discussions - we are still CTR until the vote passes. 
Likewise - while this is an API change - I guess my expectation on API 
change was anything that breaks backwards compatibility. (method 
signature changes) Unless someone subclassed FileDirContext and used the 
method names in the patch - then no one (user community) would notice.


When I first wrote this, my first pass was to subclass it where I could 
just call files() but that didn't work due since I still had to change 
other methods. I'd have to do a more comprehensive change (more risky 
IMO) to FileDirContext before I'd be able subclass it effectively.


The real use case is where you have uploaded files, or just a bunch of 
other files sitting in a different location on disk. You need to make 
them look as part of the current webapp while not having to rely on 
symlinks. So the feature is "similar" to the Alias directive in apache.


Since you -1 - I'd like to have a technical reason on why to back the 
patch out. Then I'd be glad to do so or make the appropriate changes. If 
the reason is - I think its bloat - I'm not sure how to resolve this issue.


The reasons are:
This sort of features reduces portability (= must be included with 
caution), can cause a lot of hacking (generally not good), and is going 
to have to get supported (= the capabilities and configuration need some 
review). None of these are very serious, but it adds up.


It's not a real veto anyway, but no proper review mechanism exists at 
the moment, and it's hard to integrate feature additions in 6.0.x 
without prior discussion.


Rémy

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



svn commit: r575451 - in /tomcat/tc6.0.x/trunk: java/org/apache/catalina/valves/AccessLogValve.java webapps/docs/changelog.xml webapps/docs/config/valve.xml

2007-09-13 Thread pero
Author: pero
Date: Thu Sep 13 14:06:46 2007
New Revision: 575451

URL: http://svn.apache.org/viewvc?rev=575451&view=rev
Log:
Support logging of current thread name at AccessLogValve (ex. add %I to your 
pattern).

Modified:
tomcat/tc6.0.x/trunk/java/org/apache/catalina/valves/AccessLogValve.java
tomcat/tc6.0.x/trunk/webapps/docs/changelog.xml
tomcat/tc6.0.x/trunk/webapps/docs/config/valve.xml

Modified: 
tomcat/tc6.0.x/trunk/java/org/apache/catalina/valves/AccessLogValve.java
URL: 
http://svn.apache.org/viewvc/tomcat/tc6.0.x/trunk/java/org/apache/catalina/valves/AccessLogValve.java?rev=575451&r1=575450&r2=575451&view=diff
==
--- tomcat/tc6.0.x/trunk/java/org/apache/catalina/valves/AccessLogValve.java 
(original)
+++ tomcat/tc6.0.x/trunk/java/org/apache/catalina/valves/AccessLogValve.java 
Thu Sep 13 14:06:46 2007
@@ -43,6 +43,7 @@
 import org.apache.catalina.connector.Response;
 import org.apache.catalina.util.LifecycleSupport;
 import org.apache.catalina.util.StringManager;
+import org.apache.coyote.RequestInfo;
 import org.apache.juli.logging.Log;
 import org.apache.juli.logging.LogFactory;
 
@@ -79,6 +80,7 @@
  * %v - Local server name
  * %D - Time taken to process the request, in millis
  * %T - Time taken to process the request, in seconds
+ * %I - current Request thread name (can compare later with 
stacktraces)
  * 
  * In addition, the caller can specify one of the following aliases for
  * commonly utilized patterns:
@@ -893,6 +895,7 @@
 .getString("accessLogValve.notStarted"));
 lifecycle.fireLifecycleEvent(STOP_EVENT, null);
 started = false;
+
 close();
 }
 
@@ -906,6 +909,21 @@
 }
 
 /**
+ * write thread name - %I
+ */
+protected class ThreadNameElement implements AccessLogElement {
+public void addElement(StringBuffer buf, Date date, Request request,
+Response response, long time) {
+RequestInfo info = 
request.getCoyoteRequest().getRequestProcessor();
+if(info != null) {
+buf.append(info.getWorkerThreadName());
+} else {
+buf.append("-");
+}
+}
+}
+
+/**
  * write local IP address - %A
  */
 protected class LocalAddrElement implements AccessLogElement {
@@ -1455,6 +1473,8 @@
 return new RequestURIElement();
 case 'v':
 return new LocalServerNameElement();
+case 'I':
+return new ThreadNameElement();
 default:
 return new StringElement("???" + pattern + "???");
 }

Modified: tomcat/tc6.0.x/trunk/webapps/docs/changelog.xml
URL: 
http://svn.apache.org/viewvc/tomcat/tc6.0.x/trunk/webapps/docs/changelog.xml?rev=575451&r1=575450&r2=575451&view=diff
==
--- tomcat/tc6.0.x/trunk/webapps/docs/changelog.xml (original)
+++ tomcat/tc6.0.x/trunk/webapps/docs/changelog.xml Thu Sep 13 14:06:46 2007
@@ -71,6 +71,10 @@
   
 Support logging of all response header values at 
ExtendedAccessLogValve (ex. add x-O(Set-Cookie) to your pattern). (pero)

+  
+Support logging of current thread name at AccessLogValve (ex. add %I 
to your pattern).
+Usefull to compare access logging entry later with a stacktraces. 
(pero)
+   
 
   
   

Modified: tomcat/tc6.0.x/trunk/webapps/docs/config/valve.xml
URL: 
http://svn.apache.org/viewvc/tomcat/tc6.0.x/trunk/webapps/docs/config/valve.xml?rev=575451&r1=575450&r2=575451&view=diff
==
--- tomcat/tc6.0.x/trunk/webapps/docs/config/valve.xml (original)
+++ tomcat/tc6.0.x/trunk/webapps/docs/config/valve.xml Thu Sep 13 14:06:46 2007
@@ -179,6 +179,7 @@
 %v - Local server name
 %D - Time taken to process the request, in millis
 %T - Time taken to process the request, in seconds
+%I - current request thread name (can compare later with 
stacktraces)
 
 
 



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



svn commit: r575464 - /tomcat/container/tc5.5.x/catalina/src/share/org/apache/catalina/valves/JDBCAccessLogValve.java

2007-09-13 Thread pero
Author: pero
Date: Thu Sep 13 14:28:40 2007
New Revision: 575464

URL: http://svn.apache.org/viewvc?rev=575464&view=rev
Log:
Fix correct className attribute

Modified:

tomcat/container/tc5.5.x/catalina/src/share/org/apache/catalina/valves/JDBCAccessLogValve.java

Modified: 
tomcat/container/tc5.5.x/catalina/src/share/org/apache/catalina/valves/JDBCAccessLogValve.java
URL: 
http://svn.apache.org/viewvc/tomcat/container/tc5.5.x/catalina/src/share/org/apache/catalina/valves/JDBCAccessLogValve.java?rev=575464&r1=575463&r2=575464&view=diff
==
--- 
tomcat/container/tc5.5.x/catalina/src/share/org/apache/catalina/valves/JDBCAccessLogValve.java
 (original)
+++ 
tomcat/container/tc5.5.x/catalina/src/share/org/apache/catalina/valves/JDBCAccessLogValve.java
 Thu Sep 13 14:28:40 2007
@@ -45,7 +45,7 @@
  * To use, copy into the server/classes directory of the Tomcat installation
  * and configure in server.xml as:
  * 
- * 

svn commit: r575475 - in /tomcat/tc6.0.x/trunk: java/org/apache/catalina/valves/AccessLogValve.java java/org/apache/catalina/valves/JDBCAccessLogValve.java webapps/docs/changelog.xml

2007-09-13 Thread pero
Author: pero
Date: Thu Sep 13 14:43:22 2007
New Revision: 575475

URL: http://svn.apache.org/viewvc?rev=575475&view=rev
Log:
Improve large-file support (more then 4 Gb) at all AccessLogValves, backport 
from 5.5.25.

Modified:
tomcat/tc6.0.x/trunk/java/org/apache/catalina/valves/AccessLogValve.java
tomcat/tc6.0.x/trunk/java/org/apache/catalina/valves/JDBCAccessLogValve.java
tomcat/tc6.0.x/trunk/webapps/docs/changelog.xml

Modified: 
tomcat/tc6.0.x/trunk/java/org/apache/catalina/valves/AccessLogValve.java
URL: 
http://svn.apache.org/viewvc/tomcat/tc6.0.x/trunk/java/org/apache/catalina/valves/AccessLogValve.java?rev=575475&r1=575474&r2=575475&view=diff
==
--- tomcat/tc6.0.x/trunk/java/org/apache/catalina/valves/AccessLogValve.java 
(original)
+++ tomcat/tc6.0.x/trunk/java/org/apache/catalina/valves/AccessLogValve.java 
Thu Sep 13 14:43:22 2007
@@ -1099,7 +1099,7 @@
 
 public void addElement(StringBuffer buf, Date date, Request request,
 Response response, long time) {
-int length = response.getContentCount();
+long length = response.getContentCountLong() ;
 if (length <= 0 && conversion) {
 buf.append('-');
 } else {

Modified: 
tomcat/tc6.0.x/trunk/java/org/apache/catalina/valves/JDBCAccessLogValve.java
URL: 
http://svn.apache.org/viewvc/tomcat/tc6.0.x/trunk/java/org/apache/catalina/valves/JDBCAccessLogValve.java?rev=575475&r1=575474&r2=575475&view=diff
==
--- 
tomcat/tc6.0.x/trunk/java/org/apache/catalina/valves/JDBCAccessLogValve.java 
(original)
+++ 
tomcat/tc6.0.x/trunk/java/org/apache/catalina/valves/JDBCAccessLogValve.java 
Thu Sep 13 14:43:22 2007
@@ -45,11 +45,11 @@
  * To use, copy into the server/classes directory of the Tomcat installation
  * and configure in server.xml as:
  * 
- * 
+ *  
  * 
  * 
  * 
@@ -93,6 +93,11 @@
  * INDEX (userAgent)
  * );
  * 
+ * Set JDBCAccessLogValve attribute useLongContentLength="true" as you have 
more then 4GB outputs. 
+ * Please, use long SQL datatype at access.bytes attribute.
+ * The datatype of bytes at oracle is number and other databases use 
bytes BIGINT NOT NULL.
+ * 
+ * 
  * 
  * If the table is created as above, its name and the field names don't need 
  * to be defined.
@@ -120,21 +125,21 @@
  * Class constructor. Initializes the fields with the default values.
  * The defaults are:
  * 
- * driverName = null;
- * connectionURL = null;
- * tableName = "access";
- * remoteHostField = "remoteHost";
- * userField = "userName";
- * timestampField = "timestamp";
- * virtualHostField = "virtualHost";
- * methodField = "method";
- * queryField = "query";
- * statusField = "status";
- * bytesField = "bytes";
- * refererField = "referer";
- * userAgentField = "userAgent";
- * pattern = "common";
- * resolveHosts = false;
+ *  driverName = null;
+ *  connectionURL = null;
+ *  tableName = "access";
+ *  remoteHostField = "remoteHost";
+ *  userField = "userName";
+ *  timestampField = "timestamp";
+ *  virtualHostField = "virtualHost";
+ *  methodField = "method";
+ *  queryField = "query";
+ *  statusField = "status";
+ *  bytesField = "bytes";
+ *  refererField = "referer";
+ *  userAgentField = "userAgent";
+ *  pattern = "common";
+ *  resolveHosts = false;
  * 
  */
 public JDBCAccessLogValve() {
@@ -162,7 +167,12 @@
 
 // - Instance Variables
 
-
+   /**
+* Use long contentLength as you have more 4 GB output.
+* @since 6.0.15
+*/
+protected boolean useLongContentLength = false ;
+
/**
  * The connection username to use when trying to connect to the database.
  */
@@ -419,6 +429,19 @@
 this.resolveHosts = new Boolean(resolveHosts).booleanValue();
 }
 
+/**
+ * get useLongContentLength
+ */
+public  boolean getUseLongContentLength() {
+return this.useLongContentLength ;
+}
+
+/**
+ 

svn commit: r575477 - in /tomcat/tc6.0.x/trunk: java/org/apache/catalina/valves/JDBCAccessLogValve.java webapps/docs/changelog.xml

2007-09-13 Thread pero
Author: pero
Date: Thu Sep 13 14:52:31 2007
New Revision: 575477

URL: http://svn.apache.org/viewvc?rev=575477&view=rev
Log:
Optimized JDBCAccessLogValve combined pattern request attribute access.

Modified:
tomcat/tc6.0.x/trunk/java/org/apache/catalina/valves/JDBCAccessLogValve.java
tomcat/tc6.0.x/trunk/webapps/docs/changelog.xml

Modified: 
tomcat/tc6.0.x/trunk/java/org/apache/catalina/valves/JDBCAccessLogValve.java
URL: 
http://svn.apache.org/viewvc/tomcat/tc6.0.x/trunk/java/org/apache/catalina/valves/JDBCAccessLogValve.java?rev=575477&r1=575476&r2=575477&view=diff
==
--- 
tomcat/tc6.0.x/trunk/java/org/apache/catalina/valves/JDBCAccessLogValve.java 
(original)
+++ 
tomcat/tc6.0.x/trunk/java/org/apache/catalina/valves/JDBCAccessLogValve.java 
Thu Sep 13 14:52:31 2007
@@ -458,15 +458,16 @@
  */
 public void invoke(Request request, Response response) 
 throws IOException, ServletException {
-
+final String EMPTY = "" ;
+
 getNext().invoke(request, response);
 
-String remoteHost = "";
+String remoteHost = EMPTY;
 if(resolveHosts)
 remoteHost = request.getRemoteHost();
 else
 remoteHost = request.getRemoteAddr();
-String user = "";
+String user = EMPTY;
 if(request != null)
 user = request.getRemoteUser();
 String query="";
@@ -477,19 +478,15 @@
 if(bytes < 0)
 bytes = 0;
 int status = response.getStatus();
-if (pattern.equals("combined")) {
-String virtualHost = "";
-if(request != null)
-virtualHost = request.getServerName();
-String method = "";
-if(request != null)
-method = request.getMethod();
-String referer = "";
-if(request != null)
-referer = request.getHeader("referer");
-String userAgent = "";
-if(request != null)
-userAgent = request.getHeader("user-agent");
+String virtualHost = EMPTY;
+String method = EMPTY;
+String referer = EMPTY;
+String userAgent = EMPTY;
+if (pattern.equals("combined") && request != null) {
+virtualHost = request.getServerName();
+method = request.getMethod();
+referer = request.getHeader("referer");
+userAgent = request.getHeader("user-agent");
 }
 synchronized (this) {
   int numberOfTries = 2;
@@ -511,19 +508,6 @@
 ps.setInt(6, (int) bytes);
 }   
 if (pattern.equals("combined")) {
- 
-  String virtualHost = "";
-  if(request != null)
- virtualHost = request.getServerName();
-  String method = "";
-  if(request != null)
- method = request.getMethod();
-  String referer = "";
-  if(request != null)
- referer = request.getHeader("referer");
-  String userAgent = "";
-  if(request != null)
- userAgent = request.getHeader("user-agent");
   ps.setString(7, virtualHost);
   ps.setString(8, method);
   ps.setString(9, referer);

Modified: tomcat/tc6.0.x/trunk/webapps/docs/changelog.xml
URL: 
http://svn.apache.org/viewvc/tomcat/tc6.0.x/trunk/webapps/docs/changelog.xml?rev=575477&r1=575476&r2=575477&view=diff
==
--- tomcat/tc6.0.x/trunk/webapps/docs/changelog.xml (original)
+++ tomcat/tc6.0.x/trunk/webapps/docs/changelog.xml Thu Sep 13 14:52:31 2007
@@ -79,6 +79,9 @@
   
 Improve large-file support (more then 4 Gb) at all AccessLogValves, 
backport from 5.5.25. (pero)

+  
+Optimized JDBCAccessLogValve combined pattern request attribute 
access. (pero)
+  
 
   
   



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



svn commit: r575478 - in /tomcat/tc6.0.x/trunk/java/org/apache/catalina/connector: OutputBuffer.java Response.java

2007-09-13 Thread pero
Author: pero
Date: Thu Sep 13 14:56:30 2007
New Revision: 575478

URL: http://svn.apache.org/viewvc?rev=575478&view=rev
Log:
Improve large-file support (more then 4 Gb) at all AccessLogValves, backport 
from 5.5.25.

Modified:
tomcat/tc6.0.x/trunk/java/org/apache/catalina/connector/OutputBuffer.java
tomcat/tc6.0.x/trunk/java/org/apache/catalina/connector/Response.java

Modified: 
tomcat/tc6.0.x/trunk/java/org/apache/catalina/connector/OutputBuffer.java
URL: 
http://svn.apache.org/viewvc/tomcat/tc6.0.x/trunk/java/org/apache/catalina/connector/OutputBuffer.java?rev=575478&r1=575477&r2=575478&view=diff
==
--- tomcat/tc6.0.x/trunk/java/org/apache/catalina/connector/OutputBuffer.java 
(original)
+++ tomcat/tc6.0.x/trunk/java/org/apache/catalina/connector/OutputBuffer.java 
Thu Sep 13 14:56:30 2007
@@ -70,13 +70,13 @@
 /**
  * Number of bytes written.
  */
-private int bytesWritten = 0;
+private long bytesWritten = 0;
 
 
 /**
  * Number of chars written.
  */
-private int charsWritten = 0;
+private long charsWritten = 0;
 
 
 /**
@@ -539,22 +539,32 @@
 
 }
 
-
 public int getBytesWritten() {
-return bytesWritten;
+if (bytesWritten < Integer.MAX_VALUE) {
+return (int) bytesWritten;
+}
+return -1;
 }
 
-
 public int getCharsWritten() {
-return charsWritten;
+if (charsWritten < Integer.MAX_VALUE) {
+return (int) charsWritten;
+}
+return -1;
 }
 
-
 public int getContentWritten() {
-return bytesWritten + charsWritten;
+long size = bytesWritten + charsWritten ;
+if (size < Integer.MAX_VALUE) {
+return (int) size;
+}
+return -1;
 }
 
-
+public long getContentWrittenLong() {
+return bytesWritten + charsWritten;
+}
+
 /** 
  * True if this buffer hasn't been used ( since recycle() ) -
  * i.e. no chars or bytes have been added to the buffer.  

Modified: tomcat/tc6.0.x/trunk/java/org/apache/catalina/connector/Response.java
URL: 
http://svn.apache.org/viewvc/tomcat/tc6.0.x/trunk/java/org/apache/catalina/connector/Response.java?rev=575478&r1=575477&r2=575478&view=diff
==
--- tomcat/tc6.0.x/trunk/java/org/apache/catalina/connector/Response.java 
(original)
+++ tomcat/tc6.0.x/trunk/java/org/apache/catalina/connector/Response.java Thu 
Sep 13 14:56:30 2007
@@ -305,7 +305,13 @@
 public int getContentCount() {
 return outputBuffer.getContentWritten();
 }
-
+
+/**
+ * Return the number of bytes actually written to the output stream.
+ */
+public long getContentCountLong() {
+return outputBuffer.getContentWrittenLong();
+}
 
 /**
  * Set the application commit flag.



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



svn commit: r575480 - /tomcat/tc6.0.x/trunk/java/org/apache/catalina/connector/Connector.java

2007-09-13 Thread pero
Author: pero
Date: Thu Sep 13 14:58:19 2007
New Revision: 575480

URL: http://svn.apache.org/viewvc?rev=575480&view=rev
Log:
Fix porting typo!

Modified:
tomcat/tc6.0.x/trunk/java/org/apache/catalina/connector/Connector.java

Modified: tomcat/tc6.0.x/trunk/java/org/apache/catalina/connector/Connector.java
URL: 
http://svn.apache.org/viewvc/tomcat/tc6.0.x/trunk/java/org/apache/catalina/connector/Connector.java?rev=575480&r1=575479&r2=575480&view=diff
==
--- tomcat/tc6.0.x/trunk/java/org/apache/catalina/connector/Connector.java 
(original)
+++ tomcat/tc6.0.x/trunk/java/org/apache/catalina/connector/Connector.java Thu 
Sep 13 14:58:19 2007
@@ -924,7 +924,7 @@
 
 /**
  * Enables or disables the generation of an X-Powered-By header (with value
- * Servlet/2.4) for all servlet-generated responses returned by this
+ * Servlet/2.5) for all servlet-generated responses returned by this
  * Connector.
  *
  * @param xpoweredBy true if generation of X-Powered-By response header is



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



svn commit: r575482 - in /tomcat/container/tc5.5.x: catalina/src/share/org/apache/catalina/valves/ExtendedAccessLogValve.java webapps/docs/changelog.xml

2007-09-13 Thread pero
Author: pero
Date: Thu Sep 13 15:05:56 2007
New Revision: 575482

URL: http://svn.apache.org/viewvc?rev=575482&view=rev
Log:
Support logging of all response header values at ExtendedAccessLogValve (ex. 
add x-O(Set-Cookie) to your pattern).

Modified:

tomcat/container/tc5.5.x/catalina/src/share/org/apache/catalina/valves/ExtendedAccessLogValve.java
tomcat/container/tc5.5.x/webapps/docs/changelog.xml

Modified: 
tomcat/container/tc5.5.x/catalina/src/share/org/apache/catalina/valves/ExtendedAccessLogValve.java
URL: 
http://svn.apache.org/viewvc/tomcat/container/tc5.5.x/catalina/src/share/org/apache/catalina/valves/ExtendedAccessLogValve.java?rev=575482&r1=575481&r2=575482&view=diff
==
--- 
tomcat/container/tc5.5.x/catalina/src/share/org/apache/catalina/valves/ExtendedAccessLogValve.java
 (original)
+++ 
tomcat/container/tc5.5.x/catalina/src/share/org/apache/catalina/valves/ExtendedAccessLogValve.java
 Thu Sep 13 15:05:56 2007
@@ -72,6 +72,7 @@
  * time-taken:  Time (in seconds) taken to serve the 
request
  * x-A(XXX): Pull XXX attribute from the servlet context 
  * x-C(XXX): Pull the first cookie of the name XXX 
+ * x-O(XXX): Pull the all response header values XXX 
  * x-R(XXX): Pull XXX attribute from the servlet request 
  * x-S(XXX): Pull XXX attribute from the session 
  * x-P(...):  Call request.getParameter(...)
@@ -130,6 +131,7 @@
  *
  *
  * @author Tim Funk
+ * @author Peter Rossbach
  * @version $Revision$ $Date$
  */
 
@@ -160,7 +162,7 @@
  * The descriptive information about this implementation.
  */
 protected static final String info =
-"org.apache.catalina.valves.ExtendedAccessLogValve/1.0";
+"org.apache.catalina.valves.ExtendedAccessLogValve/1.1";
 
 
 /**
@@ -697,7 +699,29 @@
 
 }
 
+/**
+ * write a specific response header - x-O{xxx}
+ */
+protected String responseHeader(Request request,String header) {
+Response response = request.getResponse() ;
+if (null != response) {
+String[] values = response.getHeaderValues(header);
+if(values.length > 0) {
+StringBuffer buf = new StringBuffer();
+for (int i = 0; i < values.length; i++) {
+String string = values[i];
+buf.append(string) ;
+if(i+1http://svn.apache.org/viewvc/tomcat/container/tc5.5.x/webapps/docs/changelog.xml?rev=575482&r1=575481&r2=575482&view=diff
==
--- tomcat/container/tc5.5.x/webapps/docs/changelog.xml (original)
+++ tomcat/container/tc5.5.x/webapps/docs/changelog.xml Thu Sep 13 15:05:56 2007
@@ -45,6 +45,9 @@
   
 Made session createTime accessible for all SessionManager via JMX 
(pero)
   
+  
+Support logging of all response header values at 
ExtendedAccessLogValve (ex. add x-O(Set-Cookie) to your pattern). (pero)
+  
 
   
   



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



[PATCH] jasper - enum support for tag libs

2007-09-13 Thread Andrew J Snodgrass
The attached patch adds support for the direct use of enums in the 
attributes of tags.


Assume there is the enum:

public enum LoginType {
  account, manager, reseller;
}

and a setter for a tag called 'page':

public void setLogin_required_type( LoginType login_required_type ) { ...

then the jsp code:



would result in the generation of the java code:

page_tag_instance.setLogin_required_type(LoginType.account);


Andrew J Snodgrass
Index: java/org/apache/jasper/runtime/JspRuntimeLibrary.java
===
--- java/org/apache/jasper/runtime/JspRuntimeLibrary.java	(revision 575441)
+++ java/org/apache/jasper/runtime/JspRuntimeLibrary.java	(working copy)
@@ -175,6 +175,13 @@
 	return Long.valueOf(s).longValue();
 }
 
+public static > T coerceToEnum(String s, Class c) {
+if (s == null || s.length() == 0)
+return null;
+else
+return Enum.valueOf(c, s);
+}
+
 public static Object coerce(String s, Class target) {
 
 	boolean isNullOrEmpty = (s == null || s.length() == 0);
Index: java/org/apache/jasper/compiler/Generator.java
===
--- java/org/apache/jasper/compiler/Generator.java	(revision 575441)
+++ java/org/apache/jasper/compiler/Generator.java	(working copy)
@@ -3056,12 +3056,16 @@
 } else if (c == Object.class) {
 return "new String(" + quoted + ")";
 } else {
-String className = JspUtil.getCanonicalName(c);
-return "("
-+ className
-+ ")org.apache.jasper.runtime.JspRuntimeLibrary.getValueFromPropertyEditorManager("
-+ className + ".class, \"" + attrName + "\", " + quoted
-+ ")";
+if (c.isEnum()) {
+return JspUtil.coerceToEnum(s, c, isNamedAttribute);
+} else {
+String className = JspUtil.getCanonicalName(c);
+return "("
+   + className
+   + ")org.apache.jasper.runtime.JspRuntimeLibrary.getValueFromPropertyEditorManager("
+   + className + ".class, \"" + attrName + "\", " + quoted
+   + ")";
+}
 }
 }
 
Index: java/org/apache/jasper/compiler/JspUtil.java
===
--- java/org/apache/jasper/compiler/JspUtil.java	(revision 575441)
+++ java/org/apache/jasper/compiler/JspUtil.java	(working copy)
@@ -825,6 +825,19 @@
 }
 }
 
+public static String coerceToEnum(String s, Class c, boolean isNamedAttribute) {
+final String className = getCanonicalName(c);
+if (isNamedAttribute) {
+return "org.apache.jasper.runtime.JspRuntimeLibrary.coerceToEnum(" + s + ", " + className + ".class)";
+} else {
+if (s == null || s.length() == 0) {
+return "null";
+} else {
+return className + "." + Enum.valueOf(c, s).toString();
+}
+}
+}
+
 public static InputStream getInputStream(String fname, JarFile jarFile,
  JspCompilationContext ctxt,
  ErrorDispatcher err)

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

New Feature in Manager app

2007-09-13 Thread Santosh [ಸಂತೋಷ ]
Hi all,

   I am planning to add a page in manager application of TC to show the
log traces. To check the log file, every time we need to go logs dir instead
of that i am planning to show the logs in manager application itself. If
anyone of you suggest some tips to proceed with this, it will be very
helpful.

Thanx in advance.

Regards,
Santosh


DO NOT REPLY [Bug 43392] New: - Tomcat6 JAASRealm ignores useContextClassLoader in parseClassNames

2007-09-13 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=43392

   Summary: Tomcat6 JAASRealm ignores useContextClassLoader in
parseClassNames
   Product: Tomcat 6
   Version: 6.0.14
  Platform: PC
   URL: http://support.liferay.com/browse/LEP-
2995;jsessionid=C72F970D8B99F4BD60185FB0A1567A8F
OS/Version: All
Status: NEW
  Severity: regression
  Priority: P2
 Component: Catalina
AssignedTo: [EMAIL PROTECTED]
ReportedBy: [EMAIL PROTECTED]


Issue when specifying custom User/Role security principal classes in a JAASRealm
element within a /META-INF/context.xml of a war. Tomcat 6 should obey the
useContextClassLoader configuration of the JAASRealm when parsing the user/role
classNames.



Upon server startup, the Tomcat 6.0.14 JAASRealm attempts to load the
userClassNames and roleClassNames in parseClassNames with Class.forName(), and
since these classes reside only in the webapp context (/WEB-INF/lib/) they are
not found on the classpath, and causes the following output in the Tomcat
console upon startup:
 SEVERE: Class com.liferay.portal.security.jaas.PortalPrincipal not
found! Class not added.
 SEVERE: Class com.liferay.portal.security.jaas.PortalRole not found!
Class not added.

Tomcat 5.5.x did not report these failures, because it did not attempt to
perform a Class.forName() lookup. Instead, it only saved the userClassNames and
roleClassNames in a java.util.List object.

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

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



DO NOT REPLY [Bug 43392] - Tomcat6 JAASRealm ignores useContextClassLoader in parseClassNames

2007-09-13 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=43392





--- Additional Comments From [EMAIL PROTECTED]  2007-09-13 21:45 ---
Sorry, I meant the issue occurs when using useContextClassLoader="true" in the
original report (which is the default according to
http://tomcat.apache.org/tomcat-6.0-doc/realm-howto.html#JAASRealm).

As a temporary work-around for this issue you can:
1. Move your classes to the Tomcat shared /lib directory.
2. Since all principals must implement java.security.Principal, and the first
principal 'must' be the user principal, you can just use the base class:


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

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



svn commit: r575540 - /tomcat/tc6.0.x/trunk/webapps/docs/config/valve.xml

2007-09-13 Thread pero
Author: pero
Date: Thu Sep 13 22:38:37 2007
New Revision: 575540

URL: http://svn.apache.org/viewvc?rev=575540&view=rev
Log:
add cookieDomain description!

Modified:
tomcat/tc6.0.x/trunk/webapps/docs/config/valve.xml

Modified: tomcat/tc6.0.x/trunk/webapps/docs/config/valve.xml
URL: 
http://svn.apache.org/viewvc/tomcat/tc6.0.x/trunk/webapps/docs/config/valve.xml?rev=575540&r1=575539&r2=575540&view=diff
==
--- tomcat/tc6.0.x/trunk/webapps/docs/config/valve.xml (original)
+++ tomcat/tc6.0.x/trunk/webapps/docs/config/valve.xml Thu Sep 13 22:38:37 2007
@@ -399,7 +399,10 @@
 rechecking with the Realm.
   
  
-
+  
+Sets the host domain to be used for sso cookies.
+  
+  
 
 
   



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



svn commit: r575543 - in /tomcat/container/tc5.5.x: catalina/src/share/org/apache/catalina/valves/AccessLogValve.java webapps/docs/changelog.xml webapps/docs/config/valve.xml

2007-09-13 Thread pero
Author: pero
Date: Thu Sep 13 22:46:45 2007
New Revision: 575543

URL: http://svn.apache.org/viewvc?rev=575543&view=rev
Log:
Support logging of current thread name at AccessLogValve (ex. add %I to your 
pattern).

Modified:

tomcat/container/tc5.5.x/catalina/src/share/org/apache/catalina/valves/AccessLogValve.java
tomcat/container/tc5.5.x/webapps/docs/changelog.xml
tomcat/container/tc5.5.x/webapps/docs/config/valve.xml

Modified: 
tomcat/container/tc5.5.x/catalina/src/share/org/apache/catalina/valves/AccessLogValve.java
URL: 
http://svn.apache.org/viewvc/tomcat/container/tc5.5.x/catalina/src/share/org/apache/catalina/valves/AccessLogValve.java?rev=575543&r1=575542&r2=575543&view=diff
==
--- 
tomcat/container/tc5.5.x/catalina/src/share/org/apache/catalina/valves/AccessLogValve.java
 (original)
+++ 
tomcat/container/tc5.5.x/catalina/src/share/org/apache/catalina/valves/AccessLogValve.java
 Thu Sep 13 22:46:45 2007
@@ -41,6 +41,7 @@
 import org.apache.catalina.connector.Response;
 import org.apache.catalina.util.LifecycleSupport;
 import org.apache.catalina.util.StringManager;
+import org.apache.coyote.RequestInfo;
 
 
 /**
@@ -75,6 +76,7 @@
  * %v - Local server name
  * %D - Time taken to process the request, in millis
  * %T - Time taken to process the request, in seconds
+ * %I - current request thread name (can compare later with 
stacktraces)
  * 
  * In addition, the caller can specify one of the following aliases for
  * commonly utilized patterns:
@@ -118,6 +120,8 @@
 // --- Constructors
 
 
+private static final String MARK_EMPTY = "-";
+
 /**
  * Construct a new instance of this class with default property values.
  */
@@ -150,7 +154,7 @@
  * The descriptive information about this implementation.
  */
 protected static final String info =
-"org.apache.catalina.valves.AccessLogValve/1.0";
+"org.apache.catalina.valves.AccessLogValve/1.1";
 
 
 /**
@@ -603,7 +607,7 @@
 
 long length = response.getContentCountLong() ;
 if (length <= 0)
-value = "-";
+value = MARK_EMPTY;
 else
 value = "" + length;
 result.append(value);
@@ -615,7 +619,7 @@
 if(referer != null)
 result.append(referer);
 else
-result.append("-");
+result.append(MARK_EMPTY);
 result.append("\"");
 
 result.append(space);
@@ -624,7 +628,7 @@
 if(ua != null)
 result.append(ua);
 else
-result.append("-");
+result.append(MARK_EMPTY);
 result.append("\"");
 }
 
@@ -808,7 +812,7 @@
 } else if (pattern == 'b') {
 long length = response.getContentCountLong() ;
 if (length <= 0)
-value = "-";
+value = MARK_EMPTY;
 else
 value = "" + length;
 } else if (pattern == 'B') {
@@ -818,7 +822,7 @@
 } else if (pattern == 'H') {
 value = request.getProtocol();
 } else if (pattern == 'l') {
-value = "-";
+value = MARK_EMPTY;
 } else if (pattern == 'm') {
 if (request != null)
 value = request.getMethod();
@@ -857,14 +861,14 @@
 if (request != null)
 if (request.getSession(false) != null)
 value = request.getSessionInternal(false).getIdInternal();
-else value = "-";
+else value = MARK_EMPTY;
 else
-value = "-";
+value = MARK_EMPTY;
 } else if (pattern == 's') {
 if (response != null)
 value = "" + response.getStatus();
 else
-value = "-";
+value = MARK_EMPTY;
 } else if (pattern == 't') {
 StringBuffer temp = new StringBuffer("[");
 temp.append(dayFormatter.format(date)); // Day
@@ -884,14 +888,21 @@
 if (request != null)
 value = request.getRemoteUser();
 if (value == null)
-value = "-";
+value = MARK_EMPTY;
 } else if (pattern == 'U') {
 if (request != null)
 value = request.getRequestURI();
 else
-value = "-";
+value = MARK_EMPTY;
 } else if (pattern == 'v') {
 value = request.getServerName();
+} else if (pattern == 'I' ) {
+RequestInfo info = 
request.getCoyoteRequest().getRequestProcessor();
+if(info != null) {
+value= info.getWorkerThreadName();
+} else {
+