#ssh #serialization #parser #serde #integer

ssh_format

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

9个版本

0.14.1 2022年10月18日
0.13.5 2022年10月8日
0.12.0 2022年1月24日
0.9.1 2021年12月28日
0.6.1 2021年11月30日

#830 in 编码

Download history 9702/week @ 2024-03-25 6600/week @ 2024-04-01 13957/week @ 2024-04-08 10765/week @ 2024-04-15 11907/week @ 2024-04-22 12224/week @ 2024-04-29 9004/week @ 2024-05-06 9450/week @ 2024-05-13 7698/week @ 2024-05-20 7870/week @ 2024-05-27 10303/week @ 2024-06-03 7872/week @ 2024-06-10 8594/week @ 2024-06-17 15461/week @ 2024-06-24 4995/week @ 2024-07-01 10042/week @ 2024-07-08

每月 39,680 次下载
13crate(直接使用2个)中使用

MIT 许可证

39KB
957

ssh_format

Rust

crate.io downloads

crate.io version

docs

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

格式详情

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

功能

  • is_human_readable启用Serializer::is_human_readableDeserializer::is_human_readable

依赖关系

~110–395KB