]> granicus.if.org Git - apache/log
apache
7 years agoAdded new Spanish translation for mod_asis.xml.es
Daniel Ferradal [Thu, 13 Jul 2017 22:11:09 +0000 (22:11 +0000)]
Added new Spanish translation for mod_asis.xml.es

git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1801894 13f79535-47bb-0310-9956-ffa450edef68

7 years agompm_winnt: Do not redefine the standard CONTAINING_RECORD() macro
Evgeny Kotkov [Wed, 12 Jul 2017 16:49:14 +0000 (16:49 +0000)]
mpm_winnt: Do not redefine the standard CONTAINING_RECORD() macro
in child.c.

This definition has been added in https://svn.apache.org/r88498 — perhaps,
because not every versions of SDK contained it at that time.

But since then, the macro has been available starting from Windows 2000
(https://msdn.microsoft.com/en-us/library/windows/hardware/ff542043),
and any available version of Windows SDK now should also contain it.

git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1801753 13f79535-47bb-0310-9956-ffa450edef68

7 years agompm_winnt: Remove an obsolete comment in child.c explaining why the
Evgeny Kotkov [Wed, 12 Jul 2017 16:16:17 +0000 (16:16 +0000)]
mpm_winnt: Remove an obsolete comment in child.c explaining why the
declarations of the structures and functions to access the completion
contexts reside in a header file.

This no longer holds, as all the necessary functions and structures are
located in the single .c file (child.c).

git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1801749 13f79535-47bb-0310-9956-ffa450edef68

7 years agompm_winnt: Tweak the names of the variables in child.c which are used to
Evgeny Kotkov [Wed, 12 Jul 2017 16:12:21 +0000 (16:12 +0000)]
mpm_winnt: Tweak the names of the variables in child.c which are used to
represent a queue of the completion contexts.

Starting from r1801655, the "queue" isn't really a queue, as all the
access happens with a LIFO order. So, instead of that, call it a "pool
of completion contexts", adjust names of all relevant variables and
tweak the comments.

This patch changes
  - qlock to ctxpool_lock,
  - qhead to ctxpool_head, and
  - qwait_event to ctxpool_wait_event.

git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1801748 13f79535-47bb-0310-9956-ffa450edef68

7 years agompm_winnt: Tweak the listener shutdown code to use a separate event
Evgeny Kotkov [Wed, 12 Jul 2017 16:02:39 +0000 (16:02 +0000)]
mpm_winnt: Tweak the listener shutdown code to use a separate event
instead of the global variable (shutdown_in_progress).

This change has two purposes.  First of all, it makes the listener threads
which are blocked waiting for a completion context exit immediately during
shutdown.  Previously, such threads would only check for exit every second.
The second reason for this change is to put the child_main() function in
charge of controlling the listeners life cycle.  Previously, such relation
was circumvented by the fact that the listeners were also waiting for the
global child exit_event.  With the new separate listener_shutdown_event,
only the child_main() function is responsible for shutting down the
listeners, and I think that this makes the code a bit clearer.

All the original behavior, including the special APLOG_DEBUG diagnostic
message when we fail to acquire a free completion context in 1 second,
is kept unchanged.

git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1801747 13f79535-47bb-0310-9956-ffa450edef68

7 years agompm_winnt: Following up on r1801655, add a comment that explains the
Evgeny Kotkov [Wed, 12 Jul 2017 09:47:36 +0000 (09:47 +0000)]
mpm_winnt: Following up on r1801655, add a comment that explains the
reason to choose the LIFO processing order for completion contexts.

It would be better to keep this important information in the code, instead
of just having it in the log message.

git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1801710 13f79535-47bb-0310-9956-ffa450edef68

7 years agoMakefile.in: merge typo fix from test-integration branch
Jacob Champion [Wed, 12 Jul 2017 00:13:55 +0000 (00:13 +0000)]
Makefile.in: merge typo fix from test-integration branch

git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1801667 13f79535-47bb-0310-9956-ffa450edef68

7 years agoMakefile.in: fix MPM_MODULES typo (in check-conf) trunk-test-integration trunk-test-integration
Jacob Champion [Wed, 12 Jul 2017 00:10:11 +0000 (00:10 +0000)]
Makefile.in: fix MPM_MODULES typo (in check-conf)

git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/branches/trunk-test-integration@1801666 13f79535-47bb-0310-9956-ffa450edef68

7 years agoMakefile.in: fix MPM_MODULES typo
Jacob Champion [Wed, 12 Jul 2017 00:07:08 +0000 (00:07 +0000)]
Makefile.in: fix MPM_MODULES typo

git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1801665 13f79535-47bb-0310-9956-ffa450edef68

7 years agompm_winnt: Advertise support for preshutdown notifications in the service,
Evgeny Kotkov [Tue, 11 Jul 2017 21:39:35 +0000 (21:39 +0000)]
mpm_winnt: Advertise support for preshutdown notifications in the service,
and perform shutdown in respond to SERVICE_CONTROL_PRESHUTDOWN.

The pure shutdown notification leaves a small amount of time for the service
to finish (and the allowed amount of time has been shrinking with every new
version of Windows), and handling only it increases the chance of the process
being killed by SCM, instead of gracefully shutting down.  Handling the
preshutdown control code extends this period, and increases the chances of
finishing everything properly when the machine is rebooted or shut down.

(See https://msdn.microsoft.com/en-us/library/windows/desktop/ms683241)

Please note that although the preshutdown notifications are available only
starting from Windows Vista, the code is compatible with the previous versions
of Windows, since the SCM ignores unknown SERVICE_ACCEPT codes, and will
still send an ordinary SERVICE_CONTROL_SHUTDOWN under old Windows
versions.

git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1801659 13f79535-47bb-0310-9956-ffa450edef68

7 years agompm_winnt: Remove unused values of the io_state_e enum.
Evgeny Kotkov [Tue, 11 Jul 2017 21:13:26 +0000 (21:13 +0000)]
mpm_winnt: Remove unused values of the io_state_e enum.

Submitted By: Ivan Zhakov <ivan {at} visualsvn.com>

git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1801657 13f79535-47bb-0310-9956-ffa450edef68

7 years agompm_winnt: Remove a duplicated comment in the child_main() function.
Evgeny Kotkov [Tue, 11 Jul 2017 21:09:29 +0000 (21:09 +0000)]
mpm_winnt: Remove a duplicated comment in the child_main() function.

git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1801656 13f79535-47bb-0310-9956-ffa450edef68

7 years agompm_winnt: Use a LIFO stack instead of a FIFO queue to hold unused
Evgeny Kotkov [Tue, 11 Jul 2017 21:07:45 +0000 (21:07 +0000)]
mpm_winnt: Use a LIFO stack instead of a FIFO queue to hold unused
completion contexts, as that may significantly reduce the memory usage.

This simple change can have a noticeable impact on the amount of memory
consumed by the child process in various cases.  Every completion context
in the queue has an associated allocator, and every allocator has it's
ap_max_mem_free memory limit which is not given back to the operating
system.  Once the queue grows, it cannot shrink back, and every allocator
in each of the queued completion contexts keeps up to its max_free amount
of memory.  The queue can only grow when a server has to serve multiple
concurrent connections at once.

With that in mind, consider a case with a server that doesn't encounter many
concurrent connections most of the time, but has occasional spikes when
it has to serve multiple concurrent connections.  During such spikes, the
size of the completion context queue grows.

The actual difference between using LIFO and FIFO orders shows up after
such spikes, when the server is back to light load and doesn't see a lot
of concurrency.  With FIFO order, every completion context in the queue
will be used in a round-robin manner, thus using *every* available allocator
one by one and ultimately claiming up to (N * ap_max_mem_free memory) from
the OS.  With LIFO order, only the completion contexts that are close to
the top of the stack will be used and reused for subsequent connections.
Hence, only a small part of the allocators will be used, and this can
prevent all other allocators from unnecessarily acquiring memory from
the OS (and keeping it), and this reduces the overall memory footprint.

Please note that this change doesn't affect the worst case behavior, as
it's still (N * ap_max_mem_free memory), but tends to behave better in
practice, for the reasons described above.

Another thing worth considering is the new behavior when the OS decides
to swap out pages of the child process, for example, in a close-to-OOM
condition.  Handling every new connection after the swap requires the OS
to load the memory pages for the allocator from the completion context that
is used for this connection.  With FIFO order, the completion contexts are
used one by one, and this would cause page loads for every new connection.
With LIFO order, there will be almost no swapping, since the same completion
context is going to be reused for subsequent new connections.

git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1801655 13f79535-47bb-0310-9956-ffa450edef68

7 years agompm_winnt: Drop the APLOG_DEBUG diagnostic saying how many thread
Evgeny Kotkov [Tue, 11 Jul 2017 17:45:55 +0000 (17:45 +0000)]
mpm_winnt: Drop the APLOG_DEBUG diagnostic saying how many thread
are blocked on the I/O completion port during the shutdown.

Prior to r1801635, the shutdown code required to know the amount of blocked
threads, as it has been dispatching the same amount of completion packets.
But this no longer holds, and the only reason why we maintain the
corresponding g_blocked_threads variable is because of this debug
diagnostic message.

Drop it in order to reduce complexity of the quite critical code in the
winnt_get_connection() function and to reduce the amount of global
variables.

git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1801640 13f79535-47bb-0310-9956-ffa450edef68

7 years agompm_winnt: Remove an unnecessary Sleep() in the winnt_accept() function.
Evgeny Kotkov [Tue, 11 Jul 2017 17:16:49 +0000 (17:16 +0000)]
mpm_winnt: Remove an unnecessary Sleep() in the winnt_accept() function.

This sleep occured in a situation when:

 - We don't have a free completion context in the queue
 - We can't add one, as doing so would exceed the max_num_completion_contexts
   limit (all worker threads are busy)
 - We have exceeded a 1 second timeout while waiting for it

In this case, the Sleep() call is unnecessary, as there is no intermittent
failure that can be waited out, but rather than that, it's an ordinary
situation with all workers being busy.  Presumably, calling Sleep() here
can be even considered harmful, as it affects the fairness between the
listeners that are blocked waiting for the completion context.

So, instead of calling Sleep() just check for the possible shutdown and
immediately retry acquiring a completion context.  If all worker threads
are still busy, the retry will block in the same WaitForSingleObject() call,
which is fine.

git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1801639 13f79535-47bb-0310-9956-ffa450edef68

7 years agompm_winnt: Simplify the shutdown code that was waiting for multiple worker
Evgeny Kotkov [Tue, 11 Jul 2017 16:51:09 +0000 (16:51 +0000)]
mpm_winnt: Simplify the shutdown code that was waiting for multiple worker
thread handles in batches.

Starting from r1801636, there is no difference between ending the wait with
one or multiple remaining threads.  This is because we terminate the process
if at least one thread is still active when we hit a timeout.

Therefore, instead of making an effort to evenly distribute and batch the
handles with WaitForMultipleObjects(), we could just start from one end,
and wait for one thread handle at a time.

git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1801637 13f79535-47bb-0310-9956-ffa450edef68

7 years agompm_winnt: Avoid using TerminateThread() in case the shutdown routine
Evgeny Kotkov [Tue, 11 Jul 2017 16:46:47 +0000 (16:46 +0000)]
mpm_winnt: Avoid using TerminateThread() in case the shutdown routine
hits a timeout while waiting for the worker threads to exit.

Using TerminateThread() can have dangerous consequences such as deadlocks —
say, if the the thread is terminated while holding a lock or a heap lock
in the middle of HeapAlloc(), as these locks would not be released.
Or it can corrupt the application state and cause a crash.

(See https://msdn.microsoft.com/en-us/library/windows/desktop/ms686717)

Rework the code to call TerminateProcess() in the described circumstances
and leave the cleanup to the operating system.

git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1801636 13f79535-47bb-0310-9956-ffa450edef68

7 years agompm_winnt: Make the shutdown faster by avoiding unnecessary Sleep()'s
Evgeny Kotkov [Tue, 11 Jul 2017 16:41:51 +0000 (16:41 +0000)]
mpm_winnt: Make the shutdown faster by avoiding unnecessary Sleep()'s
when shutting down the worker threads.

Previously, the shutdown code was posting an amount of I/O completion
packets equal to the amount of the threads blocked on the I/O completion
port.  Then it would Sleep() until all these threads "acknowledge" the
completion packets by decrementing the global amount of blocked threads.

A better way would be to send the number of IOCP_SHUTDOWN completion
packets equal to the total amount of threads and immediately proceed to
the next step.  There is no need to block until the threads actually receive
the completion, as the shutdown process includes a separate step that waits
until the threads exit, and the new approach avoids an unnecessary delay.

git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1801635 13f79535-47bb-0310-9956-ffa450edef68

7 years agoAdd logic to read the Upgrade header and use it in the response.
Jean-Frederic Clere [Tue, 11 Jul 2017 11:41:44 +0000 (11:41 +0000)]
Add logic to read the Upgrade header and use it in the response.
Use we you are proxying to a server that has multiple upgrade on the same IP/Port.
PR 61142

git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1801594 13f79535-47bb-0310-9956-ffa450edef68

7 years agompm_winnt: Following up on r1801144, use the new accept_filter_e enum
Evgeny Kotkov [Mon, 10 Jul 2017 12:22:31 +0000 (12:22 +0000)]
mpm_winnt: Following up on r1801144, use the new accept_filter_e enum
values in a couple of missed places in winnt_accept().

git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1801456 13f79535-47bb-0310-9956-ffa450edef68

7 years agompm_winnt: Fix typo in the logged message in winnt_get_connection().
Evgeny Kotkov [Fri, 7 Jul 2017 11:15:31 +0000 (11:15 +0000)]
mpm_winnt: Fix typo in the logged message in winnt_get_connection().

git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1801148 13f79535-47bb-0310-9956-ffa450edef68

7 years agompm_winnt: Refactor the mpm_get_completion_context() function so that it
Evgeny Kotkov [Fri, 7 Jul 2017 11:14:25 +0000 (11:14 +0000)]
mpm_winnt: Refactor the mpm_get_completion_context() function so that it
would return a proper apr_status_t instead of yielding the result via the
*timeout out variable.

This makes the calling side easier to follow by avoiding an additional
layer of if's.

git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1801147 13f79535-47bb-0310-9956-ffa450edef68

7 years agompm_winnt: Remove an unnecessary retry after receiving a non-timeout failure
Evgeny Kotkov [Fri, 7 Jul 2017 11:08:26 +0000 (11:08 +0000)]
mpm_winnt: Remove an unnecessary retry after receiving a non-timeout failure
from the mpm_get_completion_context() function.

Currently, the only possible reasons why mpm_get_completion_context() could
fail are real errors such as being unable to WaitForSingleObject(), allocate
memory or create an event.  Retrying under such circumstances doesn't make
sense, and could be as well considered harmful.

git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1801146 13f79535-47bb-0310-9956-ffa450edef68

7 years agompm_winnt: Factor out a helper function to parse the type of an accept
Evgeny Kotkov [Fri, 7 Jul 2017 11:00:07 +0000 (11:00 +0000)]
mpm_winnt: Factor out a helper function to parse the type of an accept
filter and use an appropriate enum for it.

This makes the code in winnt_accept() a bit easier to follow.  As a minor
side effect, it also fixes a small bug where the "unrecognized AcceptFilter
'%s'" log entry would always contain "none" instead of the actually
unrecognized kind of the accept filter.

git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1801144 13f79535-47bb-0310-9956-ffa450edef68

7 years agompm_winnt: Don't forget to close the I/O completion port as part of the
Evgeny Kotkov [Fri, 7 Jul 2017 10:51:23 +0000 (10:51 +0000)]
mpm_winnt: Don't forget to close the I/O completion port as part of the
cleanup in the child process.

git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1801143 13f79535-47bb-0310-9956-ffa450edef68

7 years agoOn the trunk:
Stefan Eissing [Thu, 6 Jul 2017 08:15:27 +0000 (08:15 +0000)]
On the trunk:

mod_http2: Simplify ready queue, less memory and better performance. Update
     mod_http2 version to 1.10.7.

git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1800978 13f79535-47bb-0310-9956-ffa450edef68

7 years agoCorrect string scope to prevent duplicated values for subsequent tokens.
William A. Rowe Jr [Wed, 5 Jul 2017 19:44:30 +0000 (19:44 +0000)]
Correct string scope to prevent duplicated values for subsequent tokens.

git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1800919 13f79535-47bb-0310-9956-ffa450edef68

7 years agoFix negotiation type parsing to be strict about "*", "*/*" and "type/*"
William A. Rowe Jr [Wed, 5 Jul 2017 19:42:30 +0000 (19:42 +0000)]
Fix negotiation type parsing to be strict about "*", "*/*" and "type/*"
comparisons.

Submitted by: wrowe, Robert Święcki <robert swiecki.net>

git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1800917 13f79535-47bb-0310-9956-ffa450edef68

7 years agoBackported.
Rainer Jung [Tue, 4 Jul 2017 22:41:31 +0000 (22:41 +0000)]
Backported.

git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1800837 13f79535-47bb-0310-9956-ffa450edef68

7 years agoFix another mod_lua compile error.
Rainer Jung [Tue, 4 Jul 2017 22:14:13 +0000 (22:14 +0000)]
Fix another mod_lua compile error.
Compilation now tested against Lus 5.1, 5.2
and 5.3. The libs were compiled with COMPAT
flags set, but mod_lua no longer sets them
so it should compile and run with non-COMPAT
libs as well.

git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1800833 13f79535-47bb-0310-9956-ffa450edef68

7 years agoFix new compilation breakage in mod_lua.
Rainer Jung [Tue, 4 Jul 2017 21:48:41 +0000 (21:48 +0000)]
Fix new compilation breakage in mod_lua.

git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1800830 13f79535-47bb-0310-9956-ffa450edef68

7 years agoMostly revert the configure compat check for
Rainer Jung [Tue, 4 Jul 2017 20:49:53 +0000 (20:49 +0000)]
Mostly revert the configure compat check for
lua from r1785753. This should now no longer
be needed.

git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1800819 13f79535-47bb-0310-9956-ffa450edef68

7 years agoFix last compat issue with Lua 5.2 and 5.3.
Rainer Jung [Tue, 4 Jul 2017 20:48:43 +0000 (20:48 +0000)]
Fix last compat issue with Lua 5.2 and 5.3.
Patch taken from PR58188 which picked it from
openSUSE.

Still needs testing.

git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1800817 13f79535-47bb-0310-9956-ffa450edef68

7 years agoMore mod_lua compat for Lua 5.1, 5.2, 5.3.
Rainer Jung [Tue, 4 Jul 2017 20:35:06 +0000 (20:35 +0000)]
More mod_lua compat for Lua 5.1, 5.2, 5.3.

One last use of luaL_register() with a non-NULL
"name" argument remaining.

Not tested yet.

git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1800815 13f79535-47bb-0310-9956-ffa450edef68

7 years agomod_lua: Improve compatibility with Lua 5.1, 5.2 and 5.3.
Rainer Jung [Tue, 4 Jul 2017 19:22:23 +0000 (19:22 +0000)]
mod_lua: Improve compatibility with Lua 5.1, 5.2 and 5.3.
PR58188, PR60831, PR61245.

Still to solve: replace uses of luaL_register().

git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1800809 13f79535-47bb-0310-9956-ffa450edef68

7 years agoAdd mod_proxy_hcheck to generated httpd.spec file. PR 60506.
Yann Ylavic [Tue, 4 Jul 2017 14:00:29 +0000 (14:00 +0000)]
Add mod_proxy_hcheck to generated httpd.spec file.  PR 60506.

git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1800788 13f79535-47bb-0310-9956-ffa450edef68

7 years agoOn the trunk:
Stefan Eissing [Mon, 3 Jul 2017 15:44:54 +0000 (15:44 +0000)]
On the trunk:

mod_http2: disable and give warning when mpm_prefork is encountered.
     The server will continue to work, but HTTP/2 will no longer be negotiated.

git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1800689 13f79535-47bb-0310-9956-ffa450edef68

7 years agobackported
Jim Jagielski [Mon, 3 Jul 2017 10:56:29 +0000 (10:56 +0000)]
backported

git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1800627 13f79535-47bb-0310-9956-ffa450edef68

7 years ago* Do not apply the strict permissions of the temporary file to a possibly
Ruediger Pluem [Mon, 3 Jul 2017 06:37:45 +0000 (06:37 +0000)]
* Do not apply the strict permissions of the temporary file to a possibly
  existing passwd file.
  This long standing bug was triggered by fixing a bug in APR in r1791029.

PR: 61240

git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1800594 13f79535-47bb-0310-9956-ffa450edef68

7 years agoRebuild.
Lucien Gentis [Sun, 2 Jul 2017 12:42:19 +0000 (12:42 +0000)]
Rebuild.

git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1800560 13f79535-47bb-0310-9956-ffa450edef68

7 years agoXML update.
Lucien Gentis [Sun, 2 Jul 2017 12:41:20 +0000 (12:41 +0000)]
XML update.

git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1800559 13f79535-47bb-0310-9956-ffa450edef68

7 years agoPartial reversal of r1800306... note virtual scripts in notes
Jim Jagielski [Fri, 30 Jun 2017 12:34:19 +0000 (12:34 +0000)]
Partial reversal of r1800306... note virtual scripts in notes

git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1800393 13f79535-47bb-0310-9956-ffa450edef68

7 years agoproxy_fcgi: remove FPM-specific logic
Jacob Champion [Thu, 29 Jun 2017 17:43:48 +0000 (17:43 +0000)]
proxy_fcgi: remove FPM-specific logic

Reverts r1780328, r1780329, and their associated followups, which
incorrectly manipulated SCRIPT_NAME by default. All proxy_fcgi.t
regression tests now pass.

PR: 61202

git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1800306 13f79535-47bb-0310-9956-ffa450edef68

7 years agoUpdates to files referencing new Spanish translation of mod_allowmethods r1800183
Daniel Ferradal [Wed, 28 Jun 2017 16:13:13 +0000 (16:13 +0000)]
Updates to files referencing new Spanish translation of mod_allowmethods r1800183

git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1800184 13f79535-47bb-0310-9956-ffa450edef68

7 years agoAdded Spanish translation for manual/mod/mod_allowmethods.xml.es
Daniel Ferradal [Wed, 28 Jun 2017 16:06:50 +0000 (16:06 +0000)]
Added Spanish translation for manual/mod/mod_allowmethods.xml.es

git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1800183 13f79535-47bb-0310-9956-ffa450edef68

7 years agoRestore single-char field names inadvertantly disallowed in 2.4.25.
William A. Rowe Jr [Wed, 28 Jun 2017 14:15:28 +0000 (14:15 +0000)]
Restore single-char field names inadvertantly disallowed in 2.4.25.
PR: 61220
Submitted by: ylavic

git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1800173 13f79535-47bb-0310-9956-ffa450edef68

7 years agoRevert 1800111 for a cleaner logic flow proposed by Yann
William A. Rowe Jr [Wed, 28 Jun 2017 14:06:24 +0000 (14:06 +0000)]
Revert 1800111 for a cleaner logic flow proposed by Yann

git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1800171 13f79535-47bb-0310-9956-ffa450edef68

7 years ago* Silence compiler warning
Ruediger Pluem [Wed, 28 Jun 2017 06:50:00 +0000 (06:50 +0000)]
* Silence compiler warning

git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1800126 13f79535-47bb-0310-9956-ffa450edef68

7 years agoAppears to resolve the issue to permit single-char fieldnames; PR61220
William A. Rowe Jr [Wed, 28 Jun 2017 02:33:29 +0000 (02:33 +0000)]
Appears to resolve the issue to permit single-char fieldnames; PR61220

git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1800111 13f79535-47bb-0310-9956-ffa450edef68

7 years agoAdded updates to files referencing new Spanish translation of mod_allowhandlers r1799971
Daniel Ferradal [Mon, 26 Jun 2017 19:09:22 +0000 (19:09 +0000)]
Added updates to files referencing new Spanish translation of mod_allowhandlers r1799971

git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1799972 13f79535-47bb-0310-9956-ffa450edef68

7 years agoAdded Spanish translation for manual/mod/mod_allowhandlers.xml.es
Daniel Ferradal [Mon, 26 Jun 2017 19:03:38 +0000 (19:03 +0000)]
Added Spanish translation for manual/mod/mod_allowhandlers.xml.es

git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1799971 13f79535-47bb-0310-9956-ffa450edef68

7 years agoSynch with 2.4.x
Christophe Jaillet [Mon, 26 Jun 2017 18:36:28 +0000 (18:36 +0000)]
Synch with 2.4.x

git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1799968 13f79535-47bb-0310-9956-ffa450edef68

7 years agoRevert misguided commit r1799731.
William A. Rowe Jr [Mon, 26 Jun 2017 17:45:23 +0000 (17:45 +0000)]
Revert misguided commit r1799731.

Discussion on-list, but any occurance of a platform-specific behavior in this
code path will alter the behavior of the core code and introduce the very
fingerprintable behavior this patch pretended to obscuficate.

Returning 404 for /CON for example may lead to a module such as mod_speling
revealing the existance of a real file named similar to /.conf, which makes
this an unwise behavior.

Further discussion of returning 404 for all CHR files encountered in the
filepath (not URI path), which currently return 403 on all platforms,
belongs on the dev list.

git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1799965 13f79535-47bb-0310-9956-ffa450edef68

7 years agoRebuild.
Lucien Gentis [Sun, 25 Jun 2017 14:46:47 +0000 (14:46 +0000)]
Rebuild.

git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1799810 13f79535-47bb-0310-9956-ffa450edef68

7 years agoXML updates.
Lucien Gentis [Sun, 25 Jun 2017 14:45:54 +0000 (14:45 +0000)]
XML updates.

git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1799809 13f79535-47bb-0310-9956-ffa450edef68

7 years agoAdd CHANGE entry
Christophe Jaillet [Sun, 25 Jun 2017 07:10:19 +0000 (07:10 +0000)]
Add  CHANGE entry

git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1799786 13f79535-47bb-0310-9956-ffa450edef68

7 years agoRemove a backported entry.
Christophe Jaillet [Sun, 25 Jun 2017 07:05:17 +0000 (07:05 +0000)]
Remove a backported entry.

git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1799785 13f79535-47bb-0310-9956-ffa450edef68

7 years agoSince r1753257, "HEAD" method is registered into the registry hash with the M_GET ID.
Christophe Jaillet [Sun, 25 Jun 2017 06:09:43 +0000 (06:09 +0000)]
Since r1753257, "HEAD" method is registered into the registry hash with the M_GET ID.
(r1757672 in 2.4.x)

We iterate over all the values of the registery, so there is no need anymore to have a special case for "HEAD" in  'make_allow()'. It has its own entry now.

With the current code, we have "HEAD" 3 times in the Allow Header field.
This is because we find M_GET 2 times in the registry hash. The first one gives "GET" and "HEAD" (as the special handling), and the second "HEAD" and "HEAD" (as the special handling).

BTW, use APR_ARRAY_PUSH instead of hand coding it, in oder to have the code more readable.

PR 61207

git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1799784 13f79535-47bb-0310-9956-ffa450edef68

7 years agostyle: where did the tabs come from?
Gregg Lewis Smith [Sat, 24 Jun 2017 05:55:22 +0000 (05:55 +0000)]
style: where did the tabs come from?
no code changes

git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1799732 13f79535-47bb-0310-9956-ffa450edef68

7 years agoSend a 404 response like other OSs do instead of 403 on Windows when
Gregg Lewis Smith [Sat, 24 Jun 2017 05:49:45 +0000 (05:49 +0000)]
Send a 404 response like other OSs do instead of 403 on Windows when
a path segment or file requested uses a reserved word so Windows
cannot be fingerprinted. PR55887

git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1799731 13f79535-47bb-0310-9956-ffa450edef68

7 years agoxforms updates
Jim Jagielski [Fri, 23 Jun 2017 15:45:14 +0000 (15:45 +0000)]
xforms updates

git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1799684 13f79535-47bb-0310-9956-ffa450edef68

7 years agocore documentation rebuild
Luca Toscano [Fri, 23 Jun 2017 15:25:06 +0000 (15:25 +0000)]
core documentation rebuild

git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1799681 13f79535-47bb-0310-9956-ffa450edef68

7 years agocore.xml: Wrap a Define directive sentence in a <note>
Luca Toscano [Fri, 23 Jun 2017 15:24:42 +0000 (15:24 +0000)]
core.xml: Wrap a Define directive sentence in a <note>

git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1799680 13f79535-47bb-0310-9956-ffa450edef68

7 years agoupdate transformation
André Malo [Fri, 23 Jun 2017 06:52:36 +0000 (06:52 +0000)]
update transformation

git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1799649 13f79535-47bb-0310-9956-ffa450edef68

7 years agoFixed wrong revision number references in translations with original mod_alias.xml
Daniel Ferradal [Thu, 22 Jun 2017 20:06:48 +0000 (20:06 +0000)]
Fixed wrong revision number references in translations with original mod_alias.xml

git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1799611 13f79535-47bb-0310-9956-ffa450edef68

7 years agoAdded updates to files referencing new Spanish translation of mod_alias r1799605
Daniel Ferradal [Thu, 22 Jun 2017 19:20:36 +0000 (19:20 +0000)]
Added updates to files referencing new Spanish translation of mod_alias r1799605

git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1799606 13f79535-47bb-0310-9956-ffa450edef68

7 years agoAdded Spanish translation for manual/mod/mod_alias.xml
Daniel Ferradal [Thu, 22 Jun 2017 19:11:16 +0000 (19:11 +0000)]
Added Spanish translation for manual/mod/mod_alias.xml

git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1799605 13f79535-47bb-0310-9956-ffa450edef68

7 years agoOK... we display ms, since we want to be able to provide
Jim Jagielski [Wed, 21 Jun 2017 16:29:54 +0000 (16:29 +0000)]
OK... we display ms, since we want to be able to provide
values for <1sec, so entries should assume ms input when
using bal-mgr

git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1799485 13f79535-47bb-0310-9956-ffa450edef68

7 years agoallow balancer-manager to also accept subsecond intervals
Jim Jagielski [Wed, 21 Jun 2017 16:24:00 +0000 (16:24 +0000)]
allow balancer-manager to also accept subsecond intervals

git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1799482 13f79535-47bb-0310-9956-ffa450edef68

7 years agoFixed a small typo (double if) in r1799475
Daniel Ferradal [Wed, 21 Jun 2017 16:13:34 +0000 (16:13 +0000)]
Fixed a small typo (double if) in r1799475

git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1799478 13f79535-47bb-0310-9956-ffa450edef68

7 years agoFixed a small statement about the result of Redirect when scheme and hostname is...
Daniel Ferradal [Wed, 21 Jun 2017 16:01:23 +0000 (16:01 +0000)]
Fixed a small statement about the result of Redirect when scheme and hostname is not defined in the directive

git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1799475 13f79535-47bb-0310-9956-ffa450edef68

7 years agoutil.c: revert r1799375 during veto discussion
Jacob Champion [Wed, 21 Jun 2017 15:54:53 +0000 (15:54 +0000)]
util.c: revert r1799375 during veto discussion

https://lists.apache.org/thread.html/c0320136ae7e4cbbae03cb2636dfb9b693b2d7a6ffb4c9a645beadb9@%3Cdev.httpd.apache.org%3E

git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1799472 13f79535-47bb-0310-9956-ffa450edef68

7 years agomissed one.
Jim Jagielski [Wed, 21 Jun 2017 15:10:00 +0000 (15:10 +0000)]
missed one.

git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1799467 13f79535-47bb-0310-9956-ffa450edef68

7 years agoxforms... again.
Jim Jagielski [Wed, 21 Jun 2017 15:07:16 +0000 (15:07 +0000)]
xforms... again.

git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1799465 13f79535-47bb-0310-9956-ffa450edef68

7 years agosome more nits
Jim Jagielski [Wed, 21 Jun 2017 15:00:46 +0000 (15:00 +0000)]
some more nits

git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1799463 13f79535-47bb-0310-9956-ffa450edef68

7 years agoxforms
Jim Jagielski [Wed, 21 Jun 2017 14:51:09 +0000 (14:51 +0000)]
xforms

git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1799461 13f79535-47bb-0310-9956-ffa450edef68

7 years agostart documenting those that use the time-interval format
Jim Jagielski [Wed, 21 Jun 2017 14:46:56 +0000 (14:46 +0000)]
start documenting those that use the time-interval format

git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1799460 13f79535-47bb-0310-9956-ffa450edef68

7 years agostupid typos
Jim Jagielski [Wed, 21 Jun 2017 14:34:44 +0000 (14:34 +0000)]
stupid typos

git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1799456 13f79535-47bb-0310-9956-ffa450edef68

7 years agocforms
Jim Jagielski [Wed, 21 Jun 2017 14:33:29 +0000 (14:33 +0000)]
cforms

git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1799455 13f79535-47bb-0310-9956-ffa450edef68

7 years agoAdd time-interval as Syntax argument type
Jim Jagielski [Wed, 21 Jun 2017 14:29:34 +0000 (14:29 +0000)]
Add time-interval as Syntax argument type

git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1799454 13f79535-47bb-0310-9956-ffa450edef68

7 years agoProxy timeout statements now sub-second granularity
Jim Jagielski [Wed, 21 Jun 2017 13:53:56 +0000 (13:53 +0000)]
Proxy timeout statements now sub-second granularity

git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1799444 13f79535-47bb-0310-9956-ffa450edef68

7 years agounused now
Jim Jagielski [Wed, 21 Jun 2017 13:21:55 +0000 (13:21 +0000)]
unused now

git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1799438 13f79535-47bb-0310-9956-ffa450edef68

7 years agoAllow finer control over hcheck intervals... minimum is whatever
Jim Jagielski [Wed, 21 Jun 2017 13:21:18 +0000 (13:21 +0000)]
Allow finer control over hcheck intervals... minimum is whatever
the watchdog slice is.

git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1799437 13f79535-47bb-0310-9956-ffa450edef68

7 years agoAllow WatchdogInterval to be sub 1 second
Jim Jagielski [Wed, 21 Jun 2017 12:49:54 +0000 (12:49 +0000)]
Allow WatchdogInterval to be sub 1 second

git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1799435 13f79535-47bb-0310-9956-ffa450edef68

7 years agoNot an error... last one is honored
Jim Jagielski [Wed, 21 Jun 2017 12:34:25 +0000 (12:34 +0000)]
Not an error... last one is honored

git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1799431 13f79535-47bb-0310-9956-ffa450edef68

7 years agoupdate trunk docs xforms
Jim Jagielski [Wed, 21 Jun 2017 11:06:37 +0000 (11:06 +0000)]
update trunk docs xforms

git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1799426 13f79535-47bb-0310-9956-ffa450edef68

7 years agoMake case insensitive
Jim Jagielski [Wed, 21 Jun 2017 10:54:44 +0000 (10:54 +0000)]
Make case insensitive

git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1799425 13f79535-47bb-0310-9956-ffa450edef68

7 years agoutil.c: add a strict Base64 decoding function
Jacob Champion [Tue, 20 Jun 2017 23:55:20 +0000 (23:55 +0000)]
util.c: add a strict Base64 decoding function

ap_pbase64decode_strict() adds to the functionality of
ap_pbase64decode() in two ways:

- the length of the decoded buffer is returned, allowing embedded NULLs
  to be retained by the caller
- the input string is strictly checked for Base64 validity, including
  correct zero-padding at the end of the string

(This was originally added to the httpdunit feature/backport branch in
r1796208, then reverted in r1799376, since it's currently intended for
trunk only.)

git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1799380 13f79535-47bb-0310-9956-ffa450edef68

7 years agoap_get_basic_auth_components: add unit tests
Jacob Champion [Tue, 20 Jun 2017 23:55:17 +0000 (23:55 +0000)]
ap_get_basic_auth_components: add unit tests

git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1799379 13f79535-47bb-0310-9956-ffa450edef68

7 years agohttpdunit: merge to trunk from feature branch
Jacob Champion [Tue, 20 Jun 2017 23:42:12 +0000 (23:42 +0000)]
httpdunit: merge to trunk from feature branch

git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1799378 13f79535-47bb-0310-9956-ffa450edef68

7 years agoap_find_token: add unit tests
Jacob Champion [Tue, 20 Jun 2017 23:34:30 +0000 (23:34 +0000)]
ap_find_token: add unit tests

Add previously embargoed test case for CVE-2017-7668.

git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/branches/httpdunit@1799377 13f79535-47bb-0310-9956-ffa450edef68

7 years agoRevert new base64 function and tests
Jacob Champion [Tue, 20 Jun 2017 23:34:18 +0000 (23:34 +0000)]
Revert new base64 function and tests

This should be trunk-only, not part of the backport branch.

git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/branches/httpdunit@1799376 13f79535-47bb-0310-9956-ffa450edef68

7 years agoutil.c: ensure all TEST_CHAR loops stop at the null terminator
Jacob Champion [Tue, 20 Jun 2017 23:08:19 +0000 (23:08 +0000)]
util.c: ensure all TEST_CHAR loops stop at the null terminator

In the aftermath of CVE-2017-7668, decouple the business logic ("is NULL
a T_HTTP_CTRL") from the postcondition ("must not go past the end of the
string"). The NULL-byte classification in the TEST_CHAR table may change
in the future.

git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1799375 13f79535-47bb-0310-9956-ffa450edef68

7 years agoCVE-2017-3167: add documentation to ap_get_basic_auth_pw()
Jacob Champion [Tue, 20 Jun 2017 23:08:18 +0000 (23:08 +0000)]
CVE-2017-3167: add documentation to ap_get_basic_auth_pw()

Now that we've released, add clarifying comments to the now-deprecated
API.

git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1799374 13f79535-47bb-0310-9956-ffa450edef68

7 years ago* The libnghttp2.pc might be found in lib64 on 64 bit systems
Ruediger Pluem [Tue, 20 Jun 2017 12:17:52 +0000 (12:17 +0000)]
* The libnghttp2.pc might be found in lib64 on 64 bit systems

git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1799341 13f79535-47bb-0310-9956-ffa450edef68

7 years agofix for RewriteOptions processing in r1798938
Eric Covener [Mon, 19 Jun 2017 19:08:49 +0000 (19:08 +0000)]
fix for RewriteOptions processing in r1798938

git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1799261 13f79535-47bb-0310-9956-ffa450edef68

7 years agoadd RewriteOptions LongURLOptimization
Eric Covener [Fri, 16 Jun 2017 15:13:03 +0000 (15:13 +0000)]
add RewriteOptions LongURLOptimization

Variable expansion in RewriteCond causes strings to be duplicated
out of r->pool.  If the variables are long and many conditions
are evaluated, r->pool can get seriously bloated.

Clear the memory used for variable expansion for each set of conditons
once the set of conditions fails to match.

edit: revised in 1799261

git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1798938 13f79535-47bb-0310-9956-ffa450edef68

7 years agoQuiet spurious gcc warning in ap_parse_form_data ("'escaped_char[0]' may be
Yann Ylavic [Wed, 14 Jun 2017 22:29:17 +0000 (22:29 +0000)]
Quiet spurious gcc warning in ap_parse_form_data ("'escaped_char[0]' may be
used uninitialized in this function").

git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1798785 13f79535-47bb-0310-9956-ffa450edef68

7 years agoadded the line <page href="mod/overrides.html">Sobreescritura de la clase índice...
Luis Gil [Wed, 14 Jun 2017 21:57:53 +0000 (21:57 +0000)]
added the line <page href="mod/overrides.html">Sobreescritura de la clase índice .htaccess</page>

git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1798782 13f79535-47bb-0310-9956-ffa450edef68

7 years agochecked what have changed, nothing to update.
Luis Gil [Wed, 14 Jun 2017 21:51:51 +0000 (21:51 +0000)]
checked what have changed, nothing to update.

git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1798781 13f79535-47bb-0310-9956-ffa450edef68