1
0
mirror of https://github.com/apache/httpd.git synced 2026-01-13 21:42:17 +03:00
Commit Graph

1715 Commits

Author SHA1 Message Date
Eric Covener
fba67798ed PR56333: Add an API to resume a connection that a handler has previously suspended.
Submitted by: Artem <artemciy gmail.com>, Edward Lu <Chaosed0 gmail.com>
Committed by: covener


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1593860 13f79535-47bb-0310-9956-ffa450edef68
2014-05-11 20:52:32 +00:00
Eric Covener
d758951456 Extend the socket callbacks in event to allow a timeout on the I/O callback.
When a socket callback has a timeout, an associated timer event is used to 
remove the sockets from the pollset and call a timeout function.

* This includes a noteworthy change to the main event loop. Previously,
we would call epoll, then process the timer events, then iterate through the
poll results. After this patch, the timer events are processed before the poll()
a _non-queued_ action can change the pollset conents (a users timed callback
function conversely could easily sit in a queue while the main thread continues
down into epoll)

* timer events can now have sockets associated with them, those sockets are 
removed from the pollset when the timer event fires w/o a queue to the worker.

* timer events now have a canceled flag that can be toggled without locking
the timer list. 

* Drop the severity of some wstunnel messages from DEBUG to TRACE1

* Lift the restriction on using asynchronous websockets connections but having
an idle timeout



git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1593857 13f79535-47bb-0310-9956-ffa450edef68
2014-05-11 20:41:45 +00:00
Christophe Jaillet
075cd89e14 Follow up to r1384924 .
Update comment and allocate one extra byte to be safe, even if not needed in the particular case described in r1384924.

git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1589599 13f79535-47bb-0310-9956-ffa450edef68
2014-04-24 06:29:28 +00:00
Jeff Trawick
94df4f46c0 tiny doc/Doxygen improvements
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1588217 13f79535-47bb-0310-9956-ffa450edef68
2014-04-17 11:28:24 +00:00
Jeff Trawick
f82af68aa4 mod_ssl: Add hooks to allow other modules to perform processing at
several stages of initialization and connection handling.  See
mod_ssl_openssl.h.

This is enough to allow implementation of Certificate Transparency
outside of mod_ssl.


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1587607 13f79535-47bb-0310-9956-ffa450edef68
2014-04-15 15:25:03 +00:00
Jeff Trawick
5512fa1b86 mod_proxy_http: Add detach_backend hook.
The immediate use is for a SSL-related module which works
on the backend proxy connection to be able to "leak" information
into the client r for logging.

This could be useful with other proxy scheme handlers.


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1586719 13f79535-47bb-0310-9956-ffa450edef68
2014-04-11 17:07:18 +00:00
Yann Ylavic
6a9b7697e5 Follows up r1572606.
MMN minor bump required by proxy_conn_rec change.


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1572611 13f79535-47bb-0310-9956-ffa450edef68
2014-02-27 15:06:23 +00:00
Jim Jagielski
b122567955 Add in the concept of "slave" connections...
Allows for several "connections" all resulting in
a single real connection that talks to the network.
Right now, nothing uses this though.

git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1565657 13f79535-47bb-0310-9956-ffa450edef68
2014-02-07 13:54:38 +00:00
Jeff Trawick
3508158873 doxygen improvements
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1560482 13f79535-47bb-0310-9956-ffa450edef68
2014-01-22 19:15:14 +00:00
Eric Covener
99ca42198f followups to r1557641 suggested by nd -- add
prefix to both the macro and the handler name 
itself.



git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1559394 13f79535-47bb-0310-9956-ffa450edef68
2014-01-18 19:14:14 +00:00
Eric Covener
6d582e83aa don't search for directory indexes/directoryslashes if a URL is in the
middle of being rewritten [in per-dir context]. PR53929


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1557641 13f79535-47bb-0310-9956-ffa450edef68
2014-01-13 01:51:58 +00:00
Graham Leggett
4fecd089c4 Add a "MATCH_" prefix to variables set within
LocationMatch/DirectoryMatch/FilesMatch.


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1555266 13f79535-47bb-0310-9956-ffa450edef68
2014-01-03 22:26:55 +00:00
Rich Bowen
b0167798e8 Oops, missed one. s/2013/2014/
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1554862 13f79535-47bb-0310-9956-ffa450edef68
2014-01-02 18:04:26 +00:00
Justin Erenkrantz
93143eb07b Add directives to control two protocol options:
HttpContentLengthHeadZero - allow Content-Length of 0 to be returned on HEAD
 HttpExpectStrict - allow admin to control whether we must see "100-continue"

This is helpful when using Ceph's radosgw and httpd.

Inspired by: Yehuda Sadeh <yehuda@inktank.com>
See https://github.com/ceph/apache2/commits/precise

* include/http_core.h
  (core_server_config): Add http_cl_head_zero and http_expect_strict fields.
