apr-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From wr...@apache.org
Subject svn commit: r592312 - /apr/apr/trunk/STATUS
Date Tue, 06 Nov 2007 06:46:37 GMT
Author: wrowe
Date: Mon Nov  5 22:46:36 2007
New Revision: 592312

URL: http://svn.apache.org/viewvc?rev=592312&view=rev
Log:
A huge amount of progress, axe many 0.9'ish generation comments,
many already-implemented things, and note the current state of 
win32 test results

Modified:
    apr/apr/trunk/STATUS

Modified: apr/apr/trunk/STATUS
URL: http://svn.apache.org/viewvc/apr/apr/trunk/STATUS?rev=592312&r1=592311&r2=592312&view=diff
==============================================================================
--- apr/apr/trunk/STATUS [utf-8] (original)
+++ apr/apr/trunk/STATUS [utf-8] Mon Nov  5 22:46:36 2007
@@ -62,8 +62,6 @@
 
     Please add any platform anomilies to the following exception list.
 
-    * various tests fail on Unix in VPATH builds.
-
     * 'testipsub' will tickle an Solaris 8 getaddrinfo() IPv6 bug,
       causing the test to hang.  Configure with --disable-ipv6 if
       using an unpatched Solaris 8 installation.
@@ -74,48 +72,41 @@
     * 'testdso' fails on older versions of OpenBSD due to dlsym(NULL,
       ...) segfaulting.
 
-    * BUG: Win32 fails test in File Info: test_stat_eq_finfo
-        apr_stat and apr_getfileinfo differ in protection ... wrowe
-        guesses that we are checking the handle objects' permissions
-        rather than the filesystem objects' permissions.
-
     * Win32 Not Implemented tests 
-        Pipes: set_timeout/read_write; can't timeout blocking pipes
-        Socket Creation: tcp6_socket and udp6_socket (at least by default)
-        Socket Options: corkable: TCP isn't corkable
-        Users: username: Groups from apr_uid_get not implemented
+        poll: pollcb not implemented
+        procmutex: lacks fork() support
+        sock : Sync behavior causes us to skip one test
+        sockets: tcp6_socket/udp6_socket skipped for no IPv6 adapter
+        sockopt: TCP isn't corkable
+        users: username: Groups from apr_uid_get not implemented
+
+    * Win32 tests are known to fail when APR_HAVE_IPV6 but there is no
+      ipv6 adapter is loaded (even loopback is sufficient).  There are
+      obnoxious getaddrinfo() missing results from looking up a fixed
+      IPv4-IPv6 mixed notation address, which reflect a Win32 bug.
+        ipsub: One test fails for IPv6 with no IPv6 adapter configured
+        sock : One test fails for IPv6 with no IPv6 adapter configured
 
 
-RELEASE NON-SHOWSTOPPERS BUT WOULD BE REAL NICE TO WRAP THESE UP:
+ONGOING REMINDERS FOR STYLE/SUBSTANCE OF CONTRIBUTING TO APR:
 
-    * testpipe: Line 69: expected <0>, but saw <22>
-                Line 92: expected <0>, but saw <22>
-      In order to use apr_file_pipe_timeout_set on Win32 we need to
-      create that end of the pipe as nonblocking; currently win32 
-      has assumed blocking pipes on apr_file_pipe_create.  Inverting
-      this assumption would break stdhandles, the most common use case.
-      We must add a flag to set the reader/writer end to explicitly
-      blocking or nonblocking, and the choice isn't volatile.
-
-    * "testlfs: Line 32: Large Files tests require Sparse file support"
-      In order to portably implement LFS-Sparse files, we would have
-      to actually flag that upon create (open), to be portable to win32.
-
-    * Someone needs to port testucs to Unix. Right now it only works
-      on Windows.
-        OtherBill asks; should we have a test/arch/xxx tree?
-                        The ucs implementation is an internal for
-                        unicode/utf-8 win32isms.
+    * Flush out the test suite and make sure it passes on all platforms.
+      We currently have about 450 functions in APR and 147 tests.  That
+      means we have a large number of functions that we can't verify are
+      actually portable.  This TODO includes finishing the migration to the
+      unified test suite, and adding more tests to make the suite
+      comprehensive.
 
