summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* Post 1.7.4-rc1 tag updates1.7.4-rc1-candidatecovener2023-04-131-1/+1
| | | | git-svn-id: https://svn.apache.org/repos/asf/apr/apr/tags/1.7.4-rc1-candidate@1909107 13f79535-47bb-0310-9956-ffa450edef68
* Tag branches/1.7.x@1909105 as 1.7.4-rc1covener2023-04-130-0/+0
|\ | | | | | | git-svn-id: https://svn.apache.org/repos/asf/apr/apr/tags/1.7.4-rc1-candidate@1909106 13f79535-47bb-0310-9956-ffa450edef68
* | Tag branches/1.7.x@1909103 as 1.7.4-rc1covener2023-04-130-0/+0
|/ | | | git-svn-id: https://svn.apache.org/repos/asf/apr/apr/tags/1.7.4-rc1-candidate@1909104 13f79535-47bb-0310-9956-ffa450edef68
* On 1.7.x branch: Merge r1909088, r1909089 from trunk:kotkov2023-04-123-51/+50
| | | | | | | | | | | Revert r1808456 (Win32: Don't seek to the end when opening files with APR_FOPEN_APPEND). Add a regression test for the issue where appending to a buffered file was causing the content to be written at offset 0, rather than appended. git-svn-id: https://svn.apache.org/repos/asf/apr/apr/branches/1.7.x@1909095 13f79535-47bb-0310-9956-ffa450edef68
* On 1.7.x branch: CHANGES: Fix typo in the final changelog entry for APR 1.7.3.kotkov2023-04-121-1/+1
| | | | git-svn-id: https://svn.apache.org/repos/asf/apr/apr/branches/1.7.x@1909092 13f79535-47bb-0310-9956-ffa450edef68
* 1.7.4-devrpluem2023-03-313-3/+6
| | | | git-svn-id: https://svn.apache.org/repos/asf/apr/apr/branches/1.7.x@1908842 13f79535-47bb-0310-9956-ffa450edef68
* * Revert backport of 1908434, 1908435. rpluem2023-03-281-2/+0
| | | | | | | These changes only make sense for APR-UTIL which is part of APR in trunk. git-svn-id: https://svn.apache.org/repos/asf/apr/apr/branches/1.7.x@1908763 13f79535-47bb-0310-9956-ffa450edef68
* Merge r1908434, r1908435, r1908436, r1908437 from trunk:rpluem2023-03-281-2/+6
| | | | | | | | | | | | | Test --with-crypto in ci. Follow up to r1908434: --with-openssl too. ci: DSOs should be installed for apu_dso_load(). ci: install to some writable directory. git-svn-id: https://svn.apache.org/repos/asf/apr/apr/branches/1.7.x@1908759 13f79535-47bb-0310-9956-ffa450edef68
* prep to tag 1.7.3rpluem2023-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:rpluem2023-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:rpluem2023-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:rpluem2023-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.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 ↵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.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.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.ivan2023-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 inkotkov2023-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.3kotkov2023-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: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: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: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: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 thekotkov2023-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: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.ivan2023-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:ivan2023-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:ivan2023-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 bannercovener2023-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-devcovener2023-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 publishcovener2023-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 bannercovener2023-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 issuecovener2023-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 statuscovener2023-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 CVEScovener2023-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:ivan2023-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: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.1covener2023-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: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:ivan2023-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:jorton2023-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:jorton2023-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:jorton2023-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.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: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 ciylavic2022-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: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
* On 1.7.x branch: Revert r1904674 that merged r1902312 from trunkkotkov2022-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.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 ↵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. [Reverted by r1904717] git-svn-id: https://svn.apache.org/repos/asf/apr/apr/branches/1.7.x@1904674 13f79535-47bb-0310-9956-ffa450edef68