<feed xmlns='http://www.w3.org/2005/Atom'>
<title>delta/apache/apr.git/include, branch thread-name</title>
<subtitle>github.com: github.com: apache/apr.git. This may lag behind the Subversion repository, mirrored as libapr.git.
</subtitle>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/apache/apr.git/'/>
<entry>
<title>On 'thread-name' branch: Merge changes from trunk.</title>
<updated>2022-06-29T14:46:27+00:00</updated>
<author>
<name>Ivan Zhakov</name>
<email>ivan@apache.org</email>
</author>
<published>2022-06-29T14:46:27+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/apache/apr.git/commit/?id=166a06a11e80a5479a806ebb5a213d1c3e547fc7'/>
<id>166a06a11e80a5479a806ebb5a213d1c3e547fc7</id>
<content type='text'>
git-svn-id: https://svn.apache.org/repos/asf/apr/apr/branches/thread-name@1902353 13f79535-47bb-0310-9956-ffa450edef68
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
git-svn-id: https://svn.apache.org/repos/asf/apr/apr/branches/thread-name@1902353 13f79535-47bb-0310-9956-ffa450edef68
</pre>
</div>
</content>
</entry>
<entry>
<title>apr_strings: Provide apr_memzero_explicit() in APR.</title>
<updated>2022-06-28T16:09:12+00:00</updated>
<author>
<name>Yann Ylavic</name>
<email>ylavic@apache.org</email>
</author>
<published>2022-06-28T16:09:12+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/apache/apr.git/commit/?id=4000041d0ea6f7fccea67d2ac3d8205270b1cf1a'/>
<id>4000041d0ea6f7fccea67d2ac3d8205270b1cf1a</id>
<content type='text'>
This function is handy outside apu_crypto usage, don't require users to link
to APU for the feature.

This commit moves the apr_crypto_memzero() implementation to apr_strings under
the apr_memzero_explicit() name, and replaces the calls to the former with the
latter, and apr_crypto_memzero() now calls apr_memzero_explicit() directly.

* include/apr_strings.h():
  Declare apr_memzero_explicit().

* strings/apr_strings.c():
  Implement apr_memzero_explicit() by moving/renaming the code from apu_crypto.

* crypto/apr_crypto.c(apr_crypto_memzero):
  Fall back to apr_memzero_explicit().

* crypto/apr_crypto.c(crypto_clear):
  Use apr_memzero_explicit() instead of apr_crypto_memzero().

* crypto/apr_crypto_prng.c(cprng_cleanup, cprng_stream_bytes,
                           apr_crypto_prng_reseed, cprng_bytes,
                           apr_crypto_prng_rekey, apr_crypto_prng_after_fork):
  Use apr_memzero_explicit() instead of apr_crypto_memzero().

* crypto/apr_md4.c(MD4Transform):
  Use apr_memzero_explicit() instead of apr_crypto_memzero().



git-svn-id: https://svn.apache.org/repos/asf/apr/apr/trunk@1902323 13f79535-47bb-0310-9956-ffa450edef68
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This function is handy outside apu_crypto usage, don't require users to link
to APU for the feature.

This commit moves the apr_crypto_memzero() implementation to apr_strings under
the apr_memzero_explicit() name, and replaces the calls to the former with the
latter, and apr_crypto_memzero() now calls apr_memzero_explicit() directly.

* include/apr_strings.h():
  Declare apr_memzero_explicit().

* strings/apr_strings.c():
  Implement apr_memzero_explicit() by moving/renaming the code from apu_crypto.

* crypto/apr_crypto.c(apr_crypto_memzero):
  Fall back to apr_memzero_explicit().

* crypto/apr_crypto.c(crypto_clear):
  Use apr_memzero_explicit() instead of apr_crypto_memzero().

* crypto/apr_crypto_prng.c(cprng_cleanup, cprng_stream_bytes,
                           apr_crypto_prng_reseed, cprng_bytes,
                           apr_crypto_prng_rekey, apr_crypto_prng_after_fork):
  Use apr_memzero_explicit() instead of apr_crypto_memzero().

* crypto/apr_md4.c(MD4Transform):
  Use apr_memzero_explicit() instead of apr_crypto_memzero().



