[Bug 57402] New: Provide correlation ID between mod_jk log and access log

2014-12-30 Thread bugzilla
https://issues.apache.org/bugzilla/show_bug.cgi?id=57402

Bug ID: 57402
   Summary: Provide correlation ID between mod_jk log and access
log
   Product: Tomcat Connectors
   Version: unspecified
  Hardware: All
OS: All
Status: NEW
  Severity: enhancement
  Priority: P2
 Component: mod_jk
  Assignee: dev@tomcat.apache.org
  Reporter: rainer.j...@kippdata.de

Since version 2.4 of the Apache web server it has a feature named correlation
ID, that allows to log a unique id in the error log and the access log. If you
want to identify a request which triggered an error message, you can pick the
correlation id from the error message and look for the same id in the access
log. The id will be unique per request. Furthermore for cases where the error
occured before reading the request, there is also a connection correlation id.
The IDs are in the log_id member of the requets and connection structs.

It would be nice if mod_jk would also add the ID to its mod_jk log.

There are several implementation problems though:

- mod_jk doesn't pass a request or connection struct down to the log
implementation. So we can't easily access log_id. It might be possible by
introducing thread local storage - which is supported by many platforms - and
set a TLS pointer to the connection and request objects early during
processing.

- Apache sets the log_id not for every request, but only when it needs to write
an error message for a request. We could set the log_id fields in mod_jk though
(if not already set). It seems Apache won't overwrite them if they are already
set (needs checking, see add_log_id() in server/log.c).

- Making this work for Apache before 2.4 must be based on a different storage
location for the log_id.

- I haven't thought about making this even work for ISAPI.

I currently don't plan working on this. Patches welcome.

-- 
You are receiving this mail because:
You are the assignee for the bug.

-
To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org
For additional commands, e-mail: dev-h...@tomcat.apache.org



[Bug 57403] New: Persist configuration changes made via status worker

2014-12-30 Thread bugzilla
https://issues.apache.org/bugzilla/show_bug.cgi?id=57403

Bug ID: 57403
   Summary: Persist configuration changes made via status worker
   Product: Tomcat Connectors
   Version: unspecified
  Hardware: All
OS: All
Status: NEW
  Severity: enhancement
  Priority: P2
 Component: Common
  Assignee: dev@tomcat.apache.org
  Reporter: rainer.j...@kippdata.de

The status worker should have an optional feature to save any configuration
changes made via its GUI to workers.properties.

Writing a configuraiton file is typically not an easy task, because you would
loose comments and other structure of the original file, e.g. property
inheritance via the "reference" attribute.

One implementation idea would be second "journal" file to which one would write
a protocol of all new propertiy values coming our of status worker changes.
Only changes with a "persist" checkbox set in the GUI would be written there.

During startup mod_jk would read the original workers.properties and then
overlay the journal file to reacreate the last "persisted" configuration state.

A sysadmin could at any time either roll back by deleting the journal file or
parts of it, or reintegrate the journal file contents into the original
workers.properties.

The default name of the journal file could be the value of JkWorkersFile plus
some suffix, like ".journal" or ".changes". For situations, where the file has
to go to some other place, a JkWorkersJounrnalFile directive could be used to
explicitely set the file (and dir).

The default in the status worker GUI would be not to persist, activating it via
a checkbox in the forms, in which one can set new property values. A
configuration item for the status worker could switch defaults (it would still
show the same checkbox, but then it would be checked by default).

If saving the properties fails, the status workr would show an error message
and also log an error.

If mod_jk finds a journal file, it would log its existence and processing on
info log level during startup.

The journal file could also contain a comment line for each property line,
which contains a timestamp of the change and maybe user name and other meta
data (client IP? User comment added via GUI?).

I currently do not plan to work on this but patches are welcome.

-- 
You are receiving this mail because:
You are the assignee for the bug.

-
To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org
For additional commands, e-mail: dev-h...@tomcat.apache.org



