/[Apache-SVN]/httpd/apreq/tags/v2_07/CHANGES
ViewVC logotype

Contents of /httpd/apreq/tags/v2_07/CHANGES

Parent Directory Parent Directory | Revision Log Revision Log


Revision 376998 - (show annotations) (download)
Sat Feb 11 16:16:47 2006 UTC (18 years, 2 months ago) by joes
File size: 25007 byte(s)
tag 2.07
1 /** @page apreq_changes CHANGES
2 //! brief List of major changes.
3
4
5 @section v2_07 Changes with libapreq2-2.07 (released February 12, 2006)
6
7
8 - C API [joes]
9 SECURITY: CVE-2006-0042 (cve.mitre.org)
10 Eliminate potential quadratic behavior in apreq_parse_headers() and
11 apreq_parse_urlencoded().
12
13 - Perl API [Philip M. Gollucci]
14 Fix Apache2::Cookie->cookies() to comply with its documentation
15
16 - C API [Philip M. Gollucci]
17 Use the APREQ_DEFAULT_READ_LIMIT constant for the read_limit
18
19 - C API [Ville Skyttä, Dirk Nehring]
20 Add explicit cast in apreq_escape()/apreq_util.h to keep
21 C++ compilers happy.
22
23 - C API [joes]
24 Protect against arbitrary recursion depth in apreq_parse_multipart()
25 by adding a reasonable compile-time MAX_LEVEL limit.
26
27 - C API [joes]
28 Clean up end-of-file parsing for apreq_parse_multipart(),
29 conforming to rfc-2046 § 5.1.1.
30
31 - Perl API [joes]
32 Move APR::Request::Param::Table and APR::Request::Cookie::Table
33 packages to APR::Request module.
34
35 - Perl XS [Steve Hay]
36 Fix compile problems on Win32 without PERL_IMPLICIT_SYS
37 related to link being an unresolved symbol.
38
39 - Perl API [joes]
40 APR::Request::Cookie::thaw() isn't a class method.
41
42 - C API [joes]
43 Fix off-by-one bug in the continuation-lines portion of the
44 header parser.
45
46 - Perl API [joes]
47 Move APR::Request::upload to APR::Request, where it belongs.
48
49 - Perl XS [Nikolay Ananiev]
50 Use MP_STATIC declarations to allow Cygwin builds.
51
52 - Perl API [joes]
53 encode()/decode() were busted with zero-length args. This caused
54 Apache2::Cookie::new() to segfault on cookie value of "".
55
56 - C API [joes]
57 Add apreq_charset_divine() and eliminate charset offset from return
58 value of apreq_decode(v).
59
60 - C API [joes]
61 Improve the cp1252-charset heuristics for apreq_decode(v).
62
63 - C API [Ralph Mattes]
64 Add explicit casts for apreq_param_charset_* to keep c++ compilers happy.
65
66
67 @section v2_06_dev Changes with libapreq2-2.06-dev (released July 20, 2005)
68
69
70 - C API [Marc Gràcia, joes]
71 Fix apreq_decode(v) when iso-latin-1 chars appear
72 at the end of an encoded string.
73
74 - Perl API [Philip M. Gollucci]
75 Fix "Attempt to free temp prematurely" error in apreq_xs_croak().
76
77 - C API [Philip M. Gollucci]
78 Add mod_apreq2 to httpd's server tokens.
79
80 - Perl API [joes]
81 Drop support for $req->env(), which also died with 2.05-dev.
82
83 - Perl API [joes]
84 Support for table set/add/delete methods is formally withdrawn.
85 Technically this feature died with the module API refactoring in
86 2.05-dev.
87
88 - C API [max]
89 Right-hand limit of apreq_brigade_move() is declared as "excluding",
90 but APR_RING_UNSPLICE() wants an "including" right-hand limit. Fixed
91 this by passing the previous bucket.
92
93 - Perl API [joes]
94 Drop support for Apache2::Request::new's HOOK_DATA.
95 UPLOAD_HOOK now takes only two arguments: ($upload, $data).
96
97 - Perl API [joes]
98 Drop support for Apache2::Cookie::Jar::new's VALUE_CLASS.
99 2.05-dev broke that API, and it's not worth trying to fix.
100 People who need that should use APR::Request::Cookie::Table's
101 cookie_class() API instead.
102
103 - Perl API [joes]
104 Fix cookie domain/path munging in Apache2::Cookie::new().
105
106
107 @section v2_05_dev Changes with libapreq2-2.05-dev (released May 5, 2005)
108
109
110 - Win32 build [Randy Kobes]
111 Have top-level 'nmake', 'nmake test', and 'nmake install'
112 targets, respectively, also include building, testing, and
113 installing the corresponding perl glue targets.
114
115 - C API [geoff]
116 Minimum httpd version is now 2.0.48, which includes the official
117 apr 0.9.4 release.
118
119 - C API [Max Kellermann]
120 Fix apreq_quote.
121
122 - Perl API [joes]
123 Remove Apache2::Request::args. WARNING: through inheritance,
124 args() now maps to Apache2::RequestRec::args. Folks that want
125 the pre-2.05-dev behavior need to invoke APR::Request::args by name.
126
127 - C API [joes, Max Kellermann]
128 Add apreq_initialize, apreq_pre_initialize and apreq_post_initialize.
129 These are not thread-safe operations, so applications need to ensure
130 they are invoked (in the correct sequence) prior to using any apreq2
131 modules.
132
133 - C, Perl API [joes]
134 Add pool, bucket_alloc to apreq_handle_t.
135
136 - Perl API [joes]
137 Drop $data argument from UPLOAD_HOOK, and also drop HOOK_DATA option.
138 Perl folks should use a closure instead of passing in context data.
139
140 - Perl API [joes]
141 Move bake, bake2 to Apache2::Cookie, now requiring
142 an extra $r argument. Also ""-operator is mapped
143 to as_string() for Apache2::Cookie; but APR::Request::Cookie
144 maps it to value().
145
146 - C API [joes]
147 Remove header_in & header_out from apreq_module_t.
148 Remove apreq_ua_cookie_version() and apreq_cookie_bake*().
149 Remove cookie2 argument to apreq_handle_custom().
150
151 - C API [joes]
152 s/APREQ/APREQ2/g in webserver configuration directives.
153
154 - C API [Igor Shevchenko, Philip Gollucci]
155 Fix segfault in mfd parser caused by parts w/ empty param names.
156
157 - C API [joes]
158 Add apreq_cp1252_to_utf8().
159
160 - C, Perl API [joes]
161 Add charset support for params and couple the SvUTF8 flag
162 to the param's taint flag.
163
164 - C API [joes]
165 Replace v->size with v->nlen + v->dlen.
166 Added supporting apreq_value_table_add().
167
168 - C API [joes]
169 Remove apreq_cookie_attr().
170
171 - C API [joes]
172 - Add apreq_error.h, apreq_module.h.
173 - Rename apreq_run* and apreq_make* funcs to conform with
174 apreq_$obj_$meth scheme.
175 - Replace c->version & c->secure with flags.
176 - Parsers are assumed to be working with external data, so the
177 cookies & params they produce are marked tainted.
178
179 - C API [joes]
180 apreq_parse_cookie_header() failed to parse RFC Cookie headers which
181 contained no space chars after the '$Version=1' preamble.
182
183 - C API [joes]
184 Reorganize around include/, library/, and module/ dirs.
185
186 - C Tests [joes]
187 Replace CuTest-based tests with custom TAP-compliant framework.
188
189 - C API [Max Kellermann]
190 Continue the API improvements:
191
192 - Convert APREQ_RUN_PARSER and APREQ_RUN_HOOK to inline, and downcase them.
193 - Remove apreq_memmem.
194 - Convert apreq_(un)escape to inline.
195 - apreq_escape does not create an apreq_value_t*.
196 - Initialize default_parsers explicitly to NULL.
197 - Convert APREQ_BRIGADE_COPY to inline, and downcase it.
198 - Lowercase APREQ_BRIGADE_SETASIDE, APREQ_BRIGADE_COPY.
199 - Convert apreq_cookie_name and apreq_cookie_value macros to inline.
200 - Convert apreq_param_name, apreq_param_value, apreq_param_info, and
201 apreq_param_brigade to inline.
202
203 - C API [joes]
204 Widespread API refactorization to remove apreq_jar_t and apreq_request_t:
205
206 - Header includes reorganized; apreq_parsers.h added (back again).
207 - Replaced apreq_jar_t and apreq_request_t with single apreq_env_handle_t.
208 - Added const qualifier to "v" attribute of apreq_cookie_t and apreq_param_t.
209 - Use union type-puns to drop const qualifiers inside the new
210 apreq_value_to_cookie and apreq_value_to_param implementations
211 (gcc generates same object code as the macro versions did).
212 - Moved "flags" attribute from apreq_value_t to apreq_cookie_t and apreq_param_t.
213 - Remove env argument from hooks and parsers.
214 - Reduce apreq_env_module to minimal set of operations.
215 - Replace apreq_log calls with apreq-specific error codes.
216 - Hooks are called on each body param now, not just during file uploads.
217 - Tie the cgi handle to its creator pool.
218
219 Detailed changes by header file:
220
221 [apreq.h]
222 - Remove flags from apreq_value_t.
223 - Remove const qualifier from apreq_value_t's "name" attribute.
224 - Remove apreq_value_merge* and apreq_value_copy*.
225 - Remove apreq_char_to_value, apreq_strtoval, and apreq_strlen.
226 - Move apreq_enctype to apreq_env.h.
227 - Move apreq_env_handle_t struct definition to apreq_env.h
228 - Change signature of apreq_decode.
229 - Move apreq_brigade_concat here, changed its signature and improved it alot.
230 - Remove apreq_brigade_spoolfile.
231 - Dropped APREQ_*_ENCTYPE, renamed some APREQ_$foo defaults APREQ_DEFAULT_$foo.
232 - Added APREQ_ERROR_*.
233
234 [apreq_cookie.h]
235 - Remove apreq_env.h include.
236 - Remove apreq_jar_t.
237 - Add "flags" to apreq_cookie_t, add const qualifier to its "v" attr.
238 - Remove apreq_jar* functions.
239 - Add apreq_parse_cookie_header.
240 - Move apreq_cookie, apreq_cookie_bake(2), and
241 apreq_ua_cookie_version to apreq_env.h.
242
243 [apreq_params.h]
244 - Remove apreq_env.h include.
245 - Remove apreq_request_t.
246 - Add "flags" to apreq_param_t, and const qualifier to its "v" attr.
247 - Rename "bb" attribute "upload" in apreq_param_t.
248 - Remove apreq_request* functions.
249 - Remove apreq_parse_request.
250 - Changed apreq_decode_param signature.
251 - Replace env argument with apr_table_t in apreq_params_as_array,
252 apreq_params_as_string,
253 - Move remaining apreq_param* to apreq_env.h.
254 - Move parser and hook sections to apreq_parsers.h.
255 - Change apreq_upload(s) old apreq_request_t arg to apr_table_t.
256
257 [apreq_parsers.h]
258 - Acquire the hook and parser sections of original apreq_params.h.
259 - Remove env argument from APREQ_PARSER_ARGS and APREQ_HOOK_ARGS
260 - Augment apreq_hook_t and apreq_parser_t to replace missing env features.
261 - Change apreq_make_parser and apreq_make_hook signatures.
262 - Rename apreq_add_hook to apreq_parser_add_hook, returning apr_status_t.
263 - Change apreq_parser signature.
264
265 [apreq_env.h]
266 - Remove read, log, pool, bucket_alloc, request, jar, and query_string methods.
267 - Include apreq_parsers.h.
268 - Reorganize apreq_env_module_t to provide hook, parser, jar, args,
269 & body table ops.
270 - Rename max_brigade to "brigade_limit", max_body to "read_limit".
271 - Change related module sigs, including temp_dir, to get/set methods.
272 - Add parser and read_limit args to apreq_env_make_custom_handle.
273 - Drop "name" arg and APREQ_ENV_MODULE =~ s/_ENV//.
274 - s/apreq_env_make/apreq_handle/ in the handle constructor names.
275
276 [mod_apreq.c, apreq_env_apache2.h]
277 - Changed APREQ_Max* configs to APREQ_BrigadeLimit and APREQ_ReadLimit.
278 - Handle constructor renamed apreq_handle_apache2.
279
280 - C API [joes]
281 Make our "libtool current interface" number depend on apr's
282 major number. This allows libapreq2 to be installed into a
283 system-wide location while avoiding ABI conflicts arising from
284 our apr-based interfaces.
285
286 - C API [Max Kellermann]
287 Introduce apreq_env_handle_t to replace the void *env usage.
288 Also added apreq_env_custom for making private handles, and new
289 apreq_env_apache2.h to let mod_apreq export apreq_env_make_apache2.
290
291 - C API [Max Kellermann]
292 Rename apreq_env_t to apreq_env_module_t, to prepare for
293 a new thread-safe apreq_env API.
294
295 - C API [Max Kellermann]
296 mod_apreq must check the return value of apreq_brigade_concat
297 to avoid a RAM-consuming infinite loop. A bad APREQ_TempDir
298 setting can cause this situation.
299
300 - C API [joes]
301 Provide workaround for chunked trailers bug in ap_http_filter.
302
303 - C, Perl API [joes]
304 Several upload-related bugfixes:
305 1) apreq_upload and apreq_uploads did not search the full body table,
306 2) $upload->slurp and $io->read did not autovivify the resultant string.
307
308 - C API [joes]
309 Add "flags" attribute to apreq_value_t, planning for charset support.
310 This is an ABI change, starting with libapreq2.so.2.0.24.
311
312 - C API [joes]
313 Add apreq_env_bucket_alloc() to get an allocator directly from the
314 environment instead of creating them from a pool. This is an
315 ABI change, starting with libapreq2.so.2.0.23.
316
317 - Build system [joes]
318 Add --with-apache2-httpd option so users can override apxs's
319 notion of where the httpd executable is. XSBuilder's header
320 parser runs from buildconf now instead of configure, so we
321 will include those tables in the release tarball. buildconf
322 gets an additional --with-perl option for running the xsbuilder.pl
323 parsing script. The XS generation code in xsbuilder.pl has moved
324 to glue/perl/Makefile.PL.
325
326 - Perl API [joes]
327 Allow ctors for Apache::Cookie, Apache::Cookie::Jar
328 and Apache:::Request to accept Apache::Request objects
329 (instead of requiring an Apache::RequestRec object).
330 This thread details the bug
331 http://thread.gmane.org/gmane.comp.apache.mod-perl/15727
332
333 - C API [Bojan Smojver]
334 Bake cookies with err_headers_out so they are
335 sent on non-2xx server responses (ie. a 304 redirect).
336 Also ensure that headers are copied with apr_table_add
337 instead of apr_table_addn. Since apreq_cookie_bake()
338 allocates from the stack, the Set-Cookie headers would
339 occasionally get mangled without this patch.
340
341 - C API [joes]
342 Add apreq_register_parser(), which allows users to add
343 their own parsers to apreq_parser()'s recognized MIME types.
344
345 - C API [joes]
346 Support "multipart/mixed" file uploads.
347 Support XForms' "multipart/related" enctype.
348
349 - C API [joes]
350 Add apreq_hook_apr_xml_parser(), which is a simple wrapper
351 hook around APR's expat-based apr_xml_parser. Add a generic
352 parser apreq_parse_generic() to parse arbitrary enctypes using
353 the hook API.
354
355
356 @section v2_04_dev Changes with libapreq2-2.04-dev (released August 30, 2004)
357
358
359 - Perl API [joes]
360 Add TAINT checks, marking all parsed data as tainted.
361
362 - C API [joes]
363 Add body_status attribute to apreq_request_t, to allow the both
364 environment and the parser to report any errors encountered.
365
366 - C API [randyk, joes]
367 Cookie parser was locking up on non-alphanumeric chars in cookie names.
368 Also RFC Cookie attributes are always checked for quotes during bake(2),
369 and the quotes are now stripped from incoming RFC cookies during parsing
370 (but they are never stripped from the actual cookie value).
371
372 - Perl API [joes]
373 Apache::Cookie::Jar->new accepts a VALUE_CLASS argument, which effectively
374 blesses all the jar's cookies into that class, which simplifies subclassing
375 Apache::Cookie. Accordingly Apache::Cookie->freeze($value) no longer accepts
376 a freeze()-able object in $value.
377
378 - C API [Markus Wichitill, randyk, joes]
379 Drop APR_DELONCLOSE from apreq_file_mktemp implementation and install
380 apreq_file_cleanup. When passed to apr_file_open on Win32, APR_DELONCLOSE
381 sets the FILE_SHARED_DELETE flag, which is, unfortunately, a property that
382 is preserved across NTFS "hard" links. This breaks apps that link()
383 the temp file to a permanent location, and subsequently expect to open it
384 without FILE_SHARED_DELETE before the original tempfile is closed+deleted.
385 In fact, even Apache::Upload does this, so it is a common enough event that
386 the apreq_file_cleanup workaround is necessary.
387
388 - C API [Ken Burcham, joes]
389 Fix bug in url parser that occurs when a %XX-encoded sequence
390 is split across multiple buckets. Added apreq_decode_decodev
391 to make this problem less inconvenient.
392
393 - Perl API [joes]
394 Exception objects inherit from the object which raised it,
395 which allows $@ to invoke its methods with impunity (exceptions
396 are disabled for objects which derive from an exception class).
397
398 - Perl API [joes]
399 Implement HOOK_DATA and UPLOAD_HOOK.
400
401 - Perl API [joes]
402 Add safe XS wrappers for $table->add, $table->set, $table->STORE,
403 and $table_class->new.
404
405 - Perl API [joes]
406 Add exceptions to $upload->link, $upload->tempname, $upload->slurp,
407 and $cookie->set_attr. Return value of $upload->slurp is now the
408 upload length. Also document new $upload->io.
409
410 - C API [joes]
411 Restrict all apr_status_t codes to APR_SUCCESS, APR_INCOMPLETE,
412 APR_EGENERAL, APR_EINIT, APR_ENOTIMPL, since any others will
413 generate confusing error messages from apr_strerror.
414
415 - Perl API [joes]
416 Added $upload->io with a TIEHANDLE API layered over APR::Brigade. $upload->fh
417 remains implemented as an APR::PerlIO object, which is seekable but less efficient
418 and currently suffers some portability issues associated with largefile support
419 in perl and apr.
420
421 - Perl API [joes]
422 Added apreq_xs_croak for throwing APR::Error exceptions and included
423 error-checking on $req->param, $req->args, $req->body, $req->upload,
424 and $jar->get.
425
426 - Perl API [joes]
427 Added $jar->status, $req->args_status and $req->body_status to report
428 parsing errors. Also add $upload->tempname per user request.
429
430 - C API [joes]
431 Dropped status attribute of apreq_value_t. Added status field to
432 apreq_jar_t and added args_status field to apreq_request_t. Parsers
433 also must return their public status code when a NULL brigade is passed.
434 apreq_hook_disable_uploads() is also added.
435
436 This is an ABI change affecting all versions of libapreq2 prior to 2.0.12.
437
438 - Perl API [joes]
439 $upload->info returns a proper APR::Table object now. Also implemented
440 $upload->size, $upload->fh, and $upload->type.
441
442 - C API [Jean-François Meesse]
443 mfd parser fails to parse CRLF-terminated files when the terminating
444 boundary string is at the start of a new bucket. This is reportedly
445 a common event for PDF files uploaded with Netscape 7.
446
447 - Perl API [joes]
448 Add back-compat support for Apache::Cookie->fetch() via
449 Apache->request.
450
451 - C API [joes]
452 Add MaxBody, MaxBrigade, and TempDir per-dir directives to mod_apreq
453 filter.
454
455 - C API [joes]
456 Replace free/tempnam dependency in apreq_file_mktemp() with
457 apr_temp_dir_get(). Add additional gcc warning flags when
458 --enable-maintainer-mode is set.
459
460 - C API [joes, Scott Hutton]
461 Replace apreq_brigade_copy with more effective APREQ_BRIGADE_COPY
462 macro. Also introduce APREQ_BRIGADE_SETASIDE to deal with buckets
463 that need to be set aside for use in future function calls. mod_ssl
464 generates transient buckets which tickled this bug.
465
466 - Perl API [joes]
467 Separate Apache::Upload module from Apache::Request for
468 better organization.
469
470
471 @section v2_03_dev Changes with libapreq2-2.03-dev (released June 12, 2004)
472
473
474 - C API [joes]
475 "Objectify" cookie/jar API: s/apreq_(make|serialize)_cookie/apreq_cookie_$1/
476 and reordering args so the cookie/jar object is always the first argument.
477 Macros added to provide source-compatibility with the old names.
478
479 - Perl API [joes]
480 Added $upload->slurp($data), which reads the contents of the file
481 upload "$upload" into the scalar "$data".
482
483 - C API [joes, randyk]
484 apreq_run_(hook|parser) are macros, so they are capitalized now.
485 Fixed apreq_params_as_string() and added apreq_params_as_array().
486 Reworked definitions of APREQ_DECLARE_HOOK, APREQ_DECLARE_PARSER
487 and apreq_(parser|hook)_t, hopefully to be more Win32 friendly.
488 Also updated the documentation.
489
490 - C API [joes]
491 Compensate for a missing CRLF in empty file upload block, which
492 actually complies with RFC 2046 Section 5.1.1. Konqueror (version unknown)
493 and Mozilla 0.9.7 are known to emit such blocks.
494
495 - Perl API [joes]
496 $req->upload() in list context failed to filter out non-uploads.
497 Also $req->upload("nonexistent-key-name") segfaults.
498
499 - Perl test suite
500 t/TEST.PL must run parent class' pre_configure to get the
501 configuration right
502
503 - C API [joes]
504 apreq_brigade_concat() wasn't supplying the final EOS bucket
505 to large brigades (>256K), which somtimes caused the prefetch
506 loop in mod_apreq.c's apreq_filter() to hang.
507
508 - Documentation [joes]
509 CHANGES file reformatted, removing dates & other clutter
510 as Stas suggests.
511
512 - C API [joes]
513 Rewrote cgi_read() in apreq_env.c and reworked mod_apreq.c
514 to enforce apreq_env_max_body() settings.
515
516 - C API [joes]
517 Fixed bug in url_parser code- missing context brigade was
518 needed to track key-value pairs which span multiple buckets.
519
520 - C API [joes]
521 API modifications: removed struct apreq_cfg_t, adding
522 new apreq_env hooks max_body, max_brigade_len, and temp_dir.
523 Folded apreq_parsers.h into apreq_params.h and modified the arguments
524 to apreq_run_parser() and apreq_run_hook(). Renamed
525 apreq_parser_t's content_type as enctype and apreq_copy_brigade()
526 as apreq_brigade_copy().
527 These changes make libapreq2.so.2.0.5 incompatible with earlier
528 versions.
529
530 - Perl API [stas]
531 Include ppport.h from blead-perl to support older perls.
532 Add a proper support for ithreads.
533
534 - C API [Swen Schillig, joes]
535 Fixed bug in calculation of Netscape cookie expiration dates.
536 apr_time_t is measured in microseconds, not seconds, which
537 threw off the arithmetic; apr_time_from_sec was needed for
538 the conversion.
539
540 - C API [Max Kellermann]
541 Fix segfault caused by invalid %-escape sequence in query string.
542
543
544 @section v2_02_dev Changes with libapreq2-2.02-dev (released Nov 15, 2003)
545
546
547 - Perl API [joes]
548 Fix bogus pool/cookie initializers in Apache::Cookie::set_attr(),
549 which caused Apache::Cookie::new to segfault. Bug
550 first reported to modperl list by Wolfgang Kubens.
551
552
553 @section v2_01_dev Changes with libapreq2-2.01-dev (released Nov 10, 2003)
554
555
556 - build system [joes]
557 Skip Apache::Test tests in env/ when Apache::Test is unavailable.
558 This allows the C API to be build and installed without requiring
559 Apache::Test (it is still a requirement for compiling the perl glue).
560
561 - C API mod_apreq.c [joes]
562 Parser errors were creeping into the return value of apreq_filter,
563 which breaks the "transparent tee" paradigm. This caused bogus
564 "400 Bad Request" responses (first reported by Vladimir Dudo)
565 to occur when libapreq2 was used by an output filter during a GET
566 request (handled by apache2's default handler). The test suite
567 has been updated accordingly.
568
569 - C API [joes]
570 Incorporate libapreq_cgi into libapreq2 as the default environment,
571 and add apreq_env_t and initializer apreq_env_module() to manage the
572 environment at runtime (determining the environment at load-time
573 was problematic on non-ELF systems).
574
575
576 @section v2_0_0 Changes with libapreq2-2.00-dev (Oct 25, 2003)
577
578
579 - C API: libapreq_cgi.c [randyk, joes]
580 CGI environment defined by env/libapreq_cgi.c is functional
581 (with tests added to env/t). This library may soon be incorporated
582 directly into libapreq2 as a default enviroment.
583
584 - C API: mod_apreq.c [joes]
585 Added ctx->saw_eos to ensure we don't read from upstream filters
586 after receiving an eos bucket. Otherwise it was possible for
587 two eos buckets to appear when a prefetch read is involved, which
588 breaks other modules like mod_proxy. This bug was uncovered by
589 Philippe Chiasson. mod_apreq's apreq_env_majic_number bumped to
590 reflect the added fixes.
591
592 - configure: --enable-perl-glue [joes]
593 The --enable-perl-glue option integrates the perl glue into the
594 normal Unix build cycle. It is disabled by default, but is silently
595 reenabled if the user configures the source tree via Makefile.PL.
596
597 - C API [joes]
598 Added apreq_header_attribute() and fixed mfd parser to allow
599 "charset" attribute to appear in the Content-Type header. Sven
600 Geisler points out that Opera 7.20 does generate such headers.
601
602 - C API [joes]
603 Added versioning API following http://apr.apache.org/versioning.html
604 apreq_env renamed apreq_env_name, and apreq_env_magic_number added
605 to provide versioning for environments (modules). The header files
606 are now installed to "include/apreq2", and the library is renamed
607 "libapreq2". Also added an apreq2-config script based on apu-config.
608
609 - configure: static mod_apreq.c [Bojan Smojver, joes]
610 Add --with-apache2-src configure option, along with --with-apr-config
611 and --with-apu-config, and provide support for compiling mod_apreq
612 into httpd as a static apache module.
613
614 - C API: mod_apreq.c [joes]
615 Support for internal redirects added to the mod_apreq filter.
616 This ensures any POST data prefetched in the main request
617 gets passed along to the subrequest handler(s).
618
619 - C bugfix: apreq_decode [Graham Clark]
620 If the source and destination strings are represented by the same
621 pointer - e.g. if called as apreq_unescape(s) - string s is modified
622 incorrectly in general. Patch includes new unit test.
623
624 - Perl API [joes]
625 Added $req->parse, $req->status, & "preparse" logic
626 to $req->param & $req->upload.
627
628 - C API [joes]
629 Added "preparse" logic to apreq_params & apreq_uploads
630 to bring behavior in line with libapreq-1.x.
631
632 - C API [joes]
633 Dropped param->charset.
634 Make apreq_brigade_concat public, so mod_apreq can use it
635 for its ctx->spool brigade.
636
637 - Documentation [joes]
638 Updated Cookie_pod to reflect API changes over v1.X.
639
640 - Documentation [joes]
641 Added doxygen links to Apache::Request and Apache::Cookie
642 perl docs.
643
644 - C API [joes]
645 Added apreq_copy_brigade(bb) to apreq.h.
646
647 - C API [joes]
648 The new filter-based design required a complete
649 departure from libapreq-1.X codebase. libapreq-2
650 is based solely on APR, and to be fully functional,
651 requires a supporting environment similar to Apache-2.
652 A person wishing to port libapreq-2 to a new environment
653 needs to provide definitions for the declarations in apreq_env.h.
654
655 - Perl API [joes]
656 Aggregates are always collected into an APR::Table-based package.
657 New table packages: Apache::Cookie::Table, Apache::Request::Table,
658 and Apache::Upload::Table.
659
660 - Perl API [joes]
661 Apache::Cookie->fetch now requires an "environment" argument ($r).
662 Its return value is blessed into the Apache::Cookie::Jar class.
663
664 - Perl API [joes]
665 Two new request lookup functions:
666 -# $req->args - param lookup using only the query string
667 -# $req->body - param lookup using only the POST data
668
669
670 **/

Properties

Name Value
svn:eol-style native

infrastructure at apache.org
ViewVC Help
Powered by ViewVC 1.1.26