httpd-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Marc Slemko <>
Subject [STATUS] the tao has led us here.
Date Thu, 20 Feb 1997 06:49:52 GMT
(list of things committed moved to the bottom since we did too
much stuff.)

Ok.  Things are getting almost ready.  Unfortunately, I don't have
the log file open checks done.  I love it when hard drives fail. 
This one didn't even give me the fun of catching fire; nothing 
important, just a news server, but it ate some of my time.  <sigh>

I am going on the assumption that, assuming I finish this tonight
or tomorrow, things are held up for that.  If anyone thinks
the beta should be rolled before, speak up.

Note the little patches (suexec and LIBS) which some quick votes
on would be appreciated...

A nice bit has been done since b6.

1.2b7 status as of Wed Feb 19 23:25:57 MST 1997:

Agenda for 1.2b7-dev

Need to be done before 1.2b7 (in the very biased opinion of Marc): (1.2b7
could ship without some of these, but if we want to try to make 1.2b7
close to the last beta before 1.2...)

  * Marc has changed his mind and wants to have a check to be sure
    log directory(ies) isn't writable by anyone except the user starting
    the server.  The posting in bugtraq only highlites the problem.
    Needs override.  See NCSA code for sample implem.
	Status: Marc busy writing, Ed +1 on putting in to b7

  * check CHANGES file for completeness

  * let's fix the Solaris 2.6 and HPUX getwd junk the right way; just
    get rid of getwd().
	Status: first part committed; getwd() removed.
		If no problems, just have to remove junk from conf.h

Would be good if is done:

