Commit Graph

96 Commits

Author SHA1 Message Date
4442201e61 *) core/mod_http/mod_http2:
- adds new meta bucket types REQUEST, RESPONSE and HEADERS to the API.
     - adds a new method for setting standard response headers Date and Server
     - adds helper methods for formatting parts of HTTP/1.x, like headers and 
       end chunks for use in non-core parts of the server, e.g. mod_proxy
     - splits the HTTP_IN filter into a "generic HTTP" and "specific HTTP/1.x" 
       filter. The latter one named HTTP1_BODY_IN.
     - Uses HTTP1_BODY_IN only for requests with HTTP version <= 1.1
     - Removes the chunked input simulation from mod_http2
     - adds body_indeterminate flag to request_rec that indicates that a request 
       body may be present and needs to be read/discarded. This replaces logic 
       that thinks without Content-Length and Transfer-Encoding, no request 
       body can exist.



git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1899547 13f79535-47bb-0310-9956-ffa450edef68
2022-04-04 08:24:09 +00:00
587d170151 *) core: provide ap_ssl_* functions in new http_ssl.h header file.
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1888083 13f79535-47bb-0310-9956-ffa450edef68
2021-03-26 11:27:34 +00:00
7711d39400 Avoid cyclic dependency by moving ap_set_etag() from module http to core.
This function, along with ap_make_etag(), is used by the default_handler in
core.c, and in several modules other than builtin mod_http, breaking static
linking and httpdunit tests build.

The move is done by "svn move modules/http/http_etag.c server/util_etag.c".
MMN major bumped, not backportable (as is) to 2.4.x.



git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1833083 13f79535-47bb-0310-9956-ffa450edef68
2018-06-06 21:04:21 +00:00
4f3fc84c90 fix copy & paste error, util_cookies.h is in include not server.
add util_config.c now needed per steffenal.
http://mail-archives.apache.org/mod_mbox/httpd-dev/201801.mbox/%3C4C412873-869D-4A0C-89E6-397706EFA1F7@apachelounge.com%3E


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1821195 13f79535-47bb-0310-9956-ffa450edef68
2018-01-15 19:08:01 +00:00
8f3558bf2d Add util_fcgi.h and associated definitions and support
routines for FastCGI, based largely on mod_proxy_fcgi.


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1513454 13f79535-47bb-0310-9956-ffa450edef68
2013-08-13 12:16:39 +00:00
85ede3306c Inform MSVC compiler there is a Lexical target so the compiler is
not confused which causes it to absorb some properties of the Lexical 
target into the Debug target.


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1486490 13f79535-47bb-0310-9956-ffa450edef68
2013-05-26 23:23:14 +00:00
5930da73cc add util.regex.c to MPM, had been unneeded untill r1200055
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1205568 13f79535-47bb-0310-9956-ffa450edef68
2011-11-23 20:33:25 +00:00
84a104bb22 Add ap_varbuf API for resizable buffers.
Increase length limit of lines in the configuration file to 16MB.
Increase length limit of lines in the group file to 16MB.

PR: 45888, 50824, 43084

Windows and Netware build changes are untested.


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1157354 13f79535-47bb-0310-9956-ffa450edef68
2011-08-13 09:06:35 +00:00
aac248d333 Pick up Jeff's layout refactoring on win32.
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1086282 13f79535-47bb-0310-9956-ffa450edef68
2011-03-28 15:46:08 +00:00
51e3537562 mpm_default.h is just a convenience for a specific MPM with 2.3+;
it isn't installed

(this is the only definition at present for DEFAULT_REL_RUNTIMEDIR
on Windows, but that needs to be solved separately)


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1085947 13f79535-47bb-0310-9956-ffa450edef68
2011-03-27 14:48:07 +00:00
cf0e2c3a46 Fix some Windows build issues
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1039204 13f79535-47bb-0310-9956-ffa450edef68
2010-11-25 22:27:17 +00:00
7ed0d794dd The path is likely changing, in the meantime restore win32 build to success
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@774048 13f79535-47bb-0310-9956-ffa450edef68
2009-05-12 19:48:16 +00:00
bc8cdc7896 Here's the simpler solution to the two groups of mappers/ modules...
The mod_so and mod_watchdog are truly not mappers/ at all.  Very open
to better names than modules/core/ but these are clearly API's which
are to be consumed by the httpd core, or generically, any module.


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@772848 13f79535-47bb-0310-9956-ffa450edef68
2009-05-08 05:46:28 +00:00
7861cb5d18 MPM's are now dynamically loadable; so must mod_watchdog be.
The only module with an excuse now is mod_so which implements
LoadModule itself.