-    * The return type of a thread function (void *) is inconsistent with
-      the type used in apr_thread_exit()/apr_thread_join() (apr_status_t).
-      The thread function's return type should be changed to apr_status_t
-      so that a return from the thread main function has the same effect
-      as apr_thread_exit().
-      See Message-Id: <E16JjZA-0007hg-00@zakath.apana.org.au> for thread
-      discussing this.
-        +1: BrianH, Aaron, david, jerenkrantz
-      Status: Will Rowe was working on this. 
+    * Eliminate the TODO's and XXX's by using the doxygen @bug feature
+      to allow us to better track the open issues, and provide historical
+      bug lists that help porters understand what was wrong in the old
+      versions of APR that they would be upgrading from.
+
+    * Continue to review, deprecate and eliminate from 2.0 all namespace
+      un-protected names throughout include/apr_foo.h headers.
+
+
+RELEASE NON-SHOWSTOPPERS BUT WOULD BE REAL NICE TO WRAP THESE UP:
 
     * Need some architecture/OS specific versions of the atomic operations.
 	progress: generic, solaris Sparc, FreeBSD5, linux, and OS/390 done
@@ -134,8 +125,6 @@
       Beos: apr_thread_rwlock_try*lock()
             apr_proc_mutex_trylock()
       Unix: apr_thread_rwlock_*() for platforms w/o rwlocks in pthread
-      Win32: apr_thread_cond_timedwait(), apr_proc_mutex_*() 
-             (Is proc_mutex unnecessary on Win32?)
 
     * Need to contemplate apr_strftime... platforms vary.  OtherBill
       suggested this solution (but has no time to implement):
@@ -192,12 +181,6 @@
     * Get OTHER_CHILD support into Win32
         Status: Bill S. is looking into this
 
-    * Win32 apr_proc_create fails to create 16 bit apps detached
-      (a win32 bug.)  The question - test in advance (slow) or
-      recover gracefully from failure and try again?  Only the test
-      method will work on Win9x, since it will appear to work, only
-      to encounter mangled pipes.  Win2K (NT?) simply fails.
-
     * 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:
@@ -232,8 +215,7 @@
       crypt() function is available, and a way to call it (whether it is
       located in libc, libcrypt, or libufc)
       Justin says: Should apr_crypt() be in apr-util?
-
-        Status: Greg +1 (volunteers)
+      Wrowe answers: of course!  It's called openssl DES_fcrypt ;-)
 
     * use os_(un)cork in network_io/unix/sendrecv.c for FreeBSD's
       sendfile implementation.
@@ -257,13 +239,15 @@
       descriptor.  That would allow the new/returned file to be closed
       (via pool cleanup or manually) without accidentally closing
       stderr/out.
+      wrowe: votes -1, reasons directly manipulate this through APR
 
     * need to export (in code, not just build scripts) the shared
       library extension (e.g. ".so") for the platform. clients need to
       use this to construct filenames to pass to apr_dso_load()
       -- note on Win32 we distinguish 'apache module' names from other 
          'loadable module' names, so be careful with Apache's directive.
-
+         AIX, HPUX may use similar (.so for a 'module's name while the
+         defaults .a or .sl are used for libs.)
     * Possible gmtime_r replacement in explode_time
       On Solaris (and possibly others), the gmtime_r libc function obtains
       a mutex.  We have seen 21/25 threads being blocked in this mutex on 
@@ -360,8 +344,7 @@
       misc/unix/errorcodes.c to get error reporting working.  Committed as
       the solution is elusive at present.
 
-    * implement APR_PROGRAM_ENV and APR_PROGRAM_PATH on BeOS, OS/2,
-      Netware, and Win32.
+    * implement APR_PROGRAM_ENV and APR_PROGRAM_PATH on BeOS, OS/2, Netware
 
     * stat() on a few platforms (notably Solaris and AIX) succeeds for
       a non-directory even if a trailing '/' was specified in the
