File: ToDo

package info (click to toggle)
libapache-mod-perl 1.16-2
  • links: PTS
  • area: main
  • in suites: slink
  • size: 1,580 kB
  • ctags: 1,064
  • sloc: ansic: 4,489; perl: 4,415; sh: 305; makefile: 137
file content (276 lines) | stat: -rw-r--r-- 9,073 bytes parent folder | download
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
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
---------------------------------------------------------------------------
SHORT TERM STUFF (this section should always be empty in a release version!)
                 (well, close to it anyhow)
---------------------------------------------------------------------------

- forking under Apache::Registry, exit vs CORE::exit 

- files that have been created after the server's (child?) startup are
  being reported with negative age with -M test under Apache::Registry. 
  The workaround is to add $^T = time; at the beginning of the scripts. But
  it would be much better if the Apache::Registry will do that 

- turn of strip of httpd during 'make install'

- 'make htmldoc' (Brian Moseley)

- sfio/solaris problem
Lupe Christoph <lupe@alanya.m.isar.de>, Don Hayward <don@mote.org>

- make 'make test_report' more useful

- Apache::Registry should check return value of the subroutine,
  e.g. for REDIRECT   

- /perl/perl-status?sig dumps core under hpux 10.20
   [David-Michael.Lincke@unisg.ch]

- Gerald's report of Embperl/sub-request/print breakage

- perl-status?mod_perl_hooks broken under win32?

- rand() broken under win32!
           Jeff Baker <jeff@godzilla.tamu.edu>

- -Tw w/o PerlTaintCheck cause SEGV? Dave Hodgkinson <daveh@sift.co.uk>

