Checkout Tools
  • last updated 7 hours ago
Constraints: committers
Constraints: files
Constraints: dates
Reorganize around include/, library/, and module/ dirs
  1. … 85 more files in changeset.

Fix the comment: we're dropping the value's

trailing '&' or ';', not the name's trailing '='

(which is where this comment was cribbed from).

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.


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

  1. … 15 more files in changeset.
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:


- 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_*.


- 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.


- 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,


- 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.


- 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.


- 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.

  1. … 33 more files in changeset.

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

I added a few additional notes to STATUS and CHANGES.

Submitted by: Max Kellermann

Reviewed by: joes

  1. … 28 more files in changeset.
New gcc warning flags and associated fixes.

Submitted by: Max Kellermann

Reviewed by: joes

  1. … 22 more files in changeset.