git-svn-id: https://svn.apache.org/repos/asf/apr/apr/trunk@1902323 13f79535-47bb-0310-9956-ffa450edef68
</pre>
</div>
</content>
</entry>
<entry>
<title>On 'thread-name' branch: Add apr_thread_name_get() and apr_thread_name_set()</title>
<updated>2022-06-27T23:13:52+00:00</updated>
<author>
<name>Ivan Zhakov</name>
<email>ivan@apache.org</email>
</author>
<published>2022-06-27T23:13:52+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/apache/apr.git/commit/?id=7791a5b5497b7dad6f500e2db2df4da1d35cacaf'/>
<id>7791a5b5497b7dad6f500e2db2df4da1d35cacaf</id>
<content type='text'>
API to get/set thread name.

git-svn-id: https://svn.apache.org/repos/asf/apr/apr/branches/thread-name@1902297 13f79535-47bb-0310-9956-ffa450edef68
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
API to get/set thread name.

git-svn-id: https://svn.apache.org/repos/asf/apr/apr/branches/thread-name@1902297 13f79535-47bb-0310-9956-ffa450edef68
</pre>
</div>
</content>
</entry>
<entry>
<title>encoding: Better check inputs of apr_{encode,decode}_* functions.</title>
<updated>2022-06-27T15:26:09+00:00</updated>
<author>
<name>Yann Ylavic</name>
<email>ylavic@apache.org</email>
</author>
<published>2022-06-27T15:26:09+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/apache/apr.git/commit/?id=622905ddfa7b45dfca350e13442892de3c1f48e9'/>
<id>622905ddfa7b45dfca350e13442892de3c1f48e9</id>
<content type='text'>
Check that the given sources can be encoded without overflowing.

Return APR_EINVAL if the given "slen" is negative, APR_NOTFOUND if "dest" is
not NULL and "src" is NULL, or APR_ENOSPC if "dest" is NULL and the source
length (based on "slen" or APR_ENCODE_STRING) is too big to encode.
 
* include/private/apr_encode_private.h():
  Rename ENCODE_TO_ASCII() and ENCODE_TO_NATIVE() to respectively TO_ASCII()
  and TO_ENCODE(), and make them return an unsigned char.

* encoding/apr_escape.c():
  Use the new TO_ASCII() and TO_NATIVE().

* encoding/apr_encode.c(apr_encode_*, apr_decode_*):
  Forbid negative "slen" but APR_ENCODE_STRING, and use apr_size_t arithmetics
  to check for overflows when encoding.
  When "dest" is NULL, "src" can be NULL too.
  Better check for trailing '='s or base16's APR_ENCODE_COLON ':' separators.
  Rename ENCODE_TO_ASCII and ENCODE_TO_NATIVE to their new names, and remove
  casts to (unsigned char) now unnecessary.

* include/apr_encode.h():
  Update dox about acceptable inputs and returned errors.

* test/testencode.c():
  Tests for error conditions.



git-svn-id: https://svn.apache.org/repos/asf/apr/apr/trunk@1902281 13f79535-47bb-0310-9956-ffa450edef68
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Check that the given sources can be encoded without overflowing.

Return APR_EINVAL if the given "slen" is negative, APR_NOTFOUND if "dest" is
not NULL and "src" is NULL, or APR_ENOSPC if "dest" is NULL and the source
length (based on "slen" or APR_ENCODE_STRING) is too big to encode.
 
* include/private/apr_encode_private.h():
  Rename ENCODE_TO_ASCII() and ENCODE_TO_NATIVE() to respectively TO_ASCII()
  and TO_ENCODE(), and make them return an unsigned char.

* encoding/apr_escape.c():
  Use the new TO_ASCII() and TO_NATIVE().

* encoding/apr_encode.c(apr_encode_*, apr_decode_*):
  Forbid negative "slen" but APR_ENCODE_STRING, and use apr_size_t arithmetics
  to check for overflows when encoding.
  When "dest" is NULL, "src" can be NULL too.
  Better check for trailing '='s or base16's APR_ENCODE_COLON ':' separators.
  Rename ENCODE_TO_ASCII and ENCODE_TO_NATIVE to their new names, and remove
  casts to (unsigned char) now unnecessary.

* include/apr_encode.h():
  Update dox about acceptable inputs and returned errors.

* test/testencode.c():
  Tests for error conditions.



