Commit Graph

27 Commits

Author SHA1 Message Date
Ken Moore
4ec1dd2694 Get the server all setup for enabling encryption (alternate API calls implemented - just no encryption turned on yet). 2016-05-25 08:16:15 -04:00
Ken Moore
376a903991 Fix up the bridge/server connection management stuff. Now the server will automatically check/re-connect as needed. 2016-05-23 10:05:09 -04:00
Ken Moore
6e07eb7c49 Commit another batch of fine-tuning for the bridge/server. Still not getting the server->bridge connection for some reason - working on it... 2016-05-18 14:44:42 -04:00
Ken Moore
8a16f9a4d0 Completely finish up the raw changes to the sysadm-server so it can operator over a bridge connection (untested).
This also adds some stand-alone CLI options to the sysadm-binary utility:
"bridge_list": List any bridge connections in the settings file. Output Format: "name (url)"
"bridge_add <name> <url>": Add a bridge connection to the settings with the given name. (if websocket server is running, this change will take effect within 5 minutes).
"bridge_remove <name>": Remove a bridge connection from the settings. If a websocket server is running, this change will take effect within 5 minutes (closing the connection to the removed bridge as needed).

There is also a new option in the global server config file:
BRIDGE_CONNECTIONS_ONLY=[true/false]
If true, this will allow the websocket server to run without listening on any ports, and instead force all traffic through the existing bridge connections.
2016-05-12 10:25:16 -04:00
Ken Moore
916069ce69 Add support for the server to become the initiator in a client->bridge connection. The bridge setting to use are still not implemented yet, and the new bridge-specific SSL key pair still needs to be created on first run. 2016-05-11 15:29:37 -04:00
Ken Moore
1fc3b3fbb4 Couple changes:
1) Fix the event registration detection (string/array for args, not object/array)
2) Add a 30 second connection timeout for the client to successfully authorize before the server will close the connection.
2016-03-03 11:57:45 -05:00
Ken Moore
2e64d2d0a6 Fix the location of the SSL files used for the websocket server. 2016-02-22 13:13:47 -05:00
Ken Moore
7e230c5f5f Change the location of the sysadm server internal settings file (QSettings file), and add support for an optional sysadm.conf file which is loaded on server startup. 2016-02-22 12:25:52 -05:00
Ken Moore
e1b9bc833c Fix up the detection of the localhost address when there is both IPv4 and IPv6 information available for the connection. 2016-02-09 09:18:21 -05:00
Ken Moore
8166ef8a79 Cleanup a lot of the logging in the sysadm server. Now the hostinfo log file will clearly list connection time/IP, auth attempts/IP, Dispatches/IP, disconnections/IP. The dispatcher and events systems also properly log activity within their individual log files. 2016-02-02 13:46:23 -05:00
Ken Moore
c8f97a69fe Clean up a fair bit of the server backends. Getting rid of compilation warnings, signal/slot connection issues, etc.. 2016-02-01 15:39:29 -05:00
Ken Moore
1ae716ebfc Add IP blacklisting to the sysadm server.
Current Settings:
1) 5 auth attempts allowed before failover
2) If no communications for 10 minutes, the failover counter gets reset
3) On failover - the IP is placed on the server blacklist for 1 hour
Note: The blacklist system is connection independant, and uses the host IP for unique tracking/blocking.
2016-01-21 10:12:13 -05:00
Ken Moore
7d6ea3ff11 Make the SSL settings for the servers appear as defined within globals-qt.h. This makes it easy to change key/cert files or SSL versions later on for both types of server simultaneously. 2016-01-21 07:49:47 -05:00
Ken Moore
155026aab1 Fix up the file watcher system in the events class. Now it actually functions in it's own thread. 2016-01-20 11:42:41 -05:00
Kris Moore
d4f2e302bc OSX Doesn't support TLS 1.1 or 1.2, so we fallback to 1.0 2016-01-19 15:05:18 -05:00
Ken Moore
7ebc12aaf7 Add handling/debug output for connection errors in the websocket server. 2016-01-19 14:49:46 -05:00
Ken Moore
0077d68208 Commit some debugging work on the sysadm server. 2016-01-18 16:53:12 -05:00
Ken Moore
82b549ead3 Split off the Events subsystem from the server class and set it up for easy expansion later. 2016-01-15 15:36:04 -05:00
Ken Moore
eee477167b Fix the cert/key paths used for the websocket server. 2016-01-08 14:12:22 -05:00
Ken Moore
262ddb637d Commit some more work on on updating the websocket server to use wss. 2016-01-08 14:01:49 -05:00
Ken Moore
fbbc72c3a4 Commit some more work converting the QTcpServer into an SslServer. The API test will now connect without failures - but it hangs there (no incoming messages detected) 2016-01-08 10:33:01 -05:00
Ken Moore
cce21a7677 Switch the sysadm server over to the secure socket protocols (wss/https) 2016-01-07 16:07:35 -05:00
Ken Moore
90e23c882e Merge branch 'master' of github.com:pcbsd/sysadm 2015-12-29 12:47:05 -05:00
Ken Moore
9fe2914da3 Convert sysadm-server to run either in TCP or WebSocket mode.
New CLI flags:
"-ws": Use the websocket protocols instead of tcp
"-p <port number>": Use the designated port number for the server.
2015-12-29 12:43:29 -05:00
Kris Moore
5583f4d2c0 Change port number to 12150 2015-12-17 13:25:56 -05:00
Ken Moore
3bfc57b466 Oops - fix another stray syscache-webclient reference. 2015-12-15 13:14:02 -05:00
Ken Moore
f5dab0048c Add a copy of the syscache-webclient server into the sysadm/src/server.
Also setup the server to make it easier to extend for API/library support in the backend. All backend functionality can now be added to the new "WebBackend.cpp" file (and WebSocket.h file for headers).
2015-12-15 13:06:42 -05:00