Michael Zanetti
562e7aa89d
update how id names are generated
...
include the deviceClass/plugin name in all defines to avoid collisions
between deviceClasses within the same file. So far this hasn't
really been an issue because using idName we could set random ids.
Now interfaces dictate the names, so having multiple deviceClasses
in one file and both implementing the same interface would clash.
This also should improve readability in the plugins code as we won't
have ids like: "bridgeConnected" and "connected" available which
easily causes the developer to accidentally use "connected" where
instead "bridgeConnected" should be used (I actually found some
bugs like this while updating plugins for this). The new style
would force those states to be named like e.g. "bridgeConnected"
and "lightConnected" which are not as easy to mix up.
2019-04-08 13:55:15 +02:00
Michael Zanetti
a75c8a4b33
update how debug categories are read in plugins
2019-04-08 13:55:15 +02:00
Michael Zanetti
1167001b0b
don't autmatically run translations compiler
...
instead add a manual "translations" target
2019-04-08 13:55:15 +02:00
Simon Stürz
8f6154903b
Change something in the server for triggering doc build in this branch
2019-04-08 13:55:15 +02:00
Simon Stürz
183e164ed3
Apply review comments and fix upnp
2019-04-08 13:55:15 +02:00
Simon Stürz
691473bcb1
Add bluetooth debug chategory and continue work on bluetooth le manager
2019-04-02 01:02:45 +02:00
Michael Zanetti
99aa833ce8
add pushbutton auth
2019-04-02 01:02:45 +02:00
Michael Zanetti
5337f225eb
add keepalive api
2019-04-02 01:02:45 +02:00
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