#ssh #serialization #serde #parser #integer

ssh_mux_format

与openssh mux服务器通信使用的数据格式

6个版本

0.4.7 2021年9月27日
0.4.6 2021年9月20日
0.3.4 2021年9月12日
0.2.1 2021年9月12日
0.1.0 2021年9月12日

#2214 in 编码

MIT 许可证

29KB
730

ssh_mux_format

Rust

crate.io downloads

crate.io version

docs

此crate已重命名为ssh_format。

与openssh mux服务器通信使用的数据格式。

格式细节

  • 所有整数都按照大端格式编码;
  • 布尔值按照这里的规则编码为u32
  • char按照u32编码;
  • 字符串和字节按照长度(u32) + 内容编码,与sshbuf_put_string相同;
  • Option::None将被省略,而Option::Some(v)具有与v相同的编码,因为openssh mux协议允许在消息末尾有可选参数;
  • struct/tuple将按原样编码,unit struct/tuple将被省略;
  • sequence将按照这里的规则编码,因此不能反序列化;
  • Variant将编码为索引(u32) + 内容按原样编码(预期手动实现SerializeDeserialize以确保variant_index是您期望的);
  • 序列化/反序列化map不受支持;

功能

  • is_human_readable启用Serializer::is_human_readableDeserializer::is_human_readable

依赖

~110–355KB