Commit Graph

269 Commits

Author SHA1 Message Date
Jerry (Xinyu Hou) 342a345d1f Fixed code style 2015-05-21 15:35:36 -07:00
Jerry (Xinyu Hou) c22e327eed Merge remote-tracking branch 'origin/master' into jerry-sandbox 2015-05-21 11:37:42 -07:00
Xinyu Hou 49ac320f97 Refactored clipboard event into ClipboardEvent #4601 2015-05-20 19:09:54 +01:00
Nick Bolton 561204b2a7 Disabled threading on most IPC logging tests #4624
Threading was making it very hard to reliably run the IPC logging tests
(many timing issues), so I disabled threading for most of the tests.
2015-05-20 17:42:07 +01:00
Jerry (Xinyu Hou) 2c74a7f5c1 Added stringToSizeType and its unittest #4601 2015-05-19 14:23:43 -07:00
Jerry (Xinyu Hou) 00ceda55dc Merge remote-tracking branch 'origin/master' into jerry-sandbox 2015-05-19 11:37:45 -07:00
Jerry (Xinyu Hou) eaff6f50f8 Added sending clipboard chunks handling #4601 2015-05-19 10:54:02 -07:00
Jerry (Xinyu Hou) 6e7b3d87c5 Added changes for StreamChunker that is left from last commit #4601 2015-05-19 09:37:15 -07:00
Jerry (Xinyu Hou) c674642181 Used StreamChunker for clipboard and file transfer #4601
Clipboard is not handled at this point
2015-05-19 09:30:35 -07:00
Nick Bolton efa358f917 Added comment about hacky log line #4690
@XinyuHou, when adding hacks, please annotate with a comment
2015-05-19 10:28:02 +01:00
Jerry (Xinyu Hou) af73e8280d Increased protocol version number to 1.6 #4601 2015-05-18 11:25:58 -07:00
Jerry (Xinyu Hou) 30f96b9fbb Renamed FileChunker to StreamChunker #4601 2015-05-18 10:17:22 -07:00
Jerry (Xinyu Hou) 44089d55e8 Send clipboard data in small chunks without using thread #4601 2015-05-15 22:28:43 +01:00
Jerry (Xinyu Hou) 220b6befab Used a thread to send clipboard data #4601 2015-05-14 13:51:21 -07:00
Nigel Armstrong d71304ee55 Modified header of every file COPYING to LICENSE
Modified to match the updated name of the license file
2015-05-06 22:12:44 -04:00
XinyuHou be1769e4a5 Fixed Mac crashes instantly on syntool segfault #4581 2015-05-06 16:36:49 +01:00
XinyuHou c168721d2f Added deprecated args handling #4570 2015-05-06 11:57:42 +01:00
Xinyu Hou e6e3eae0a9 Disabled reconnect after fingerprint failed #4527 2015-04-20 14:43:39 +01:00
Nick Bolton 407f92e9d4 Removed --certificate-fingerprint argument #4522
Used profile dir for fingerprint file path instead
2015-04-15 14:16:28 +01:00
XinyuHou fa1ea0022b Fixed code style 2015-04-14 17:52:15 +01:00
XinyuHou 28eb85660f Fixed error from merge 2015-04-14 17:51:41 +01:00
XinyuHou b4665b9cd5 Passed args into client and socket
Conflicts:
	src/lib/client/Client.cpp
	src/lib/client/Client.h
	src/lib/synergy/ClientApp.cpp
	src/test/integtests/net/NetworkTests.cpp
2015-04-14 17:51:31 +01:00
XinyuHou 71dc472a64 Fixed code style 2015-04-14 17:49:56 +01:00
Xinyu Hou 5dfe4aa0b5 Added verification of server certificate fingerprint #4522
Conflicts:
	src/lib/mt/Thread.cpp
	src/lib/plugin/ns/SecureSocket.cpp
	src/lib/synergy/ClientArgs.cpp
