httpd-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From (Robert S. Thau)
Subject New patches and preliminary build...
Date Sat, 11 Mar 1995 16:31:30 GMT
Well, I finally packaged up some of my changes (including a lot of the
minor one-line bug fixes, and some more major stuff) into individual

In order to make sure that they all worked, I really had to test them
in the context of a relatively unmodified server (there's a lot of
gratuitous changes in my working sources, and I wanted to be sure
before passing code out).  The only way to do that was to apply the
patches to unmodified sources and see what happened.  As long as I was
doing that anyway, I threw in some other patches as well.  The
finished product passes the smoke test, at least on SunOS; everything
on my server-test page works except for those few things which rely on
*.doit scripts; I'm making it available as well.  (I had to build the
thing anyway; I might as well tar it up).

The patches are at
--- see below for an itemized list and description of each.  The
test server is at
(it identifies itself to clients as Apache/0.001).  

This server includes all performance enhancements I'm aware of, and
all bugfixes for which I've seen code.  (I believe that's all the
bugfixes on the list except for the XBITHACK fixes, and the HP-UX
SIGCHLD fix --- I could easily have faked up a fix for the latter, but
it would be harder to see if it worked.  There's also a bug on the
list --- the blanks-in-MIME-headers glitch --- for which I'm not aware
of any fix as yet).

The base code I used was NCSA 1.3 --- the security fixes were applied
as patches (and are included in the patch list below).  Note that a
few of the patches do interfere with each other --- the first lines of
code executed by a child process after fork() seem to be a popular
place to patch --- those patches are *'d below.  (There's no
*functional* interference, but changes are mushed together close
enough that patch(1) gets confused).  Also, the portability fix for
drtr's initgroups patch has to be applied after that patch itself.

The complete list is as follows:

Mine:  [*'ed patches interfere with each other]:

  patch.nscache --- nameserver cache (if -DNSCACHE set in makefile)
                    [Note:  this patch does *not* change the Makefile;
                     you have to do that yourself if you want to]
  patch.open_locale --- Don't do open_local() & tzset() on each connection
 *patch.linger --- Don't set SO_LINGER on sockets to clients
  patch.redir_kill_children --- don't kill_children() if they sent Location:
                                (it causes more problems than it cures)
 *patch.profiling --- optional profiling support (conditional on -DPROFILED
		      in Makefile)
  patch.allow_then_deny --- Don't allow by default with Order allow_then_deny
  patch.listen --- raise listen() queue length to 128
  patch.apache_id --- Set server name to Apache/0.001, not NCSA/1.3

  (see also drtr-initgroups-port, which is a new patch of mine to fix
   portability problems with one of drtr's).

Stuff I got from other people:

  patch.pioch-timefmt --- Nicolas' patch for <!--#config timefmt-->
  patch.drtr-read --- Dave's fix for one-character reads
 *patch.drtr-initgroups --- Dave's fix for the initgroups() problem
                            (also fixes numeric "User" bugs)
  patch.drtr-initgroups-port --- My portability fix for drtr-initgroups;
		            SunOS has limits.h, but it doesn't set LOGNAME_MAX --- CERT security patch --- NCSA security patch
  patch.status_302 --- Rob's patch for treating scripts return Status: 302
                       as usual, rather than faking up its own MIME hdr&body
Cliff --- I honestly lost track of the note where you said what your
incoming directory is, but if you'll say again, I'll transfer those
patches which are original with me into that directory.


View raw message