httpd-2.0.61

2007-08-30 Thread William A. Rowe, Jr.
You'll note there is a -very- short list of remaining patches to
consider for the 2.0 branch, and the logging stderr pool in particular
would be good to backport.  Because there is no shell, we forcefully
kill the stderr pipe logger on pool cleanup before we start launching
the new logs.  In 2.2/trunk this wasn't a noticeable, we forcefully
kill the shell, but the log program it launches keeps running in some
cases.

Bill


[PATCH] mod_ssl: Stricter directive context checking

2007-08-30 Thread Martin Kraemer
In mod_ssl's directive parser, many directives do not check the allowed
contexts, thus misleading the user that, e.g., in the configuration...

  LimitExcept GET OPTIONS
 Require valid-user
 IfModule ssl_module
   SSLRequireSSL
 /IfModule
  /LimitExcept

the SSLRequireSSL directive indeed applies only to the destructive
methods (PUT, PROPSET, ...), while in fact it applies to all methods.

The patch is just a start: more ap_check_cmd_context() calls were
desirable...

  Martin
-- 
[EMAIL PROTECTED]| Fujitsu Siemens
http://www.fujitsu-siemens.com/imprint.html | 81730  Munich,  Germany
diff -burp httpd-2.2.4.old5/modules/ssl/ssl_engine_config.c 
httpd-2.2.4/modules/ssl/ssl_engine_config.c
--- httpd-2.2.4.old5/modules/ssl/ssl_engine_config.c2006-07-23 
13:11:58.0 +0200
+++ httpd-2.2.4/modules/ssl/ssl_engine_config.c 2007-08-29 19:32:59.000686000 
+0200
@@ -1159,6 +1159,11 @@ const char *ssl_cmd_SSLOptions(cmd_parms
 const char *ssl_cmd_SSLRequireSSL(cmd_parms *cmd, void *dcfg)
 {
 SSLDirConfigRec *dc = (SSLDirConfigRec *)dcfg;
+const char *err = ap_check_cmd_context(cmd, 
NOT_IN_LIMIT|NOT_IN_LOCATION|NOT_IN_FILES);
+
+if (err != NULL) {
+return err;
+}
 
 dc-bSSLRequired = TRUE;
 
@@ -1172,6 +1177,11 @@ const char *ssl_cmd_SSLRequire(cmd_parms
 SSLDirConfigRec *dc = (SSLDirConfigRec *)dcfg;
 ssl_expr *expr;
 ssl_require_t *require;
+const char *err = ap_check_cmd_context(cmd, 
NOT_IN_LIMIT|NOT_IN_LOCATION|NOT_IN_FILES);
+
+if (err != NULL) {
+return err;
+}
 
 if (!(expr = ssl_expr_comp(cmd-pool, (char *)arg))) {
 return apr_pstrcat(cmd-pool, SSLRequire: ,


Guess what? Time for 1.3.39, 2.0.61 and 2.2.6 :)

2007-08-30 Thread Jim Jagielski

Since a few regressions and other issues popped up the
last go around, I cancelled release of 1.3.38, 2.0.60 and
2.2.5... I think we are close, *very* close to being at
the point to try this all again.

1.3.39 looks stable enough that a TR has no open issues
at all. So it's a no-brainer.

2.0.61 also looks the same, although we do have a bundled
later version of apr/apu.

2.2.6 has a few items still in STATUS which lack a single
vote to be backported. Now I'm not asking that people
just vote, but I am asking that people take a good look
at the proposals, test them out and vote as they see fit.
I don't want to delay 2.2.6 any more than it needs to be,
yet on the other hand it would be a shame not to release
2.2.6 with as many improvements and fixes as possible.

My intent is to TR all 3 tomorrow (Friday, the 31st) with
a potential announcement Wednesday, Sept 5th. This is
because Monday is a holiday in the states, so that means
mostly a 3 day weekend for most people...


Re: Guess what? Time for 1.3.39, 2.0.61 and 2.2.6 :)

2007-08-30 Thread Joe Orton
On Thu, Aug 30, 2007 at 08:31:21AM -0400, Jim Jagielski wrote:
 Since a few regressions and other issues popped up the
 last go around, I cancelled release of 1.3.38, 2.0.60 and
 2.2.5... I think we are close, *very* close to being at
 the point to try this all again.

Can we move the SECURITY stuff back up to the top and remove the 2.2.5 
heading - it would just be confusing to users since 2.2.5 doen't really 
exist? i.e. below, which adds the CVE name for the autoindex issue too.

Index: CHANGES
===
--- CHANGES (revision 571136)
+++ CHANGES (working copy)
@@ -1,11 +1,37 @@
 -*- coding: utf-8 -*-
 Changes with Apache 2.2.6
 
-  *) mod_autoindex: Add in Type and Charset options to IndexOptions
+  *) SECURITY: CVE-2007-4465 (cve.mitre.org)
+ mod_autoindex: Add in Type and Charset options to IndexOptions
  directive. This allows the admin to explicitly set the 
  content-type and charset of the generated page.
  [Jim Jagielski]
 
+  *) SECURITY: CVE-2007-3847 (cve.mitre.org)
+ mod_proxy: Prevent reading past the end of a buffer when parsing
+ date-related headers.  PR 41144.
+ [Davi Arnaut, Nick Kew]
+
+  *) SECURITY: CVE-2007-1863 (cve.mitre.org)
+ mod_cache: Prevent a segmentation fault if attributes are listed in a 
+ Cache-Control header without any value. 
+ [Niklas Edmundsson nikke acc.umu.se]
+
+  *) SECURITY: CVE-2007-3304 (cve.mitre.org)
+ prefork, worker, event MPMs: Ensure that the parent process cannot
+ be forced to kill processes outside its process group. 
+ [Joe Orton, Jim Jagielski]
+
+  *) SECURITY: CVE-2006-5752 (cve.mitre.org)
+ mod_status: Fix a possible XSS attack against a site with a public
+ server-status page and ExtendedStatus enabled, for browsers which
+ perform charset detection.  Reported by Stefan Esser.  [Joe Orton]
+
+  *) SECURITY: CVE-2007-1862 (cve.mitre.org)
+ mod_mem_cache: Copy headers into longer lived storage; header names and
+ values could previously point to cleaned up storage.  PR 41551.
+ [Davi Arnaut davi haxent.com.br]
+
   *) log core: ensure we use a special pool for stderr logging, so that
  the stderr channel remains valid from the time plog is destroyed,
  until the time the open_logs hook is called again.  [William Rowe]
@@ -70,33 +96,6 @@
  improper merging of the cache lock in vhost config
  PR 43164 [Eric Covener]
 
-Changes with Apache 2.2.5
-
-  *) SECURITY: CVE-2007-3847 (cve.mitre.org)
- mod_proxy: Prevent reading past the end of a buffer when parsing
- date-related headers.  PR 41144.
- [Davi Arnaut, Nick Kew]
-
-  *) SECURITY: CVE-2007-1863 (cve.mitre.org)
- mod_cache: Prevent a segmentation fault if attributes are listed in a 
- Cache-Control header without any value. 
- [Niklas Edmundsson nikke acc.umu.se]
-
-  *) SECURITY: CVE-2007-3304 (cve.mitre.org)
- prefork, worker, event MPMs: Ensure that the parent process cannot
- be forced to kill processes outside its process group. 
- [Joe Orton, Jim Jagielski]
-
-  *) SECURITY: CVE-2006-5752 (cve.mitre.org)
- mod_status: Fix a possible XSS attack against a site with a public
- server-status page and ExtendedStatus enabled, for browsers which
- perform charset detection.  Reported by Stefan Esser.  [Joe Orton]
-
-  *) SECURITY: CVE-2007-1862 (cve.mitre.org)
- mod_mem_cache: Copy headers into longer lived storage; header names and
- values could previously point to cleaned up storage.  PR 41551.
- [Davi Arnaut davi haxent.com.br]
-
   *) ApacheMonitor: Fix Windows Vista detection. [Mladen Turk]
 
   *) mod_deflate: fix protocol handling in deflate input filter



Re: Guess what? Time for 1.3.39, 2.0.61 and 2.2.6 :)

2007-08-30 Thread Jim Jagielski

Yes, the CHANGES file will be updated to reflect any
and all security issues for that release...

On Aug 30, 2007, at 8:38 AM, Joe Orton wrote:


On Thu, Aug 30, 2007 at 08:31:21AM -0400, Jim Jagielski wrote:

Since a few regressions and other issues popped up the
last go around, I cancelled release of 1.3.38, 2.0.60 and
2.2.5... I think we are close, *very* close to being at
the point to try this all again.


