You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@httpd.apache.org by Dean Gaudet <dg...@arctic.org> on 1998/01/06 23:58:43 UTC

STATUS: 1.2

I'll put more work into this later.  But I just committed this file to the
1.2 tree.

Dean

The main goal for 1.2.6 is to fix egregious bugs, such as protocol bugs,
or DoS bugs.  Changes that have been tested in 1.3 already may be given
consideration.  "Easy" portability fixes may be given consideration. 

Committed since 1.2.5:

    * nothing

Available:


    * Dean's mod_include_etag:
	PR#1133: mod_include shouldn't send ETag when XBitHack Full is
	set.
	see http://www.arctic.org/~dgaudet/apache/1.2.5
	Status: Dean +1, Roy +1, Ralf +0
	Alternate solution already in 1.3.
	Needs update against new mod_include.

    * Ralf's mod_rewrite bugfix for %3f
	see below
	Status: Ralf +1, Dean +1

    * Something from the FreeBSD port -- more #define wrappers
	see below
	Status: Ralf +1, Dean +1

    * Dean's backport of the bputc()/chunking bugfix.
	<Pi...@twinlark.arctic.org>
	Status: Dean +1

    * Marc's "headers too big" patch, repost it please?

Needs patch:

    * Some fix for the bogus byte ranges bug.

    * fix os_escape_path()

Stuff from Ralf:

* The following 1.2.5-adjusted bugfix for mod_rewrite.c 
  which fixes the "Location: http://host/bar%3fquery" problem (the "?"
  is escaped but have not!)

    Index: mod_rewrite.c
    ===================================================================
    RCS file: /e/apache/REPOS/apache/src/mod_rewrite.c,v
    retrieving revision 1.28.2.3
    diff -u -r1.28.2.3 mod_rewrite.c
    --- mod_rewrite.c   1997/08/17 20:35:49 1.28.2.3
    +++ mod_rewrite.c   1997/10/28 11:53:52
    @@ -1590,6 +1590,7 @@
                 }
                 rewritelog(r, 2, "[per-dir %s] redirect %s -> %s", perdir, r->filename, newuri);
                 r->filename = pstrdup(r->pool, newuri);
    +            splitout_queryargs(r, p->flags & RULEFLAG_QSAPPEND);
                 r->status = p->forced_responsecode;
                 return 1;
             }

  For 1.3 this bugfix is different and already replaced by the new patch
  replacing the complete rewriting engine I'll post these days .

* The following patch from the FreeBSD ports area which I find very useful
  because it allows one to set the pathnames from Configuration without
  hacking the httpd.h every time. It is already comitted in 1.3.

    Index: httpd.h
    ===================================================================
    RCS file: /e/apache/REPOS/apache/src/httpd.h,v
    retrieving revision 1.111.2.17
    diff -u -r1.111.2.17 httpd.h
    --- httpd.h 1997/08/22 08:04:27 1.111.2.17
    +++ httpd.h 1997/11/04 12:38:45
    @@ -74,6 +74,7 @@
     #endif
     #endif
     
    +#ifndef DOCUMENT_LOCATION
     /* Root of server */
     #ifdef __EMX__
     /* Set default for OS/2 file system */ 
    @@ -81,6 +82,7 @@
     #else
     #define DOCUMENT_LOCATION "/usr/local/etc/httpd/htdocs"
     #endif
    +#endif
     
     /* Max. number of dynamically loaded modules */
     #define DYNAMIC_MODULE_LIMIT 64
    @@ -112,21 +114,31 @@
     #endif
     
     /* The name of the log files */
    +#ifndef DEFAULT_XFERLOG
     #ifdef __EMX__
     /* Set default for OS/2 file system */ 
     #define DEFAULT_XFERLOG "logs/access.log"
     #else
     #define DEFAULT_XFERLOG "logs/access_log"
     #endif
    +#endif /* DEFAULT_XFERLOG */
    +#ifndef DEFAULT_ERRORLOG
     #ifdef __EMX__
     /* Set default for OS/2 file system */ 
     #define DEFAULT_ERRORLOG "logs/error.log"
     #else
     #define DEFAULT_ERRORLOG "logs/error_log"
     #endif
    +#endif /* DEFAULT_ERRORLOG */
    +#ifndef DEFAULT_PIDLOG
     #define DEFAULT_PIDLOG "logs/httpd.pid"
    +#endif
    +#ifndef DEFAULT_SCOREBOARD
     #define DEFAULT_SCOREBOARD "logs/apache_runtime_status"
    +#endif
    +#ifndef DEFAULT_LOCKFILE
     #define DEFAULT_LOCKFILE "logs/accept.lock"
    +#endif
     
     /* Define this to be what your HTML directory content files are called */
     #define DEFAULT_INDEX "index.html"
    @@ -151,14 +163,20 @@
     #define SERVER_CONFIG_FILE "conf/httpd.conf"
     #endif
     
    +#ifndef RESOURCE_CONFIG_FILE
     /* The name of the document config file */
     #define RESOURCE_CONFIG_FILE "conf/srm.conf"
    +#endif
     
    +#ifndef TYPES_CONFIG_FILE
     /* The name of the MIME types file */
     #define TYPES_CONFIG_FILE "conf/mime.types"
    +#endif
     
    +#ifndef ACCESS_CONFIG_FILE
     /* The name of the access file */
     #define ACCESS_CONFIG_FILE "conf/access.conf"
    +#endif
     
     /* Whether we should enable rfc1413 identity checking */
     #define DEFAULT_RFC1413 0




