Set unicode flag on cifs echo request to avoid Mac error
authorSteve French <smfrench@gmail.com>
Tue, 2 May 2017 18:35:20 +0000 (13:35 -0500)
committerBen Hutchings <ben@decadent.org.uk>
Sat, 26 Aug 2017 01:14:05 +0000 (02:14 +0100)
commit 26c9cb668c7fbf9830516b75d8bee70b699ed449 upstream.

Mac requires the unicode flag to be set for cifs, even for the smb
echo request (which doesn't have strings).

Without this Mac rejects the periodic echo requests (when mounting
with cifs) that we use to check if server is down

Signed-off-by: Steve French <smfrench@gmail.com>
Signed-off-by: Ben Hutchings <ben@decadent.org.uk>
fs/cifs/cifssmb.c

index 969f74f..48db02d 100644 (file)
@@ -764,6 +764,9 @@ CIFSSMBEcho(struct TCP_Server_Info *server)
        if (rc)
                return rc;
 
+       if (server->capabilities & CAP_UNICODE)
+               smb->hdr.Flags2 |= SMBFLG2_UNICODE;
+
        /* set up echo request */
        smb->hdr.Tid = 0xffff;
        smb->hdr.WordCount = 1;