Commit Graph

371 Commits

Author SHA1 Message Date
Roger A. Light
05b40b90db Add reason strings. 2018-10-04 12:43:43 +01:00
Roger A. Light
75b6851c76 Property identifer is a varint. 2018-10-04 10:44:11 +01:00
Roger A. Light
572be268e5 Fix signedness of varint reading. 2018-10-04 09:53:30 +01:00
Roger A. Light
366744bad7 Fix subscribe_multiple datatypes. 2018-10-04 09:46:51 +01:00
Roger A. Light
c9d9ad8e72 UTF-8 validation tests and fixes. 2018-10-04 09:03:54 +01:00
Roger A. Light
72131c84ce Binary data read functions and tests. 2018-10-03 21:35:33 +01:00
Roger A. Light
debf7493ad UTF-8 validation tests and fixes. 2018-10-03 18:42:15 +01:00
Roger A. Light
400db91166 Handle UTF-8 validation in packet__read_string. 2018-10-03 15:04:24 +01:00
Roger A. Light
b6b8da1fa6 Variable Byte Integer reading tests. 2018-10-03 11:57:20 +01:00
Roger A. Light
99a1c0e43a Move simple datatype reading functions to own file.
This facilitates easier testing.
2018-10-03 10:23:58 +01:00
Roger A. Light
1488992ea8 Naive reading of MQTT 5 properties. No processing done. 2018-10-02 16:43:40 +01:00
Roger A. Light
17b3709790 Fix varint reading. 2018-10-02 14:07:23 +01:00
Roger Light
6c9e8d51c2 Merge branch 'develop' into mqtt5 2018-10-02 11:28:03 +01:00
Roger A. Light
1867f30785 Merge branch 'master'
Conflicts:
	ChangeLog.txt
2018-10-02 08:31:54 +01:00
Roger A. Light
cf9a72d8db Add mosquitto_subscribe_multiple. 2018-09-27 22:05:15 +01:00
Roger A. Light
c78003cacf Bump version number, add CVE details. 2018-09-25 16:26:28 +01:00
Roger A. Light
f9c9f3d396 Fix incorrect hash usage with duplicate clients.
Fix duplicate clients being added to by_id hash before the old client
was removed.

Closes #645.
2018-09-25 14:25:54 +01:00
Roger A. Light
59bd07627d Various build improvements to help packaging. 2018-09-25 14:25:54 +01:00
Roger A. Light
dd0e0d91b0 Fix build on Windows. 2018-09-20 10:38:35 +01:00
Roger A. Light
3f87232065 Bump version number. 2018-09-19 18:09:43 +01:00
Roger A. Light
4ee6941188 Primitive v5 CONNACK support - no properties. 2018-09-19 11:13:50 +01:00
Roger A. Light
561513fdd4 Very simple v5 CONNECT support - no properties. 2018-09-19 11:00:15 +01:00
Roger A. Light
ccc97d8c96 Function for reading variable length ints from packet. 2018-09-19 10:59:57 +01:00
Roger A. Light
33a523eea9 Add identifiers for v5.
Clients know about v5, just need library support...
2018-09-19 10:59:41 +01:00
Roger A. Light
a127c93a5a Property identifiers. 2018-09-19 10:59:31 +01:00
Roger A. Light
99c6ec7f6e Protocol name will never be changed from MQTT. 2018-09-19 10:58:36 +01:00
Roger A. Light
5dc88fe8f3 Add v5 return codes 2018-09-19 10:58:23 +01:00
Roger A. Light
0bacff11df Rename mqtt3_protocol.h -> mqtt_protocol.h. 2018-09-19 10:58:12 +01:00
Roger A. Light
48f096bc1c Read/write new 32 bit ints from packets. 2018-09-19 10:57:16 +01:00
Michael Heimpold
a459e93498 Install pkg-config files also for non-CMake builds
At the moment, pkg-config hint files are only installed when CMake is
used as build system. However, it is very convenient for programs using
libmosquitto to have these files always in place, so let's add it
here, too.

Signed-off-by: Michael Heimpold <michael.heimpold@i2se.com>
2018-09-18 15:25:22 +01:00
Fredrik Fornwall
915e91d9be Fix build with OPENSSL_NO_ENGINE
Signed-off-by: Fredrik Fornwall <fredrik@fornwall.net>
2018-09-18 15:02:32 +01:00
Roger A. Light
ae45bd3d40 Update changelog and fixes to #927 PR. 2018-09-18 14:57:13 +01:00
yzhivik
96e62d596f fix SOCKS5 username and password set
fix SOCKS5 request wrt IP4/IP6/FQDN

