1
0
mirror of https://github.com/apache/httpd.git synced 2025-11-06 16:49:32 +03:00
Commit Graph

368 Commits

Author SHA1 Message Date
Stefan Fritsch
3560f2e015 Turn static function get_server_name_for_url() into public function
ap_get_server_name_for_url() and use it where appropriate. This fixes
mod_rewrite generating invalid URLs for redirects to IPv6 literal addresses.


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@900022 13f79535-47bb-0310-9956-ffa450edef68
2010-01-16 20:32:09 +00:00
Rich Bowen
c4b0fa2f7d Adds a [QSD] flag to RewriteRule to discard unwanted query strings
without the old kludge of sticking a ? on the end of the target URI.


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@894383 13f79535-47bb-0310-9956-ffa450edef68
2009-12-29 13:34:24 +00:00
Jeff Trawick
2e9668a33d Replace AcceptMutex, LockFile, RewriteLock, SSLMutex, SSLStaplingMutex,
and WatchdogMutexPath with a single Mutex directive.  Add APIs to
simplify setup and user customization of APR proc and global mutexes.  
(See util_mutex.h.)  Build-time setting DEFAULT_LOCKFILE is no longer
respected; set DEFAULT_REL_RUNTIMEDIR instead.

Some existing modules, such as mod_ldap and mod_auth_digest gain 
configurability for their mutexes.


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@883540 13f79535-47bb-0310-9956-ffa450edef68
2009-11-23 23:17:51 +00:00
Graham Leggett
eded0f9d2d mod_rewrite: Make sure that a hostname:port isn't fully qualified if
the request is a CONNECT request.
Submitted by: Bill Zajac <billz consultla.com>


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@822004 13f79535-47bb-0310-9956-ffa450edef68
2009-10-05 20:56:48 +00:00
Brian Havard
60fbe11de1 Bring back OS/2 support.
Reverses r758929 with a little bit of conflict resolution.


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@807930 13f79535-47bb-0310-9956-ffa450edef68
2009-08-26 08:56:13 +00:00
Ruediger Pluem
d0f13e518c * Remove locking for writing to the rewritelog. There seems to be no reason
why locking is required here.
  See also: http://marc.info/?l=apache-httpd-dev&m=124282193217344&w=2

PR: 46942
Submitted by:  Dan Poirier <poirier pobox.com>
Reviewed by: rpluem


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@783734 13f79535-47bb-0310-9956-ffa450edef68
2009-06-11 12:19:44 +00:00
Takashi Sato
769b8833b8 Fix the error string returned by RewriteRule. RewriteRule returned "RewriteCond: bad flag delimiters" when the 3rd argument of RewriteRule was not started with "[" or not ended with "]".
PR: 45082
Submitted by: Vitaly Polonetsky <m_vitaly topixoft.com>


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@776325 13f79535-47bb-0310-9956-ffa450edef68
2009-05-19 14:24:31 +00:00
Jeff Trawick
ee32468a33 remove OS/2 platform support
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@758929 13f79535-47bb-0310-9956-ffa450edef68
2009-03-26 23:47:52 +00:00
Joe Orton
2e8c914840 * modules/mappers/mod_rewrite.c (apply_rewrite_rule): When evaluating
a proxy rule in directory context, do escape the filename by
  default, since mod_proxy will not escape in that case due to the
  (deliberate) fixup hook ordering.

Thanks to: rpluem
PR: 46428


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@757427 13f79535-47bb-0310-9956-ffa450edef68
2009-03-23 15:59:36 +00:00
Paul Querna
26e8e1c27f Add IPv6 variable to mod_rewrite.
Submitted by: Ryan Phillips <ryan-apache trolocsis.com>


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@737973 13f79535-47bb-0310-9956-ffa450edef68
2009-01-27 02:12:37 +00:00
Nick Kew
774d09ec23 Fix mod_rewrite "B" flag breakage by reverting r589343
PR#45529


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@730274 13f79535-47bb-0310-9956-ffa450edef68
2008-12-31 00:08:00 +00:00
André Malo
6da5f085da add mod_proxy_scgi, as announced a long time ago
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@729538 13f79535-47bb-0310-9956-ffa450edef68
2008-12-26 21:41:48 +00:00
Eric Covener
c23d3f839e axe r->path_info in a more standard way, suggested by Aleksander Budzynowski
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@728220 13f79535-47bb-0310-9956-ffa450edef68
2008-12-20 01:53:26 +00:00
Eric Covener
6710f37922 *) mod_rewrite: Introduce DiscardPathInfo|DPI flag to stop the troublesome
way that per-directory rewrites append the previous notion of PATH_INFO
    to each substitution before evaluating subsequent rules.
    PR38642 [Eric Covener]