* modules/http/http_filters.c
  (ap_http_header_filter): Only clear out the C-L if http_cl_head_zero is not
  explictly set.
* server/core.c
  (merge_core_server_configs): Add new fields.
  (set_cl_head_zero, set_expect_strict): New config helpers.
  (HttpContentLengthHeadZero, HttpExpectStrict): Declare new directives.
* server/protocol.c
  (ap_read_request): Allow http_expect_strict to control if we return 417.
* include/ap_mmn.h
  (MODULE_MAGIC_NUMBER_MAJOR, MODULE_MAGIC_NUMBER_MINOR): Bump.
* CHANGES: Add a brief description.


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1554303 13f79535-47bb-0310-9956-ffa450edef68
2013-12-30 20:01:14 +00:00
Graham Leggett
43e022f007 core: Support named groups and backreferences within the LocationMatch,
DirectoryMatch, FilesMatch and ProxyMatch directives.


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1554300 13f79535-47bb-0310-9956-ffa450edef68
2013-12-30 19:50:52 +00:00
Christophe Jaillet
0fa5a34d64 Remove useless \t and blank line that were not backported into 2.4.x in r1542557
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1551854 13f79535-47bb-0310-9956-ffa450edef68
2013-12-18 05:36:22 +00:00
Eric Covener
89054403cf change r1500483 to only be enabled when building against the MS LDAP SDK.
Guenter, please verify this still works for you.



git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1551802 13f79535-47bb-0310-9956-ffa450edef68
2013-12-18 02:05:50 +00:00
Jeff Trawick
540be85c46 Add suspend_connection and resume_connection hooks to notify modules
when the thread/connection relationship changes.  (Currently implemented
only for the Event MPM; should be implemented for all async MPMs.)


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1546759 13f79535-47bb-0310-9956-ffa450edef68
2013-11-30 17:56:25 +00:00
Jim Jagielski
aab3f8ad29 Fix error
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1545415 13f79535-47bb-0310-9956-ffa450edef68
2013-11-25 21:41:29 +00:00
Jeff Trawick
f978691360 Follow-up to r1541029:
Clarify handling of the directive argument


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1544156 13f79535-47bb-0310-9956-ffa450edef68
2013-11-21 12:23:49 +00:00
Jan Kaluža
452c223fe6 Add parse_errorlog_arg callback to ap_errorlog_provider to allow providers
to check the ErrorLog argument. Implement this check in mod_syslog.



git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1541029 13f79535-47bb-0310-9956-ffa450edef68
2013-11-12 12:14:50 +00:00
Jim Jagielski
48c9ad298d Error detection and a quick validity check when restoring...
Designed to address errors, not nefarious changes.

git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1540161 13f79535-47bb-0310-9956-ffa450edef68
2013-11-08 19:38:20 +00:00
Chris Darroch
3f864213bc Correct typo in comments for ap_map_http_request_error().
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1529988 13f79535-47bb-0310-9956-ffa450edef68
2013-10-07 16:10:07 +00:00
Jeff Trawick
1ce3115aab ap_rputs() silently truncated size_t to int, resulting in 130+ warnings
when building httpd and a rich set of modules on Windows. 


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1529449 13f79535-47bb-0310-9956-ffa450edef68
2013-10-05 13:14:36 +00:00
Jim Jagielski
898365fd1d skiplist is now in apr 1.5 and above
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1528437 13f79535-47bb-0310-9956-ffa450edef68
2013-10-02 12:12:36 +00:00
Jeff Trawick
528855d544 Error log providers need to be able to trigger a startup error from their
init() function.  A NULL return code is the trigger.


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1527003 13f79535-47bb-0310-9956-ffa450edef68
2013-09-27 17:52:13 +00:00
Jeff Trawick
d79b9a03c5 mod_proxy: Add ap_connection_reusable() for checking if a connection
is reusable as of this point in processing.

mod_proxy_fcgi uses the new API to determine if FCGI_CONN_CLOSE
should be enabled, but that doesn't change existing behavior
since the connection is currently marked for closure elsewhere
in the module.


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1526189 13f79535-47bb-0310-9956-ffa450edef68
2013-09-25 14:29:02 +00:00
Jan Kaluža
904b3f8d8b Add AP_ERRORLOG_PROVIDER_ADD_EOL_STR flag for ap_errorlog_provider, bump MMN.
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1525845 13f79535-47bb-0310-9956-ffa450edef68
2013-09-24 11:03:55 +00:00
Jan Kaluža
59bb55791e Add ap_errorlog_provider to make ErrorLog logging modular. Move
syslog support from core to new mod_syslog.


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1525597 13f79535-47bb-0310-9956-ffa450edef68
2013-09-23 14:02:27 +00:00
Christophe Jaillet
1b52eab8b8 Update related to r1519556
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1519587 13f79535-47bb-0310-9956-ffa450edef68
2013-09-03 07:26:34 +00:00
Christophe Jaillet
1ce3b9a4ef mod_status, mod_echo: Fix the display of client addresses. They were truncated to 31 characters which is not enough for IPv6 addresses.
PR 54848 [Bernhard Schmidt <berni birkenwald de>]