git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@771579 13f79535-47bb-0310-9956-ffa450edef68
2009-05-05 06:23:29 +00:00
029b3eaa31 drop mpm.h
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@758369 13f79535-47bb-0310-9956-ffa450edef68
2009-03-25 17:58:59 +00:00
352af5ff8a Add watchdog module to win32 build.
Since it can only operate as static module reference it inside modules.c

git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@745172 13f79535-47bb-0310-9956-ffa450edef68
2009-02-17 17:51:17 +00:00
25f0dfdb68 httpd 2.x is further modular; presume pcre is yet another .dll
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@728772 13f79535-47bb-0310-9956-ffa450edef68
2008-12-22 21:01:20 +00:00
fec4db0b6d mod_core.h is moved
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@664241 13f79535-47bb-0310-9956-ffa450edef68
2008-06-07 02:10:51 +00:00
455e5dba2c add util_cookies
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@664214 13f79535-47bb-0310-9956-ffa450edef68
2008-06-07 00:42:35 +00:00
8f6e6a9726 Introduce ap_expr expression parser API
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@642558 13f79535-47bb-0310-9956-ffa450edef68
2008-03-29 17:13:28 +00:00
aac7c9387c Add util_mutex, although it's not used much by windows since
we generally only support 'default', the proven event model
for windows.

git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@568796 13f79535-47bb-0310-9956-ffa450edef68
2007-08-23 01:30:46 +00:00
8f0b685c06 Make buildmark.c compilation consistent, especially for VC8
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@495544 13f79535-47bb-0310-9956-ffa450edef68
2007-01-12 10:53:22 +00:00
1fc3b01590 Embed the .manifest files of all httpd binaries as a post-build
operation.  This ensures the exported (Studio 97 generated) .mak
files create a usable Apache directly from the VC 8 (Studio 2005)
command line environment.



git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@495126 13f79535-47bb-0310-9956-ffa450edef68
2007-01-11 05:37:20 +00:00
6df9b82d20 Revert Revision 397647
While it solves the studio 2005 (we desire this), it breaks
the studio 6 packaging (we require this).  Discussion on list
of practical solutions.

git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@419644 13f79535-47bb-0310-9956-ffa450edef68
2006-07-06 18:36:23 +00:00
b2820e8da8 This resource /D syntax was pretty horridly imported into VS 2005,
change the quotation to ensure a peaceful transition to sln/vcproj files.

git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@397647 13f79535-47bb-0310-9956-ffa450edef68
2006-04-27 21:41:29 +00:00
f65c47bd75 Remove all /machine:I386 references, these are getting in the way
of switching linkers from the x86 (default linker) to x64 or other
  possible target platforms.  (Also, this commit cleans up lingering
  /GX switches from the 'BASE' options that are supposed to be unused).

git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@397407 13f79535-47bb-0310-9956-ffa450edef68
2006-04-27 05:30:39 +00:00
663687ae8e s|/GX |/EHsc | because they were always synonyms, and Visual Studio
2005 edition complains bitterly and loudly that /GX is deprecated.

git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@395419 13f79535-47bb-0310-9956-ffa450edef68
2006-04-19 22:51:02 +00:00
862d0e231e Remove a host of dependencies upon awk, using the same template for
nearly every .rc compilation (giving the output .res file a different
  name for each component).  Adds AP_SERVER_BASEPROJECT to ap_revision.h
  so we can display the proper name of "Apache HTTP Server" as opposed
  to AP_SERVER_BASEPRODUCT (which is, and should remain, simply "Apache"
  for the server string tokens.)