git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@728015 13f79535-47bb-0310-9956-ffa450edef68
2008-12-19 12:59:52 +00:00
Paul Querna
f47b6f394e Import the core parts of the DTrace patch. This is a modified and updated
version of what was submited by Theo before:
 <http://mail-archives.apache.org/mod_mbox/httpd-dev/200805.mbox/%3C6AFBCFE8-4CCA-4A02-8A43-F9170689695D@omniti.com%3E>

Note, this does not hook it up into the build system at this time, because
the original patch was a little too creative there.

Submitted By: Theo Schlossnagle <jesus omniti.com>


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@723565 13f79535-47bb-0310-9956-ffa450edef68
2008-12-05 03:34:52 +00:00
Paul Querna
a73acf02f6 API Cleanup in preperation for 2.4.x, make sure all exported functions or variables contain an ap_ prefix.
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@722399 13f79535-47bb-0310-9956-ffa450edef68
2008-12-02 08:13:36 +00:00
Joe Orton
0be485f9f5 * modules/mappers/mod_rewrite.c (do_rewritelog): Add prototype with
printf attribute flagged so that gcc -Wformat-security will pick
  up PR 46110-type errors as a warning.


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@708655 13f79535-47bb-0310-9956-ffa450edef68
2008-10-28 20:11:43 +00:00
Ruediger Pluem
d67914065e * Supply the per-dir parameter to the rewritelog call where it is needed.
PR: 46110


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@708654 13f79535-47bb-0310-9956-ffa450edef68
2008-10-28 20:02:53 +00:00
Joe Orton
a1df46e986 * modules/mappers/mod_rewrite.c (cmd_rewritelock): Add missing
sentinel.


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@683284 13f79535-47bb-0310-9956-ffa450edef68
2008-08-06 14:47:04 +00:00
Jim Jagielski
72e89c84a7 picking nits - de-tab
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@682788 13f79535-47bb-0310-9956-ffa450edef68
2008-08-05 16:52:12 +00:00
Ruediger Pluem
3a61888c4b * Fix formating. No functional change.
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@670254 13f79535-47bb-0310-9956-ffa450edef68
2008-06-21 20:02:21 +00:00
Thomas J. Donovan
62febaa7fc correct r670061 - preserve query string with [noescape, proxy]
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@670198 13f79535-47bb-0310-9956-ffa450edef68
2008-06-21 13:48:45 +00:00
Thomas J. Donovan
70845bf8b9 After r649840, mod_proxy_http will no longer append a query string from r->args if "no-canon".
Moved the NOESCAPE test down after PATH_INFO, and preserve the query string in r->filename if  
NOESCAPE (which implies "no-canon")

Previously this was only done for CONNECT requests, where (r->uri == r->unparsed_uri)
see mod_proxy:proxy_detect



git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@670061 13f79535-47bb-0310-9956-ffa450edef68
2008-06-20 21:12:34 +00:00
Ruediger Pluem
cf66e3894d * Offer the possibility to create session cookies in the case a path is
given.


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@664333 13f79535-47bb-0310-9956-ffa450edef68
2008-06-07 12:50:04 +00:00
Ruediger Pluem
140715a336 * Allow HttpOnly, 1 and true to enable HttpOnly, allow secure, 1 and true
to enable secure.


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@664330 13f79535-47bb-0310-9956-ffa450edef68
2008-06-07 12:29:27 +00:00
Ruediger Pluem
c506a9d1a7 * Make setting of HttpOnly flag more explicit.
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@660566 13f79535-47bb-0310-9956-ffa450edef68
2008-05-27 15:49:30 +00:00
Ruediger Pluem
f8ca06dce0 * Handle the case that secure is NULL
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@660461 13f79535-47bb-0310-9956-ffa450edef68
2008-05-27 10:50:23 +00:00
Ruediger Pluem
93a75ba455 * Allow Cookie option to set secure and HttpOnly flags
PR: 44799
Submitted by: Christian Wenz <christian wenz.org>
Reviewed by: rpluem