[Bug 57405] New: Don't warn about invalid URI if URI is "*"

2014-12-30 Thread bugzilla
https://issues.apache.org/bugzilla/show_bug.cgi?id=57405

Bug ID: 57405
   Summary: Don't warn about invalid URI if URI is "*"
   Product: Tomcat Connectors
   Version: 1.2.40
  Hardware: PC
OS: Mac OS X 10.1
Status: NEW
  Severity: minor
  Priority: P2
 Component: mod_jk
  Assignee: dev@tomcat.apache.org
  Reporter: ch...@christopherschultz.net

>From an old complaint that is still plaguing us 4 years later:
http://markmail.org/thread/o3iiojm427tmfssd

Certain software and/or hardware probe for availability using a request like
this:

OPTIONS * HTTP/1.1

When mod_jk checks to see if this is a URI to handle, it complains with a
WARN-level message in mod_jk.log:

[Tue Dec 30 14:33:27.141 2014] [17353:140224749586432] [warn]
map_uri_to_worker_ext::jk_uri_worker_map.c (1096): Uri * is invalid. Uri must
start with /

Since this is

  a) A valid URI / request
  b) Not one to be handled by mod_jk

therefore mod_jk should not complain.

As a corollary, it ought to be possible to "JkMount *" or something similar so
that "OPTIONS *" requests can be forwarded to Tomcat explicitly.

-- 
You are receiving this mail because:
You are the assignee for the bug.

-
To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org
For additional commands, e-mail: dev-h...@tomcat.apache.org



[Bug 57403] Persist configuration changes made via status worker

2014-12-30 Thread bugzilla
https://issues.apache.org/bugzilla/show_bug.cgi?id=57403

--- Comment #1 from Christopher Schultz  ---
Please make the persistability something that needs to be explicitly enabled
for the module. We don't need an accidental security hole added for users who
don't ever want to use the feature.

-- 
You are receiving this mail because:
You are the assignee for the bug.

-
To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org
For additional commands, e-mail: dev-h...@tomcat.apache.org



[Bug 57405] Don't warn about invalid URI if URI is "*"

2014-12-30 Thread bugzilla
https://issues.apache.org/bugzilla/show_bug.cgi?id=57405

Rainer Jung  changed:

   What|Removed |Added

 Status|NEW |RESOLVED
 Resolution|--- |DUPLICATE

--- Comment #1 from Rainer Jung  ---
The warning was toned down to a debug message in this case.
Being able to forward an "OPTIONS *" would be a separate enhancement request.
Not sure how to implement that (because mounts currently don't check http
method).

*** This bug has been marked as a duplicate of bug 50511 ***

-- 
You are receiving this mail because:
You are the assignee for the bug.

-
To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org
For additional commands, e-mail: dev-h...@tomcat.apache.org



[Bug 50511] WARNING about Internal Dummy Connection of Apache

2014-12-30 Thread bugzilla
https://issues.apache.org/bugzilla/show_bug.cgi?id=50511

Rainer Jung  changed:

   What|Removed |Added

 CC||ch...@christopherschultz.ne
   ||t

--- Comment #9 from Rainer Jung  ---
*** Bug 57405 has been marked as a duplicate of this bug. ***

-- 
You are receiving this mail because:
You are the assignee for the bug.

-
To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org
For additional commands, e-mail: dev-h...@tomcat.apache.org



[Bug 50511] WARNING about Internal Dummy Connection of Apache

2014-12-30 Thread bugzilla
https://issues.apache.org/bugzilla/show_bug.cgi?id=50511

--- Comment #10 from Christopher Schultz  ---
(In reply to Rainer Jung from comment #9)
> *** Bug 57405 has been marked as a duplicate of this bug. ***

Thanks for finding this... I was positive it was in BZ somewhere but couldn't
find it because it was a) filed using different description and b) already
fixed but c) not yet released.

-- 
You are receiving this mail because:
You are the assignee for the bug.