git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@395418 13f79535-47bb-0310-9956-ffa450edef68
2006-04-19 22:47:49 +00:00
b773db2f0e Add our new eor_bucket.c module to libhttpd
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@357612 13f79535-47bb-0310-9956-ffa450edef68
2005-12-19 02:08:38 +00:00
20d06d7a06 Reintroduce stack frame construction with /Oy- (removal was implied by /O2).
This makes binaries far easier to debug, during operation and for post-crash
  .dmp analysis.  Do not alter /Gs optimizations per brane.

Reviewed by: stoddard, brane

git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@170253 13f79535-47bb-0310-9956-ffa450edef68
2005-05-15 19:11:57 +00:00
f48468c68b Add /D PCRE_STATIC to solve an 'exported symbol imported' bug.
We build pcre static, and do not intent to export pcre_* namespace,
  but rather our ap_pcre_* wrappers.


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@157949 13f79535-47bb-0310-9956-ffa450edef68
2005-03-17 17:52:03 +00:00
e681eb22c8 Get httpd-2.1 building once again on win32.
NEVER NEVER screw around with redeclaring AP_ macros and constants.
  If the compiler won't pick them up, e.g., AP_DECLARE, ya've done 
  something wrong from the start.

  All httpd/ap headers depend on httpd.h - plain and simple, so this
  un-convolutes the unusual order here.

  STATIC has become PCRE_STATIC, along with some other odd definitions.
  The only remaining emit is that _pcre_free export is imported, which
  implies something is unusual with the declaration.  Still researching.


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@154207 13f79535-47bb-0310-9956-ffa450edef68
2005-02-17 23:45:16 +00:00
439221058c Initial pass at refactoring some files to eliminate our 150K C source behemoths.
* Makefile.in: Change order of dependencies to bring in exports.o first so that
  we have every symbol 'used' before the linker starts processing.
* build/rules.mk.in: Add a 'program-install' target which just copies httpd.

* server/Makefile.in, modules/http/config2.m4: Add in new file targets.

* NWGNUmakefile, libhttpd.dsp: Blind updates for Netware and Win32.  (I tried.)

* server/core.c: Move core_input_filter, net_time_filter, and core_output_filter  and all supporting functions to...
* server/core_filters.c (copied): ...here.

* modules/http/http_protocol.c: Move functions from here to there...namely:
* modules/http/byterange_filter.c (copied): Relocate ap_byterange_filter() and
  friends.
* modules/http/chunk_filter.c (copied): Relocate chunk_filter().
* modules/http/http_etag.c (copied): Relocate ap_set_etag and ap_make_etag().
* modules/http/http_filters.c (copied): Relocate ap_http_filter(),
  ap_http_header_filter(), ap_discard_request_body(), ap_setup_client_block(),
  ap_should_client_block(), and ap_get_client_block().


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@106692 13f79535-47bb-0310-9956-ffa450edef68
2004-11-27 08:07:44 +00:00
7accf16eed Nobody objected:
<IfModule> now takes the module identifier in addition to the
filename.

