Initial release of libmudtelnet
- a fork of libtelnet-rs
.
- A
SE
byte that isn't preceded byIAC
is now properly handled as a normal byte during Telnet subnegotiation processing. - Fixed a panic when Telnet option code 0xFF is negotiated, and a truncated
subnegotiation (e.g.
IAC SB IAC SE
) is received. - Multiple escaped
IAC
bytes (e.g. IAC IAC IAC IAC
) are now properly unescaped (e.g.IAC IAC
) instead of truncated (e.g.IAC
).
- Many API types now derive helpful traits (
Debug
,Eq
, etc.). - An optional
arbitrary
crate feature is now available to enable generating arbitraryevent::TelnetIAC
,event::TelnetNegotiation
andevent::TelnetSubnegotiation
instances for testing.
- CI improvements.
- Fuzz testing.
- Simple benchmarking.
- Small performance and safety improvements (avoiding direct indexing, etc.).
As of version 2.0, libtelnet_rs
has switched over to using the bytes
crate.
With this change, the method signatures for most methods that return Vec<u8>
now return Bytes
instead.
For most situations where a Vec<u8>
would be required, the returned value can
simply be changed to utilize Bytes::to_vec()
.
To make usage of the new dependency a little bit easier, it is also re-exported
as libtelnet_rs::bytes
.