forked from apache/apr
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathSTATUS
186 lines (144 loc) · 8.03 KB
/
STATUS
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
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
APACHE PORTABLE RUNTIME (APR) LIBRARY STATUS: -*-text-*-
Last modified at [$Date: 2001/06/05 07:56:08 $]
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:
* 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:
* Get OTHER_CHILD support into Win32
Status: Bill S. is looking into this
* 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
* 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: <[email protected]>
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)
Justin says: Should apr_crypt() be in apr-util?
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.
Justin says: The type parameter is now used.
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.
Justin says: Is this "I think it should?"
* 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()
-- note on Win32 we distinguish 'apache module' names from other
'loadable module' names, so be careful with Apache's directive.
* may be good to have a --disable-ipv6 configure option
* add a pool argument to setaside() to tell a bucket "do whatever
you need to do, to ensure that you survive as long as this
pool." Immortal and heap buckets never have work. File, socket,
mmap, pipe, and pool buckets can do nothing if the given pool is
equal to, or a descendent of the pool they are using. Apache's
core_output_filter can then say "setside(conn->pool)" to ensure
that a saved brigade will last as long as the connection.
* APR memory code - code has been added but we still need to
- decide on a better name for the code
- reformat to APR style (think this is now done, but some tabs left)
- test on more systems
- add to the default build as currently it's omitted. Also need to
add testmem to the test build at that point.
- add more detailed tests to testmem.c
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.
APR Stackable Memory Code
=========================
This is just a small list of things yet to be done, or things
that we may want/need to consider.
- add a shared memory module.
- locking needs to be addressed. The scope of the locks needs
to be defined and it's likely we'll need some way of
varying the scope when locking.
- given the problems that can occur when trying to find
alloc/free problems we should probably have a special debug
memory system that records everything it does and any
other information we think is useful.
- in addition to the debugging system, we need to look at
methods of checking memory allocations to ensure we're
behaving when we have the ASSERT_MEMORY flag turned on.
The pools in 1.3 had code from dean and Roy, Greg has added
some special stuff for pools under Linux on 2.0, so we just
need some ideas