You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@apr.apache.org by Rodent of Unusual Size <Ke...@Golux.Com> on 2001/04/27 17:00:32 UTC

[STATUS] (apr) Fri Apr 27 11:00:32 EDT 2001

APACHE PORTABLE RUNTIME (APR) LIBRARY STATUS:			-*-text-*-
Last modified at [$Date: 2001/04/12 15:30:46 $]

Release:

    2.0a9   : released December 12, 2000
    2.0a8   : released November 20, 2000
    2.0a7   : released October 8, 2000
    2.0a6   : released August 18, 2000
    2.0a5   : released August 4, 2000
    2.0a4   : released June 7, 2000
    2.0a3   : released April 28, 2000
    2.0a2   : released March 31, 2000
    2.0a1   : released March 10, 2000

RELEASE SHOWSTOPPERS:

    * Unix apr_stat/lstat/getfileinfo were very fast hacks, needs review.
        Ignore APR_FINFO_NAME issues for b1, I've noted that issue below.
        OtherBill asks has someone done so?

    * OS2 apr_stat/lstat/getfileinfo/dir_read were very fast hacks, need
        cleanup, toggle messy (APR_INCOMPLETE) result when appropriate.
        OtherBill asks has someone done so?

    * complete the efforts started by DougM for cleaner fn naming
      conventions: see proposed name changes in renames_pending
      and offer up any additions/vetos/clarifications.
      DougM offered to complete the work with his nifty perl rename
      script at the hackathon. 

RELEASE NON-SHOWSTOPPERS BUT WOULD BE REAL NICE TO WRAP THESE UP:

    * Unconditionally setting AI_CANONNAME flag when apr_sockaddr_info_get()
      calls getaddrinfo() is bogus and causes undesired DNS requests.
        Status: Jeff will look into this

    * Solve Win32 APR_CHR, APR_BLK, etc for Win32 apr_stat without 
        GetFileType?  How about inode/dev/nlink?
        Status: OtherBill's WIP

    * SysV semaphore support isn't usable by Apache when started as
      root because we don't have a way to allow the semaphore to be
      used by the configured User and Group.  Current work-around:
      change the initial permissions to 0666.  Needed code:  See
      1.3's http_main.c, SysV sem flavor of accept_mutex_init().
      Status: Jim will look into this

    * Build scripts do not recognise AIX 4.2.1 pthreads

    * Win32: Implement apr_shm_ functions 

    * FirstBill says we need a new procattr, APR_CREATE_SUSPENDED (or
      something similar) to direct ap_create_process to create the
      process suspended. We also need a call to wake up the suspended 
      process This may not be able to be implemented everywhere though.
        Status: OtherBill asks, why?  What is the benefit, how is it
        portably implemented?  Unless this creates some tangible that
        mirrors another platform, then I'm -1.

    * Replace tables with a proper opaque ADT that has pluggable
      implementations (including something like the existing data type,
      plus hash tables for speed, with options for more later).
	Status: fanf is working on this.

    * add a version number to apr_initialize() as an extra failsafe against
      (APR) library version skew.
      MsgID: <Pi...@nebula.lyra.org>
      Status: Greg +1 (volunteers), Jeff +1, Ryan +1, Tony -0(?), david +1

    * The MM library is built as static and shared library. This should
      be set up to build only the required version.

    * add apr_crypt() and APR_HAS_CRYPT for apps to determine whether the
      crypt() function is available, and a way to call it (whether it is
      located in libc, libcrypt, or libufc)
        Status: Greg +1 (volunteers)

    * apr_create_lock() changes:
      - It ignores the "type" parameter, so toss it.
      - The fname param is allowed to be NULL on the Unix platform.
        Change it to always use the passed value, and check callers.
        rbb says:   The type parameter is supposed to be used to determine
                    if we are working with a read/write lock or a mutex.
                    The fname parameter is essentially required if you
                    want to be portable, but I dislike wasting cycles to
                    outsmart the programmer.
        Status: david +1
                rbb -1

    * configure.in does post-processing on the AC_OUTPUT files (for
      VPATH support). This means that config.status doesn't do the
      right thing when you re-run it. We ought to revamp the makefiles 
      to do the right AC_SUBST stuff rather than depend upon rewriting.

      Sascha: As the rewriter is a crude hack, I would not worry too
              much about it.  It is designed to go away once we have
              a proper build system in place.
              
              One of the perceived deficiencies of automake is that it
              uses AC_SUBST too often, thereby slowing down the task of
              generating Makefiles significantly, because it applies
              dozens of substitutions to each Makefile.  And why?  Make's
              built-in macro processing is much more powerful, and
              combined with the include facility, generating Makefiles
              becomes simpler and faster.

    * use os_(un)cork in network_io/unix/sendrecv.c for FreeBSD's
      sendfile implementation.

      david: The socket options stuff is now in and using it should
             reduce the number of syscalls that are required for 
             os_cork and uncork, so the code should be reviewed to
             make use of the new calls.  If no-one beats me to it I'll
             get around to it soonish...

    * toss the per-Makefile setup of INCLUDES; shift to rules.mk.in

    * add the rest of the pool accessor declare/impl macros.
      Status: Greg volunteers

    * I think apr_open_stderr() and friends dup() the descriptor. That
      would allow the new/returned file to be closed (via pool cleanup
      or manually) without accidentally closing stderr/out.

    * need to export the shared library extension (e.g. ".so") for the
      platform. clients need to use this to construct filenames to
      pass to apr_dso_load()

    * may be good to have a --disable-ipv6 configure option

Documentation that needs writing:

    * API documentation

Stuff waiting for code thawing after Beta 1:

    * Implement APR_FINFO_ICASE/APR_FINFO_NAME for stat'ish calls.
        Can wait till after b1, will be required to eliminate canonical
        and add that functionallity in-line with directory_walk, which
        is _not_ planned for 2.0b1, but immediately afterwards.  It's
        required to complete Apache/WinNT's Unicode schema as well.
        Note: Will doesn't like his original APR_FINFO_ICASE definition.

    * Identify and implement those protection bits that have general 
        usefulness, perhaps hidden, generic read-only [immutable],
        effective current user permissions, etc.