-*-编码:utf-8-*-4月1.7.4日的变化*)修复一个回归,其中写入用APR_FOPEN_APPEND打开的文件而APR_FOPEN_BUFFERED没有在Windows上正确附加数据。(该回归在APR 1.7.3中引入)[Evgeny Kotkov]4月1.7.3日的变化*)apr-1-config:修复apr-1-config中的交叉编译检测。公关66510[Ruediger Pluem]*)configure:添加--enable-sysv-shm以使用sysv共享内存(shmget),如果可用。[Ruediger Pluem]*)apr_socket_sendfile:使用WSAIoctl()获取TransmitFile函数Windows上的指针。[伊万·扎科夫]*)apr_dir_read:不要在Windows 7上请求短文件名以及稍后。[伊万·扎科夫]*)apr_file_gets:优化Windows上的缓冲文件。[Evgeny Kotkov]*)修复写入使用APR_FOPEN_APPEND打开的锁定文件时的死锁在Windows上。PR 50058。[Evgeny Kotkov]*)在Windows上使用APR_FOPEN_APPEND打开文件时,不要穷追不舍。[Evgeny Kotkov]*)apr_file_write:优化Windows上对缓冲文件的大写操作。[Evgeny Kotkov]*)apr_file_read:优化Windows上缓冲文件的大读取。[Evgeny Kotkov]4月1.7.2日的变化*)纠正1.7.1中的包装问题。发布的内容是正确,但顶层目录命名错误。4月1.7.1日的变更*)安全:CVE-22-24963(CVE.mitre.org)的apr_encode函数中存在整数溢出或环绕漏洞Apache Portable Runtime(APR)允许攻击者越界写入缓冲区。*)安全:CVE-22-28331(CVE.mitre.org)在Windows上,Apache Portable Runtime 1.7.0和更早版本可能会超越aprsocketsendv()中基于堆栈的缓冲区的末尾。这是一个结果整数溢出。*)安全:CVE-2021-35940(CVE.mitre.org)恢复修复apr_time_exp*()函数中的边界外数组取消引用。(该问题在4月1.6.3日被称为CVE-2017-12613后来的1.6.x版本,但在1.7.0中丢失了。)[Stefan Sperling]*)configure:修复编译器强制执行的各种生成问题严格遵守C99。PR 66396、66408、66426。[Florian Weimer、萨姆·詹姆斯]*)apr_atomic_read64():修复32位Windows上的非原子读取[Ivan Zhakov]*)configure:首选基于posix名称的共享内存,而不是SysV IPC。[吉姆·贾吉尔斯基]*)configure:添加--禁用sctp参数以强制禁用sctp支持,或--enable-sctp,如果不支持sctp,则会失败检测。[卢博斯·乌利亚里克,乔·奥尔顿]*)修复Win32 apr_uid_current实现中的句柄泄漏。第61165页。[伊万·扎科夫]*)在apr_file_write()和中添加lseek()失败的错误处理apr_file_writev()。[乔·奥尔顿]*)不要为APR_file_mktemp()创建的文件静默设置APR_FOPEN_NOCLEANUP避免fd和inode在/if稍后传递给aprfilesetaside()时泄漏。[亚恩·伊拉维奇]*)APR的配置脚本使用AC_TRY_RUN检测返回类型strerror_r的值为int。交叉编译时,此值默认为no。此提交添加了AC_CACHE_CHECK,因此交叉编译APR的用户可以使用configure变量影响结果。[塞巴斯蒂安·坎佩尔]*)添加交叉编译APR的用户的缓存检查可以通过设置变量来影响/dev/zero测试的结果ac_cv_mmap__dev_zero=是[塞巴斯蒂安·坎佩尔]*)使用autoconf在帮助中打印正确的默认前缀。[斯特凡·弗里奇]*)交叉编译时,默认情况下不要尝试使用PROC_PTHREAD。[亚恩·伊拉维奇]*)添加交叉编译APR.的功能[Graham Leggett]*)交叉编译时,工具/gen_test_char无法在构建时执行,使用AX_PROG_CC_FOR_build构建本机工具/gentestchar支持buildcheck.sh之前通过变量赋值显式libtool,它有助于交叉编译(例如libtool=aarch64-linux-libtool)[贾洪旭]*)避免32位平台上的溢出。[勒内·霍尔斯科夫·尼尔森]*)使用AC_CHECK_SIZEOF,以便支持交叉编译。PR 56053。[Mike Frysinger]*)将--tag=CC添加到libtool调用中。第62640页。[迈克尔·奥西波夫]*)apr_pools:修复池调试输出,以便创建事件总是在分配事件和子池销毁之前发出在池清除/销毁时发出事件以进行正确的记帐。[布雷·采贝吉]*)apr_socket_listen:在Windows 8+上允许更大的侦听积压值。[叶夫根尼·科特科夫]*)修复了:apr_get_oslevel()在Windows 10上返回apr_WIN_XP*)修复使用apr_app时在退出时释放无效内存的尝试在Windows上。[伊万·扎科夫]*)修复在Windows上使用apr_app时退出时的double free。[伊万·扎科夫]*)在apr_stat()中修复Windows上根路径的回归。[伊万·扎科夫]4月1.7.0日的变更*)apr_dir_read:[Unix]删除了dirread_()风格的首选项对于dirread(),因为前者既已弃用又不需要。[亚恩·伊拉维奇,威廉·罗]*)apr_file_info:[仅Win32]仅处理“名称代理”重分析点作为符号链接,而不是其他重分析标记类型。PR47630型[奥列格·利亚特]*)在长型和长型明显相等的情况。[威廉·罗]*)认识到APPLE预定义的宏与DARWIN等效。[吉姆·贾吉尔斯基]*)信号:允许在apr_signal_thread中处理SIGUSR2。[亚恩·伊拉维奇]*)原子:支持64位整数。[吉姆·贾吉尔斯基]*)添加实现RFC4648和RFC7515的apr_code_*API符合BASE64、BASE64URL、BASE32、BASE32HEX和BASE16编码/解码功能。[格雷厄姆·莱格特]*)rand:在BSD平台上使用arc4random_buf(),在Linux上使用getrandom(),如果可用。[克里斯蒂安·魏斯格伯-->