-
To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org
For additional commands, e-mail: dev-h...@tomcat.apache.org



svn commit: r1648541 - /tomcat/jk/trunk/native/buildconf.sh

2014-12-30 Thread schultz
Author: schultz
Date: Tue Dec 30 15:34:43 2014
New Revision: 1648541

URL: http://svn.apache.org/r1648541
Log:
Allow libtoolize command to be specified via LIBTOOLIZE environment variable.

Modified:
tomcat/jk/trunk/native/buildconf.sh

Modified: tomcat/jk/trunk/native/buildconf.sh
URL: 
http://svn.apache.org/viewvc/tomcat/jk/trunk/native/buildconf.sh?rev=1648541&r1=1648540&r2=1648541&view=diff
==
--- tomcat/jk/trunk/native/buildconf.sh (original)
+++ tomcat/jk/trunk/native/buildconf.sh Tue Dec 30 15:34:43 2014
@@ -18,8 +18,8 @@
 scripts/build/unix/buildcheck.sh || exit 1
 
 rm -rf autom4te.cache 2>/dev/null || true
-echo "buildconf: libtoolize --automake --copy"
-libtoolize --automake --copy
+echo "buildconf: ${LIBTOOLIZE:-libtoolize} --automake --copy"
+${LIBTOOLIZE:-libtoolize} --automake --copy
 echo "buildconf: aclocal"
 #aclocal --acdir=`aclocal --print-ac-dir`
 #aclocal --acdir=/usr/local/share/aclocal



-
To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org
For additional commands, e-mail: dev-h...@tomcat.apache.org



[Bug 56618] Can not set Hostname property to IPv6 address using JK Status Manager

2014-12-30 Thread bugzilla
https://issues.apache.org/bugzilla/show_bug.cgi?id=56618

