From b34044ec6a37229f7c994c0f26954fe7783d7be3 Mon Sep 17 00:00:00 2001 From: "Jerry (Xinyu Hou)" Date: Tue, 26 May 2015 11:50:21 -0700 Subject: [PATCH 1/9] Versioned to 1.7.4 --- CMakeLists.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 6e009d94..1c478fc5 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -17,7 +17,7 @@ # Version number for Synergy set(VERSION_MAJOR 1) set(VERSION_MINOR 7) -set(VERSION_REV 3) +set(VERSION_REV 4) set(VERSION "${VERSION_MAJOR}.${VERSION_MINOR}.${VERSION_REV}") cmake_minimum_required(VERSION 2.6) From dba46707b259633b78cc3523c2be8e16caca21dd Mon Sep 17 00:00:00 2001 From: "Jerry (Xinyu Hou)" Date: Tue, 26 May 2015 13:31:15 -0700 Subject: [PATCH 2/9] Removed SSL chunk size limitation #4712 --- src/lib/server/ClientProxy1_6.cpp | 15 +++------------ 1 file changed, 3 insertions(+), 12 deletions(-) diff --git a/src/lib/server/ClientProxy1_6.cpp b/src/lib/server/ClientProxy1_6.cpp index a27e8ce6..79d890c6 100644 --- a/src/lib/server/ClientProxy1_6.cpp +++ b/src/lib/server/ClientProxy1_6.cpp @@ -61,18 +61,9 @@ ClientProxy1_6::setClipboard(ClipboardID id, const IClipboard* clipboard) size_t size = data.size(); LOG((CLOG_DEBUG "sending clipboard %d to \"%s\"", id, getName().c_str())); - - // HACK: if using SSL, don't send large clipboards (#4601) - bool send = true; - if (getServer()->isSecure() && (size > kSslClipboardMaxSize)) { - send = false; - LOG((CLOG_WARN "large clipboards not supported with ssl, size=%d", size)); - } - - if (send) { - StreamChunker::sendClipboard(data, size, id, 0, m_events, this); - LOG((CLOG_DEBUG "sent clipboard size=%d", size)); - } + + StreamChunker::sendClipboard(data, size, id, 0, m_events, this); + LOG((CLOG_DEBUG "sent clipboard size=%d", size)); } } From f063b094ecee960f2456ebe3dbecb375ca0e147d Mon Sep 17 00:00:00 2001 From: "Jerry (Xinyu Hou)" Date: Tue, 26 May 2015 17:12:58 -0700 Subject: [PATCH 3/9] Used log system instead of stdout #4690 --- src/lib/platform/MSWindowsWatchdog.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/lib/platform/MSWindowsWatchdog.cpp b/src/lib/platform/MSWindowsWatchdog.cpp index 8bbb0ab2..fdb2c72a 100644 --- a/src/lib/platform/MSWindowsWatchdog.cpp +++ b/src/lib/platform/MSWindowsWatchdog.cpp @@ -565,7 +565,7 @@ MSWindowsWatchdog::testOutput(String buffer) if (i != String::npos) { size_t s = sizeof(g_activeDesktop); String defaultDesktop("Default"); - String sub = buffer.substr(s - 1, defaultDesktop.size()); + String sub = buffer.substr(i + s - 1, defaultDesktop.size()); if (sub != defaultDesktop) { m_autoElevated = true; } From 907b02fb093b9a171ffa0a265b45d8406079fbd0 Mon Sep 17 00:00:00 2001 From: "Jerry (Xinyu Hou)" Date: Tue, 26 May 2015 17:18:14 -0700 Subject: [PATCH 4/9] Used log system instead of stdout (part 2) #4690 --- src/lib/synergy/ToolApp.cpp | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/src/lib/synergy/ToolApp.cpp b/src/lib/synergy/ToolApp.cpp index c9a2b5c7..9a1c3385 100644 --- a/src/lib/synergy/ToolApp.cpp +++ b/src/lib/synergy/ToolApp.cpp @@ -63,8 +63,9 @@ ToolApp::run(int argc, char** argv) return kExitFailed; } else { - // HACK: send to standard out so watchdog can parse. - std::cout << "activeDesktop:" << name.c_str() << std::endl; + String output("activeDesktop:"); + output.append(name); + LOG((CLOG_INFO "%s", output.c_str())); } #endif } From d83cb23cc7ead0df253820096e0fcaf8734b3cfe Mon Sep 17 00:00:00 2001 From: "Jerry (Xinyu Hou)" Date: Tue, 26 May 2015 17:25:18 -0700 Subject: [PATCH 5/9] Reverted 8b9758 #4712 --- src/lib/server/ClientListener.h | 3 --- src/lib/server/ClientProxy1_6.cpp | 8 ++------ src/lib/server/Server.cpp | 6 ------ src/lib/server/Server.h | 3 --- 4 files changed, 2 insertions(+), 18 deletions(-) diff --git a/src/lib/server/ClientListener.h b/src/lib/server/ClientListener.h index 70ecb2eb..c0b35ab3 100644 --- a/src/lib/server/ClientListener.h +++ b/src/lib/server/ClientListener.h @@ -64,9 +64,6 @@ public: //! Get server which owns this listener Server* getServer() { return m_server; } - //! Return true if using secure network connection - bool isSecure() { return m_useSecureNetwork; } - //@} private: diff --git a/src/lib/server/ClientProxy1_6.cpp b/src/lib/server/ClientProxy1_6.cpp index 79d890c6..8b429cca 100644 --- a/src/lib/server/ClientProxy1_6.cpp +++ b/src/lib/server/ClientProxy1_6.cpp @@ -29,11 +29,6 @@ // ClientProxy1_6 // -enum -{ - kSslClipboardMaxSize = 1024 -}; - ClientProxy1_6::ClientProxy1_6(const String& name, synergy::IStream* stream, Server* server, IEventQueue* events) : ClientProxy1_5(name, stream, server, events), m_events(events) @@ -61,8 +56,9 @@ ClientProxy1_6::setClipboard(ClipboardID id, const IClipboard* clipboard) size_t size = data.size(); LOG((CLOG_DEBUG "sending clipboard %d to \"%s\"", id, getName().c_str())); - + StreamChunker::sendClipboard(data, size, id, 0, m_events, this); + LOG((CLOG_DEBUG "sent clipboard size=%d", size)); } } diff --git a/src/lib/server/Server.cpp b/src/lib/server/Server.cpp index 8b7c4afd..832a03b0 100644 --- a/src/lib/server/Server.cpp +++ b/src/lib/server/Server.cpp @@ -2389,9 +2389,3 @@ Server::dragInfoReceived(UInt32 fileNum, String content) m_screen->startDraggingFiles(m_dragFileList); } - -bool -Server::isSecure() const -{ - return m_clientListener->isSecure(); -} diff --git a/src/lib/server/Server.h b/src/lib/server/Server.h index 63551efa..d85a113d 100644 --- a/src/lib/server/Server.h +++ b/src/lib/server/Server.h @@ -175,9 +175,6 @@ public: //! Return received file data String& getReceivedFileData() { return m_receivedFileData; } - //! Return true if using secure network connection - bool isSecure() const; - //@} private: From 03fc9b5fa72fd3197ca1e496f2c22e640304a602 Mon Sep 17 00:00:00 2001 From: Maxim Doucet Date: Wed, 27 May 2015 18:34:47 +0200 Subject: [PATCH 6/9] Fix issue synergy/synergy#4720 --- src/gui/src/PluginManager.cpp | 8 +------- 1 file changed, 1 insertion(+), 7 deletions(-) diff --git a/src/gui/src/PluginManager.cpp b/src/gui/src/PluginManager.cpp index fd3a24e4..d1dc8762 100644 --- a/src/gui/src/PluginManager.cpp +++ b/src/gui/src/PluginManager.cpp @@ -194,13 +194,7 @@ QString PluginManager::getPluginUrl(const QString& pluginName) process.start(program, args); bool success = process.waitForStarted(); - if (!success || !process.waitForFinished()) - { - emit error(tr("Could not get Linux package type.")); - return ""; - } - - bool isDeb = (process.exitCode() == 0); + bool isDeb = (success && process.waitForFinished() & (process.exitCode() == 0)); int arch = getProcessorArch(); if (arch == kProcessorArchLinux32) { From 3498d1bc8ed1902fec9f1a000efe83f01247438d Mon Sep 17 00:00:00 2001 From: "Jerry (Xinyu Hou)" Date: Wed, 27 May 2015 09:52:58 -0700 Subject: [PATCH 7/9] Used synergy::string::sprintf instead of append #4690 --- src/lib/synergy/ToolApp.cpp | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/src/lib/synergy/ToolApp.cpp b/src/lib/synergy/ToolApp.cpp index 9a1c3385..aa82fc88 100644 --- a/src/lib/synergy/ToolApp.cpp +++ b/src/lib/synergy/ToolApp.cpp @@ -63,8 +63,7 @@ ToolApp::run(int argc, char** argv) return kExitFailed; } else { - String output("activeDesktop:"); - output.append(name); + String output = synergy::string::sprintf("activeDesktop:%s", name.c_str()); LOG((CLOG_INFO "%s", output.c_str())); } #endif From aec52c36e6e9c5961f2fee2e4eb68c60317bca48 Mon Sep 17 00:00:00 2001 From: "Jerry (Xinyu Hou)" Date: Wed, 27 May 2015 10:18:45 -0700 Subject: [PATCH 8/9] Added timeout for waiting active destop result #4723 --- src/lib/platform/MSWindowsWatchdog.cpp | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/src/lib/platform/MSWindowsWatchdog.cpp b/src/lib/platform/MSWindowsWatchdog.cpp index fdb2c72a..c57fb278 100644 --- a/src/lib/platform/MSWindowsWatchdog.cpp +++ b/src/lib/platform/MSWindowsWatchdog.cpp @@ -37,6 +37,7 @@ #include #include +#define MAXIMUM_WAIT_TIME 3 enum { kOutputBufferSize = 4096 }; @@ -549,8 +550,13 @@ MSWindowsWatchdog::getActiveDesktop(LPSECURITY_ATTRIBUTES security) } ARCH->lockMutex(m_mutex); + int waitTime = 0; while (!m_ready) { + break; + } + ARCH->waitCondVar(m_condVar, m_mutex, 1.0); + i++; } m_ready = false; ARCH->unlockMutex(m_mutex); From d7063a87c871cd97d7e026bcf7c9cf3b895e9f55 Mon Sep 17 00:00:00 2001 From: "Jerry (Xinyu Hou)" Date: Wed, 27 May 2015 10:32:13 -0700 Subject: [PATCH 9/9] Fixed using wrong local variable #4723 --- src/lib/platform/MSWindowsWatchdog.cpp | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/lib/platform/MSWindowsWatchdog.cpp b/src/lib/platform/MSWindowsWatchdog.cpp index c57fb278..837db1de 100644 --- a/src/lib/platform/MSWindowsWatchdog.cpp +++ b/src/lib/platform/MSWindowsWatchdog.cpp @@ -552,11 +552,12 @@ MSWindowsWatchdog::getActiveDesktop(LPSECURITY_ATTRIBUTES security) ARCH->lockMutex(m_mutex); int waitTime = 0; while (!m_ready) { + if (waitTime >= MAXIMUM_WAIT_TIME) { break; } ARCH->waitCondVar(m_condVar, m_mutex, 1.0); - i++; + waitTime++; } m_ready = false; ARCH->unlockMutex(m_mutex);