Commit Graph

119 Commits

Author SHA1 Message Date
Roger A. Light
a1a190b482 Pointless whitespace tidy. 2021-10-05 15:20:37 +01:00
Roger Light
526b8430e2 Fix for #2283.
Closes #2283. Thanks to Heath Raftery.
2021-08-21 20:14:51 +01:00
Roger Light
702aaabee2 mux init must happen before bridges are started. 2021-04-14 23:06:53 +01:00
Roger Light
2de8c15bc9 Minor build fixes. 2021-03-21 09:18:43 +00:00
Roger Light
9989a3502d Add link to authentication options if running in local only mode. 2021-03-20 10:33:58 +00:00
Roger A. Light
a4389fc9ce Fix SPDX identifiers: EDL-1.0 -> BSD-3-Clause.
The two licenses are the same.
2021-01-20 11:46:18 +00:00
Roger A. Light
370cec5edd Fixes for lots of minor build warnings highlighted by Visual Studio. 2021-01-09 21:06:08 +00:00
Roger A. Light
37ce51703f Fix websockets listeners not causing the main loop not to wake up.
Closes #1936. Thanks to sectokia.
2020-12-10 12:31:52 +00:00
Roger A. Light
9e6efd2f32 Stop listeners before removing clients to avoid use after free. 2020-12-02 09:41:12 +00:00
Roger A. Light
3731535298 Add SPDX license identifiers. 2020-12-01 20:46:56 +00:00
Roger A. Light
04c110183c Bridge support for MQTT v5 maximum-qos. 2020-12-01 18:15:29 +00:00
Roger A. Light
b34dcd2a67 Final remove support for legacy libwebsockets
This means libwebsockets < 2.4.0.
2020-12-01 13:41:14 +00:00
Roger A. Light
13bdd255a1 Fix incorrect array address on error. 2020-11-30 10:31:14 +00:00
Roger A. Light
584cf51ba7 Update to EPL-2.0 2020-11-25 17:34:21 +00:00
Roger A. Light
0c6365726f Coverity Scan issues.
1436823
1436837
1436843
1432792
1436847
1436848
1436849
2020-11-24 10:06:28 +00:00
Roger A. Light
d142ff69a6 Fix Coverity Scan issues.
511427
1431133
1436823
1436837
1436838
1436929
2020-11-24 00:22:34 +00:00
Roger A. Light
b816d46508 Use db as a global var instead of passing to functions.
This allows a big swath of ifdefs to be removed. It also means savings as the db var is not passed around all of the time, and makes it easier to remove the final broker call to mosquitto_time() call in packet_mosq.c. In one test this reduced the calls to mosquitto_time() from 295k to 48k.
2020-11-06 17:16:23 +00:00
Roger A. Light
108b23ce6d Reduce use of mosquitto_time() and time(). 2020-11-06 14:20:39 +00:00
Roger A. Light
23d3c2641e Optimise epoll event to context/listener mapping. Allows quicker lookups. 2020-11-05 16:10:50 +00:00
Roger A. Light
2a1df4ddb2 Breaking: Drop privileges after loading the configuration
This change means privileges are dropped before loading certificates, starting logging, creating the pid file etc. are carried out, so all of those actions must now be changed to ensure that the unprivileged user can carry them out.
2020-11-05 12:05:07 +00:00
Roger A. Light
4d6384c758 Build and conversion fixes for build variants. 2020-11-05 10:23:01 +00:00
Roger A. Light
e6dd08074d TLS certificates for the server are now reloaded on SIGHUP. 2020-11-04 22:57:10 +00:00
Roger A. Light
c51f2300f1 Log warning if starting in local only mode. 2020-10-21 13:27:39 +01:00
Roger A. Light
4f61f6c161 Fix conversion errors. 2020-10-17 01:23:08 +01:00
Roger A. Light
94c4108977 The pid_file option will now always attempt to write a pid file.
This happens regardless of whether the `-d` argument is used when
running the broker.

