7ca4804667added command line option to choose the screen name. also now using the hostname as the default name. this is on both client and server.
crs
2002-06-09 17:59:32 +0000
255e46017efixed problem with setConfig(). if the new config didn't include a screen that was already connected under an alias then that screen wouldn't be disconnected and removed from the screen list until the screen voluntarily disconnected. at that time removeConnection() would assert because the screen name would not be found. now using the canonical name in the protocol object as well as CServer. this allows setConfig() to always detect removed screens and disconnect them.
crs
2002-06-09 17:21:33 +0000
a9910041b3now exits instead of restarting if child dies due to an unexpected signal.
crs
2002-06-09 16:53:57 +0000
555aa19eb2added command line and configuration file arguments to choose the address and port to listen on or connect to. changed the default port and put it in ProtocolTypes.h. the HTTP port is now no longer opened unless the --http argument is supplied or the config file includes it.
crs
2002-06-09 16:53:25 +0000
8b2a282eb5added aliases to configuration. an alias is another name for a screen. it's expected that the server will want to accept a given client under several names (e.g. the hostname and the FQDN).
crs
2002-06-08 23:24:40 +0000
4b28ffc5b2win32 changes. changed names of binaries. added support for running as (and installing/installing) a service. added support for multiple desktops (NT only, 95 doesn't support multiple desktops).
crs
2002-06-08 21:48:00 +0000
5709d8ddefrefactored some common platform dependent stuff into a new library: platform. also removed test.cpp.
crs
2002-06-04 12:26:23 +0000
c3649df304added command line parsing, restartability, and daemonizing to client. broke win32 stuff though. also moved version and copyright constants into a new file and renamed protocol version constants.
crs
2002-06-04 11:06:26 +0000
e409c83ef9fixed delete bug in printt -- when skipping file and line the deleted pointer was wrong.
crs
2002-06-04 11:03:34 +0000
3b872bb727fixed timeout when getting selection -- forgot to set flag to terminate event loop.
crs
2002-06-04 11:02:33 +0000
beda89fd53changes to add command line arguments. also added automatic restarting and daemonizing on unix. daemon sends log messages to syslog. unix now reads config file from file named on command line; if no command line arg then uses effective user's config file and if that's not there it finally tries /etc/synergy.conf. if there are no screens configured then one is added for the primary screen. broke some startup stuff on win32.
crs
2002-06-03 18:53:18 +0000
10f4e94557added a method to set the filter given a priority string (instead of a number). fixed a comment related to what those priority strings are. added a CLOG_PRINT priority which is never filtered and suppresses the trace info and the priority level message. it's intended as a way to output a message through the logger without getting extra output.
crs
2002-06-03 16:36:45 +0000
014b781fb0moved case insensitive comparison utility functions into CString from CHTTPProtocol.
crs
2002-06-03 16:34:22 +0000
1cbdaee31badded better handling of X server disconnecting unexpectedly. the apps still exit but they do it in a mostly controlled manner. in particular, the server threads except the one processing primary screen events will terminate gracefully. this will be important should the server ever allow HTTP clients to rewrite the configuration file.
crs
2002-06-03 13:45:30 +0000
ad15393732changed buffered output stream to wait() when flush()ing instead of polling/sleeping. changed CTCPSocket to not use thread cancellation but to instead use m_connected to exit the thread. also shortened poll timeout.
crs
2002-06-02 22:57:50 +0000
a541ebc557removed poll/sleep code to improve performance.
crs
2002-06-02 21:03:38 +0000
869617a34anow ignores key if there's no key mapped for a required modifier. was asserting (on the wrong expression).
crs
2002-06-02 19:04:24 +0000
1d3807cb0eadded SIGINT and SIGTERM handling to unix client and server. either signal causes the main thread to be cancelled. added necessary code to make main thread cancellation clean up nicely.
crs
2002-06-02 18:49:35 +0000
1da9be88c9added a maximum request size to CHTTPProtocol so we can bail on clients that cause us to use too much memory. also put methods in CHTTPRequest to get/set headers and changed the data structure used to store them. fixed a couple of other miscellaneous bugs in CHTTPProtocol.cpp.
crs
2002-06-02 13:34:35 +0000
fa4d24216fnow limiting number of simultaneous HTTP requests being handled at once. this is to prevent denial of service.
crs
2002-06-02 11:49:46 +0000
d2135af0d9fixes, mainly for windows. first, had to add a notification from CServer to the primary screen when the configuration changes so it can make necessary adjustments (the win32 primary screen must tell the hook dll about the new jump zones).
crs
2002-06-01 19:26:11 +0000
1ac62a9533added mutex to all public methods that didn't already have it. fixed two blown assertions. first, if user tried to switch to a client that had connected but hadn't yet sent the first info message it would assert on the zero size screen. second, if the primary screen was handling a mouse motion on behalf of a secondary screen when that secondary screen disconnected then an assert would blow because the primary screen would call onMouseMoveSecondary() but m_protocol on the active screen is NULL because disconnecting the active secondary screen caused the mouse to jump to the primary screen.
crs
2002-06-01 10:52:02 +0000
3a80df28ddchanged iterator to use iterator_traits directly instead of std::iterator to support the old STL on grace.
crs
2002-05-31 18:35:53 +0000
793c968f00server now rejects clients that are not in the configuration. added a protocol message to indicate this.
crs
2002-05-31 18:18:29 +0000
1e8a5d7fa9fixed setConfig() to disconnect secondary screens that aren't in the new configuration.
crs
2002-05-31 18:09:43 +0000
71c374b6cdmade isScreen() a const method.
crs
2002-05-31 18:08:08 +0000
942e57fc8dadded I/O for configuration files and changed the server to use an external file for its configuration (was hard coding a config for testing).
crs
2002-05-31 17:32:26 +0000
0eccd52226finished renaming CScreenMap to CConfig.
crs
2002-05-31 14:44:54 +0000
67b149d3a4checkpoint. changed CScreenMap to CConfig. must still change CScreenMap.cpp to CConfig.cpp.
crs
2002-05-31 14:43:23 +0000
ed96354badcheckpoint. renamed CScreenMap.h to CConfig.h. will be changing CScreenMap to CConfig everywhere.
crs
2002-05-31 14:34:16 +0000
536eb52337added methods to CLog for getting the outputter, getting and setting the priority filter, and added code for thread safety. added code to apps to enable thread safety in CLog.
crs
2002-05-31 14:25:26 +0000
70f5f9491dadded basic support for an embedded HTTP server. server currently supports editing the screen map but changing the map won't behave correctly if there are connected screens.
crs
2002-05-30 16:13:16 +0000
2cc63e31aafixed bug in closing down a socket.
crs
2002-05-30 16:11:59 +0000
8cb0302665updated win32 clipboard to match new model.
crs
2002-05-27 18:55:51 +0000
189537b8b9removed getEventMask() from primary screen. added a class to CXWindowsUtil that installs/uninstalls an X error hander. using that in primary screen, clipboard, and util to ensure that certain errors don't kill the app.
crs
2002-05-27 18:30:13 +0000
7cf20d9ad0removed getEventMask() and fixed some comments. also now using toggle key states in updateModifiers().
crs
2002-05-27 18:28:06 +0000
f8eb775278changed lesstif hack to only apply to the CLIPBOARD selection. apprently the PRIMARY selection must follow the ICCCM protocol correctly.
crs
2002-05-27 17:05:34 +0000
56d7271bc1added missing files from previous submit.
crs
2002-05-27 16:51:07 +0000
854d2c7fbfcheckpoint. changed clipboard model. the clipboard can only be accessed now between open()/close(). ownership of the clipboard is asserted via the empty() method. this parallels the win32 model (but the win32 code hasn't been updated yet).
crs
2002-05-27 16:22:59 +0000
5fc87baa0fadded screen locking support to win32. added support for resolution changing (only semi-supported on X because that has no means for resizing screen anyway). also fixed some clipboard problems on win32.
crs
2002-05-24 17:54:28 +0000
34c587e864added support for locking to a screen when the sroll lock is toggled on or when any key or button is pressed. fully implemented on X but stubbed out for now on win32.
crs
2002-05-24 14:37:12 +0000
13eee14232server no longer asserts when a client connects with a name that's already in use by another client. also added reporting of errors from the server to clients so clients can report meaningful messages to users.
crs
2002-05-23 14:56:03 +0000
8df02380e5removed unnecessary call in screen class, added logging calls in clipboard class, and added another cast in protocol util to avoid warning on win32.
crs
2002-05-22 17:08:37 +0000
9e161163b0now letting some key events filter through. this allows the keyboard lights to track toggle changes. however, it also seems to let through keyboard events that shouldn't get through.
crs
2002-05-22 17:05:26 +0000
685bcfa05ffixed incorrect for-loop over directions conditional.
crs
2002-05-22 17:02:58 +0000
a5ae8011e2win32 changes. replaced log dialog hack with a windows console window. now attaching thread input queues as necessary. shifted code around so toggling toggle keys is immediately reflected by secondary screen's keyboard. now setting extended key flag for keys that need it. fixed handling of shift + caps-lock. added handling of keys that should distinguish between left and right but don't. fixed get/set of active window on leave/enter of primary screen. replaced 1x1 primary window with a full screen window to work around a problem with losing key events. changed calculation of mouse move deltas.
crs
2002-05-22 17:01:17 +0000
d893cc16a8fixed type of socket handle (from int to CNetwork::Socket).
crs
2002-05-22 16:56:06 +0000
4968a5bb7cremoved setting send buffer to zero size. it just reduced performance.
crs
2002-05-05 23:37:12 +0000
f8f1fb4041replaced True/False with true/false when assigning to m_repeat. also should now work if the first element of a modifier keymapping is 0. that won't normally be the case but xmodmap was doing weird things on grace. if the first element is 0 it'll try the second element. if that's also zero then that modifier will be ignored.
crs
2002-05-05 19:52:03 +0000
7ebaab42e0fixes for win32 keyboard.
crs
2002-05-05 19:38:09 +0000
2d7e3e8a61fixed caps-lock handling.
crs
2002-05-04 19:43:20 +0000
2dad59a027checkpoint. added half duplex for num lock.
crs
2002-05-04 18:33:48 +0000
cd3e49a9a9checkpoint. fixing up handling of half-duplex num-lock.
crs
2002-05-04 18:31:54 +0000
8de2696369checkpoint. changed when toggle keys toggle (now always on release). must see if this works.
crs
2002-05-04 18:09:02 +0000
4d11079095Fixes for win32 key handling.
crs
2002-05-04 18:08:22 +0000
f3c70dc300fixed handling of shift + caps-lock. those two modifiers should cancel out if the keysym is subject to case conversion, but not otherwise. also added logging of key lookup code.
crs
2002-05-04 11:23:11 +0000
b19fdd86cffixed handling of shift+tab on a system that can map ISO_Left_Tab. now tries to map ISO_Left_Tab without shift first then falls back to Tab (note that if ISO_Left_Tab can be mapped but requires a modifier then the modifier will be added). also changed attempt to map ISO_Left_Tab as a backup to Tab to request the shift modifier whether or not the primary screen requested it.
crs
2002-05-03 12:23:48 +0000
afa14b67c2fixed handling of ISO_Left_Tab when that is not mapped to a keycode by mapping it to tab with shift pressed.
crs
2002-05-03 12:14:55 +0000
ab62dec0f7removed attempt to make release/press of a repeating key use the same server time. was getting what appears to be deadlock but not sure why.
crs
2002-05-03 11:49:30 +0000
5641a875c1checkpoint. made changes to support key autorepeats on X.
crs
2002-05-03 11:26:44 +0000
5132161e30Fixed bug in stream buffer that could cause data to be inserted out of order. Also removed unnecessary limit on writes to the TCP socket.
crs
2002-05-02 11:43:52 +0000
76269a48c1checkpoint debugging of stream buffer.
crs
2002-05-02 11:33:34 +0000
eb2a202834Was trying to avoid sending clipboard if timestamp wasn't changed but clipboard owners may not update that timestamp when the selection is changed. Disabled the timestamp check.
crs
2002-05-01 16:30:20 +0000
f052d126c0Added more checks to avoid sending unchanged clipboard data. Still takes too long to query the clipboard owner for info (maybe 1/10th second) but not sure why or if that can be improved.
crs
2002-05-01 16:17:57 +0000
f2e83e607dcheckpoint. turned off nagle and send buffering. also added test to skip clipboard conversion if a previous conversion from that owner failed.
crs
2002-05-01 15:31:47 +0000
59c5e4bf13Fixed uninitialized variable when computing toggle mask. Also reduced priority of some mouse motion log messages.
crs
2002-05-01 14:36:52 +0000
f536e1ceceadded fallback for missing numpad movement keys (if there's no mapping for those keys then the non-keypad versions are tried).
crs
2002-04-30 18:30:05 +0000
b279c80608checkpoint. now sending toggle modifier state when entering a screen. this allows the secondary screen to set it's modifier state to match the primary screen's state. this is not strictly necessary since each keystroke should adjust the modifier state as needed to get the right result.
crs
2002-04-30 17:48:11 +0000
56877bcc7dAdded logging and handling of "half-duplex" caps-lock key.
crs
2002-04-30 16:25:29 +0000
c2a69d6c64Changed name for auto-generated dependency files from Makedepend to .depend.
crs
2002-04-30 16:23:30 +0000
dc19570621Fixes to get win32 client and server up to date.
crs
2002-04-30 16:23:03 +0000
3ca72b35f3Added some validation of protocol message parameters.
crs
2002-04-29 14:25:24 +0000
32b085e42eShortened timeout on waiting for clipboard response.
crs
2002-04-29 14:12:48 +0000
6a9a180688Made event selection a little more robust. Also fixed failure to marshall clipboard data when updating primary clipboards.
crs
2002-04-29 14:08:48 +0000
c5f6b34d85checkpoint. changed protocol to better handle clipboards. now sending a sequence number with enter messages. screens use that sequence number in clipboard grab and data messages. the server uses the sequence number to order messages across clients. also changed secondary screens to send clipboard updates on leaving (or when grab occurs when not active) instead of on a query from the server. primary effectively does the same. the query message has been removed.
crs
2002-04-29 13:31:44 +0000