git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@647395 13f79535-47bb-0310-9956-ffa450edef68
2008-04-12 08:44:36 +00:00
Ruediger Pluem
c998f6f688 * Initialize hash needed by ap_register_rewrite_mapfunc early enough.
PR: 44641
Submitted by: Daniel Lescohier <daniel.lescohier cnet.com>
Reviewed by: rpluem, niq, wrowe, jim


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@639465 13f79535-47bb-0310-9956-ffa450edef68
2008-03-20 21:26:22 +00:00
Ruediger Pluem
b18ee30e41 * Add checkfile2 at the end of the struct and not in the middle of the struct.
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@633791 13f79535-47bb-0310-9956-ffa450edef68
2008-03-05 08:53:16 +00:00
Niklas Edmundsson
ad47fb39d6 mod_rewrite: Check all files used by DBM maps for freshness, mod_rewrite
didn't pick up on updated sdbm maps due to this.
PR41190 [Niklas Edmundsson]

NOTE: Only tested on httpd-2.2.8.



git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@632730 13f79535-47bb-0310-9956-ffa450edef68
2008-03-02 09:58:56 +00:00
Nick Kew
8c1e306031 mod_rewrite: Don't canonicalise URLs with [P,NE]
PR 43319


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@611134 13f79535-47bb-0310-9956-ffa450edef68
2008-01-11 10:52:09 +00:00
Nick Kew
b2aeb20201 Update r573831 to avoid duplicating URL-escaping code.
Ref. http://www.mail-archive.com/dev@httpd.apache.org/msg38532.html


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@589343 13f79535-47bb-0310-9956-ffa450edef68
2007-10-28 12:44:19 +00:00
André Malo
89d41bc442 don't fall through this case. Just break.
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@575802 13f79535-47bb-0310-9956-ffa450edef68
2007-09-14 21:52:49 +00:00
Ruediger Pluem
ce9eaa96e8 * Add the novary flag to RewriteCond in order to prevent the appending
of HTTP headers used in a rewrite condition to the Vary header of
  the response.


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@574684 13f79535-47bb-0310-9956-ffa450edef68
2007-09-11 20:15:54 +00:00
Ruediger Pluem
23c66c1ca1 * Also set the Vary header if a rewrite condition is true and uses a HTTP
header, but all remaining rewrite conditions are skipped due to the [OR]
  flag.


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@574201 13f79535-47bb-0310-9956-ffa450edef68
2007-09-10 10:42:23 +00:00
Nick Kew
c94d03e6c5 Add option to escape backreferences in RewriteRule.
PR 34602  and  PR 39746
Patch by Guenther Gsenger


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@573831 13f79535-47bb-0310-9956-ffa450edef68
2007-09-08 12:46:10 +00:00
Nick Kew
e5061abc93 Multiple trivial fixes from Christophe JAILLET
PR 38699, 39518, 42005, 42006, 42007, 42008, 42009
The patches are all his, and are sufficiently trivial to review
at a glance.


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@557837 13f79535-47bb-0310-9956-ffa450edef68
2007-07-20 01:26:55 +00:00
Nick Kew
587fa063c4 Fix rewritemap/dbd bug pointed out by Davi Arnaut, and improve error reporting.
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@454732 13f79535-47bb-0310-9956-ffa450edef68
2006-10-10 13:15:07 +00:00
Nick Kew
c7fba09d23 Fix bugs pointed out by rpluem in rewritemap/dbd
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@454723 13f79535-47bb-0310-9956-ffa450edef68
2006-10-10 12:47:50 +00:00
Nick Kew
719b8f18bc Retrieve optional functions in time!
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@454687 13f79535-47bb-0310-9956-ffa450edef68
2006-10-10 10:37:37 +00:00
Nick Kew
0e9e39732f Add SQL Query capability to RewriteMap
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@454683 13f79535-47bb-0310-9956-ffa450edef68
2006-10-10 10:33:06 +00:00
Jeff Trawick
743a621e8d Replace ap_get_server_version with ap_get_server_banner() and
ap_get_server_description().

