返回新闻概览

LXC 1.0.9 版本发布公告

2016 年 11 月 23 日
这是 LXC 1.0 的第九个 bugfix 版本。

重要

  • 针对 CVE-2016-8649 的安全修复

Bug 修复

  • doc: 将 lxc-create(1) 的 "-t" 选项更改为必需选项
  • ubuntu-cloud: 各种修复
  • coverity: 避免 cgmanager 中的空指针解引用
  • 在整个项目中使用 /usr/bin/env python3 代替 /usr/bin/python3
  • 当 Debian 存档 GPG 密钥环不可用时获取它们
  • seccomp: 处理反向架构
  • 更好地处理 preserve_ns 行为
  • 还原 "seccomp: 处理反向架构"
  • lxc_container 结构体: 添加关于移动成员 fns 的注释
  • debian: 修复在缺少缓存时创建容器
  • lxc: 允许 lxc-start 支持 wlan 物理设备
  • apparmor: 支持 lxc.aa_profile = unchanged
  • seccomp: 支持 arm64 上的 32 位 arm,以及 ppc64 上的 32 位 ppc
  • 针对 ARM 和 PPC 的条件编译
  • prune_init_cgroup: 不要解引用 NULL
  • 修复在清除未展开的配置时 "lxc.mount.entry" 键
  • 在 lxc.mount.entry 修复后更新 get_item 测试
  • 修复在附加未定义容器时 seccomp 配置文件
  • 如果未以 root 身份运行,则立即返回 save_phys_nics 物理网卡在 lxc_create_network 中未实例化
  • lxc-checkconfig: 移除 zgrep 依赖项
  • 重构条件指令。
  • 修复交换计算
  • python-lxc: 在附加到容器后调用 PyOS_AfterFork
  • 修复 ifaddrs.c 中的缓冲区溢出
  • 记录无值 lxc.cap.drop 行为
  • 如果 nlmsg_reserve() 返回 NULL,则会发生空指针解引用,用于 ifi
  • 如果我们已经处于 apparmor 限制状态,则不要尝试更改 aa 标签
  • coverity: preserve_ns 返回 bool,而不是 int
  • apparmor: 识别 "unconfined" 为未限制。
  • bash 自动完成: "have" 命令已弃用,取而代之的是 "_have"
  • 在取消设置 ipv6_gateway 时将正确的变量设置为 NULL
  • 保留继承的 fd 用于停止钩子
  • 避免在错误消息中打印空字符串
  • 修复 Fedora 模板中的注释
  • doc: 将无值 lxc.cap.drop 行为添加到日语手册页
  • 记录列表选项的清除行为
  • 修复 Python lxc-ls 中的 lockpath 移除
  • 记录网络清除选项
  • open_without_symlink: 考虑前缀为空字符串的情况
  • lxc_setup_fs: 如果不存在,则创建 /dev/shm 文件夹
  • cgmanager: 不要使 tasks + cgroup.procs +x
  • 清理: lxc_container::want_* 注释描述
  • 修复 fedora 模板中的 echo 语句
  • 使用 ${utsname} 代替 ${UTSNAME},因为后一个变量未定义。
  • 忽略任何以 "." 开头的名称的容器
  • 将 /dev 大小增加到 500k (问题 #781)
  • cgfs: 从路径中修剪 init 范围
  • doc: 将列表选项的清除行为添加到日语 lxc.container.conf(5)
  • doc: 将网络清除选项添加到日语 lxc.container.conf(5)
  • apparmor: 允许绑定 /run/{,lock/} -> /var/run/{,lock/}
  • log.c:__lxc_log_set_file: fname 不能为 null
  • log.c:__lxc_log_set_file: 在覆盖时完全关闭日志文件
  • 允许 mountall 重新挂载 sysfs
  • cgroups: 如果由于 EPERM 导致设置设备 cgroup 失败,则不要失败
  • cgfs: 在写入设备时也要检查 EACCES
  • lxc: cgfs: 处理 lxcfs
  • 修复 lxc 手册页中的错别字
  • cgfs: 确保我们使用有效的 cgroup 挂载点
  • cgfs: 减少冗余
  • doc: 改善日语 lxc-attach(1)
  • doc: 改善 lxc-unshare(1)
  • open_without_symlink: 不要对 ELOOP 以外的其他情况进行 SYSERROR
  • lxc-busybox: 在容器根文件系统中触摸 /etc/fstab
  • sync: 添加 LXC_SYNC_ERROR 以报告来自其他进程的错误。
  • start: 使用 LXC_SYNC_ERROR 报告错误。
  • lxc-busybox: 移除针对动态链接 Busybox 的警告
  • 修复树外 (VPATH) 构建的安装
  • 使用 httpredir.debian.org 作为默认的 Debian 镜像
  • 始终为引导 Ubuntu 提供默认镜像
  • lxc-ubuntu: 修复在辅助架构上构建
  • 更新 Debian 版本名称
  • 修复 btrfs_recursive_destroy
  • 在 ioctl 之后立即存储 errno
  • 修复 Debian 的 lintian 发现的拼写错误
  • netlink_open: 在发生错误时关闭套接字
  • lxc_mount_auto_mounts(): 在失败时释放内存
  • 忽略 doxygen 生成的临时文件
  • 更漂亮的日期格式,以及在 LXC_GENERATE_DATE 中对 SOURCE_DATE_EPOCH 的支持
  • 从 lxc.service.in 中删除过时的 syslog.target
  • 更新维护者
  • 在 lxc-checkconfig 中检查 stdout 是否为终端
  • 修复 - 当 Container.__init__ 失败时设置 PyErr
  • 在 lxc_list_nicconfigs 中添加键的 "type"
  • 强制 DHCP 客户端发送主机名
  • sync: 在出现意外消息大小时失败
  • sync.c: 使用正确的类型
  • 为 RHEL 7+ 中的 ID = rhel 的情况添加 OR 语句
  • 在设置 userns 映射后取消共享 netns
  • 允许配置文件值被引用
  • 也允许 fstype=fuse 用于 fuse 文件系统
  • 修复 apline 模板中接口配置中的主机名
  • 修复 struct in6_addr 的重新定义
  • lxc-debian: 确保安装了 init
  • plamo: 改善 Plamo 模板
  • AppArmor: 将 make-rslave 添加到 usr.bin.lxc-start
  • 在 Bionic 上包含所有 lxcmntent.h 函数声明
  • lxc-debian: 修复在创建 wheezy 容器时的回归
  • 为 vlan 类型接口设置 MTU。
  • 模板: 避免由于缺少语言环境导致的嘈杂的 perl 警告
  • 为 lxc.pc 添加一个前缀
  • conf: 在释放后将 pty_info 设置为 NULL
  • apparmor: 刷新生成的配置文件
  • 工具: 在 lxc-create 输出中添加缺失的换行符
  • 使用完整的 GPG 指纹代替长 ID。
  • utils: 添加 mips signalfd 系统调用编号
  • seccomp: 实现 MIPS seccomp 处理
  • seccomp: 将 mips 和 mips64 条目添加到 lxc_config_parse_arch
  • seccomp: 修复 strerror()
  • confile: 将更多架构添加到 lxc_config_parse_arch()
  • seccomp: 添加对 s390x 的支持
  • seccomp: 移除双重包含并排序包含
  • seccomp: 非功能性更改
  • 模板: fedora 需要 openssl 二进制文件
  • 在 doc/api/Doxyfile 中设置 FULL_PATH_NAMES=NO
  • console: 使用正确的日志名称
  • lxczfs: 小修复
  • 使 rsync 能够高效地处理稀疏文件
  • lxc-create -t debian 在 ppc64el 架构上失败
  • utils: 修复 lxc_string_split()
  • 修复模板中 CentOS 的拼写
  • 将 python 示例标记为具有 utf-8 编码
  • log: 对 snprintf() 返回的值进行健全性检查
  • archlinux: 在 eth0 上进行 DHCP
  • archlinux: 修复解析
  • 删除对 lxc_strerror() 的剩余引用。
  • s390x: 修复 seccomp 对个性的处理
  • ubuntu: 修复需要 proc 的包升级
  • 使用 python3_sitearch 来包含 python 代码
  • cgfs: 修复无效的 free()
  • cgfs: 添加 print_cgfs_init_debuginfo()
  • cgfs: 跳过 /proc/self/cgroup 下的空条目
  • 工具: 对 lxc-stop 使用正确的退出代码
  • conf: 在关机时合并网络命名空间移动和重命名
  • 为 /var/run 创建符号链接
  • cgfs: 显式检查 NULL
  • 模板: 将 squashfs 支持添加到 lxc-ubuntu-cloud.in
  • 在 pkg-config 指示的位置安装 bash 自动完成
  • conf: 不要使用 %m 格式说明符
  • debian: 不要依赖于 libui-dialog-perl
  • 用 "strchr" 代替 "index" 用于 Android 构建
  • 全树: 用 readdir() 代替 readdir_r()
  • attach: 不要将 procfd 发送到已附加进程

下载

可以在我们的 下载页面 上找到发布的 tarball,我们预计大多数发行版
将很快发布 LXC 1.0.9 的打包版本。

请注意,LXC 上游强烈建议 1.0 用户升级到 2.0 LTS 版本。
1.0 分支将一直得到支持,直到 2019 年 6 月,但在此期间,
只有关键的 bug 修复和安全更新将被移植。

如果您有兴趣了解单个更改或只是查看详细的开发历史,
我们的稳定分支在 GitHub 上。