summaryrefslogtreecommitdiff
path: root/STATUS
blob: 02b14e65f7f09d1ae6fc77c1c55f3c2aea2087e3 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
APACHE PORTABLE RUNTIME (APR) LIBRARY STATUS:			-*-text-*-
Last modified at [$Date: 2001/02/18 00:32:16 $]

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.
        Will suggests: Unix is looking pretty good.  Ignore APR_FINFO_NAME
        issues for b1, I've noted that issue below.

    * OS2 apr_stat/lstat/getfileinfo/dir_read were very fast hacks, need
        cleanup, toggle messy (APR_INCOMPLETE) result when appropriate.

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

    * Solve Win32 APR_CHR, APR_BLK, etc for Win32 apr_stat without 
        GetFileType?  How about inode/dev/nlink?
        Status: Will'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: <Pine.LNX.4.10.10005231712380.31927-100000@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

    * Change the return type of apr_hash_count() to some counter type 
      (like "int") instead of a size type (apr_size_t).  Jeff will
      do this Real Soon Now (so he says on 20010121).

    * 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()


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.