Skip to content

v1.1.3

Choose a tag to compare

@github-actions github-actions released this 27 May 15:18
· 288 commits to main since this release

版本亮点

Patch release,修复 ripset 中两个 Linux netlink 协议 bug —— nftset interval 集合写入被内核以 EINVAL 拒绝、ipset 创建集合时 hashsize / maxelem 字节序错误 —— 另外修复一个 WebUI 溢出问题,并预告 black_hole 插件后续版本的重设计。

本版本不引入破坏性配置变更,v1.1.2 配置可直接升级。

主要变更

Fixes

  • nftset interval 集合:ADD / DEL 改为 nft 用户态使用的两元素列表形式,解决真实内核以 EINVAL 拒绝写入的问题(#127);TEST 改为仅发送起始 key,交由内核 interval 树判定包含关系。同时修正元素 timeout 的字节序,并放宽 dump 解析对孤立 INTERVAL_END 锚点的容错。
  • ipset 创建集合hashsize / maxelem 改为大端字节序写入 —— 小端主机上 hashsize=2048 此前会被内核读成 524288。同时移除多余的 IPSET_ATTR_LINENO=0 嵌套属性,与 libipset 行为对齐。
  • WebUI:修复 query_recorder 详情面板长内容时标签栏纵向溢出。

Tests

  • 大幅扩充 ripset 报文格式单元测试与真实内核下的 ipset 集成测试覆盖。

Docs

  • black_hole 执行器文档加入醒目提示,预告后续版本将引入 mode 字段(nxdomain / nodata / null / custom / refused)以覆盖所有 qtype。本版本行为保持不变。

升级说明

  • 根 crate 1.1.21.1.3oxidns-ripset 0.1.10.1.2
  • 强烈建议 Linux 上使用 nftset 且集合声明了 flags interval 的部署升级 —— 否则 ADD / DEL 会在真实内核上以 EINVAL 失败。
  • 建议 Linux 上通过 OxiDNS 创建 ipset 集合并显式设置 hashsize / maxelem 的部署升级 —— 如果集合由外部 ipset CLI 预先创建,本次修复不影响已存在的集合。

What's Changed

Full Changelog: v1.1.2...v1.1.3