CAUTION: this commit breaks the build on netware. It still needs
to be adjusted. (but I don't have any netware knowledge...)
Also, developers need to re-run buildconf on unices.

PR: 29003
Submitted by: Edward Rudd <eddie omegaware.com>, Andr� Malo


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@103849 13f79535-47bb-0310-9956-ffa450edef68
2004-06-04 22:40:47 +00:00
c9788a00d7 Revert a change to the link flags that were accidentally committed.
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@102864 13f79535-47bb-0310-9956-ffa450edef68
2004-03-05 18:52:01 +00:00
4f210746aa add eoc_bucket.c to project
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@102834 13f79535-47bb-0310-9956-ffa450edef68
2004-03-01 17:49:52 +00:00
281948b722 After discussions at length on dev@apr/httpd, it is determined that
the older .dbg format symbols are not worth the interference with
  generating complete .pdb symbolic debugging databases.

  This patch further eliminates pdbtype:sept flags that interfere with
  deciphering local symbols and type information.


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@98970 13f79535-47bb-0310-9956-ffa450edef68
2003-03-11 00:58:59 +00:00
5735ea2fdf revert my recent patch. util_debug is no longer needed :)
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@98929 13f79535-47bb-0310-9956-ffa450edef68
2003-03-07 19:49:19 +00:00
a17233ec71 *gna* get/set_module_config are now defined in util_debug.c. We have
to link against it.


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@98914 13f79535-47bb-0310-9956-ffa450edef68
2003-03-07 00:53:48 +00:00
25ac108fe2 After consultations on the APR list, it was decided that /map files are
fairly redundant when you retain rich .pdb debugging symbol files.  We
  have rarely used them, and generally .dbg and .pdb files prove much more
  useful for the cases we have.

  While eliminating /map files, we are also shrinking the size of the .dbg
  files by stripping 'private' symbol information.  Really this means less
  rich diagnostics from Dr. Watson on NT or Win9x when they query the .dbg
  symbols in creating a DrWatson log file.  But it's more than compensated
  for on newer OS'es where Dr. Watson will query the .pdb symbols, on all
  Win32 flavors when WinDbg is used with the .pdb symbols, and the fact that
  the distribution of binary symbols will use less bandwidth when less
  information is duplicated from the .pdb format into the .dbg files.


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@98743 13f79535-47bb-0310-9956-ffa450edef68
2003-02-20 15:56:04 +00:00
e8c0a9532f foo.dbgmark turned out to be the same 8.3 name as foo.dbg itself, which
was badness.  Twist this puppy to .dbr, the only name I could invent that
  doesn't look like any database file extension I recall.

  It stands for .dbg rebased.


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@98712 13f79535-47bb-0310-9956-ffa450edef68
2003-02-18 22:07:21 +00:00
a45632ba37 *) Introduce debugging symbols for Win32 release builds, both .pdb
and .dbg files (older debuggers and Dr. Watson-type utilities
     on WinNT or Win9x don't support the newer .pdb flavor.)
     [Allen Edwards, William Rowe]


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@98596 13f79535-47bb-0310-9956-ffa450edef68
2003-02-07 21:30:53 +00:00
e0469ba7d0 Sort targets (no effective change) - this reduces the cvs diff when
modifing the project file from the IDE.


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@98587 13f79535-47bb-0310-9956-ffa450edef68
2003-02-06 19:21:12 +00:00
89d2be9245 Integrate mod_ident with the Win32 build.
Submitted by David Shane Holden <dpejesh@yahoo.com>


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@98386 13f79535-47bb-0310-9956-ffa450edef68
2003-01-20 21:38:50 +00:00
4fa511075a Update libhttpd.dll filenames to reflect the .dll extension for the
newest apr/build/win32ver.awk script changes.  Submitted by Mladen Turk.


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@98378 13f79535-47bb-0310-9956-ffa450edef68
2003-01-20 18:57:03 +00:00
797f3afa2b Fix up Win32 build.
Submitted by:	Sebastian Bergmann <lists@sebastian-bergmann.de>
Reviewed by:	Justin Erenkrantz (not really, but...)


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@96924 13f79535-47bb-0310-9956-ffa450edef68
2002-09-20 06:06:41 +00:00
d1bf15268a Refactor out the child behavior from mpm_winnt. This is the first
step in making a legible multiprocess windows mpm, or at least
  structuring the code to always begin a new child as an old one is
  going to die soon, rather than waiting for it's final dying breath.

  The only code that had to be affected [due to the split and general
  structure of the code] was merging the set_listeners_noninherited()
  code directly into the get_listeners_from_parent code, and also into
  the apr socket.c code for winnt.  For the most part the code splits
  rather nicely.


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@96221 13f79535-47bb-0310-9956-ffa450edef68
2002-07-29 05:06:20 +00:00
b7d7f2fc07 Reorganize a bit for legibility.
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@96110 13f79535-47bb-0310-9956-ffa450edef68
2002-07-18 06:39:06 +00:00
709d68c58f And the other one...
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@96050 13f79535-47bb-0310-9956-ffa450edef68
2002-07-13 06:33:13 +00:00
795ae43468 $(IntDir) doesn't go back to VC5
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@96049 13f79535-47bb-0310-9956-ffa450edef68
2002-07-13 06:31:17 +00:00