All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
- 更新thiserror版本到^2。
- serde添加缺省值。
- 修正数据模型相关文档。
- 增加
streams
,进一步简化代码。 - 添加Benchmark。
- 更新文档。
- 更改pub位置。
- 增加
compress_encryption
feature。 - 增加对于recv的处理模型。
- 重构协议,尽可能实现0拷贝。
- 耗时同步代码分离,使用tokio::task::block_in_place。
- 简化cipher使用。
- 移除Send标记。
- 优化文档。
- 更新依赖。
- config支持序列化/反序列化。
- 更新依赖。
- 再次更新依赖。
- 更新依赖。
- 支持发送不连续的buf(chain)。
- 完善Nonce部分的协议解析。
- 支持便捷地从
StarterError
中提取std::io::Error
。
- 添加
client_init
速度极慢的提示和解决办法。 - 重新组织代码结构。
- 完善文档,添加协议解析。
- 开放更多extern。
- 开放
AesCipher
类型。
- 自定义版本校验时使用
FnOnce
代替Fn
,以此从中提取版本。
- 重新组织开放方法结构,减少方法名长度。
- 移除上两个版本中多余的加密方法。
- 支持压缩流。
- 支持压缩加密双态流。
- 修复校验流状态的部分不起作用(始终成功)的问题。
- 弃用上个版本添加的四个各不相同的方法,减少冗余。
请使用
send_with_dynamic_encrypt
和recv_with_dynamic_encrypt
这两个相同的方法收发消息。 旧方法将在0.3.0
中被移除。
- 修复Nonce明文传输的漏洞。
- 修复Nonce在客户端侧重复使用的漏洞。
- 自定义协议标识符和版本校验。
- 支持不加密(安全的网络环境中)和加密(不安全的网络环境中)两种模式同时使用。
send_with_encrypt
和recv_with_encrypt
方法始终使用相同的Nonce。 为防止重放攻击(Replay attack),请使用client_send_with_dynamic_encrypt
、server_recv_with_dynamic_encrypt
、server_send_with_dynamic_encrypt
、client_recv_with_dynamic_encrypt
加密解密。 这四个新方法将使用动态生成的Nonce。旧方法将在0.3.0
中被移除。