Closes #1845. Thanks to habazut.
2020-10-13 21:14:48 +01:00
Roger A. Light
c90e49af1b Merge remote-tracking branch 'origin/fixes' into develop 2020-09-24 17:03:14 +01:00
Roger A. Light
cf1c156765 New plugin interface
This is not specific to authentication, and allows plugins greater flexibility in what events they are interested in. It also adds message handling, and $CONTROL handling.
2020-09-22 14:49:28 +01:00
Roger A. Light
97bd527df0 Breaking: allow_anonymous defaults to false. 2020-09-17 11:29:32 +01:00
Roger A. Light
d7d3087b04 Breaking: Bind to loopback if no listeners are configured. 2020-09-17 11:10:40 +01:00
Roger A. Light
5daa5ee162 Add support for $CONTROL/ topics in plugins. 2020-09-10 15:32:47 +01:00
david-beinder
212fd8635f Store username and listener of persistent clients
Signed-off-by: david-beinder <david.beinder@mce.li>
2020-08-07 08:32:14 +02:00
Roger A. Light
7cb72cf1ba Fix incorrect NULL check.
Coverity Scan 1431137.
2020-08-06 13:50:52 +01:00
Roger A. Light
abb31ffe8d Fix broker refusing to start if only websockets listeners were defined.
Closes #1740. Thanks to OkenKhuman.
2020-07-14 17:27:57 +01:00
Sigmund Vik
20972a2819 Add broker ready message.
Before this commit there was no good way to detect that the
Mosquitto broker was done with its startup phase on systems
without systemd.

On such systems it was tricky to e.g. start the broker from
a test where ports are dynamically assigned and one have to
deal with potential port conflicts.  Without a way to know
that the broker is done with its startup phase, there was no
way to know if the broker was able to acquire the port (for
both IPv4 and IPv6) without waiting for some unknown period
of time (when many tests are run in parallel a single process
might be starved for resources).

With this new broker ready message it is easy for the parent
process to monitor the broker output and figure out when the
port was successfully acquired.

Signed-off-by: Sigmund Vik <sigmund_vik@yahoo.com>
2020-07-10 22:48:58 +01:00
Roger A. Light
cef9d891ae Tidy up main(). 2020-04-08 11:34:31 +01:00
Roger A. Light
d96543c0b8 Merge branch 'fixes' into develop 2020-03-03 12:54:57 +00:00
Roger A. Light
b0a065f790 Update changelog. Release page. Bump copyright. 2020-02-27 23:26:58 +00:00
Roger A. Light
2a8c1d03f5 Merge branch 'coverity-fixes' into fixes 2020-02-06 16:20:52 +00:00
Roger A. Light
27b4518d7e Improve password file parsing in the broker and mosqitto_passwd.
Closes #1584. Thanks to panava.
2020-02-04 16:38:51 +00:00
Roger A. Light
18f0508a6e Fix dereference before null check.
Coverity Scan 1405815.
2020-01-23 10:08:26 +00:00
Roger A. Light
499e2f2e98 Add support for unix sockets to broker, lib, and clients. 2019-10-08 20:55:31 +01:00
Roger A. Light
570c3674fb Drop privs to nobody if mosquitto user does not exist. 2019-08-07 10:42:03 +01:00
Roger A. Light
61fe26474e Test and fix for client message prop persistence. 2019-03-25 06:55:45 +00:00
Roger A. Light
94450eb8bc Keep log open until we are ready to quit. 2019-03-18 23:04:34 +00:00
Roger A. Light
320ddc1303 Merge branch 'master'
Conflicts:
	CMakeLists.txt
	ChangeLog.txt
	client/Makefile
	config.mk
	installer/mosquitto.nsi
	installer/mosquitto64.nsi
	lib/mosquitto.h
	lib/mqtt3_protocol.h
	lib/util_mosq.c
	set-version.sh
	snap/snapcraft.yaml
	src/bridge.c
	src/database.c
	src/handle_connack.c
	src/loop.c
	src/persist.c
	test/broker/Makefile
2019-03-16 10:05:38 +00:00
Roger A. Light
2dd24449ad Fix "unused parameter" warnings. 2019-03-13 14:46:05 +00:00
Roger A. Light
b82370a997 Free clients with session expiry > 0 on exit. 2019-03-13 13:22:14 +00:00
Roger A. Light
ce31269e05 Update changelog, bump version, bump copyright year. 2019-02-28 16:56:15 +00:00
Pierre Fersing
1aaf5f2348 Add websockets_headers_size option
Signed-off-by: Pierre Fersing <pierre.fersing@bleemeo.com>
2019-02-28 00:25:19 +00:00
Roger A. Light
c506c8335b Will delay tests and implementation. 2019-02-27 09:27:34 +00:00