Signed-off-by: yzhivik <yuriy.zhyvytsya@gmail.com>
2018-09-18 14:34:31 +01:00
Roger A. Light
a9da3c263d Bump version number.
Signed-off-by: Roger A. Light <roger@atchoo.org>
2018-08-16 17:01:08 +01:00
Roger A. Light
4ccc68d2df Revert incorrect change. 2018-08-16 11:33:06 +01:00
Roger A. Light
9d30625622 Build fix for Windows. 2018-08-16 11:16:16 +01:00
Roger A. Light
88765a5e80 Consistent use of config.h across the project. 2018-08-16 11:14:51 +01:00
Roger A. Light
a199cac69e Don't confuse expiring and duplicate clients. 2018-08-15 17:27:59 +01:00
Roger A. Light
0ec090f31a Fixes for building on FreeBSD. 2018-08-15 17:02:56 +01:00
Roger A. Light
10b19a42ed Fixes for building on NetBSD.
Closes #258.

Thanks to Daniel Ölschlegel.
2018-08-09 15:21:40 +01:00
Roger A. Light
c757cb0912 Remove incorrect comment. 2018-08-09 15:01:39 +01:00
Roger A. Light
e185d18917 Better fix for #851.
Ensure all sockets that are closed are set to INVALID_SOCKET.

Signed-off-by: Roger A. Light <roger@atchoo.org>
2018-08-08 15:23:03 +01:00
Roger A. Light
7f0b4d6271 Fix connection problems when using mosquitto_connect_async().
The connection wouldn't always complete if mosquitto_loop_start() was
called before mosquitto_connect_async(). Closes #848.

Thanks to Ian Gough.

Bug: https://github.com/eclipse/mosquitto/issues/848

Signed-off-by: Roger A. Light <roger@atchoo.org>
2018-08-08 09:21:19 +01:00
Roger A. Light
575dce91f0 Fix segfault on startup if bridge CA certificates could not be read.
Closes #851.

Thanks to chelliwell.

Signed-off-by: Roger A. Light <roger@atchoo.org>
2018-08-02 15:06:09 +01:00
Roger A. Light
4bacbecb1b Fix some places where return codes were incorrect.
Closes #850.

Signed-off-by: Roger A. Light <roger@atchoo.org>
2018-08-02 14:41:04 +01:00
Roger A. Light
bcf76b9cb6 Remove use of AI_ADDRCONFIG.
Closes #869, #901.

Thanks to Alex Richman.

Signed-off-by: Roger A. Light <roger@atchoo.org>
2018-08-02 01:11:31 +01:00
Roger A. Light
286400abcf Use AF_UNSPEC etc. instead of PF_UNSPEC to comply with POSIX.
Closes #863.

Thanks to denigmus and Patrick TJ McPhee.

