httpd-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Roy T. Fielding" <field...@kiwi.ICS.UCI.EDU>
Subject Re: Countdown to 1.2b5
Date Sat, 25 Jan 1997 23:07:01 GMT
1.2b5-dev status as of 3:05pm PST, Saturday:

  * Committed since last update: 
       * mod_status needs "." to be explained in text
       * definite bug in bcwrite regarding failure to account for partials
       * avoids calling bflush() when the client is pipelining requests
       * remove bflush in http_protocol.c:1375
       * NeXT doesn't compile due to macro NEXT in regex/regcomp.c, etc.
       * Solaris 2.6 has "uname -X" working, so GuessOS fails, see PR#60

  * Randy says he'll generate a tarball when I call for one. :)
    We have only one thing left that is not deferred.  Votes please.
    We'll then freeze changes while Randy generates the tarball.

  * RobH wants us to test it before a public release.  That makes sense,
    so lets plan on delaying public release until 24hrs after 1.2b5 tar.
    That should satisfy Ben as well.

Can do before 1.2b5

  * Change default for KeepAlive so that it doesn't limit to 5 requests
    Add MaxKeepAliveRequests for those people who really want a limit.
       Status: Alexei posted new patch, +1 Alexei, Roy
               Note: also needs documentation change

Deferred until after 1.2b5:

  * core dump if an error in .htaccess & subrequest
       Status: no patch yet
       Info: <lampa@fee.vutbr.cz> reports that if sub_req_lookup_uri() is
             called, then per_dir_config in subrequest is not initialized
             until directory_walk is done. If any error is encountered during
             this time, log_reason() will core dump, since it calls
             get_remote_host() with r->per_dir_config. 
       Solution: Initialize per_dir_config in set_sub_req_protocol()
             (see initialization of regular request in read_request()!).

  * Solaris 2.6 apparently has a getwd() or getcwd() prototype, see PR#89
       Status: easy to fix, but will require testing by 2.6beta person

  * suexec setuid() before directory checks for nfs mounted filesystems
    Currently, the code will not pass foo=bar as argv[1]. Should it?
       Status: no patch yet, Randy said postpone til 1.2b6-dev

  * 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.

  * lingering_close generates the following error message
      shutdown: Transport endpoint is not connected - lingering_close
    using current 1.2b5-dev (only a few a day).  I think this is what 
    happens when a client disconnects during transmission, which
    is a normal condition for web servers.  I suggest not logging
    an error if errno == ENOTCONN.
      Marc says that this may not be "normal", it may be if the client
    sends a RST to terminate the connection (as per recent discussion on
    end2end-interest) and it gets here before we get to that point in
    lingering_close.
       Status: no patch, worth leaving in for this beta to see if it
    it improves debugging.

  * accept errors EPROTO and ECONNABORTED should not be logged
       Status: no patch, ditto above, but will require ifdefs

  * allow whitespace after comma in mod_imap, see PR#106
       Status: Marc posted patch

  * directory redirect returns 302 not 301, see PR 77
       Status: easy to fix, but will require testing

  * SO_DEBUG in proxy_ftp.c may not be portable, see PR 166
       Status: Chuck says it is a leftover, will fix

  * bugs in mod_negotiation (serious)
       Status: reported by lampa@fee.vutbr.cz on Jan 6 to apache-bugs.
               It is a very good, detailed report with patches.

  * report from Henrik at w3c.org about pipelined requests
       Info: http://www.w3.org/pub/WWW/Protocols/HTTP/Performance/Apache.html
          Possible improvements include not bflushing if there is another
          request waiting to be read, and removing keepalive total request
          restrictions.
       Status: deferred til after 1.2b5, maybe beyond 1.2

  * 3 seconds delay in CGI execution on SunOS 4.x
       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). 
             [rindfuss@medea.wz-berlin.de] 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]


Mime
View raw message