Roger Light
2de8c15bc9
Minor build fixes.
5 years ago
Roger Light
cca41d176d
Fix inconsistent sign in log__printf declaration.
5 years ago
Roger A. Light
f8838243fb
Fix connections retrying very rapidly in some situations.
...
Thanks to Abilio Marques.
5 years ago
Roger A. Light
b7a08d5c40
Fix TLS bridge/lib incorrectly connecting on invalid CA file.
...
Closes #2130 . Thanks to becz.
5 years ago
Roger A. Light
e401def06d
Fix QoS 0 messages not being delivered when max_queued_bytes was configured.
...
Closes #2123 . Thanks to quackgizmo.
5 years ago
Roger A. Light
2190e98b20
Fix memory tracking not being available on FreeBSD or macOS.
...
Closes #2096 . Thanks to blusewang.
5 years ago
Roger A. Light
9b08faf0bd
Fix mosquitto_{pub|sub}_topic_check() function returns.
...
The would not return MOSQ_ERR_INVAL on topic == NULL.
5 years ago
Roger A. Light
e98cc28cd3
Move check after current_out_packet is updated.
5 years ago
Przemek Zygmunt
18bad1ff32
Unconditionally adding an event to the epoll causes 100% CPU usage. This happens when the connection to the server is established and the client has not sent any data yet.
...
Signed-off-by: Przemek Zygmunt <p.zygmunt@acsoftware.pl>
5 years ago
Roger A. Light
6e3738dcf0
Fix bridges not always connecting on Windows.
...
Closes #2043 . Thanks to ttsorensen.
5 years ago
Roger A. Light
706a1f3f29
Fix more minor compiler warnings.
5 years ago
Roger A. Light
a4389fc9ce
Fix SPDX identifiers: EDL-1.0 -> BSD-3-Clause.
...
The two licenses are the same.
5 years ago
Roger A. Light
370cec5edd
Fixes for lots of minor build warnings highlighted by Visual Studio.
5 years ago
Roger A. Light
fabdfcc060
Further fix for large packets not being sent in a timely fashion.
5 years ago
Roger Light
c604cf8fd0
net__write buf should be const.
5 years ago
Roger A. Light
b2da540c64
Fix large packets not being completely published to slow clients.
...
Also fix bridge connection not relinquishing POLLOUT after messages are
sent.
Closes #1977 . Thanks to marchaesen.
Closes #1979 . Thanks to GorazdKikelj.
5 years ago
Roger A. Light
2db9aecac4
Do not reset bind address option if passed NULL.
...
mosquitto_connect_bind_async() and mosquitto_connect_bind_v5() should not
reset the bind address option if called with bind_address == NULL.
Otherwise calling mosquitto_connect_async() will *force* the bind
address to be reset, even if previously set with
mosquitto_string_option().
5 years ago
Roger A. Light
e02b5a2775
Fix $SYS/broker/publish/messages/+ counters not being updated for QoS 1, 2
...
Closes #1968 . Thanks to promahn.
5 years ago
Roger A. Light
757902bcf8
Improve struct packing.
5 years ago
Roger A. Light
d8dcfd75fe
lib: Fix DH group not being set for TLS connections.
...
This meant ciphers using DHE couldn't be used.
Closes #1925 . Closes #1476 . Thanks to Jonathan Sönnerup, Valerii
Demeshko, and sectokia.
5 years ago
Nikolay Raspopov
71845d28ac
Fixed some VS2017 compilation error and warnings ( #1916 )
...
* Fixed some VS2017 compilation errors and warnings.
Signed-off-by: raspopov <raspopov@cherubicsoft.com>
5 years ago
Roger A. Light
828e7ae130
More conversion fixes.
5 years ago
Roger A. Light
df1802d8f1
Fix client state conversion warnings.
5 years ago
Roger A. Light
232a759320
Log client port on new connections.
...
Closes #1911 . Thanks to twegener-embertec.
5 years ago
Roger A. Light
3731535298
Add SPDX license identifiers.
5 years ago
Roger A. Light
04c110183c
Bridge support for MQTT v5 maximum-qos.
5 years ago
Roger A. Light
e030ca45cd
Fix connack error printing.
5 years ago
Roger A. Light
0c22f475ff
Fix bridges incorrectly setting Wills to manage remote notifications.
...
This is for when `notifications_local_only` was set true.
Closes #1902 . Thanks to marcinkowskip.
5 years ago
Roger A. Light
b34dcd2a67
Final remove support for legacy libwebsockets
...
This means libwebsockets < 2.4.0.
5 years ago
Roger A. Light
29c771cdd4
Add lib and client support for OS CA certs
...
- Add `MOSQ_OPT_TLS_USE_OS_CERTS` option, to instruct the client to load and trust OS provided CA certificates for use with TLS connections.
- All clients now load OS provided CA certificates if used with `-L
mqtts://...`, or if port is set to 8883 and no other CA certificates are
used. Closes #1824 .
- Add the `--tls-use-os-certs` option to all clients.
Closes #1824 . Thanks to Jens Reimann.
5 years ago
Roger A. Light
a3258f7d82
Packet cleanup without locks
...
Prevents use of invalid mutexes during mosquitto_destroy.
Closes #1914 . Thanks to Nikolay Raspopov.
5 years ago
Roger A. Light
584cf51ba7
Update to EPL-2.0
5 years ago
Roger A. Light
dac841a342
Better outgoing QoS 0 limiting.
5 years ago
Roger A. Light
2755fe3c4c
Apply limits to QoS 0 outgoing messages.
5 years ago
Roger A. Light
4da1f15b41
Fix Coverity Scan errors.
...
1436854
1436844
5 years ago
Roger A. Light
d26534e22b
Fix Coverity scan issues.
...
1302840
1353078
1431131
1431134
1431135
1436826
1436827
1436828
1436830
1436831
1436834
1436835
1436838
1436839
1436840
1436844
1436846
1436853
1436854
1436859
1436860
1436861
1436863
1436867
5 years ago
Roger A. Light
4e3b8ed2b5
Fix cherry picked commit.
5 years ago
Roger A. Light
10ecae6275
Fix bridge sock not being removed from sock hash on error
...
Prior to this, duplicate entries could be added to the sock hash, which caused an infinite loop. Only affects bridges with bad settings on startup, and only when compiled using WITH_ADNS=yes.
Closes #1897 . Thanks to Rodolfo Ochoa.
5 years ago
Franz Auernigg
18a6d79ab8
Fix cmake if condition in lib/CMakeLists.txt
...
Signed-off-by: Franz Auernigg <f.auernigg@commend.com>
5 years ago
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.
5 years ago
Roger A. Light
108b23ce6d
Reduce use of mosquitto_time() and time().
5 years ago
Roger A. Light
c2651cf005
Remove deprecation warning on libmosquittopp.
5 years ago
Roger A. Light
23d3c2641e
Optimise epoll event to context/listener mapping. Allows quicker lookups.
5 years ago
Roger A. Light
4d6384c758
Build and conversion fixes for build variants.
5 years ago
Roger A. Light
8e7e4a9d9a
Clients: Give warning if keepalive too low.
5 years ago
Arenoros
9c3a214a01
In android ndk doesn't exist librt and libpthread
...
Signed-off-by: Arenoros <arenoros@gmail.com>
5 years ago
raspopov
add355a78b
QNX has no pselect() either.
...
Signed-off-by: raspopov <raspopov@cherubicsoft.com>
5 years ago
Roger A. Light
2e72d795a9
Fix timeout conversion error.
5 years ago
raspopov
0097a85ce0
Something bad happened with a "timeout" parameter of mosquitto_loop() function in 4f61f6c161
. Reverted.
...
Signed-off-by: raspopov <raspopov@cherubicsoft.com>
5 years ago
Roger A. Light
abbeb4494f
Change `tls_version` option behaviour.
...
The `tls_version` option now defines the *minimum* TLS protocol version to
be used, rather than the exact version.
Closes #1258 . Thanks to Daniele Sluijters.
5 years ago
Roger A. Light
88b5daee66
Try very hard not to produce "Socket error" message.
...
This happens when an unhandled error occurs on a socket/read write. The
message is confusing to people.
5 years ago
Roger A. Light
e82ee879d5
Merge branch 'fixes' into develop
5 years ago
raspopov
53d63fe922
Fixed compilation error on Win32 UNICODE platform.
...
Signed-off-by: raspopov <raspopov@cherubicsoft.com>
5 years ago
raspopov
6af56610ac
Fixed "config.h" file placement to help using it as a precompiled header.
...
Signed-off-by: raspopov <raspopov@cherubicsoft.com>
5 years ago
Roger A. Light
7ae7d73fd4
The loop in packet_write() means that `max_packets` isn't needed.
5 years ago
CJ Lee
988b5cf0b2
Add missing header for QNX
...
<arpa/inet.h> header is required to compile this source. Without it, WARNING is generated.
mosquitto/lib/socks_mosq.c: In function 'socks5__send':
mosquitto/lib/socks_mosq.c:156:22: warning: implicit declaration of function 'inet_pton' [-Wimplicit-function-declaration]
ipv4_pton_result = inet_pton(AF_INET, mosq->host, &addr_ipv4);
Signed-off-by: ChangJoon Lee <changjoon.lee@lge.com>
5 years ago
Roger A. Light
4f61f6c161
Fix conversion errors.
5 years ago
Roger A. Light
6104172bcf
Fix connect properties not being sent.
...
This was happening when the client automatically reconnected.
Closes #1846 . Thanks to DSOFreak.
5 years ago
Roger A. Light
9724710cd6
Add MOSQ_OPT_BIND_ADDRESS.
...
This allows setting of a bind address independently of the
`mosquitto_connect*()` call.
5 years ago
Roger A. Light
89733138bb
CMake build fixes.
5 years ago
Roger A. Light
a65f946e83
Move headers to own directory.
5 years ago
Roger A. Light
c90e49af1b
Merge remote-tracking branch 'origin/fixes' into develop
5 years ago
Roger A. Light
2774515456
Fix missing mach/mach_time.h header on OS X.
...
Closes #1831 . Thanks to P-Hagen.
5 years ago
Roger A. Light
acf4ff3738
Fix stdin being closed by mistake
...
This was closing the sockpair* sockets before they were initialised to INVALID_SOCKET.
Close #1823 . Thanks to ostkamp.
5 years ago
Roger A. Light
a53712a14d
Don't use logging until log mutex is initialised.
...
Closes #1819 . Thanks to santoshks68.
5 years ago
Roger A. Light
298d84941e
Fix send quota being incorrecly reset on reconnect.
...
Closes #1822 . Thanks to Sarek.
5 years ago
Roger A. Light
56ba1b99db
Add `mosquitto_ssl_get()`.
...
This allow clients to access their SSL structure and
perform additional verification.
5 years ago
Roger A. Light
5daa5ee162
Add support for $CONTROL/ topics in plugins.
5 years ago
Roger A. Light
f0862e26ec
Add `mosquitto_kick_client_by_clientid()` and `mosquitto_kick_client_by_username()`
...
These can be used by plugins to disconnect clients.
5 years ago
Roger A. Light
bb5456729d
Move keepalive check code to separate file.
...
This is in preparation for changing to a tree based implementation.
5 years ago
ignacy.ruksza
3806296c15
Ld symbol of the mosquitto_property_copy_all has global bind now.
...
Signed-off-by: ignacy.ruksza <ignacy.ruksza@ledatel.pl>
5 years ago
Roger A. Light
39ff7226eb
Bump version, add new www posts.
5 years ago
Titouan Christophe
79051fbdca
do not include pthread when compiling without threading support
...
This fixes the following error, when compiling for systems without
pthread support, and when passing WITH_THREADING=no to make:
thread_mosq.c:24:12: fatal error: pthread.h: No such file or directory
# include <pthread.h>
^~~~~~~~~~~
compilation terminated.
Signed-off-by: Titouan Christophe <titouan.christophe@railnova.eu>
5 years ago
Karl Palsson
2fdb5a0171
docs: move _string_option with rest of client options
...
It was grouped with the callbacks, where it didn't make a lot of sense.
Signed-off-by: Karl Palsson <karlp@tweak.net.au>
5 years ago
Karl Palsson
d254ea70df
docs: remove duplicate mosquitto_reconnect_delay_set
...
Was listed in both client options, and under the callbacks.
Signed-off-by: Karl Palsson <karlp@tweak.net.au>
5 years ago
Roger A. Light
c9218fd48c
Bump version.
5 years ago
Roger A. Light
b3c2ac20dc
Fix overly broad HAVE_PTHREAD_CANCEL compile guard.
...
Closes #1547 . Thanks to Markus Gothe.
5 years ago
Roger A. Light
4b100df5b1
Fix reconnect+will delay interval issue causing missing messages.
...
Fix clients not receiving messages after a previous client with the same client ID and positive will delay interval quit.
Closes #1752 . Thanks to Jiří Zuzaňák.
5 years ago
Roger Light
4ef48269f5
Fix mosquitto_loop_stop() not stopping on Windows
...
Closes #1748 . Closes #117 . Thanks to Sigmund Vik.
5 years ago
Roger A. Light
bd27935ff6
`mosquitto_loop_start()` now sets a thread name.
...
This applies on Linux, FreeBSD, NetBSD, and OpenBSD.
Closes #1777 . Thanks to ABuch19.
5 years ago
Roger A. Light
f180e923ef
Merge branch 'lazy_ssl' of git://github.com/abiliojr/mosquitto into abiliojr-lazy_ssl
5 years ago
Roger A. Light
9b5112f547
Fix unsigned compared against 0.
...
Coverity Scan 1431132.
5 years ago
Roger A. Light
1b060bb064
Guard against use-after-free.
...
Coverity Scan 1431131, 1431135, 1431141.
5 years ago
Roger A. Light
84e4ba2c1e
Send DISCONNECT with malformed-packet reason code on bad PUBLISHes.
5 years ago
Abilio Marques
d5aae3eca7
lazy init SSL
...
Signed-off-by: Abilio Marques <abiliojr@gmail.com>
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
d9003bb858
Don't use mutex until it is initialised.
...
Coverity Scan 1430456.
5 years ago
Roger A. Light
e3e8dc4ea4
Allow send__pub{ack,rec,rel,comp} to send properties.
5 years ago
Roger A. Light
c8964228e3
Improved documentation around connect callback return codes.
...
Close #1730 . Thanks to John Laird.
5 years ago
Jasper Lievisse Adriaanse
4ef7ea6244
extend ifdef guard to fix compilation on OpenBSD
...
otherwise in6_addr, AF_INET and AF_INET6 end up being undefined
Signed-off-by: Jasper Lievisse Adriaanse <jasper@humppa.nl>
5 years ago
Roger A. Light
a9c97efaa4
Document that keepalive must be >= 5 seconds.
5 years ago
Roger A. Light
cea0423e69
Update changelog and version.
5 years ago
Martin Kelly
8d54aaef89
add a refcount to library init/cleanup
...
Add a refcount around mosquitto_lib_init and mosquitto_lib_cleanup so
that multiple calls to init/cleanup don't trigger memory leaks or
double-frees.
Signed-off-by: Martin Kelly <mkelly@xevo.com>
5 years ago
Martin Kelly
d103174b5c
correct mosquitto.h return code documentation
...
We currently erroneously claim that mosquitto_lib_init cannot fail,
while it can fail on Windows, if WSAStartup fails in net__init. Correct
this.
Signed-off-by: Martin Kelly <mkelly@xevo.com>
5 years ago
Martin Kelly
61a50c60d2
add a refcount to library init/cleanup
...
Add a refcount around mosquitto_lib_init and mosquitto_lib_cleanup so
that multiple calls to init/cleanup don't trigger memory leaks or
double-frees.
Signed-off-by: Martin Kelly <mkelly@xevo.com>
5 years ago
Roger A. Light
762ad432e8
Fix support for openssl 3.0
5 years ago
Roger A. Light
21f203b91a
Don't treact unexpected PUBACK/COMP as fatal.
6 years ago
Roger A. Light
f0deb9a5a1
CMake: Make building clients, broker and C++ library optional.
...
Issue #1641 .
6 years ago
Karl Palsson
efb21fb09c
doc: lib clarify _topic_check functions
...
Removed some whitespace and copy paste errors.
Signed-off-by: Karl Palsson <karlp@etactica.com>
6 years ago
Karl Palsson
8c16d7cd50
doc: add mqtt5 property options.
...
This just gets them all listed, explaining the available apis where they
could be used is left as further work.
Signed-off-by: Karl Palsson <karlp@etactica.com>
6 years ago