Signed-off-by: Roger A. Light <roger@atchoo.org>
2018-08-02 00:27:52 +01:00
Roger A. Light
5e60136449 Merge branch 'develop' 2018-05-03 07:55:45 +01:00
Roger A. Light
e9d03c8ffd Merge branch 'fixes' 2018-05-02 22:33:27 +01:00
Roger A. Light
84520296fa Bump version number. 2018-05-02 22:33:05 +01:00
Roger A. Light
e90a32835b Merge branch 'fixes' into develop 2018-05-02 22:24:49 +01:00
Roger A. Light
8410a19335 Add fallback case for libressl. 2018-05-02 21:51:08 +01:00
Roger A. Light
6c7ecd7e97 Fix compiling without TLS. 2018-05-02 21:04:42 +01:00
Roger A. Light
79a7b36d20 Don't derefence a null message. 2018-04-19 20:53:38 +01:00
Roger A. Light
b2bb48ac2b Reference counting for openssl 1.0.2. 2018-04-16 22:39:37 +01:00
Roger A. Light
57ee8b92bc Mac build fixes. 2018-04-16 11:48:42 +01:00
Roger A. Light
574fb36ede More utf-8 validation. 2018-04-13 17:42:16 +01:00
Thomas Beckmann (M-Way)
ee610ab19a _mosquitto_net_read must call WSASetLastError when changing errno so that the error code can be picked up by _mosquitto_packet_read
Signed-off-by: Thomas Beckmann (M-Way) <t.beckmann@mwaysolutions.com>
2018-04-13 12:09:26 +01:00
Roger A. Light
e961bc9301 Comment to aid init_ssl_ctx understanding. 2018-04-12 21:37:44 +01:00
Roger A. Light
6a2172f472 Windows fixes. 2018-04-12 11:09:02 +01:00
Roger A. Light
2d9fab123e Use SSL_CTX_up_ref() with MOSQ_OPT_SSL_CTX*.
This limits the use of those options to openssl 1.1.0 and greater.
2018-04-12 01:15:30 +01:00
Roger A. Light
b649799c78 Protect mosq->ssl_ctx against double initialisation. 2018-04-12 01:11:46 +01:00
Roger A. Light
9852f94ee0 Merge branch 'sub_client_timeout_upstream' of git://github.com/I2SE/mosquitto into I2SE-sub_client_timeout_upstream 2018-04-12 00:20:02 +01:00
Roger A. Light
943b311344 Don't use deprecated openssl functions. 2018-04-11 22:10:48 +01:00
Roger A. Light
c95f24c342 Missing includes. 2018-04-11 21:30:02 +01:00
Roger A. Light
24d68b5af8 Remove support for openssl 1.0.0 and 1.0.1.
These are no longer supported by openssl.
2018-04-11 17:12:25 +01:00
Roger A. Light
8470ca89b9 Add MOSQ_OPT_SSL_CTX and MOSQ_OPT_SSL_CTX_WITH_DEFAULTS options.
Closes #567 and #715.
2018-04-11 16:34:24 +01:00
Roger A. Light
615d6a2c41 Remove unused file. 2018-04-11 15:27:29 +01:00
Roger A. Light
f4d238be18 Bump copyright years. 2018-04-11 15:24:29 +01:00
Roger A. Light
28dd14fcea Separate out functions from mosquitto.c to aid discoverability. 2018-04-11 15:04:17 +01:00
Roger A. Light
ff79432364 C++ on_connect_with_flags() support. 2018-04-11 14:11:02 +01:00
Roger A. Light
86ced4d98f Add mosquitto_connect_with_flags_callback_set().
This allows a second connect callback to be used that exposes the
MQTT connect flags parameter.

Closes #738, #128.
2018-04-11 14:06:16 +01:00
Thomas Beckmann (M-Way)
8e3c2d9af7 _mosquitto_net_read must call WSASetLastError when changing errno so that the error code can be picked up by _mosquitto_packet_read
Signed-off-by: Thomas Beckmann (M-Way) <t.beckmann@mwaysolutions.com>
2018-04-09 22:46:53 +01:00
Roger A. Light
40e6a75709 Use c99 as compiling standard.
Closes: #765.
2018-04-06 00:33:22 +01:00
Viktor Gotwig
e90afb8526 Adding tls host name extension (SNI)
Signed-off-by: Viktor Gotwig <viktor.gotwig@q-loud.de>
2018-03-13 23:25:28 +00:00
Roger A. Light
5b2bf3d1c1 Bump version number, update copyrights. 2018-02-28 11:15:20 +00:00
Roger A. Light
e6cbff0e94 Fix unauthorised clients being able to cause OOM on connect. 2018-02-24 22:09:19 +00:00
Roger A. Light
927c5d311b Fix missing headers on mac. 2018-02-24 11:15:09 +00:00
Roger A. Light
81cb7ab547 Merge branch 'fixes' into develop 2018-02-13 14:16:47 +00:00
Roger A. Light
9750d1732a Fix builds on travis. 2018-02-13 13:12:03 +00:00
Roger A. Light
c001e778c1 [693] Fix handling of null bytes in received strings.
Thanks to Umberto Boscolo.

