Roger A. Light
c397d080b4
Merge branch 'fix-corrupted-dynsec-config' of https://github.com/NorbertHeusser/mosquitto into NorbertHeusser-fix-corrupted-dynsec-config
2022-07-21 20:18:38 +01:00
Norbert Heusser
621d74fd6a
Created new helper function mosquitto_write_file in common/misc_mosq.h to consolidate
...
saving config files in failsafe manner
Signed-off-by: Norbert Heusser <norbert.heusser@cedalo.com>
2022-07-19 17:22:19 +00:00
Kai Buschulte
71456077ad
Introduce a common-options cmake target
...
this makes it possible to explicitly share compile options, without
using the `add_definition` function. This function declares options for
the current directory and below (in our case also for `deps`).
Adding -Wall, -Wconversion and -Wextra to at least make compiler
warnings visible for the cmake build.
Signed-off-by: Kai Buschulte <kai.buschulte@cedalo.com>
2022-07-04 11:16:01 +02:00
Roger A. Light
34391080d6
Add dynsec init by simple file.
2022-06-22 17:33:39 +01:00
Kai Buschulte
7e4746aac4
Fix missing symbols MacOS
...
Core symbols needed by plugins are now properly linked to their objects
* Remove link_directories() call:
This specification is not necessary for our own libraries as cmake
shares this information over the targets.
If needed they should be specified target specific, like done for
the external DLT library.
Signed-off-by: Kai Buschulte <kai.buschulte@cedalo.com>
2022-05-11 07:01:22 +00:00
Kai Buschulte
0e9df05d0d
Add imported target for cJSON
...
Signed-off-by: Kai Buschulte <kai.buschulte@cedalo.com>
2022-05-11 07:01:17 +00:00
Norbert Heusser
d4216c8cb6
Fixed CMakeLists.txt
...
* Addded missing files plugin_subscribe and plugin_unsubscribe to src/CMakeLists.txt
* Aligned mixed usage of all-keyword and all-plain in target_link_libra…ry definition in in CMakeLists.txt
Signed-off-by: Norbert Heusser <norbert.heusser@cedalo.com>
2022-04-06 10:26:03 +00:00
Roger A. Light
af42640d60
Dynsec: Allow initial password generation from environment variable.
2022-03-24 22:40:40 +00:00
Roger A. Light
bf1d39746a
dynsec: admin should have sys-observe role
2022-03-17 11:53:41 +00:00
Roger A. Light
3122d3e2c5
Simplify some dynsec config functions.
2022-03-13 22:22:19 +00:00
Roger A. Light
5279a424b1
Dynsec: Kick clients in tick event rather than immediately
...
This means that PUBACK/PUBREC should be sent to clients that modify
their own roles.
Closes #2474 . Thanks to Stefano Berlato.
2022-03-12 23:16:57 +00:00
Roger A. Light
0deaae286e
NULL after freeing.
2022-03-09 01:33:23 +00:00
Roger A. Light
051fbadb99
Move some CONTROL code to plugin common.
2022-03-08 21:28:22 +00:00
Roger A. Light
14d1c32f9d
Update changelog. Style, whitespace and, linker fixes.
2022-02-24 15:52:06 +00:00
Norbert Heusser
e7e8b6e832
* Added list of connections to dynsec/getClient response
...
* Added new helper function mosquitto_apply_on_all_clients to broker
* Refactoring in dynamic-security plugin
Signed-off-by: Norbert Heusser <norbert.heusser@cedalo.com>
2022-02-21 16:27:26 +00:00
Roger A. Light
a0f58f20c3
Update threaded builds.
...
Most specifically use -pthread instead of -lpthread.
2022-02-09 22:19:35 +00:00
Roger A. Light
ffb7661d86
Move shared code to common directory
...
This is currently limited to "utility" type functions and does not include code common to the library and broker that are protocol related.
2022-02-09 16:26:10 +00:00
Roger A. Light
5a3b42d4a4
Use path vars in Makefiles.
2022-02-09 14:44:09 +00:00
Roger A. Light
8d073771c3
Make some plugin code shared for future use.
2022-02-03 23:08:28 +00:00
Roger A. Light
d032c94d14
Remove global vars.
2022-02-03 21:50:20 +00:00
Roger A. Light
4adce6d0da
Add anonymous group when generating dynsec config.
2022-02-02 22:02:11 +00:00
Roger A. Light
11c5cf039f
Simplify memory use for dynsec.
2022-01-27 16:09:09 +00:00
Roger A. Light
cd28187e5e
Minor refactor to separate files.
2021-12-15 16:36:54 +00:00
Roger A. Light
17fd1929eb
Move config load/save to own file.
2021-12-13 09:14:05 +00:00
Roger A. Light
2501a64035
Merge branch 'master' into develop
2021-11-23 12:53:50 +00:00
Roger A. Light
34b41a3b01
Dynsec: Add ability to deny wildcard subscriptions for a role
2021-11-10 11:20:25 +00:00
Konstantin Podsvirov
c4d51f0835
Fix DESTINATION for mosquitto_dynamic_security MODULE
...
On Windows MODULE will be installed as LIBRARY component
to `lib` folder that is not prefer for dynamic loaded modules
but can be found in RUNTIME DESTINATION (`bin` folder) too.
Signed-off-by: Konstantin Podsvirov <konstantin@podsvirov.pro>
2021-11-06 17:11:09 +03:00
Roger Light
cd07f1136b
Bump copyrights.
2021-11-03 22:10:06 +00:00
Roger A. Light
8ac11929cc
Merge branch 'master' into develop
2021-10-27 17:19:33 +01:00
Roger A. Light
799cdead15
Experimental custom websockets support.
2021-10-06 15:32:45 +01:00
Roger A. Light
a1a190b482
Pointless whitespace tidy.
2021-10-05 15:20:37 +01:00
Roger A. Light
55d5d2e5f2
Fix for building when uthash not available.
2021-09-30 21:37:11 +01:00
Roger A. Light
2bfc7e7cc8
Do plugin callback unregistering automatically.
2021-09-30 12:42:13 +01:00
Roger A. Light
6763d94962
Add plugin version helper.
2021-09-30 10:56:48 +01:00
Roger Light
dbd0d6f0d8
CMake build fixes.
2021-09-28 11:48:03 +01:00
Roger A. Light
a25fc166a8
Add $CONTROL/broker/v1 control & the getPluginInfo command.
2021-09-07 23:17:31 +01:00
Roger A. Light
3413001d47
Add mosquitto_plugin_set_info()
...
This allows plugins to tell the broker their name and version.
2021-09-07 23:13:06 +01:00
Roger A. Light
aa29b45e70
Merge branch 'master' into develop
2021-09-07 19:17:11 +01:00
Roger Light
c01ae67af7
Fix openssl not being linked to dynamic security plugin.
...
Closes #2277 . Thanks to LeSuisse.
2021-08-21 09:45:26 +01:00
Roger A. Light
c862ffec8b
Allow mosquitto_ctrl dynsec module to update passwords in files
2021-08-18 16:14:27 +01:00
Roger Light
42b45e0c89
Build fixes.
2021-08-18 12:39:02 +01:00
Roger A. Light
14993528ab
Dynsec will generate a config file if it is not found.
2021-07-29 17:47:59 +01:00
Roger A. Light
182384440b
Password salts are now 64 bytes long.
2021-07-28 12:01:47 +01:00
Roger A. Light
192a092d50
Add support for pattern ACLs to dynsec un/subscription ACLs.
2021-07-08 21:55:39 +01:00
Roger A. Light
e0309acebc
Add mosquitto_sub_matches_acl()
...
This moves the sub matching sub code from the dynsec plugin to the library and broker, and removes all of the malloc calls at the same time.
2021-06-10 22:19:39 +01:00
Roger A. Light
0cd2619401
Add %c and %u support to dynsec publish ACLs.
2021-06-10 22:19:33 +01:00
Roger A. Light
214feb8f6b
Merge branch 'fixes' into develop
2021-05-21 15:42:26 +01:00
Roger Light
0a90e62f93
CMake tidy.
2021-05-10 00:39:46 +01:00
Roger Light
e1c8f09372
Remove C++ style comments.
2021-04-25 22:26:12 +01:00
Martin Hauke
e21eaeca37
CMake: Fix undefined symbols in plugins
2021-04-06 21:15:08 +02:00