489 Commits

Author SHA1 Message Date
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
Michael Zanetti
e3c57c226b fix tests 2019-04-02 01:02:45 +02:00
Michael Zanetti
f45e093cf1 don't access TimeManager at this point...
besides, we want the given timestamp anyways
2019-04-02 01:02:45 +02:00
Michael Zanetti
414d25c870 fix time events for rules
old code would compare QTime == QTime() every second which might not trigger
if e.g. milliseconds don't match. New code checks the interval between the
last check and the current one.
2019-04-02 01:02:45 +02:00