Can we move the SECURITY stuff back up to the top and remove the 2.2.5
heading - it would just be confusing to users since 2.2.5 doen't  
really
exist? i.e. below, which adds the CVE name for the autoindex issue  
too.


Index: CHANGES
===
--- CHANGES (revision 571136)
+++ CHANGES (working copy)
@@ -1,11 +1,37 @@
 -*-  
coding: utf-8 -*-

 Changes with Apache 2.2.6

-  *) mod_autoindex: Add in Type and Charset options to IndexOptions
+  *) SECURITY: CVE-2007-4465 (cve.mitre.org)
+ mod_autoindex: Add in Type and Charset options to IndexOptions
  directive. This allows the admin to explicitly set the
  content-type and charset of the generated page.
  [Jim Jagielski]

+  *) SECURITY: CVE-2007-3847 (cve.mitre.org)
+ mod_proxy: Prevent reading past the end of a buffer when parsing
+ date-related headers.  PR 41144.
+ [Davi Arnaut, Nick Kew]
+
+  *) SECURITY: CVE-2007-1863 (cve.mitre.org)
+ mod_cache: Prevent a segmentation fault if attributes are  
listed in a

+ Cache-Control header without any value.
+ [Niklas Edmundsson nikke acc.umu.se]
+
+  *) SECURITY: CVE-2007-3304 (cve.mitre.org)
+ prefork, worker, event MPMs: Ensure that the parent process  
cannot

+ be forced to kill processes outside its process group.
+ [Joe Orton, Jim Jagielski]
+
+  *) SECURITY: CVE-2006-5752 (cve.mitre.org)
+ mod_status: Fix a possible XSS attack against a site with a  
public
+ server-status page and ExtendedStatus enabled, for browsers  
which
+ perform charset detection.  Reported by Stefan Esser.  [Joe  
Orton]

+
+  *) SECURITY: CVE-2007-1862 (cve.mitre.org)
+ mod_mem_cache: Copy headers into longer lived storage; header  
names and

+ values could previously point to cleaned up storage.  PR 41551.
+ [Davi Arnaut davi haxent.com.br]
+
   *) log core: ensure we use a special pool for stderr logging, so  
that
  the stderr channel remains valid from the time plog is  
destroyed,
  until the time the open_logs hook is called again.  [William  
Rowe]

@@ -70,33 +96,6 @@
  improper merging of the cache lock in vhost config
  PR 43164 [Eric Covener]

-Changes with Apache 2.2.5
-
-  *) SECURITY: CVE-2007-3847 (cve.mitre.org)
- mod_proxy: Prevent reading past the end of a buffer when parsing
- date-related headers.  PR 41144.
- [Davi Arnaut, Nick Kew]
-
-  *) SECURITY: CVE-2007-1863 (cve.mitre.org)
- mod_cache: Prevent a segmentation fault if attributes are  
listed in a

- Cache-Control header without any value.
- [Niklas Edmundsson nikke acc.umu.se]
-
-  *) SECURITY: CVE-2007-3304 (cve.mitre.org)
- prefork, worker, event MPMs: Ensure that the parent process  
cannot

- be forced to kill processes outside its process group.
- [Joe Orton, Jim Jagielski]
-
-  *) SECURITY: CVE-2006-5752 (cve.mitre.org)
- mod_status: Fix a possible XSS attack against a site with a  
public
- server-status page and ExtendedStatus enabled, for browsers  
which
- perform charset detection.  Reported by Stefan Esser.  [Joe  
Orton]

-
-  *) SECURITY: CVE-2007-1862 (cve.mitre.org)
- mod_mem_cache: Copy headers into longer lived storage; header  
names and

- values could previously point to cleaned up storage.  PR 41551.
- [Davi Arnaut davi haxent.com.br]
-
   *) ApacheMonitor: Fix Windows Vista detection. [Mladen Turk]

   *) mod_deflate: fix protocol handling in deflate input filter





RE: Guess what? Time for 1.3.39, 2.0.61 and 2.2.6 :)

2007-08-30 Thread Cameron J. Young \(Personal\)
Jim,
Is that EST or PST ??
Cheers,
Cameron 

-Original Message-
From: Jim Jagielski [mailto:[EMAIL PROTECTED] 
Sent: Thursday, 30 August 2007 23:02
To: dev@httpd.apache.org
Subject: Re: Guess what? Time for 1.3.39, 2.0.61 and 2.2.6 :)

Yes, the CHANGES file will be updated to reflect any
and all security issues for that release...

On Aug 30, 2007, at 8:38 AM, Joe Orton wrote:

 On Thu, Aug 30, 2007 at 08:31:21AM -0400, Jim Jagielski wrote:
 Since a few regressions and other issues popped up the
 last go around, I cancelled release of 1.3.38, 2.0.60 and
 2.2.5... I think we are close, *very* close to being at
 the point to try this all again.

 Can we move the SECURITY stuff back up to the top and remove the 2.2.5
 heading - it would just be confusing to users since 2.2.5 doen't  
 really
 exist? i.e. below, which adds the CVE name for the autoindex issue  
 too.

 Index: CHANGES
 ===
 --- CHANGES   (revision 571136)
 +++ CHANGES   (working copy)
 @@ -1,11 +1,37 @@
  -*-  
 coding: utf-8 -*-
  Changes with Apache 2.2.6

 -  *) mod_autoindex: Add in Type and Charset options to IndexOptions
 +  *) SECURITY: CVE-2007-4465 (cve.mitre.org)
 + mod_autoindex: Add in Type and Charset options to IndexOptions
   directive. This allows the admin to explicitly set the
   content-type and charset of the generated page.
   [Jim Jagielski]

 +  *) SECURITY: CVE-2007-3847 (cve.mitre.org)
 + mod_proxy: Prevent reading past the end of a buffer when parsing
 + date-related headers.  PR 41144.
 + [Davi Arnaut, Nick Kew]
 +
 +  *) SECURITY: CVE-2007-1863 (cve.mitre.org)
 + mod_cache: Prevent a segmentation fault if attributes are  
 listed in a
 + Cache-Control header without any value.
 + [Niklas Edmundsson nikke acc.umu.se]
 +
 +  *) SECURITY: CVE-2007-3304 (cve.mitre.org)
 + prefork, worker, event MPMs: Ensure that the parent process  
 cannot
 + be forced to kill processes outside its process group.
 + [Joe Orton, Jim Jagielski]
 +
 +  *) SECURITY: CVE-2006-5752 (cve.mitre.org)
 + mod_status: Fix a possible XSS attack against a site with a  
 public
 + server-status page and ExtendedStatus enabled, for browsers  
 which
 + perform charset detection.  Reported by Stefan Esser.  [Joe  
 Orton]
 +
 +  *) SECURITY: CVE-2007-1862 (cve.mitre.org)
 + mod_mem_cache: Copy headers into longer lived storage; header  
 names and
 + values could previously point to cleaned up storage.  PR 41551.
 + [Davi Arnaut davi haxent.com.br]
 +
*) log core: ensure we use a special pool for stderr logging, so  
 that
   the stderr channel remains valid from the time plog is  
 destroyed,
   until the time the open_logs hook is called again.  [William  
 Rowe]
 @@ -70,33 +96,6 @@
   improper merging of the cache lock in vhost config
   PR 43164 [Eric Covener]

 -Changes with Apache 2.2.5
 -
 -  *) SECURITY: CVE-2007-3847 (cve.mitre.org)
 - mod_proxy: Prevent reading past the end of a buffer when parsing
 - date-related headers.  PR 41144.
 - [Davi Arnaut, Nick Kew]
 -
 -  *) SECURITY: CVE-2007-1863 (cve.mitre.org)
 - mod_cache: Prevent a segmentation fault if attributes are  
 listed in a
 - Cache-Control header without any value.
 - [Niklas Edmundsson nikke acc.umu.se]
 -
 -  *) SECURITY: CVE-2007-3304 (cve.mitre.org)
 - prefork, worker, event MPMs: Ensure that the parent process  
 cannot
 - be forced to kill processes outside its process group.
 - [Joe Orton, Jim Jagielski]
 -
 -  *) SECURITY: CVE-2006-5752 (cve.mitre.org)
 - mod_status: Fix a possible XSS attack against a site with a  
 public
 - server-status page and ExtendedStatus enabled, for browsers  
 which
 - perform charset detection.  Reported by Stefan Esser.  [Joe  
 Orton]
 -
 -  *) SECURITY: CVE-2007-1862 (cve.mitre.org)
 - mod_mem_cache: Copy headers into longer lived storage; header  
 names and
 - values could previously point to cleaned up storage.  PR 41551.
 - [Davi Arnaut davi haxent.com.br]
 -
*) ApacheMonitor: Fix Windows Vista detection. [Mladen Turk]