git-svn-id: https://svn.apache.org/repos/asf/apr/apr/trunk@1902281 13f79535-47bb-0310-9956-ffa450edef68
</pre>
</div>
</content>
</entry>
<entry>
<title>atomic: Detect 32bit and 64bit atomic builtins separately.</title>
<updated>2022-06-26T22:50:09+00:00</updated>
<author>
<name>Yann Ylavic</name>
<email>ylavic@apache.org</email>
</author>
<published>2022-06-26T22:50:09+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/apache/apr.git/commit/?id=849781e74f9b6c2d6403ca834227167735480020'/>
<id>849781e74f9b6c2d6403ca834227167735480020</id>
<content type='text'>
Some 32bit platforms provide 32bit but not 64bit atomics, detect and
distinctly set/use HAVE_ATOMIC_BUILTINS/HAVE_ATOMIC_BUILTINS64 and
USE_ATOMICS_BUILTINS/USE_ATOMICS_BUILTINS64.

These platforms NEED_ATOMICS_GENERIC64 as 64bit implementation.

* configure.in():
  Use stdint.h's uint{32,64}_t as atomic type for testing atomic builtins
  when available, otherwise "unsigned int" for 32bit testing and
  "unsigned long long" as 64bit.

* configure.in():
  AC_TRY_RUN each 32bit and 64bit type separately, the former determining
  HAVE_ATOMIC_BUILTINS and the latter HAVE_ATOMIC_BUILTINS64.

* include/arch/unix/apr_arch_atomic.h():
  Define USE_ATOMICS_BUILTINS64 when HAVE_ATOMIC_BUILTINS64, otherise
  define NEED_ATOMICS_GENERIC64

* include/arch/unix/apr_arch_atomic.h():
  Check defined(__powerpc__) for USE_ATOMICS_PPC.

* atomic/unix/builtins64.c():
  Implement for USE_ATOMICS_BUILTINS64 only.

BZ 63566.



git-svn-id: https://svn.apache.org/repos/asf/apr/apr/trunk@1902266 13f79535-47bb-0310-9956-ffa450edef68
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Some 32bit platforms provide 32bit but not 64bit atomics, detect and
distinctly set/use HAVE_ATOMIC_BUILTINS/HAVE_ATOMIC_BUILTINS64 and
USE_ATOMICS_BUILTINS/USE_ATOMICS_BUILTINS64.

These platforms NEED_ATOMICS_GENERIC64 as 64bit implementation.

* configure.in():
  Use stdint.h's uint{32,64}_t as atomic type for testing atomic builtins
  when available, otherwise "unsigned int" for 32bit testing and
  "unsigned long long" as 64bit.

* configure.in():
  AC_TRY_RUN each 32bit and 64bit type separately, the former determining
  HAVE_ATOMIC_BUILTINS and the latter HAVE_ATOMIC_BUILTINS64.

* include/arch/unix/apr_arch_atomic.h():
  Define USE_ATOMICS_BUILTINS64 when HAVE_ATOMIC_BUILTINS64, otherise
  define NEED_ATOMICS_GENERIC64

* include/arch/unix/apr_arch_atomic.h():
  Check defined(__powerpc__) for USE_ATOMICS_PPC.

* atomic/unix/builtins64.c():
  Implement for USE_ATOMICS_BUILTINS64 only.

BZ 63566.



git-svn-id: https://svn.apache.org/repos/asf/apr/apr/trunk@1902266 13f79535-47bb-0310-9956-ffa450edef68
</pre>
</div>
</content>
</entry>
<entry>
<title>win32: Remove unused ANSI compatibility code.</title>
<updated>2022-06-17T12:37:48+00:00</updated>
<author>
<name>Ivan Zhakov</name>
<email>ivan@apache.org</email>
</author>
<published>2022-06-17T12:37:48+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/apache/apr.git/commit/?id=c8bd7737e452569ea3d3fe9428e8bae94b3a70a4'/>
<id>c8bd7737e452569ea3d3fe9428e8bae94b3a70a4</id>
<content type='text'>
* file_io/win32/filestat.c
  (more_finfo): Remove code to handle MORE_OF_FSPEC.

* include/arch/win32/apr_arch_file_io.h
  (MORE_OF_FSPEC): Remove.


git-svn-id: https://svn.apache.org/repos/asf/apr/apr/trunk@1902014 13f79535-47bb-0310-9956-ffa450edef68
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* file_io/win32/filestat.c
  (more_finfo): Remove code to handle MORE_OF_FSPEC.

* include/arch/win32/apr_arch_file_io.h
  (MORE_OF_FSPEC): Remove.


