Skip to content

Sanity check - #5

Closed
marcstern wants to merge 7707 commits into
apache:trunkfrom
marcstern:patch-1
Closed

marcstern wants to merge 7707 commits into
apache:trunkfrom
marcstern:patch-1

Conversation

@marcstern

Copy link
Copy Markdown

In case pfd.fd < 0, the poll() function waits until the time-out is expired.
This problem happens when, for instance, ModSecurity drops a connection in httpd. In this case, ressources gets blocked until the timeout expires.
In this situation, we should immediately return an error.
Same problem/solution in v1.6.x

Yann Ylavic and others added 30 commits July 18, 2014 00:25
git-svn-id: https://svn.apache.org/repos/asf/apr/apr/trunk@1613086 13f79535-47bb-0310-9956-ffa450edef68
PR: 56627
Submitted by: Fredrik Fornwall <fredrik fornwall.net>, trawick


git-svn-id: https://svn.apache.org/repos/asf/apr/apr/trunk@1618843 13f79535-47bb-0310-9956-ffa450edef68
on error path.

Submitted by: Philip Martin <philip.martin wandisco.com>
Reviewed by: trawick


git-svn-id: https://svn.apache.org/repos/asf/apr/apr/trunk@1619438 13f79535-47bb-0310-9956-ffa450edef68
instead of linker def file due to bug with mwldnlm linker
where patch version > 26 is ignored from def file.


git-svn-id: https://svn.apache.org/repos/asf/apr/apr/trunk@1621593 13f79535-47bb-0310-9956-ffa450edef68
and points out that they aren't useful anyway:

  http://public.kitware.com/Bug/view.php?id=14600

remove .pdb handling for static libs regardless of cmake version


git-svn-id: https://svn.apache.org/repos/asf/apr/apr/trunk@1625175 13f79535-47bb-0310-9956-ffa450edef68
driver support for apr_dbd_transaction_end().

PR: 56330
Submitted by: Weiqiang Li <weiqiang_li hotmail.com>


git-svn-id: https://svn.apache.org/repos/asf/apr/apr/trunk@1625247 13f79535-47bb-0310-9956-ffa450edef68
…versions

of NSS detect key sizes correctly, leading to test failures.


git-svn-id: https://svn.apache.org/repos/asf/apr/apr/trunk@1626561 13f79535-47bb-0310-9956-ffa450edef68
git-svn-id: https://svn.apache.org/repos/asf/apr/apr/trunk@1626658 13f79535-47bb-0310-9956-ffa450edef68
     returning IPv4 addresses if any IPv6 addresses were returned. 
     [Eric Covener]




git-svn-id: https://svn.apache.org/repos/asf/apr/apr/trunk@1634615 13f79535-47bb-0310-9956-ffa450edef68
…rect

  return value in case we actually escape the string.

PR: 57230
Submitted by: <aduryagin gmail.com>
Reviewed by: rpluem



git-svn-id: https://svn.apache.org/repos/asf/apr/apr/trunk@1642159 13f79535-47bb-0310-9956-ffa450edef68
Submitted By: Pat Odonnell <patod us ibm com>
Committed By: covener



git-svn-id: https://svn.apache.org/repos/asf/apr/apr/trunk@1646891 13f79535-47bb-0310-9956-ffa450edef68
git-svn-id: https://svn.apache.org/repos/asf/apr/apr/trunk@1646892 13f79535-47bb-0310-9956-ffa450edef68
git-svn-id: https://svn.apache.org/repos/asf/apr/apr/trunk@1646893 13f79535-47bb-0310-9956-ffa450edef68
git-svn-id: https://svn.apache.org/repos/asf/apr/apr/trunk@1648830 13f79535-47bb-0310-9956-ffa450edef68
Reported by 河本和彦 kohmoto iris eonet ne jp.


git-svn-id: https://svn.apache.org/repos/asf/apr/apr/trunk@1664074 13f79535-47bb-0310-9956-ffa450edef68
are added *after* each other, not before


git-svn-id: https://svn.apache.org/repos/asf/apr/apr/trunk@1664406 13f79535-47bb-0310-9956-ffa450edef68
…nd optimize test in insert_compare().

git-svn-id: https://svn.apache.org/repos/asf/apr/apr/trunk@1664447 13f79535-47bb-0310-9956-ffa450edef68
…ert_compare() and keep find_compare() in sync.

git-svn-id: https://svn.apache.org/repos/asf/apr/apr/trunk@1664451 13f79535-47bb-0310-9956-ffa450edef68
We don't need to create the top before inserting, this will be done
if/once the value is really added (since r1611193).

Check compare value only if m->next is not NULL, otherwise we already
known it is to be handled as negative (down).


git-svn-id: https://svn.apache.org/repos/asf/apr/apr/trunk@1664769 13f79535-47bb-0310-9956-ffa450edef68
Generalize the internal stack structure as a queue (FIFO), and use it for the
spare nodes (instead of apr_skiplist_alloc()/free()) and the insertion stack.

Fix a memory leak in destroy() when memory is malloc()ed (pool is NULL).