*) mod_deflate: fix protocol handling in deflate input filter





Re: Blackdot.be (ApacheMon ApacheMobile) - Questions sparked by the ApacheLounge fuss

2007-08-30 Thread Jorge Schrauwen
Mail prc-at-apache.org but not reply yet but I'm in the process of renaming
all the stuff,
If they don't agree with the new name I'll do it again. But I have a few
question.

--- readme.txt extract ---
What is it?
-
HTTP Server On USB is a self contained webserver.
Based on Apache HTTPD Server. It comes with php, mod_ssl, mod_perl and
mod_security.
Simply drop your files into wwwroot, then your good to go!

--- end extract ---

I'd like to add an additional note to this but I'm unsure in how to phrase
it.
What I want to say is:
That I take the source tarball's that are posted e.g.
httpd-2.2.4-win32-src.zip (only official release no TR, svn etc).

I'd also like to knew if I need to add an additional disclaimer that I don't
offer any warranties if somehow (unlikely) manage to cost a company huge
sums of money and they want to sue me.

I presume that since I compiled the code itself they can't point the finger
at the ASF so will come looking for me. (since my of my personal info is on
my CV on my site they'll find me in seconds).

Thanks for you time

Jorge

On 8/24/07, Lars Eilebrecht [EMAIL PROTECTED] wrote:

 According to Jorge:

  Should I change these names to other things too to be safe? If so any
 ideas?
  I can see ApacheMobile being something like ServerOnAStick or something.
 But
  if I need to change them I have no idea what to call ApacheMon.
 
  Any comments on this are welcome.

 This FAQ entry may answer your question:
 http://www.apache.org/foundation/licence-FAQ.html#Name-changes


 But you ask the public relations committee for permission
 (prc-at-apache.org).

 ciao...
 --
 Lars Eilebrecht
 [EMAIL PROTECTED]





-- 
~Jorge
Version 2.6b:
- Renamed to HTTP Server On USB to not break the ASF Licensing terms

Version 2.6:
---
- Fixed bug in ApacheMobile.exe where minimalization would fail
- Updated HTTPD to 2.2.4
- Updated PHP to 5.2.3
- Added xdebug to php

Version 2.5 rev2:
---
- Fix a bug in ApacheMobile.exe
- Updated to layout to match ltie edition
- Disabled APC (cause random crashes on shutdown)

Version 2.5:
---
- Updated HTTPD to 2.2.2
- Updated PHP to 5.1.4
- Enabled APC (Adance PHP Cache)


Version 2.4:
---
- Updated HTTPD to 2.2.1
- Updated php to 5.1.2
- Added mod_security
# HTTP Server On USB   #
#  #
# By Jorge Schrauwen 2006  #
# http://www.blackdot.be   #


What is it?
-
HTTP Server On USB is a self contained webserver.
Based on Apache HTTPD Server. It comes with php, mod_ssl, mod_perl and 
mod_security.
Simply drop your files into wwwroot, then your good to go!

Installation:
-
Unpack this archive into the root of an empty USB-Key,
128mb is the minimum size,
256mb is recommended if you'll be placing some larger files on there.

Usage:
-
Simple start HTTPServerOnUSB.exe
You can then use the tray icon to start/stop Apache Mobile.
Make sure to select Exit from the trayicon before removing your USB-Key!

You can change the some settings in HTTPServerOnUSB.ini
DAV - 0 = off, 1 = On (Default=1)
SSL - 0 = off, 1 = On (Default=0)
PHP - 0 = off, 1 = On (Default=1)
SSI - 0 = off, 1 = On (Default=1)
PERL- 0 = off, 1 = On (Default=1)
DEFLATE - 0 = off, 1 = On (Default=0)

User Management:
-
The default admin user account:
UID: admin
PW: apachemobile

You can only change this by resetting the user database.
To do so run %drive%:\Apache2\conf\database\restore.cmd,
You will be promted for the new password.

You can add aditional Users (for DAV) by running
%drive%:\Apache2\conf\database\add_user.cmd usernamehere, from the command line.

DAV Server:
-
There are no default DAV users.
So you must use the admin UID and PW.

Use a DAV client to access it or use IE:
File-Open-http://127.0.0.1:81, check Open as Web Folder-OK

Re: Guess what? Time for 1.3.39, 2.0.61 and 2.2.6 :)

2007-08-30 Thread Jim Jagielski

Well... I'm east coast :)

On Aug 30, 2007, at 9:48 AM, Cameron J. Young ((Personal)) wrote:


Jim,
Is that EST or PST ??
Cheers,
Cameron

-Original Message-
From: Jim Jagielski [mailto:[EMAIL PROTECTED]
Sent: Thursday, 30 August 2007 23:02
To: dev@httpd.apache.org
Subject: Re: Guess what? Time for 1.3.39, 2.0.61 and 2.2.6 :)

Yes, the CHANGES file will be updated to reflect any
and all security issues for that release...

On Aug 30, 2007, at 8:38 AM, Joe Orton wrote:


On Thu, Aug 30, 2007 at 08:31:21AM -0400, Jim Jagielski wrote:

Since a few regressions and other issues popped up the
last go around, I cancelled release of 1.3.38, 2.0.60 and
2.2.5... I think we are close, *very* close to being at
the point to try this all again.


Can we move the SECURITY stuff back up to the top and remove the  
2.2.5

heading - it would just be confusing to users since 2.2.5 doen't
really
exist? i.e. below, which adds the CVE name for the autoindex issue
too.

Index: CHANGES
===
--- CHANGES (revision 571136)
+++ CHANGES (working copy)
@@ -1,11 +1,37 @@
 -*-
coding: utf-8 -*-
 Changes with Apache 2.2.6

-  *) mod_autoindex: Add in Type and Charset options to IndexOptions
+  *) SECURITY: CVE-2007-4465 (cve.mitre.org)
+ mod_autoindex: Add in Type and Charset options to IndexOptions
  directive. This allows the admin to explicitly set the
  content-type and charset of the generated page.
  [Jim Jagielski]

+  *) SECURITY: CVE-2007-3847 (cve.mitre.org)
+ mod_proxy: Prevent reading past the end of a buffer when  
parsing

+ date-related headers.  PR 41144.
+ [Davi Arnaut, Nick Kew]
+
+  *) SECURITY: CVE-2007-1863 (cve.mitre.org)
+ mod_cache: Prevent a segmentation fault if attributes are
listed in a
+ Cache-Control header without any value.
+ [Niklas Edmundsson nikke acc.umu.se]
+
+  *) SECURITY: CVE-2007-3304 (cve.mitre.org)
+ prefork, worker, event MPMs: Ensure that the parent process
cannot
+ be forced to kill processes outside its process group.
+ [Joe Orton, Jim Jagielski]
+
+  *) SECURITY: CVE-2006-5752 (cve.mitre.org)
+ mod_status: Fix a possible XSS attack against a site with a
public
+ server-status page and ExtendedStatus enabled, for browsers
which
+ perform charset detection.  Reported by Stefan Esser.  [Joe
Orton]
+
+  *) SECURITY: CVE-2007-1862 (cve.mitre.org)
+ mod_mem_cache: Copy headers into longer lived storage; header
names and
+ values could previously point to cleaned up storage.  PR 41551.
+ [Davi Arnaut davi haxent.com.br]
+
   *) log core: ensure we use a special pool for stderr logging, so
that
  the stderr channel remains valid from the time plog is
destroyed,
  until the time the open_logs hook is called again.  [William
Rowe]
@@ -70,33 +96,6 @@
  improper merging of the cache lock in vhost config
  PR 43164 [Eric Covener]

-Changes with Apache 2.2.5
-
-  *) SECURITY: CVE-2007-3847 (cve.mitre.org)
- mod_proxy: Prevent reading past the end of a buffer when  
parsing

- date-related headers.  PR 41144.
- [Davi Arnaut, Nick Kew]
-
-  *) SECURITY: CVE-2007-1863 (cve.mitre.org)
- mod_cache: Prevent a segmentation fault if attributes are
listed in a
- Cache-Control header without any value.
- [Niklas Edmundsson nikke acc.umu.se]
-
-  *) SECURITY: CVE-2007-3304 (cve.mitre.org)
- prefork, worker, event MPMs: Ensure that the parent process
cannot
- be forced to kill processes outside its process group.
- [Joe Orton, Jim Jagielski]
-
-  *) SECURITY: CVE-2006-5752 (cve.mitre.org)
- mod_status: Fix a possible XSS attack against a site with a
public
- server-status page and ExtendedStatus enabled, for browsers
which
- perform charset detection.  Reported by Stefan Esser.  [Joe
Orton]
-
-  *) SECURITY: CVE-2007-1862 (cve.mitre.org)
- mod_mem_cache: Copy headers into longer lived storage; header
names and
- values could previously point to cleaned up storage.  PR 41551.
- [Davi Arnaut davi haxent.com.br]
-
   *) ApacheMonitor: Fix Windows Vista detection. [Mladen Turk]

   *) mod_deflate: fix protocol handling in deflate input filter