High-level summary:

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.

Third-party modules must now use ap_get_server_banner() or 
ap_get_server_description() in place of ap_get_server_version().



git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@440337 13f79535-47bb-0310-9956-ffa450edef68
2006-09-05 13:08:15 +00:00
Mark J. Cox
862dd4e3e7 SECURITY: CVE-2006-3747 (cve.mitre.org)
mod_rewrite: Fix an off-by-one security problem in the ldap scheme
handling.  For some RewriteRules this could lead to a pointer being
written out of bounds.  Reported by Mark Dowd of McAfee.

Ack: trawick, lars, jorton, wrowe, benl



git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@426138 13f79535-47bb-0310-9956-ffa450edef68
2006-07-27 17:03:34 +00:00
Roy T. Fielding
de659cbed0 update license header text
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@420983 13f79535-47bb-0310-9956-ffa450edef68
2006-07-11 20:33:53 +00:00
Garrett Rooney
1681b32d06 Add support for fcgi:// proxies to mod_rewrite.
Submitted by: Markus Schiegl <ms schiegl.com>

* modules/mappers/mod_rewrite.c
  (is_absolute_uri): Recognize fcgi:// urls.

* CHANGES: Note change.


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@405625 13f79535-47bb-0310-9956-ffa450edef68
2006-05-10 04:16:57 +00:00
Colm MacCarthaigh
dd95d7c37c Update the copyright year in all .c, .h and .xml files
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@395228 13f79535-47bb-0310-9956-ffa450edef68
2006-04-19 12:11:27 +00:00
Jim Jagielski
5061d9fa92 No functional Change: Removing trailing whitespace. This also
means that "blank" lines consisting of just spaces or
tabs are now really blank lines


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@332306 13f79535-47bb-0310-9956-ffa450edef68
2005-11-10 15:11:44 +00:00
Greg Ames
0aee87d2ee lookup_map_txtfile: used buffered i/o rather than reading RewriteMap txt: files
one byte at a time. 

I was horrified to see a dump of a server with hundreds of worker threads in 
read() syscalls,  all trying to read a 149k RewriteMap file simultaneously.  
each thread finds one key, inserts it into the cache, then the rest of the 
information is discarded.  there are further improvements which could be made but 
let's try the simplest first.



git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@161354 13f79535-47bb-0310-9956-ffa450edef68
2005-04-14 21:26:01 +00:00
Joe Orton
a0570c8746 Move the POSIX reg* implementations into the ap_* namespace;
internalise the ap_reg*<->PCRE wrapper:

* configure.in: Add srclib/pcre to the include path.

* include/ap_regex.h: Renamed from include/pcreposix.h.  Prefix all
constants with AP_; prefix all functions and types with ap_.  Define
AP_DECLARE to nothing if necessary.  Remove regcomp error codes.

* include/httpd.h: Include ap_regex.h not pcreposix.h.
(ap_pregcomp, ap_regexec, ap_regfree): s/regex_t/ap_regex_t/.
(ap_regexec, ap_regerror): Prototypes moved to ap_regex.h.

* server/util.c (regex_cleanup, ap_pregcomp, ap_pregsub, ap_pregfree):
Adjust for ap_ prefixed types.  (ap_regexec, ap_regerror): Removed.

* server/Makefile.in: Build util_pcre.c.

* server/util_pcre.c: Copied from srclib/pcre/pcreposix.c; remove use
of PCRE-internals to do error mapping; rename types to add AP_/ap_
prefixes as above.  Use APR includes.  (ap_regerror): Use apr_snprintf.

* srclib/pcre/Makefile.in: Don't build pcreposix.c into libpcre.la.

* modules/*: Update to use new type and constant names.

PR: 27750 (part one)
Submitted by: Andres Salomon <dilinger voxel.net>, Joe Orton


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@153384 13f79535-47bb-0310-9956-ffa450edef68
2005-02-11 12:00:41 +00:00