git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1519556 13f79535-47bb-0310-9956-ffa450edef68
2013-09-03 04:49:20 +00:00
Eric Covener
4a7cc05cac Mention how "satisfy any" affects AAA hooks run after access_checker
(access_checker_ex, check_user_id, auth_checker)



git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1517979 13f79535-47bb-0310-9956-ffa450edef68
2013-08-27 20:46:16 +00:00
Jeff Trawick
aa4d08ea75 fix Doxygen warnings/comments
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1513461 13f79535-47bb-0310-9956-ffa450edef68
2013-08-13 12:36:27 +00:00
Jeff Trawick
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
Jeff Trawick
0d02cd5c6d Add ap_log_data(), ap_log_rdata(), etc. for logging buffers.
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1512819 13f79535-47bb-0310-9956-ffa450edef68
2013-08-10 19:50:58 +00:00
Eric Covener
693c93acf0 access_checker_ex runs immediately after access_checker,
which both must run well before auth_checker. No other contrast is possible so
assuming this doc is just a typo.

access_checker vs. access_checker_ex is discussed here:

    Subject: svn commit: r964156 - in /httpd/httpd/trunk: docs/manual/developer/ include/ modules/aaa/ server/
    http://svn.apache.org/viewvc?rev=964156&view=rev



git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1511878 13f79535-47bb-0310-9956-ffa450edef68
2013-08-08 17:06:48 +00:00
Jeff Trawick
cf212a0867 fix a couple of grammar problems
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1509341 13f79535-47bb-0310-9956-ffa450edef68
2013-08-01 17:36:11 +00:00
Guenter Knauf
d560c4b0a2 Fixed some Windows warnings.
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1500483 13f79535-47bb-0310-9956-ffa450edef68
2013-07-07 16:57:16 +00:00
Guenter Knauf
824492e8ac Avoid including apr_general.h.
The MSVC Resource Compiler truncates macro names at char 31.
Since apr_general.h includes apr.h which in turn includes
system headers we get warnings or errors with the Resource
Compiler with newer system headers (VC10 and later) which
have macro names defined with more than 31 chars.


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1499742 13f79535-47bb-0310-9956-ffa450edef68
2013-07-04 13:12:42 +00:00
Eric Covener
7fbc93eac7 Restore support for the AUTH_HANDLED return code in AUTHN providers,
like in 2.2, which allows authn provider to return their own status
in r->status (custom error code, or return a redirect)



git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1499351 13f79535-47bb-0310-9956-ffa450edef68
2013-07-03 12:13:50 +00:00
Stefan Fritsch
a011e2a43f Replace pre_htaccess hook with more flexible open_htaccess hook
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1498880 13f79535-47bb-0310-9956-ffa450edef68
2013-07-02 11:26:41 +00:00
Eric Covener
cd331723ca factor out DEFAULT_HANDLER_NAME
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1496709 13f79535-47bb-0310-9956-ffa450edef68
2013-06-26 02:29:43 +00:00
Eric Covener
286e82c27d *) core: merge AllowEncodedSlashes from the base configuration into
(non-default) name-based virtual hosts. [Eric Covener]



git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1496339 13f79535-47bb-0310-9956-ffa450edef68
2013-06-25 02:48:25 +00:00
Jeff Trawick
cfb752e8e4 fix doc for ap_pregsub_ex() return code
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1495501 13f79535-47bb-0310-9956-ffa450edef68
2013-06-21 16:45:51 +00:00
Jim Jagielski
67615cc81c make opaque
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1494156 13f79535-47bb-0310-9956-ffa450edef68
2013-06-18 14:31:24 +00:00
Jim Jagielski
f632ed1df1 Fold in Eric Covener's socket callback
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1493741 13f79535-47bb-0310-9956-ffa450edef68
2013-06-17 12:43:52 +00:00
Guenter Knauf
ce60943aec Added missing bump.
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1491701 13f79535-47bb-0310-9956-ffa450edef68
2013-06-11 07:50:11 +00:00
Stefan Fritsch
4109a458c3 document params
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1491180 13f79535-47bb-0310-9956-ffa450edef68
2013-06-09 10:58:29 +00:00
Stefan Fritsch
fe32420e2c Allow use of strtoul()
It conforms to C89 and we don't support older compilers than that.

PR: 55077


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1491155 13f79535-47bb-0310-9956-ffa450edef68
2013-06-09 08:19:29 +00:00
Graham Leggett
65e4ae72ee Note the given functions will be available in APR.
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1490292 13f79535-47bb-0310-9956-ffa450edef68
2013-06-06 14:06:22 +00:00