Commit Graph

2191 Commits (b404d562810be983aced79620f51f6b5dfbea14e)
 

Author SHA1 Message Date
david-beinder 212fd8635f Store username and listener of persistent clients
Signed-off-by: david-beinder <david.beinder@mce.li>
5 years ago
Roger A. Light 94d04136f8 Fix potential memory leaks.
Closes #1773. Closes #1774. Thanks to Yingpei Zeng.
5 years ago
Roger A. Light 7cb72cf1ba Fix incorrect NULL check.
Coverity Scan 1431137.
5 years ago
Roger A. Light 94b39d12ac Fix potential NULL dereference.
Coverity Scan 1431139.
5 years ago
Roger A. Light 9b5112f547 Fix unsigned compared against 0.
Coverity Scan 1431132.
5 years ago
Roger A. Light 872222c3c9 Remove unused values.
Coverity Scan 1431134, 1431136, 1431140.
5 years ago
Roger A. Light 1b060bb064 Guard against use-after-free.
Coverity Scan 1431131, 1431135, 1431141.
5 years ago
Roger A. Light 5f565fe4ea Previous change to only update on difference causes errors :( 5 years ago
Roger A. Light a38cb3bf51 Branch sync - only sync when there is a difference to avoid errors. 5 years ago
Roger A. Light 618cd7006b Don't try to start DLT logging if DLT unavailable.
This is to avoid a long delay when shutting down the broker.

Closes #1735. Thanks to Colin Law.
5 years ago
Roger A. Light 84e4ba2c1e Send DISCONNECT with malformed-packet reason code on bad PUBLISHes. 5 years ago
Roger A. Light b1e9377a20 Send DISCONNECT with malformed-packet reason code on bad SUBSCRIBEs. 5 years ago
Roger A. Light 8416b007ec Send DISCONNECT with malformed-packet reason code on bad UNSUBSCRIBEs. 5 years ago
Roger A. Light 1f717873d6 Log protocol error message where appropriate from a bad UNSUBSCRIBE
Rather than the generic "socket error".

Related to #1765.
5 years ago
Abilio Marques d5aae3eca7 lazy init SSL
Signed-off-by: Abilio Marques <abiliojr@gmail.com>
5 years ago
Roger A. Light 0ac46c2d2a core18 doesn't have libssl1.1 5 years ago
Roger A. Light 42ab1fe2d3 Upgrade snap to core18. 5 years ago
Simon Tate 1608151569 Fix bridge reconnect
In the mux_epoll__add_in function, no context->events was set. Previously this was set to match the ev.events (EPOLLIN). Adding this back in, keeps the code consistent to before it was refactored to split out epoll and poll functions, as well as being consistent with the other mux_epoll__ functions.

If this is not set, the connection is never fully established when the broker comes back up.

Fixes #1680.

Signed-off-by: Simon Tate <simon.tate@bt.com>
5 years ago
Roger A. Light 2b1a22776b Only call setvbuf on open files. 5 years ago
Roger A. Light 19d65ba200 Set ownership of docker files on startup. 5 years ago
Roger A. Light 3dd3ac4f0c Path fix for travis. 5 years ago
Roger A. Light 34db6e77b4 cJSON `make install` doesn't build, so build it first. 5 years ago
Roger A. Light 86e7eed8b7 Fix minor leak when cleaning a bridge on exit. 5 years ago
Roger A. Light 0edb3e49e7 Remove debug mode 5 years ago
Roger A. Light 4f9a1a53ce Fix incorrect store ref count usage. 5 years ago
Roger A. Light b5be4fb4af Fix test 5 years ago
Roger A. Light 54f3b686dc Fix "slow" file based logging by switching to line based buffering.
Closes #1689. Closes #1741. Thanks to Brett M. Gordon and tt92.
5 years ago
Roger A. Light 8234d24b1b Fix websockets clients sometimes not being disconnected promptly.
Closes #1718. Thanks to Luca Casonato.
5 years ago
Roger A. Light d371b3c58b Fix `mosquitto_publish*()` no longer returning `MOSQ_ERR_NO_CONN`.
This was always returning success when the client was not connected.

Closes #1725. Thanks to BOTorioN.
5 years ago
Roger A. Light b4e0dfa598 Fix `autosave_interval` not being triggered by messages being delivered.
Closes #1726. Thanks to nduhme.
5 years ago
Roger A. Light 4e0312c55f Fix messages being queued for disconnected bridges
This occurred incorrectly when clean start was set to true.

Closes #1729. Thanks to Andreyooo.
5 years ago
Roger A. Light d9003bb858 Don't use mutex until it is initialised.
Coverity Scan 1430456.
5 years ago
Roger A. Light e272f8fbca mosquitto_pub: Close file on file too large.
This wasn't a problem because this error caused the program to
exit, so there was no real resource leak.

Coverity Scan 1430457.
5 years ago
Roger A. Light f846711ea2 mosquitto_pub now sends 0 length files without an error when using `-f`. 5 years ago
Roger A. Light cadcde52a4 Remove duplicate code.
Coverity Scan 1430458.
5 years ago
Roger A. Light 3a83bafe40 Github actions: Add workflow_dispatch to allow a manual trigger. 5 years ago
Roger A. Light 80bb31cf48 Github action for synchronising coverity scan branches 5 years ago
Roger A. Light 1d66d3e443 Fix bridge topic remapping when using "" as the topic.
Closes #1749. Thanks to cieslarchristian.
5 years ago
Roger A. Light 5a56f066a8 Change systemd unit files to create /var/log/mosquitto
This happens before starting the broker.

Also don't quit with an error if opening the log file isn't possible.

Closes #821.
5 years ago
Roger A. Light abb31ffe8d Fix broker refusing to start if only websockets listeners were defined.
Closes #1740. Thanks to OkenKhuman.
5 years ago
Roger A. Light 873e580a00 Spelling/grammar fixes. 5 years ago
Roger A. Light f46187d5e5 Add `mosquitto_client_protocol_version()` function.
This can be used by plugins to determine which version of MQTT a client
has connected with.
5 years ago
Sigmund Vik 5481575f8b Fix FormatMessage warnings for Windows.
From the FormatMessage() Win32 API documentation: "The lpBuffer
parameter is a pointer to an LPTSTR; you must cast the pointer
to an LPTSTR (for example, (LPTSTR)&lpBuffer)."

https://docs.microsoft.com/en-us/windows/win32/api/winbase/nf-winbase-formatmessage#parameters

This commit fixes warnings like these:
warning C4047: 'function': 'LPSTR' differs in levels of indirection from 'char **'
warning C4024: 'FormatMessageA': different types for formal and actual parameter 5

Signed-off-by: Sigmund Vik <sigmund_vik@yahoo.com>
5 years ago
Sigmund Vik a75d574870 Fix sys_tree macro stubs with no arguments.
This fixes Visual Studio compiler warnings like this one:
"warning C4003: not enough arguments for function-like
macro invocation 'G_MSGS_DROPPED_INC'"

Signed-off-by: Sigmund Vik <sigmund_vik@yahoo.com>
5 years ago
Roger A. Light b7911f191b Add all docs to documentation page. 5 years ago
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>
5 years ago
Roger A. Light abc191ad00 db_dump: Fix mosquitto_msg_store usage. 5 years ago
Roger A. Light a07edaa4a0 db_dump: Print error when file not accessible. 5 years ago
Roger A. Light 4379f78cec Travis: Manual install of cJSON . 5 years ago
Roger A. Light 5b4b079105 mosquitto_pub: Print reason string on publish error, if it exists. 5 years ago