Parent Directory
|
Revision Log
| Links to HEAD: | (view) (annotate) |
| Sticky Revision: |
update to new licenese header per board resolution
Its 2006 now bump the Copyright year
style cleanup: delete-trailing-whitespace
- Perl API [joes] Move bake, bake2 to Apache2::Cookie, now requiring an extra $r argument. Also ""-operator is mapped to as_string() for Apache2::Cookie; but APR::Request::Cookie maps it to value(). - C API [joes] Remove header_in & header_out from apreq_module_t. Remove apreq_ua_cookie_version() and apreq_cookie_bake*(). Remove cookie2 argument to apreq_handle_custom().
Swapping trunk with the multi-env branch, step 2.
s/TAINT/TAINTED/g to be consistent (and better match perl's SvTAINTED flag).
++2004 in Copyrights.
Replace v->size with v->nlen + v->dlen. Added supporting apreq_value_table_add().
Change v->size semantics: now it represents the total amount of memory appended to the apreq_value_t struct. Added supporting apreq_param_nlen(), apreq_param_vlen(), apreq_param_size(), apreq_cookie_nlen(), apreq_cookie_vlen(), apreq_cookie_size(), apreq_value_table_add(). Also a few more performance tweaks for the new perl APIs.
Get the glue/perl/t/apreq/big_input tests passing again on *nix. Also reorder apreq_params arguments to match OO pattern.
- Add apreq_error.h, apreq_module.h.
- Rename apreq_run* and apreq_make* funcs to conform with
apreq_$obj_$meth scheme.
- Replace c->version & c->secure with flags.
- Parsers are assumed to be working with external data, so the
cookies & params they produce are marked tainted.
s/apreq_env_/apreq_/g, and begin APR:: module layout.
Reorganize around include/, library/, and module/ dirs
Convert APREQ_RUN_PARSER and APREQ_RUN_HOOK to inline, and downcase them. Remove apreq_memmem. Convert apreq_(un)escape to inline. apreq_escape does not create an apreq_value_t*. Initialize default_parsers explicitly to NULL. Convert APREQ_BRIGADE_COPY to inline, and downcase it. Lowercase APREQ_BRIGADE_SETASIDE, APREQ_BRIGADE_COPY. Convert apreq_cookie_name and apreq_cookie_value macros to inline. Convert apreq_param_name, apreq_param_value, apreq_param_info, apreq_param_brigade to inline. Add apreq_initialize to allow thread-safe parser registration. Submitted by: Max Kellermann Reviewed by: joes
Widespread API refactorization to remove apreq_jar_t and apreq_request_t:
- Header includes reorganized; apreq_parsers.h added (back again).
- Replaced apreq_jar_t and apreq_request_t with single apreq_env_handle_t.
- Added const qualifier to "v" attribute of apreq_cookie_t and apreq_param_t.
- Use union type-puns to drop const qualifiers inside the new
apreq_value_to_cookie and apreq_value_to_param implementations
(gcc generates same object code as the macro versions did).
- Moved "flags" attribute from apreq_value_t to apreq_cookie_t and apreq_param_t.
- Remove env argument from hooks and parsers.
- Reduce apreq_env_module to minimal set of operations.
- Replace apreq_log calls with apreq-specific error codes.
- Hooks are called on each body param now, not just during file uploads.
- Tie the cgi handle to its creator pool.
Detailed changes by header file:
[apreq.h]
- Remove flags from apreq_value_t.
- Remove const qualifier from apreq_value_t's "name" attribute.
- Remove apreq_value_merge* and apreq_value_copy*.
- Remove apreq_char_to_value, apreq_strtoval, and apreq_strlen.
- Move apreq_enctype to apreq_env.h.
- Move apreq_env_handle_t struct definition to apreq_env.h
- Change signature of apreq_decode.
- Move apreq_brigade_concat here, changed its signature and improved it alot.
- Remove apreq_brigade_spoolfile.
- Dropped APREQ_*_ENCTYPE, renamed some APREQ_$foo defaults APREQ_DEFAULT_$foo.
- Added APREQ_ERROR_*.
[apreq_cookie.h]
- Remove apreq_env.h include.
- Remove apreq_jar_t.
- Add "flags" to apreq_cookie_t, add const qualifier to its "v" attr.
- Remove apreq_jar* functions.
- Add apreq_parse_cookie_header.
- Move apreq_cookie, apreq_cookie_bake(2), and
apreq_ua_cookie_version to apreq_env.h.
[apreq_params.h]
- Remove apreq_env.h include.
- Remove apreq_request_t.
- Add "flags" to apreq_param_t, and const qualifier to its "v" attr.
- Rename "bb" attribute "upload" in apreq_param_t.
- Remove apreq_request* functions.
- Remove apreq_parse_request.
- Changed apreq_decode_param signature.
- Replace env argument with apr_table_t in apreq_params_as_array,
apreq_params_as_string,
- Move remaining apreq_param* to apreq_env.h.
- Move parser and hook sections to apreq_parsers.h.
- Change apreq_upload(s) old apreq_request_t arg to apr_table_t.
[apreq_parsers.h]
- Acquire the hook and parser sections of original apreq_params.h.
- Remove env argument from APREQ_PARSER_ARGS and APREQ_HOOK_ARGS
- Augment apreq_hook_t and apreq_parser_t to replace missing env features.
- Change apreq_make_parser and apreq_make_hook signatures.
- Rename apreq_add_hook to apreq_parser_add_hook, returning apr_status_t.
- Change apreq_parser signature.
[apreq_env.h]
- Remove read, log, pool, bucket_alloc, request, jar, and query_string methods.
- Include apreq_parsers.h.
- Reorganize apreq_env_module_t to provide hook, parser, jar, args,
& body table ops.
- Rename max_brigade to "brigade_limit", max_body to "read_limit".
- Change related module sigs, including temp_dir, to get/set methods.
- Add parser and read_limit args to apreq_env_make_custom_handle.
- Drop "name" arg and APREQ_ENV_MODULE =~ s/_ENV//.
- s/apreq_env_make/apreq_handle/ in the handle constructor names.
[mod_apreq.c, apreq_env_apache2.h]
- Changed APREQ_Max* configs to APREQ_BrigadeLimit and APREQ_ReadLimit.
- Handle constructor renamed apreq_handle_apache2.
Introduce apreq_env_handle_t to replace the void *env usage.
Also added apreq_env_custom for making private handles, and new
apreq_env_apache2.h to let mod_apreq export apreq_env_make_apache2.
This patch represents part one of
http://marc.theaimsgroup.com/?l=apreq-dev&m=110667661730797&w=2
I added a few additional notes to STATUS and CHANGES.
Submitted by: Max Kellermann
Reviewed by: joes
Create multi-env branch.
property cleanup
glue/perl/t/apreq/cgi.t has same problem: headers are sent before cookies are baked. These problems were masked because of different io buffering mechanisms between apr_file_io and stdio. Both tests are reworked slightly to keep similar logic between them.
env/test_cgi.c would send the headers before tests 31,32 were able to bake their cookies.
Replace stdio with apr_file in cgi env.
Add missing include.
Reformatted STATUS file, removing dates. Removed struct apreq_cfg_t and added corresponding apreq_env hooks. Bumped version numbers (note- libapreq2.so.2.0.5 is not ABI compatible with earlier versions). This is a large patch, but all existing tests should still pass.
Update Apache License to 2.0 in all *.[ch] files.
Start 2.0.1 development with CGI as default module (embedded into libapreq2), and introduce new runtime API for setting up alternate environments. This should make it a bit easier to port libapreq to non-ELF platforms (eg. Win32). All current tests should still pass.
Make libapreq_cgi use a pool as the underlying env
Initialize value=NULL and change one GET_BODY to POST_BODY to get the cgi tests working on my RedHat 8 box.
add libapreq_cgi tests.
This form allows you to request diffs between any two revisions of this file. For each of the two "sides" of the diff, enter a numeric revision.
| apache@apache.org | ViewVC Help |
| Powered by ViewVC 1.1.2 |