Closed scott-xu closed 2 months ago
With this PR, SSH.NET targeted to frameworks below .NET 6.0 can easily use 3rd party library to do the compression. For example: https://github.com/scott-xu/SSH.NET.Ionic.Zlib/blob/main/src/SshNet.IonicZlib/ZLib.cs
The decompression works when receive SSH_MSG_GLOBAL_REQUEST.
The decompression stops working when receive SSH_MSG_CHANNEL_OPEN_CONFIRMATION (compared with non-compression mode). It tries to decompress byte array: [20 13 74 63 12 112 208 192 0 16]
. No idea what's going on here. Thoughts? @Rob-Hague
Ready to review @Rob-Hague @WojciechNagorski
Nice. Is there a reason for not testing "zlib" as well?
Because sshd doesn't support "zlib"(pre-auth) anymore.
Thanks, this is good to merge.
@WojciechNagorski Is there any other thing I can do to get this merged? Thanks!
Yes. You can ask @Rob-Hague for review. I do not have time now.
I approved it but it needs CODEOWNERS approval:
No rush
I've added @Rob-Hague to code owners.
Perfect!
This PR adds support for zlib@openssh.com described in https://www.openssh.com/txt/draft-miller-secsh-compression-delayed-00.txt
Resolves https://github.com/sshnet/SSH.NET/issues/1130 Resolves https://github.com/sshnet/SSH.NET/issues/559 Resolves https://github.com/sshnet/SSH.NET/issues/336 Resolves https://github.com/sshnet/SSH.NET/issues/119
Notes:
"none" is the first and preferred compression method which means no compression by default, just like ssh_config:
The description of ssh -C option explains the reason: