# 更新日志(3.x.x)
本文件的格式基于如何维护更新日志 (opens new window), 并且本项目遵守语义化版本 (opens new window)。
何为「不兼容的修改」?
- 原有的配置文件可能无法使用,比如删除或者重命名了某个配置项。
- 可能需要更新编译环境,比如安装新的依赖。
# [3.1.6] - 2021-03-07
# 修复
- 更正规则的生效顺序(51c7824 (opens new window))。
# [3.1.5] - 2021-03-03
# 修复
- 修复了
config
脚本的一个错误,这个错误会导致不能正确地检查依赖项(075a27e (opens new window))。
# [3.1.4] - 2021-03-02
# 改动
- 条件允许的情况下使用更安全的字符串处理函数以避免缓冲区溢出(177ae68 (opens new window))。
# [3.1.3] - 2021-02-23
# 修复
- 改正规则的生效顺序(857ec84 (opens new window))。
# [3.1.2] - 2021-02-17
# 修复
- 修复了一个 bug,这个 bug 会导致当规则文件不具有可写权限时初始化失败(20acd27 (opens new window))。
# [3.1.1] - 2021-01-18
# 修复
- 兼容较低版本的 GCC(becbbe0 (opens new window))。
# [3.1.0] - 2021-01-17
# 注意
- 因为在
v3.0.3
测试过程中新增了向下兼容的功能,所以v3.0.3
被跳过。
# 新增
- 增加调试日志便于排障(bac1d02 (opens new window))。
# 修复
修复了一个段错误(57d7719 (opens new window))。
更精确的访问频次统计(53d3b14 (opens new window))。
# [3.0.2] - 2021-01-10
# 注意
- 因为在
v3.0.1
上有热修复,所以v3.0.2
的一切测试版本作废,请不要使用这些测试版。
# 修复
- 修复一个了在
Alpine Linux
下的编译错误(e989aa3 (opens new window))。
# [3.0.1] - 2020-12-28
# 修复
- 修复了一个在检查 Cookie 时的段错误(8dc2b56 (opens new window))。
# [3.0.0] - 2020-12-25
# 新增
CC 防御现在也支持了 IPV6(00fbc1c (opens new window))。
IP 黑白名单支持了 IPV6。可以识别形如
fe80::/10
的 IPV6 字符串(8519b26 (opens new window))。
# 改动
删除了一些无用的日志(bd279e7 (opens new window))。
友好的错误提示(d1185b2 (opens new window) & f2b617d (opens new window))。当规则文件中 IP 地址无效或者 IP 地址块重叠的时候警告或者报错(并不能检测所有的重叠情况)。
更快的 IP 地址检查速度(2b9e774 (opens new window))。改用前缀树检查 IP,现在在常数时间内即可完成 IP 的匹配,之前是一个一个地匹配,是线性时间。
# 修复
修复了 Cookie 检查的失效的 bug(87beed1 (opens new window))。
修改
config
文件以确保执行make
或make modules
时最新的模块代码能够被编译(25f97f5 (opens new window))。在修复之前,如果仅仅inc/
下的文件发生变化,编译时不会将最新的代码编译进去,因为没有检查inc/
下的文件是否发生变化。修复了 IPV4 网段识别错误的 bug(73a22eb (opens new window))。这个 bug 可能会导致当规则中出现类似
192.168.0.0/10
,即后缀不是 8 的倍数的时候无法正确生成子网掩码。