Commit Graph

48 Commits

Author SHA1 Message Date
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
Nick Bolton f0493351a1 attempting to solve ipc recursion/deadlock problem by always buffering in the log outputter. 2012-07-08 16:01:27 +00:00
Nick Bolton 17a92f4f4c attempted to fix deadlock caused by ipc logger causing recursion. 2012-07-06 14:46:46 +00:00
Nick Bolton 12eb8efb61 implemented ipc message buffering (dequeues on gui reconnect) 2012-07-06 12:27:22 +00:00
Nick Bolton fbc4a89653 added retry to installer for synrgyhk.dll file delete problem, seems to help.
added hack to daemon to suppresses service controller false positive error.
tidied up a few of the log lines to make the place look nicer for newbies.
removed annoying build line from dist command.
2012-07-05 21:26:41 +00:00
Nick Bolton ddb2d7feeb fixed: ipc client connected event was being wiped out
daemon now communicates graceful shutdown message through new ipc system.
2012-07-05 19:10:04 +00:00
Nick Bolton 3d6551f708 moved stream into synergy namespace (to prevent naming collision in win libs)
implemented ipc "hello" message (to identify client type)
integ tests working for hello message, but use of ipc in main program has problem with events.
2012-07-05 18:05:35 +00:00
Nick Bolton 4e268760b3 ripped out rest of shitty named pipes ipc stuff.
fixed the byte to int reader on the gui ipc (unsigned chars, argh!!!).
retry on fail for gui ipc connect.
2012-07-04 23:27:03 +00:00
Nick Bolton 0537bbdfad increased ipc message length. 2012-07-03 17:33:19 +00:00
Nick Bolton 7d5fbde71d fully replaced gui/daemon named pipes ipc with tcp ipc. 2012-07-03 14:15:05 +00:00
Nick Bolton 218e98398f ipc client connect test with working unit tests. 2012-06-29 11:33:21 +00:00
Nick Bolton 0c42964f3a normalised line endings. 2012-06-28 04:40:23 +00:00
Nick Bolton 488241850c moving 1.4 to trunk 2012-06-10 16:50:54 +00:00
Nick Bolton e65886857d removed trunk; please commit to (and build patches against) release branches instead. 2011-10-05 00:10:22 +00:00
Nick Bolton 2fe11744cf merged 1.4 r1043:1044 into trunk 2011-06-18 23:44:23 +00:00
Nick Bolton 5a315324ca merged 1.4 r1007:1008 into trunk 2011-05-21 00:30:08 +00:00
Nick Bolton 13c6c36107 merged 1.4 r982:983 into trunk 2011-05-09 00:28:45 +00:00
Nick Bolton 8472fec34d removed 'lib' prefix from libraries (cmake does this for us automatically on UNIX) 2011-04-25 22:21:32 +00:00
Nick Bolton 66c4bdc356 fixed library linkage on linux 2011-04-25 22:10:46 +00:00
Nick Bolton 143c4cd297 restructured source code, put CMakeLists.txt in more conventional locations, and split the libraries up 2011-04-25 21:09:32 +00:00