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
Swapping trunk with the multi-env branch, step 2.
s/TAINT/TAINTED/g to be consistent (and better match perl's SvTAINTED flag).
Remove experimental apreq_*_size functions. Submitted by: Max Kellermann Reviewed by: joes
API documentation updates. Submitted by: Max Kellermann Reviewed by: joes
++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.
Drop trailing whitespace.
Make apreq_cookie_attr() static. It doesn't belong in our API, since we don't have to coordinate the version and expires attributes anymore (they're flags now).
Move apreq_status_is_error to apreq_module_status_is_error, since that's all it represents. Also drop apreq_*_(name|value) inlines; apreq_value_t needs to remain a public struct. Improved error codes in apreq_error.h, added new tests for apreq_strerrror. Also includes whitespace cleanups for function declarations; started work to bring doxygen docs back in sync. The APR::Request:: perl glue is taking shape. The basic idea is to directly map apreq_module.h to APR::Request, and map the remaining apreq_foo.h to APR::Request::Foo. Removed deprecated apreq_expires, apreq_make_*. Renamed apreq_run_$foo apreq_$foo_run. Dropped const qualifier from apreq_join's return value.
- 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.
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
- Perl API [joes] Added $jar->status, $req->args_status and $req->body_status to report parsing errors. - C API [joes] Dropped status attribute of apreq_value_t. Added status field to apreq_jar_t and added args_status field to apreq_request_t. Parsers also must return their public status code when a NULL brigade is passed.
Large-scale doxygen cleanups: add src/groups.dox.in to move doxygen formatting instructions out of the header files. Document the new directives for mod_apreq, and have doxygen build manpages. The manpages are currently unsuitable for installed documentation.
Namespace-protect remaining globals (mainly enums), and start a series of doxygen fixes.
Objectify cookie API.
apreq_run_(hook|parser) are macros, so they are capitalized now. Fixed apreq_params_as_string() and added apreq_params_as_array(). Reworked definitions of APREQ_DECLARE_HOOK, APREQ_DECLARE_PARSER and apreq_(parser|hook)_t, hopefully to be more Win32 friendly. Also updated the documentation.
Update Apache License to 2.0 in all *.[ch] files.
Eliminate apr_table_nelts macro
Eliminate codependency between cookie->version and cookie->time by using max_age to store the cookie's lifetime.
License check: add/fix license year = 2003 for httpd-apreq-2
Reviewed by: joes move definitions of apreq_cookie and apreq_add_cookie from apreq_cookie.h to the declarations in apreq_cookie.c, for the benefit of Win32.
Lots of doxygen updates. Preliminary changes to prefetch code in mod_apreq.c, and some XS fixes to allow constructors to derive their classname from the caller.
Add build/doxygen.conf and build doxygen documentation in /docs via '% make docs'
Drop version argument from make_cookie.
s/apreq_tables/apr_tables/g, phase 1: Update core to only use apr_tables, but (for now) still build apreq_tables into libapreq.so
Major improvements to the apreq_parser API and mod_apreq filter.
Structural changes to the core:
APREQ_ENV is gone.
struct apreq_hook_t added (similar API to httpd's filter stack),
struct apreq_parser_t simplified,
struct apreq_request_t modified to hold config data (as in libapreq-1).
"passive-aggressive" parsing code added to apreq_param() (similar
to libapreq-1, but slightly less agressive :-).
Feature additions to mod_apreq.c:
Filter supports prefetch reads.
Filter should DTRT for subrequests & internal redirects.
Also cleaned up libapreq_cgi.c a little bit.
Make cookie API more like the param API.
Polish table iterator API.
core API (parser, env) cleanup.
apreq_env cleanups, etc.
C != C++
Symmetrize the APIs for cookies & params.
Import apreq_params skeleton, along with some state management tweaks. Parsers are coming next.
Sweeping changes to implementation, just a few header tweaks tho.
Clean up cookie API docs.
Import rough cookie API.
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 |