• Steve French's avatar
    [CIFS] Incorrect signature sent on SMB Read · e9917a00
    Steve French authored
    Fixes Samba bug 3621 and kernel.org bug 6147
    
    For servers which require SMB/CIFS packet signing, we were sending the
    wrong signature (all zeros) on SMB Read request.  The new cifs routine
    to do signatures across an iovec was not complete - and SMB Read, unlike
    the new SMBWrite2, did not fall back to the older routine (ie use
    SendReceive vs. the more efficient SendReceive2 ie used the older
    cifs_sign_smb vs. the disabled  cifs_sign_smb2) for calculating signatures.
    
    This finishes up cifs_sign_smb2/cifs_calc_signature2 so that the callers
    of SendReceive2 can get SMB/CIFS packet signatures.
    
    Now that cifs_sign_smb2 is supported, we could start using it in
    the write path but this smaller fix does not include the change
    to use SMBWrite2 when signatures are required (which when enabled
    will make more Writes more efficient and alloc less memory).
    Currently Write2 is only used when signatures are not
    required at the moment but after more testing we will enable
    that as well).
    
    Thanks to James Slepicka and Sam Flory for initial investigation.
    Signed-off-by: default avatarSteve French <sfrench@us.ibm.com>
    e9917a00
cifsencrypt.c 8.27 KB