Patches available:

  * suexec string fixup (PR#179)

  * LIBS in support/Makefile.tmpl

  * Rob's "DONE" status response check for die()

  * user and server get confused over what should be a virtual host
	and what is the main server, resulting in access to something
	other than the name defined in the virtualhost directive (but
	with the same IP address) failing.  
		Status: should be looked at, may not be a nice way to fix 
			since it is likely not technically a bug.

	New status: Dean posted patch, Ben +1-but-hasn't tested, may
		or may not be whole problem, Randy +1.

   * config/178: Module with server_config but no per-dir config will seggy in set_flag_slot
	Status: patch given in report, +1 Roy, Marc, Dean not sure...
	leave it for now?

No patches yet:

  * 3 seconds delay in CGI execution on SunOS 4.x, see PR 122
       Status: no patch.
       Info: Pages containing script output show up with a delay of 3
             seconds (there was no such delay in Apache 1.1.1). 
             [] tracked the problem down to
             source file alloc.c, function free_proc_chain. This function
             contains a conditional call to sleep(3), which causes the delay.

       for (p = procs; p; p = p->next) {
          if (p->kill_how == kill_after_timeout) {
            /* Subprocess may be dead already.  Only need the timeout if not. */
            if (kill (p->pid, SIGTERM) != -1)  
              need_timeout = 1;
          } else if (p->kill_how == kill_always) {
            kill (p->pid, SIGKILL);
        /* Sleep only if we have to... */
        if (need_timeout) sleep (3);

        [RobH: So CGI included as SSI hangs around for longer and needs
               to be SIGTERM'ed.  Why?]

        [Roy: note also that a call to sleep will blow-out any other timeout]

Ain't gonna happen before 1.2b7 unless magic happens:

  * redo lingering_close to check for old sockets to close out before
    accept() in child.  
	Status: doesn't look to be overly clean to do in the current
	framework.  Will not have time to do implementation for this
	beta in any case.  If it turns out to be a big issue,
	could go in later.  (1.2.1?)

  * multiviews not behaving properly with path info (PR#40)

  * docs for force-response-1.0?

  * CGIs don't get PIPE under FreeBSD; under Solaris they get a TERM
    and then a PIPE in close succession.  Hmm.  Marc will look when
    he gets a chance.

  * Solaris "accept: Too many levels of remote in path" [marc]

  * Questionable performace of  mod_dir() with negotiation
  * invoke_handler() doesn't handle mime arguments in content-type

  * Memory hog in handle_multi()

  * Variant list in r->notes is deleted if request is comming through mod_dir()

  * handle_multi() doesn't copy request headers for negotiated request

  * If start twice, overwrites the PID file PR#152

  * some better suexec docs would be really nice, detailing some of the
    security risks and compromises discussed
	Status: I think Randy said something about doing it at one point,
		but no one can write what  I think should be there better
		than me, if I ever have time.  Randy says he thinks 
		Jason is perhaps doing them.

  * redirect of index file causes SEGV [Marc]
	Status: have a way to stop the core dump, but that doesn't make
	it work properly.
	See also: Message-ID: <>

  * 64-bit issues; general cleanup, sizeof(void *) != sizeof(int)

  * Randy says "seems that the processes on a Unixware machine are
    eventually all dying off. Mind you, I have not seen this, but
    that is what is being reported.  Sounds like perhaps the server is not 
    respawning new children after MaxRequestsPerChild has been reached."

  * error compiling on NeXT:
	In file included from http_main.c:108:
	/NextDeveloper/Headers/bsd/netinet/tcp.h:57: duplicate member `th_off'
	/NextDeveloper/Headers/bsd/netinet/tcp.h:58: duplicate member `th_x2'

	Status: got a login in a NeXT OpenStep 4.x machine to test,
	looks like an interaction between gcc and the header
	files.  It is trying to include definitions for both big and
	little endian platforms, and that no work.

  * Marc says Apache won't compile with HAVE_SNPRINTF defined as things
    are now because not everything includes conf.h.
       Status: Fix it when we have a platform which has snprintf.  Jim
	will look at; perhaps just include conf.h everywhere

  * new header_parse API hook is called too often
       Status: RobH posted patch, had second thoughts.  He
       suggests that mod_browser be optimised by detecting if it has been
       called already and returning early if it has.
	Roy says see also the suggestion by Doug MacEachern regarding
	addition of is_main_request() test so that any module can avoid this.

Planning/design items:

    * don't forget to yell at Lycos guys about their client that barfs
      on HTTP/1.1 headers. (PR#180)

    * should the bug report page be in CVS?  Should it be in the htdocs
      tree or a seperate place?  Should it be distributed with Apache?
      The same holds for everything on the Apache web site.  Marc would
      like to see it all in CVS, but not necessarily distributed
      with Apache.  
      Roy says: It would be nice if all of the non-archive parts
      of the project tree were in a separate cvs module -- it would
      sure make updating Hyperreal a lot easier (and safer).

    * should perhaps start to think about exactly how we want to 
      handle contrib patches/programs in 1.2.  Directory on the web site?  
      Include in distribution?

Contrib stuff / future:

    * Chris Adams <> patch to mod_log_config to add %m
      and %c.

    * "Large groups cause authentication errors" on FreeBSD
      []; problem looks to be MAX_STRING_LEN buffer
      in groups_for_user.  

  * mod_log_config patch for conditional logging
	Status: contrib, not in server

    * Jim has patch for time taken to handle a request in status module

  * Ed has an updated patch for limiting connections per IP

  * mod_include is still slow.

  * Some mirrors are out-of-date, Brian will investigate

  * add some setlocale stuff?

  * update bug report page to not have email form
	Status: +1 Roy, Dean, Marc (but some changes suggested), patch
		reposted with changes.  Needs input from people handling
		current bug reports.
	New status: reposted, still need input from people handling bug
		reports via mail right now.  

  * status module available from .htaccess files; Ken posted patch

   * status report shows PIDs in empty slots, user supplied some sort 
     of patch; behavior now is correct, but perhaps some cleanup of
     how the results are displayed could be done after 1.2...
     Message-ID: <>

  * Committed since 1.2b6:
	* FIN_WAIT_2 page to documentation
	* mod_info corruption bug
	* mod_rewrite sizeof() bug
	* allow keepalive on 304 responses
	* full headers on 2xx or 3xx status
	* fix extra CRLF -> buffers not flushed problem
	* output all HTTP/1.1 header fields on responses
	* mod_info bug fix for if sizeof(char) != 1, not that that can
	* fix for Rlimit* giving a SEGV when given only one argument
	* mod_rewrite update
	* suexec free()ing memory while still needed
	* httpd_monitor now understands current scoreboard format
	* tweak byteserving code to work around Netscape bug (PDF plugin)
	* autocreate Makefile in support directory
	* be sure to kill timeout in util_script
	* Bad handling of lang_index == -1 in is_variant_better()
	* handle_multi() doesn't return content_language of negotiated file (breaks old code).
	* directory redirect now returns 302  instead of 301
	* fix util_snprintf and unsigned ints on Alpha
	* fix conflicting definitions for is_proxy_available
	* fix problem with mod_cgi generated internal redirects trying
	  to read the request message-body twice.
	* reduce timeout on lingering close and remove blocked read
	* add content-length header to multipart/byterange responses
	* HI-UX patch
	* chunked encoding performance improvements
	* Dean's other perf improvements
	* suexec fixes (NFS, portability, array overrun)
	* fix mod_status display
	* log errors from call_exec
	* fix core dump when documentroot is CGI
	* use pfopen/pfclose in mod_asis and http_core
	* fix SEGV if r->per_dir_config not initialized
	* A/UX and SCO3 timeval cleanups
	* fix CGI outputting Location
	* remove unused pcalloc in call_exec
	* don't disable Nagle if no TCP_NODELAY
        * core dump in sub_req_lookup_file() if invalid directive in .htaccess 
	* stop vbprintf dereferencing null pointers
	* reduce default timeout to 300 seconds.
	* add strerr prototype
	* infinite loop in mod_imap due to parsing bug
	* Roy's fixes to main loop & lingering_close
	* output buffering for mod_include
	* regex -Wall cleanup
	* Dean's rfc2068 fixes
	* satisfy fix
	* escaping '{' in SSI
	* IRIX -Wall warnings
	* avoid null dereference in mod_cgi
	* remove unused functions
	* fix server generated html
	* off-by-one bug in
	* <!--#exec cmd="prog args\ with\ spaces"-->
	* server can hang on HUP
	* MSIE + byteranges
	* Chuck got over his odd preoccupation with something called 
	  a "job" that is rumored to make this stuff called "money" and
	  the proxy stuff is now fixed.  <g>

View raw message