---------------------------------------------------------------------------
DOCUMENTATION (areas that *really* need some more or don't have any)
---------------------------------------------------------------------------

- misc:
  + DONE
  + SUID access http://www.courtesan.com/sudo/
  + $ENV{PATH}/PerlSetEnv and PerlTaintCheck

- PerlRun::handler in cgi_to_mod_perl.pod

- HTTP Headers!!!!

- Apache::exit/child_terminate

- push_handlers/set_handlers

---------------------------------------------------------------------------
KNOWN BUGS
---------------------------------------------------------------------------

- USE_DSO=1 --> END blocks are run at startup time

- USE_DSO=1 broken on most platforms (core dump in dlclose)

- $r cannot use many api methods during ChildInit/ChildExit -> SEGV

- bytes_sent are not logged if header don't go through send_http_header(), 
  e.g CGI->header(-nph => 1, ...)
              Eric Cholet <cholet@logilune.com>

- SIGALRM/flock, Lincoln Stein <lstein@cshl.org>
 I often use this type of code to handle possibly blocked flocks():

        local($timed_out) = 0;
        local($SIG{ALRM}) = sub { $timed_out++; die "timed out"; }
        alarm(5);
        eval {
                flock(FH,LOCK_EX);
        }
        alarm(0);
        if ($timed_out) {
           print "We timed out.  Sorry.";
        }

 This has been working in standalone CGI scripts, but no longer works
 in mod_perl.  The signal handler gets called, but then the flock()
 call seems to be restarted. It never exit the eval.  So this is no big 
 deal, I just replace the blocking flock() with a poll.

- find a way to prevent "httpd spinning" (bug in Perl, not mod_perl)

- linkage problem w/ mod_auth_dbm (-ldbm)
 Config.pm New: libs='-lsocket -lnsl -ldl -lm -lc -lcrypt -ldb'
 Was:           libs='-lsocket -lnsl -ldb -ldl -lm -lc -lcrypt'
 SunOS mailhost.cmc.net 5.5 Generic_103093-17 sun4m sparc sun4m
             brian moore <bem@cmc.net>

- sometimes w/ <Perl> we get: [warning] PerlSetVar->nelts = 1111992, e.g.:
  $User = "www";
  $ServerType = "standalone";
  @ScriptAlias = [('/cgi-bin','/the/path')];
  @Alias = [('/web/','/usr/home/web')];

- perl_config should not av_shift ARRAY refs from
  %Apache::ReadConfig::

- die and AUTOLOADed DESTROY == empty $@ (Perl or mod_perl bug?)


- ExtUtils::Embed/ExtUtils::Liblist clash sometime w/
  PERL_STATIC_EXTS, like so: 
 Unrecognized argument in LIBS ignored:
 '/opt/oracle/product/7.3.3/lib/libclient.a' 

 Note (probably harmless): No library found for -l:libcma.sl

 -Wl,-E -Wl,-B,deferred -L/usr/local/lib
 /home/web/perl5/lib/site_perl/portable/auto/DBD/Oracle/Oracle.a 
 /home/  etc etc ...
           mark rostron <useny036@IMATION.COM>
           Brian Slesinsky <bslesins@best.com>

- From: brian moore <bem@CMC.NET>
  As Apacheweek reported a couple weeks ago, 'some' modules on Solaris have
  problems with the mutex locking method used by 1.3b5.  One of which is
  mod_perl.  To make it work I had to -DUSE_FCNTL_SERIALIZED_ACCEPT or
  the server would never answer a request.


---------------------------------------------------------------------------
NEW STUFF
---------------------------------------------------------------------------

- PerlEngine On/Off [Vivek Khera <khera@kciLink.com>]

- mod_perl C code symbols, should look at cleaning up names with a
  common prefix, e.g. mp_, mod_perl_, mperl_ ?
  also static-ize those functions we can 

- remove Apache::Symbol::undef cruft, now that the mandatory const sub
  redefined warning is downgraded in 5.004_05-tobe

- perl_clear_env() should skip those found in PerlPassEnv?

- File::copy($file,*STDOUT) doesn't work (pp_syswrite needs tie support)
	Bill Coffman <coffman@value.net>

- option to set uid/gid before running any Perl code (copy-n-paste
  from http_main.c) 
	Doug Bagley <doug@dejanews.com>

- provide namespace protection when 'use Foo' might be two different modules
  i.e. re-visit Apache::Safe

- move away from read_client_block to {setup,should,get}_client_block
  see Apache.pm/Apache::new_read

- PerlOptions directive?
           Jason Riedy <ejr@cise.ufl.edu>

- some mod_perlIO type methods for xs modules? (e.g. Apache::Peek)

- make 'PerlSetVar $Foo value' work like 'local $Foo = value' 
  for the given location

- <Perl> in .htaccess (could also call known bug)

- provide namespace protection for mod_include #perl's

- change configuration during runtime?

- have log_error/log_reason give file/line info of caller

- 'make html'?

- $Apache::ServerStarting in <Perl>

- something with exec()?

- Apache->http_message(501); #rc code returns a string

- PerlFreshRestart, restarts on startup, should we stop that?

- special treatment for nph- scripts?

- fix Thread->new == linux<-SIGUSR1->Apache signal clash

- win32:
  + integrate with Perl 5.005's threading
  + mod_include #perl support
  + ability to nmake w/o going into VC++
  + ability to disable Perl*Handler callback hooks
  + get rid of dup between t/conf/httpd.conf-dist/httpd.conf-win32

- @ARGV magic, tie to query string

- overload %ENV magic:
  + call subprocess_env when a value is set 
              Doug Bagley <doug@dejanews.com>
  + so it's not setup unless asked for

- "save stack" mechanism so we can go back to caching CV lookups

- improve the "stacked handlers" implementation, including:
  + config merging of AV*'s

  + allow push_handlers to have an additional argument, an array ref,
    which will be passed to the handler as arguments, e.g.
    $r->push_handlers("PerlHandler", \&some_sub, ['one', 'two', 'etc']);

- allow Perl*Handler's to have arguments in config files, e.g.:

  (calls &FooPackage::handler($r, "One", "Two", "Three");

- allow <Perl></Perl> configuration sections to have read access to internal
  configuration structures (would be nice if we could tie a %namespace::) 

---------------------------------------------------------------------------
KNOWN MODULE BUGS
---------------------------------------------------------------------------

- can't multiple Apache::Include->virtual in a single request

---------------------------------------------------------------------------
NEW MODULE STUFF
---------------------------------------------------------------------------

- should Apache::Registry use filename instead of vhost_name+uri?
              Ben Laurie <ben@algroup.co.uk>

- apache.pm: use apache '1.3b3';

- have Apache::Status hunt for AUTOLOADing 

- Apache::SawAmpersand

- Apache::Status should list number of things

- Apache::Constant's import should compile the constant sub

- Apache::DProf as a Fixup

- Apache::Include->virtual should update %ENV?

- Apache->request vs. $_[0]

- Apache::Registry should honor __END__ and __DATA__,
  but how to get it right?

---------------------------------------------------------------------------
CLEANUPS - "if it ain't broke, don't muck with it", but we should tidy
            these things at some point
---------------------------------------------------------------------------

change cgi_header_out and send_cgi_header to use new
ap_scan_script_header_err_core function 

cleanup Makefile.PL!!!

loose dup code in Apache::Registry, use Apache::PerlRun functions

use 5.005's newCONSTSUB in Constants.xs

---------------------------------------------------------------------------
OPTIMIZATIONS
---------------------------------------------------------------------------

- replace Apache::PerlRun with Apache::PerlRunXS

- replace Apache::Registry with Apache::RegistryXS

- make Apache::RegistryLoader work with RegistryXS

- avoid a copy in PerlRunXS (use SvPVX instead of safemalloc'd copy)

- XS_IMPORT=1 on by default

- in places where Apache did a pstrdup, don't use newSVpv(), use
  newSV()->sv_upgrade()->SvPVX/SvCUR_set to avoid another copy