Bug: https://github.com/eclipse/mosquitto/issues/693
2018-02-13 12:19:34 +00:00
Roger A. Light
1b702538f9 Add check and matches functions which take length arguments.
mosquitto_pub_topic_check2()
mosquitto_sub_topic_check2()
mosquitto_topic_matches_sub2()
2018-02-11 21:31:34 +00:00
Roger A. Light
3066f89a24 packet__read_string() returns the string length. 2018-02-11 20:47:17 +00:00
JonoJensen
7d8d04bc39 Fix issue when SSL_connect() returns SSL_ERROR_WANT_READ. A call to SSL_write here will later transmit a new client hello and make ssl connection fail.
Signed-off-by: JonoJensen <jono.jensen@yahoo.se>
2018-01-14 23:18:28 +00:00
Michael Heimpold
26a81747cd mosquitto_loop_forever: use nanosleep instead of sleep
The advantage of nanosleep(2) is, that -according to POSIX spec- it does not
interact with signals as sleep(3) does. So it is not affected when used by a
program which is e.g. using alarm(3).

Signed-off-by: Michael Heimpold <michael.heimpold@i2se.com>
2018-01-12 14:59:53 +01:00
Roger A. Light
b02c1a41bb [670] Fix topic matching of foo/bar against foo/+/#
Thanks to mrdis.

Bug: https://github.com/eclipse/mosquitto/issues/670
2018-01-09 14:36:19 +00:00
Roger A. Light
9c6a5f3cf0 [656] Fix building on Windows.
Thanks to Arun Kirthi Cherian.

Bug: https://github.com/eclipse/mosquitto/issues/656
2018-01-06 22:42:40 +00:00
Pierre Fersing
254f30cdb1 Fix mosquitto_want_write for TLS sock connecting
Copied logic from mosquitto_loop which was already patched by
39ffd6fa.

Bugs: #648
2018-01-05 15:39:11 +01:00
Roger A. Light
b193918ca0 [649] Don't close socket again if nonblock fails.
Thanks to Edwin van den Oetelaar.

Bug: https://github.com/eclipse/mosquitto/issues/649
2017-12-21 21:56:01 +00:00
Roger A. Light
ae666b07ce [654] Initialise "result" in mosquitto_topic_matches_sub.
Thanks to markhermelinggt.

Bug: https://github.com/eclipse/mosquitto/issues/654
2017-12-21 08:36:58 +00:00
Michael Heimpold
48dec391f7 Quote ${DESTDIR} usage in various Makefiles
This prevents failures during make install when whitespace
is part of DESTDIR pathname.

Signed-off-by: Michael Heimpold <michael.heimpold@i2se.com>
2017-12-01 22:28:26 +00:00
Roger A. Light
b11855821e Update UTF-8 validation checks. 2017-07-30 21:57:43 +01:00
toast-uz
df9ad5f0bd Add Epoll. (#495)
Signed-off-by: Tatsuzo Osawa <tatsuzo.osawa@gmail.com>
2017-07-27 18:43:09 +01:00
Roger A. Light
124ee1af91 [490] Further fix for auth related crashes.
Bug: https://github.com/eclipse/mosquitto/issues/490
2017-07-27 14:56:10 +01:00
Roger A. Light
22063013be [490] Fix auth plugin+WS client+MOSQ_ERR_AUTH related crash.
Thanks to "hasunperera".

Bug: https://github.com/eclipse/mosquitto/issues/490
2017-07-27 00:12:32 +01:00
Roger A. Light
5a267368d7 Merge branch 'master' into develop 2017-07-19 00:15:42 +01:00
Aska.Wu
d40d7772d3 Fix the TLS handshake problem if PSK has leading zero
Incorrect psk will be provided by psk_server_callback() because leading zero
is skipped by BN_bn2bin() and BN_num_bytes().

Signed-off-by: Aska.Wu <askawu@gmail.com>
2017-07-18 21:52:29 +01:00
Roger A. Light
d8cc5bc4fe Merge branch 'fixes' of github.com:eclipse/mosquitto into fixes 2017-07-17 22:02:30 +01:00
Zard1096
5b73897f98 Fix iOS crash issues
Relate to issues #327 and #63.
mosq->sock may be closed before FD_SET(mosq->sock, &writefds) and
FD_ISSET(mosq->sock, &writefds) but after judgement in line 947
if(mosq->sock != INVALID_SOCKET). FD_SET(-1, ...) and FD_ISSET(-1, ...)
would certainly crash.

Signed-off-by: Zard1096 <mr.zardqi@gmail.com>
2017-07-16 23:22:13 +01:00
Roger A. Light
e74203de2c Merge branch 'master' into develop 2017-07-16 22:52:01 +01:00