--- Comment #2 from Christopher Schultz  ---
(In reply to Konstantin Kolinko from comment #1)
> Looking at the code, jk_status.c has its own HTTP query parameters parsing
> (status_parse_uri() in native/common/jk_status.c), implemented by splitting
> the query string.
> The url-decoding of parameters is not performed. There is a comment that it
> had been planned, but has not been implemented yet.
> 
> /* XXX Depending on the params values, we might need to trim and decode */

Yes, jk_status.c:1277 looks like the right place to do this. It seems no
parameter-decoding is happening at all, probably because mod_jk never expects
to get a parameter value that is encoded in any way.

There are several settings that could be affected in this way:

  hostname, route, redirect-route, cluster-domain, worker-name

The last one (worker-name) could be configured properly in workers.properties,
but then be unable to send the worker's name via HTTP without encoding, in
which case mod_jk would never be able to find the worker.

-- 
You are receiving this mail because:
You are the assignee for the bug.

-
To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org
For additional commands, e-mail: dev-h...@tomcat.apache.org



[Bug 56618] Can not set Hostname property to IPv6 address using JK Status Manager

2014-12-30 Thread bugzilla
https://issues.apache.org/bugzilla/show_bug.cgi?id=56618

--- Comment #3 from Christopher Schultz  ---
Created attachment 32339
  --> https://issues.apache.org/bugzilla/attachment.cgi?id=32339&action=edit
Initial patch with (possibly) sloppy memory management

I have a patch which lifts the whole apr_unescape_url method from APR 1.5 and
uses it in jk_status:status_parse_uri and initial testing suggests that it
works. However, I have been lazy with my memory allocations because I have not
yet understood how jk_map_put deals with memory.

I'm attaching my proposed patch with the understanding that it is almost
certainly not complete, as it likely contains a memory leak.

It also does not decode parameter *names*, but it doesn't seem like the mod_jk
status worker really needs that right now.

-- 
You are receiving this mail because:
You are the assignee for the bug.

-
To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org
For additional commands, e-mail: dev-h...@tomcat.apache.org



[Bug 56618] Can not set Hostname property to IPv6 address using JK Status Manager

2014-12-30 Thread bugzilla
https://issues.apache.org/bugzilla/show_bug.cgi?id=56618

Christopher Schultz  changed:

   What|Removed |Added

  Attachment #32339|0   |1
is obsolete||

--- Comment #4 from Christopher Schultz  ---
Created attachment 32340
  --> https://issues.apache.org/bugzilla/attachment.cgi?id=32340&action=edit
A better patch without memory leaks

-- 
You are receiving this mail because:
You are the assignee for the bug.

-
To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org
For additional commands, e-mail: dev-h...@tomcat.apache.org



[Bug 56618] Can not set Hostname property to IPv6 address using JK Status Manager

2014-12-30 Thread bugzilla
https://issues.apache.org/bugzilla/show_bug.cgi?id=56618

Christopher Schultz  changed:

   What|Removed |Added

  Attachment #32339|0   |1
   is patch||

-- 
You are receiving this mail because:
You are the assignee for the bug.

-
To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org
For additional commands, e-mail: dev-h...@tomcat.apache.org



svn commit: r1648589 - /tomcat/jk/trunk/xdocs/ajp/ajpv13a.xml

2014-12-30 Thread schultz
Author: schultz
Date: Tue Dec 30 19:58:08 2014
New Revision: 1648589

URL: http://svn.apache.org/r1648589
Log:
Fix https://issues.apache.org/bugzilla/show_bug.cgi?id=48460
- Clarified staggeringly incorrect statement about byte-order
- Fixed bad hex mental math
- Unwound logical confusion about true versus false values and their meanings


Modified:
tomcat/jk/trunk/xdocs/ajp/ajpv13a.xml

Modified: tomcat/jk/trunk/xdocs/ajp/ajpv13a.xml
URL: 
http://svn.apache.org/viewvc/tomcat/jk/trunk/xdocs/ajp/ajpv13a.xml?rev=1648589&r1=1648588&r2=1648589&view=diff
==
--- tomcat/jk/trunk/xdocs/ajp/ajpv13a.xml (original)
+++ tomcat/jk/trunk/xdocs/ajp/ajpv13a.xml Tue Dec 30 19:58:08 2014
@@ -145,13 +145,11 @@ Response Packet Structures below for det
 
 There is a bit of an XDR heritage to this protocol, but it differs in
 lots of ways (no 4 byte alignment, for example).
-
-Byte order: I am not clear about the endian-ness of the individual
-bytes.  I'm guessing the bytes are little-endian, because that's what XDR
-specifies, and I'm guessing that sys/socket library is magically making
-that so (on the C side).  If anyone with a better knowledge of socket calls
-can step in, that would be great.
-
+
+
+  AJP13 uses network byte order for all data types.
+
+
 There are four data types in the protocol: bytes, booleans, integers and
 strings.
 
@@ -489,7 +487,7 @@ additional methods, even if they are not
   two-byte integer is the length of a string, which is then read in.
 
   This works on the assumption that no header names will have length
-  greater than 0x (==0xA000 - 1), which is perfectly reasonable, though
+  greater than 0x9FFF (==0xA000 - 1), which is perfectly reasonable, though
   somewhat arbitrary. (If you, like me, started to think about the cookie
   spec here, and about how long headers can get, fear not -- this limit is
   on header names not header values.  It seems unlikely that
@@ -509,7 +507,7 @@ additional methods, even if they are not
   The attributes prefixed with a ?
   (e.g. ?context) are all optional.  For each, there is a
   single byte code to indicate the type of attribute, and then a string to
-  give its value.  They can be sent in any order (thogh the C code always
+  give its value.  They can be sent in any order (though the C code always
   sends them in the order listed below).  A special terminating code is
   sent to signal the end of the list of optional attributes. The list of
   byte codes is:
@@ -654,8 +652,8 @@ Details:
 
   Signals the end of this request-handling cycle.  If the
   reuse flag is true (==1), this TCP connection can now be used to
-  handle new incoming requests.  If reuse is false (anything
-  other than 1 in the actual C code), the connection should be closed.
+  handle new incoming requests.  If reuse is true (anything
+  other than 0 in the actual C code), the connection should be closed.
 
 
 



-
To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org
For additional commands, e-mail: dev-h...@tomcat.apache.org



[Bug 48460] mod_proxy_ajp document has three misleading portions

2014-12-30 Thread bugzilla
https://issues.apache.org/bugzilla/show_bug.cgi?id=48460

Christopher Schultz  changed:

   What|Removed |Added

  Component|Documentation   |Documentation
Version|1.2.0   |2.0-HEAD
   Assignee|dev@tomcat.apache.org   |d...@httpd.apache.org
Product|Tomcat Connectors   |Apache httpd-2

--- Comment #2 from Christopher Schultz  ---
Fixed the original (mod_jk) documentation in r1648589.

Assigning to httpd-docs to get mod_proxy_ajp documentation fixed.

-- 
You are receiving this mail because:
You are the assignee for the bug.

-
To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org
For additional commands, e-mail: dev-h...@tomcat.apache.org



[Bug 54621] [PATCH] custom mod_jk availability checks

2014-12-30 Thread bugzilla
https://issues.apache.org/bugzilla/show_bug.cgi?id=54621

Christopher Schultz  changed:

   What|Removed |Added

  Attachment #30004|0   |1
   is patch||
  Attachment #30004|application/octet-stream|text/plain
  mime type||

-- 
You are receiving this mail because:
You are the assignee for the bug.

-
To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org
For additional commands, e-mail: dev-h...@tomcat.apache.org



[GUMP@vmgump]: Project tomcat-native-make (in module tomcat-native) failed

2014-12-30 Thread Bill Barker
To whom it may engage...

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

Project tomcat-native-make has an issue affecting its community integration.
This issue affects 2 projects,
 and has been outstanding for 48 runs.
The current state of this project is 'Failed', with reason 'Build Failed'.
For reference only, the following projects are affected by this:
- tomcat-native-make :  Tomcat native library using Apache Portable Runtime
- tomcat-native-make-install :  Tomcat native library using Apache Portable 
Runtime


Full details are available at:

http://vmgump.apache.org/gump/public/tomcat-native/tomcat-native-make/index.html

That said, some information snippets are provided here.

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



The following work was performed:
http://vmgump.apache.org/gump/public/tomcat-native/tomcat-native-make/gump_work/build_tomcat-native_tomcat-native-make.html
Work Name: build_tomcat-native_tomcat-native-make (Type: Build)
Work ended in a state of : Failed
Elapsed: 7 secs
Command Line: make 
[Working Directory: /srv/gump/public/workspace/tomcat-native/native]
-
make[1]: Entering directory `/srv/gump/public/workspace/tomcat-native/native'
/bin/bash /srv/gump/public/workspace/apr-1/dest-20141231/build-1/libtool 
--silent --mode=compile gcc -g -O2 -pthread   -DHAVE_CONFIG_H  -DLINUX 
-D_REENTRANT -D_GNU_SOURCE   -g -O2 -DHAVE_OPENSSL   
-I/srv/gump/public/workspace/tomcat-native/native/include 
-I/usr/lib/jvm/java-8-oracle/include -I/usr/lib/jvm/java-8-oracle/include/linux 
-I/srv/gump/public/workspace/openssl/dest-20141231/include  
-I/srv/gump/public/workspace/apr-1/dest-20141231/include/apr-1   -o 
src/address.lo -c src/address.c && touch src/address.lo
/bin/bash /srv/gump/public/workspace/apr-1/dest-20141231/build-1/libtool 
--silent --mode=compile gcc -g -O2 -pthread   -DHAVE_CONFIG_H  -DLINUX 
-D_REENTRANT -D_GNU_SOURCE   -g -O2 -DHAVE_OPENSSL   
-I/srv/gump/public/workspace/tomcat-native/native/include 
-I/usr/lib/jvm/java-8-oracle/include -I/usr/lib/jvm/java-8-oracle/include/linux 
-I/srv/gump/public/workspace/openssl/dest-20141231/include  
-I/srv/gump/public/workspace/apr-1/dest-20141231/include/apr-1   -o src/bb.lo 
-c src/bb.c && touch src/bb.lo
/bin/bash /srv/gump/public/workspace/apr-1/dest-20141231/build-1/libtool 
--silent --mode=compile gcc -g -O2 -pthread   -DHAVE_CONFIG_H  -DLINUX 
-D_REENTRANT -D_GNU_SOURCE   -g -O2 -DHAVE_OPENSSL   
-I/srv/gump/public/workspace/tomcat-native/native/include 
-I/usr/lib/jvm/java-8-oracle/include -I/usr/lib/jvm/java-8-oracle/include/linux 
-I/srv/gump/public/workspace/openssl/dest-20141231/include  
-I/srv/gump/public/workspace/apr-1/dest-20141231/include/apr-1   -o src/dir.lo 
-c src/dir.c && touch src/dir.lo
/bin/bash /srv/gump/public/workspace/apr-1/dest-20141231/build-1/libtool 
--silent --mode=compile gcc -g -O2 -pthread   -DHAVE_CONFIG_H  -DLINUX 
-D_REENTRANT -D_GNU_SOURCE   -g -O2 -DHAVE_OPENSSL   
-I/srv/gump/public/workspace/tomcat-native/native/include 
-I/usr/lib/jvm/java-8-oracle/include -I/usr/lib/jvm/java-8-oracle/include/linux 
-I/srv/gump/public/workspace/openssl/dest-20141231/include  
-I/srv/gump/public/workspace/apr-1/dest-20141231/include/apr-1   -o 
src/error.lo -c src/error.c && touch src/error.lo
/bin/bash /srv/gump/public/workspace/apr-1/dest-20141231/build-1/libtool 
--silent --mode=compile gcc -g -O2 -pthread   -DHAVE_CONFIG_H  -DLINUX 
-D_REENTRANT -D_GNU_SOURCE   -g -O2 -DHAVE_OPENSSL   
-I/srv/gump/public/workspace/tomcat-native/native/include 
-I/usr/lib/jvm/java-8-oracle/include -I/usr/lib/jvm/java-8-oracle/include/linux 
-I/srv/gump/public/workspace/openssl/dest-20141231/include  
-I/srv/gump/public/workspace/apr-1/dest-20141231/include/apr-1   -o src/file.lo 
-c src/file.c && touch src/file.lo
/bin/bash /srv/gump/public/workspace/apr-1/dest-20141231/build-1/libtool 
--silent --mode=compile gcc -g -O2 -pthread   -DHAVE_CONFIG_H  -DLINUX 
-D_REENTRANT -D_GNU_SOURCE   -g -O2 -DHAVE_OPENSSL   
-I/srv/gump/public/workspace/tomcat-native/native/include 
-I/usr/lib/jvm/java-8-oracle/include -I/usr/lib/jvm/java-8-oracle/include/linux 
-I/srv/gump/public/workspace/openssl/dest-20141231/include  
-I/srv/gump/public/workspace/apr-1/dest-20141231/include/apr-1   -o src/info.lo 
-c src/info.c && touch src/info.lo
/bin/bash /srv/gump/public/workspace/apr-1/dest-20141231/build-1/libtool 
--silent --mode=compile gcc -g -O2 -pthread   -DHAVE_CONFIG_H  -DLINUX 
-D_REENTRANT -D_GNU_SOURCE   -g -O2 -DHAVE_OPENSSL   
-I/srv/gump/public/workspace/tomcat-native/native/include 
-I/usr/lib/jvm/java-8-oracle/include -I/usr/lib/jvm/java-8-oracle/include/linux 
-I/srv/gump/public/workspace/openssl/dest-20141231/include  
-I/srv/gump/public/workspace