Commit Graph

684 Commits (360d9be7d8679032e5e2c0094b91263b1f3d5e1f)

Author SHA1 Message Date
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