Re: Blackdot.be (ApacheMon ApacheMobile) - Questions sparked by the ApacheLounge fuss

2007-08-30 Thread Jim Jagielski

Sorry for the delay (with my PRC hat on). You should see
a reply as we speak :)

On Aug 30, 2007, at 10:00 AM, Jorge Schrauwen wrote:

Mail prc-at-apache.org but not reply yet but I'm in the process of  
renaming all the stuff,

If they don't agree with the new name I'll do it again.


RE: Guess what? Time for 1.3.39, 2.0.61 and 2.2.6 :)

2007-08-30 Thread Cameron Young
Thanks Jim.
Allows me to do the correct maths.
I'm in Australia (East Coast).
Cheers,
Cameron 

-Original Message-
From: Jim Jagielski [mailto:[EMAIL PROTECTED] 
Sent: Friday, 31 August 2007 00:13
To: dev@httpd.apache.org
Subject: Re: Guess what? Time for 1.3.39, 2.0.61 and 2.2.6 :)

Well... I'm east coast :)

On Aug 30, 2007, at 9:48 AM, Cameron J. Young ((Personal)) wrote:

 Jim,
 Is that EST or PST ??
 Cheers,
 Cameron

 -Original Message-
 From: Jim Jagielski [mailto:[EMAIL PROTECTED]
 Sent: Thursday, 30 August 2007 23:02
 To: dev@httpd.apache.org
 Subject: Re: Guess what? Time for 1.3.39, 2.0.61 and 2.2.6 :)

 Yes, the CHANGES file will be updated to reflect any
 and all security issues for that release...

 On Aug 30, 2007, at 8:38 AM, Joe Orton wrote:

 On Thu, Aug 30, 2007 at 08:31:21AM -0400, Jim Jagielski wrote:
 Since a few regressions and other issues popped up the
 last go around, I cancelled release of 1.3.38, 2.0.60 and
 2.2.5... I think we are close, *very* close to being at
 the point to try this all again.

 Can we move the SECURITY stuff back up to the top and remove the  
 2.2.5
 heading - it would just be confusing to users since 2.2.5 doen't
 really
 exist? i.e. below, which adds the CVE name for the autoindex issue
 too.

 Index: CHANGES
 ===
 --- CHANGES  (revision 571136)
 +++ CHANGES  (working copy)
 @@ -1,11 +1,37 @@
  -*-
 coding: utf-8 -*-
  Changes with Apache 2.2.6

 -  *) mod_autoindex: Add in Type and Charset options to IndexOptions
 +  *) SECURITY: CVE-2007-4465 (cve.mitre.org)
 + mod_autoindex: Add in Type and Charset options to IndexOptions
   directive. This allows the admin to explicitly set the
   content-type and charset of the generated page.
   [Jim Jagielski]

 +  *) SECURITY: CVE-2007-3847 (cve.mitre.org)
 + mod_proxy: Prevent reading past the end of a buffer when  
 parsing
 + date-related headers.  PR 41144.
 + [Davi Arnaut, Nick Kew]
 +
 +  *) SECURITY: CVE-2007-1863 (cve.mitre.org)
 + mod_cache: Prevent a segmentation fault if attributes are
 listed in a
 + Cache-Control header without any value.
 + [Niklas Edmundsson nikke acc.umu.se]
 +
 +  *) SECURITY: CVE-2007-3304 (cve.mitre.org)
 + prefork, worker, event MPMs: Ensure that the parent process
 cannot
 + be forced to kill processes outside its process group.
 + [Joe Orton, Jim Jagielski]
 +
 +  *) SECURITY: CVE-2006-5752 (cve.mitre.org)
 + mod_status: Fix a possible XSS attack against a site with a
 public
 + server-status page and ExtendedStatus enabled, for browsers
 which
 + perform charset detection.  Reported by Stefan Esser.  [Joe
 Orton]
 +
 +  *) SECURITY: CVE-2007-1862 (cve.mitre.org)
 + mod_mem_cache: Copy headers into longer lived storage; header
 names and
 + values could previously point to cleaned up storage.  PR 41551.
 + [Davi Arnaut davi haxent.com.br]
 +
*) log core: ensure we use a special pool for stderr logging, so
 that
   the stderr channel remains valid from the time plog is
 destroyed,
   until the time the open_logs hook is called again.  [William
 Rowe]
 @@ -70,33 +96,6 @@
   improper merging of the cache lock in vhost config
   PR 43164 [Eric Covener]

 -Changes with Apache 2.2.5
 -
 -  *) SECURITY: CVE-2007-3847 (cve.mitre.org)
 - mod_proxy: Prevent reading past the end of a buffer when  
 parsing
 - date-related headers.  PR 41144.
 - [Davi Arnaut, Nick Kew]
 -
 -  *) SECURITY: CVE-2007-1863 (cve.mitre.org)
 - mod_cache: Prevent a segmentation fault if attributes are
 listed in a
 - Cache-Control header without any value.
 - [Niklas Edmundsson nikke acc.umu.se]
 -
 -  *) SECURITY: CVE-2007-3304 (cve.mitre.org)
 - prefork, worker, event MPMs: Ensure that the parent process
 cannot
 - be forced to kill processes outside its process group.
 - [Joe Orton, Jim Jagielski]
 -
 -  *) SECURITY: CVE-2006-5752 (cve.mitre.org)
 - mod_status: Fix a possible XSS attack against a site with a
 public
 - server-status page and ExtendedStatus enabled, for browsers
 which
 - perform charset detection.  Reported by Stefan Esser.  [Joe
 Orton]
 -
 -  *) SECURITY: CVE-2007-1862 (cve.mitre.org)
 - mod_mem_cache: Copy headers into longer lived storage; header
 names and
 - values could previously point to cleaned up storage.  PR 41551.
 - [Davi Arnaut davi haxent.com.br]
 -
*) ApacheMonitor: Fix Windows Vista detection. [Mladen Turk]

*) mod_deflate: fix protocol handling in deflate input filter







Re: [PATCH] proxy/ajp_header.c: Fix header detection

2007-08-30 Thread Jim Jagielski

Yeah, all this is being fixed in the mod_jk code as
well...

On Aug 30, 2007, at 6:55 AM, Martin Kraemer wrote:


Hi.

While looking at ajp_header.c, I realized that its method of parsing
the header line tokens is flakey: it uses memcmp() to check, e.g.,
whether the header token is Accept-Charset:, by uppercasing the
token name (- ACCEPT-CHARSET), then compares the initial ACCEPT-
prefix, and then tests:
if (memcmp(p, CHARSET, 7) == 0) return SC_ACCEPT_CHARSET;
but does not verify that the end of the token has been reached.

Thus, a header
  Accept-CharsetXXX-Blah: utf-8
would be mistaken for an Accept-Charset: utf-8.

Same goes for a couple of other header names.
The patch replaces the memcmp by a strcmp to check for the trailing
NIL character, too.

Also, IMO it is better to replace memcmp by strncasecmp in the test
-if (memcmp(stringname, Content-Type, 12) == 0) {
+if (strncasecmp(stringname, Content-Type, 12) == 0) {

WDYT?

  Martin
--
[EMAIL PROTECTED]| Fujitsu Siemens
http://www.fujitsu-siemens.com/imprint.html | 81730  Munich,  Germany
ajp_header.c.diff




Re: Blackdot.be (ApacheMon ApacheMobile) - Questions sparked by the ApacheLounge fuss

2007-08-30 Thread Jorge Schrauwen
On 8/30/07, Jim Jagielski [EMAIL PROTECTED] wrote:

 Sorry for the delay (with my PRC hat on). You should see
 a reply as we speak :)


No worries, but while I have attention let me hold on to it for a bit longer
;)

Regarding the disclaimer I asked about in my previous message. Since you
didn't give an answer to that in other message.

Kind Regards

Jorge

On Aug 30, 2007, at 10:00 AM, Jorge Schrauwen wrote:

  Mail prc-at-apache.org but not reply yet but I'm in the process of
  renaming all the stuff,
  If they don't agree with the new name I'll do it again.




-- 
~Jorge


Re: Blackdot.be (ApacheMon ApacheMobile) - Questions sparked by the ApacheLounge fuss

2007-08-30 Thread Jim Jagielski


On Aug 30, 2007, at 10:39 AM, Jorge Schrauwen wrote:


On 8/30/07, Jim Jagielski [EMAIL PROTECTED] wrote:
Sorry for the delay (with my PRC hat on). You should see
a reply as we speak :)

No worries, but while I have attention let me hold on to it for a  
bit longer ;)


Regarding the disclaimer I asked about in my previous message.  
Since you didn't give an answer to that in other message.




Regarding the disclaimer: the ASF (nor the httpd project nor the PRC)
can give you legal advice on how to craft your disclaimer...
It's really beyond our scope.



Re: [PATCH] proxy/ajp_header.c: Fix header detection

2007-08-30 Thread Rainer Jung

I committed Martins patch to mod_jk a couple of minutes ago.
Thanks Martin!

The Content-Type part of the patch didn't apply to mod_jk though.

Regards,

Rainer

Jim Jagielski wrote:

Yeah, all this is being fixed in the mod_jk code as
well...

On Aug 30, 2007, at 6:55 AM, Martin Kraemer wrote:


Hi.

While looking at ajp_header.c, I realized that its method of parsing
the header line tokens is flakey: it uses memcmp() to check, e.g.,
whether the header token is Accept-Charset:, by uppercasing the
token name (- ACCEPT-CHARSET), then compares the initial ACCEPT-
prefix, and then tests:
if (memcmp(p, CHARSET, 7) == 0) return SC_ACCEPT_CHARSET;
but does not verify that the end of the token has been reached.

Thus, a header
  Accept-CharsetXXX-Blah: utf-8
would be mistaken for an Accept-Charset: utf-8.

Same goes for a couple of other header names.
The patch replaces the memcmp by a strcmp to check for the trailing
NIL character, too.

Also, IMO it is better to replace memcmp by strncasecmp in the test
-if (memcmp(stringname, Content-Type, 12) == 0) {
+if (strncasecmp(stringname, Content-Type, 12) == 0) {

WDYT?

  Martin
--
[EMAIL PROTECTED]| Fujitsu Siemens
http://www.fujitsu-siemens.com/imprint.html | 81730  Munich,  Germany
ajp_header.c.diff


Re: Blackdot.be (ApacheMon ApacheMobile) - Questions sparked by the ApacheLounge fuss

2007-08-30 Thread Jorge Schrauwen
On 8/30/07, Jim Jagielski [EMAIL PROTECTED] wrote:


 On Aug 30, 2007, at 10:39 AM, Jorge Schrauwen wrote:

  On 8/30/07, Jim Jagielski [EMAIL PROTECTED] wrote:
  Sorry for the delay (with my PRC hat on). You should see
  a reply as we speak :)
 
  No worries, but while I have attention let me hold on to it for a
  bit longer ;)
 
  Regarding the disclaimer I asked about in my previous message.
  Since you didn't give an answer to that in other message.
 

 Regarding the disclaimer: the ASF (nor the httpd project nor the PRC)
 can give you legal advice on how to craft your disclaimer...
 It's really beyond our scope.


I'll just copy and past the one I have on the x64 binaries I have on there
then.


-- 
~Jorge


Any interest in the ApacheMon source code?

2007-08-30 Thread Jorge Schrauwen
Hi dev's,

I used to maintain ApacheMon (now removed from blackdot.be) I no longer have
the time to keep updating and fixing it.
I started working on this a few years ago because I wasn't (still not
actually) satisfied with the bundled ApacheMonitor.exe

So I started working a replacement. First version had a few form to use
bundled tools like ab etc.
It also offered limited remote support.
I lost that code and started inquiring to the users what they liked most
about it before I started recreating it.
The all seem to like the remote support.

I've made a lot of improvements but its far far and the current version is
rather buggy.
I someday wish to work on it again but I just don't have the time to do it
now.

So if there is interest in this I'd like to donate the code that I have to
the ASF.
Sadly I didn't know C back then (and still don't) so its all written in
Delphi.

Jorge Schrauwen


Re: authnz_ldap in 2.2.x

2007-08-30 Thread Brad Nicholes
 On 8/29/2007 at 7:51 PM, in message
