Commit Graph

492 Commits (072e93cbfc0a1e074b43143cd3ce9e1069a14591)

Author SHA1 Message Date
Michael Zanetti 949583ed93 introduce "Traffic" and "Debug" categories and change command line parsing to allow override -p 2019-04-02 01:02:45 +02:00
Michael Zanetti 0f262116b6 implement node js bridge, mostly working, some issues still 2019-04-02 01:02:45 +02:00
Michael Zanetti 275e3b3921 added cloud connection 2019-04-02 01:02:45 +02:00
Michael Zanetti daf8f4533f make the devicemanager save all the states (unless opted out in plugin.json) 2019-04-02 01:02:45 +02:00
Simon Stürz 6a9759eb62 egg mod 2019-04-02 01:02:45 +02:00
Simon Stürz 8fbaded63a prevent remaining in shutdown loop 2019-04-02 01:02:45 +02:00
Simon Stürz 436ccaa2f5 Place easteregg 2019-04-02 01:02:45 +02:00
Simon Stürz e4fa93b679 Prevent guh from shutdown twice 2019-04-02 01:02:45 +02:00
Simon Stürz 07e2b87665 prevent double shotdown 2019-04-02 01:02:45 +02:00
Michael Zanetti 4b3518661f make libguh-core a proper lib 2019-04-02 01:02:45 +02:00
Michael Zanetti 69bf56af09 fix packet fragmentation on TCP layer 2019-04-02 01:02:45 +02:00
Michael Zanetti cb4908dc92 prefer ssl connections rather than plaintext ones in upnp discovery response 2019-04-02 01:02:45 +02:00
Michael Zanetti 651e0bd3d8 fix mixup in upnp discovery response 2019-04-02 01:02:45 +02:00
Michael Zanetti 314129a76f add a test to benchmark database performance 2019-04-02 01:02:45 +02:00
Michael Zanetti d800f6cf4f try to fix broken databases (by rotating the old file and starting a new one) 2019-04-02 01:02:45 +02:00
Michael Zanetti c40a9eaa45 don't cache settings... use the settings file directly 2019-04-02 01:02:45 +02:00
Michael Zanetti b3ea0d1a1b add debug print 2019-04-02 01:02:45 +02:00
Michael Zanetti 1451ba9a46 fix crash if a JsonReply times out but we still get a result afterwards 2019-04-02 01:02:45 +02:00
Michael Zanetti d74f208a30 fix broadcast of UPnP information
also fixes a Unexpected null receiver warning which might happen now
because of the timing of various deleteLater() calls on disconnect
2019-04-02 01:02:45 +02:00
Michael Zanetti c605bf15fe fix compilation with Qt <= 5.4 (Debian jessie still has that) 2019-04-02 01:02:45 +02:00
Michael Zanetti ec5da8db07 Enable notifications by default if an interface doesn't require authentication 2019-04-02 01:02:45 +02:00
Michael Zanetti f68d47c5a8 fix typo 2019-04-02 01:02:45 +02:00
Michael Zanetti 759942b037 fix config initialisation when there's an old config around 2019-04-02 01:02:45 +02:00
Michael Zanetti b1136ba2a4 fix upnp discovery request 2019-04-02 01:02:45 +02:00
Michael Zanetti 25c50d4c8a print canonical path instead of plain one 2019-04-02 01:02:45 +02:00
Michael Zanetti 6a34ad46c8 fix file path verification in webserver 2019-04-02 01:02:45 +02:00
Michael Zanetti a8b3cc30ca drop #ifdef SNAPPY from guhconfig... we'll prepare configs in the packaging step now 2019-04-02 01:02:45 +02:00
Michael Zanetti 7977144b64 fix missing entry in introspect 2019-04-02 01:02:45 +02:00
Michael Zanetti ec7c515745 drop some debug prints 2019-04-02 01:02:45 +02:00
Michael Zanetti 44dd07950b added ability to configure each server interface individually 2019-04-02 01:02:45 +02:00
Michael Zanetti 63ffc163ba make auth config work 2019-04-02 01:02:45 +02:00
Michael Zanetti a4658332ff configs can now hold multiple settings per transport type 2019-04-02 01:02:45 +02:00
Michael Zanetti 807c2bc385 move certificategerneator to a separate file 2019-04-02 01:02:45 +02:00
Michael Zanetti 232193cbfc enable ssl on plain TCP socket too 2019-04-02 01:02:45 +02:00
Michael Zanetti 82c0e0bca6 randomize certificate serial number 2019-04-02 01:02:45 +02:00
Michael Zanetti cd22106cdc tweak certificate generation so tha Chomium can deal with it too 2019-04-02 01:02:45 +02:00
Michael Zanetti 424150dc8a hook up global ssl config with webserver 2019-04-02 01:02:45 +02:00
Michael Zanetti 66870dccfe add support for auto generated self-signed certificates for SSL encryption 2019-04-02 01:02:45 +02:00
Michael Zanetti 2b4972de52 move also transports into servermanager so we can share ssl config etc
This makes WebSocketServer pick up the global SSL configuration from
ServerManager.
2019-04-02 01:02:45 +02:00
Michael Zanetti 39e1807f94 add methods to revoke existing tokens 2019-04-02 01:02:45 +02:00
Michael Zanetti 3ce92d6bc9 use TimeManager instead of plain QDateTime 2019-04-02 01:02:45 +02:00
Michael Zanetti a9ec17220a fix issues from review 2019-04-02 01:02:45 +02:00
Michael Zanetti 53cca56fd3 add methods to revoke existing tokens again 2019-04-02 01:02:45 +02:00
Michael Zanetti 08727a07ba Added API authentication 2019-04-02 01:02:45 +02:00
Michael Zanetti 6a4a481f88 remove old cloud handler, cleanup more jsonrpc stuff from TransportInterface 2019-04-02 01:02:45 +02:00
Michael Zanetti f75a0e7a31 move jsonrpc logic out of transport interface into where it belongs, jsonrpcserver 2019-04-02 01:02:45 +02:00
Michael Zanetti fcc6ee45fe make it build with -Werror=implicit-fallthrough 2019-04-02 01:02:45 +02:00
Michael Zanetti 452f7fb209 fix the rule evaluation the first time it is called after a startup.
cought by more restrictive compiler warning settings
2019-04-02 01:02:45 +02:00
Michael Zanetti 45caf66851 initial work on interfaces
have some interfaces defined and in use by DeviceManager and the API.
this can be used to build first prototypes in apps using the interfaces
stuff. Currently the lights interfaces are mostly defined and fully
implemented by the Hue plugin.

TODO: more interfaces to be defined, make more plugins follow
interfaces.
TODO: tests for the interface code
TODO: docs for the interface code
2019-04-02 01:02:45 +02:00
Michael Zanetti ce123f9352 emit a notification when a plugin config is changed
fixes #418
2019-04-02 01:02:45 +02:00