Re: [PATCH]-1.2.6: ReliantUNIX: Platform specific flag optimization

Posted by Dean Gaudet <dg...@arctic.org>.
USE_SYSVSEM_SERIALIZED_ACCEPT isn't in 1.2...  you probably want
USE_FCNTL_SERIALIZED ACCEPT instead.  And I give it a +1 based on that
change. 

Dean

On Thu, 8 Jan 1998, Martin Kraemer wrote:

> On Tue, Jan 06, 1998 at 02:58:43PM -0800, Dean Gaudet wrote:
> > "Easy" portability fixes may be given consideration. 
> 
> Here's an "easy" portability fix: for SNI's SVR4, cc must be called with
> the -D_XPG_IV switch to get the correct prototype for the calling convention
> for gettimeofday() as used by apache (/usr/include/sys/time.h contains:
>  #if defined(_XPG_IV)
>  int gettimeofday(struct timeval *, void *);
>  #else
>  int gettimeofday(struct timeval *);
>  #endif /* defined(_XPG_IV) */
> ). 
> The other switches (-DUSE_MMAP_FILES -DUSE_SYSVSEM_SERIALIZED_ACCEPT) are
> performance tweaks, and -DNEED_UNION_SEMUN is required to take advantage
> of them: the system doesn't define union semun anywhere.
> 
> I don't expect any +1's for these, they were tested on different versions
> of SNI's SINIX/ReliantUNIX (and with SNI's cc as well as with gcc). Unless
> there's a veto, I'm going to commit this patch.
> 
> BTW: I added a binary distribution of apache-1.2.5 for reliantunix-5.4
> (aka sinix-5.4) to the /dist/binaries/ directory.
> 
>     Martin
> -- 
> | S I E M E N S |  <Ma...@mch.sni.de>  |      Siemens Nixdorf
> | ------------- |   Voice: +49-89-636-46021     |  Informationssysteme AG
> | N I X D O R F |   FAX:   +49-89-636-44994     |   81730 Munich, Germany
> ~~~~~~~~~~~~~~~~My opinions only, of course; pgp key available on request
> 

[PATCH]-1.2.6: ReliantUNIX: Platform specific flag optimization

Posted by Martin Kraemer <Ma...@mch.sni.de>.
On Tue, Jan 06, 1998 at 02:58:43PM -0800, Dean Gaudet wrote:
> "Easy" portability fixes may be given consideration. 