[EMAIL PROTECTED], Eric Covener
[EMAIL PROTECTED] wrote:
 
 In 2.2.x If authz_XXX are one of dbm, owner, or groupfile they track
 the list of requires and decline if they don't see any they're
 responsible for -- this isn't a crap shoot of module ordering in this
 case.
 
 $ grep \!required *.c
 mod_authz_dbm.c:if (!required_group || !conf-authoritative) {
 mod_authz_groupfile.c:if (!required_group || !conf-authoritative) {
 mod_authz_owner.c:if (!required_owner || !conf-authoritative) {
 mod_authz_user.c:if (!required_user) {
 
 That roughly leaves authz_host, authz_default, and authnz_ldap.
 authz_host has a built-in default based on Order, and authz_default
 doesn't have any Requires to check -- leaving authnz_ldap as the odd
 man out.
 

True, so that brings up the question of what does AuthzXXXAuthoritative really 
mean?  Does it mean that if set to ON, this module is authoritatively 
responsible for authorization and if it can't (whatever the reason including no 
require statement), then authorization fails?  Or does it mean that the module 
is only authoritatively responsible for authorization if a matching require 
statement exists?  According to what you are saying as well as what the code is 
currently saying in the other authz modules, the latter is true.  And if that 
is really the definition of AuthzXXXAuthoritative, then it appears that 
authnz_ldap needs to be fixed.

Brad






Re: svn commit: r571209 - /httpd/httpd/branches/2.2.x/modules/proxy/ajp_header.c

2007-08-30 Thread Jim Jagielski
Are these really candidates for bypassing the
normal backport process from trunk??

[EMAIL PROTECTED] wrote:
 
 Author: martin
 Date: Thu Aug 30 08:29:27 2007
 New Revision: 571209
 
 URL: http://svn.apache.org/viewvc?rev=571209view=rev
 Log:
 Convert just the message text to EBCDIC, and not the (already EBCDIC) status 
 code
 
 Modified:
 httpd/httpd/branches/2.2.x/modules/proxy/ajp_header.c
 
 Modified: httpd/httpd/branches/2.2.x/modules/proxy/ajp_header.c
 URL: 
 http://svn.apache.org/viewvc/httpd/httpd/branches/2.2.x/modules/proxy/ajp_header.c?rev=571209r1=571208r2=571209view=diff
 ==
 --- httpd/httpd/branches/2.2.x/modules/proxy/ajp_header.c (original)
 +++ httpd/httpd/branches/2.2.x/modules/proxy/ajp_header.c Thu Aug 30 08:29:27 
 2007
 @@ -473,10 +473,11 @@
  
  rc = ajp_msg_get_string(msg, ptr);
  if (rc == APR_SUCCESS) {
 -r-status_line =  apr_psprintf(r-pool, %d %s, status, ptr);
 -#if defined(AS400) || defined(_OSD_POSIX)
 -ap_xlate_proto_from_ascii(r-status_line, strlen(r-status_line));
 +#if defined(AS400) || defined(_OSD_POSIX) /* EBCDIC platforms */
 +ptr = apr_pstrdup(r-pool, ptr);
 +ap_xlate_proto_from_ascii(ptr, strlen(ptr));
  #endif
 +r-status_line =  apr_psprintf(r-pool, %d %s, status, ptr);
  } else {
  r-status_line = NULL;
  }
 
 


-- 
===
   Jim Jagielski   [|]   [EMAIL PROTECTED]   [|]   http://www.jaguNET.com/
If you can dodge a wrench, you can dodge a ball.


Re: svn commit: r571203 - /httpd/httpd/branches/2.2.x/modules/proxy/ajp_header.c

2007-08-30 Thread Jim Jagielski
Ummm 2 things:

First of all, this is not even patched in trunk yet.
Secondly, this completely bypasses the normal backporting
process that everyone is required to use.

Please revert these patches, patch trunk and submit these
patches for backport.

[EMAIL PROTECTED] wrote:
 
 Author: martin
 Date: Thu Aug 30 08:22:58 2007
 New Revision: 571203
 
 URL: http://svn.apache.org/viewvc?rev=571203view=rev
 Log:
 Add missing end-of-string checks by using strcmp in place of memcmp
 
 Modified:
 httpd/httpd/branches/2.2.x/modules/proxy/ajp_header.c
 
 Modified: httpd/httpd/branches/2.2.x/modules/proxy/ajp_header.c
 URL: 
 http://svn.apache.org/viewvc/httpd/httpd/branches/2.2.x/modules/proxy/ajp_header.c?rev=571203r1=571202r2=571203view=diff
 ==
 --- httpd/httpd/branches/2.2.x/modules/proxy/ajp_header.c (original)
 +++ httpd/httpd/branches/2.2.x/modules/proxy/ajp_header.c Thu Aug 30 08:22:58 
 2007
 @@ -51,7 +51,7 @@
  const char *p = header_name;
  int i = 0;
  
 -/* ACCEPT-LANGUAGE is the longest headeer
 +/* ACCEPT-LANGUAGE is the longest header
   * that is of interest.
   */
  if (len  4 || len  15)
 @@ -69,11 +69,11 @@
  return SC_ACCEPT;
  else if (header[6] == '-') {
  p += 6;
 -if (memcmp(p, CHARSET, 7) == 0)
 +if (strcmp(p, CHARSET) == 0)
  return SC_ACCEPT_CHARSET;
 -else if (memcmp(p,  ENCODING, 8) == 0)
 +else if (strcmp(p,  ENCODING) == 0)
  return SC_ACCEPT_ENCODING;
 -else if (memcmp(p, LANGUAGE, 8) == 0)
 +else if (strcmp(p, LANGUAGE) == 0)
  return SC_ACCEPT_LANGUAGE;
  else
  return UNKNOWN_METHOD;
 @@ -81,45 +81,45 @@
  else
  return UNKNOWN_METHOD;
  }
 -else if (memcmp(p, UTHORIZATION, 12) == 0)
 +else if (strcmp(p, UTHORIZATION) == 0)
  return SC_AUTHORIZATION;
  else
  return UNKNOWN_METHOD;
  break;
  case 'C':
 -if(memcmp(p, OOKIE2, 6) == 0)
 +if(strcmp(p, OOKIE2) == 0)
  return SC_COOKIE2;
 - else if (memcmp(p, OOKIE, 5) == 0)
 + else if (strcmp(p, OOKIE) == 0)
  return SC_COOKIE;
 -else if(memcmp(p, ONNECTION, 9) == 0)
 +else if(strcmp(p, ONNECTION) == 0)
  return SC_CONNECTION;
 -else if(memcmp(p, ONTENT-TYPE, 11) == 0)
 +else if(strcmp(p, ONTENT-TYPE) == 0)
  return SC_CONTENT_TYPE;
 -else if(memcmp(p, ONTENT-LENGTH, 13) == 0)
 +else if(strcmp(p, ONTENT-LENGTH) == 0)
  return SC_CONTENT_LENGTH;
  else
  return UNKNOWN_METHOD;
  break;
  case 'H':
 -if(memcmp(p, OST, 3) == 0)
 +if(strcmp(p, OST) == 0)
  return SC_HOST;
  else
  return UNKNOWN_METHOD;
  break;
  case 'P':
 -if(memcmp(p, RAGMA, 5) == 0)
 +if(strcmp(p, RAGMA) == 0)
  return SC_PRAGMA;
  else
  return UNKNOWN_METHOD;
  break;
  case 'R':
 -if(memcmp(p, EFERER, 6) == 0)
 +if(strcmp(p, EFERER) == 0)
  return SC_REFERER;
  else
  return UNKNOWN_METHOD;
  break;
  case 'U':
 -if(memcmp(p, SER-AGENT, 9) == 0)
 +if(strcmp(p, SER-AGENT) == 0)
  return SC_USER_AGENT;
  else
  return UNKNOWN_METHOD;
 @@ -561,7 +561,7 @@
  apr_table_add(r-headers_out, stringname, value);
  
  /* Content-type needs an additional handling */
 -if (memcmp(stringname, Content-Type, 12) == 0) {
 +if (strncasecmp(stringname, Content-Type, 12) == 0) {
   /* add corresponding filter */
  ap_set_content_type(r, apr_pstrdup(r-pool, value));
  ap_log_error(APLOG_MARK, APLOG_DEBUG, 0, r-server,
 
 


-- 
===
   Jim Jagielski   [|]   [EMAIL PROTECTED]   [|]   http://www.jaguNET.com/
If you can dodge a wrench, you can dodge a ball.


Re: svn commit: r571203 - /httpd/httpd/branches/2.2.x/modules/proxy/ajp_header.c

2007-08-30 Thread Jeff Trawick
On 8/30/07, [EMAIL PROTECTED] [EMAIL PROTECTED] wrote:
 Author: martin
 Date: Thu Aug 30 08:22:58 2007
 New Revision: 571203

 URL: http://svn.apache.org/viewvc?rev=571203view=rev
 Log:
 Add missing end-of-string checks by using strcmp in place of memcmp

memcmp() is not needed when you know the length of one of the strings;
there's no missing check.  The style on the other hand is subject to
debate.

Meanwhile there may be a bug fix buried in here -- using
case-insignificant comparison for a HTTP header field name.


Re: svn commit: r571203 - /httpd/httpd/branches/2.2.x/modules/proxy/ajp_header.c

2007-08-30 Thread Jim Jagielski


On Aug 30, 2007, at 11:39 AM, Jim Jagielski wrote:


Ummm 2 things:

First of all, this is not even patched in trunk yet.
Secondly, this completely bypasses the normal backporting
process that everyone is required to use.

Please revert these patches, patch trunk and submit these
patches for backport.



By these I mean:

   http://svn.apache.org/viewvc?rev=571203view=rev
   http://svn.apache.org/viewvc?rev=571209view=rev

I think once applied to trunk then proposed, we
should see a quick set of 3 +1s for backport
in order to make it for 2.2.6...



[EMAIL PROTECTED] wrote:


Author: martin
Date: Thu Aug 30 08:22:58 2007
New Revision: 571203

URL: http://svn.apache.org/viewvc?rev=571203view=rev
Log:
Add missing end-of-string checks by using strcmp in place of memcmp

Modified:
httpd/httpd/branches/2.2.x/modules/proxy/ajp_header.c

Modified: httpd/httpd/branches/2.2.x/modules/proxy/ajp_header.c
URL: http://svn.apache.org/viewvc/httpd/httpd/branches/2.2.x/ 
modules/proxy/ajp_header.c?rev=571203r1=571202r2=571203view=diff
= 
=

--- httpd/httpd/branches/2.2.x/modules/proxy/ajp_header.c (original)
+++ httpd/httpd/branches/2.2.x/modules/proxy/ajp_header.c Thu Aug  
30 08:22:58 2007

@@ -51,7 +51,7 @@
 const char *p = header_name;
 int i = 0;

-/* ACCEPT-LANGUAGE is the longest headeer
+/* ACCEPT-LANGUAGE is the longest header
  * that is of interest.
  */
 if (len  4 || len  15)
@@ -69,11 +69,11 @@
 return SC_ACCEPT;
 else if (header[6] == '-') {
 p += 6;
-if (memcmp(p, CHARSET, 7) == 0)
+if (strcmp(p, CHARSET) == 0)
 return SC_ACCEPT_CHARSET;
-else if (memcmp(p,  ENCODING, 8) == 0)
+else if (strcmp(p,  ENCODING) == 0)
 return SC_ACCEPT_ENCODING;
-else if (memcmp(p, LANGUAGE, 8) == 0)
+else if (strcmp(p, LANGUAGE) == 0)
 return SC_ACCEPT_LANGUAGE;
 else
 return UNKNOWN_METHOD;
@@ -81,45 +81,45 @@
 else
 return UNKNOWN_METHOD;
 }
-else if (memcmp(p, UTHORIZATION, 12) == 0)
+else if (strcmp(p, UTHORIZATION) == 0)
 return SC_AUTHORIZATION;
 else
 return UNKNOWN_METHOD;
 break;
 case 'C':
-if(memcmp(p, OOKIE2, 6) == 0)
+if(strcmp(p, OOKIE2) == 0)
 return SC_COOKIE2;
-   else if (memcmp(p, OOKIE, 5) == 0)
+   else if (strcmp(p, OOKIE) == 0)
 return SC_COOKIE;
-else if(memcmp(p, ONNECTION, 9) == 0)
+else if(strcmp(p, ONNECTION) == 0)
 return SC_CONNECTION;
-else if(memcmp(p, ONTENT-TYPE, 11) == 0)
+else if(strcmp(p, ONTENT-TYPE) == 0)
 return SC_CONTENT_TYPE;
-else if(memcmp(p, ONTENT-LENGTH, 13) == 0)
+else if(strcmp(p, ONTENT-LENGTH) == 0)
 return SC_CONTENT_LENGTH;
 else
 return UNKNOWN_METHOD;
 break;
 case 'H':
-if(memcmp(p, OST, 3) == 0)
+if(strcmp(p, OST) == 0)
 return SC_HOST;
 else
 return UNKNOWN_METHOD;
 break;
 case 'P':
-if(memcmp(p, RAGMA, 5) == 0)
+if(strcmp(p, RAGMA) == 0)
 return SC_PRAGMA;
 else
 return UNKNOWN_METHOD;
 break;
 case 'R':
-if(memcmp(p, EFERER, 6) == 0)
+if(strcmp(p, EFERER) == 0)
 return SC_REFERER;
 else
 return UNKNOWN_METHOD;
 break;
 case 'U':
-if(memcmp(p, SER-AGENT, 9) == 0)
+if(strcmp(p, SER-AGENT) == 0)
 return SC_USER_AGENT;
 else
 return UNKNOWN_METHOD;
@@ -561,7 +561,7 @@
 apr_table_add(r-headers_out, stringname, value);

 /* Content-type needs an additional handling */
-if (memcmp(stringname, Content-Type, 12) == 0) {
+if (strncasecmp(stringname, Content-Type, 12) == 0) {
  /* add corresponding filter */
 ap_set_content_type(r, apr_pstrdup(r-pool, value));
 ap_log_error(APLOG_MARK, APLOG_DEBUG, 0, r-server,





--
== 
=
   Jim Jagielski   [|]   [EMAIL PROTECTED]   [|]   http:// 
www.jaguNET.com/

If you can dodge a wrench, you can dodge a ball.





Re: svn commit: r571203 - /httpd/httpd/branches/2.2.x/modules/proxy/ajp_header.c

2007-08-30 Thread Jeff Trawick
On 8/30/07, Jeff Trawick [EMAIL PROTECTED] wrote:
 On 8/30/07, [EMAIL PROTECTED] [EMAIL PROTECTED] wrote:
  Author: martin
  Date: Thu Aug 30 08:22:58 2007
  New Revision: 571203
 
  URL: http://svn.apache.org/viewvc?rev=571203view=rev
  Log:
  Add missing end-of-string checks by using strcmp in place of memcmp

 memcmp() is not needed when you know the length of one of the strings;
 there's no missing check.  The style on the other hand is subject to
 debate.

 Meanwhile there may be a bug fix buried in here -- using
 case-insignificant comparison for a HTTP header field name.

I guess it is shame on me for not reading prior [EMAIL PROTECTED] posts to
understand the commit message.


Re: svn commit: r571209 - /httpd/httpd/branches/2.2.x/modules/proxy/ajp_header.c

2007-08-30 Thread Martin Kraemer
On Thu, Aug 30, 2007 at 11:36:18AM -0400, Jim Jagielski wrote:
 Are these really candidates for bypassing the
 normal backport process from trunk??
 
  --- httpd/httpd/branches/2.2.x/modules/proxy/ajp_header.c (original)
  +++ httpd/httpd/branches/2.2.x/modules/proxy/ajp_header.c Thu Aug 30 
  08:29:27 2007
  @@ -473,10 +473,11 @@
   
   rc = ajp_msg_get_string(msg, ptr);
   if (rc == APR_SUCCESS) {
  -r-status_line =  apr_psprintf(r-pool, %d %s, status, ptr);
  -#if defined(AS400) || defined(_OSD_POSIX)
  -ap_xlate_proto_from_ascii(r-status_line, strlen(r-status_line));
  +#if defined(AS400) || defined(_OSD_POSIX) /* EBCDIC platforms */
  +ptr = apr_pstrdup(r-pool, ptr);
  +ap_xlate_proto_from_ascii(ptr, strlen(ptr));
   #endif
  +r-status_line =  apr_psprintf(r-pool, %d %s, status, ptr);
   } else {
   r-status_line = NULL;

This patch is already in trunk:
104711jfclere rc = ajp_msg_get_string(msg, ptr);
104711jfclere if (rc == APR_SUCCESS) {
409709trawick #if APR_CHARSET_EBCDIC /* copy only if we have to */
357699 martin ptr = apr_pstrdup(r-pool, ptr);
357699 martin ap_xlate_proto_from_ascii(ptr, strlen(ptr));
104711jfclere #endif
357022jfclere r-status_line =  apr_psprintf(r-pool, %d %s, 
status, ptr);

It was committed by jfclere in rev. 357022:

r357022 | jfclere | 2005-12-15 15:44:39 +0100 (Do, 15 Dez 2005) | 2 lines

The string comming from TC is in ASCII and the string returned by apr_psprintf 
isn't.


svn diff -r357021:357022 modules/proxy/ajp_header.c
Index: modules/proxy/ajp_header.c
===
--- modules/proxy/ajp_header.c  (Revision 357021)
+++ modules/proxy/ajp_header.c  (Revision 357022)
@@ -473,10 +473,12 @@
 
 rc = ajp_msg_get_string(msg, ptr);
 if (rc == APR_SUCCESS) {
-r-status_line =  apr_psprintf(r-pool, %d %s, status, ptr);
 #if defined(AS400) || defined(_OSD_POSIX)
-ap_xlate_proto_from_ascii(r-status_line, strlen(r-status_line));
+char *tmp = ap_pstrdup(r-pool, ptr);
+ap_xlate_proto_from_ascii(tmp, strlen(tmp));
+ptr = tmp
 #endif
+r-status_line =  apr_psprintf(r-pool, %d %s, status, ptr);
 } else {
 r-status_line = NULL;
 }

Later I had fixed it to eliminate the redundant tmp variable.
Apparently, it was never backported.

   Martin
-- 
[EMAIL PROTECTED]| Fujitsu Siemens
http://www.fujitsu-siemens.com/imprint.html | 81730  Munich,  Germany


Re: svn commit: r571209 - /httpd/httpd/branches/2.2.x/modules/proxy/ajp_header.c

2007-08-30 Thread Martin Kraemer
On Thu, Aug 30, 2007 at 11:36:18AM -0400, Jim Jagielski wrote:
 Are these really candidates for bypassing the
 normal backport process from trunk??

I committed the other change (memcmp-strcmp) righty now on trunk.
And yes, I am aware that I should have done that first, sorry.

  Martin
-- 
[EMAIL PROTECTED]| Fujitsu Siemens
http://www.fujitsu-siemens.com/imprint.html | 81730  Munich,  Germany


Re: svn commit: r571209 - /httpd/httpd/branches/2.2.x/modules/proxy/ajp_header.c

2007-08-30 Thread Jim Jagielski


On Aug 30, 2007, at 11:54 AM, Martin Kraemer wrote:


On Thu, Aug 30, 2007 at 11:36:18AM -0400, Jim Jagielski wrote:

Are these really candidates for bypassing the
normal backport process from trunk??


--- httpd/httpd/branches/2.2.x/modules/proxy/ajp_header.c (original)
+++ httpd/httpd/branches/2.2.x/modules/proxy/ajp_header.c Thu Aug  
30 08:29:27 2007

@@ -473,10 +473,11 @@

 rc = ajp_msg_get_string(msg, ptr);
 if (rc == APR_SUCCESS) {
-r-status_line =  apr_psprintf(r-pool, %d %s, status,  
ptr);

-#if defined(AS400) || defined(_OSD_POSIX)
-ap_xlate_proto_from_ascii(r-status_line, strlen(r- 
status_line));

+#if defined(AS400) || defined(_OSD_POSIX) /* EBCDIC platforms */
+ptr = apr_pstrdup(r-pool, ptr);
+ap_xlate_proto_from_ascii(ptr, strlen(ptr));
 #endif
+r-status_line =  apr_psprintf(r-pool, %d %s, status,  
ptr);

 } else {
 r-status_line = NULL;


This patch is already in trunk:

Later I had fixed it to eliminate the redundant tmp variable.
Apparently, it was never backported.



But you just don't backport to the 2.2 branch. It's the
stable branch and it is RTC. Backports are proposed in
STATUS, voted on and then applied. None of that was done in
this case...



Re: svn commit: r571209 - /httpd/httpd/branches/2.2.x/modules/proxy/ajp_header.c

2007-08-30 Thread Jim Jagielski


On Aug 30, 2007, at 11:56 AM, Martin Kraemer wrote:


On Thu, Aug 30, 2007 at 11:36:18AM -0400, Jim Jagielski wrote:

Are these really candidates for bypassing the
normal backport process from trunk??


I committed the other change (memcmp-strcmp) righty now on trunk.
And yes, I am aware that I should have done that first, sorry.



I'll wait for you to read my other Email... we seem
to be out of phase :)

Basically: you cannot patch 2.2 directly without proposing
patches in STATUS and having them voted on, since 2.2 is
the stable branch and is RTC.




Re: [PATCH] proxy/ajp_header.c: Fix header detection

2007-08-30 Thread Rainer Jung

Hi Martin,

Martin Kraemer wrote:

Hi.

While looking at ajp_header.c, I realized that its method of parsing
the header line tokens is flakey: it uses memcmp() to check, e.g.,
whether the header token is Accept-Charset:, by uppercasing the
token name (- ACCEPT-CHARSET), then compares the initial ACCEPT-
prefix, and then tests:
if (memcmp(p, CHARSET, 7) == 0) return SC_ACCEPT_CHARSET;
but does not verify that the end of the token has been reached.

Thus, a header
  Accept-CharsetXXX-Blah: utf-8
would be mistaken for an Accept-Charset: utf-8.

Same goes for a couple of other header names.
The patch replaces the memcmp by a strcmp to check for the trailing
NIL character, too.


For mod_jk the problem you found here is the same. Thanks for finding it!

We finally applied a slightly different patch, by keeping the memcmp, 
but simply incrementing the number of bytes to compare by one. This 
should work for mod_proxy also.


Why is it OK?

- the variable header name is inside an array of length 16, which is big 
enough to hold the longest string we want to compare to


- the variable header names are \0-terminated

- the string constants we compare to are always \0-terminated

- so increasing the number of bytes to do memcmp() on by one will 
correctly include a compare on the terminating \0.


Our variant of the patch is at

http://marc.info/?l=tomcat-devm=118849057126771w=2

Regards,

Rainer


Re: [PATCH] proxy/ajp_header.c: Fix header detection

2007-08-30 Thread Martin Kraemer
On Thu, Aug 30, 2007 at 04:45:38PM +0200, Rainer Jung wrote:
 I committed Martins patch to mod_jk a couple of minutes ago.
 Thanks Martin!
 
 The Content-Type part of the patch didn't apply to mod_jk though.
...
 -if (memcmp(stringname, Content-Type, 12) == 0) {
 +if (strncasecmp(stringname, Content-Type, 12) == 0) {

That is good, because it was wrong... Of course we need the
normal strcasecmp(stringname, Content-Type), not the one limited
to 12 chars (think of Content-TypeXYZ).

Already committed to trunk.

  Martin
-- 
[EMAIL PROTECTED]| Fujitsu Siemens
http://www.fujitsu-siemens.com/imprint.html | 81730  Munich,  Germany


Re: [PATCH] proxy/ajp_header.c: Fix header detection

2007-08-30 Thread Jess Holle

Martin Kraemer wrote:

On Thu, Aug 30, 2007 at 04:45:38PM +0200, Rainer Jung wrote:
  

I committed Martins patch to mod_jk a couple of minutes ago.
Thanks Martin!

The Content-Type part of the patch didn't apply to mod_jk though.


...
  

-if (memcmp(stringname, Content-Type, 12) == 0) {
+if (strncasecmp(stringname, Content-Type, 12) == 0) {



That is good, because it was wrong... Of course we need the
normal strcasecmp(stringname, Content-Type), not the one limited
to 12 chars (think of Content-TypeXYZ).

Already committed to trunk.
  

Backporting to 2.2.x?

--
Jess Holle



Re: [PATCH] proxy/ajp_header.c: Fix header detection

2007-08-30 Thread jean-frederic clere
Martin Kraemer wrote:
 Hi.
 
 While looking at ajp_header.c, I realized that its method of parsing
 the header line tokens is flakey: it uses memcmp() to check, e.g.,
 whether the header token is Accept-Charset:, by uppercasing the
 token name (- ACCEPT-CHARSET), then compares the initial ACCEPT-
 prefix, and then tests:
   if (memcmp(p, CHARSET, 7) == 0) return SC_ACCEPT_CHARSET;
 but does not verify that the end of the token has been reached.
 
 Thus, a header
   Accept-CharsetXXX-Blah: utf-8
 would be mistaken for an Accept-Charset: utf-8.
 
 Same goes for a couple of other header names.
 The patch replaces the memcmp by a strcmp to check for the trailing
 NIL character, too.
 
 Also, IMO it is better to replace memcmp by strncasecmp in the test
 -if (memcmp(stringname, Content-Type, 12) == 0) {
 +if (strncasecmp(stringname, Content-Type, 12) == 0) {
 
 WDYT?

+1 mod_jk fixed it by additing one to each length, that is probably more
efficent, no?

Cheers

Jean-Frederic

 
   Martin
 



Re: Blackdot.be (ApacheMon ApacheMobile) - Questions sparked by the ApacheLounge fuss

2007-08-30 Thread William A. Rowe, Jr.
Jorge Schrauwen wrote:
 
 I'd like to add an additional note to this but I'm unsure in how to
 phrase it.
 What I want to say is:
 That I take the source tarball's that are posted e.g.
 httpd-2.2.4-win32-src.zip (only official release no TR, svn etc).
 
 I'd also like to knew if I need to add an additional disclaimer that I
 don't offer any warranties if somehow (unlikely) manage to cost a
 company huge sums of money and they want to sue me.

If you simply note these are the officially released sources and you
provide compiled binaries under the Apache License 2.0 (with no warranty
as spelled out under that license), you should be in reasonably good shape.

If you export from a country that has cryptographic export controls (e.g.
computer programs-as-munitions) you should either avoid shipping any SSL
components or be very careful to follow the export regulations.

Bill


Re: Blackdot.be (ApacheMon ApacheMobile) - Questions sparked by the ApacheLounge fuss

2007-08-30 Thread William A. Rowe, Jr.
William A. Rowe, Jr. wrote:
 Jorge Schrauwen wrote:
 I'd like to add an additional note to this but I'm unsure in how to
 phrase it.
 What I want to say is:
 That I take the source tarball's that are posted e.g.
 httpd-2.2.4-win32-src.zip (only official release no TR, svn etc).

 I'd also like to knew if I need to add an additional disclaimer that I
 don't offer any warranties if somehow (unlikely) manage to cost a
 company huge sums of money and they want to sue me.
 
 If you simply note these are the officially released sources and you
 provide compiled binaries under the Apache License 2.0 (with no warranty
 as spelled out under that license), you should be in reasonably good shape.
 
 If you export from a country that has cryptographic export controls (e.g.
 computer programs-as-munitions) you should either avoid shipping any SSL
 components or be very careful to follow the export regulations.

And as Jim says, don't take this as legal advise, you are best to consult
with a lawyer, or a software redistributor in your country who's thoroughly
reviewed the issue of redistributing or building binaries of open source
software.  Note there can be legal differences between a program source
code and a functioning, compiled program, depending on your jursidiction ;-)

Bill


Re: authnz_ldap in 2.2.x

2007-08-30 Thread Eric Covener
On 8/30/07, Brad Nicholes [EMAIL PROTECTED] wrote:
  On 8/29/2007 at 7:51 PM, in message
 [EMAIL PROTECTED], Eric Covener
 [EMAIL PROTECTED] wrote:
 
  In 2.2.x If authz_XXX are one of dbm, owner, or groupfile they track
  the list of requires and decline if they don't see any they're
  responsible for -- this isn't a crap shoot of module ordering in this
  case.
 
  $ grep \!required *.c
  mod_authz_dbm.c:if (!required_group || !conf-authoritative) {
  mod_authz_groupfile.c:if (!required_group || !conf-authoritative) {
  mod_authz_owner.c:if (!required_owner || !conf-authoritative) {
  mod_authz_user.c:if (!required_user) {
 
  That roughly leaves authz_host, authz_default, and authnz_ldap.
  authz_host has a built-in default based on Order, and authz_default
  doesn't have any Requires to check -- leaving authnz_ldap as the odd
  man out.
 

 True, so that brings up the question of what does AuthzXXXAuthoritative 
 really mean?  Does it mean that if set to ON, this module is authoritatively 
 responsible for authorization and if it can't (whatever the reason including 
 no require statement), then authorization fails?  Or does it mean that the 
 module is only authoritatively responsible for authorization if a matching 
 require statement exists?  According to what you are saying as well as what 
 the code is currently saying in the other authz modules, the latter is true.  
 And if that is really the definition of AuthzXXXAuthoritative, then it 
 appears that authnz_ldap needs to be fixed.

 Brad


For the ones in the list above it seems to roughly be:

if an authz_XXX require is satisfied, return OK
If authz_XXX is authoritative, and any authz_XXX require directives
were present, return HTTP_UNAUTHORIZED
else return DECLINED

Any clue from a development process POV how I'd propose such a thing
for backport since it doesn't apply to trunk?  I was also hoping
some more people might weigh in on the behavior change for
mod_authnz_ldap in a stable release.

-- 
Eric Covener
[EMAIL PROTECTED]


updated mime.types

2007-08-30 Thread Roy T. Fielding

Please check out the updated mime.types file and, if possible, see
if it breaks anything on a real site.

http://svn.apache.org/repos/asf/httpd/httpd/trunk/docs/conf/mime.types

Technically, it is docs, but I am blurry-eyed at the moment and need
to do *something* for my wedding anniversary today.  If it seems okay,
we should backport it to all versions prior to the release.

Roy