Compare commits
56
Commits
2026.02-rc2
...
quiz-mooc
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
ab30db03f0 | ||
|
|
0c0af2cdac | ||
|
|
adc0b6483f | ||
|
|
ec3b4253d5 | ||
|
|
86dfc8acea | ||
|
|
1e05d3ffa7 | ||
|
|
0b5ad28c8a | ||
|
|
548fcdaf53 | ||
|
|
b1c5c5342b | ||
|
|
28171e2caf | ||
|
|
c951648d5f | ||
|
|
52ee2f5644 | ||
|
|
346d6667fe | ||
|
|
64083817de | ||
|
|
38486b310d | ||
|
|
166ef8a12c | ||
|
|
6f9f9caa45 | ||
|
|
5c03ddb286 | ||
|
|
b55fd37919 | ||
|
|
8d184e5504 | ||
|
|
dc8fc4b803 | ||
|
|
a3329fd492 | ||
|
|
73861bb720 | ||
|
|
8918f1c2c8 | ||
|
|
95dad8f85c | ||
|
|
8195c73ca3 | ||
|
|
311e5cdc51 | ||
|
|
093725864a | ||
|
|
156e5fa7eb | ||
|
|
d88660265b | ||
|
|
88d1fde405 | ||
|
|
7756b39d64 | ||
|
|
49cabda8fb | ||
|
|
8d222e03c7 | ||
|
|
be61be55e5 | ||
|
|
2a1e6376c1 | ||
|
|
7da7f82307 | ||
|
|
7613501954 | ||
|
|
3f4e289aab | ||
|
|
f47b624a12 | ||
|
|
f54e7d710c | ||
|
|
9702cf6ca3 | ||
|
|
2ce4c8c266 | ||
|
|
fbdabe5fda | ||
|
|
3fcfe01d70 | ||
|
|
13daf36ee2 | ||
|
|
e197babd38 | ||
|
|
be07b5766a | ||
|
|
3c305f32ba | ||
|
|
ea79b66ab2 | ||
|
|
9123849e0e | ||
|
|
b28f9363c5 | ||
|
|
49e180d3d5 | ||
|
|
45e009ab4a | ||
|
|
2aaeb10bce | ||
|
|
b45b3b412c |
@@ -1,3 +1,24 @@
|
||||
2026.02, released March 4th, 2026
|
||||
|
||||
Various fixes.
|
||||
|
||||
Updated/fixed packages: freerdp, graphicsmagick, ruby, nsquid,
|
||||
vim
|
||||
|
||||
2026.02-rc3, released March 2nd, 2026
|
||||
|
||||
Fixes all over the tree.
|
||||
|
||||
support/testing/run-tests: Work around a node2 patch in Debian
|
||||
testing/unstable:
|
||||
https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1129350
|
||||
|
||||
Updated/fixed packages: bind, botan, containerd, cups, gpsd,
|
||||
flashbench, igmpproxy, imagemagick, libssh, libunistring,
|
||||
libvirt, mesa3d, mupdf, openscap, patch, poco,
|
||||
python-multipart, rtl_433, safeclib, samba4, tinyproxy,
|
||||
udisks, webkitgtk, wireshark, wlroots, wpewebkit
|
||||
|
||||
2026.02-rc2, released February 24th, 2026
|
||||
|
||||
Fixes all over the tree.
|
||||
|
||||
@@ -92,9 +92,9 @@ all:
|
||||
.PHONY: all
|
||||
|
||||
# Set and export the version string
|
||||
export BR2_VERSION := 2026.02-rc2
|
||||
export BR2_VERSION := 2026.02
|
||||
# Actual time the release is cut (for reproducible builds)
|
||||
BR2_VERSION_EPOCH = 1771955000
|
||||
BR2_VERSION_EPOCH = 1772611600
|
||||
|
||||
# Save running make version since it's clobbered by the make package
|
||||
RUNNING_MAKE_VERSION := $(MAKE_VERSION)
|
||||
|
||||
+272
@@ -0,0 +1,272 @@
|
||||
学习完 [《从零开始为 RISC-V 构建一个 Linux 系统》][1] 后的小测试
|
||||
----
|
||||
|
||||
FIXME:这个 buildroot 仓库(包括本文件)目前放在 openruyi.cn 上,后继是否也放到 https://github.com/openRuyi-Tutorials 下去?
|
||||
|
||||
<!-- TOC -->
|
||||
|
||||
- [1. 测试任务概述](#1-测试任务概述)
|
||||
- [2. 任务提交方式](#2-任务提交方式)
|
||||
- [3. 测试任务描述](#3-测试任务描述)
|
||||
- [3.1. 任务 1](#31-任务-1)
|
||||
- [3.2. 任务 2](#32-任务-2)
|
||||
- [3.3. 任务 3](#33-任务-3)
|
||||
- [3.4. 任务 4](#34-任务-4)
|
||||
- [3.5. 任务 5](#35-任务-5)
|
||||
- [4. 联系方式](#4-联系方式)
|
||||
|
||||
<!-- /TOC -->
|
||||
|
||||
# 1. 测试任务概述
|
||||
|
||||
慕课 《从零开始为 RISC-V 构建一个 Linux 系统》(下文简称 MOOC)为课程提供了配套的构建脚本,代码仓库在:<https://github.com/openRuyi-Tutorials/build-linux-system-from-scratch>。这套构建脚本参考了 [Buildroot][2],具体对应的是 tag 版本为 2025.08.1 的代码。(FIXME: 用 github 的考虑是方便学生 fork,openruyi 的仓库我不知道是否合适面向所有学生建账号。)
|
||||
|
||||
设计测验如下,供评估学习效果参考。
|
||||
|
||||
测验总分 100 分,分为五个任务,参与考评的同学可任意选择其中的一个或者多个任务。所谓前置任务是指在完成本任务前必须要完成的任务项。
|
||||
|
||||
| 任务号 | 满分 | 前置任务 |
|
||||
|--------|------|----------|
|
||||
| 任务 1 | 60 | 无 |
|
||||
| 任务 2 | 10 | 任务 1 |
|
||||
| 任务 3 | 15 | 任务 1 |
|
||||
| 任务 4 | 10 | 任务 1 |
|
||||
| 任务 5 | 5 | 无 |
|
||||
|
||||
# 2. 任务提交方式
|
||||
|
||||
为了避免同时申请测试的实习生之间互相参考,请 **不要通过 PR(Pull Request) 方式提交你的改动**,而是采用邮件方式提交你的改动。具体提交方式如下:
|
||||
|
||||
- 在 Github 上 fork MOOC 仓库 <https://github.com/openRuyi-Tutorials/build-linux-system-from-scratch> 到自己的私有仓库。
|
||||
- 在自己的私有仓库上 checkout 开发分支
|
||||
- 将自己的改动提交到自己的开发分支上。假设您的 github userid 是 AAA,开发分支是 BBB,那么应该会得到一个对应开发分支的 URL:<https://github.com/AAA/build-linux-system-from-scratch/tree/BBB>。
|
||||
- 提交人员通过邮件将该开发分支的 URL 发送给 “我”(联系方式见文末)。
|
||||
- 每个任务单独一封邮件,请在邮件标题中加上 “[MOOC QUIZ TASK X]” 的前缀,X 为具体的任务号(“1”,“2” ...)。
|
||||
- 每个任务单独对应一个开发分支,具体要求见各个任务的描述。开发分支的取名建议加上类似 “taskX-” (X 为具体的任务号 “1”,“2” ...) 的前缀以示区分。
|
||||
|
||||
# 3. 测试任务描述
|
||||
|
||||
## 3.1. 任务 1
|
||||
|
||||
- 任务描述:仔细阅读 MOOC 仓库 <https://github.com/openRuyi-Tutorials/build-linux-system-from-scratch> 的构建脚本,基于该仓库的代码将 MOOC 的构建脚本中涉及的软件包的版本升级到和 Buildroot 的 tag 版本 2026.02 使用的软件包版本对齐。
|
||||
|
||||
关于 Buildroot 的构建,可以参考我们这里自己 mirror 的一个 Buildroot 仓库以及测验专用分支 <https://git.openruyi.cn/openRuyi-tutorials/buildroot/src/branch/quiz-mooc/>。构建方法如下,注意确保本地已经安装了 qemu-system-riscv64,版本建议至少 8.2.2 以上。构建配置采用修改过的 `qemu_riscv64_virt_defconfig`,具体的配置修改内容可以参阅 quiz-mooc 分支的 commit 历史。
|
||||
|
||||
```shell
|
||||
$ git clone https://git.openruyi.cn/openRuyi-tutorials/buildroot.git
|
||||
$ cd buildroot
|
||||
$ git checkout quiz-mooc
|
||||
$ make qemu_riscv64_virt_defconfig
|
||||
$ ./output/images/start-qemu.sh --use-system-qemu
|
||||
```
|
||||
|
||||
大致需要升级如下软件包:
|
||||
|
||||
- 升级 coreutils 到 9.10
|
||||
- 升级 e2fsprogs 到 1.47.3
|
||||
- 升级 expat 到 2.7.4
|
||||
- 升级 fakeroot 到 1.37.1.2
|
||||
- 升级 libzlib 到 1.3.2
|
||||
- 升级 libxcrypt 到 4.5.2
|
||||
- 升级 linux 到 6.19.5
|
||||
- 升级 m4 到 1.4.21
|
||||
- 升级 ncurses 到 6.6-20251231
|
||||
- 升级 python3 到 3.14.3
|
||||
- 升级 util-linux 到 2.41.3
|
||||
- 升级 vim 到 9.1.2148
|
||||
- 新增 libopenssl 3.6.1
|
||||
|
||||
为简化任务要求,升级过程中针对原 MOOC 构建做如下简化工作:
|
||||
|
||||
- 取消从源码自己构建交叉工具链,直接使用 Buildroot 预先制作的交叉工具链,具体下载的交叉工具链版本可以参考 Buildroot 的代码。
|
||||
- 和 MOOC 类似,不从源码构建 QEMU,而是使用本地自己安装的 QEMU(建议版本在 8.2.2 及以上)
|
||||
|
||||
- 任务检验标准:
|
||||
|
||||
对于提交的构建代码内容的具体要求如下:
|
||||
|
||||
- 提交时请基于 main 分支拉出自己的开发分支并进行 commit,不要在 main 分支上直接提交 commit。
|
||||
- 改动请基于 MOOC 仓库的 main 分支开发,尽量复用原有逻辑和框架而不要完全自己从头写一套,同时也不是将 Buildroot 的构建框架和脚本直接拿来使用。正常情况如果只是软件包升级应该不会涉及大的框架性改动,但如果的确发现现有代码框架无法支持新代码升级的请及时和 “我” 联系(联系方式见文末)。如果是发现原有代码有 bug 或者有需要做优化的请移步 “任务 5”。其他的额外改动需说明的请在邮件中解释。
|
||||
- 为了方便 review,如果修改涉及独立的功能,以及不同模块或者不同软件包的,建议每个修改一个 commit,不要将所有改动作为一个 commit 整体提交。
|
||||
- 在 commit 的描述中给出简单的修改说明,中英文皆可。简单的话一句话即可,不用重复代码的修改细节,所有的修改说明的出发点是侧重于阐述修改的原因,思路以及除了代码外需要额外说明的部分。
|
||||
- 注意代码风格,特别是代码缩进等。代码整洁,不要合入临时代码、临时测试用代码以及无效的注释等垃圾代码。
|
||||
|
||||
除了代码提交外,对于结果的检验要求如下:和 MOOC 课程代码类似,执行代码仓库中的 `make` 命令后可以完整地从零开始构建一个系统,上述需要升级和新增的软件包都构建无误。同样执行 `start-qemu.sh` 脚本可以在 QEMU 中启动系统。登录进入系统后验证软件工作正常,包括:
|
||||
|
||||
- 检查 SysV 是否正常工作,检查方法:
|
||||
|
||||
查看 SysV 版本:
|
||||
```shell
|
||||
# init --version
|
||||
SysV init version: 3.14
|
||||
```
|
||||
|
||||
尝试关机:
|
||||
```shell
|
||||
# init 0
|
||||
```
|
||||
|
||||
尝试重启:
|
||||
```shell
|
||||
# init 6
|
||||
```
|
||||
|
||||
- 检查当前 Shell 是否是 bash,检查方法:
|
||||
|
||||
```shell
|
||||
# echo $SHELL
|
||||
/bin/bash
|
||||
```
|
||||
|
||||
执行 `bash --version` 能够输出 bash 的版本信息和版权信息如下:
|
||||
|
||||
```shell
|
||||
# bash --version
|
||||
GNU bash, version 5.2.37(1)-release (riscv64-buildroot-linux-gnu)
|
||||
Copyright (C) 2022 Free Software Foundation, Inc.
|
||||
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
|
||||
|
||||
This is free software; you are free to change and redistribute it.
|
||||
There is NO WARRANTY, to the extent permitted by law.
|
||||
```
|
||||
|
||||
- 检查 coreutils 工作正常,检查方法:
|
||||
|
||||
```shell
|
||||
# ls --help
|
||||
Usage: ls [OPTION]... [FILE]...
|
||||
[...... 省略]
|
||||
Report bugs to: bug-coreutils@gnu.org
|
||||
GNU coreutils home page: <https://www.gnu.org/software/coreutils/>
|
||||
General help using GNU software: <https://www.gnu.org/gethelp/>
|
||||
Report any translation bugs to <https://translationproject.org/team/>
|
||||
Full documentation <https://www.gnu.org/software/coreutils/ls>
|
||||
or available locally via: info '(coreutils) ls invocation'
|
||||
```
|
||||
|
||||
应该会看到输出中最后会出现 "GNU coreutils" 字样。
|
||||
|
||||
- 检查 vi/vim 工作正常。检查方法:
|
||||
|
||||
```shell
|
||||
# vi
|
||||
```
|
||||
|
||||
或者
|
||||
|
||||
```shell
|
||||
# vim
|
||||
```
|
||||
|
||||
应该进入 vim 欢迎界面,并看到 "VIM - Vi IMproved" 字样。并能正常使用 vi 编辑和退出。
|
||||
|
||||
- 检查 Python3 工作正常。检查方法:
|
||||
|
||||
```shell
|
||||
# python3
|
||||
Python 3.14.3 (main, Apr 1 2026, 14:14:37) [GCC 15.1.0] on linux
|
||||
Type "help", "copyright", "credits" or "license" for more information.
|
||||
>>>
|
||||
```
|
||||
|
||||
可以进入 Python 控制台,输入 `quit()` 可以退出 Python 控制台。
|
||||
|
||||
可以运行 snake 游戏。
|
||||
|
||||
```shell
|
||||
# python3 /usr/games/snake.py
|
||||
```
|
||||
|
||||
## 3.2. 任务 2
|
||||
|
||||
- 任务描述:在 “任务 1” 完成的基础上为 MOOC 的文件系统添加一个软件包,软件包的范围局限于 Buildroot 已支持的软件包(menuconfig 中 “Target packages” 中所列出的软件包,注意新添加的软件包不要包括 “Package managers” 和 systemd)。另外注意按照 Buildroot 的风格以及 MOOC 的风格,该软件包的构建依赖和运行依赖尽量不要对 host 的原有 native 环境有依赖,也就是说除了少部分 native 环境中的 pre-installed 软件外,所有的该软件包的构建依赖和运行依赖都需要我们自己从源码开始构建和安装到 host 和 target 中。
|
||||
|
||||
- 任务检验标准:
|
||||
|
||||
对于提交的构建代码内容的具体要求
|
||||
|
||||
- 改动请基于您提交的 “任务 1” 的开发分支再拉一个针对 “任务 2” 的开发分支并在这个新的开发分支上 commit。
|
||||
- 请在邮件中给出新增软件包的简单说明。
|
||||
- 请在邮件中给出新增软件包的运行和测试说明。
|
||||
- 其他要求和 “任务 1” 类似。
|
||||
|
||||
对于结果的检验要求:
|
||||
- 不影响 “任务 1” 的构建,以及运行和测试结果。
|
||||
- 满足邮件中所列出的新增软件包的运行和测试说明。
|
||||
|
||||
## 3.3. 任务 3
|
||||
|
||||
- 任务描述:在 “任务 1” 完成的基础上为 MOOC 的文件系统添加 systemd 软件包。systemd 的版本以及其构建依赖和运行依赖的软件包的版本需要和 Buildroot 的 tag 版本 2026.02 使用的软件包版本对齐。注意按照 Buildroot 的风格以及 MOOC 的风格,该软件包的构建依赖和运行依赖尽量不要对 host 的原有 native 环境有依赖,也就是说除了少部分 native 环境中的 pre-installed 软件外,所有的该软件包的构建依赖和运行依赖都需要我们自己从源码开始构建和安装到 host 和 target 中。(注:可以参考 Buildroot 的做法)。
|
||||
|
||||
- 任务检验标准:
|
||||
|
||||
对于提交的构建代码内容的具体要求:
|
||||
|
||||
- 改动请基于您提交的 “任务 1” 的开发分支再拉一个针对 “任务 3” 的开发分支并在这个新的开发分支上 commit。
|
||||
- 其他要求和 “任务 1” 类似。
|
||||
|
||||
对于结果的检验要求:
|
||||
|
||||
- 不影响 “任务 1” 的构建,以及运行和测试结果。
|
||||
- 启动系统,其中过程中应该看到 systemd 的正常输出。
|
||||
- 登录进入系统后验证 systemd 软件工作正常,方法如下:
|
||||
|
||||
```shell
|
||||
systemctl status
|
||||
```
|
||||
|
||||
应显示 "State: running" 并返回了系统状态摘要,说明 systemd 基本可用。
|
||||
|
||||
尝试 stop 然后再 start 一个服务,stop 后查看服务状态应该为 inactive;start 后查看服务状态应该为 running。以 udevd 服务为例:
|
||||
|
||||
```shell
|
||||
systemctl status systemd-udevd
|
||||
systemctl stop systemd-udevd
|
||||
systemctl status systemd-udevd
|
||||
systemctl start systemd-udevd
|
||||
systemctl status systemd-udevd
|
||||
```
|
||||
|
||||
## 3.4. 任务 4
|
||||
|
||||
- 任务描述:在 “任务 3” 完成的基础上为 MOOC 的文件系统添加 简介:microdnf 软件包。注意按照 Buildroot 的风格以及 MOOC 的风格,该软件包的构建依赖和运行依赖尽量不要对 host 的原有 native 环境有依赖,也就是说除了少部分 native 环境中的 pre-installed 软件外,所有的该软件包的构建依赖和运行依赖都需要我们自己从源码开始构建和安装到 host 和 target 中。
|
||||
|
||||
microdnf 简介:microdnf 是一个用 C 语言编写的轻量级包管理器,可以看作是 dnf 的精简版实现。它专为容器和最小化环境设计,旨在以极小的开销完成基本的软件包管理任务。microdnf 的官方网站和源码托管在 GitHub 上,具体地址是:<https://github.com/rpm-software-management/microdnf>。
|
||||
|
||||
- 任务检验标准
|
||||
|
||||
对于提交的构建代码内容的具体要求:
|
||||
|
||||
- 改动请基于您提交的 “任务 1” 的开发分支再拉一个针对 “任务 4” 的开发分支并在这个新的开发分支上 commit。
|
||||
- 其他要求和 “任务 1” 类似。
|
||||
|
||||
对于结果的检验要求:
|
||||
|
||||
- 不影响 “任务 1” 的构建,以及运行和测试结果。
|
||||
- 登录进入系统后验证软件 microdnf 工作正常,并且可以用它从 openRuyi 的软件源(FIXME:这个我建议放在开发用的源上,并且为了避免安装过程中发生冲突,可以指定一个简单的软件包,譬如就安装一个 hello world 的可执行程序,尽可能无依赖,确保安装成功即可)下载并安装软件包 。
|
||||
|
||||
## 3.5. 任务 5
|
||||
|
||||
- 任务描述:为原 MOOC 代码仓库找 bug 或者提出改进建议。
|
||||
|
||||
- 任务检验标准
|
||||
|
||||
对于提交的构建代码内容的具体要求:
|
||||
|
||||
- 改动请基于 MOOC 仓库的 main 分支拉出新的开发分支并在上面 commit。
|
||||
- 如果涉及多个 bug fix 或者多个改进点,请每个 bugfix 和每个改进点单独一个 commit。不要混在一起,方便 review。
|
||||
- 在 commit 消息中或者在邮件中对修改进行正确的说明。
|
||||
- Bug fix 要说清楚可复现的 bug 现象以及解决思路。
|
||||
- 改进建议要说清楚改进的理由和改进方案。
|
||||
|
||||
对于结果的检验要求:Bug fix 和改进建议只要被上游接受均可视为完成 “任务 5”。注意对于 “改进建议”,不要提出超过目前课程范围内的改进建议,譬如新增软件包或者提升软件包版本这种,因为 MOOC 的课程内容目前暂时告一段落。“任务 5” 中的改进建议更多的指的是针对现有 MOOC 构建脚本的一些优化措施。
|
||||
|
||||
# 4. 联系方式
|
||||
|
||||
测试过程中有任何问题可以联系 “我”:
|
||||
|
||||
- 联系人:汪辰
|
||||
- 联系方式(邮件):wangchen20@iscas.ac.cn
|
||||
|
||||
[1]: https://github.com/openRuyi-Tutorials/build-linux-system-from-scratch/blob/main/README.md
|
||||
[2]: https://buildroot.org/
|
||||
@@ -1,2 +1,5 @@
|
||||
# Locally calculated
|
||||
sha256 ea59fbfb702857a24f96ee8e9cf04f997942db1de98f8406b7daf9dcc8f4e9ea xlnx_rebase_v2.12_2025.2.tar.gz
|
||||
|
||||
# Locally calculated
|
||||
sha256 b2c79635797bafcde84c6edadadde290b9d5e05deb3ea16a847210fd2ca83669 docs/license.rst
|
||||
|
||||
@@ -1,2 +1,7 @@
|
||||
# Locally calculated
|
||||
sha256 444f573cd4438af1f5062fd69fcc82965a56068e6a25cd43c062a68398f90b03 xlnx_rebase_v6.12_LTS_merge_6.12.60.tar.gz
|
||||
|
||||
# Locally calculated
|
||||
sha256 fb5a425bd3b3cd6071a3a9aff9909a859e7c1158d54d32e07658398cd67eb6a0 COPYING
|
||||
sha256 f6b78c087c3ebdf0f3c13415070dd480a3f35d8fc76f3d02180a407c1c812f79 LICENSES/preferred/GPL-2.0
|
||||
sha256 8e378ab93586eb55135d3bc119cce787f7324f48394777d00c34fa3d0be3303f LICENSES/exceptions/Linux-syscall-note
|
||||
|
||||
@@ -1,18 +1,26 @@
|
||||
BR2_riscv=y
|
||||
BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_6_18=y
|
||||
BR2_TOOLCHAIN_EXTERNAL=y
|
||||
BR2_KERNEL_MIRROR="http://mirrors.ustc.edu.cn/kernel.org"
|
||||
BR2_GNU_MIRROR="http://mirrors.ustc.edu.cn/gnu"
|
||||
BR2_LUAROCKS_MIRROR="https://luarocks.cn"
|
||||
BR2_CPAN_MIRROR="http://mirrors.ustc.edu.cn/CPAN"
|
||||
BR2_GLOBAL_PATCH_DIR="board/qemu/patches"
|
||||
BR2_DOWNLOAD_FORCE_CHECK_HASHES=y
|
||||
BR2_INIT_SYSV=y
|
||||
BR2_SYSTEM_BIN_SH_BASH=y
|
||||
BR2_SYSTEM_DHCP="eth0"
|
||||
BR2_ROOTFS_POST_IMAGE_SCRIPT="board/qemu/post-image.sh"
|
||||
BR2_ROOTFS_POST_SCRIPT_ARGS="$(BR2_DEFCONFIG)"
|
||||
BR2_LINUX_KERNEL=y
|
||||
BR2_LINUX_KERNEL_CUSTOM_VERSION=y
|
||||
BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="6.18.7"
|
||||
BR2_LINUX_KERNEL_USE_ARCH_DEFAULT_CONFIG=y
|
||||
BR2_PACKAGE_PYTHON3=y
|
||||
BR2_PACKAGE_PYTHON3_CURSES=y
|
||||
BR2_PACKAGE_COREUTILS=y
|
||||
BR2_PACKAGE_COREUTILS_INDIVIDUAL_BINARIES=y
|
||||
BR2_PACKAGE_VIM=y
|
||||
BR2_TARGET_ROOTFS_EXT2=y
|
||||
BR2_TARGET_ROOTFS_EXT2_SIZE="128M"
|
||||
BR2_TARGET_OPENSBI=y
|
||||
BR2_TARGET_OPENSBI_CUSTOM_VERSION=y
|
||||
BR2_TARGET_OPENSBI_CUSTOM_VERSION_VALUE="1.6"
|
||||
BR2_TARGET_OPENSBI_PLAT="generic"
|
||||
BR2_PACKAGE_HOST_QEMU=y
|
||||
BR2_PACKAGE_HOST_QEMU_SYSTEM_MODE=y
|
||||
|
||||
+18
-16
@@ -16,56 +16,58 @@
|
||||
<th>Latest release date</th>
|
||||
<th colspan="2">Downloads</td>
|
||||
</tr>
|
||||
<!--
|
||||
<tr>
|
||||
<th>Candidate</th>
|
||||
<th>2026.02.x</th>
|
||||
<td>June 2026</td>
|
||||
<td>
|
||||
2026.02-rc2<br/>
|
||||
<a href="https://gitlab.com/buildroot.org/buildroot/-/blob/2026.02-rc2/CHANGES">
|
||||
2026.02-rc3<br/>
|
||||
<a href="https://gitlab.com/buildroot.org/buildroot/-/blob/2026.02-rc3/CHANGES">
|
||||
Changelog
|
||||
</a>
|
||||
</td>
|
||||
<td>2026-02-24</td>
|
||||
<td>2026-03-02</td>
|
||||
<td>
|
||||
<a href="/downloads/buildroot-2026.02-rc2.tar.gz">
|
||||
<a href="/downloads/buildroot-2026.02-rc3.tar.gz">
|
||||
<img src="images/zip.png" width="24" alt="">
|
||||
.tar.gz
|
||||
</a><br/>
|
||||
<a href="/downloads/buildroot-2026.02-rc2.tar.gz.sign">[PGP sig]</a>
|
||||
<a href="/downloads/buildroot-2026.02-rc3.tar.gz.sign">[PGP sig]</a>
|
||||
</td>
|
||||
<td>
|
||||
<a href="/downloads/buildroot-2026.02-rc2.tar.xz">
|
||||
<a href="/downloads/buildroot-2026.02-rc3.tar.xz">
|
||||
<img src="images/package.png" width="24" alt="">
|
||||
.tar.xz
|
||||
</a><br/>
|
||||
<a href="/downloads/buildroot-2026.02-rc2.tar.xz.sign">[PGP sig]</a>
|
||||
<a href="/downloads/buildroot-2026.02-rc3.tar.xz.sign">[PGP sig]</a>
|
||||
</td>
|
||||
</tr>
|
||||
-->
|
||||
<tr>
|
||||
<th>Stable</th>
|
||||
<th>2025.11.x</th>
|
||||
<td>March 2026</td>
|
||||
<th>2026.02.x</th>
|
||||
<td>June 2026</td>
|
||||
<td>
|
||||
2025.11.2<br/>
|
||||
<a href="https://gitlab.com/buildroot.org/buildroot/-/blob/2025.11.2/CHANGES">
|
||||
2026.02<br/>
|
||||
<a href="https://gitlab.com/buildroot.org/buildroot/-/blob/2026.02/CHANGES">
|
||||
Changelog
|
||||
</a>
|
||||
</td>
|
||||
<td>2026-02-20</td>
|
||||
<td>2026-03-04</td>
|
||||
<td>
|
||||
<a href="/downloads/buildroot-2025.11.2.tar.gz">
|
||||
<a href="/downloads/buildroot-2026.02.tar.gz">
|
||||
<img src="images/zip.png" width="24" alt="">
|
||||
.tar.gz
|
||||
</a><br/>
|
||||
<a href="/downloads/buildroot-2025.11.2.tar.gz.sign">[PGP sig]</a>
|
||||
<a href="/downloads/buildroot-2026.02.tar.gz.sign">[PGP sig]</a>
|
||||
</td>
|
||||
<td>
|
||||
<a href="/downloads/buildroot-2025.11.2.tar.xz">
|
||||
<a href="/downloads/buildroot-2026.02.tar.xz">
|
||||
<img src="images/package.png" width="24" alt="">
|
||||
.tar.xz
|
||||
</a><br/>
|
||||
<a href="/downloads/buildroot-2025.11.2.tar.xz.sign">[PGP sig]</a>
|
||||
<a href="/downloads/buildroot-2026.02.tar.xz.sign">[PGP sig]</a>
|
||||
</td>
|
||||
<tr>
|
||||
<th>Long-term support</th>
|
||||
|
||||
@@ -9,6 +9,45 @@
|
||||
<h2>News</h2>
|
||||
<ul class="timeline">
|
||||
|
||||
<li>
|
||||
<div class="timeline-badge"><i class="glyphicon glyphicon-thumbs-up"></i></div>
|
||||
<div class="timeline-panel">
|
||||
<div class="timeline-heading">
|
||||
<h4 class="timeline-title">2026.02 released</h4>
|
||||
<p><small class="text-muted"><i class="glyphicon glyphicon-time"></i>4 March 2026</small></p>
|
||||
</div>
|
||||
<div class="timeline-body">
|
||||
<p>The stable 2026.02 release is out - Thanks to everyone
|
||||
contributing and testing the release candidates. See the
|
||||
<a href="https://gitlab.com/buildroot.org/buildroot/-/blob/2026.02/CHANGES">CHANGES</a>
|
||||
file for more details
|
||||
and go to the <a href="/downloads/">downloads page</a> to pick up the
|
||||
<a href="/downloads/buildroot-2026.02.tar.xz">2026.02 release</a>.</p>
|
||||
</div>
|
||||
</div>
|
||||
</li>
|
||||
|
||||
<li class="timeline-inverted">
|
||||
<div class="timeline-badge"><i class="glyphicon glyphicon-thumbs-up"></i></div>
|
||||
<div class="timeline-panel">
|
||||
<div class="timeline-heading">
|
||||
<h4 class="timeline-title">2026.02-rc3 released</h4>
|
||||
<p><small class="text-muted"><i class="glyphicon glyphicon-time"></i>2 March 2026</small></p>
|
||||
</div>
|
||||
<div class="timeline-body">
|
||||
<p>Another week, another release candidate with more cleanups and build fixes. See the
|
||||
<a href="https://gitlab.com/buildroot.org/buildroot/-/blob/2026.02-rc3/CHANGES">CHANGES</a>
|
||||
file for more details.</p>
|
||||
|
||||
<p>Go to the <a href="/downloads/">downloads page</a> to pick up the
|
||||
<a href="/downloads/buildroot-2026.02-rc3.tar.xz">2026.02-rc3
|
||||
release</a>, and report any problems found to the
|
||||
<a href="support.html">mailing list</a> or
|
||||
<a href="https://gitlab.com/buildroot.org/buildroot/-/issues">bug tracker</a>.</p>
|
||||
</div>
|
||||
</div>
|
||||
</li>
|
||||
|
||||
<li>
|
||||
<div class="timeline-badge"><i class="glyphicon glyphicon-thumbs-up"></i></div>
|
||||
<div class="timeline-panel">
|
||||
|
||||
+1
-1
@@ -141,7 +141,7 @@ config BR2_LINUX_KERNEL_CUSTOM_REPO_GIT_SUBMODULES
|
||||
|
||||
config BR2_LINUX_KERNEL_VERSION
|
||||
string
|
||||
default "6.19.3" if BR2_LINUX_KERNEL_LATEST_VERSION
|
||||
default "6.19.5" if BR2_LINUX_KERNEL_LATEST_VERSION
|
||||
default "5.10.246-cip66" if BR2_LINUX_KERNEL_LATEST_CIP_VERSION
|
||||
default "5.10.246-cip66-rt29" if BR2_LINUX_KERNEL_LATEST_CIP_RT_VERSION
|
||||
default BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE \
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
# From https://www.kernel.org/pub/linux/kernel/v6.x/sha256sums.asc
|
||||
sha256 0e474968adfcbee32916fd01a89d8ccfd1168d8d32569e76a5c664c793198ebe linux-6.19.3.tar.xz
|
||||
sha256 ed2c3c55fd38e6836c094fce356f2567f9516130b73354a29857960368c5687f linux-6.18.13.tar.xz
|
||||
sha256 95ae05c8c709e353c0e8506c072efc5598d85b8b7b564a1ebac7ee8345042ffa linux-6.19.5.tar.xz
|
||||
sha256 7c716216c3c4134ed0de69195701e677577bbcdd3979f331c182acd06bf2f170 linux-6.18.15.tar.xz
|
||||
|
||||
# Licenses hashes
|
||||
sha256 fb5a425bd3b3cd6071a3a9aff9909a859e7c1158d54d32e07658398cd67eb6a0 COPYING
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
# Verified from https://ftp.isc.org/isc/bind9/9.18.45/bind-9.18.45.tar.xz.asc
|
||||
# Verified from https://ftp.isc.org/isc/bind9/9.18.46/bind-9.18.46.tar.xz.asc
|
||||
# with key D99CCEAF879747014F038D63182E23579462EFAA
|
||||
sha256 096ec94c10bc9d2ba686325660a615962d0fd6529429149acfcfb7daefaf2421 bind-9.18.45.tar.xz
|
||||
sha256 6b59f0de30c6901cce783007d06f7dd717ec3aa74b5bb5cc5159f93f0be4fc1d bind-9.18.46.tar.xz
|
||||
sha256 9734825d67a3ac967b2c2f7c9a83c9e5db1c2474dbe9599157c3a4188749ebd4 COPYRIGHT
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
#
|
||||
################################################################################
|
||||
|
||||
BIND_VERSION = 9.18.45
|
||||
BIND_VERSION = 9.18.46
|
||||
BIND_SOURCE= bind-$(BIND_VERSION).tar.xz
|
||||
BIND_SITE = https://ftp.isc.org/isc/bind9/$(BIND_VERSION)
|
||||
BIND_INSTALL_STAGING = YES
|
||||
|
||||
+65
@@ -0,0 +1,65 @@
|
||||
From 53b0cfde580e86b03d0d27a488b6c134f662e957 Mon Sep 17 00:00:00 2001
|
||||
From: Jack Lloyd <jack@randombit.net>
|
||||
Date: Sat, 19 Oct 2024 07:43:18 -0400
|
||||
Subject: [PATCH] Add more value barriers to avoid compiler induced side
|
||||
channels
|
||||
|
||||
The paper https://arxiv.org/pdf/2410.13489 claims that on specific
|
||||
architectures Clang and GCC may introduce jumps here. The donna128
|
||||
issues only affect 32-bit processors, which explains why we would not
|
||||
see it in the x86-64 valgrind runs.
|
||||
|
||||
The GHASH leak would seem to be generic but the authors only observed
|
||||
it on RISC-V.
|
||||
|
||||
CVE: CVE-2024-50382
|
||||
CVE: CVE-2024-50383
|
||||
Upstream: https://github.com/randombit/botan/commit/53b0cfde580e86b03d0d27a488b6c134f662e957
|
||||
Signed-off-by: Thomas Perale <thomas.perale@mind.be>
|
||||
---
|
||||
src/lib/utils/donna128.h | 5 +++--
|
||||
src/lib/utils/ghash/ghash.cpp | 2 +-
|
||||
2 files changed, 4 insertions(+), 3 deletions(-)
|
||||
|
||||
diff --git a/src/lib/utils/donna128.h b/src/lib/utils/donna128.h
|
||||
index 8212bd349e0..7adf54546df 100644
|
||||
--- a/src/lib/utils/donna128.h
|
||||
+++ b/src/lib/utils/donna128.h
|
||||
@@ -8,6 +8,7 @@
|
||||
#ifndef BOTAN_CURVE25519_DONNA128_H_
|
||||
#define BOTAN_CURVE25519_DONNA128_H_
|
||||
|
||||
+#include <botan/internal/ct_utils.h>
|
||||
#include <botan/internal/mul128.h>
|
||||
#include <type_traits>
|
||||
|
||||
@@ -73,14 +74,14 @@ class donna128 final {
|
||||
l += x.l;
|
||||
h += x.h;
|
||||
|
||||
- const uint64_t carry = (l < x.l);
|
||||
+ const uint64_t carry = CT::Mask<uint64_t>::is_lt(l, x.l).if_set_return(1);
|
||||
h += carry;
|
||||
return *this;
|
||||
}
|
||||
|
||||
constexpr donna128& operator+=(uint64_t x) {
|
||||
l += x;
|
||||
- const uint64_t carry = (l < x);
|
||||
+ const uint64_t carry = CT::Mask<uint64_t>::is_lt(l, x).if_set_return(1);
|
||||
h += carry;
|
||||
return *this;
|
||||
}
|
||||
diff --git a/src/lib/utils/ghash/ghash.cpp b/src/lib/utils/ghash/ghash.cpp
|
||||
index 8c3b1ed6c2a..61b28590002 100644
|
||||
--- a/src/lib/utils/ghash/ghash.cpp
|
||||
+++ b/src/lib/utils/ghash/ghash.cpp
|
||||
@@ -131,7 +131,7 @@ void GHASH::key_schedule(std::span<const uint8_t> key) {
|
||||
m_HM[4 * j + 2 * i + 1] = H1;
|
||||
|
||||
// GCM's bit ops are reversed so we carry out of the bottom
|
||||
- const uint64_t carry = R * (H1 & 1);
|
||||
+ const uint64_t carry = CT::Mask<uint64_t>::expand(H1 & 1).if_set_return(R);
|
||||
H1 = (H1 >> 1) | (H0 << 63);
|
||||
H0 = (H0 >> 1) ^ carry;
|
||||
}
|
||||
@@ -11,6 +11,9 @@ BOTAN_LICENSE = BSD-2-Clause
|
||||
BOTAN_LICENSE_FILES = license.txt
|
||||
BOTAN_CPE_ID_VALID = YES
|
||||
|
||||
# 0001-Add-more-value-barriers-to-avoid-compiler-induced-side-channels.patch
|
||||
BOTAN_IGNORE_CVES += CVE-2024-50382 CVE-2024-50383
|
||||
|
||||
BOTAN_INSTALL_STAGING = YES
|
||||
|
||||
BOTAN_DEPENDENCIES = host-python3
|
||||
|
||||
@@ -1,3 +1,3 @@
|
||||
# Computed locally
|
||||
sha256 472747a7a6b360a0864bab0ee00a8a6f51da5795171e6a60ab17aa80cbd850a2 containerd-2.0.2-go2.tar.gz
|
||||
sha256 2bbf9fedcf4ab31736fcb3ce224ef22610a87da9d53bbd8f6d205710fd849831 containerd-2.0.7-go2.tar.gz
|
||||
sha256 4bbe3b885e8cd1907ab4cf9a41e862e74e24b5422297a4f2fe524e6a30ada2b4 LICENSE
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
#
|
||||
################################################################################
|
||||
|
||||
CONTAINERD_VERSION = 2.0.2
|
||||
CONTAINERD_VERSION = 2.0.7
|
||||
CONTAINERD_SITE = $(call github,containerd,containerd,v$(CONTAINERD_VERSION))
|
||||
CONTAINERD_LICENSE = Apache-2.0
|
||||
CONTAINERD_LICENSE_FILES = LICENSE
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
# Locally calculated:
|
||||
sha256 660288020dd6f79caf799811c4c1a3207a48689899ac2093959d70a3bdcb7699 cups-2.4.14-source.tar.gz
|
||||
sha256 0339587204b4f9428dd0592eb301dec0bf9ea6ea8dce5d9690d56be585aba92d cups-2.4.16-source.tar.gz
|
||||
sha256 cfc7749b96f63bd31c3c42b5c471bf756814053e847c10f3eb003417bc523d30 LICENSE
|
||||
sha256 977206f041b9a6f47ac00531e1242c0fab7063da71178f8d868b167b70866b6d NOTICE
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
#
|
||||
################################################################################
|
||||
|
||||
CUPS_VERSION = 2.4.14
|
||||
CUPS_VERSION = 2.4.16
|
||||
CUPS_SOURCE = cups-$(CUPS_VERSION)-source.tar.gz
|
||||
CUPS_SITE = https://github.com/OpenPrinting/cups/releases/download/v$(CUPS_VERSION)
|
||||
CUPS_LICENSE = Apache-2.0 with GPL-2.0/LGPL-2.0 exception
|
||||
|
||||
@@ -7,4 +7,4 @@ config BR2_PACKAGE_FLASHBENCH
|
||||
SD cards and other media for the Linaro flash memory
|
||||
survey.
|
||||
|
||||
https://git.linaro.org/people/arnd.bergmann/flashbench.git
|
||||
https://github.com/bradfa/flashbench
|
||||
|
||||
@@ -1,3 +1,3 @@
|
||||
# Locally computed
|
||||
sha256 b5f95d2d057270adbce0f1a784b6a88db339b67326b6ca92474edd99f9fd4774 flashbench-2e30b1968a66147412f21002ea844122a0d5e2f0-git4.tar.gz
|
||||
sha256 408a2642700b7f8daf4356a49948b921137ad15bb6e0fd05b1cb8dc700c154dc flashbench-2e30b1968a66147412f21002ea844122a0d5e2f0.tar.gz
|
||||
sha256 8177f97513213526df2cf6184d8ff986c675afb514d4e68a404010521b880643 COPYING
|
||||
|
||||
@@ -5,8 +5,7 @@
|
||||
################################################################################
|
||||
|
||||
FLASHBENCH_VERSION = 2e30b1968a66147412f21002ea844122a0d5e2f0
|
||||
FLASHBENCH_SITE = https://git.linaro.org/people/arnd/flashbench.git
|
||||
FLASHBENCH_SITE_METHOD = git
|
||||
FLASHBENCH_SITE = $(call github,bradfa,flashbench,$(FLASHBENCH_VERSION))
|
||||
FLASHBENCH_LICENSE = GPL-2.0
|
||||
FLASHBENCH_LICENSE_FILES = COPYING
|
||||
|
||||
|
||||
@@ -0,0 +1,29 @@
|
||||
From 71e463e31b4d69f4022d36bfc814592f56600793 Mon Sep 17 00:00:00 2001
|
||||
From: akallabeth <akallabeth@posteo.net>
|
||||
Date: Sun, 21 Apr 2024 13:56:13 +0200
|
||||
Subject: [PATCH] [core,info] fix missing check in rdp_write_logon_info_v1
|
||||
|
||||
CVE: CVE-2024-32661
|
||||
Upstream: https://github.com/FreeRDP/FreeRDP/commit/71e463e31b4d69f4022d36bfc814592f56600793
|
||||
[thomas: backport https://launchpad.net/ubuntu/+archive/primary/+sourcefiles/freerdp2/2.6.1+dfsg1-3ubuntu2.10/freerdp2_2.6.1+dfsg1-3ubuntu2.10.debian.tar.xz]
|
||||
Signed-off-by: Thomas Perale <thomas.perale@mind.be>
|
||||
---
|
||||
libfreerdp/core/info.c | 4 ++++
|
||||
1 file changed, 4 insertions(+)
|
||||
|
||||
diff --git a/libfreerdp/core/info.c b/libfreerdp/core/info.c
|
||||
index 7d6eec13782d..3395e4d2e04c 100644
|
||||
--- a/libfreerdp/core/info.c
|
||||
+++ b/libfreerdp/core/info.c
|
||||
@@ -1327,6 +1327,10 @@ static BOOL rdp_write_logon_info_v1(wStream* s, logon_info* info)
|
||||
return FALSE;
|
||||
|
||||
/* domain */
|
||||
+ WINPR_ASSERT(info);
|
||||
+ if (!info->domain || !info->username)
|
||||
+ return FALSE;
|
||||
+
|
||||
ilen = ConvertToUnicode(CP_UTF8, 0, info->domain, -1, &wString, 0);
|
||||
|
||||
if (ilen < 0)
|
||||
|
||||
@@ -0,0 +1,29 @@
|
||||
From 1bab198a2edd0d0e6e1627d21a433151ea190500 Mon Sep 17 00:00:00 2001
|
||||
From: akallabeth <akallabeth@posteo.net>
|
||||
Date: Thu, 15 Jan 2026 12:02:02 +0100
|
||||
Subject: [PATCH] [codec,planar] fix decoder length checks
|
||||
|
||||
CVE: CVE-2026-23530
|
||||
Upstream: https://github.com/FreeRDP/FreeRDP/commit/1bab198a2edd0d0e6e1627d21a433151ea190500
|
||||
[thomas: backport https://launchpad.net/ubuntu/+archive/primary/+sourcefiles/freerdp2/2.6.1+dfsg1-3ubuntu2.10/freerdp2_2.6.1+dfsg1-3ubuntu2.10.debian.tar.xz]
|
||||
Signed-off-by: Thomas Perale <thomas.perale@mind.be>
|
||||
---
|
||||
libfreerdp/codec/planar.c | 5 +++++
|
||||
1 file changed, 5 insertions(+)
|
||||
|
||||
diff --git a/libfreerdp/codec/planar.c b/libfreerdp/codec/planar.c
|
||||
index 1a06e36edb0c..94a640a551d1 100644
|
||||
--- a/libfreerdp/codec/planar.c
|
||||
+++ b/libfreerdp/codec/planar.c
|
||||
@@ -616,6 +616,11 @@ BOOL freerdp_bitmap_decompress_planar(BITMAP_PLANAR_CONTEXT* WINPR_RESTRICT plan
|
||||
WINPR_ASSERT(planar);
|
||||
WINPR_ASSERT(prims);
|
||||
|
||||
+ if (planar->maxWidth < nSrcWidth)
|
||||
+ return FALSE;
|
||||
+ if (planar->maxHeight < nSrcHeight)
|
||||
+ return FALSE;
|
||||
+
|
||||
if (nDstStep <= 0)
|
||||
nDstStep = nDstWidth * GetBytesPerPixel(DstFormat);
|
||||
|
||||
@@ -0,0 +1,31 @@
|
||||
From 25102b432fb37916a1a553d7ef8fd940c6e52c3f Mon Sep 17 00:00:00 2001
|
||||
From: akallabeth <akallabeth@posteo.net>
|
||||
Date: Thu, 15 Jan 2026 12:17:33 +0100
|
||||
Subject: [PATCH] [codec,clear] fix missing length checks
|
||||
|
||||
Upstream: https://github.com/FreeRDP/FreeRDP/commit/25102b432fb37916a1a553d7ef8fd940c6e52c3f.patch
|
||||
CVE: CVE-2026-23531
|
||||
[thomas: backport https://launchpad.net/ubuntu/+archive/primary/+sourcefiles/freerdp2/2.6.1+dfsg1-3ubuntu2.10/freerdp2_2.6.1+dfsg1-3ubuntu2.10.debian.tar.xz]
|
||||
Signed-off-by: Thomas Perale <thomas.perale@mind.be>
|
||||
---
|
||||
libfreerdp/codec/clear.c | 6 ++++--
|
||||
1 file changed, 4 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/libfreerdp/codec/clear.c b/libfreerdp/codec/clear.c
|
||||
index aa36baa9b305..4a67a8ed692b 100644
|
||||
--- a/libfreerdp/codec/clear.c
|
||||
+++ b/libfreerdp/codec/clear.c
|
||||
@@ -1141,8 +1141,11 @@ INT32 clear_decompress(CLEAR_CONTEXT* cl
|
||||
|
||||
if (glyphData)
|
||||
{
|
||||
- if (!freerdp_image_copy(glyphData, clear->format, 0, 0, 0, nWidth, nHeight, pDstData,
|
||||
- DstFormat, nDstStep, nXDst, nYDst, palette, FREERDP_FLIP_NONE))
|
||||
+ const uint32_t w = MIN(nWidth, nDstWidth);
|
||||
+ const uint32_t h = MIN(nHeight, nDstHeight);
|
||||
+ if (!freerdp_image_copy_no_overlap(glyphData, clear->format, 0, 0, 0, w, h, pDstData,
|
||||
+ DstFormat, nDstStep, nXDst, nYDst, palette,
|
||||
+ FREERDP_FLIP_NONE))
|
||||
goto fail;
|
||||
}
|
||||
|
||||
@@ -0,0 +1,79 @@
|
||||
From 243ecf804bb122e8e643a5c142ad5a49d7aa19ee Mon Sep 17 00:00:00 2001
|
||||
From: akallabeth <akallabeth@posteo.net>
|
||||
Date: Fri, 16 Jan 2026 12:22:46 +0100
|
||||
Subject: [PATCH] [codec,clear] check clear_decomress glyphData
|
||||
|
||||
Check destination coordinates and lengths against the actual sizes. Log
|
||||
every truncation accordingly
|
||||
|
||||
CVE: CVE-2026-23531
|
||||
Upstream: https://github.com/FreeRDP/FreeRDP/commit/243ecf804bb122e8e643a5c142ad5a49d7aa19ee
|
||||
[thomas: backport https://launchpad.net/ubuntu/+archive/primary/+sourcefiles/freerdp2/2.6.1+dfsg1-3ubuntu2.10/freerdp2_2.6.1+dfsg1-3ubuntu2.10.debian.tar.xz]
|
||||
Signed-off-by: Thomas Perale <thomas.perale@mind.be>
|
||||
---
|
||||
libfreerdp/codec/clear.c | 50 ++++++++++++++++++++++++++++++++++++++--
|
||||
1 file changed, 48 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/libfreerdp/codec/clear.c b/libfreerdp/codec/clear.c
|
||||
index 0efa89f8d06c..f9aa4f0000c1 100644
|
||||
--- a/libfreerdp/codec/clear.c
|
||||
+++ b/libfreerdp/codec/clear.c
|
||||
@@ -1141,9 +1141,55 @@ INT32 clear_decompress(CLEAR_CONTEXT* cl
|
||||
|
||||
if (glyphData)
|
||||
{
|
||||
- const uint32_t w = MIN(nWidth, nDstWidth);
|
||||
- const uint32_t h = MIN(nHeight, nDstHeight);
|
||||
- if (!freerdp_image_copy_no_overlap(glyphData, clear->format, 0, 0, 0, w, h, pDstData,
|
||||
+ uint32_t w = MIN(nWidth, nDstWidth);
|
||||
+ if (nXDst > nDstWidth)
|
||||
+ {
|
||||
+ WLog_WARN(TAG, "glyphData copy area x exceeds destination: x=%" PRIu32 " > %" PRIu32,
|
||||
+ nXDst, nDstWidth);
|
||||
+ w = 0;
|
||||
+ }
|
||||
+ else if (nXDst + w > nDstWidth)
|
||||
+ {
|
||||
+ WLog_WARN(TAG,
|
||||
+ "glyphData copy area x + width exceeds destination: x=%" PRIu32 " + %" PRIu32
|
||||
+ " > %" PRIu32,
|
||||
+ nXDst, w, nDstWidth);
|
||||
+ w = nDstWidth - nXDst;
|
||||
+ }
|
||||
+
|
||||
+ if (w != nWidth)
|
||||
+ {
|
||||
+ WLog_WARN(TAG,
|
||||
+ "glyphData copy area width truncated: requested=%" PRIu32
|
||||
+ ", truncated to %" PRIu32,
|
||||
+ nWidth, w);
|
||||
+ }
|
||||
+
|
||||
+ uint32_t h = MIN(nHeight, nDstHeight);
|
||||
+ if (nYDst > nDstHeight)
|
||||
+ {
|
||||
+ WLog_WARN(TAG, "glyphData copy area y exceeds destination: y=%" PRIu32 " > %" PRIu32,
|
||||
+ nYDst, nDstHeight);
|
||||
+ h = 0;
|
||||
+ }
|
||||
+ else if (nYDst + h > nDstHeight)
|
||||
+ {
|
||||
+ WLog_WARN(TAG,
|
||||
+ "glyphData copy area y + height exceeds destination: x=%" PRIu32 " + %" PRIu32
|
||||
+ " > %" PRIu32,
|
||||
+ nYDst, h, nDstHeight);
|
||||
+ h = nDstHeight - nYDst;
|
||||
+ }
|
||||
+
|
||||
+ if (h != nHeight)
|
||||
+ {
|
||||
+ WLog_WARN(TAG,
|
||||
+ "glyphData copy area height truncated: requested=%" PRIu32
|
||||
+ ", truncated to %" PRIu32,
|
||||
+ nHeight, h);
|
||||
+ }
|
||||
+
|
||||
+ if (!freerdp_image_copy(glyphData, clear->format, 0, 0, 0, w, h, pDstData,
|
||||
DstFormat, nDstStep, nXDst, nYDst, palette,
|
||||
FREERDP_FLIP_NONE))
|
||||
goto fail;
|
||||
@@ -0,0 +1,48 @@
|
||||
From c4a7c371342edf0d307cea728f56d3302f0ab38c Mon Sep 17 00:00:00 2001
|
||||
From: akallabeth <akallabeth@posteo.net>
|
||||
Date: Thu, 15 Jan 2026 12:04:36 +0100
|
||||
Subject: [PATCH] [gdi,gfx] properly clamp SurfaceToSurface
|
||||
|
||||
CVE: CVE-2026-23532
|
||||
Upstream: https://github.com/FreeRDP/FreeRDP/commit/c4a7c371342edf0d307cea728f56d3302f0ab38c
|
||||
[thomas: backport https://launchpad.net/ubuntu/+archive/primary/+sourcefiles/freerdp2/2.6.1+dfsg1-3ubuntu2.10/freerdp2_2.6.1+dfsg1-3ubuntu2.10.debian.tar.xz]
|
||||
Signed-off-by: Thomas Perale <thomas.perale@mind.be>
|
||||
---
|
||||
libfreerdp/gdi/gfx.c | 10 +++++-----
|
||||
1 file changed, 5 insertions(+), 5 deletions(-)
|
||||
|
||||
diff --git a/libfreerdp/gdi/gfx.c b/libfreerdp/gdi/gfx.c
|
||||
index 56e6ff9ed50b..96ce1007025c 100644
|
||||
--- a/libfreerdp/gdi/gfx.c
|
||||
+++ b/libfreerdp/gdi/gfx.c
|
||||
@@ -1175,7 +1175,6 @@ static UINT gdi_SurfaceToSurface(RdpgfxC
|
||||
UINT status = ERROR_INTERNAL_ERROR;
|
||||
UINT16 index;
|
||||
BOOL sameSurface;
|
||||
- UINT32 nWidth, nHeight;
|
||||
const RECTANGLE_16* rectSrc;
|
||||
RECTANGLE_16 invalidRect;
|
||||
gdiGfxSurface* surfaceSrc;
|
||||
@@ -1199,8 +1198,8 @@ static UINT gdi_SurfaceToSurface(RdpgfxC
|
||||
if (!is_rect_valid(rectSrc, surfaceSrc->width, surfaceSrc->height))
|
||||
goto fail;
|
||||
|
||||
- nWidth = rectSrc->right - rectSrc->left;
|
||||
- nHeight = rectSrc->bottom - rectSrc->top;
|
||||
+ const UINT32 nWidth = rectSrc->right - rectSrc->left;
|
||||
+ const UINT32 nHeight = rectSrc->bottom - rectSrc->top;
|
||||
|
||||
for (index = 0; index < surfaceToSurface->destPtsCount; index++)
|
||||
{
|
||||
@@ -1209,8 +1208,10 @@ static UINT gdi_SurfaceToSurface(RdpgfxC
|
||||
if (!is_rect_valid(&rect, surfaceDst->width, surfaceDst->height))
|
||||
goto fail;
|
||||
|
||||
+ const UINT32 rwidth = rect.right - rect.left;
|
||||
+ const UINT32 rheight = rect.bottom - rect.top;
|
||||
if (!freerdp_image_copy(surfaceDst->data, surfaceDst->format, surfaceDst->scanline,
|
||||
- destPt->x, destPt->y, nWidth, nHeight, surfaceSrc->data,
|
||||
+ destPt->x, destPt->y, rwidth, rheight, surfaceSrc->data,
|
||||
surfaceSrc->format, surfaceSrc->scanline, rectSrc->left,
|
||||
rectSrc->top, NULL, FREERDP_FLIP_NONE))
|
||||
goto fail;
|
||||
@@ -0,0 +1,58 @@
|
||||
From c4391827d7facfc874ca7f61a92afb82232a5748 Mon Sep 17 00:00:00 2001
|
||||
From: akallabeth <akallabeth@posteo.net>
|
||||
Date: Thu, 15 Jan 2026 12:11:57 +0100
|
||||
Subject: [PATCH] [codec,clear] fix clear_resize_buffer checks
|
||||
|
||||
CVE: CVE-2026-23533
|
||||
Upstream: https://github.com/FreeRDP/FreeRDP/commit/c4391827d7facfc874ca7f61a92afb82232a5748
|
||||
[thomas: backport https://launchpad.net/ubuntu/+archive/primary/+sourcefiles/freerdp2/2.6.1+dfsg1-3ubuntu2.10/freerdp2_2.6.1+dfsg1-3ubuntu2.10.debian.tar.xz]
|
||||
Signed-off-by: Thomas Perale <thomas.perale@mind.be>
|
||||
---
|
||||
libfreerdp/codec/clear.c | 15 ++++++++-------
|
||||
1 file changed, 8 insertions(+), 7 deletions(-)
|
||||
|
||||
diff --git a/libfreerdp/codec/clear.c b/libfreerdp/codec/clear.c
|
||||
index ad57529093e3..aa36baa9b305 100644
|
||||
--- a/libfreerdp/codec/clear.c
|
||||
+++ b/libfreerdp/codec/clear.c
|
||||
@@ -62,7 +62,7 @@ struct S_CLEAR_CONTEXT
|
||||
NSC_CONTEXT* nsc;
|
||||
UINT32 seqNumber;
|
||||
BYTE* TempBuffer;
|
||||
- UINT32 TempSize;
|
||||
+ size_t TempSize;
|
||||
UINT32 nTempStep;
|
||||
UINT32 TempFormat;
|
||||
UINT32 format;
|
||||
@@ -313,16 +313,17 @@ static BOOL clear_decompress_subcode_rlex(wStream* WINPR_RESTRICT s, UINT32 bitm
|
||||
|
||||
static BOOL clear_resize_buffer(CLEAR_CONTEXT* clear, UINT32 width, UINT32 height)
|
||||
{
|
||||
- UINT32 size;
|
||||
-
|
||||
if (!clear)
|
||||
return FALSE;
|
||||
|
||||
- size = ((width + 16) * (height + 16) * GetBytesPerPixel(clear->format));
|
||||
+ const UINT64 size = 1ull * (width + 16ull) * (height + 16ull);
|
||||
+ const size_t bpp = GetBytesPerPixel(clear->format);
|
||||
+ if (size > UINT32_MAX / bpp)
|
||||
+ return FALSE;
|
||||
|
||||
- if (size > clear->TempSize)
|
||||
+ if (size > clear->TempSize / bpp)
|
||||
{
|
||||
- BYTE* tmp = (BYTE*)realloc(clear->TempBuffer, size);
|
||||
+ BYTE* tmp = (BYTE*)realloc(clear->TempBuffer, size * bpp);
|
||||
|
||||
if (!tmp)
|
||||
{
|
||||
@@ -330,7 +331,7 @@ static BOOL clear_resize_buffer(CLEAR_CONTEXT* WINPR_RESTRICT clear, UINT32 widt
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
- clear->TempSize = size;
|
||||
+ clear->TempSize = size * bpp;
|
||||
clear->TempBuffer = tmp;
|
||||
}
|
||||
|
||||
@@ -0,0 +1,33 @@
|
||||
From f8688b57f6cfad9a0b05475a6afbde355ffab720 Mon Sep 17 00:00:00 2001
|
||||
From: akallabeth <akallabeth@posteo.net>
|
||||
Date: Thu, 15 Jan 2026 12:19:53 +0100
|
||||
Subject: [PATCH] [codec,clear] fix off by one length check
|
||||
|
||||
CVE: CVE-2026-23534
|
||||
Upstream: https://github.com/FreeRDP/FreeRDP/commit/f8688b57f6cfad9a0b05475a6afbde355ffab720
|
||||
[thomas: backport https://launchpad.net/ubuntu/+archive/primary/+sourcefiles/freerdp2/2.6.1+dfsg1-3ubuntu2.10/freerdp2_2.6.1+dfsg1-3ubuntu2.10.debian.tar.xz]
|
||||
Signed-off-by: Thomas Perale <thomas.perale@mind.be>
|
||||
---
|
||||
libfreerdp/codec/clear.c | 4 ++--
|
||||
1 file changed, 2 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/libfreerdp/codec/clear.c b/libfreerdp/codec/clear.c
|
||||
index 4a67a8ed692b..0efa89f8d06c 100644
|
||||
--- a/libfreerdp/codec/clear.c
|
||||
+++ b/libfreerdp/codec/clear.c
|
||||
@@ -881,11 +881,14 @@ static BOOL clear_decompress_bands_data(
|
||||
if (count > nHeight)
|
||||
count = nHeight;
|
||||
|
||||
- if (nXDstRel + i > nDstWidth)
|
||||
+ if (nXDstRel + i >= nDstWidth)
|
||||
return FALSE;
|
||||
|
||||
for (UINT32 y = 0; y < count; y++)
|
||||
{
|
||||
+ if (nYDstRel + y >= nDstHeight)
|
||||
+ return FALSE;
|
||||
+
|
||||
BYTE* pDstPixel8 = &pDstData[((nYDstRel + y) * nDstStep) +
|
||||
((nXDstRel + i) * GetBytesPerPixel(DstFormat))];
|
||||
UINT32 color = ReadColor(cpSrcPixel, clear->format);
|
||||
@@ -0,0 +1,55 @@
|
||||
From 4d44e3c097656a8b9ec696353647b0888ca45860 Mon Sep 17 00:00:00 2001
|
||||
From: akallabeth <akallabeth@posteo.net>
|
||||
Date: Mon, 19 Jan 2026 20:11:24 +0100
|
||||
Subject: [PATCH] [core,info] fix missing NULL check
|
||||
|
||||
Upstream: https://github.com/FreeRDP/FreeRDP/commit/4d44e3c097656a8b9ec696353647b0888ca45860
|
||||
CVE: CVE-2026-23948
|
||||
[thomas: backport https://launchpad.net/ubuntu/+archive/primary/+sourcefiles/freerdp2/2.6.1+dfsg1-3ubuntu2.10/freerdp2_2.6.1+dfsg1-3ubuntu2.10.debian.tar.xz]
|
||||
Signed-off-by: Thomas Perale <thomas.perale@mind.be>
|
||||
---
|
||||
libfreerdp/core/info.c | 14 +++++++++-----
|
||||
1 file changed, 9 insertions(+), 5 deletions(-)
|
||||
|
||||
diff --git a/libfreerdp/core/info.c b/libfreerdp/core/info.c
|
||||
index 0b17b75d9f64..cc54aee7baef 100644
|
||||
--- a/libfreerdp/core/info.c
|
||||
+++ b/libfreerdp/core/info.c
|
||||
@@ -1372,7 +1372,7 @@ static BOOL rdp_write_logon_info_v1(wStr
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
-static BOOL rdp_write_logon_info_v2(wStream* s, logon_info* info)
|
||||
+static BOOL rdp_write_logon_info_v2(wStream* s, const logon_info* info)
|
||||
{
|
||||
UINT32 Size = 2 + 4 + 4 + 4 + 4 + 558;
|
||||
size_t domainLen, usernameLen;
|
||||
@@ -1385,11 +1385,13 @@ static BOOL rdp_write_logon_info_v2(wStr
|
||||
Stream_Write_UINT16(s, SAVE_SESSION_PDU_VERSION_ONE);
|
||||
Stream_Write_UINT32(s, Size);
|
||||
Stream_Write_UINT32(s, info->sessionId);
|
||||
- domainLen = strlen(info->domain);
|
||||
+ if (info->domain)
|
||||
+ domainLen = strlen(info->domain);
|
||||
if (domainLen > UINT32_MAX)
|
||||
return FALSE;
|
||||
Stream_Write_UINT32(s, (UINT32)(domainLen + 1) * 2);
|
||||
- usernameLen = strlen(info->username);
|
||||
+ if (info->username)
|
||||
+ usernameLen = strlen(info->username);
|
||||
if (usernameLen > UINT32_MAX)
|
||||
return FALSE;
|
||||
Stream_Write_UINT32(s, (UINT32)(usernameLen + 1) * 2);
|
||||
@@ -1466,10 +1468,10 @@ static BOOL rdp_write_logon_info_ex(wStr
|
||||
|
||||
BOOL rdp_send_save_session_info(rdpContext* context, UINT32 type, void* data)
|
||||
{
|
||||
- wStream* s;
|
||||
BOOL status;
|
||||
+ WINPR_ASSERT(context);
|
||||
rdpRdp* rdp = context->rdp;
|
||||
- s = rdp_data_pdu_init(rdp);
|
||||
+ wStream* s = rdp_data_pdu_init(rdp);
|
||||
|
||||
if (!s)
|
||||
return FALSE;
|
||||
@@ -0,0 +1,31 @@
|
||||
From d676518809c319eec15911c705c13536036af2ae Mon Sep 17 00:00:00 2001
|
||||
From: akallabeth <akallabeth@posteo.net>
|
||||
Date: Mon, 26 Jan 2026 11:54:56 +0100
|
||||
Subject: [PATCH] [channels,urbdrc] do not free MsConfig on failure
|
||||
|
||||
let the channel handle it later.
|
||||
|
||||
CVE: CVE-2026-24675
|
||||
Upstream: https://github.com/FreeRDP/FreeRDP/commit/d676518809c319eec15911c705c13536036af2ae
|
||||
[thomas: backport https://launchpad.net/ubuntu/+archive/primary/+sourcefiles/freerdp2/2.6.1+dfsg1-3ubuntu2.10/freerdp2_2.6.1+dfsg1-3ubuntu2.10.debian.tar.xz]
|
||||
Signed-off-by: Thomas Perale <thomas.perale@mind.be>
|
||||
---
|
||||
channels/urbdrc/client/data_transfer.c | 4 +---
|
||||
1 file changed, 1 insertion(+), 3 deletions(-)
|
||||
|
||||
diff --git a/channels/urbdrc/client/data_transfer.c b/channels/urbdrc/client/data_transfer.c
|
||||
index af4b9fb5f641..c4042107d4ee 100644
|
||||
--- a/channels/urbdrc/client/data_transfer.c
|
||||
+++ b/channels/urbdrc/client/data_transfer.c
|
||||
@@ -570,10 +570,8 @@ static UINT urb_select_interface(IUDEVICE* pdev, GENERIC_CHANNEL_CALLBACK* callb
|
||||
MsConfig = pdev->get_MsConfig(pdev);
|
||||
InterfaceNumber = MsInterface->InterfaceNumber;
|
||||
if (!msusb_msinterface_replace(MsConfig, InterfaceNumber, MsInterface))
|
||||
- {
|
||||
- msusb_msconfig_free(MsConfig);
|
||||
return ERROR_BAD_CONFIGURATION;
|
||||
- }
|
||||
+
|
||||
/* complete configuration setup */
|
||||
if (!pdev->complete_msconfig_setup(pdev, MsConfig))
|
||||
{
|
||||
@@ -0,0 +1,35 @@
|
||||
From 026b81ae5831ac1598d8f7371e0d0996fac7db00 Mon Sep 17 00:00:00 2001
|
||||
From: akallabeth <akallabeth@posteo.net>
|
||||
Date: Mon, 26 Jan 2026 10:20:23 +0100
|
||||
Subject: [PATCH] [channels,audin] reset audin->format
|
||||
|
||||
Whenever the underlying structure changes reset the pointer to NULL
|
||||
|
||||
CVE: CVE-2026-24676
|
||||
Upstream: https://github.com/FreeRDP/FreeRDP/commit/026b81ae5831ac1598d8f7371e0d0996fac7db00
|
||||
[thomas: backport https://launchpad.net/ubuntu/+archive/primary/+sourcefiles/freerdp2/2.6.1+dfsg1-3ubuntu2.10/freerdp2_2.6.1+dfsg1-3ubuntu2.10.debian.tar.xz]
|
||||
Signed-off-by: Thomas Perale <thomas.perale@mind.be>
|
||||
---
|
||||
channels/audin/client/audin_main.c | 2 ++
|
||||
1 file changed, 2 insertions(+)
|
||||
|
||||
diff --git a/channels/audin/client/audin_main.c b/channels/audin/client/audin_main.c
|
||||
index c57c65a62d4e..76d87bb9c1ed 100644
|
||||
--- a/channels/audin/client/audin_main.c
|
||||
+++ b/channels/audin/client/audin_main.c
|
||||
@@ -219,6 +219,7 @@ static UINT audin_process_formats(AUDIN_
|
||||
}
|
||||
|
||||
Stream_Seek_UINT32(s); /* cbSizeFormatsPacket */
|
||||
+ audin->format = NULL;
|
||||
callback->formats = audio_formats_new(NumFormats);
|
||||
|
||||
if (!callback->formats)
|
||||
@@ -293,6 +294,7 @@ out:
|
||||
|
||||
if (error != CHANNEL_RC_OK)
|
||||
{
|
||||
+ audin->format = NULL;
|
||||
audio_formats_free(callback->formats, NumFormats);
|
||||
callback->formats = NULL;
|
||||
}
|
||||
@@ -0,0 +1,43 @@
|
||||
From 2d563a50be17c1b407ca448b1321378c0726dd31 Mon Sep 17 00:00:00 2001
|
||||
From: akallabeth <akallabeth@posteo.net>
|
||||
Date: Mon, 26 Jan 2026 10:59:39 +0100
|
||||
Subject: [PATCH] [channels,urbdrc] ensure InterfaceNumber is within range
|
||||
|
||||
CVE: CVE-2026-24679
|
||||
Upstream: https://github.com/FreeRDP/FreeRDP/commit/2d563a50be17c1b407ca448b1321378c0726dd31
|
||||
[thomas: backport https://launchpad.net/ubuntu/+archive/primary/+sourcefiles/freerdp2/2.6.1+dfsg1-3ubuntu2.10/freerdp2_2.6.1+dfsg1-3ubuntu2.10.debian.tar.xz]
|
||||
Signed-off-by: Thomas Perale <thomas.perale@mind.be>
|
||||
---
|
||||
channels/urbdrc/client/libusb/libusb_udevice.c | 12 ++++++------
|
||||
1 file changed, 6 insertions(+), 6 deletions(-)
|
||||
|
||||
diff --git a/channels/urbdrc/client/libusb/libusb_udevice.c b/channels/urbdrc/client/libusb/libusb_udevice.c
|
||||
index 6c2376f74fd6..5341248ec64f 100644
|
||||
--- a/channels/urbdrc/client/libusb/libusb_udevice.c
|
||||
+++ b/channels/urbdrc/client/libusb/libusb_udevice.c
|
||||
@@ -528,19 +528,19 @@ static int libusb_udev_select_interface(
|
||||
{
|
||||
int error = 0, diff = 0;
|
||||
UDEVICE* pdev = (UDEVICE*)idev;
|
||||
- URBDRC_PLUGIN* urbdrc;
|
||||
- MSUSB_CONFIG_DESCRIPTOR* MsConfig;
|
||||
- MSUSB_INTERFACE_DESCRIPTOR** MsInterfaces;
|
||||
|
||||
if (!pdev || !pdev->urbdrc)
|
||||
return -1;
|
||||
|
||||
- urbdrc = pdev->urbdrc;
|
||||
- MsConfig = pdev->MsConfig;
|
||||
+ URBDRC_PLUGIN* urbdrc = pdev->urbdrc;
|
||||
+ MSUSB_CONFIG_DESCRIPTOR* MsConfig = pdev->MsConfig;
|
||||
|
||||
if (MsConfig)
|
||||
{
|
||||
- MsInterfaces = MsConfig->MsInterfaces;
|
||||
+ if (InterfaceNumber >= MsConfig->NumInterfaces)
|
||||
+ return -2;
|
||||
+
|
||||
+ MSUSB_INTERFACE_DESCRIPTOR** MsInterfaces = MsConfig->MsInterfaces;
|
||||
if (MsInterfaces)
|
||||
{
|
||||
WLog_Print(urbdrc->log, WLOG_INFO,
|
||||
@@ -0,0 +1,24 @@
|
||||
From 414f701464929c217f2509bcbd6d2c1f00f7ed73 Mon Sep 17 00:00:00 2001
|
||||
From: akallabeth <akallabeth@posteo.net>
|
||||
Date: Mon, 26 Jan 2026 11:07:25 +0100
|
||||
Subject: [PATCH] [channels,urbdrc] cancel all usb transfers on channel close
|
||||
|
||||
CVE: CVE-2026-24681
|
||||
Upstream: https://github.com/FreeRDP/FreeRDP/commit/414f701464929c217f2509bcbd6d2c1f00f7ed73
|
||||
Signed-off-by: Thomas Perale <thomas.perale@mind.be>
|
||||
---
|
||||
channels/urbdrc/client/libusb/libusb_udevice.c | 1 +
|
||||
1 file changed, 1 insertion(+)
|
||||
|
||||
diff --git a/channels/urbdrc/client/libusb/libusb_udevice.c b/channels/urbdrc/client/libusb/libusb_udevice.c
|
||||
index 5341248ec64f..9e2d3ec5a193 100644
|
||||
--- a/channels/urbdrc/client/libusb/libusb_udevice.c
|
||||
+++ b/channels/urbdrc/client/libusb/libusb_udevice.c
|
||||
@@ -1116,6 +1116,7 @@ static void libusb_udev_mark_channel_closed(IUDEVICE* idev)
|
||||
const uint8_t devNr = idev->get_dev_number(idev);
|
||||
|
||||
pdev->status |= URBDRC_DEVICE_CHANNEL_CLOSED;
|
||||
+ pdev->iface.cancel_all_transfer_request(&pdev->iface);
|
||||
urbdrc->udevman->unregister_udevice(urbdrc->udevman, busNr, devNr);
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,26 @@
|
||||
From 1c5c74223179d425a1ce6dbbb6a3dd2a958b7aee Mon Sep 17 00:00:00 2001
|
||||
From: akallabeth <akallabeth@posteo.net>
|
||||
Date: Mon, 26 Jan 2026 10:14:08 +0100
|
||||
Subject: [PATCH] [channels,audin] fix audin_server_recv_formats cleanup
|
||||
|
||||
CVE: CVE-2026-24682
|
||||
Upstream: https://github.com/FreeRDP/FreeRDP/commit/1c5c74223179d425a1ce6dbbb6a3dd2a958b7aee
|
||||
[thomas: backport https://launchpad.net/ubuntu/+archive/primary/+sourcefiles/freerdp2/2.6.1+dfsg1-3ubuntu2.10/freerdp2_2.6.1+dfsg1-3ubuntu2.10.debian.tar.xz]
|
||||
Signed-off-by: Thomas Perale <thomas.perale@mind.be>
|
||||
---
|
||||
channels/audin/server/audin.c | 6 +-----
|
||||
1 file changed, 1 insertion(+), 5 deletions(-)
|
||||
|
||||
diff --git a/channels/audin/server/audin.c b/channels/audin/server/audin.c
|
||||
index 5046a7d6f27c..17077efa6652 100644
|
||||
--- a/channels/audin/server/audin.c
|
||||
+++ b/channels/audin/server/audin.c
|
||||
@@ -215,7 +215,7 @@ static UINT audin_server_recv_formats(au
|
||||
|
||||
if (!audio_format_read(s, format))
|
||||
{
|
||||
- audio_formats_free(audin->context.client_formats, i);
|
||||
+ audio_formats_free(audin->context.client_formats, audin->context.num_client_formats);
|
||||
audin->context.client_formats = NULL;
|
||||
WLog_ERR(TAG, "expected length at least 18, but got %" PRIu32 "", length);
|
||||
return ERROR_INVALID_DATA;
|
||||
@@ -0,0 +1,109 @@
|
||||
From d9ca272dce7a776ab475e9b1a8e8c3d2968c8486 Mon Sep 17 00:00:00 2001
|
||||
From: akallabeth <akallabeth@posteo.net>
|
||||
Date: Mon, 26 Jan 2026 12:08:48 +0100
|
||||
Subject: [PATCH] [channels,ainput] lock context when updating listener
|
||||
|
||||
CVE: CVE-2026-24683
|
||||
Upstream: https://github.com/FreeRDP/FreeRDP/commit/d9ca272dce7a776ab475e9b1a8e8c3d2968c8486
|
||||
[thomas: backport https://launchpad.net/ubuntu/+archive/primary/+sourcefiles/freerdp2/2.6.1+dfsg1-3ubuntu2.10/freerdp2_2.6.1+dfsg1-3ubuntu2.10.debian.tar.xz]
|
||||
Signed-off-by: Thomas Perale <thomas.perale@mind.be>
|
||||
---
|
||||
channels/ainput/client/ainput_main.c | 36 ++++++++++++++++++++--------
|
||||
1 file changed, 26 insertions(+), 10 deletions(-)
|
||||
|
||||
diff --git a/channels/ainput/client/ainput_main.c b/channels/ainput/client/ainput_main.c
|
||||
index c291bd727285..5545753600a1 100644
|
||||
--- a/channels/ainput/client/ainput_main.c
|
||||
+++ b/channels/ainput/client/ainput_main.c
|
||||
@@ -69,6 +69,7 @@ struct AINPUT_PLUGIN_
|
||||
UINT32 MajorVersion;
|
||||
UINT32 MinorVersion;
|
||||
BOOL initialized;
|
||||
+ CRITICAL_SECTION lock;
|
||||
};
|
||||
|
||||
/**
|
||||
@@ -109,10 +110,7 @@ static UINT ainput_on_data_received(IWTS
|
||||
|
||||
static UINT ainput_send_input_event(AInputClientContext* context, UINT64 flags, INT32 x, INT32 y)
|
||||
{
|
||||
- AINPUT_PLUGIN* ainput;
|
||||
- AINPUT_CHANNEL_CALLBACK* callback;
|
||||
BYTE buffer[32] = { 0 };
|
||||
- UINT64 time;
|
||||
wStream sbuffer = { 0 };
|
||||
wStream* s = &sbuffer;
|
||||
|
||||
@@ -121,8 +119,8 @@ static UINT ainput_send_input_event(AInp
|
||||
WINPR_ASSERT(s);
|
||||
WINPR_ASSERT(context);
|
||||
|
||||
- time = GetTickCount64();
|
||||
- ainput = (AINPUT_PLUGIN*)context->handle;
|
||||
+ const UINT64 time = GetTickCount64();
|
||||
+ AINPUT_PLUGIN* ainput = (AINPUT_PLUGIN*)context->handle;
|
||||
WINPR_ASSERT(ainput);
|
||||
WINPR_ASSERT(ainput->listener_callback);
|
||||
|
||||
@@ -132,8 +130,6 @@ static UINT ainput_send_input_event(AInp
|
||||
ainput->MajorVersion, ainput->MinorVersion);
|
||||
return CHANNEL_RC_UNSUPPORTED_VERSION;
|
||||
}
|
||||
- callback = ainput->listener_callback->channel_callback;
|
||||
- WINPR_ASSERT(callback);
|
||||
|
||||
{
|
||||
char buffer[128] = { 0 };
|
||||
@@ -152,10 +148,15 @@ static UINT ainput_send_input_event(AInp
|
||||
Stream_SealLength(s);
|
||||
|
||||
/* ainput back what we have received. AINPUT does not have any message IDs. */
|
||||
+ EnterCriticalSection(&ainput->lock);
|
||||
+ AINPUT_CHANNEL_CALLBACK* callback = ainput->listener_callback->channel_callback;
|
||||
+ WINPR_ASSERT(callback);
|
||||
WINPR_ASSERT(callback->channel);
|
||||
WINPR_ASSERT(callback->channel->Write);
|
||||
- return callback->channel->Write(callback->channel, (ULONG)Stream_Length(s), Stream_Buffer(s),
|
||||
+ const UINT rc = callback->channel->Write(callback->channel, (ULONG)Stream_Length(s), Stream_Buffer(s),
|
||||
NULL);
|
||||
+ LeaveCriticalSection(&ainput->lock);
|
||||
+ return rc;
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -167,7 +168,14 @@ static UINT ainput_on_close(IWTSVirtualC
|
||||
{
|
||||
AINPUT_CHANNEL_CALLBACK* callback = (AINPUT_CHANNEL_CALLBACK*)pChannelCallback;
|
||||
|
||||
- free(callback);
|
||||
+ if (callback)
|
||||
+ {
|
||||
+ AINPUT_PLUGIN* ainput = (AINPUT_PLUGIN*)callback->plugin;
|
||||
+ WINPR_ASSERT(ainput);
|
||||
+ EnterCriticalSection(&ainput->lock);
|
||||
+ free(callback);
|
||||
+ LeaveCriticalSection(&ainput->lock);
|
||||
+ }
|
||||
|
||||
return CHANNEL_RC_OK;
|
||||
}
|
||||
@@ -242,7 +250,10 @@ static UINT ainput_plugin_initialize(IWT
|
||||
status = pChannelMgr->CreateListener(pChannelMgr, AINPUT_DVC_CHANNEL_NAME, 0,
|
||||
&ainput->listener_callback->iface, &ainput->listener);
|
||||
|
||||
+ InitializeCriticalSection(&ainput->lock);
|
||||
+ EnterCriticalSection(&ainput->lock);
|
||||
ainput->listener->pInterface = ainput->iface.pInterface;
|
||||
+ LeaveCriticalSection(&ainput->lock);
|
||||
ainput->initialized = status == CHANNEL_RC_OK;
|
||||
return status;
|
||||
}
|
||||
@@ -255,6 +266,8 @@ static UINT ainput_plugin_initialize(IWT
|
||||
static UINT ainput_plugin_terminated(IWTSPlugin* pPlugin)
|
||||
{
|
||||
AINPUT_PLUGIN* ainput = (AINPUT_PLUGIN*)pPlugin;
|
||||
+ WINPR_ASSERT(ainput);
|
||||
+ DeleteCriticalSection(&ainput->lock);
|
||||
if (ainput && ainput->listener_callback)
|
||||
{
|
||||
IWTSVirtualChannelManager* mgr = ainput->listener_callback->channel_mgr;
|
||||
@@ -0,0 +1,64 @@
|
||||
From 622bb7b4402491ca003f47472d0e478132673696 Mon Sep 17 00:00:00 2001
|
||||
From: akallabeth <akallabeth@posteo.net>
|
||||
Date: Mon, 26 Jan 2026 10:48:14 +0100
|
||||
Subject: [PATCH] [channels,rdpsnd] terminate thread before free
|
||||
|
||||
Ensure that the optional rdpsnd thread is terminated and the message
|
||||
queue freed up before releasing the channel context memory
|
||||
|
||||
CVE: CVE-2026-24684
|
||||
Upstream: https://github.com/FreeRDP/FreeRDP/commit/622bb7b4402491ca003f47472d0e478132673696
|
||||
[thomas: backport https://launchpad.net/ubuntu/+archive/primary/+sourcefiles/freerdp2/2.6.1+dfsg1-3ubuntu2.10/freerdp2_2.6.1+dfsg1-3ubuntu2.10.debian.tar.xz]
|
||||
Signed-off-by: Thomas Perale <thomas.perale@mind.be>
|
||||
---
|
||||
channels/rdpsnd/client/rdpsnd_main.c | 28 +++++++++++++++++++---------
|
||||
1 file changed, 19 insertions(+), 9 deletions(-)
|
||||
|
||||
diff --git a/channels/rdpsnd/client/rdpsnd_main.c b/channels/rdpsnd/client/rdpsnd_main.c
|
||||
index 49c763a87e9b..61a29ec40aa8 100644
|
||||
--- a/channels/rdpsnd/client/rdpsnd_main.c
|
||||
+++ b/channels/rdpsnd/client/rdpsnd_main.c
|
||||
@@ -1244,11 +1244,27 @@ fail:
|
||||
return CHANNEL_RC_NO_MEMORY;
|
||||
}
|
||||
|
||||
+static void rdpsnd_terminate_thread(rdpsndPlugin* rdpsnd)
|
||||
+{
|
||||
+ WINPR_ASSERT(rdpsnd);
|
||||
+ if (rdpsnd->queue)
|
||||
+ MessageQueue_PostQuit(rdpsnd->queue, 0);
|
||||
+ if (rdpsnd->thread)
|
||||
+ {
|
||||
+ WaitForSingleObject(rdpsnd->thread, INFINITE);
|
||||
+ CloseHandle(rdpsnd->thread);
|
||||
+ }
|
||||
+ MessageQueue_Free(rdpsnd->queue);
|
||||
+ rdpsnd->thread = NULL;
|
||||
+ rdpsnd->queue = NULL;
|
||||
+}
|
||||
+
|
||||
static void cleanup_internals(rdpsndPlugin* rdpsnd)
|
||||
{
|
||||
if (!rdpsnd)
|
||||
return;
|
||||
|
||||
+ rdpsnd_terminate_thread(rdpsnd);
|
||||
if (rdpsnd->pool)
|
||||
StreamPool_Return(rdpsnd->pool, rdpsnd->data_in);
|
||||
|
||||
@@ -1396,14 +1412,7 @@ void rdpsnd_virtual_channel_event_termin
|
||||
{
|
||||
if (rdpsnd)
|
||||
{
|
||||
- if (rdpsnd->queue)
|
||||
- MessageQueue_PostQuit(rdpsnd->queue, 0);
|
||||
- if (rdpsnd->thread)
|
||||
- {
|
||||
- WaitForSingleObject(rdpsnd->thread, INFINITE);
|
||||
- CloseHandle(rdpsnd->thread);
|
||||
- }
|
||||
- MessageQueue_Free(rdpsnd->queue);
|
||||
+ rdpsnd_terminate_thread(rdpsnd);
|
||||
|
||||
free_internals(rdpsnd);
|
||||
audio_formats_free(rdpsnd->fixed_format, 1);
|
||||
@@ -0,0 +1,116 @@
|
||||
From afa6851dc80835d3101e40fcef51b6c5c0f43ea5 Mon Sep 17 00:00:00 2001
|
||||
From: akallabeth <akallabeth@posteo.net>
|
||||
Date: Wed, 28 Jan 2026 09:31:06 +0100
|
||||
Subject: [PATCH] [channel,rdpsnd] only clean up thread before free
|
||||
|
||||
rdpsnd channel usually has multiple instances (static, dynamic, ...) so
|
||||
ensure only to terminate the handler thread when the channel is actually
|
||||
closed for good.
|
||||
|
||||
CVE: CVE-2026-24684
|
||||
Upstream: https://github.com/FreeRDP/FreeRDP/commit/afa6851dc80835d3101e40fcef51b6c5c0f43ea5
|
||||
[thomas: backport https://launchpad.net/ubuntu/+archive/primary/+sourcefiles/freerdp2/2.6.1+dfsg1-3ubuntu2.10/freerdp2_2.6.1+dfsg1-3ubuntu2.10.debian.tar.xz]
|
||||
Signed-off-by: Thomas Perale <thomas.perale@mind.be>
|
||||
---
|
||||
channels/rdpsnd/client/rdpsnd_main.c | 43 ++++++++++++++++------------
|
||||
1 file changed, 25 insertions(+), 18 deletions(-)
|
||||
|
||||
diff --git a/channels/rdpsnd/client/rdpsnd_main.c b/channels/rdpsnd/client/rdpsnd_main.c
|
||||
index 61a29ec40aa8..5a1edaea62c6 100644
|
||||
--- a/channels/rdpsnd/client/rdpsnd_main.c
|
||||
+++ b/channels/rdpsnd/client/rdpsnd_main.c
|
||||
@@ -132,6 +132,8 @@ struct rdpsnd_plugin
|
||||
BOOL applyVolume;
|
||||
};
|
||||
|
||||
+static DWORD WINAPI play_thread(LPVOID arg);
|
||||
+
|
||||
static const char* rdpsnd_is_dyn_str(BOOL dynamic)
|
||||
{
|
||||
if (dynamic)
|
||||
@@ -1264,7 +1266,6 @@ static void cleanup_internals(rdpsndPlug
|
||||
if (!rdpsnd)
|
||||
return;
|
||||
|
||||
- rdpsnd_terminate_thread(rdpsnd);
|
||||
if (rdpsnd->pool)
|
||||
StreamPool_Return(rdpsnd->pool, rdpsnd->data_in);
|
||||
|
||||
@@ -1328,6 +1329,7 @@ static void free_internals(rdpsndPlugin*
|
||||
if (!rdpsnd)
|
||||
return;
|
||||
|
||||
+ rdpsnd_terminate_thread(rdpsnd);
|
||||
freerdp_dsp_context_free(rdpsnd->dsp_context);
|
||||
StreamPool_Free(rdpsnd->pool);
|
||||
rdpsnd->pool = NULL;
|
||||
@@ -1349,6 +1351,21 @@ static BOOL allocate_internals(rdpsndPlu
|
||||
if (!rdpsnd->dsp_context)
|
||||
return FALSE;
|
||||
}
|
||||
+ if (!rdpsnd->queue)
|
||||
+ {
|
||||
+ wObject obj = { 0 };
|
||||
+
|
||||
+ obj.fnObjectFree = _queue_free;
|
||||
+ rdpsnd->queue = MessageQueue_New(&obj);
|
||||
+ if (!rdpsnd->queue)
|
||||
+ return CHANNEL_RC_NO_MEMORY;
|
||||
+ }
|
||||
+ if (!rdpsnd->thread)
|
||||
+ {
|
||||
+ rdpsnd->thread = CreateThread(NULL, 0, play_thread, rdpsnd, 0, NULL);
|
||||
+ if (!rdpsnd->thread)
|
||||
+ return CHANNEL_RC_INITIALIZATION_ERROR;
|
||||
+ }
|
||||
|
||||
return TRUE;
|
||||
}
|
||||
@@ -1388,23 +1405,12 @@ static DWORD WINAPI play_thread(LPVOID a
|
||||
|
||||
static UINT rdpsnd_virtual_channel_event_initialized(rdpsndPlugin* rdpsnd)
|
||||
{
|
||||
- wObject obj = { 0 };
|
||||
-
|
||||
if (!rdpsnd)
|
||||
return ERROR_INVALID_PARAMETER;
|
||||
|
||||
- obj.fnObjectFree = _queue_free;
|
||||
- rdpsnd->queue = MessageQueue_New(&obj);
|
||||
- if (!rdpsnd->queue)
|
||||
- return CHANNEL_RC_NO_MEMORY;
|
||||
-
|
||||
if (!allocate_internals(rdpsnd))
|
||||
return CHANNEL_RC_NO_MEMORY;
|
||||
|
||||
- rdpsnd->thread = CreateThread(NULL, 0, play_thread, rdpsnd, 0, NULL);
|
||||
- if (!rdpsnd->thread)
|
||||
- return CHANNEL_RC_INITIALIZATION_ERROR;
|
||||
-
|
||||
return CHANNEL_RC_OK;
|
||||
}
|
||||
|
||||
@@ -1412,8 +1418,6 @@ void rdpsnd_virtual_channel_event_termin
|
||||
{
|
||||
if (rdpsnd)
|
||||
{
|
||||
- rdpsnd_terminate_thread(rdpsnd);
|
||||
-
|
||||
free_internals(rdpsnd);
|
||||
audio_formats_free(rdpsnd->fixed_format, 1);
|
||||
free(rdpsnd->subsystem);
|
||||
@@ -1602,13 +1606,13 @@ static UINT rdpsnd_on_close(IWTSVirtualC
|
||||
|
||||
cleanup_internals(rdpsnd);
|
||||
|
||||
+ free_internals(rdpsnd);
|
||||
if (rdpsnd->device)
|
||||
{
|
||||
IFCALL(rdpsnd->device->Free, rdpsnd->device);
|
||||
rdpsnd->device = NULL;
|
||||
}
|
||||
|
||||
- free_internals(rdpsnd);
|
||||
free(pChannelCallback);
|
||||
return CHANNEL_RC_OK;
|
||||
}
|
||||
@@ -1,3 +1,3 @@
|
||||
# Locally calculated
|
||||
sha256 f7cc2bf43b9778e9079cd229ea8e37fc1843eb1c11a8e4e003034af71858ce6a freerdp-2.11.7-18-g0ee17e2f8e49d56ab5b90d5160fa8f87ffc445e0-git4.tar.gz
|
||||
sha256 8a7c953ece217aa4fa22c4a21ab2bc4c9093fc79aa67d3e1273c140d140203f7 freerdp-2.11.8-git4.tar.gz
|
||||
sha256 cfc7749b96f63bd31c3c42b5c471bf756814053e847c10f3eb003417bc523d30 LICENSE
|
||||
|
||||
@@ -4,8 +4,8 @@
|
||||
#
|
||||
################################################################################
|
||||
|
||||
# Latest, and probably last, commit on the stable-2.0 branch
|
||||
FREERDP_VERSION = 2.11.7-18-g0ee17e2f8e49d56ab5b90d5160fa8f87ffc445e0
|
||||
# Latest, and probably last, release on the stable-2.0 branch
|
||||
FREERDP_VERSION = 2.11.8
|
||||
FREERDP_SITE = https://github.com/FreeRDP/FreeRDP
|
||||
FREERDP_SITE_METHOD = git
|
||||
FREERDP_DEPENDENCIES = libglib2 openssl zlib
|
||||
@@ -13,6 +13,58 @@ FREERDP_LICENSE = Apache-2.0
|
||||
FREERDP_LICENSE_FILES = LICENSE
|
||||
FREERDP_CPE_ID_VENDOR = freerdp
|
||||
|
||||
# Introduced in v3.0.0-beta1
|
||||
# https://security-tracker.debian.org/tracker/CVE-2024-32662
|
||||
FREERDP_IGNORE_CVES += CVE-2024-32662
|
||||
|
||||
# Windows only
|
||||
# https://security-tracker.debian.org/tracker/CVE-2025-68118
|
||||
FREERDP_IGNORE_CVES += CVE-2025-68118
|
||||
|
||||
# 0009-fix-missing-check-in-rdp-write-logon-info-v1.patch
|
||||
FREERDP_IGNORE_CVES += CVE-2024-32661
|
||||
|
||||
# 0010-fix-decoder-length-checks.patch
|
||||
FREERDP_IGNORE_CVES += CVE-2026-23530
|
||||
|
||||
# 0011-fix-missing-length-checks.patch
|
||||
# 0012-check-clear-decomress-glyphData.patch
|
||||
FREERDP_IGNORE_CVES += CVE-2026-23531
|
||||
|
||||
# 0013-properly-clamp-SurfaceToSurface.patch
|
||||
FREERDP_IGNORE_CVES += CVE-2026-23532
|
||||
|
||||
# 0014-fix-clear-resize-buffer-checks.patch
|
||||
FREERDP_IGNORE_CVES += CVE-2026-23533
|
||||
|
||||
# 0015-fix-off-by-one-length-check.patch
|
||||
FREERDP_IGNORE_CVES += CVE-2026-23534
|
||||
|
||||
# 0016-fix-missing-NULL-check.patch
|
||||
FREERDP_IGNORE_CVES += CVE-2026-23948
|
||||
|
||||
# 0017-do-not-free-MsConfig-on-failure.patch
|
||||
FREERDP_IGNORE_CVES += CVE-2026-24675
|
||||
|
||||
# 0018-reset-audin-format.patch
|
||||
FREERDP_IGNORE_CVES += CVE-2026-24676
|
||||
|
||||
# 0019-ensure-InterfaceNumber-is-within-range.patch
|
||||
FREERDP_IGNORE_CVES += CVE-2026-24679
|
||||
|
||||
# 0020-cancel-all-usb-transfers-on-channel-close.patch
|
||||
FREERDP_IGNORE_CVES += CVE-2026-24681
|
||||
|
||||
# 0021-fix-audin-server-recv-formats-cleanup.patch
|
||||
FREERDP_IGNORE_CVES += CVE-2026-24682
|
||||
|
||||
# 0022-lock-context-when-updating-listener.patch
|
||||
FREERDP_IGNORE_CVES += CVE-2026-24683
|
||||
|
||||
# 0023-terminate-thread-before-free.patch
|
||||
# 0024-only-clean-up-thread-before-free.patch
|
||||
FREERDP_IGNORE_CVES += CVE-2026-24684
|
||||
|
||||
FREERDP_INSTALL_STAGING = YES
|
||||
|
||||
FREERDP_CONF_OPTS = \
|
||||
|
||||
@@ -1,3 +1,3 @@
|
||||
# Locally calculated
|
||||
sha256 ebb66ed92018b79cec88efb60e35a596925eef46502cf03d6ff0aea636ee7461 gpsd-3.27.2.tar.gz
|
||||
sha256 409873f5048462ef1ac413a51ab35caa8b50b31be62b3347bee1cc2994e7c649 gpsd-3.27.5.tar.gz
|
||||
sha256 fdf339997bbca9eaf507476b82fbcac608fc39a3d89b86b51e16db4c9f933716 COPYING
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
#
|
||||
################################################################################
|
||||
|
||||
GPSD_VERSION = 3.27.2
|
||||
GPSD_VERSION = 3.27.5
|
||||
GPSD_SITE = http://download-mirror.savannah.gnu.org/releases/gpsd
|
||||
GPSD_LICENSE = BSD-2-Clause
|
||||
GPSD_LICENSE_FILES = COPYING
|
||||
|
||||
+55
@@ -0,0 +1,55 @@
|
||||
# HG changeset patch
|
||||
# User Bob Friesenhahn <bfriesen@GraphicsMagick.org>
|
||||
# Date 1734634653 21600
|
||||
# Thu Dec 19 12:57:33 2024 -0600
|
||||
# Node ID 883ebf8cae6dfa5873d975fe3476b1a188ef3f9f
|
||||
# Parent cf7cd5ebabb0ca40204de7539f4fb9ae02121958
|
||||
ReadWPGImage(): Assure that palette buffer is allocated and the current size.
|
||||
|
||||
CVE: CVE-2025-27796
|
||||
Upstream: https://foss.heptapod.net/graphicsmagick/graphicsmagick/-/commit/883ebf8cae6dfa5873d975fe3476b1a188ef3f9f
|
||||
[thomas: remove changelog and binary]
|
||||
Signed-off-by: Thomas Perale <thomas.perale@mind.be>
|
||||
|
||||
diff --git a/coders/wpg.c b/coders/wpg.c
|
||||
--- a/coders/wpg.c
|
||||
+++ b/coders/wpg.c
|
||||
@@ -1704,28 +1704,23 @@
|
||||
ThrowReaderException(CorruptImageError,InvalidColormapIndex,image);
|
||||
}
|
||||
|
||||
- if(pPalette!=NULL &&
|
||||
- PaletteAllocBytes < 4*(WPG_Palette.StartIndex+WPG_Palette.NumOfEntries))
|
||||
- {
|
||||
- MagickFreeResourceLimitedMemory(pPalette);
|
||||
- PaletteAllocBytes = 0;
|
||||
- }
|
||||
+ /* Assure that buffer is allocated and the current size */
|
||||
+ if (PaletteAllocBytes != Max(4*(WPG_Palette.StartIndex+WPG_Palette.NumOfEntries),4*256))
|
||||
+ {
|
||||
+ PaletteAllocBytes = Max(4*(WPG_Palette.StartIndex+WPG_Palette.NumOfEntries),4*256);
|
||||
+ MagickReallocateResourceLimitedMemory(unsigned char *,pPalette,PaletteAllocBytes);
|
||||
+ }
|
||||
if(pPalette==NULL)
|
||||
- {
|
||||
- PaletteItems = WPG_Palette.NumOfEntries;
|
||||
- PaletteAllocBytes = 4*(WPG_Palette.StartIndex+WPG_Palette.NumOfEntries);
|
||||
- if(PaletteAllocBytes < 4*256) PaletteAllocBytes = 4*256;
|
||||
- pPalette = MagickAllocateResourceLimitedMemory(unsigned char *,(size_t)PaletteAllocBytes);
|
||||
- if(pPalette==NULL)
|
||||
- ThrowReaderException(ResourceLimitError,MemoryAllocationFailed,image);
|
||||
- for(i=0; i<=255; i++)
|
||||
+ ThrowReaderException(ResourceLimitError,MemoryAllocationFailed,image);
|
||||
+
|
||||
+ PaletteItems = WPG_Palette.NumOfEntries;
|
||||
+ for(i=0; i<=255; i++)
|
||||
{
|
||||
pPalette[4*i] = WPG1_Palette[i].Red;
|
||||
pPalette[4*i+1] = WPG1_Palette[i].Green;
|
||||
pPalette[4*i+2] = WPG1_Palette[i].Blue;
|
||||
pPalette[4*i+3] = OpaqueOpacity;
|
||||
}
|
||||
- }
|
||||
if(ReadBlob(image,(size_t) PaletteItems*4,pPalette+((size_t)4*WPG_Palette.StartIndex)) != (size_t) PaletteItems*4)
|
||||
{
|
||||
MagickFreeResourceLimitedMemory(pPalette);
|
||||
@@ -11,12 +11,24 @@ GRAPHICSMAGICK_LICENSE = MIT
|
||||
GRAPHICSMAGICK_LICENSE_FILES = Copyright.txt
|
||||
GRAPHICSMAGICK_CPE_ID_VENDOR = graphicsmagick
|
||||
|
||||
# Wrong NVD annotations
|
||||
# Fixed in version 1.2.3
|
||||
GRAPHICSMAGICK_IGNORE_CVES += CVE-2008-6621
|
||||
|
||||
# Wrong NVD annotations englobbing all versions
|
||||
# Wrong patch for CVE-2006-5456 later updated
|
||||
# https://bugzilla.redhat.com/show_bug.cgi?id=210921#c5
|
||||
GRAPHICSMAGICK_IGNORE_CVES += CVE-2007-0770
|
||||
|
||||
# 0001-ReadJXLImage-Apply-image-dimension-resource-limits.patch
|
||||
GRAPHICSMAGICK_IGNORE_CVES += CVE-2025-27795
|
||||
|
||||
# 0002-ReadJXLImage-pixel_format-num_channels-needs-to-be.patch
|
||||
GRAPHICSMAGICK_IGNORE_CVES += CVE-2025-32460
|
||||
|
||||
# 0003-Assure-that-palette-buffer-is-allocated-and-the-current-size.patch
|
||||
GRAPHICSMAGICK_IGNORE_CVES += CVE-2025-27796
|
||||
|
||||
GRAPHICSMAGICK_INSTALL_STAGING = YES
|
||||
GRAPHICSMAGICK_CONFIG_SCRIPTS = GraphicsMagick-config GraphicsMagickWand-config
|
||||
|
||||
|
||||
@@ -0,0 +1,25 @@
|
||||
From 2b30c36e6ab5b21defb76ec6458ab7687984484c Mon Sep 17 00:00:00 2001
|
||||
From: Jan Klemkow <j.klemkow@wemelug.de>
|
||||
Date: Thu, 17 Apr 2025 19:02:16 +0200
|
||||
Subject: [PATCH] Fix Buffer Overflow #97
|
||||
|
||||
CVE: CVE-2025-50681
|
||||
Upstream: https://github.com/younix/igmpproxy/commit/2b30c36e6ab5b21defb76ec6458ab7687984484c
|
||||
Signed-off-by: Thomas Perale <thomas.perale@mind.be>
|
||||
---
|
||||
src/igmp.c | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git a/src/igmp.c b/src/igmp.c
|
||||
index a80c4e58..838694ce 100644
|
||||
--- a/src/igmp.c
|
||||
+++ b/src/igmp.c
|
||||
@@ -94,7 +94,7 @@ static const char *igmpPacketKind(unsigned int type, unsigned int code) {
|
||||
case IGMP_V2_LEAVE_GROUP: return "Leave message ";
|
||||
|
||||
default:
|
||||
- sprintf(unknown, "unk: 0x%02x/0x%02x ", type, code);
|
||||
+ snprintf(unknown, sizeof unknown, "unk: 0x%02x/0x%02x ", type, code);
|
||||
return unknown;
|
||||
}
|
||||
}
|
||||
@@ -13,4 +13,7 @@ IGMPPROXY_LICENSE_FILES = COPYING GPL.txt Stanford.txt
|
||||
|
||||
IGMPPROXY_CPE_ID_VENDOR = pali
|
||||
|
||||
# 0001-Fix-Buffer-Overflow.patch
|
||||
IGMPPROXY_IGNORE_CVES += CVE-2025-50681
|
||||
|
||||
$(eval $(autotools-package))
|
||||
|
||||
@@ -1,3 +1,3 @@
|
||||
# Locally computed
|
||||
sha256 521fa7a8c0f664a3f5cf7437cbcc219f12bd6d5fe0c1fb014f212fa145076e60 imagemagick-7.1.2-12.tar.gz
|
||||
sha256 a556c5292c87c9a6ac795c80669b0c3660f9f729de8c476bf2b10f83ab1b34ec LICENSE
|
||||
sha256 bf646e7fffdf50b7d886eec6bbe51c3ced1c4d68fbabfcc534e014575359fe7f imagemagick-7.1.2-15.tar.gz
|
||||
sha256 131447ad0099069beaa32acf1700716eea294a5bdf936d8211d7026b1849e5d4 LICENSE
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
#
|
||||
################################################################################
|
||||
|
||||
IMAGEMAGICK_VERSION = 7.1.2-12
|
||||
IMAGEMAGICK_VERSION = 7.1.2-15
|
||||
IMAGEMAGICK_SITE = $(call github,ImageMagick,ImageMagick,$(IMAGEMAGICK_VERSION))
|
||||
IMAGEMAGICK_LICENSE = Apache-2.0
|
||||
IMAGEMAGICK_LICENSE_FILES = LICENSE
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
# Locally calculated after checking pgp signature
|
||||
# https://www.libssh.org/files/0.11/libssh-0.11.3.tar.xz.asc
|
||||
# https://www.libssh.org/files/0.11/libssh-0.11.4.tar.xz.asc
|
||||
# with key 88A228D89B07C2C77D0C780903D5DF8CFDD3E8E7
|
||||
sha256 7d8a1361bb094ec3f511964e78a5a4dba689b5986e112afabe4f4d0d6c6125c3 libssh-0.11.3.tar.xz
|
||||
sha256 002ac320e3d66c9e100ec6576e3e84aa0c48949efde3bf5b40a2802992297701 libssh-0.11.4.tar.xz
|
||||
sha256 1656186e951db1c010a8485481fa94587f7e53a26d24976bef97945ad0c4df5a COPYING
|
||||
|
||||
@@ -5,7 +5,7 @@
|
||||
################################################################################
|
||||
|
||||
LIBSSH_VERSION_MAJOR = 0.11
|
||||
LIBSSH_VERSION = $(LIBSSH_VERSION_MAJOR).3
|
||||
LIBSSH_VERSION = $(LIBSSH_VERSION_MAJOR).4
|
||||
LIBSSH_SOURCE = libssh-$(LIBSSH_VERSION).tar.xz
|
||||
LIBSSH_SITE = https://www.libssh.org/files/$(LIBSSH_VERSION_MAJOR)
|
||||
LIBSSH_LICENSE = LGPL-2.1
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
# Locally calculated after checking pgp signature
|
||||
# https://ftp.gnu.org/gnu/libunistring/libunistring-1.4.1.tar.xz.sig
|
||||
sha256 67d88430892527861903788868c77802a217b0959990f7449f2976126a307763 libunistring-1.4.1.tar.xz
|
||||
# https://ftp.gnu.org/gnu/libunistring/libunistring-1.4.2.tar.xz.sig
|
||||
sha256 5b46e74377ed7409c5b75e7a96f95377b095623b689d8522620927964a41499c libunistring-1.4.2.tar.xz
|
||||
# Locally calculated
|
||||
sha256 3972dc9744f6499f0f9b2dbf76696f2ae7ad8af9b23dde66d6af86c9dfb36986 COPYING
|
||||
sha256 a853c2ffec17057872340eee242ae4d96cbf2b520ae27d903e1b2fef1a5f9d1c COPYING.LIB
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
#
|
||||
################################################################################
|
||||
|
||||
LIBUNISTRING_VERSION = 1.4.1
|
||||
LIBUNISTRING_VERSION = 1.4.2
|
||||
LIBUNISTRING_SITE = $(BR2_GNU_MIRROR)/libunistring
|
||||
LIBUNISTRING_SOURCE = libunistring-$(LIBUNISTRING_VERSION).tar.xz
|
||||
LIBUNISTRING_INSTALL_STAGING = YES
|
||||
|
||||
@@ -89,12 +89,14 @@ comment "qemu needs a toolchain with gcc >= 8"
|
||||
config BR2_PACKAGE_LIBVIRT_LXC
|
||||
bool "lxc"
|
||||
depends on BR2_TOOLCHAIN_GCC_AT_LEAST_4_7 # lxc
|
||||
depends on !BR2_TOOLCHAIN_USES_UCLIBC # lxc
|
||||
select BR2_PACKAGE_LXC
|
||||
help
|
||||
Linux Container support
|
||||
|
||||
comment "lxc needs a toolchain w/ gcc >= 4.7"
|
||||
depends on !BR2_TOOLCHAIN_GCC_AT_LEAST_4_7
|
||||
comment "lxc needs a glibc or musl toolchain w/ gcc >= 4.7"
|
||||
depends on !BR2_TOOLCHAIN_GCC_AT_LEAST_4_7 \
|
||||
|| BR2_TOOLCHAIN_USES_UCLIBC
|
||||
|
||||
endif
|
||||
|
||||
|
||||
@@ -469,8 +469,8 @@ config BR2_DEFAULT_KERNEL_HEADERS
|
||||
default "6.1.164" if BR2_KERNEL_HEADERS_6_1
|
||||
default "6.6.127" if BR2_KERNEL_HEADERS_6_6
|
||||
default "6.12.74" if BR2_KERNEL_HEADERS_6_12
|
||||
default "6.18.13" if BR2_KERNEL_HEADERS_6_18
|
||||
default "6.19.3" if BR2_KERNEL_HEADERS_6_19
|
||||
default "6.18.15" if BR2_KERNEL_HEADERS_6_18
|
||||
default "6.19.5" if BR2_KERNEL_HEADERS_6_19
|
||||
default BR2_DEFAULT_KERNEL_VERSION if BR2_KERNEL_HEADERS_VERSION
|
||||
default "custom" if BR2_KERNEL_HEADERS_CUSTOM_TARBALL
|
||||
default BR2_KERNEL_HEADERS_CUSTOM_REPO_VERSION \
|
||||
|
||||
@@ -12,7 +12,7 @@ endif
|
||||
|
||||
# Not possible to directly refer to mesa3d variables, because of
|
||||
# first/second expansion trickery...
|
||||
MESA3D_HEADERS_VERSION = 26.0.0
|
||||
MESA3D_HEADERS_VERSION = 26.0.1
|
||||
MESA3D_HEADERS_SOURCE = mesa-$(MESA3D_HEADERS_VERSION).tar.xz
|
||||
MESA3D_HEADERS_SITE = https://archive.mesa3d.org
|
||||
MESA3D_HEADERS_DL_SUBDIR = mesa3d
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
# From https://lists.freedesktop.org/archives/mesa-announce/2026-February/000838.html
|
||||
sha256 2a44e98e64d5c36cec64633de2d0ec7eff64703ee25b35364ba8fcaa84f33f72 mesa-26.0.0.tar.xz
|
||||
sha512 d39d190d0a17306f0aa69033e38dd8cf458dbf8da483b768841e2dc681dd670735999b212fbe0b29be839702a20750c87d6587bd925dca10693950830a17cd55 mesa-26.0.0.tar.xz
|
||||
# From https://lists.freedesktop.org/archives/mesa-announce/2026-February/000840.html
|
||||
sha256 bb5104f9f9a46c9b5175c24e601e0ef1ab44ce2d0fdbe81548b59adc8b385dcc mesa-26.0.1.tar.xz
|
||||
sha512 d47072257035acfa8a5594c0cda831b4e5178169dea8a06c6657268a441e32271f8798486e837cea23f35ce3f0b4b9520a4ea4ed26b0e1267b02da4c649bc9f9 mesa-26.0.1.tar.xz
|
||||
# License
|
||||
sha256 0d1a0472ecc81830e75c20d59b0ea02841e3db21255e0ebad97ab682c54d6615 docs/license.rst
|
||||
sha256 323c587d0ccf10e376f8bf9a7f31fb4ca6078105194b42e0b1e0ee2bc9bde71f licenses/MIT
|
||||
|
||||
@@ -5,7 +5,7 @@
|
||||
################################################################################
|
||||
|
||||
# When updating the version, please also update mesa3d-headers
|
||||
MESA3D_VERSION = 26.0.0
|
||||
MESA3D_VERSION = 26.0.1
|
||||
MESA3D_SOURCE = mesa-$(MESA3D_VERSION).tar.xz
|
||||
MESA3D_SITE = https://archive.mesa3d.org
|
||||
MESA3D_LICENSE = MIT, SGI, Khronos
|
||||
|
||||
@@ -0,0 +1,53 @@
|
||||
From d4743b6092d513321c23c6f7fe5cff87cde043c1 Mon Sep 17 00:00:00 2001
|
||||
From: Robin Watts <Robin.Watts@artifex.com>
|
||||
Date: Mon, 12 Jan 2026 19:08:56 +0000
|
||||
Subject: Bug 709029: Fix incorrect error-case free of pixmap.
|
||||
|
||||
Don't free a pixmap we don't own!
|
||||
|
||||
CVE: CVE-2026-25556
|
||||
Upstream: https://cgit.ghostscript.com/cgi-bin/cgit.cgi/mupdf.git/commit/?id=d4743b6092d513321c23c6f7fe5cff87cde043c1
|
||||
Signed-off-by: Thomas Perale <thomas.perale@mind.be>
|
||||
---
|
||||
source/fitz/util.c | 15 +++++++++------
|
||||
1 file changed, 9 insertions(+), 6 deletions(-)
|
||||
|
||||
diff --git a/source/fitz/util.c b/source/fitz/util.c
|
||||
index 7710124cc..90226a5c1 100644
|
||||
--- a/source/fitz/util.c
|
||||
+++ b/source/fitz/util.c
|
||||
@@ -119,7 +119,15 @@ fz_new_pixmap_from_display_list_with_separations(fz_context *ctx, fz_display_lis
|
||||
else
|
||||
fz_clear_pixmap_with_value(ctx, pix, 0xFF);
|
||||
|
||||
- return fz_fill_pixmap_from_display_list(ctx, list, ctm, pix);
|
||||
+ fz_try(ctx)
|
||||
+ fz_fill_pixmap_from_display_list(ctx, list, ctm, pix);
|
||||
+ fz_catch(ctx)
|
||||
+ {
|
||||
+ fz_drop_pixmap(ctx, pix);
|
||||
+ fz_rethrow(ctx);
|
||||
+ }
|
||||
+
|
||||
+ return pix;
|
||||
}
|
||||
|
||||
fz_pixmap *
|
||||
@@ -136,14 +144,9 @@ fz_fill_pixmap_from_display_list(fz_context *ctx, fz_display_list *list, fz_matr
|
||||
fz_close_device(ctx, dev);
|
||||
}
|
||||
fz_always(ctx)
|
||||
- {
|
||||
fz_drop_device(ctx, dev);
|
||||
- }
|
||||
fz_catch(ctx)
|
||||
- {
|
||||
- fz_drop_pixmap(ctx, pix);
|
||||
fz_rethrow(ctx);
|
||||
- }
|
||||
|
||||
return pix;
|
||||
}
|
||||
--
|
||||
cgit v1.2.3
|
||||
|
||||
@@ -27,6 +27,9 @@ MUPDF_IGNORE_CVES = \
|
||||
CVE-2024-24258 \
|
||||
CVE-2024-24259
|
||||
|
||||
# 0001-Fix-incorrect-error-case-free-of-pixmap.patch
|
||||
MUPDF_IGNORE_CVES += CVE-2026-25556
|
||||
|
||||
# mupdf doesn't use CFLAGS and LIBS but XCFLAGS and XLIBS instead.
|
||||
# with USE_SYSTEM_LIBS it will try to use system libraries instead of the bundled ones.
|
||||
MUPDF_MAKE_ENV = $(TARGET_MAKE_ENV) $(TARGET_CONFIGURE_OPTS) \
|
||||
|
||||
@@ -0,0 +1,78 @@
|
||||
From a742647efd215b682e4cd26b15ac3e580c10ef9f Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Alexis=20Lothor=C3=A9?= <alexis.lothore@bootlin.com>
|
||||
Date: Mon, 16 Feb 2026 13:50:48 +0100
|
||||
Subject: [PATCH] Set project as C project in CMakeLists.txt
|
||||
MIME-Version: 1.0
|
||||
Content-Type: text/plain; charset=UTF-8
|
||||
Content-Transfer-Encoding: 8bit
|
||||
|
||||
The openscap tool has been recently integrated in the buildroot build
|
||||
system ([1]), which makes the openscap tool buildable for a wide variety
|
||||
or architectures/OSes, with a wide variety of _compilers_. And so when
|
||||
such compilers are not supporting C++ projects (as it is the case with a
|
||||
default buildroot toolchain), the build breaks on the following error
|
||||
(see [2] for an example):
|
||||
|
||||
-- Detecting CXX compiler ABI info
|
||||
-- Detecting CXX compiler ABI info - failed
|
||||
-- Check for working CXX compiler: /bin/false
|
||||
-- Check for working CXX compiler: /bin/false - broken
|
||||
CMake Error at /usr/share/cmake/Modules/CMakeTestCXXCompiler.cmake:73 (message):
|
||||
The C++ compiler
|
||||
|
||||
"/bin/false"
|
||||
|
||||
is not able to compile a simple test program.
|
||||
|
||||
It fails with the following output:
|
||||
|
||||
Change Dir: '/home/autobuild/autobuild/instance-6/output-1/build/openscap-1.3.12/buildroot-build/CMakeFiles/CMakeScratch/TryCompile-tUydqI'
|
||||
|
||||
Run Build Command(s): /usr/bin/cmake -E env VERBOSE=1 /usr/bin/make -f Makefile cmTC_1834b/fast
|
||||
make[1]: Entering directory '/home/autobuild/autobuild/instance-6/output-1/build/openscap-1.3.12/buildroot-build/CMakeFiles/CMakeScratch/TryCompile-tUydqI'
|
||||
/usr/bin/make -f CMakeFiles/cmTC_1834b.dir/build.make CMakeFiles/cmTC_1834b.dir/build
|
||||
make[2]: Entering directory '/home/autobuild/autobuild/instance-6/output-1/build/openscap-1.3.12/buildroot-build/CMakeFiles/CMakeScratch/TryCompile-tUydqI'
|
||||
Building CXX object CMakeFiles/cmTC_1834b.dir/testCXXCompiler.cxx.o
|
||||
/bin/false -o CMakeFiles/cmTC_1834b.dir/testCXXCompiler.cxx.o -c /home/autobuild/autobuild/instance-6/output-1/build/openscap-1.3.12/buildroot-build/CMakeFiles/CMakeScratch/TryCompile-tUydqI/testCXXCompiler.cxx
|
||||
make[2]: *** [CMakeFiles/cmTC_1834b.dir/build.make:81: CMakeFiles/cmTC_1834b.dir/testCXXCompiler.cxx.o] Error 1
|
||||
make[2]: Leaving directory '/home/autobuild/autobuild/instance-6/output-1/build/openscap-1.3.12/buildroot-build/CMakeFiles/CMakeScratch/TryCompile-tUydqI'
|
||||
make[1]: *** [Makefile:134: cmTC_1834b/fast] Error 2
|
||||
make[1]: Leaving directory '/home/autobuild/autobuild/instance-6/output-1/build/openscap-1.3.12/buildroot-build/CMakeFiles/CMakeScratch/TryCompile-tUydqI'
|
||||
|
||||
CMake will not be able to correctly generate this project.
|
||||
Call Stack (most recent call first):
|
||||
CMakeLists.txt:11 (project)
|
||||
|
||||
openscap does not have any C++ code to build, so restricting builds to
|
||||
toolchains supporting C++ is overconstraining, the configuration step
|
||||
should rather not try to check C++ support.
|
||||
|
||||
Enforce the project as a C project in CMakeLists.txt to make sure not to
|
||||
test C++ features on the used toolchain.
|
||||
|
||||
[1] https://buildroot.org/
|
||||
[2] https://autobuild.buildroot.org/results/1fe550ffa79f0a083a450ae03fe067a8ab7336be/build-end.log
|
||||
|
||||
Upstream: https://github.com/OpenSCAP/openscap/pull/2312
|
||||
[patch slightly adapted to be applicable on v1.3.12]
|
||||
Signed-off-by: Alexis Lothoré <alexis.lothore@bootlin.com>
|
||||
---
|
||||
CMakeLists.txt | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git a/CMakeLists.txt b/CMakeLists.txt
|
||||
index cb13debb47cf..05b054327951 100644
|
||||
--- a/CMakeLists.txt
|
||||
+++ b/CMakeLists.txt
|
||||
@@ -8,7 +8,7 @@ if(NOT CMAKE_BUILD_TYPE AND NOT CMAKE_CONFIGURATION_TYPES)
|
||||
"MinSizeRel" "RelWithDebInfo")
|
||||
endif()
|
||||
|
||||
-project("openscap")
|
||||
+project("openscap" C)
|
||||
set(OPENSCAP_VERSION_MAJOR "1")
|
||||
set(OPENSCAP_VERSION_MINOR "3")
|
||||
set(OPENSCAP_VERSION_PATCH "12")
|
||||
--
|
||||
2.53.0
|
||||
|
||||
@@ -0,0 +1,33 @@
|
||||
From 9c986353e420ead6e706262bf204d6e03322c300 Mon Sep 17 00:00:00 2001
|
||||
From: Andreas Gruenbacher <agruen@gnu.org>
|
||||
Date: Fri, 17 Aug 2018 13:35:40 +0200
|
||||
Subject: Fix swapping fake lines in pch_swap
|
||||
|
||||
* src/pch.c (pch_swap): Fix swapping p_bfake and p_efake when there is a
|
||||
blank line in the middle of a context-diff hunk: that empty line stays
|
||||
in the middle of the hunk and isn't swapped.
|
||||
|
||||
Fixes: https://savannah.gnu.org/bugs/index.php?53133
|
||||
CVE: CVE-2018-6952
|
||||
Upstream: https://cgit.git.savannah.gnu.org/cgit/patch.git/commit/?id=9c986353e420ead6e706262bf204d6e03322c300
|
||||
Signed-off-by: Thomas Perale <thomas.perale@mind.be>
|
||||
---
|
||||
src/pch.c | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git a/src/pch.c b/src/pch.c
|
||||
index e92bc64..a500ad9 100644
|
||||
--- a/src/pch.c
|
||||
+++ b/src/pch.c
|
||||
@@ -2115,7 +2115,7 @@ pch_swap (void)
|
||||
}
|
||||
if (p_efake >= 0) { /* fix non-freeable ptr range */
|
||||
if (p_efake <= i)
|
||||
- n = p_end - i + 1;
|
||||
+ n = p_end - p_ptrn_lines;
|
||||
else
|
||||
n = -i;
|
||||
p_efake += n;
|
||||
--
|
||||
cgit v1.2.3
|
||||
|
||||
@@ -0,0 +1,30 @@
|
||||
From 15b158db3ae11cb835f2eb8d2eb48e09d1a4af48 Mon Sep 17 00:00:00 2001
|
||||
From: Andreas Gruenbacher <agruen@gnu.org>
|
||||
Date: Mon, 15 Jul 2019 19:10:02 +0200
|
||||
Subject: Avoid invalid memory access in context format diffs
|
||||
|
||||
* src/pch.c (another_hunk): Avoid invalid memory access in context format
|
||||
diffs.
|
||||
|
||||
CVE: CVE-2019-20633
|
||||
Upstream: https://cgit.git.savannah.gnu.org/cgit/patch.git/commit/?id=15b158db3ae11cb835f2eb8d2eb48e09d1a4af48
|
||||
Signed-off-by: Thomas Perale <thomas.perale@mind.be>
|
||||
---
|
||||
src/pch.c | 1 +
|
||||
1 file changed, 1 insertion(+)
|
||||
|
||||
diff --git a/src/pch.c b/src/pch.c
|
||||
index a500ad9..cb54e03 100644
|
||||
--- a/src/pch.c
|
||||
+++ b/src/pch.c
|
||||
@@ -1327,6 +1327,7 @@ another_hunk (enum diff difftype, bool rev)
|
||||
ptrn_prefix_context = context;
|
||||
ptrn_suffix_context = context;
|
||||
if (repl_beginning
|
||||
+ || p_end <= 0
|
||||
|| (p_end
|
||||
!= p_ptrn_lines + 1 + (p_Char[p_end - 1] == '\n')))
|
||||
{
|
||||
--
|
||||
cgit v1.2.3
|
||||
|
||||
@@ -23,6 +23,12 @@ PATCH_IGNORE_CVES += CVE-2018-20969 CVE-2019-13638
|
||||
# 0005-Don-t-follow-symlinks-unless--follow-symlinks-is-given.patch
|
||||
PATCH_IGNORE_CVES += CVE-2019-13636
|
||||
|
||||
# 0006-Fix-swapping-fake-lines-in-pch-swap.patch
|
||||
PATCH_IGNORE_CVES += CVE-2018-6952
|
||||
|
||||
# 0007-Avoid-invalid-memory-access-in-context-format-diffs.patch
|
||||
PATCH_IGNORE_CVES += CVE-2019-20633
|
||||
|
||||
ifeq ($(BR2_PACKAGE_ATTR),y)
|
||||
PATCH_CONF_OPTS += --enable-xattr
|
||||
PATCH_DEPENDENCIES += attr
|
||||
|
||||
@@ -77,9 +77,8 @@ define POCO_CONFIGURE_CMDS
|
||||
--no-samples)
|
||||
endef
|
||||
|
||||
# Use $(MAKE1) to avoid failures on heavilly parallel machines (e.g. -j25)
|
||||
define POCO_BUILD_CMDS
|
||||
$(TARGET_MAKE_ENV) $(MAKE1) POCO_TARGET_OSARCH=$(ARCH) CROSS_COMPILE=$(TARGET_CROSS) \
|
||||
$(TARGET_MAKE_ENV) $(MAKE) POCO_TARGET_OSARCH=$(ARCH) CROSS_COMPILE=$(TARGET_CROSS) \
|
||||
POCO_MYSQL_INCLUDE=$(STAGING_DIR)/usr/include/mysql \
|
||||
POCO_MYSQL_LIB=$(STAGING_DIR)/usr/lib/mysql \
|
||||
POCO_PGSQL_INCLUDE=$(STAGING_DIR)/usr/include/postgresql \
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
# md5, sha256 from https://pypi.org/pypi/python_multipart/json
|
||||
md5 fd24645f1b328d5d328e8b10bc2c596c python_multipart-0.0.21.tar.gz
|
||||
sha256 7137ebd4d3bbf70ea1622998f902b97a29434a9e8dc40eb203bbcf7c2a2cba92 python_multipart-0.0.21.tar.gz
|
||||
md5 0debb97a2b5d68f8dd5119bd200f4010 python_multipart-0.0.22.tar.gz
|
||||
sha256 7340bef99a7e0032613f56dc36027b959fd3b30a787ed62d310e951f7c3a3a58 python_multipart-0.0.22.tar.gz
|
||||
# Locally computed sha256 checksums
|
||||
sha256 a8e833176cd617daf00b9d6d39fa15ca8edebc6d1643079cd2f4893c0c289be2 LICENSE.txt
|
||||
|
||||
@@ -4,9 +4,9 @@
|
||||
#
|
||||
################################################################################
|
||||
|
||||
PYTHON_MULTIPART_VERSION = 0.0.21
|
||||
PYTHON_MULTIPART_VERSION = 0.0.22
|
||||
PYTHON_MULTIPART_SOURCE = python_multipart-$(PYTHON_MULTIPART_VERSION).tar.gz
|
||||
PYTHON_MULTIPART_SITE = https://files.pythonhosted.org/packages/78/96/804520d0850c7db98e5ccb70282e29208723f0964e88ffd9d0da2f52ea09
|
||||
PYTHON_MULTIPART_SITE = https://files.pythonhosted.org/packages/94/01/979e98d542a70714b0cb2b6728ed0b7c46792b695e3eaec3e20711271ca3
|
||||
PYTHON_MULTIPART_SETUP_TYPE = hatch
|
||||
PYTHON_MULTIPART_LICENSE = Apache-2.0
|
||||
PYTHON_MULTIPART_LICENSE_FILES = LICENSE.txt
|
||||
|
||||
@@ -0,0 +1,31 @@
|
||||
From 25e47f8932f0401392ef1d3c8cc9ed5595bc894a Mon Sep 17 00:00:00 2001
|
||||
From: "Christian W. Zuckschwerdt" <christian@zuckschwerdt.org>
|
||||
Date: Wed, 8 Oct 2025 10:11:15 +0200
|
||||
Subject: [PATCH] Fix overflow in rfraw test data parsing (closes #3375)
|
||||
|
||||
CVE: CVE-2025-34450
|
||||
Upstream: https://github.com/merbanan/rtl_433/commit/25e47f8932f0401392ef1d3c8cc9ed5595bc894a
|
||||
Signed-off-by: Thomas Perale <thomas.perale@mind.be>
|
||||
---
|
||||
src/rfraw.c | 5 +++++
|
||||
1 file changed, 5 insertions(+)
|
||||
|
||||
diff --git a/src/rfraw.c b/src/rfraw.c
|
||||
index 9f4c9780c..71a1c365d 100644
|
||||
--- a/src/rfraw.c
|
||||
+++ b/src/rfraw.c
|
||||
@@ -159,9 +159,14 @@ static bool parse_rfraw(pulse_data_t *data, char const **p)
|
||||
data->num_pulses++;
|
||||
pulse_needed = true;
|
||||
}
|
||||
+ // abort reading if the pulse data array is full
|
||||
+ if (data->num_pulses >= PD_MAX_PULSES) {
|
||||
+ break;
|
||||
+ }
|
||||
}
|
||||
//data->gap[data->num_pulses - 1] = 3000; // TODO: extend last gap?
|
||||
|
||||
+ // expand reapeats as long as the pulse data array has enough space
|
||||
unsigned pkt_pulses = data->num_pulses - prev_pulses;
|
||||
for (int i = 1; i < repeats && data->num_pulses + pkt_pulses <= PD_MAX_PULSES; ++i) {
|
||||
memcpy(&data->pulse[data->num_pulses], &data->pulse[prev_pulses], pkt_pulses * sizeof (*data->pulse));
|
||||
@@ -10,6 +10,9 @@ RTL_433_LICENSE = GPL-2.0+
|
||||
RTL_433_LICENSE_FILES = COPYING
|
||||
RTL_433_CPE_ID_VALID = YES
|
||||
|
||||
# 0002-Fix-overflow-in-rfraw-test-data-parsing.patch
|
||||
RTL_433_IGNORE_CVES += CVE-2025-34450
|
||||
|
||||
# Force Release build to remove ASAN.
|
||||
RTL_433_CONF_OPTS = \
|
||||
-DCMAKE_BUILD_TYPE=Release \
|
||||
|
||||
@@ -6,7 +6,7 @@
|
||||
|
||||
RUBY_VERSION_MAJOR = 4.0
|
||||
RUBY_VERSION = $(RUBY_VERSION_MAJOR).1
|
||||
RUBY_VERSION_EXT = 4.0.1
|
||||
RUBY_VERSION_EXT = 4.0.0
|
||||
RUBY_SITE = http://cache.ruby-lang.org/pub/ruby/$(RUBY_VERSION_MAJOR)
|
||||
RUBY_SOURCE = ruby-$(RUBY_VERSION).tar.xz
|
||||
|
||||
@@ -26,10 +26,12 @@ RUBY_CONF_OPTS = \
|
||||
--disable-install-doc \
|
||||
--disable-rpath \
|
||||
--disable-rubygems \
|
||||
--disable-yjit
|
||||
--disable-yjit \
|
||||
--disable-zjit
|
||||
HOST_RUBY_CONF_OPTS = \
|
||||
--disable-install-doc \
|
||||
--disable-yjit \
|
||||
--disable-zjit \
|
||||
--with-out-ext=curses,readline \
|
||||
--without-gmp
|
||||
|
||||
|
||||
@@ -0,0 +1,47 @@
|
||||
From f59a0c8c1b5cf19cd0ed7f9bfb3a1e85f54113d0 Mon Sep 17 00:00:00 2001
|
||||
From: Khem Raj <raj.khem@gmail.com>
|
||||
Date: Wed, 13 Aug 2025 20:23:48 -0700
|
||||
Subject: [PATCH] vsnprintf_s: Increase Buffer Size by 1
|
||||
|
||||
It is a buffer overflow warning that GCC 15.2 is catching.
|
||||
The issue is that it's trying to write to `buf[len++]` when len could
|
||||
potentially be 31, which would write to buf[31] in a buffer of size 32
|
||||
(valid indices 0-31), but the len++ post-increment means it could
|
||||
theoretically write beyond the buffer bounds.
|
||||
|
||||
Fixes
|
||||
|
||||
../../sources/safec-3.9.1/src/str/vsnprintf_s.c: In function 'safec_ftoa.isra':
|
||||
../../sources/safec-3.9.1/src/str/vsnprintf_s.c:523:24: error: writing 32 bytes into a region of size 31 [-Werror=stringop-overflow=]
|
||||
523 | buf[len++] = '0';
|
||||
| ~~~~~~~~~~~^~~~~
|
||||
../../sources/safec-3.9.1/src/str/vsnprintf_s.c:394:10: note: at offset [1, 32] into destination object 'buf' of size 32
|
||||
394 | char buf[PRINTF_FTOA_BUFFER_SIZE];
|
||||
| ^~~
|
||||
cc1: all warnings being treated as errors
|
||||
|
||||
Signed-off-by: Khem Raj <raj.khem@gmail.com>
|
||||
|
||||
Upstream: https://github.com/rurban/safeclib/commit/f59a0c8c1b5cf19cd0ed7f9bfb3a1e85f54113d0
|
||||
|
||||
Signed-off-by: Bernd Kuhls <bernd@kuhls.net>
|
||||
---
|
||||
src/str/vsnprintf_s.c | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git a/src/str/vsnprintf_s.c b/src/str/vsnprintf_s.c
|
||||
index fa53ab42..0b62c3cb 100644
|
||||
--- a/src/str/vsnprintf_s.c
|
||||
+++ b/src/str/vsnprintf_s.c
|
||||
@@ -391,7 +391,7 @@ static size_t safec_ftoa(out_fct_type out, const char *funcname, char *buffer,
|
||||
size_t idx, size_t maxlen, double value,
|
||||
unsigned int prec, unsigned int width,
|
||||
unsigned int flags) {
|
||||
- char buf[PRINTF_FTOA_BUFFER_SIZE];
|
||||
+ char buf[PRINTF_FTOA_BUFFER_SIZE + 1]; // Add extra byte for safety
|
||||
size_t len = 0U, off = 0U;
|
||||
double tmp;
|
||||
double diff = 0.0;
|
||||
--
|
||||
2.47.3
|
||||
|
||||
@@ -0,0 +1,50 @@
|
||||
From 79e1445f4b3689526b46121b1218cab802b9ae88 Mon Sep 17 00:00:00 2001
|
||||
From: Bernd Kuhls <bernd@kuhls.net>
|
||||
Date: Sat, 10 Jan 2026 12:16:22 +0100
|
||||
Subject: [PATCH] vsnprintf_s: Increase Buffer Size by 1
|
||||
|
||||
Another fix similar to https://github.com/rurban/safeclib/commit/f59a0c8c1b5cf19cd0ed7f9bfb3a1e85f54113d0
|
||||
|
||||
In function 'safec_ntoa_format',
|
||||
inlined from 'safec_ntoa_long' at str/vsnprintf_s.c:331:12:
|
||||
str/vsnprintf_s.c:256:24: error: writing 32 bytes into a region of size 0 [-Werror=stringop-overflow=]
|
||||
256 | buf[len++] = '0';
|
||||
| ~~~~~~~~~~~^~~~~
|
||||
str/vsnprintf_s.c: In function 'safec_ntoa_long':
|
||||
str/vsnprintf_s.c:312:10: note: at offset 32 into destination object 'buf' of size 32
|
||||
312 | char buf[PRINTF_NTOA_BUFFER_SIZE];
|
||||
| ^~~
|
||||
In function 'safec_ntoa_format',
|
||||
inlined from 'safec_ntoa_long' at str/vsnprintf_s.c:331:12:
|
||||
str/vsnprintf_s.c:260:24: error: writing 32 bytes into a region of size 0 [-Werror=stringop-overflow=]
|
||||
260 | buf[len++] = '0';
|
||||
| ~~~~~~~~~~~^~~~~
|
||||
str/vsnprintf_s.c: In function 'safec_ntoa_long':
|
||||
str/vsnprintf_s.c:312:10: note: at offset 32 into destination object 'buf' of size 32
|
||||
312 | char buf[PRINTF_NTOA_BUFFER_SIZE];
|
||||
| ^~~
|
||||
cc1: all warnings being treated as errors
|
||||
|
||||
Upstream: https://github.com/rurban/safeclib/commit/79e1445f4b3689526b46121b1218cab802b9ae88
|
||||
|
||||
Signed-off-by: Bernd Kuhls <bernd@kuhls.net>
|
||||
---
|
||||
src/str/vsnprintf_s.c | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git a/src/str/vsnprintf_s.c b/src/str/vsnprintf_s.c
|
||||
index 0b62c3cb..cf8e866e 100644
|
||||
--- a/src/str/vsnprintf_s.c
|
||||
+++ b/src/str/vsnprintf_s.c
|
||||
@@ -309,7 +309,7 @@ static size_t safec_ntoa_long(out_fct_type out, const char *funcname,
|
||||
unsigned long value, bool negative,
|
||||
unsigned long base, unsigned int prec,
|
||||
unsigned int width, unsigned int flags) {
|
||||
- char buf[PRINTF_NTOA_BUFFER_SIZE];
|
||||
+ char buf[PRINTF_NTOA_BUFFER_SIZE + 1];
|
||||
size_t len = 0U;
|
||||
|
||||
// no hash for 0 values
|
||||
--
|
||||
2.47.3
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
# Locally calculated after checking pgp signature
|
||||
# https://download.samba.org/pub/samba/stable/samba-4.23.5.tar.asc
|
||||
sha256 593a43ddd0d57902237dfa76888f7b02cb7fc7747111369cb31e126db4836b9f samba-4.23.5.tar.gz
|
||||
# https://download.samba.org/pub/samba/stable/samba-4.23.6.tar.asc
|
||||
sha256 e3dabd8b5e42dc97669fa0faef032510a94e496b58f7067082e5036d88f0e702 samba-4.23.6.tar.gz
|
||||
sha256 8ceb4b9ee5adedde47b31e975c1d90c73ad27b6b165a1dcd80c7c545eb65b903 COPYING
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
#
|
||||
################################################################################
|
||||
|
||||
SAMBA4_VERSION = 4.23.5
|
||||
SAMBA4_VERSION = 4.23.6
|
||||
SAMBA4_SITE = https://download.samba.org/pub/samba/stable
|
||||
SAMBA4_SOURCE = samba-$(SAMBA4_VERSION).tar.gz
|
||||
SAMBA4_INSTALL_STAGING = YES
|
||||
|
||||
@@ -0,0 +1,212 @@
|
||||
From 0951a0681011dfca3d78c84fd7f1e19c78a4443f Mon Sep 17 00:00:00 2001
|
||||
From: Amos Jeffries <yadij@users.noreply.github.com>
|
||||
Date: Sat, 11 Oct 2025 16:33:02 +1300
|
||||
Subject: [PATCH] Bug 3390: Proxy auth data visible to scripts (#2249)
|
||||
|
||||
Original changes to redact credentials from error page %R code
|
||||
expansion output was incomplete. It missed the parse failure
|
||||
case where ErrorState::request_hdrs raw buffer contained
|
||||
sensitive information.
|
||||
|
||||
Also missed was the %W case where full request message headers
|
||||
were generated in a mailto link. This case is especially
|
||||
problematic as it may be delivered over insecure SMTP even if
|
||||
the error was secured with HTTPS.
|
||||
|
||||
After this change:
|
||||
* The HttpRequest message packing code for error pages is de-duplicated
|
||||
and elides authentication headers for both %R and %W code outputs.
|
||||
* The %R code output includes the CRLF request message terminator.
|
||||
* The email_err_data directive causing advanced details to be added to
|
||||
%W mailto links is disabled by default.
|
||||
|
||||
Also redact credentials from generated TRACE responses.
|
||||
|
||||
---------
|
||||
|
||||
Co-authored-by: Alex Rousskov <rousskov@measurement-factory.com>
|
||||
|
||||
CVE: CVE-2025-62168
|
||||
Upstream: https://github.com/squid-cache/squid/commit/0951a0681011dfca3d78c84fd7f1e19c78a4443f
|
||||
[thomas: remove release note, backport errorpage.cc]
|
||||
Signed-off-by: Thomas Perale <thomas.perale@mind.be>
|
||||
---
|
||||
src/HttpRequest.cc | 6 +++---
|
||||
src/HttpRequest.h | 2 +-
|
||||
src/cf.data.pre | 8 +++++++-
|
||||
src/client_side_reply.cc | 14 +++++++-------
|
||||
src/errorpage.cc | 17 ++++-------------
|
||||
src/errorpage.h | 1 -
|
||||
src/tests/stub_HttpRequest.cc | 2 +-
|
||||
8 files changed, 26 insertions(+), 27 deletions(-)
|
||||
|
||||
diff --git a/src/HttpRequest.cc b/src/HttpRequest.cc
|
||||
index cd7ee71d4af..c6ed5bee45d 100644
|
||||
--- a/src/HttpRequest.cc
|
||||
+++ b/src/HttpRequest.cc
|
||||
@@ -341,7 +341,7 @@ HttpRequest::swapOut(StoreEntry * e)
|
||||
|
||||
/* packs request-line and headers, appends <crlf> terminator */
|
||||
void
|
||||
-HttpRequest::pack(Packable * p) const
|
||||
+HttpRequest::pack(Packable * const p, const bool maskSensitiveInfo) const
|
||||
{
|
||||
assert(p);
|
||||
/* pack request-line */
|
||||
@@ -349,8 +349,8 @@ HttpRequest::pack(Packable * p) const
|
||||
SQUIDSBUFPRINT(method.image()), SQUIDSBUFPRINT(url.path()),
|
||||
http_ver.major, http_ver.minor);
|
||||
/* headers */
|
||||
- header.packInto(p);
|
||||
- /* trailer */
|
||||
+ header.packInto(p, maskSensitiveInfo);
|
||||
+ /* indicate the end of the header section */
|
||||
p->append("\r\n", 2);
|
||||
}
|
||||
|
||||
diff --git a/src/HttpRequest.h b/src/HttpRequest.h
|
||||
index 6d369029322..28dc4daf99d 100644
|
||||
--- a/src/HttpRequest.h
|
||||
+++ b/src/HttpRequest.h
|
||||
@@ -206,7 +206,7 @@ class HttpRequest: public Http::Message
|
||||
|
||||
void swapOut(StoreEntry * e);
|
||||
|
||||
- void pack(Packable * p) const;
|
||||
+ void pack(Packable * p, bool maskSensitiveInfo = false) const;
|
||||
|
||||
static void httpRequestPack(void *obj, Packable *p);
|
||||
|
||||
diff --git a/src/cf.data.pre b/src/cf.data.pre
|
||||
index 0a73020e111..2dce65a4d0a 100644
|
||||
--- a/src/cf.data.pre
|
||||
+++ b/src/cf.data.pre
|
||||
@@ -8941,12 +8941,18 @@ NAME: email_err_data
|
||||
COMMENT: on|off
|
||||
TYPE: onoff
|
||||
LOC: Config.onoff.emailErrData
|
||||
-DEFAULT: on
|
||||
+DEFAULT: off
|
||||
DOC_START
|
||||
If enabled, information about the occurred error will be
|
||||
included in the mailto links of the ERR pages (if %W is set)
|
||||
so that the email body contains the data.
|
||||
Syntax is <A HREF="mailto:%w%W">%w</A>
|
||||
+
|
||||
+ SECURITY WARNING:
|
||||
+ Request headers and other included facts may contain
|
||||
+ sensitive information about transaction history, the
|
||||
+ Squid instance, and its environment which would be
|
||||
+ unavailable to error recipients otherwise.
|
||||
DOC_END
|
||||
|
||||
NAME: deny_info
|
||||
diff --git a/src/client_side_reply.cc b/src/client_side_reply.cc
|
||||
index d73bf3f99f6..fc2feccf802 100644
|
||||
--- a/src/client_side_reply.cc
|
||||
+++ b/src/client_side_reply.cc
|
||||
@@ -94,7 +94,7 @@ clientReplyContext::clientReplyContext(ClientHttpRequest *clientContext) :
|
||||
void
|
||||
clientReplyContext::setReplyToError(
|
||||
err_type err, Http::StatusCode status, char const *uri,
|
||||
- const ConnStateData *conn, HttpRequest *failedrequest, const char *unparsedrequest,
|
||||
+ const ConnStateData *conn, HttpRequest *failedrequest, const char *,
|
||||
#if USE_AUTH
|
||||
Auth::UserRequest::Pointer auth_user_request
|
||||
#else
|
||||
@@ -104,9 +104,6 @@ clientReplyContext::setReplyToError(
|
||||
{
|
||||
auto errstate = clientBuildError(err, status, uri, conn, failedrequest, http->al);
|
||||
|
||||
- if (unparsedrequest)
|
||||
- errstate->request_hdrs = xstrdup(unparsedrequest);
|
||||
-
|
||||
#if USE_AUTH
|
||||
errstate->auth_user_request = auth_user_request;
|
||||
#endif
|
||||
@@ -995,11 +992,14 @@ clientReplyContext::traceReply()
|
||||
triggerInitialStoreRead();
|
||||
http->storeEntry()->releaseRequest();
|
||||
http->storeEntry()->buffer();
|
||||
+ MemBuf content;
|
||||
+ content.init();
|
||||
+ http->request->pack(&content, true /* hide authorization data */);
|
||||
const HttpReplyPointer rep(new HttpReply);
|
||||
- rep->setHeaders(Http::scOkay, nullptr, "text/plain", http->request->prefixLen(), 0, squid_curtime);
|
||||
+ rep->setHeaders(Http::scOkay, nullptr, "message/http", content.contentSize(), 0, squid_curtime);
|
||||
+ rep->body.set(SBuf(content.buf, content.size));
|
||||
http->storeEntry()->replaceHttpReply(rep);
|
||||
- http->request->swapOut(http->storeEntry());
|
||||
- http->storeEntry()->complete();
|
||||
+ http->storeEntry()->completeSuccessfully("traceReply() stored the entire response");
|
||||
}
|
||||
|
||||
#define SENDING_BODY 0
|
||||
diff --git a/src/errorpage.cc b/src/errorpage.cc
|
||||
index d7a588d099f..06046de9ebb 100644
|
||||
--- a/src/errorpage.cc
|
||||
+++ b/src/errorpage.cc
|
||||
@@ -792,7 +792,6 @@ ErrorState::~ErrorState()
|
||||
{
|
||||
safe_free(redirect_url);
|
||||
safe_free(url);
|
||||
- safe_free(request_hdrs);
|
||||
wordlistDestroy(&ftp.server_msg);
|
||||
safe_free(ftp.request);
|
||||
safe_free(ftp.reply);
|
||||
@@ -850,7 +849,7 @@ ErrorState::Dump(MemBuf * mb)
|
||||
SQUIDSBUFPRINT(request->url.path()),
|
||||
AnyP::ProtocolType_str[request->http_ver.protocol],
|
||||
request->http_ver.major, request->http_ver.minor);
|
||||
- request->header.packInto(&str);
|
||||
+ request->header.packInto(&str, true /* hide authorization data */);
|
||||
}
|
||||
|
||||
str.append("\r\n", 2);
|
||||
@@ -1112,18 +1111,10 @@ ErrorState::compileLegacyCode(Build &build)
|
||||
p = "[no request]";
|
||||
break;
|
||||
}
|
||||
- if (request) {
|
||||
- mb.appendf(SQUIDSBUFPH " " SQUIDSBUFPH " %s/%d.%d\n",
|
||||
- SQUIDSBUFPRINT(request->method.image()),
|
||||
- SQUIDSBUFPRINT(request->url.path()),
|
||||
- AnyP::ProtocolType_str[request->http_ver.protocol],
|
||||
- request->http_ver.major, request->http_ver.minor);
|
||||
- request->header.packInto(&mb, true); //hide authorization data
|
||||
- } else if (request_hdrs) {
|
||||
- p = request_hdrs;
|
||||
- } else {
|
||||
+ else if (request)
|
||||
+ request->pack(&mb, true /* hide authorization data */);
|
||||
+ else
|
||||
p = "[no request]";
|
||||
- }
|
||||
break;
|
||||
|
||||
case 's':
|
||||
diff --git a/src/errorpage.h b/src/errorpage.h
|
||||
index abca4a17d7b..297b306978d 100644
|
||||
--- a/src/errorpage.h
|
||||
+++ b/src/errorpage.h
|
||||
@@ -194,7 +194,6 @@ class ErrorState
|
||||
MemBuf *listing = nullptr;
|
||||
} ftp;
|
||||
|
||||
- char *request_hdrs = nullptr;
|
||||
char *err_msg = nullptr; /* Preformatted error message from the cache */
|
||||
|
||||
AccessLogEntryPointer ale; ///< transaction details (or nil)
|
||||
diff --git a/src/tests/stub_HttpRequest.cc b/src/tests/stub_HttpRequest.cc
|
||||
index 495597d9a1b..48a0f1ce03e 100644
|
||||
--- a/src/tests/stub_HttpRequest.cc
|
||||
+++ b/src/tests/stub_HttpRequest.cc
|
||||
@@ -45,7 +45,7 @@ bool HttpRequest::expectingBody(const HttpRequestMethod &, int64_t &) const STUB
|
||||
bool HttpRequest::bodyNibbled() const STUB_RETVAL(false)
|
||||
int HttpRequest::prefixLen() const STUB_RETVAL(0)
|
||||
void HttpRequest::swapOut(StoreEntry *) STUB
|
||||
-void HttpRequest::pack(Packable *) const STUB
|
||||
+void HttpRequest::pack(Packable *, bool) const STUB
|
||||
void HttpRequest::httpRequestPack(void *, Packable *) STUB
|
||||
HttpRequest * HttpRequest::FromUrl(const SBuf &, const MasterXaction::Pointer &, const HttpRequestMethod &) STUB_RETVAL(nullptr)
|
||||
HttpRequest * HttpRequest::FromUrlXXX(const char *, const MasterXaction::Pointer &, const HttpRequestMethod &) STUB_RETVAL(nullptr)
|
||||
@@ -15,6 +15,9 @@ SQUID_SELINUX_MODULES = apache squid
|
||||
# 0001-Fix-ASN-1-encoding-of-long-SNMP-OIDs.patch
|
||||
SQUID_IGNORE_CVES += CVE-2025-59362
|
||||
|
||||
# 0002-Proxy-auth-data-visible-to-scripts.patch
|
||||
SQUID_IGNORE_CVES += CVE-2025-62168
|
||||
|
||||
SQUID_DEPENDENCIES = libcap host-libcap libtool libxml2 host-pkgconf \
|
||||
$(if $(BR2_PACKAGE_LIBNETFILTER_CONNTRACK),libnetfilter_conntrack)
|
||||
SQUID_CONF_ENV = \
|
||||
|
||||
@@ -0,0 +1,41 @@
|
||||
From 3c0fde94981b025271ffa1788ae425257841bf5a Mon Sep 17 00:00:00 2001
|
||||
From: rofl0r <rofl0r@users.noreply.github.com>
|
||||
Date: Fri, 17 Oct 2025 22:57:39 +0000
|
||||
Subject: [PATCH] reqs: fix integer overflow in port number processing
|
||||
|
||||
closes #586
|
||||
|
||||
CVE: CVE-2025-63938
|
||||
Upstream: https://github.com/tinyproxy/tinyproxy/commit/3c0fde94981b025271ffa1788ae425257841bf5a
|
||||
Signed-off-by: Thomas Perale <thomas.perale@mind.be>
|
||||
---
|
||||
src/reqs.c | 9 ++++++---
|
||||
1 file changed, 6 insertions(+), 3 deletions(-)
|
||||
|
||||
diff --git a/src/reqs.c b/src/reqs.c
|
||||
index 52135a03..a562c68a 100644
|
||||
--- a/src/reqs.c
|
||||
+++ b/src/reqs.c
|
||||
@@ -174,7 +174,7 @@ static int strip_return_port (char *host)
|
||||
{
|
||||
char *ptr1;
|
||||
char *ptr2;
|
||||
- int port;
|
||||
+ unsigned port;
|
||||
|
||||
ptr1 = strrchr (host, ':');
|
||||
if (ptr1 == NULL)
|
||||
@@ -186,8 +186,11 @@ static int strip_return_port (char *host)
|
||||
return 0;
|
||||
|
||||
*ptr1++ = '\0';
|
||||
- if (sscanf (ptr1, "%d", &port) != 1) /* one conversion required */
|
||||
- return 0;
|
||||
+
|
||||
+ port = atoi(ptr1);
|
||||
+ /* check that port string is in the valid range 1-0xffff) */
|
||||
+ if(strlen(ptr1) > 5 || (port & 0xffff0000)) return 0;
|
||||
+
|
||||
return port;
|
||||
}
|
||||
|
||||
@@ -11,4 +11,7 @@ TINYPROXY_LICENSE = GPL-2.0+
|
||||
TINYPROXY_LICENSE_FILES = COPYING
|
||||
TINYPROXY_CPE_ID_VALID = YES
|
||||
|
||||
# 0001-reqs-fix-integer-overflow-in-port-number-processing.patch
|
||||
TINYPROXY_IGNORE_CVES += CVE-2025-63938
|
||||
|
||||
$(eval $(autotools-package))
|
||||
|
||||
@@ -1,3 +1,3 @@
|
||||
# Locally calculated
|
||||
sha256 0bf30151fe8d9d2fb59b57f6630739dfbbd16417dee69ec57d43b37335bd649a udisks-2.11.0.tar.bz2
|
||||
sha256 e88c52bae02fa13414604bbef42c6bb91c2e24177ee0057ed55c6bd7451bcb6d udisks-2.11.1.tar.bz2
|
||||
sha256 98046e932dc6c739001e79d7079a3bd958fc55475dcd917d27f884c0c93525cc COPYING
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
#
|
||||
################################################################################
|
||||
|
||||
UDISKS_VERSION = 2.11.0
|
||||
UDISKS_VERSION = 2.11.1
|
||||
UDISKS_SOURCE = udisks-$(UDISKS_VERSION).tar.bz2
|
||||
UDISKS_SITE = https://github.com/storaged-project/udisks/releases/download/udisks-$(UDISKS_VERSION)
|
||||
UDISKS_LICENSE = GPL-2.0+
|
||||
|
||||
@@ -1,78 +0,0 @@
|
||||
From 5686ef63f81fcac2ca6ec6e7160829b295ad4e79 Mon Sep 17 00:00:00 2001
|
||||
From: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
|
||||
Date: Sun, 28 Dec 2025 15:01:38 +0100
|
||||
Subject: [PATCH] src/Makefile: create links with ln -sf
|
||||
|
||||
Running "make installlinks" twice towards the same destination
|
||||
directory will fail, as symlink will already exist. This is not really
|
||||
expected as "make install" is normally expected to work again and
|
||||
again towards the same destination directory.
|
||||
|
||||
Fix this by using ln -sf.
|
||||
|
||||
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
|
||||
Upstream: https://github.com/vim/vim/commit/6df5360691266b5eca49380e94f3e21fa48e5e0b
|
||||
---
|
||||
src/Makefile | 24 ++++++++++++------------
|
||||
1 file changed, 12 insertions(+), 12 deletions(-)
|
||||
|
||||
diff --git a/src/Makefile b/src/Makefile
|
||||
index 6fb1eb95e..39f798260 100644
|
||||
--- a/src/Makefile
|
||||
+++ b/src/Makefile
|
||||
@@ -2746,40 +2746,40 @@ installvimdiff: $(DEST_BIN)/$(VIMDIFFTARGET)
|
||||
installgvimdiff: $(DEST_BIN)/$(GVIMDIFFTARGET)
|
||||
|
||||
$(DEST_BIN)/$(EXTARGET): $(DEST_BIN)
|
||||
- cd $(DEST_BIN); ln -s $(VIMTARGET) $(EXTARGET)
|
||||
+ cd $(DEST_BIN); ln -sf $(VIMTARGET) $(EXTARGET)
|
||||
|
||||
$(DEST_BIN)/$(VIEWTARGET): $(DEST_BIN)
|
||||
- cd $(DEST_BIN); ln -s $(VIMTARGET) $(VIEWTARGET)
|
||||
+ cd $(DEST_BIN); ln -sf $(VIMTARGET) $(VIEWTARGET)
|
||||
|
||||
$(DEST_BIN)/$(GVIMTARGET): $(DEST_BIN)
|
||||
- cd $(DEST_BIN); ln -s $(VIMTARGET) $(GVIMTARGET)
|
||||
+ cd $(DEST_BIN); ln -sf $(VIMTARGET) $(GVIMTARGET)
|
||||
|
||||
$(DEST_BIN)/$(GVIEWTARGET): $(DEST_BIN)
|
||||
- cd $(DEST_BIN); ln -s $(VIMTARGET) $(GVIEWTARGET)
|
||||
+ cd $(DEST_BIN); ln -sf $(VIMTARGET) $(GVIEWTARGET)
|
||||
|
||||
$(DEST_BIN)/$(RVIMTARGET): $(DEST_BIN)
|
||||
- cd $(DEST_BIN); ln -s $(VIMTARGET) $(RVIMTARGET)
|
||||
+ cd $(DEST_BIN); ln -sf $(VIMTARGET) $(RVIMTARGET)
|
||||
|
||||
$(DEST_BIN)/$(RVIEWTARGET): $(DEST_BIN)
|
||||
- cd $(DEST_BIN); ln -s $(VIMTARGET) $(RVIEWTARGET)
|
||||
+ cd $(DEST_BIN); ln -sf $(VIMTARGET) $(RVIEWTARGET)
|
||||
|
||||
$(DEST_BIN)/$(RGVIMTARGET): $(DEST_BIN)
|
||||
- cd $(DEST_BIN); ln -s $(VIMTARGET) $(RGVIMTARGET)
|
||||
+ cd $(DEST_BIN); ln -sf $(VIMTARGET) $(RGVIMTARGET)
|
||||
|
||||
$(DEST_BIN)/$(RGVIEWTARGET): $(DEST_BIN)
|
||||
- cd $(DEST_BIN); ln -s $(VIMTARGET) $(RGVIEWTARGET)
|
||||
+ cd $(DEST_BIN); ln -sf $(VIMTARGET) $(RGVIEWTARGET)
|
||||
|
||||
$(DEST_BIN)/$(VIMDIFFTARGET): $(DEST_BIN)
|
||||
- cd $(DEST_BIN); ln -s $(VIMTARGET) $(VIMDIFFTARGET)
|
||||
+ cd $(DEST_BIN); ln -sf $(VIMTARGET) $(VIMDIFFTARGET)
|
||||
|
||||
$(DEST_BIN)/$(GVIMDIFFTARGET): $(DEST_BIN)
|
||||
- cd $(DEST_BIN); ln -s $(VIMTARGET) $(GVIMDIFFTARGET)
|
||||
+ cd $(DEST_BIN); ln -sf $(VIMTARGET) $(GVIMDIFFTARGET)
|
||||
|
||||
$(DEST_BIN)/$(EVIMTARGET): $(DEST_BIN)
|
||||
- cd $(DEST_BIN); ln -s $(VIMTARGET) $(EVIMTARGET)
|
||||
+ cd $(DEST_BIN); ln -sf $(VIMTARGET) $(EVIMTARGET)
|
||||
|
||||
$(DEST_BIN)/$(EVIEWTARGET): $(DEST_BIN)
|
||||
- cd $(DEST_BIN); ln -s $(VIMTARGET) $(EVIEWTARGET)
|
||||
+ cd $(DEST_BIN); ln -sf $(VIMTARGET) $(EVIEWTARGET)
|
||||
|
||||
# Create links for the manual pages with various names to vim. This is only
|
||||
# done when the links (or manpages with the same name) don't exist yet.
|
||||
--
|
||||
2.52.0
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
# Locally computed
|
||||
sha256 be1d60091d27bbdbc090e0bb19798baeea378aa29645fd47dc4c222dc14efcaf vim-9.1.2017.tar.gz
|
||||
sha256 f9ec31df8f1a78e130dd06c395e6626c2a8a8ec2705d8e7b7667bd3ecd499c6b vim-9.1.2148.tar.gz
|
||||
sha256 0b3f1f330cb1b179bb17c7c687d4cec601e0aa3462bc7f890ad4c3888d37d720 LICENSE
|
||||
sha256 ee1d0885bbc4a95a24e49873a075391bdf26b69d13758e30f3d9271f8f42bd2d README.txt
|
||||
|
||||
+1
-1
@@ -4,7 +4,7 @@
|
||||
#
|
||||
################################################################################
|
||||
|
||||
VIM_VERSION = 9.1.2017
|
||||
VIM_VERSION = 9.1.2148
|
||||
VIM_SITE = $(call github,vim,vim,v$(VIM_VERSION))
|
||||
VIM_DEPENDENCIES = ncurses $(TARGET_NLS_DEPENDENCIES)
|
||||
VIM_SUBDIR = src
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
# From https://www.webkitgtk.org/releases/webkitgtk-2.50.4.tar.xz.sums
|
||||
sha1 719c304539cecca945846700cefebc7339eb5924 webkitgtk-2.50.4.tar.xz
|
||||
sha256 d3bfa473845acfab72635bada5e0d134fda6792c5b95c5c5cd141b46125bd8e4 webkitgtk-2.50.4.tar.xz
|
||||
# From https://webkitgtk.org/releases/webkitgtk-2.50.5.tar.xz.sums
|
||||
sha1 e93f7efa9fbc7304cc159c35d8e76d7febab2515 webkitgtk-2.50.5.tar.xz
|
||||
sha256 8737631bac3e9c7ad3e5208f9370e076c09d9c45b39980021ce54edadcc6f94f webkitgtk-2.50.5.tar.xz
|
||||
|
||||
# Hashes for license files:
|
||||
sha256 0b5d3a7cc325942567373b0ecd757d07c132e0ebd7c97bfc63f7e1a76094edb4 Source/WebCore/LICENSE-APPLE
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
#
|
||||
################################################################################
|
||||
|
||||
WEBKITGTK_VERSION = 2.50.4
|
||||
WEBKITGTK_VERSION = 2.50.5
|
||||
WEBKITGTK_SITE = https://www.webkitgtk.org/releases
|
||||
WEBKITGTK_SOURCE = webkitgtk-$(WEBKITGTK_VERSION).tar.xz
|
||||
WEBKITGTK_INSTALL_STAGING = YES
|
||||
@@ -173,18 +173,16 @@ else
|
||||
WEBKITGTK_CONF_OPTS += -DENABLE_JOURNALD_LOG=OFF
|
||||
endif
|
||||
|
||||
# JIT is not supported for MIPS r6, but the WebKit build system does not
|
||||
# have a check for these processors. The same goes for ARMv5 and ARMv6.
|
||||
# JIT is not supported for MIPS, ARMv5, and ARMv6, but the WebKit build
|
||||
# system does not have a check for some of these target processors.
|
||||
#
|
||||
# Disable JIT forcibly here and use the CLoop interpreter instead.
|
||||
# Also, we have to disable the sampling profiler and WebAssembly, which
|
||||
# do NOT work with ENABLE_C_LOOP.
|
||||
#
|
||||
# Also, we have to disable the sampling profiler and webassembly,
|
||||
# which does NOT work with ENABLE_C_LOOP.
|
||||
# Upstream bug: https://bugs.webkit.org/show_bug.cgi?id=278559
|
||||
#
|
||||
# Upstream bugs: https://bugs.webkit.org/show_bug.cgi?id=191258
|
||||
# https://bugs.webkit.org/show_bug.cgi?id=172765
|
||||
# https://bugs.webkit.org/show_bug.cgi?id=265218
|
||||
#
|
||||
ifeq ($(BR2_ARM_CPU_ARMV5)$(BR2_ARM_CPU_ARMV6)$(BR2_MIPS_CPU_MIPS32R6)$(BR2_MIPS_CPU_MIPS64R6),y)
|
||||
ifeq ($(BR2_ARM_CPU_ARMV5)$(BR2_ARM_CPU_ARMV6)$(BR2_mips)$(BR2_mipsel),y)
|
||||
WEBKITGTK_CONF_OPTS += -DENABLE_JIT=OFF -DENABLE_C_LOOP=ON \
|
||||
-DENABLE_SAMPLING_PROFILER=OFF \
|
||||
-DENABLE_WEBASSEMBLY=OFF
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
# From https://www.wireshark.org/download/src/all-versions/SIGNATURES-4.4.9.txt
|
||||
sha1 dc91c68b03b389645fa6dade92960863d74bca1d wireshark-4.4.9.tar.xz
|
||||
sha256 60551dc787f41e87aeaa1e9c33304f9008037e3baf9fa11aef9c2d584cc0b54b wireshark-4.4.9.tar.xz
|
||||
# From https://www.wireshark.org/download/src/all-versions/SIGNATURES-4.4.13.txt
|
||||
sha1 2e85bc1231775283d3e1593ce700566e0dc4efb9 wireshark-4.4.13.tar.xz
|
||||
sha256 cdaaf455954b45990651ba334ddcc691ee446fcfb332e78d27b0a8451f22dc0f wireshark-4.4.13.tar.xz
|
||||
|
||||
# Locally calculated
|
||||
sha256 edaef632cbb643e4e7a221717a6c441a4c1a7c918e6e4d56debc3d8739b233f6 COPYING
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
#
|
||||
################################################################################
|
||||
|
||||
WIRESHARK_VERSION = 4.4.9
|
||||
WIRESHARK_VERSION = 4.4.13
|
||||
WIRESHARK_SOURCE = wireshark-$(WIRESHARK_VERSION).tar.xz
|
||||
WIRESHARK_SITE = https://www.wireshark.org/download/src/all-versions
|
||||
WIRESHARK_LICENSE = wireshark license
|
||||
|
||||
@@ -0,0 +1,51 @@
|
||||
From c1452d88114710f5772662b1d8efb9c71edaa34c Mon Sep 17 00:00:00 2001
|
||||
From: Aleksei Bavshin <alebastr89@gmail.com>
|
||||
Date: Sat, 7 Feb 2026 17:48:16 -0800
|
||||
Subject: [PATCH] backend/libinput: fix build with libinput 1.31
|
||||
|
||||
Upstream: https://gitlab.freedesktop.org/wlroots/wlroots/-/commit/c1452d88114710f5772662b1d8efb9c71edaa34c
|
||||
|
||||
Signed-off-by: Bernd Kuhls <bernd@kuhls.net>
|
||||
---
|
||||
backend/libinput/meson.build | 4 ++++
|
||||
backend/libinput/switch.c | 5 +++++
|
||||
2 files changed, 9 insertions(+)
|
||||
|
||||
diff --git a/backend/libinput/meson.build b/backend/libinput/meson.build
|
||||
index c244eb77a..091b0e0eb 100644
|
||||
--- a/backend/libinput/meson.build
|
||||
+++ b/backend/libinput/meson.build
|
||||
@@ -29,3 +29,7 @@ features += { 'libinput-backend': true }
|
||||
wlr_deps += libinput
|
||||
|
||||
internal_config.set10('HAVE_LIBINPUT_BUSTYPE', libinput.version().version_compare('>=1.26.0'))
|
||||
+internal_config.set10(
|
||||
+ 'HAVE_LIBINPUT_SWITCH_KEYPAD_SLIDE',
|
||||
+ libinput.version().version_compare('>=1.30.901')
|
||||
+)
|
||||
diff --git a/backend/libinput/switch.c b/backend/libinput/switch.c
|
||||
index abeec86d7..9dde3c9cb 100644
|
||||
--- a/backend/libinput/switch.c
|
||||
+++ b/backend/libinput/switch.c
|
||||
@@ -2,6 +2,7 @@
|
||||
#include <libinput.h>
|
||||
#include <wlr/interfaces/wlr_switch.h>
|
||||
#include "backend/libinput.h"
|
||||
+#include "config.h"
|
||||
|
||||
const struct wlr_switch_impl libinput_switch_impl = {
|
||||
.name = "libinput-switch",
|
||||
@@ -36,6 +37,10 @@ void handle_switch_toggle(struct libinput_event *event,
|
||||
case LIBINPUT_SWITCH_TABLET_MODE:
|
||||
wlr_event.switch_type = WLR_SWITCH_TYPE_TABLET_MODE;
|
||||
break;
|
||||
+#if HAVE_LIBINPUT_SWITCH_KEYPAD_SLIDE
|
||||
+ case LIBINPUT_SWITCH_KEYPAD_SLIDE:
|
||||
+ return;
|
||||
+#endif
|
||||
}
|
||||
switch (libinput_event_switch_get_switch_state(sevent)) {
|
||||
case LIBINPUT_SWITCH_STATE_OFF:
|
||||
--
|
||||
GitLab
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
# Locally calculated after checking pgp signature
|
||||
# https://gitlab.freedesktop.org/wlroots/wlroots/-/releases/0.19.0/downloads/wlroots-0.19.0.tar.gz.sig
|
||||
# https://gitlab.freedesktop.org/wlroots/wlroots/-/releases/0.19.2/downloads/wlroots-0.19.2.tar.gz.sig
|
||||
# with key 34FF9526CFEF0E97A340E2E40FDE7BE0E88F5E48 "emersion <contact@emersion.fr>"
|
||||
sha256 aefb0fe2633b0aad1d66123b2f41afab004fb625e2a7790492cdd39a805cac91 wlroots-0.19.0.tar.gz
|
||||
sha256 09a0a8d60104c8b0772fee4f60ba76a89aed7e59dff7659d00960fba06bdf267 wlroots-0.19.2.tar.gz
|
||||
|
||||
# Hashes for license files:
|
||||
sha256 35d427c043dcafe8893b9e7247348f599847c81d9a067703587c80707f3d58df LICENSE
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
#
|
||||
################################################################################
|
||||
|
||||
WLROOTS_VERSION = 0.19.0
|
||||
WLROOTS_VERSION = 0.19.2
|
||||
WLROOTS_SITE = https://gitlab.freedesktop.org/wlroots/wlroots/-/releases/$(WLROOTS_VERSION)/downloads
|
||||
WLROOTS_LICENSE = MIT
|
||||
WLROOTS_LICENSE_FILES = LICENSE
|
||||
|
||||
@@ -156,18 +156,16 @@ else
|
||||
WPEWEBKIT_CONF_OPTS += -DUSE_GBM=OFF
|
||||
endif
|
||||
|
||||
# JIT is not supported for MIPS r6, but the WebKit build system does not
|
||||
# have a check for these processors. The same goes for ARMv5 and ARMv6.
|
||||
# Disable JIT forcibly here and use the CLoop interpreter instead.
|
||||
# JIT is not supported for MIPS, ARMv5, and ARMv6, but the WebKit build
|
||||
# system does not have a check for some of these target processors.
|
||||
#
|
||||
# Disable JIT forcibly here and use the CLoop interpreter instead.
|
||||
# Also, we have to disable the sampling profiler and WebAssembly, which
|
||||
# do NOT work with ENABLE_C_LOOP.
|
||||
#
|
||||
# Upstream bugs: https://bugs.webkit.org/show_bug.cgi?id=191258
|
||||
# https://bugs.webkit.org/show_bug.cgi?id=172765
|
||||
# https://bugs.webkit.org/show_bug.cgi?id=265218
|
||||
# Upstream bug: https://bugs.webkit.org/show_bug.cgi?id=278559
|
||||
#
|
||||
ifeq ($(BR2_ARM_CPU_ARMV5)$(BR2_ARM_CPU_ARMV6)$(BR2_MIPS_CPU_MIPS32R6)$(BR2_MIPS_CPU_MIPS64R6),y)
|
||||
ifeq ($(BR2_ARM_CPU_ARMV5)$(BR2_ARM_CPU_ARMV6)$(BR2_mips)$(BR2_mipsel),y)
|
||||
WPEWEBKIT_CONF_OPTS += \
|
||||
-DENABLE_JIT=OFF \
|
||||
-DENABLE_C_LOOP=ON \
|
||||
|
||||
Vendored
+1
-1
@@ -5,7 +5,7 @@
|
||||
################################################################################
|
||||
|
||||
# Buildroot version to use
|
||||
RELEASE='2025.11'
|
||||
RELEASE='2026.02'
|
||||
|
||||
### Change here for more memory/cores ###
|
||||
VM_MEMORY=2048
|
||||
|
||||
@@ -142,5 +142,15 @@ def main():
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
multiprocessing.set_start_method("fork")
|
||||
# python 3.14 changed default start method from fork to
|
||||
# fork-server, which is not compatible with the nose2 setup
|
||||
if multiprocessing.get_start_method(allow_none=True) != "fork":
|
||||
multiprocessing.set_start_method("fork", force=True)
|
||||
# set_start_method throws a RuntimeError if called more than
|
||||
# once.
|
||||
# Debian python3-nose2 0.15.1-2 includes a patch adding
|
||||
# another set_start_method() call, so monkey patch it out to
|
||||
# get rid of this
|
||||
multiprocessing.set_start_method = lambda *args: None
|
||||
|
||||
sys.exit(main())
|
||||
|
||||
Reference in New Issue
Block a user