git-svn-id: https://svn.apache.org/repos/asf/apr/apr/trunk@1664775 13f79535-47bb-0310-9956-ffa450edef68
git-svn-id: https://svn.apache.org/repos/asf/apr/apr/trunk@1664901 13f79535-47bb-0310-9956-ffa450edef68
git-svn-id: https://svn.apache.org/repos/asf/apr/apr/trunk@1664904 13f79535-47bb-0310-9956-ffa450edef68
Yann Ylavic and others added 21 commits April 7, 2017 00:01
Axe the 'absolute' argument of apr_{thread,proc,global}_mutex_timedlock()
which was confusing, hence 'timeout' is always relative now.

It still makes sense (to me) to handle a negative timeout as INFINITE, a nul
one as IMMEDIATE, and a positive one as an upper bound timeout (like most if
not all of the underlying system calls...).



git-svn-id: https://svn.apache.org/repos/asf/apr/apr/trunk@1790488 13f79535-47bb-0310-9956-ffa450edef68
Make it clear in the type that it's a relative/interval time.



git-svn-id: https://svn.apache.org/repos/asf/apr/apr/trunk@1790521 13f79535-47bb-0310-9956-ffa450edef68
apr_proc_mutex_unix_lock_methods_t's timedacquired method.



git-svn-id: https://svn.apache.org/repos/asf/apr/apr/trunk@1790523 13f79535-47bb-0310-9956-ffa450edef68
…ivalent

to apr_{thread,proc,global}_trylock(), i.e. immediate attempt to acquire the
lock (but returning APR_TIMEUP if busy).



git-svn-id: https://svn.apache.org/repos/asf/apr/apr/trunk@1790632 13f79535-47bb-0310-9956-ffa450edef68
Since proc_pthread_mutex_cond_locked() macro is also used as an lvalue, don't
define it as a conditional and put the condition where needed in the code.



git-svn-id: https://svn.apache.org/repos/asf/apr/apr/trunk@1791718 13f79535-47bb-0310-9956-ffa450edef68
Fix proc_mutex_pthread_acquire_ex() for the APR_USE_PROC_PTHREAD_MUTEX_COND
case which shouldn't use undefined pthread_cond_timedwait().



git-svn-id: https://svn.apache.org/repos/asf/apr/apr/trunk@1791728 13f79535-47bb-0310-9956-ffa450edef68
…s for

apr_{proc,thread}_{mutex,cond}_timed{lock,wait}(), such that the given timeout
interval value is not truncated or switched from/to signed/unsigned.



git-svn-id: https://svn.apache.org/repos/asf/apr/apr/trunk@1792620 13f79535-47bb-0310-9956-ffa450edef68
inherent to some native/OS condvar implementation.



git-svn-id: https://svn.apache.org/repos/asf/apr/apr/trunk@1792622 13f79535-47bb-0310-9956-ffa450edef68
Indent block previously preserved (for easier review), no functional change.



git-svn-id: https://svn.apache.org/repos/asf/apr/apr/trunk@1792625 13f79535-47bb-0310-9956-ffa450edef68
It can block without timeout in case of EDEADLK.
On Solaris 8 it does not exist, on Solaris 11
it is fixed. For Solaris 10 no patch is available.


git-svn-id: https://svn.apache.org/repos/asf/apr/apr/trunk@1792961 13f79535-47bb-0310-9956-ffa450edef68
…y be

inherent to some native/OS condvar implementation.



git-svn-id: https://svn.apache.org/repos/asf/apr/apr/trunk@1794266 13f79535-47bb-0310-9956-ffa450edef68
…ompatible

with timed locks, so there is no delta between DEFAULT and DEFAULT_TIMED.

Avoid gratuitous API changes to typical OS lock information.



git-svn-id: https://svn.apache.org/repos/asf/apr/apr/trunk@1797415 13f79535-47bb-0310-9956-ffa450edef68
all the tools on any attempt, then fail if any of the tools
are missing/old.



git-svn-id: https://svn.apache.org/repos/asf/apr/apr/trunk@1798105 13f79535-47bb-0310-9956-ffa450edef68
In case pfd.fd < 0, the poll() function waits until the time-out is expired.
This problem happens when, for instance, ModSecurity drops a connection in httpd. In this case, ressources gets blocked until the timeout expires.
In this situation, we should immediately return an error.
Same problem/solution in v1.6.x
@marcstern

ghost commented Jun 23, 2017

Copy link
Copy Markdown
Author

Credits: @ferrieux

ghost left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks like a good change.

@ylavic

ghost commented Jun 28, 2018

Copy link
Copy Markdown
Member

Sorry for the late, gh is not the best place to propose changes for APR, developers mostly look for the dev@apr.apache.org mailing list and the Apache bugzilla.

Regarding the sanity check proposed in this PR, we don't do defensive programming in APR, if apr_wait_for_io_or_timeout() is called with an invalid file or socket fd, please blame the caller.

@ylavic

ghost commented Jun 28, 2018

Copy link
Copy Markdown
Member

Oh, already discussed here: https://bz.apache.org/bugzilla/show_bug.cgi?id=61985

This pull request was closed.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.