@@ -371,43 +354,10 @@
       See OtherBill's comments in this message to dev@httpd.apache.org:
       Message-Id: <5.1.0.14.2.20020315080852.00bce168@localhost>
 
-Documentation that needs writing:
-
-    * API documentation
-        Ian Says: APR Stuff in now in Doxygen format, which is the first step.
-        David says: are we planning on doing any more? I'm tempted to remove this
-                    item.
-
-    * apr-site needs to be revamped with Anakia/XHTML.
-
     * Identify and implement those protection bits that have general 
         usefulness, perhaps hidden, generic read-only [immutable],
         effective current user permissions, etc.
 
-    * Maybe make the following functions return void instead of
-      apr_status_t, as they cannot ever error:
-
-         apr_md5_init()
-         apr_md5_update()
-         apr_md5_final()
-         apr_md5_encode()
-         apr_md5()       /* plus make the obvious code tweak in this one */
-
-      (Volunteer: Karl Fogel <kfogel@collab.net>.)
-
-      However, don't do this until after apr and apr-util offer
-      library version numbers, and httpd uses those numbers to
-      indicate which version it needs.  Until the libraries are
-      versioned, this api change is [somewhat] painful for httpd.
-      Status: Still in discussion, current leanings appear to be
-        Bill Stoddard -0.5 (?)
-        Sander Striker +1
-        Greg Stein +1
-        Karl Fogel +1
-
-      david: This was rejected for 1.0 following Ben L's comment that
-             should we ever start using any other form of md5 (e.g.
-             openssl) then errors would become a distinct possibility.
 
 Interface Changes Postponed for APR 2.0:
 
@@ -478,8 +428,6 @@
 
     * remove APR_POLL_LASTDESC from apr_datatype_e.
 
-Stuff for post 1.0:
-
     * Almost every API in APR depends on pools, but pool semantics
       aren't a good match for a lot of applications.  We need to find
       a way to support alternate allocators polymorphically without
@@ -512,33 +460,14 @@
       relationship.  A strawman has been posted to dev@apr:
       Message-Id: <213031CF0406DE1AC426A411@[10.0.1.137]>
 
-      This was listed as a showstopper for 1.0, but while the 2 patches above
-      exist neither was able to garner enough votes to be included in 1.0.
-      Will Rowe commented that a combination of the 2 would probably be the right
-      approach, a view that seems to have a lot of merit. Hopefully we can solve
-      this post 1.0. There were also enough people who felt that it wasn't a
-      real showstopper for it to be bumped.
-
-    * Must namespace protect all include/apr_foo.h headers.  Jon Travis
-      has especially observed these including apr within Apache-1.3.
-        Message-ID: <20020128100116.A4288@covalent.net>
-      Deprecating the symbols in 0.9, eliminating them with 1.0.
-      (Those problems have been fixed, but it is a good example of
-      what to look for.)
-      Some headers with issues:
-        apr.hnw               (READDIR_IS_THREAD_SAFE, ENUM_BITFIELD,
-                              _POSIX_THREAD_SAFE_FUNCTIONS (?))
-
-    * Flush out the test suite and make sure it passes on all platforms.
-      We currently have about 450 functions in APR and 147 tests.  That
-      means we have a large number of functions that we can't verify are
-      actually portable.  This TODO includes finishing the migration to the
-      unified test suite, and adding more tests to make the suite
-      comprehensive.
-
-    * Eliminate the TODO's and XXX's by using the doxygen @bug feature
-      to allow us to better track the open issues, and provide historical
-      bug lists that help porters understand what was wrong in the old
-      versions of APR that they would be upgrading from.
+    * The return type of a thread function (void *) is inconsistent with
+      the type used in apr_thread_exit()/apr_thread_join() (apr_status_t).
+      The thread function's return type should be changed to apr_status_t
+      so that a return from the thread main function has the same effect
+      as apr_thread_exit().
+      See Message-Id: <E16JjZA-0007hg-00@zakath.apana.org.au> for thread
+      discussing this.
+        +1: BrianH, Aaron, david, jerenkrantz
+      Status: Deferred to 2.0.0 (API change)
 
 



Mime
View raw message