-
Notifications
You must be signed in to change notification settings - Fork 180
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Performance improvement for unsigned packets (#817 fix) #824
base: master
Are you sure you want to change the base?
Conversation
The Session.send() will check if the server has set RequireSecuritySignature in the Negotiate Protocol Response. If server and client do not wish to sign packets, an unsigned packet will be sent. This should address hierynomus#817
It's always nice that the guys at MS write a spec (MS-SMB2) and then a tech-note, which to some extend contradict eachother... From section
|
That means that your implementation is too simple unfortunately. It doesn't take into account the SMB3 requirements which are now implicitly covered because we just "always sign if we can"... Also it feels like "sane" behaviour to sign when we can, and make it explicit in the client to not sign. Implicitly offering up security over performance is rarely a good idea. |
The signing can be only avoided for smb2 protocol when the smb server has required signing false.
Thanks for the feedback. It basically means for SMB 3.x, either you encrypt or sign. I've incorporated the changes. |
Is this PR not complete? |
Please complete this PR ASAP as I need the exact same feature |
I believe that If the server does not expect client packets to be signed, it would not validate the integrity even if we sign it. Based on this assumption, I've made these changes. |
Please complete this PR ASAP as I need the exact same feature |
💨 |
@hierynomus Can we assist somehow in getting this released? |
@hierynomus what is the state of this PR by @manish-pai ? |
The Session.send() will check if the server has set RequireSecuritySignature in the Negotiate Protocol Response. If server and client do not wish to sign packets, an unsigned packet will be sent.
This should address #817