]> dgit.raspbian.org Git - nextcloud-desktop.git/commitdiff
Use safer separator for account details socket message
authorClaudio Cambra <claudio.cambra@nextcloud.com>
Thu, 26 Jan 2023 22:36:00 +0000 (23:36 +0100)
committerClaudio Cambra <claudio.cambra@nextcloud.com>
Fri, 12 May 2023 05:21:15 +0000 (13:21 +0800)
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
shell_integration/MacOSX/NextcloudIntegration/FileProviderExt/FileProviderSocketLineProcessor.swift
src/gui/macOS/fileprovidersocketcontroller.cpp

index 08aad6b3d38121a71a6933905624df2ad25fbab7..1082baa5223e8f2322041b8b52f2ad2ce1c1d4e7 100644 (file)
@@ -37,7 +37,7 @@ class FileProviderSocketLineProcessor: NSObject, LineProcessor {
             delegate.sendFileProviderDomainIdentifier()
         } else if (command == "ACCOUNT_DETAILS") {
             guard let accountDetailsSubsequence = splitLine.last else { return }
-            let splitAccountDetails = accountDetailsSubsequence.split(separator: ":", maxSplits: 2)
+            let splitAccountDetails = accountDetailsSubsequence.split(separator: "~", maxSplits: 2)
 
             let user = String(splitAccountDetails[0])
             let serverUrl = String(splitAccountDetails[1])
index 7dc1d4f92a26751c42fc08fda68a04b6991ab17a..99b9143341bd150db78ff3828e826021d9a6c4d8 100644 (file)
@@ -146,9 +146,10 @@ void FileProviderSocketController::sendAccountDetails() const
     const auto accountUrl = account->url().toString();
     const auto accountPassword = credentials->password();
 
+    // We cannot use colons as separators here due to "https://" in the url
     const auto message = QString(QStringLiteral("ACCOUNT_DETAILS:") +
-                                 accountUser + ":" +
-                                 accountUrl + ":" +
+                                 accountUser + "~" +
+                                 accountUrl + "~" +
                                  accountPassword);
     sendMessage(message);
 }