| Apache 2.0 STATUS: |
| Last modified at [$Date: 2000/03/31 02:38:32 $] |
| |
| Release: |
| |
| Vague plan, assuming more features aren't demanded for the 2.0 release |
| 2.0a1 : released March 10, 2000 |
| 2.0 : later in 2000 |
| |
| RELEASE SHOWSTOPPERS: |
| |
| * Fix SAFEREAD |
| |
| * Fix lingering close |
| Status: |
| |
| * MPMs should have responsibility for closing sockets and |
| registering the socket cleanup. Stop registering multiple |
| cleanups for each socket. Move socket close code out of |
| http_connection.c and into the MPMs. |
| Status: |
| |
| * Reliable piped logs look broken everywhere. Each MPM includes essentially |
| identical code to ap_register_other_child(), etc. Most of this code can |
| be moved out of the MPMs and into some common file (http_core.c?). |
| Dean says presumably you mean an os-specific file? |
| |
| * DSO hooks registered during the preflight call to ap_read_config |
| are not 'unregistered' during the preflight clean-up. Thus, when |
| Apache comes up, the hook tables contain two entries for each DSO hook, |
| one of which is bogus, leftover from the preflight. |
| |
| * Pipes to CGI scripts are not being timed out |
| Status: code has been added to APR to support timing out pipes. |
| This needs to be used in Apache now. |
| |
| * Put back resource limit code |
| |
| * suEXEC doesn't work |
| Status: Manoj has posted an patch to fix this. |
| <19991103003605.A20612@samosa.mindspring.com> |
| |
| * Win32: Enable the Windows MPM to honor max_requests_per_child |
| Status: Bill will fix this. |
| |
| * Win32: Fix Win9* specific code in the winnt MPM |
| Status: |
| |
| * Win32: Test access logging with multiple threads. Will the |
| native file I/O calls serialize automagically like the |
| CRT calls or do we need to add region locking each time |
| we access the logs? |
| Status: |
| |
| * Win32: Smoke test all ported modules to make sure they work |
| correctly under Windows. |
| Status: |
| |
| * Current 2.0 code is not tested on many Unix platforms. Make 2.0 |
| work on most, if not all the systems 1.3 did |
| Status: Autoconf and APR will get us most of the way there. |
| |
| * The handler hook needs to use the new registration system |
| |
| * Modules. Which modules do not work yet, can we get a list? |
| |
| * We need a thread-safe resolver, at least on Unix. |
| Status: The best known candidate would be something from |
| BIND v9. |
| |
| RELEASE NON-SHOWSTOPPERS BUT WOULD BE REAL NICE TO WRAP THESE UP: |
| |
| * "make distclean" leaves (at least these) turds: |
| lib/.deps |
| lib/apr/.deps |
| lib/apr/shmem/unix/mm/config.log |
| lib/apr/shmem/unix/mm/mm_conf.h |
| lib/apr/shmem/unix/mm/libtool |
| lib/apr/shmem/unix/mm/config.status |
| lib/apr/shmem/unix/mm/Makefile |
| lib/apr/shmem/unix/mm/mm-config |
| main/a |
| modules/.deps |
| modules/mpm/.deps |
| os/.deps |
| |
| * the top-level configure.in appears to use $USE_MAINTAINER_MODE = yes |
| to set -Wall/etc. flags, and the APR configure.in appears to use |
| --with-debug. both seem like more of a hardwired pain compaired |
| to the pre-2.0 method of setting EXTRA_CFLAGS. |
| |
| * Win32: Reuse accept socket after transmitfile/close |
| This is not a bug, but would be nice to get this feature in |
| before ship. |
| |
| * Win32: Enable the winnt MPM to use the new scoreboard API |
| |
| * Win32: Non-blocking CGI pipes |
| |
| * Win32: Graceful restart of a service is broken (code does shutdown then start) |
| |
| * Dynamically loadable MPMs |
| Enable users of the binary distributions of Apache to be able to |
| dynamically load the MPM. |
| |
| Dean says this probably isn't a good idea. For example consider |
| -lpthread, you couldn't have the same core run with pthreads, |
| prefork, and gnu pth without a lot of headaches is my guess. |
| |
| * Platforms that do not support fork (primarily Win32 and AS/400) |
| Consider introducing HAVE_FORK feature macro. Architect start-up code |
| that avoids initializing all the modules in the parent process on |
| platforms that do not support fork. |
| |
| * Clean the code. There are a lot of places we used APR but didn't |
| remove the hacks that were required for the cross-platform code in |
| 1.3. We need to make the code look like APR was supposed to be there. |
| |
| * Go throught the 1.3 Bug DB and research the bugs marked "suspended". |
| People were told these would be considered for inclusion in Apache 2.0, |
| it would be nice to actually do so. |
| |
| * Win32: Migrate the MPM over to use APR thread/process calls. This |
| would eliminate some code in the Win32 branch that essentially |
| duplicates what is in APR. |
| Status: Bill <stoddard@raleigh.ibm.com> is working on this. |
| |
| * Move I/O layering into APR. |
| |
| * There are still a number of places in the code where we are |
| loosing error status (i.e. throwing away the error returned by a |
| system call and replacing it with a generic error code) |
| |
| * Win32: Implement reliable piped logs on Windows |
| Status: Bill <stoddard@raleigh.ibm.com> has prototype code (not |
| reliable) in 1.3. Should be much cleaner with APR in 2.0. |
| |
| * Switch to autoconf, et al. for configuration. |
| Status: Manoj has placed an initial version into the 2.0 |
| repository. Todos include: |
| |
| - "make install" should work |
| - a tool to simplfy third-party module building should be |
| written. Something like apxs |
| - Add a lot more checks to satisfy the various platforms, e.g. |
| for threading |
| |
| * Use APR to get rid of more platform dependancies. |
| Status: Ryan Bloom <rbb@raleigh.ibm.com> is working on this. |
| |
| * The connection status table is not very efficient. Also, very few stats |
| are exported to the connection status table (easy to fix), and mod_status |
| is ugly. |
| |
| Other bugs that need fixing: |
| |
| * MaxRequestsPerChild measures connections, not requests. |
| Until someone has a better way, we'll probably just rename it |
| "MaxConnectionsPerChild". |
| |
| * Regex containers don't work in an intutive way |
| Status: No one has come up with an efficient way to fix this |
| behavior. Dean has suggested getting rid of regex containers |
| completely. |
| |
| * SIGSEGV on Linux (glibc 2.1.2) isn't caught properly by a |
| sigwaiting thread. We need to work around this, perhaps unless |
| there is hope soon for a fixed glibc. |
| |
| Other features that need writing: |
| |
| * Finish infrastructure in core for async MPMs |
| Status: post 2.0 |
| |
| * TODO in source -- just do an egrep on "TODO" and see what's there |
| |
| Documentation that needs writing: |
| |
| * The concept of MPMs, especially if we ship more than one MPM for a |
| given platform |
| |
| * New directives in the various MPMs and appropriate links from |
| obsolete directives in core.html to the MPM documentation. |
| |
| * Revise manual/stopping.html and the last part of |
| manual/misc/perf-tuning.html to take account of the MPMs. |
| |
| * API documentation |
| Status: Ben Laurie has written some hooks documentation |
| (apache-2.0/htdocs/hooks.html) |
| |
| * Changes since 1.3.9 can be more easily seen in the commitlog file |
| dev.apache.org:/home/cvs/CVSROOT/commitlogs/apache-2.0 |
| which includes some of Roy's comments when the changes were |
| committed in rough change-sets by purpose. Note that the commitlog |
| does not show the contents of new files until later. |
| |
| Available Patches: |
| |
| * Mike Abbott's <mja@trudge.engr.sgi.com> patches to improve |
| performance |
| Status: These were written for 1.3, and are awaiting a port to |
| 2.0 |
| |
| Open issues: |
| |
| * What do we do about mod_proxy? |
| |
| * Which MPMs will be included with Apache 2.0? |
| |
| * Is conf/highperformance.conf-dist obsolete? It looks obsolete. |
| |