Parent Directory
|
Revision Log
| Links to HEAD: | (view) (annotate) |
| Sticky Revision: |
typo in comments. nothing major
Add APREQ_DECLARE_EXPORT/APREQ_DECLARE_STATIC in the same way as APR declares so that dllexport/dllimport get correctly handled. Reviewed by: wrowe Submitted by: Mladen Turk <mturk@apache.org>
update to new licenese header per board resolution
Its 2006 now bump the Copyright year
fix the last doxygen warning thats in apreq code
fix include/apreq.h:56: Warning: Example include/apreq.h was already documented. Ignoring documentation found here. include/apreq.h:67: Warning: Example include/apreq.h was already documented. Ignoring documentation found here.
fix include/apreq.h:122: Warning: explicit link request to '_MASK' could not be resolved include/apreq.h:122: Warning: explicit link request to '_BIT' could not be resolved
Add some more doxygen docs approved: joes
style cleanup: delete-trailing-whitespace
Replace rwthread locks with apreq_pre_initialize() and apreq_post_initialize() functions.
Swapping trunk with the multi-env branch, step 2.
First crack at charset divination in apreq_decode, based
on Sam Ruby's "Survival guide to i18n":
http://intertwingly.net/stories/2004/04/14/i18n.html
This commit also incorporates Max Kellermann's patch
http://marc.theaimsgroup.com/?l=apreq-dev&m=111149291030597&w=2
which removes goto from apreq_decodev, and adds a test for that.
Leave a spot for iso-8859-1 charsets.
s/TAINT/TAINTED/g to be consistent (and better match perl's SvTAINTED flag).
++2004 in Copyrights.
Treat ASCII as the default charset.
Add utf8 charset flag for params.
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.
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.
s/apreq_parse_request/apreq_parse/ and add it to APR::Request. Also change apreq_xs_find_obj to return the reference to the desired SV object, instead of the object itself. Since we drop the reference into the mg_obj slot often, it's more useful to have a reference there instead of the raw object.
s/apreq_env_/apreq_/g, and begin APR:: module layout.
Reorganize around include/, library/, and module/ dirs
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
Rename apreq_env_t to apreq_env_module_t. joes adds a few notes describing the current status and goals for this (multi-env-unstable) branch. Submitted by: Max Kellermann Reviewed by: joes
Create multi-env branch.
Add apreq_env_bucket_alloc() to get an allocator directly from the environment instead of creating them from a pool. This is an ABI change, starting with libapreq2-2.0.23.
property cleanup
Replace stdio with apr_file in cgi env.
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.
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.
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.
Added apreq_env_magic_number to provide module versioning. Also renamed apreq_env to apreq_env_name. Updated modules, tests, and perl glue accordingly.
Phase out test_config.pl script. Rework prefetch code in mod_apreq.c and move apreq_brigade_copy function from apreq_params.c to apreq.c
License check: add/fix license year = 2003 for httpd-apreq-2
Define non-WIN32 apreq_env first, for ExtUtils::XSBuilder.
For Win32, change declaration of apreq_env so that it's imported from within libapreq and exported from mod_apreq/libapreq_cgi. This is needed to ensure proper inheritance for the perl glue modules.
Add build/doxygen.conf and build doxygen documentation in /docs via '% make docs'
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.
Remove unnecessary #include from apreq_env.h
Make apreq_request(ctx,NULL) semantics similar to apreq_jar(ctx,NULL).
more mod_apreq work.
Add template for mod_apreq.
core API (parser, env) cleanup.
Completing work on upload-hook API. Next phase is to get current /src to a compilable state.
apreq_env cleanups, etc.
Import apreq_params skeleton, along with some state management tweaks. Parsers are coming next.
Sweeping changes to implementation, just a few header tweaks tho.
Minor tweaks. Clean up table 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 |