Parent Directory
|
Revision Log
| Links to HEAD: | (view) (annotate) |
| Sticky Revision: |
Merge r729586, r732504 from trunk: CGI: return 504 (Gateway timeout) rather than 500 when a script times out before returning status line/headers. PR 42190 Improve canned 504 error message in the light of r729586 and covener's comment. Submitted by: niq Reviewed/backported by: jim
merge from trunk (but preserve ap_get_server_version()):
*) The full server version information is now included in the error log at
startup as well as server status reports, irrespective of the setting
of the ServerTokens directive. ap_get_server_version() is now
deprecated, and is replaced by ap_get_server_banner() and
ap_get_server_description().
Reviewed by: rpluem, jim
update license header text
Revert r395231 from the 2.2.x branch. This gets us back to the old place with regard to the copyright statements.
Update the last year of copyright for the 2.2.x branch
Fix PR#38070 Avoid server-driven negotiation when a script has sent a Status: header.
No functional change: remove trailing whitespace. This also means that "blank" lines, which had consisted of just spaces and/or tabs are now truly blank lines
Recreate 2.2.x branch from trunk.
PR: 10775 Submitted by: Christian Schubert <mail apexo de> Reviewed by: niq
Update copyright year to 2005 and standardize on current copyright owner line.
general property cleanup
veto and revert win64 patch: 64bit changes must percolate from the bottom (APR/system) up -- we can't give the client a 64bit API and then cast it to 32bits internally without introducing security holes on other platforms.
WIN64: API changes to clean up Windows 64bit compile warnings
Remove deprecated APR_STATUS_IS_SUCCESS() macro in favor of direct test against APR_SUCCESS.
* server/util_script.c (ap_scan_script_header_err_core): Set Content-Range in r->headers_out, so that the byterange filter knows to do nothing for a CGI script which produced a content-range.
:set tabstop=8 :retab (no code changes)
fix name of The Apache Software Foundation
fix copyright dates according to the first check in
apply Apache License, Version 2.0
update license to 2004.
stop using apr_sockaddr_port_get() accessor function, as it will disappear from APR 1.0 API shortly
switch to APR 1.0 API (which is still in flux) because of the changes to the argument lists of apr_mmap_dup and apr_socket_create, 2.1-dev won't build with apr and apr-util's 0.9 branch anymore
Remember an authenticated user during internal redirects if the redirection target is not access protected and pass it to scripts using the REDIRECT_REMOTE_USER environment variable. PR: 10678, 11602.
finished that boring job: update license to 2003. Happy New Year! ;-))
*) SECURITY: [CAN-2002-0840] HTML-escape the address produced by
ap_server_signature() against this cross-site scripting
vulnerability exposed by the directive 'UseCanonicalName Off'.
Also HTML-escape the SERVER_NAME environment variable for CGI
and SSI requests. It's safe to escape as only the '<', '>',
and '&' characters are affected, which won't appear in a valid
hostname. Reported by Matthew Murphy <mattmurphy@kc.rr.com>.
[Brian Pane]
Use apr_ flavors of ischar()
stop using APLOG_NOERRNO in calls to ap_log_?error()
Added the APLOG_TOCLIENT flag to ap_log_rerror() to explicitly tell the server that warning messages should be sent to the client in addition to being recorded in the error log. Prior to this change, ap_log_rerror() always sent warning messages to the client. In one case, a faulty CGI script caused the server to send a warning message to the client that contained the full path to the CGI script. This could be considered a minor security exposure.
Handle CR/LF terminated lines from CGI scripts. Reviewed by: Brian Pane
Fix for a bug that I introduced when eliminating the single-byte reads in mod_cgi: eof wasn't treated as an error condition when reading the script headers, so we were delivering a 200 when a CGI script produced no output.
Changed mod_cgi to not do single-byte reads to consume the script headers
Commit 2 of 2 to: 1. rename ap_rset_content_type to ap_set_content_type 2. reverse the arguments to aligh with ap_set_content_length
Final commit to add ap_rset_content_type accessor. Add AddOutputFiltersbyType filters during call to ap_rset_content_type()
Update our copyright for this year.
Optimization: changed some apr_pstrndup calls to apr_pstrmemdup
optimize ap_add_common_vars() for the common case where r->subprocess_env is empty
minor performance fix for ap_add_common_vars(): replace printf with apr_itoa()
Begin to abstract out the underlying transport layer. The first step is to remove the socket from the conn_rec, the server now lives in a context that is passed to the core's input and output filters. This forces us to be very careful when adding calls that use the socket directly, because the socket isn't available in most locations.
This patch changes the apr_table_elts macro so that it provides access to the internals of an apr_table_t via a const pointer instead of the current non-const pointer. Submitted by: Brian Pane <BPane@pacbell.net> Reviewed by: Ian Holsman
Improve http2env's performance by cutting the work it has to do. Submitted by: Brian Pane <bpane@pacbell.net>
PATHEXT is a critial Win32 cmd.exe variable that declares _which_ extensions are given command-name status (such as .exe;.bat;.com;.cmd etc.)
This patch is insufficient (highlights an existing problem) for OS2 and Netware, especially, and any other platform with odd native requirements for the PATH_TRANSLATED variable (where it should look like a filesystem entity for non-unixish cgi's.)
Back out the 1.45 change to util_script.c. This change made us set the environment variable REQUEST_URI to the redirected URI, instead of the originally requested URI. PR: 7580 Submitted by: Taketo Kabe <kabe@sra-tohoku.co.jp>
Why two ifdef blocks? This is simpler to read
Change over to apr_strfsize() for apr_off_t file size formatting.
Another of the long term issues cleared up. BeOS can now run perl and other CGI's that rely on .so's for their operation.
use apr-util's apr_date_parse_http() instead of the to-be-removed ap_parseHTTPdate() (proxy needs to make similar changes) build changes forthcoming... Submitted by: Justin Erenkrantz
surprised -Wall does not complain, but ap_scan_script_header_err_core() should explicitly return an int
tweak ap_get_remote_host() so that the caller can find out if she got back an IP address mod_access needed to know this, but the old code didn't handle IPv6
Update copyright to 2001
Clean up some of the includes: - explicitly include apr_lib.h since ap_config.h doesn't - use apr_want.h where possible - use APR_HAVE_ where possible - remove some unneeded includes
renaming various functions for consistency sake see: http://apr.apache.org/~dougm/apr_rename.pl PR: Obtained from: Submitted by: Reviewed by:
Switch to the APR-provided APR_CHARSET_EBCDIC feature test macro.
Force all Apache functions to be linked into the executable, whether they are used or not. This uses the same mechanism that is used for APR and APR-util. This may not be the correct solution, but it works, and that is what I really care about. This also renames CHARSET_EBCDIC to AP_CHARSET_EBCDIC. This is for namespace correctness, but it also makes the exports script a bit easier.
Allow modules to specify the first module for a sub-request. This allows modules to not have to muck with the output_filter after it creates the sub-request. Without this change, modules that create a sub-request have to manually edit the output_filters, and therefore skip the sub-request output_filter. If they skip the sub-request output_filter, then we end up sending multiple EOS buckets to the core_output_filter.
updates to changed interfaces to apr_set_port(), apr_get_port(), apr_set_ipaddr(), and apr_get_ipaddr()
This adds the APR_LOCAL/APR_REMOTE to APR and changes the apr_get/set_port functions to use it. This is onyl the start and I'll pause a while before I continue in case people really hate this. The patch can be backed out and all evidence will be removed, but I think this makes maintaining/developing the code easier in the long term.
Start of moving to apr_port_t in the server code. This will probably the first of a few...
We have functions that allow us to get the ports from the sockets, so use them here.
Remove original_uri. This is the same as r->unparsed_uri Reviewed by: Roy Fielding and Tony Finch
Renamed all MODULE_EXPORT symbols to AP_MODULE_DECLARE and all symbols for CORE_EXPORT to AP_CORE_DECLARE (namespace protecting the wrapper) and retitled API_EXPORT as AP_DECLARE and APR_EXPORT as APR_DECLARE. All _VAR_ flavors changes to _DATA to be absolutely clear. Thank you Greg, for the most obvious suggestion.
These functions aren't used by any module, and they don't make any sense with the bucket design, so they need to go away.
Clean up some const-ness warnings in getsfunc_STRING().
Forward port 1.3 overhaul of isapi to 2.0.
Yes - it's blatently obvious that this should be 'bucketized', but the
sequence I will follow is:
*) compatibility of sources
*) extension to async + transmitfile emulated support
*) localization of ISAPI* directives to Directory, File blocks
*) addition of ISAPI caching
*) recode for buckets.
I'm actually looking forward to the mod_cgi bucketization as a model.
PR:
Obtained from:
Submitted by:
Reviewed by:
Fix some problems with the apr conversion so that APACHE_XLATE builds work again.
Remaining cleanup of ap_ -> apr_ and AP_ -> APR_ transformation... see src/lib/apr/apr_compat.h for most details. Also a few minor nits to get Win32 to build. PR: Obtained from: Submitted by: Reviewed by:
prefix libapr functions and types with apr_
Move all APR functions related to strings to their own directory, and create a new header for those functions. This is the first step to removing the apr/lib directory completely, and moving those files/functions to descriptive directories.
Remove a bunch of dead code from util_script.
Include strings.h for strcasecmp(), strncasecmp(), and bzero(). Include time.h for time(). This removes a bunch of compiler warnings with gcc -Wall on AIX. Submitted by: Jeff Trawick, Victor Orlikowski
Include the proper header file (under X/Open, at least) for ntohs() in a couple of modules. This lets us link-edit successfully again on OS/390. (OS/390 only has the macro form of these functions.)
Protect system header files with the appropriate macros.
Make a copy of getenv("PATH") before storing for later use. Some
getenv() implementations use the same storage for successive calls.
CGIs on OS/390 had a bad PATH due to this. (Believe it or not, ANSI
says getenv() can do this.)
Some similar getenv() usage was left alone as it was specific to a
certain platform, and I assume that getenv() doesn't have the "issue"
on those platforms.
util_ebcdic.h, util_ebcdic.c, http_core.c: tweak ap_checkconv() for 2.0 buff.c: fix typo in comment util_md5.h: change CHARSET_EBCDIC to APACHE_XLATE util_script.c: APR-ize some character set conversion (EBCDIC only)
[EBCDIC] Port Paul Gilmartin's CRLF patch from 1.3. This replaces most of the \015, \012, and \015\012 constants with macros. Submitted by: Greg Ames Reviewed by: Jeff Trawick
Change ap_context_t to ap_pool_t. This compiles, runs, and serves pages on Linux, but probably breaks somewhere.
Update to Apache Software License version 1.1
Bring forward my recent 1.3 patches.
Fix all the License issues. Including: s/Apache Group/Apache Software Foundation/ s/1999/2000/ s/Sascha's license/ASF license
Include ap_config.h before httpd.h, this ensures that AP_USE_HSREGEX is defined correctly in all C files.
Fix compile breaks on Windows.
Finish the commits for the change in the header files. Basically, this hides all of the Apache macros that modules don't need access to. This should have been committed with the modules, but I wasn't paying attention to the directory I was in when I ran the commit. Submitted by: Manoj Kasichainula and Ryan Bloom
time overhaul: - ap_time_t is a 64-bit scalar, microseconds since epoch - ap_exploded_time_t corresponds to struct tm with a few extras probably broken on anything except linux.
Get rid of ap_call_exec. It has been #if 0'ed out for a long time, and we never call it, so I'm taking it out all together now.
First step in getting Apache to use APR's time libraries. This gets a good number of them, but I think there are more time values still in the Apache code. This works under Linux, but has not been tested anywhere else.
Cleanup the ZZZ comments. Basically these used to mark places where APR is needed. It is much easier to do this conversion by hand than by searching for old comments, so they are going away now.
Add printf format for ssize_t.
Eliminate use of FILE * & ap_get_os_file() in mod_asis by APRizing ap_scan_script_header_err().
Undo the ap_bgets errno patch. It will return status with ap_berror().
An errnoless interface for ap_bgets
Size rigour.
Add a status value to ap_log_error and ap_log_rerror. This allows us to use apr_status codes in our error logs. The main advantage of this, is portable error codes. Now, Windows will finally be able to use errno!
Eliminate warning about create_argv_cmd being unused. Code's topology needs work.
ifdef ap_call_exec out but keep it around until we get mod_include updated to use the new APR proc API.
Fix typos
First patch to re-order function parameters. This one gets the low hanging fruit, and moves most of the result parameters to the first argument. Future patches in this series will move the rest of the result parameters to the beginning of the list, and will move the context's to the end of the list
Remove all of the calls to functions like "ap_popenf". These functions were moved down to APR, but they are being removed. They are not portable, and were only moved down for backwards compatability. With this change, they can be safely removed, which is the next commit on it's way. Submitted by: Ryan Bloom and Paul Reder
Changed pools to contexts. Tested with prefork and pthread mpm's. I'll check this out tomorrow and make sure everything was checked in correctly.
Reverse the unnecessary change to the interface of ap_parseHTTPdate() that was discovered while rebuilding the repository.
This evil little change modifies the interface to ap_parseHTTPdate() for no good reason. It'll be backed out real soon. Submitted by: pthreads leftovers
Replace all alarms and timeouts with a mutex on alloc. Replace file descriptors with APRFile. Add ap_is_aborted macro. Submitted by: Bill Stoddard, Dean Gaudet
Removed RLIMIT stuff, supposedly to be implemented later in mod_cgi. Disabled suexec, supposedly to be reimplemented later. Submitted by: Bill Stoddard, Dean Gaudet
Rearchitect the mess in http_main.c, http_core.c and buff.c. Basic restructuring to introduce the MPM concept; includes various changes to the module API... better described by docs/initial_blurb.txt. Created multiple process model (MPM) concept by ripping out the process guts from http_main.c and http_core.c and moving them to separate files under src/modules/mpm/ Moved socket creation stuff to listen.c. Moved connection open, maintenance and close to http_connection.c. I/O layering and BUFF revamp. Much of buff.c moved to ap_iol, iol_socket, and iol_file. See docs/buff.txt. Moved user and auth fields from connection_rec to request_rec. Removed RLIMIT stuff, supposedly to be implemented later in mod_cgi. Disabled suexec, supposedly to be reimplemented later. Submitted by: Dean Gaudet
Apache 1.3.9 baseline for the Apache 2.0 repository. Obtained from: Apache 1.3.9 (minus unused files), tag APACHE_1_3_9 Submitted by: Apache Group
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 |