Here's an "easy" portability fix: for SNI's SVR4, cc must be called with
the -D_XPG_IV switch to get the correct prototype for the calling convention
for gettimeofday() as used by apache (/usr/include/sys/time.h contains:
 #if defined(_XPG_IV)
 int gettimeofday(struct timeval *, void *);
 #else
 int gettimeofday(struct timeval *);
 #endif /* defined(_XPG_IV) */
). 
The other switches (-DUSE_MMAP_FILES -DUSE_SYSVSEM_SERIALIZED_ACCEPT) are
performance tweaks, and -DNEED_UNION_SEMUN is required to take advantage
of them: the system doesn't define union semun anywhere.

I don't expect any +1's for these, they were tested on different versions
of SNI's SINIX/ReliantUNIX (and with SNI's cc as well as with gcc). Unless
there's a veto, I'm going to commit this patch.

BTW: I added a binary distribution of apache-1.2.5 for reliantunix-5.4
(aka sinix-5.4) to the /dist/binaries/ directory.

    Martin
-- 
| S I E M E N S |  <Ma...@mch.sni.de>  |      Siemens Nixdorf
| ------------- |   Voice: +49-89-636-46021     |  Informationssysteme AG
| N I X D O R F |   FAX:   +49-89-636-44994     |   81730 Munich, Germany
~~~~~~~~~~~~~~~~My opinions only, of course; pgp key available on request

[PATCH]-1.2.6: avoid B_ERROR redeclaration (was: Re: STATUS: 1.2)

Posted by Martin Kraemer <Ma...@mch.sni.de>.
The patch (copied from 1.3) undefines B_ERROR which is defined in one of the
SVR4 system include headers. This avoids a redefinition warning which would
otherwise be printed for each apache source file.

    Martin
-- 
| S I E M E N S |  <Ma...@mch.sni.de>  |      Siemens Nixdorf
| ------------- |   Voice: +49-89-636-46021     |  Informationssysteme AG
| N I X D O R F |   FAX:   +49-89-636-44994     |   81730 Munich, Germany
~~~~~~~~~~~~~~~~My opinions only, of course; pgp key available on request

Re: [PATCH]-1.2.6: passing escaped CC='$(CC)' (was: Re: STATUS: 1.2)

Posted by Martin Kraemer <Ma...@mch.sni.de>.
On Thu, Jan 08, 1998 at 08:09:57AM -0500, Jim Jagielski wrote:
> Hrmm
> 
> 0

Thank you; that's quite cooperative. I would have hated to continue
fighting over this. I can see you point, of course. Still I think we
impose less restrictions on  the user this way.

   Martin
-- 
| S I E M E N S |  <Ma...@mch.sni.de>  |      Siemens Nixdorf
| ------------- |   Voice: +49-89-636-46021     |  Informationssysteme AG
| N I X D O R F |   FAX:   +49-89-636-44994     |   81730 Munich, Germany
~~~~~~~~~~~~~~~~My opinions only, of course; pgp key available on request

[PATCH]-1.2.6: passing escaped CC='$(CC)' (was: Re: STATUS: 1.2)

Posted by Martin Kraemer <Ma...@mch.sni.de>.
On Tue, Jan 06, 1998 at 02:58:43PM -0800, Dean Gaudet wrote:
> The main goal for 1.2.6 is to fix egregious bugs, such as protocol bugs,
> or DoS bugs.  Changes that have been tested in 1.3 already may be given
> consideration.  "Easy" portability fixes may be given consideration. 

The patch allows users to define the CC macro to more than one word, e.g.,
  CC= cc -D_POSIX_SOURCE
or some such in the Configuration file. Until now, this would break because
it was passed unescaped to the subdirs,  like: make CC=$(CC)

AFAIK, this has been fixed in 1.3 already.
    Martin
-- 
| S I E M E N S |  <Ma...@mch.sni.de>  |      Siemens Nixdorf
| ------------- |   Voice: +49-89-636-46021     |  Informationssysteme AG
| N I X D O R F |   FAX:   +49-89-636-44994     |   81730 Munich, Germany
~~~~~~~~~~~~~~~~My opinions only, of course; pgp key available on request