Parent Directory
|
Revision Log
| Links to HEAD: | (view) (annotate) |
| Sticky Revision: |
soften up the cookie parser
clean up buggy apreq_hook_find_param().
gcc 4 doesn't like this cast, so use the address of the variable instead
Add missing initializer for custom module.
Fix leak associated to calling apreq_brigade_fwrite() on an upload brigade.
update to new licenese header per board resolution
Take2: account for signed vs unsigned comparison error on SunOS. also, bump the PATCH_LEVEL
o update versions 2.09 o add new STATUS/CHANGES entries o define APREQ_IS_DEV_VERSION
2.08 released.
stub code for apreq_cookies
silence -Wall warnings about unused variables
on to 2.08
2.07 to be released tomorrow.
apreq_parse_urlencoded() and apreq_parse_headers() can go quadratic in CPU because they reset their state on each invocation; they need to maintain state across invocations in order to remain O(n).
Its 2006 now bump the Copyright year
fix include/apreq_version.h:67: Warning: explicit link request to 'undef' could not be resolved
revert APREQ_PATCH_VERSION bump not needed
make use of the APREQ_DEFAULT_READ_LIMIT constant for the read_limit
divine charset in param parts, to maintain parity between multipart and urlencoded parser.
Add explicit cast in apreq_escape()/apreq_util.h to keep C++ compilers happy. Submitted by: Ville Skytta Reviewed by: joes
Protect against arbitrary recursion depth in apreq_parse_multipart() by adding a reasonable compile-time MAX_LEVEL limit.
Clean up end-of-file parsing for apreq_parse_multipart(), conforming to rfc-2046 5.1.1.
Fix off-by-one bug in the header parser wrt continuation lines.
Windows has a strange notion of "alphanumeric" for characters > 0x7f. Reported by: Nikolay Ananiev
Eliminate charset offsets from apreq_decode(v) return value.
Factor out the charset detection code from url_decode to apreq_charset_divine. It's much cleaner to do the charset heuristics after decoding the string (instead of doing it while decoding).
Scan the resultant url-decoded string for control chars, to ensure we always set the charset to cp1252 whenever they're present.
style cleanup: delete-trailing-whitespace
Make c++ compilers happy with explicit casts for apreq_param_charset_*.
Allow the multipart parser to handle more than two levels of depth in multipart parts. This should allow the parser to be usable for handling generic email messages (eg. mod_smtpd).
Bump patchlevel for hpux compiler fixes to util.c.
Fix apreq_decode(v) when iso-latin-1 chars appear at the end of an encoded string. Reported by: Marc Gracia
Bump patchlevel.
Prevent apreq_header_attribute from backtracking before the start of its hdr argument.
Bump library version to 2.1.0.
Swapping trunk with the multi-env branch, step 2.
++2004 in Copyrights.
- 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
Create multi-env branch.
apreq_upload and apreq_uploads did not search the full body table, because their internal apr_table_do callbacks were returning the wrong value. $upload->slurp and $io->read did not autovivify the resultant string. They both need to call SvSETMAGIC just prior to returning.
Add flags to apreq_value_t, planning for future charset support. This is an ABI change, starting with libapreq2.so.2.0.24.
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
Add apreq_register_parser(), which allows users to add their own parsers to apreq_parser()'s recognized MIME types. Also add some memory-management todos in STATUS
Add support for multipart/mixed file uploads.
Move context-stealing code from apreq_filter into apreq_filter_make_context. For it to work optimally on subrequests, we need to go back to setting req->parser as late as possible. More debugging logs added to ensure the tests exercise the context stealing code, and two new tests added to env/t/request.t (which may have line-ending problems on win32?) to fully exercise the context-stealing code. Unrelated to any of the above, this patch also drops USE_ITHREADS conditional from apreq_xs_tables.h, since that logic is already in ppport.h.
Add body_status attribute to apreq_request_t, to allow both the environment and the parser to report any errors encountered.
Fix cookie parser lockup on non-alnum chars appearing in name/attr component of the incoming Cookie header.
Drop APR_DELONCLOSE from apreq_file_mktemp implementation and install apreq_file_cleanup. When passed to apr_file_open on Win32, APR_DELONCLOSE sets the FILE_SHARED_DELETE flag, which is, unfortunately, a property that is preserved across NTFS "hard" links. This breaks apps that link() the temp file to a permanent location, and subsequently expect to open it without FILE_SHARED_DELETE before the original tempfile is closed+deleted. In fact, even Apache::Upload does this, so it is a common enough event that the apreq_file_cleanup workaround is necessary.
Add apreq_decodev to fix bug in url parser reported by Ken Burcham.
apreq_parse_request needs to return APR_ENOTIMPL when the enctype isn't recognized.
Restrict all apr_status_t codes to APR_SUCCESS, APR_INCOMPLETE, APR_EGENERAL, APR_EINIT, APR_ENOTIMPL, since any others will generate confusing error messages from apr_strerror.
Bump library patchlevel due to recent apreq_parser.c tweaks.
- 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.
Fully specify parser's behavior wrt input brigade. Parsers will never destroy it, and sometimes will not even clean it up completely (see comments on rejected buckets in apreq_params.h).
Eliminate APR_ADDTO macro, eliminate tempnam() dependency via apr_temp_dir_get, and enable gcc warnings when in maintainer-mode.
Version/mmn bump for today's ssl 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.
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.
64 bit needs to cast MAX_FILE_BUCKET_LENGTH to avoid << overflow. Also there was an off-by-one error in e->start when one file bucket was insufficient to hold the spooled brigade.
Recent cookie-expires fix requires a patchlevel version bump.
Drop deprecated APR_BRIGADE_FOREACH
Mainly doxygen fixes. Add prebuild docs/ directory to the release tarball. Also stop using library version numbers 2.X.Y where package versions are required 2.XX
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.
Add versioning changes to libapreq- 1) The shared library is now named libapreq2. 2) The header files get installed into their own subdirectory: apreq2. 3) Added a versioning API (apreq_version.[ch]) based on apr-util. 4) I also added an apreq2-config script based on apu-config.
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 |