summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* tag 1.7.3-rc11.7.3-rc1Ruediger Pluem2023-03-270-0/+0
| | | | git-svn-id: https://svn.apache.org/repos/asf/apr/apr/tags/1.7.3-rc1@1908744 13f79535-47bb-0310-9956-ffa450edef68
* prep to tag 1.7.3Ruediger Pluem2023-03-271-1/+1
| | | | git-svn-id: https://svn.apache.org/repos/asf/apr/apr/branches/1.7.x@1908743 13f79535-47bb-0310-9956-ffa450edef68
* Merge r1908248, r1908336 from trunk:Ruediger Pluem2023-03-133-7/+37
| | | | | | | | | | | | | | | | | | | | | | | | Fix crosscompiling detection in apr-1-config Since r1872148 apr-1-config tries to detect if it runs in a crosscompile scenario. Fix the detection to correctly distinguish between crosscompiling and DESTDIR installations for packaging. * configure.in: Set APR_CROSS_COMPILING to 'no', 'yes' or 'maybe' based on possible --host and --build parameters given to configure to determine if configure was called for a crosscompiling scenario. This was inspired by how autoconf itself detects crosscompiling scenarios. * apr-config.in: Use the value from APR_CROSS_COMPILING to determine if we are in a crosscompiling scenario. Furthermore normalize the pathes we use for suffix matches by collapsing multiple consecutive '/' to one. PR: 66510 * Add CHANGES entry for r1908248 [skip ci] git-svn-id: https://svn.apache.org/repos/asf/apr/apr/branches/1.7.x@1908342 13f79535-47bb-0310-9956-ffa450edef68
* Merge r1908170 from trunk:Ruediger Pluem2023-03-071-0/+3
| | | | | | | * Add changes entry for r1907566 [skip ci] git-svn-id: https://svn.apache.org/repos/asf/apr/apr/branches/1.7.x@1908171 13f79535-47bb-0310-9956-ffa450edef68
* Merge r1907566 from trunk:Ruediger Pluem2023-03-071-0/+7
| | | | | | | | * Since r1901037 Posix shared mem is prefered over SysV shared mem. Add an option to revert this choice on systems that provide both. git-svn-id: https://svn.apache.org/repos/asf/apr/apr/branches/1.7.x@1908168 13f79535-47bb-0310-9956-ffa450edef68
* test/testshm: Fix synchronization of msgput/msgwait IPC functions.Yann Ylavic2023-03-024-62/+65
| | | | | | | | | | | | | | | | | | | | * test/testshm.h(): Move (APR_INLINE) common msgput/msgwait() functions there. * test/testshm.h(msgput, msgwait): Use atomics (cas) to prevent producer and consumer from writing to the same box. * testshm.c, testshmconsumer.c, testshmproducer.c: Use common helpers. Merges r1902267 from trunk. Merges r1908004 from 1.8.x. Submitted by: ylavic git-svn-id: https://svn.apache.org/repos/asf/apr/apr/branches/1.7.x@1908005 13f79535-47bb-0310-9956-ffa450edef68
* apr_atomic: Generic apr_atomic_read64() needs a mutex on 32bit systems ↵Yann Ylavic2023-03-025-52/+96
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | (tearing). A 64bit load on a 32 bit CPU/system uses two instructions (tearing), so ensure atomicity with regard to other atomic functions by using the (same) lock. test_atomics_threaded64() fails because of this on 32bit systems. PR 66457. * atomic/unix/mutex64.c(apr_atomic_read64): Use locking when APR_SIZEOF_VOIDP < 8 atomic64: Generic apr_atomic_read64() to always use a lock. Don't play games with sizeof(void*) to determine whether a raw load intruction is atomic or not. Systems that fall back to the generic implementation are not eligible for the compiler builtins or CPU native atomic intructions already, and we don't want to reimplement that here (e.g. alignment, ordering guarantees, ...). * atomic/unix/mutex64.c(apr_atomic_read64): No #ifdefery, always take the lock. Follow up to r1907541. atomic: No raw 64bit load/store on 32bit systems or anything but x86_64 or s390x. Raw 64 bit load and store need two intructions on 32bit systems (tearing) so they are not atomic, and only x86(_64) and s390(x) have stong mempry ordering guarantees. Always use builtin functions for the cases where raw load/store don't work as expected. * atomic/unix/builtins.c, atomic/unix/builtins64.c: Use an accept-list rather than a reject-list to define WEAK_MEMORY_ORDERING. Test APR_SIZEOF_VOIDP < 8 to force usage of __sync builtins for _read{32,64} and _set{32,64} on 32bit systems when __atomic_{load,store} buitlins are not available. configure: Test apr_uint64_t alignment for 64bit atomic builtins usability. On some systems the __atomic builtins may be available only through libatomic or fall back to libatomic when the atomic operations are not issued on a suitably aligned address (64bit atomics on 8-byte aligned addresses only for instance). Modify the tests for HAVE_ATOMIC_BUILTINS64 and HAVE__ATOMIC_BUILTINS64 such that the address for the atomic operations is not aligned (unless 64bit ints always have the suitable alignment, i.e. mainly 64bit systems..). Also, use the __atomic_always_lock_free() builtin to fail the test when the compiler already knows about the alignment issue (falling back to libatomic, which we don't require/want). With this, 64bit builtins should be selected only for platforms that can natively handle atomics on any apr_uin64_t (since the APR has no dedicated 8-byte aligned 64bit type for now), while the generic/mutex implementation is used for others. testatomic: initialize in the test the globals used by it. Just in case the test is later reordered (e.g. test_atomics_threaded64 and test_atomics_threaded_setread64 use the same atomic_ops64 variable). atomic: test 4-bytes aligned and/or cross-cacheline atomics (on 32bit systems). Merges r1907541, r1907678, r1907637, r1907642, r1907677, r1907985 from trunk. Merges r1907679, r1907998 from 1.8.x. Submitted by: ylavic git-svn-id: https://svn.apache.org/repos/asf/apr/apr/branches/1.7.x@1908002 13f79535-47bb-0310-9956-ffa450edef68
* testatomic: Use new numeric types assertions from r1902191 to avoid warnings.Yann Ylavic2023-03-021-48/+48
| | | | | | | | | | | | | | | | | | | | | | | * test/testatomic.c(): Use ABTS_UINT_EQUAL() to compare apr_uint32_t atomics, and ABTS_ULLONG_EQUAL() for apr_uint64_t ones. testatomic: Follow up to r1902199: More numeric types assertions. * test/testatomic.c(busyloop_dec32): Use ABTS_UINT_EQUAL(). * test/testatomic.c(busyloop_dec64): Use ABTS_ULLONG_EQUAL(). Merge r1902199, r1902204 from trunk. Merges r1902221 from 1.8.x. Submitted by: ylavic git-svn-id: https://svn.apache.org/repos/asf/apr/apr/branches/1.7.x@1908000 13f79535-47bb-0310-9956-ffa450edef68
* test/abts: More numeric types to compare/assert.Yann Ylavic2023-03-022-45/+78
| | | | | | | | | | | | | | | | | | | | | | | * test/abts.h(): Declare abts_{uint,long,ulong,llong,ullong}_{n,}equal() and the corresponding ABTS_{UINT,LONG,ULONG,LLONG,ULLONG}_{N,}EQUAL() wrappers. * test/abts.c(): Implement abts_{uint,long,ulong,llong,ullong}_{n,}equal() using a common macro. test/abts: Follow up to r1902191: Fix IMPL_abts_T_nequal. * test/abts.c(IMPL_abts_T_nequal): Invert logic from IMPL_abts_T_equal (bad copypasta) Merge r1902191, r1902192 from trunk. Merges r1902220 from 1.8.x. Submitted by: ylavic git-svn-id: https://svn.apache.org/repos/asf/apr/apr/branches/1.7.x@1907999 13f79535-47bb-0310-9956-ffa450edef68
* CHANGES: Add newline.Ivan Zhakov2023-02-111-0/+1
| | | | git-svn-id: https://svn.apache.org/repos/asf/apr/apr/branches/1.7.x@1907576 13f79535-47bb-0310-9956-ffa450edef68
* On 1.7.x branch: Following up on r1907495, change the names of files inEvgeny Kotkov2023-02-071-5/+5
| | | | | | | | | | | | | | | | | | testfile.c from .txt to .dat, because testfnmatch currently expects to see a specific number of .txt files in a directory. In trunk this was changed in r1888251, and this revision has already been backported to 1.7.x. But with r1907495 being backported later, some of the filenames from the new tests were still using .txt extension and that was causing testfnmatch to fail. * test/testfile.c (test_gets_empty, test_gets_multiline, test_gets_small_buf, test_gets_ungetc, test_gets_buffered_big): Use .dat instead of .txt for the filenames. git-svn-id: https://svn.apache.org/repos/asf/apr/apr/branches/1.7.x@1907502 13f79535-47bb-0310-9956-ffa450edef68
* On 1.7.x branch: CHANGES: Drop my email from the entries in the 1.7.3Evgeny Kotkov2023-02-071-5/+4
| | | | | | | section, for consistency. git-svn-id: https://svn.apache.org/repos/asf/apr/apr/branches/1.7.x@1907501 13f79535-47bb-0310-9956-ffa450edef68
* On 1.7.x branch: Merge r1828509, r1902371 from trunk:Evgeny Kotkov2023-02-073-23/+425
| | | | | | | apr_file_read: Optimize large reads from buffered files on Windows. git-svn-id: https://svn.apache.org/repos/asf/apr/apr/branches/1.7.x@1907500 13f79535-47bb-0310-9956-ffa450edef68
* On 1.7.x branch: Merge r1806299, r1806301, r1806308, r1806610 from trunk:Evgeny Kotkov2023-02-073-53/+279
| | | | | | | apr_file_write: Optimize large writes to buffered files on Windows. git-svn-id: https://svn.apache.org/repos/asf/apr/apr/branches/1.7.x@1907499 13f79535-47bb-0310-9956-ffa450edef68
* On 1.7.x branch: Merge r1808456 from trunk:Evgeny Kotkov2023-02-073-1/+54
| | | | | | | Don't seek to the end when opening files with APR_FOPEN_APPEND on Windows. git-svn-id: https://svn.apache.org/repos/asf/apr/apr/branches/1.7.x@1907498 13f79535-47bb-0310-9956-ffa450edef68
* On 1.7.x branch: Merge r1806604, r1806608 from trunk:Evgeny Kotkov2023-02-073-6/+209
| | | | | | | | Fix a deadlock when writing to locked files opened with APR_FOPEN_APPEND on Windows (PR 50058). git-svn-id: https://svn.apache.org/repos/asf/apr/apr/branches/1.7.x@1907497 13f79535-47bb-0310-9956-ffa450edef68
* On 1.7.x branch: Following up on r1907495, adjust the location of theEvgeny Kotkov2023-02-071-3/+3
| | | | | | | new CHANGES entry. git-svn-id: https://svn.apache.org/repos/asf/apr/apr/branches/1.7.x@1907496 13f79535-47bb-0310-9956-ffa450edef68
* On 1.7.x branch: Merge r1785072, r1788930 from trunk:Evgeny Kotkov2023-02-073-65/+365
| | | | | | | apr_file_gets: Optimize for buffered files on Windows. git-svn-id: https://svn.apache.org/repos/asf/apr/apr/branches/1.7.x@1907495 13f79535-47bb-0310-9956-ffa450edef68
* On 1.7.x branch: Follow-up to r1907464: update CHANGES file.Ivan Zhakov2023-02-061-1/+1
| | | | git-svn-id: https://svn.apache.org/repos/asf/apr/apr/branches/1.7.x@1907466 13f79535-47bb-0310-9956-ffa450edef68
* Merge r1859174 from trunk:Ivan Zhakov2023-02-062-1/+18
| | | | | | | | apr_dir_read: Do not request short file names on Windows 7 and later. This significantly improves directory listing performance on volumes with 8.3 filenames enabled (default for system volume). git-svn-id: https://svn.apache.org/repos/asf/apr/apr/branches/1.7.x@1907465 13f79535-47bb-0310-9956-ffa450edef68
* Merge r1866932 from trunk:Ivan Zhakov2023-02-064-12/+32
| | | | | | win32: Do not use TransmitFile directly. git-svn-id: https://svn.apache.org/repos/asf/apr/apr/branches/1.7.x@1907464 13f79535-47bb-0310-9956-ffa450edef68
* add bannerEric Covener2023-02-011-0/+2
| | | | git-svn-id: https://svn.apache.org/repos/asf/apr/apr/branches/1.7.x@1907206 13f79535-47bb-0310-9956-ffa450edef68
* 1.7.3-devEric Covener2023-02-012-3/+4
| | | | git-svn-id: https://svn.apache.org/repos/asf/apr/apr/branches/1.7.x@1907203 13f79535-47bb-0310-9956-ffa450edef68
* prep for publishEric Covener2023-02-011-0/+3
| | | | git-svn-id: https://svn.apache.org/repos/asf/apr/apr/branches/1.7.x@1907186 13f79535-47bb-0310-9956-ffa450edef68
* add bannerEric Covener2023-01-311-0/+2
| | | | git-svn-id: https://svn.apache.org/repos/asf/apr/apr/branches/1.7.x@1907171 13f79535-47bb-0310-9956-ffa450edef68
* prop for 1.7.2 for packaging issueEric Covener2023-01-311-2/+2
| | | | git-svn-id: https://svn.apache.org/repos/asf/apr/apr/branches/1.7.x@1907164 13f79535-47bb-0310-9956-ffa450edef68
* update dev statusEric Covener2023-01-312-2/+3
| | | | git-svn-id: https://svn.apache.org/repos/asf/apr/apr/branches/1.7.x@1907158 13f79535-47bb-0310-9956-ffa450edef68
* changes for released CVESEric Covener2023-01-311-0/+10
| | | | git-svn-id: https://svn.apache.org/repos/asf/apr/apr/branches/1.7.x@1907155 13f79535-47bb-0310-9956-ffa450edef68
* Merge r1906864 from trunk:Ivan Zhakov2023-01-213-0/+3
| | | | | | .github/workflows: Enable CI builds for tags. git-svn-id: https://svn.apache.org/repos/asf/apr/apr/branches/1.7.x@1906866 13f79535-47bb-0310-9956-ffa450edef68
* Merge r1906826 from 1.8.x:Eric Covener2023-01-191-0/+4
| | | | | | | | | | | | | | | Merge r1906825 from trunk: force USE_SHMEM_SHMGET on AIX prior to r1901037 on trunk, USE_SHMEM_SHMGET is used. APR_USE_SHMEM_MMAP_SHM does not currently work on AIX. git-svn-id: https://svn.apache.org/repos/asf/apr/apr/branches/1.7.x@1906827 13f79535-47bb-0310-9956-ffa450edef68
* prep to tag 1.7.1Eric Covener2023-01-191-1/+1
| | | | git-svn-id: https://svn.apache.org/repos/asf/apr/apr/branches/1.7.x@1906812 13f79535-47bb-0310-9956-ffa450edef68
* Merge r1906809 from trunk:Eric Covener2023-01-192-2/+2
| | | | | | | | bump copyright for 2023 git-svn-id: https://svn.apache.org/repos/asf/apr/apr/branches/1.7.x@1906811 13f79535-47bb-0310-9956-ffa450edef68
* Merge r1906751 from 1.8.x:Ivan Zhakov2023-01-171-2/+4
| | | | | | | | | CMakeLists.txt: Make CMAKE_MINIMUM_REQUIRED first directive as recommended by CMake documentation [1]. [1] https://cmake.org/cmake/help/latest/command/cmake_minimum_required.html git-svn-id: https://svn.apache.org/repos/asf/apr/apr/branches/1.7.x@1906752 13f79535-47bb-0310-9956-ffa450edef68
* Merge r1906723 from trunk:Joe Orton2023-01-172-2/+2
| | | | | | | | | | | | | | Further strict C99 configure fix: Avoid an implicit int in the definition of the main function. Avoids build problems with future C compilers which will not support them by default. Submitted by: Florian Weimer <fweimer redhat.com> PR: 66426 git-svn-id: https://svn.apache.org/repos/asf/apr/apr/branches/1.7.x@1906725 13f79535-47bb-0310-9956-ffa450edef68
* Merge r1906594 from trunk:Joe Orton2023-01-115-7/+31
| | | | | | | | | | Fix further strict C99 compliance issue. (fixes #37) PR: 66408 Submitted by: Sam James <sam gentoo.org> git-svn-id: https://svn.apache.org/repos/asf/apr/apr/branches/1.7.x@1906595 13f79535-47bb-0310-9956-ffa450edef68
* Merge r1906347 from trunk:Joe Orton2023-01-032-1/+4
| | | | | | | | | | | Fix configure for compilers which don't accept implicit int (no longer part of C since C99). Submitted by: Florian Weimer <fweimer redhat.com> PR: 66396 git-svn-id: https://svn.apache.org/repos/asf/apr/apr/branches/1.7.x@1906349 13f79535-47bb-0310-9956-ffa450edef68
* testfile: try to determine how apr_file_datasync() fails for streams on macos.Yann Ylavic2022-10-201-1/+7
| | | | | | | | | | | | | | | | | | * test/testfile.c(test_datasync_on_stream): Let ABTS_INT_EQUAL show the actual errno. test/testfile.c: apr_file_datasync() fails with ENOTSUP for streams on macos. * test/testfile.c(test_datasync_on_stream): Handle ENOTSUP on macos. Merge r1902175, r1902180 from trunk. Merges r1902228 from ^/apr/apr/branches/1.8.x. git-svn-id: https://svn.apache.org/repos/asf/apr/apr/branches/1.7.x@1904747 13f79535-47bb-0310-9956-ffa450edef68
* On 1.7.x branch: Merge r1904735 from 1.8.x branch:Evgeny Kotkov2022-10-201-7/+2
| | | | | | | | Following up on r1904715, rework the check to properly handle an overflow when apr_size_t is 32-bit long. git-svn-id: https://svn.apache.org/repos/asf/apr/apr/branches/1.7.x@1904736 13f79535-47bb-0310-9956-ffa450edef68
* Trigger ciYann Ylavic2022-10-201-1/+1
| | | | git-svn-id: https://svn.apache.org/repos/asf/apr/apr/branches/1.7.x@1904725 13f79535-47bb-0310-9956-ffa450edef68
* On 1.7.x branch: Merge r1904716 from 1.8.x branch:Evgeny Kotkov2022-10-201-32/+22
| | | | | | | | | Win32: Stop apr_socket_sendv() from splitting iovecs into multiple possible WSABUFs and error out on theoretical cases that cannot be handled with a single WSASend(). git-svn-id: https://svn.apache.org/repos/asf/apr/apr/branches/1.7.x@1904718 13f79535-47bb-0310-9956-ffa450edef68
* Revert r1904674 that merged r1902312 from trunkEvgeny Kotkov2022-10-201-21/+12
| | | | | | | (apr_socket_sendv: WIN32: Limit the number of WSABUFs allocated for a single call). git-svn-id: https://svn.apache.org/repos/asf/apr/apr/branches/1.7.x@1904717 13f79535-47bb-0310-9956-ffa450edef68
* encoding: Better check inputs of apr_{encode,decode}_* functions.Yann Ylavic2022-10-185-806/+1224
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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. testencode: Follow up to r1902281: error tests for apr_decode_base16_binary. testencode: Follow up to r1902281: Correct call convention for encdec_fn. testencode: Follow up to r1902281: Correct call convention for encdec_fn (try 2). testencode: Follow up to r1902281: Inline, no calling convention assumptions. Merges r1902281, r1902282, r1902284, r1902285, r1902286 from trunk. git-svn-id: https://svn.apache.org/repos/asf/apr/apr/branches/1.7.x@1904675 13f79535-47bb-0310-9956-ffa450edef68
* apr_socket_sendv: WIN32: Limit the number of WSABUFs allocated for a single ↵Yann Ylavic2022-10-181-12/+21
| | | | | | | | | | | | | | | | call. * network_io/win32/sendrecv.c(): Define WSABUF_ON_HEAP to 500. * network_io/win32/sendrecv.c(apr_socket_sendv): Do not sendv more than WSABUF_ON_HEAP WSABUFs. Merge r1902312 from trunk. git-svn-id: https://svn.apache.org/repos/asf/apr/apr/branches/1.7.x@1904674 13f79535-47bb-0310-9956-ffa450edef68
* On 1.7.x: Merge r1902043 from 1.8.x branch:Ivan Zhakov2022-09-122-9/+8
| | | | | | | Fix a regression in apr_stat() for root path on Windows caused by the extended symlink detection added in r1855949 (PR47630). git-svn-id: https://svn.apache.org/repos/asf/apr/apr/branches/1.7.x@1904030 13f79535-47bb-0310-9956-ffa450edef68
* On 1.7.x: Merge r1902119, r1902122, r1902223 from 1.8.x branch:Ivan Zhakov2022-09-121-0/+94
| | | | | | | - Add simple tests for nested and unnested thread mutexes. - Add test for WAIT_ABANDONED handling for win32 mutexes. git-svn-id: https://svn.apache.org/repos/asf/apr/apr/branches/1.7.x@1904029 13f79535-47bb-0310-9956-ffa450edef68
* On 1.7.x branch: Merge r1902111 from 1.8.x branch:Ivan Zhakov2022-09-122-2/+6
| | | | | | win32: Fix double free on exit when apr_app is used on Windows. git-svn-id: https://svn.apache.org/repos/asf/apr/apr/branches/1.7.x@1904025 13f79535-47bb-0310-9956-ffa450edef68
* On 1.7.x branch: Merge r1902110 from 1.8.x branch:Ivan Zhakov2022-09-122-5/+30
| | | | | | win32: Fix attempt to free invalid memory on exit when apr_app is used. git-svn-id: https://svn.apache.org/repos/asf/apr/apr/branches/1.7.x@1904024 13f79535-47bb-0310-9956-ffa450edef68
* On 1.7.x branch: Merge r1902116, r1902254, r1902219 from 1.8.x branch:Ivan Zhakov2022-09-121-4/+54
| | | | | | Lock tests fixes. git-svn-id: https://svn.apache.org/repos/asf/apr/apr/branches/1.7.x@1904023 13f79535-47bb-0310-9956-ffa450edef68
* On 1.7.x branch: Merge r1902088 from 1.8.x branch:Ivan Zhakov2022-09-121-2/+2
| | | | | | Merge r1895514 and r1902063 from trunk. git-svn-id: https://svn.apache.org/repos/asf/apr/apr/branches/1.7.x@1904017 13f79535-47bb-0310-9956-ffa450edef68
* On 1.7.x branch: Merge r1904015 from 1.8.x branch:Ivan Zhakov2022-09-121-0/+17
| | | | | | | tests: Configure VC runtime to write errors to stderr instead of displaying popup message box on Windows. git-svn-id: https://svn.apache.org/repos/asf/apr/apr/branches/1.7.x@1904016 13f79535-47bb-0310-9956-ffa450edef68