From 6c74d7d247017a1310f9b9c60a9c7da05c7b0595 Mon Sep 17 00:00:00 2001 From: Kishikawa Katsumi Date: Wed, 18 Sep 2024 11:17:48 +0900 Subject: [PATCH] Fixed an issue where file names were not being decoded correctly in query directory requests. --- Sources/SMBClient/Session.swift | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/Sources/SMBClient/Session.swift b/Sources/SMBClient/Session.swift index 09e2612..0777d3d 100644 --- a/Sources/SMBClient/Session.swift +++ b/Sources/SMBClient/Session.swift @@ -300,13 +300,15 @@ public class Session { let outputBufferLength = min(1048576, maxTransactSize) let creditSize = creditSize(size: outputBufferLength) + let fileInformationClass = QueryDirectory.FileInformationClass.fileDirectoryInformation + let queryDirectoryRequest = QueryDirectory.Request( creditCharge: creditSize, headerFlags: [.relatedOperations], messageId: messageId.next(count: UInt64(creditSize)), treeId: treeId, sessionId: sessionId, - fileInformationClass: .fileDirectoryInformation, + fileInformationClass: fileInformationClass, fileId: temporaryUUID, fileName: pattern, outputBufferLength: outputBufferLength @@ -318,7 +320,6 @@ public class Session { ) let createResponse = Create.Response(data: data) - var files = [FileDirectoryInformation]() let queryDirectoryResponse = QueryDirectory.Response(data: Data(data[createResponse.header.nextCommand...])) @@ -333,7 +334,7 @@ public class Session { messageId: messageId.next(count: UInt64(creditSize)), treeId: treeId, sessionId: sessionId, - fileInformationClass: .fileIdBothDirectoryInformation, + fileInformationClass: fileInformationClass, flags: [], fileId: fileId, fileName: pattern,