git-svn-id: https://svn.apache.org/repos/asf/apr/apr/trunk@1902014 13f79535-47bb-0310-9956-ffa450edef68
</pre>
</div>
</content>
</entry>
<entry>
<title>Bump (C)</title>
<updated>2022-03-09T18:02:03+00:00</updated>
<author>
<name>William A. Rowe Jr</name>
<email>wrowe@apache.org</email>
</author>
<published>2022-03-09T18:02:03+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/apache/apr.git/commit/?id=39c271bca156adee03ff49f864dcce27ae6f5d73'/>
<id>39c271bca156adee03ff49f864dcce27ae6f5d73</id>
<content type='text'>
git-svn-id: https://svn.apache.org/repos/asf/apr/apr/trunk@1898794 13f79535-47bb-0310-9956-ffa450edef68
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
git-svn-id: https://svn.apache.org/repos/asf/apr/apr/trunk@1898794 13f79535-47bb-0310-9956-ffa450edef68
</pre>
</div>
</content>
</entry>
<entry>
<title>* Improve detection of _Thread_local</title>
<updated>2022-03-09T13:05:17+00:00</updated>
<author>
<name>Ruediger Pluem</name>
<email>rpluem@apache.org</email>
</author>
<published>2022-03-09T13:05:17+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/apache/apr.git/commit/?id=d5f3f3ff27ee85ffc0db9966ca9478684959c40b'/>
<id>d5f3f3ff27ee85ffc0db9966ca9478684959c40b</id>
<content type='text'>
GCC &lt; 4.9 reports __STDC_VERSION__ &gt;= 201112 but does not implement
_Thread_local. Take care of this in the condition.

See: https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=203066


git-svn-id: https://svn.apache.org/repos/asf/apr/apr/trunk@1898779 13f79535-47bb-0310-9956-ffa450edef68
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
GCC &lt; 4.9 reports __STDC_VERSION__ &gt;= 201112 but does not implement
_Thread_local. Take care of this in the condition.

See: https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=203066


git-svn-id: https://svn.apache.org/repos/asf/apr/apr/trunk@1898779 13f79535-47bb-0310-9956-ffa450edef68
</pre>
</div>
</content>
</entry>
<entry>
<title>On 'win32-pollset-wakeup-no-file-socket-emulation' branch: Merge changes from</title>
<updated>2022-02-09T10:39:35+00:00</updated>
<author>
<name>Ivan Zhakov</name>
<email>ivan@apache.org</email>
</author>
<published>2022-02-09T10:39:35+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/apache/apr.git/commit/?id=0ef545062eda29eb0db5f49e11ca4fec3e038529'/>
<id>0ef545062eda29eb0db5f49e11ca4fec3e038529</id>
<content type='text'>
trunk.

git-svn-id: https://svn.apache.org/repos/asf/apr/apr/branches/win32-pollset-wakeup-no-file-socket-emulation@1897894 13f79535-47bb-0310-9956-ffa450edef68
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
trunk.

git-svn-id: https://svn.apache.org/repos/asf/apr/apr/branches/win32-pollset-wakeup-no-file-socket-emulation@1897894 13f79535-47bb-0310-9956-ffa450edef68
</pre>
</div>
</content>
</entry>
<entry>
<title>poll: Follow up to r1897521: Clarify what APR_POLLEXCL means.</title>
<updated>2022-01-27T14:20:36+00:00</updated>
<author>
<name>Yann Ylavic</name>
<email>ylavic@apache.org</email>
</author>
<published>2022-01-27T14:20:36+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/apache/apr.git/commit/?id=196c241c5980dba46bfc309cc4d92f7b3f543133'/>
<id>196c241c5980dba46bfc309cc4d92f7b3f543133</id>
<content type='text'>
This is to avoid the thundering herd issue when multiple threads/processes
poll on the same descriptor (usually listening/to-be-accept()ed descriptors).



git-svn-id: https://svn.apache.org/repos/asf/apr/apr/trunk@1897549 13f79535-47bb-0310-9956-ffa450edef68
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This is to avoid the thundering herd issue when multiple threads/processes
poll on the same descriptor (usually listening/to-be-accept()ed descriptors).



git-svn-id: https://svn.apache.org/repos/asf/apr/apr/trunk@1897549 13f79535-47bb-0310-9956-ffa450edef68
</pre>
</div>
</content>
</entry>
</feed>