2015-04-14 17:46:58 +01:00
Nick Bolton 2feb916f2f Unfucked --enable-drag-drop arg parse #4168 2015-03-04 15:10:03 +00:00
Nick Bolton cfd21216cd Fixed: Plugins dir may change depending on user #4168 2015-03-04 11:15:07 +00:00
Nick Bolton eb1083ec45 Fixed: Missing 'else if' on arg parsing #4168 2015-02-25 17:44:17 +00:00
Nick Bolton a1bfddeb5b Changed plugin manager to use installed arch #4168
Using the processor arch to figure out which plugin to downloa is not
the best idea, since a user could install 32-bit Synergy on 64-bit
Windows.
2015-02-25 17:43:48 +00:00
Xinyu Hou 9f1255d986 Revert "did not pass arch into plugins #4313"
This reverts commit 0f686ff308.
2015-02-13 14:25:29 +00:00
XinyuHou 0f686ff308 did not pass arch into plugins #4313 2015-02-13 12:42:23 +00:00
XinyuHou c4c0fc8a08 added enable crypto argument to synergys/c #4313 2015-02-12 15:50:08 +00:00
XinyuHou bbcca144f5 hacked avoid syntool sigsegv on linux #4168 2015-02-11 17:32:18 +00:00
XinyuHou b9c5eb2e6f added certificate generate #4168 2015-02-11 17:28:56 +00:00
XinyuHou 80343c41eb deleted old home brew crypto #4313 2015-02-11 11:12:54 +00:00
XinyuHou 3c4b6163e3 Merge remote-tracking branch 'origin/jerry-sandbox' 2015-02-10 10:28:45 +00:00
XinyuHou b178d33d62 added plugin downloading from servere #4168 2015-02-09 15:37:47 +00:00
XinyuHou 05e6cb6254 queried plugin list from server #4168 2015-02-06 10:39:58 +00:00
XinyuHou aa46fe91a7 added activate page in wizard #4168 2015-02-05 14:17:34 +00:00
XinyuHou 097f4c4c1f Revert "added login window #4168"
This reverts commit ccc5834757.
2015-02-05 11:44:33 +00:00
XinyuHou 3aa6bed669 handled SSL connect failed on client side #4313 2015-02-02 15:33:40 +00:00
XinyuHou ccc5834757 added login window #4168 2015-01-30 16:04:27 +00:00
XinyuHou d15c99f41d rearranged the deletion orders of clientlistener and server #4313 2015-01-28 17:34:19 +00:00
XinyuHou 622e40e5d7 managed secure socket allocation and deallocation #4313 2015-01-28 13:07:03 +00:00
XinyuHou d80aa7c938 resolve #4337 removed IStreamFilterFactory dead code 2015-01-27 11:33:06 +00:00
XinyuHou 85813fd49b added plugin unload and cleanup #4313 2015-01-27 10:42:10 +00:00
Xinyu Hou 141b778477 refactored SecureSocket to use interface #4313 2015-01-14 17:25:53 +00:00
XinyuHou f973d1498d dropped prefix C 2015-01-12 10:33:29 +00:00
XinyuHou 1d7eb3f5cb updated pluging loader for Windows #4313 2015-01-09 13:46:35 +00:00
XinyuHou de8fe7e2a5 fixed compiler cast warning in drag info class 2015-01-06 14:51:37 +00:00
the-wes d62c4a842b Update App.h
update --help output.
2014-12-16 18:04:00 -08:00
Xinyu Hou 9fd11da578 Drop C prefix on Windows 2014-11-12 11:44:29 +00:00
Xinyu Hou e5e0a3b653 Drop C prefix on Linux 2014-11-12 11:28:41 +00:00
Xinyu Hou 67377109f3 Moved Screen class into synergy namespace 2014-11-11 17:45:24 +00:00
Xinyu Hou 1aaa55163c Fixed "c" prefix compile error on Windows 2014-11-11 14:50:09 +00:00
Nick Bolton 41d6080028 changed company name in copyright notice 2014-11-11 13:52:03 +00:00
Nick Bolton e8e156f0e2 dropped "c" prefix from class names 2014-11-11 13:51:47 +00:00
Xinyu Hou d2191b6b93 Auto elevate for Windows UAC and screen lock #4130 2014-10-27 16:39:18 +00:00
Xinyu Hou 6756296d85 Made daemon take full responsibility for logging #4128 2014-10-27 14:11:43 +00:00
Xinyu Hou a32cb41342 Parse arg refactoring #4124
Used argParser in DaemonApp.
2014-10-23 12:09:09 +01:00
Xinyu Hou a71ebc78b3 Parse arg refactoring #4124
Fixed compile error on Linux
2014-10-23 11:37:59 +01:00
Xinyu Hou 943a355359 Parse arg refactoring #4124
Used argParser to parse arguments and removed the old code
2014-10-23 11:30:51 +01:00
Xinyu Hou e26ccfdce6 Parse arg refactoring #4124
Added unit testing
2014-10-22 16:52:08 +01:00
Xinyu Hou f9f2d8e8af Parse arg refactoring #4124
Implemented argParser class.
2014-10-22 16:35:28 +01:00
Xinyu Hou d2814a423c Parse arg refactoring #4124
Extracted platform specific argument parsing code.
2014-10-22 16:27:38 +01:00
jerry 7e562273d5 [no-issue]
revert to r2421
2014-09-15 15:17:07 +00:00
jerry 1805dd7900 issue #575 - Cannot build x86_64 or ppc64 on Mac OS X
applied patch by Jake Petroules
2014-09-15 13:04:43 +00:00
Nick Bolton 3a6d9e82e3 added comment about protocol version [no-issue] [no-build] 2014-07-28 08:19:29 +00:00
jerry 1dfe867c54 issue #4060 - Key stuck down on Windows server
finished solving issue.
2014-05-23 15:01:29 +00:00
jerry f87bd9e860 - checked filename's validation before sending drag info
- refactored duplicated write to drop dir code
- removed legacy member variables
- fixed code style
- fixed typo
2014-05-14 14:45:15 +00:00
Nick Bolton d9f90e319e changed synergy-foss.org to synergy-project.org 2014-05-08 07:33:35 +00:00
jerry da3b77447a fixed warning on 10.6 and 10.5 2014-05-06 19:54:02 +00:00
jerry 2797e9a719 fixed compile error and added header for runtime_error 2014-05-06 19:23:40 +00:00
jerry 9621cba99e - redesigned drag information protocol
- used DragInformation to encapsulate information and helper functions.
- renamed parameters in sendDragInfo function.
2014-05-06 18:26:47 +00:00
jerry f773ff3d00 refactored duplicated code in dragInfoReceived
refactored fakeDraggigFiles interface
2014-04-30 18:54:32 +00:00
jerry c5e551ccae fixed name prefix in ServerApp and ClientApp.
removed testing code.
2014-04-22 10:56:30 +00:00
jerry 45c1cde698 fixed: events were added before event queue was ready, caused debug build assert failure.
removed sleep hack in favour of cond var wait.
2014-04-17 10:56:25 +00:00
Nick Bolton 0745d5884b Task #3969 - Merge String.cpp and StringUtil.cpp 2014-03-21 08:32:36 +00:00
Nick Bolton f9fe1130ac Task #3964 - Make premium login error more verbose 2014-03-20 10:33:33 +00:00
Nick Bolton 3ddb7ef9e3 Task #3961 - Remove Windows 95 support 2014-03-17 16:30:27 +00:00
Nick Bolton 407378fbc5 Task #3951 - Clear filename stored in synwinxt on mouse up
- renamed some functions for file drag/drop to be more similar to existing
- improved log messages for the library loader
- removed hack that blocked .exe and .lnk files (annoying for developers)
- removed hack that always clears dragging filename (not very robust)
2014-03-17 13:10:29 +00:00
Nick Bolton 28a6b16875 fixed: Bug #3933 - Plus signs in the email address cause premium login to fail 2014-03-14 20:34:19 +00:00
Nick Bolton d5b25069be fixed: extending std::runtime_error instead, as std::exception ctor is undefined. also fixed some mac warnings from inheriting runtime_error. 2014-03-14 20:33:18 +00:00
Nick Bolton abe108195d Task #3953 - Inherit XArch and XBase from std::exception 2014-03-14 18:30:21 +00:00
Nick Bolton 4675f29a4c code style fixes:
- reordered includes to prevent accidental dependencies.
- moved arch specific files into their own folder (easier to include with cmake).
- renamed non-class files to reflect new code style (lower case with underscores).
- using full relative paths for includes (easier for understanding dependencies).
- using #pragma once instead of classic-style header guards.
2014-02-28 12:36:45 +00:00
Nick Bolton 8e74710dad code style: dropped C prefix 2014-02-27 17:45:17 +00:00
Nick Bolton f11c660efb used glob instead of manually specifying files. cmake does not recommend this, but we always re-run cmake anyway after adding files since we use vs. 2014-02-26 17:46:02 +00:00
Nick Bolton 50a4f310c9 moved tools to ext - makes more sense, as it contains external libs, not tools 2014-02-26 16:52:54 +00:00
Nick Bolton 8d6a44d1b7 fixed: osx106 warnings 2014-02-26 15:53:28 +00:00
Nick Bolton c44971b43d fixed: warnings on mac os x 2014-02-25 15:03:43 +00:00
Nick Bolton 75d2c5abf1 fixed: nothing happens on osx 10.6 2014-02-17 19:38:26 +00:00
Nick Bolton 3ee4f55a61 "dir" was used by mistake instead of "filename" 2014-02-07 15:54:01 +00:00
Nick Bolton f149101d25 fixed: linux client crashes on file drop, even though drag and drop is disabled 2014-02-06 18:39:12 +00:00
Nick Bolton 9c3e9aab09 removed not impl exception, not very helpful and causes crash on linux (gets called even though drag/drop not enabled). 2014-02-06 16:08:33 +00:00
Nick Bolton 7f08036ff3 native windows http get for premium auth 2014-02-04 19:41:29 +00:00
Nick Bolton b0a02fc94b fixed: ignore --enable-drag-drop includes os major 6 (vista family) 2014-01-28 17:21:49 +00:00
Nick Bolton 443e0cbc72 ignore --enable-drag-drop below vista and on linux 2014-01-28 16:50:40 +00:00
Nick Bolton 2520bf4773 fixed: gui "start" button visible even though server/client is running. 2013-10-16 15:30:42 +00:00
Nick Bolton 658a3e3e8f - made windows gui service only (removed desktop mode).
- changed watchdog to only launch if it has a command.
2013-10-15 15:46:02 +00:00
Nick Bolton 8040f1c5a3 changed m_relauncher to m_watchdog 2013-10-15 10:04:27 +00:00
Nick Bolton d09ee887d8 renamed CMSWindowsRelauncher to CMSWindowsWatchdog 2013-10-14 17:15:03 +00:00
Nick Bolton 499cd47e63 - fixed: process should shut down when command is empty.
- fixed: when command was empty quotes ("") daemon crashed.
2013-10-14 17:10:51 +00:00
Nick Bolton 79ab428454 refactored windows service "relauncher" (process watchdog), so that it's easier to understand. 2013-10-14 16:29:02 +00:00
jerry fd0f5e1db2 disabled drag and drop feature if there is no --enable-drag-drop cmd arg 2013-09-25 12:37:27 +00:00
jerry 4816a30db3 Feature to drag a file from Windows (client) to Mac (server):
- changed the size of the window for dragging on Mac to 3 by 3 pixels.
- on server side, use a new thread to write file to the drop directory.
2013-09-24 16:29:51 +00:00
jerry 57db3da6f3 faked escape key down and up then a left mouse button up in CServer when isSwitchOkay return true.
removed the assertions in CScreen so server screen can fake input event as well.
2013-09-23 15:31:34 +00:00
jerry f6ecf9322c hacked isLockedToScreen so that mouse move back from windows client to mac server after dropping a file 2013-09-18 14:32:38 +00:00
jerry 4e09b06cb0 fixed drag drop from Mac server to Windows client 2013-09-18 14:12:19 +00:00
Nick Bolton 2935c6671e added --enable-drag-drop arg and supporting gui changes. 2013-09-18 08:34:32 +00:00
jerry 340e31298e - removed --filetransfer-src and --filetransfer-des args.
- on Window, temporarily use user desktop directory as drop target.
2013-09-17 18:13:58 +00:00
Nick Bolton 760e38eeba added some hacky sleeps to temporarily fix some thread timing issues (causing access violations). the best fix would be to use wait cond vars, but first we need to really understand the bug. 2013-09-16 15:21:36 +00:00
jerry fbfea7b543 fixed previous commit - the 10.6 compile error was coming from COSXDragView.h, not COSXDragSimulator.m 2013-08-30 21:17:09 +00:00
jerry 9d62232a72 fixed parentheses mess 2013-08-30 20:08:20 +00:00
jerry 43e2535335 Feature to drag a file from Mac (client) to Windows (server):
- temporarily drop dragging file to desktop (specified by command line arg --filetransfer-des)
- on Mac side, fake an esc key while dragging off the screen does not seem to work
2013-08-30 19:49:38 +00:00
jerry ce1b62db14 Feature to drag a file from Windows to Mac:
- On Mac client main thread is used for cocoa application in order to simulate drag.
- Send dragging file dir from Windows server to Mac client while dragging after switching screen.
- Dragging information sending is immature now (need to support multi files dragging in the future).
- Used Cocoa function to monitor dragg pasteboard.
- Changed Mac client to use another thread for event queue instead of the main thread.
- Change fileRecieveComplete to fileRecieveCompleted.
2013-08-30 14:38:43 +00:00
jerry 031a84ca84 - Allow dragging one file from Windows (server) to Mac (client), --filetransfer-des needs to be specified in client side's command line. 2013-08-23 15:36:23 +00:00
jerry 012fe6ddd8 - Log out dragging file's directory in Synergy (using COM shell extension)
- Change shell extension dll Main.cpp to synwinxt.cpp
2013-08-23 09:59:31 +00:00
jerry a25587c4c5 - Removed GCM, CTR and OFB encryption modes.
- Every time server sends CALV message, IV will be changed as well.
2013-08-16 18:06:30 +00:00
jerry dab838ed14 - renamed synrgyhk.dll to synwinhk.dll and moved lib code to separate folder.
- removed game device support (fallen into significant disrepair).
2013-08-02 13:21:06 +00:00
Nick Bolton 289f1ff71f Patch by Jerry:
- Added fixed pause between raising each file transfer event
- Removed redundant member variables in CClient and CServer
2013-07-26 14:10:06 +00:00
Nick Bolton 0f83676c60 Patch by Jerry:
- Fixed include path
2013-07-24 20:16:35 +00:00
Nick Bolton 394ece004a Patch by Jerry:
- Fixed line endings
- Integ test for file transfer
- Fixed crashed problem when log info is larger than 2048 bytes
- Fixed compile error caused by std exception (by Feng ye)
- Fixed include path on Mac and linux (by Feng ye)
2013-07-24 16:41:12 +00:00
Nick Bolton c368013f13 Patch by Jerry for issue 46:
- Unit test for sending file data from server to client.
- Removed singleton pattern from CSocketMultiplexer for easier unit testing.
- Incremented protocol version from 1.4 to 1.5 (new file chunk message).
- Storing pointer to CConfig instead of copying in CServer (so we can mock it).
- Created a common event queue for testing (timeout, quit event, etc).
- Fixed code style.
2013-07-16 19:02:30 +00:00
Nick Bolton 18a3db6843 patch by jerry: fixed new event queue on Mac and Linu 2013-06-29 22:02:04 +00:00
Nick Bolton 608074c041 - made unit testing easier by (mostly) removing the event queue singleton.
- fixed code style in many places (mostly indentation).
2013-06-29 14:17:49 +00:00
Nick Bolton 9f25a1efcd stripped out remaining vnc stuff 2013-05-31 16:06:51 +00:00
Nick Bolton 1b969a4283 removed dead vnc integration attempt. 2013-05-31 15:43:37 +00:00
Nick Bolton f4f7f69b3f moved new crypto stuff into io library, since it inherits CStreamFilter 2013-05-30 13:48:08 +00:00
Nick Bolton e8ed977a8f fixed: issue 3565 - encryption fails with heavy network traffic.
changed encrypt and decrypt to be asymmetrical (iv change now applies only in one direction).
2013-05-01 15:53:22 +00:00
Nick Bolton 607f8c9321 fixed: new iv was used before it was sent to the client, so the client could not decrypt new iv. 2013-04-11 22:30:24 +00:00
Nick Bolton c0dcdd52e7 fixed: crypto++ compile errors, linux compiler syntax bugs, and code style (spaces -> tabs) 2013-04-11 00:30:41 +00:00
Nick Bolton 9cd8023e92 fixed windows 64-bit warnings. 2013-04-10 15:04:14 +00:00
Nick Bolton 880819fab7 Jerry's patch for password hash and custom mode (via command line). 2013-04-09 21:57:07 +00:00
Nick Bolton 7010de9cc4 sending IV to client before DKDN, DKUP and DKRP (the most sensitive messages). unit tests to support changes. made crypto stream tests a bit less spammy by using NiceMock. 2013-04-09 18:56:19 +00:00
Nick Bolton 23998fc06c unit tests for IV change. 2013-04-08 18:35:23 +00:00
Nick Bolton 323285a931 moved temp hard coded key out of crypto class. 2013-04-08 13:04:20 +00:00
Nick Bolton b2746bc1b2 added unit test to make sure IV works as we expect. 2013-04-08 13:01:21 +00:00
Nick Bolton 0a69c28ac5 implemented crypto stream, with some extra unit tests 2013-04-05 16:33:48 +00:00
Nick Bolton d0081ebd7a removed #pragma once from cpp. 2013-04-04 22:06:42 +00:00
Nick Bolton 3aaebd9e50 Patch by Jerry:
* wrote CCryptoStream and supporting unit tests
* changed CStreamFilter to accept CMockEventQueue
* changed CStreamFilter's dtor to virtual because it is inherited
2013-04-04 16:17:25 +00:00
Nick Bolton 7040905632 crypto++ -- upgraded to 5.6.2 and added zip to svn instead of individual source files (easier to manage). also added unit test to prove that linking works well on windows. 2013-04-03 12:59:02 +00:00
Nick Bolton 6ec2ea2c0e patch by jerry -- his first patch! :-)
issue #421 -- portable version for windows.
2013-03-15 16:14:43 +00:00
Nick Bolton 7f6eca9eb4 corrected license and author attribution (cs 2002-2012, nb 2008-2012) 2012-09-04 02:09:56 +00:00
Nick Bolton 86bb49aeae added feature to control uac elevation on desk switch (login screen, lock, etc) 2012-07-28 13:34:35 +00:00
Nick Bolton 268f3a99bb added process elevation support to the relauncher, very experimental, has some bugs. 2012-07-28 02:59:20 +00:00
Nick Bolton 82a439f893 patch: build CGameDevice module on all platforms since it's cross platform code anyway (thanks to Jim Hague) 2012-07-20 15:10:36 +00:00
Nick Bolton 4378e520f0 fixed: on windows xp daemon deadlocks and synergys crashes on startup. also fixed uninitialized ipc program args value (always turning ipc on). moved the event queue further up the stack for (client, server and daemon) so that it's always available (not just in the main loop). 2012-07-14 00:15:07 +00:00
Nick Bolton 5f0402d47b fixed linux syntax and build errors 2012-07-10 18:35:33 +00:00
Nick Bolton f9f04034c9 fixed: ipc client running on synergyc wasn't sending hello message, and so wasn't getting shutdown message. edits to CIpcClient or CIpcTests weren't really needed, but looks slightly better this way maybe. 2012-07-10 11:23:08 +00:00
Nick Bolton 8bad45e8a2 * fixed a shit-ton of memory leaks (lots in the ipc log handler, oops)
* added non-pod data support to events (event delete can now call dtors)
* improved cleanup of ipc message objects (because of non-pod event data support)
* moved the "message received" event up to ipc server and client (passed on from proxies)
2012-07-10 01:51:51 +00:00
Nick Bolton 346666791e * made gui ipc reader more robust by getting rid of reader thread (but read wait now blocks gui thread)
* separated ipc client proxy mutex into read and write (i think read was deadlocking write)
* fixed cpu spinning on ipc log send buffer thread (now uses wait cond like before).
2012-07-09 12:09:24 +00:00