Roger A. Light
f90ba23738
Retain handling support.
2018-12-06 22:25:45 +00:00
Roger A. Light
4fe75b1af0
Make user functions for reading properties easier to use.
2018-12-06 16:59:53 +00:00
Roger A. Light
73c46174f8
Don't call on_disconnect() twice if keepalive tests fail.
...
Closes #1067 . Thanks to xingchen02.
Bug: https://github.com/eclipse/mosquitto/issues/1067
2018-12-06 10:45:57 +00:00
Roger A. Light
6ef2c79e9a
Add max_keepalive, for limiting keepalives of MQTT v5 clients.
2018-12-06 08:49:02 +00:00
Roger A. Light
29846d282d
Client library now reads its assigned client id.
2018-12-05 21:58:31 +00:00
Roger A. Light
fda66e8311
Add broker test for assigned client id.
2018-12-05 20:26:43 +00:00
Tamaki Nishino
d07864939a
Check SSL_DATA_PENDING in mosquitto_loop_read()
...
Signed-off-by: Tamaki Nishino <otamachan@gmail.com>
2018-12-05 11:39:50 +00:00
Roger A. Light
5d02f58151
Fix reconnect delay backoff behaviour.
...
Closes #1027 . Thanks to Harm Verhagen.
Bug: https://github.com/eclipse/mosquitto/issues/1027
2018-12-04 17:19:31 +00:00
Roger A. Light
e169f1c7c2
When using ADNS, don't ask for all network protocols when connecting.
...
This can lead to confusing "Protocol not supported" errors if the
network is down, because UDP sockets are provided.
Thanks to jsaak.
Closes #1062 .
Bug: https://github.com/eclipse/mosquitto/issues/1062
2018-12-04 12:39:00 +00:00
Roger A. Light
867fe80e0e
Properties are now freed after the callback.
2018-11-29 16:51:48 +00:00
Roger A. Light
1b854e250e
Function for copying property lists.
2018-11-28 17:09:17 +00:00
Roger A. Light
d5108956bf
Process session-expiry-interval on CONNECT and DISCONNECT.
...
Add test to check for invalid values.
2018-11-27 12:23:21 +00:00
Roger A. Light
54db895cb3
Rename clean_session to clean_start for v5.
2018-11-27 10:02:10 +00:00
Roger A. Light
0123ff1efe
Rename *_with_properties() -> *_v5().
2018-11-22 18:55:04 +00:00
Roger Light
f809ecbcbe
Add DISCONNECT handling to library.
2018-11-22 18:13:18 +00:00
Roger Light
236e967161
Pass properties when disconnecting clients.
2018-11-22 18:09:31 +00:00
Roger Light
f7dc097f82
Move client disconnect code to own function.
2018-11-22 17:31:17 +00:00
Roger Light
3cb8a52ef3
Add reason code to mosquitto_disconnect_with_properties()
2018-11-22 16:56:17 +00:00
Roger Light
14c2f528cf
Add reason code to send__disconnect().
2018-11-22 16:52:39 +00:00
Roger A. Light
d64ce2e242
Make mosquitto_reason_string public.
2018-11-22 10:17:16 +00:00
Roger A. Light
94631ae68b
Don't free properties any more, we use them.
2018-11-20 17:54:44 +00:00
Roger A. Light
59b3fdfdf8
Add client property value reading functions.
2018-11-20 17:54:26 +00:00
Roger A. Light
158189393e
Add v5 client callbacks.
2018-11-20 14:36:18 +00:00
Roger A. Light
098a1c8ecf
Fix subscribe_multiple datatypes.
2018-11-13 14:05:03 +00:00
Roger A. Light
beb96c6b8b
Merge branch 'master' into develop
2018-11-11 21:41:44 +00:00
Roger A. Light
e81db23ce4
Bump version number.
2018-11-08 12:12:27 +00:00
Roger A. Light
71b8c4d892
Fix TLS connections when using an external event loop.
...
Affects the use of mosquitto_loop_read() and mosquitto_write().
Closes #990 .
2018-11-07 21:08:10 +00:00
Iblis Lin
0368a8c01d
add socket headers for FreeBSD
...
Signed-off-by: Iblis Lin <iblis@hs.ntnu.edu.tw>
2018-11-07 10:28:26 +00:00
Bartosz Taczała
e86b27a2da
Adding support for QNX7.0.0
...
Change-Id: Id01e2880aa5cadc0e93a46b95fe675e1938051fa
Signed-off-by: Bartosz Taczała <bartosz.taczala@mobica.com>
2018-11-06 23:11:09 +00:00
Roger A. Light
f77c1ca91b
private struct mqtt5__property -> public mosquitto_property.
2018-11-01 23:50:54 +00:00
Roger A. Light
f9e0fa246a
Validate properties coming into client library.
2018-11-01 18:53:06 +00:00
Roger A. Light
8aa936936e
Library and client support for topic-alias.
2018-11-01 15:47:21 +00:00
Roger A. Light
de3a9af1f7
Client+library support for unsubscribe properties.
2018-11-01 14:12:52 +00:00
Roger A. Light
741a8a9cc3
Client disconnect property support, plus disconnect packet fix.
2018-11-01 11:57:47 +00:00
Roger A. Light
383608613a
Client+lib will property support.
2018-11-01 11:37:57 +00:00
Roger A. Light
12cba75c73
Client support for adding properties.
2018-10-31 12:38:39 +00:00
Roger A. Light
b462115fa6
Add reason code to PUBACK/REC/REL/COMP.
2018-10-31 08:24:28 +00:00
Roger A. Light
ba874c6014
Merge branch 'mqtt5' of gitlab.com:ralight/mosquitto-private into mqtt5
2018-10-30 14:58:57 +00:00
Roger A. Light
446ad6290a
Add mosquitto_string_to_property_info.
2018-10-30 11:54:36 +00:00
Roger A. Light
c19b3598c0
Add mosquitto_string_to_command.
2018-10-30 11:40:06 +00:00
Roger A. Light
63a479564b
Add mosquitto_property_command_check()
2018-10-30 11:32:37 +00:00
Roger A. Light
636e813d1c
Load of constant renames ahead of making mqtt_protocol.h public.
2018-10-30 11:11:31 +00:00
Roger A. Light
9eebcf6704
Rename property__free_all->mosquitto_property_free_all
...
Make public function.
2018-10-30 10:16:42 +00:00
Roger A. Light
be5602be28
Add sections to mosquitto.h.
2018-10-30 10:03:08 +00:00
Roger A. Light
5aa983c210
Fix copy/paste error.
2018-10-25 20:41:34 +01:00
Roger A. Light
b6c667689d
Write properties for all commands apart from AUTH.
2018-10-25 13:21:42 +01:00
Roger A. Light
8077376a79
Add read support for AUTH packets.
2018-10-25 12:54:17 +01:00
Roger A. Light
ca40255720
mid == 0 is a protocol error.
2018-10-25 12:12:57 +01:00
Roger A. Light
eefa7f7604
All existing commands read properties.
2018-10-25 12:11:00 +01:00
Roger A. Light
723d9c2782
Check whether properties are on the correct commands.
2018-10-25 11:23:04 +01:00
Roger A. Light
267178bd99
User properties are copied from PUBLISH to PUBLISH.
2018-10-25 10:24:19 +01:00
Roger A. Light
0baf358cf8
Add properties member to will struct.
2018-10-24 14:07:09 +01:00
majekw
7f1419e4de
Fix mosquitto_pub -l if compiled using cmake.
...
Since dde005ef92
mosquito_pub is throwing error
that 'threading support has not been compiled' when compiled using cmake.
It looks like WITH_THREADING flag is not set at top level Makefile and used
only in lib/ directory, so library is correctly compiled with threading.
But for client this flag is undefined, so it gives error on '-l' option.
This commit moves part related to WITH_THREADING flag out of lib/CMakeLists.txt
to top levele CMakeLists.txt, so it could be accessible to all subdirectories.
Signed-off-by: Marek Wodzinski <majek@w7i.pl>
2018-10-23 18:56:00 +01:00
Roger A. Light
0a9ee5b4cf
Fix memory leak when reconnecting with TLS errors.
...
Fix memory leak that occurred if mosquitto_reconnect() was used when TLS
errors were present.
Closes #592 . Thanks to smartdabao and aaronovz1.
2018-10-23 10:46:55 +01:00
Roger A. Light
35dea07dcd
Merge branch 'master'
2018-10-23 10:39:20 +01:00
Roger A. Light
40ed672ecf
Fix topic matching tests and function.
2018-10-16 22:49:13 +01:00
Roger A. Light
77099bb58c
Add property write tests.
2018-10-16 21:32:13 +01:00
Roger A. Light
4daaaaf4a7
Add property writing support, untested.
2018-10-16 14:35:37 +01:00
Roger A. Light
262ac3fb5b
Fix varint length reporting.
2018-10-10 17:53:19 +01:00
Roger A. Light
6609bbac10
Move topic matching tests to unit tests. Needs improving.
2018-10-10 17:52:41 +01:00
Roger A. Light
c0ff424082
Add property__get_length_all() and property__get_length().
...
For getting the number of bytes needed for writing a property list.
2018-10-10 14:50:30 +01:00
Roger A. Light
8210c1fa7a
All outgoing packets now write property length for MQTT 5.
...
At the moment this only writes a 0 property length, i.e. no properties.
It does mean that output packets are more correct than before.
2018-10-10 12:42:27 +01:00
Roger A. Light
e5eb03b2e6
Allow building without shared library.
2018-10-07 00:56:42 +01:00
Roger A. Light
abb3fee1f8
Coverage reporting for whole broker.
2018-10-06 21:56:48 +01:00
Roger A. Light
8e793f68e1
Simplify prop validation.
2018-10-04 22:58:46 +01:00
Roger A. Light
bc1caedc32
Some property string read tests.
2018-10-04 22:49:34 +01:00
Roger A. Light
f59526a014
Property read in16 tests.
2018-10-04 21:16:46 +01:00
Roger A. Light
e14b613a02
Property read int32 tests.
2018-10-04 19:04:21 +01:00
Roger A. Light
f4b2838574
Property reading, and tests for byte properties.
2018-10-04 17:18:57 +01:00
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
Roger A. Light
1fa4d74278
Bump version number.
2017-07-10 23:44:16 +01:00
Dr. Lars Voelker
74adb43cc1
Adding OCSP Stapling support to mosquitto
...
Adding OCSP Stapling support to mosquitto, so that the TLS client side
requests the certificate status and checks it.
This code uses the OpenSSL-based OCSP implementation and is somewhat
based on the libcurl code for OCSP stapling.
Signed-off-by: Dr. Lars Voelker <lars.voelker@bmw.de>
2017-07-07 13:05:17 +02:00
Roger A. Light
6b351ce0f1
Bump version number.
2017-06-27 22:14:08 +01:00
Roger A. Light
2d90a1f45b
Fix umask value.
2017-06-27 11:21:34 +01:00
Roger A. Light
94978ac89b
Restore old umask after creating file.
2017-06-27 10:53:06 +01:00
Roger A. Light
6e7d02ba16
Fix for CVE-2017-9868 for Windows.
2017-06-26 14:53:33 +01:00
Roger A. Light
326983d35e
[417] Fix lazy bridges not timing out for idle_timeout.
...
Thanks to spinachmedia.
Bug: https://github.com/eclipse/mosquitto/issues/417
2017-06-19 17:15:00 +01:00
Roger A. Light
c07ba2a3da
Experimental fix for poor websockets performance.
2017-06-18 12:52:59 +01:00
Jan Lukavsky
621f18d696
#419 Broker sometimes kills connection to client
...
Signed-off-by: Jan Lukavsky <je.ik@seznam.cz>
2017-06-11 22:00:45 +01:00
Roger A. Light
b61fefcf08
Merge branch 'master' into develop
2017-05-31 21:05:26 +01:00
Roger A. Light
2897f71aba
Bump version number.
2017-05-28 21:53:19 +01:00
Jelle van der Waa
ab266e7f5f
lib: fix OpenSSL 1.1 deprecation warning for ERR_remove_state
...
ERR_remove_state has been marked deprecated in OpenSSL 1.1.0 and do
nothing, as the OpenSSL libraries now normally do all thread
initialization and deinitialisation automatically.
Signed-off-by: Jelle van der Waa <jelle@vdwaa.nl>
2017-05-05 22:49:05 +01:00
Roger A. Light
91b308a11d
Merge branch 'master' into develop
2017-03-06 21:19:53 +00:00
Roger A. Light
ac981782db
Fix typo and use net__print_ssl_error() as available.
2017-03-06 10:58:56 +00:00
Jiří Pinkava
cd0985c3e2
Log more TLS error details
...
Signed-off-by: Jiří Pinkava <j-pi@seznam.cz>
2017-03-06 10:56:45 +00:00
Roger A. Light
bda9893713
Version bump.
2017-02-20 23:48:30 +00:00
Roger A. Light
433ee5c4d6
[344] Don't compile in async dns support by default for makefiles.
2017-02-20 23:48:30 +00:00
Roger A. Light
6f45ab9624
[344] Only do async dns on glibc.
2017-02-20 23:48:30 +00:00
Roger A. Light
5eae4b56d6
[344] More leak fixes.
2017-02-20 23:48:30 +00:00
Roger A. Light
e0e8cc9f3e
[344] Fix leaks and incorrect connect call.
2017-02-20 23:48:30 +00:00
Roger A. Light
e13af18ed9
Start of fix for [344].
2017-02-20 23:48:30 +00:00
Fredrik Fornwall
35cc1eb21e
Check for rt and pthread libraries before linking
...
This fixes building on Android which does not have separate librt
or libpthread libraries.
Signed-off-by: Fredrik Fornwall <fredrik@fornwall.net>
2017-02-20 23:48:30 +00:00
Roger A. Light
b5b5e6f27d
Don't use reserved identifiers in public headers.
2017-02-20 23:48:30 +00:00
Jens Breitbart
b9d4ebfba3
Fix compiler warnings (unused parameter, additional semicolon).
...
A modern version of the clang compiler complained about:
* unused parameters
* additional semicolon
. This commit fixes these warnings.
Signed-off-by: Jens Breitbart <jbreitbart@gmail.com>
2017-02-20 23:48:30 +00:00
Roger A. Light
8e4a80a928
[329] Fix potential negative timeout being passed to pselect.
...
Thanks to Dollars.
Bug: https://github.com/eclipse/mosquitto/issues/329
2017-02-20 23:48:30 +00:00
Teun Lassche
4dc96a2533
Fix #304 Socket leakage
...
Signed-off-by: Teun Lassche <contact@thlassche.nl>
2017-02-20 23:48:30 +00:00
Roger A. Light
98ea684906
[323] Allow outgoing IPv6 connections to use TLS.
...
Bug: https://github.com/eclipse/mosquitto/issues/323
2017-02-20 23:48:30 +00:00
Roger A. Light
9f32d5c0ac
Version bump.
2017-02-20 21:57:45 +00:00
Roger A. Light
e4e81a0fb1
[111] Add mosquitto_userdata function to libmosquitto.
...
This allows retrieving mosq->userdata.
Bug: https://github.com/eclipse/mosquitto/issues/111
2017-02-19 20:45:52 +00:00
Roger A. Light
f0485d1398
[344] Don't compile in async dns support by default for makefiles.
2017-02-08 22:30:00 +00:00
Roger A. Light
3d40ffe18b
[344] Only do async dns on glibc.
2017-02-08 15:40:44 +00:00
Roger A. Light
ee543a25f5
[344] More leak fixes.
2017-02-07 16:11:57 +00:00
Roger A. Light
f464970fcf
[344] Fix leaks and incorrect connect call.
2017-02-06 23:10:43 +00:00
Roger A. Light
ef7a230365
Start of fix for [344].
2017-02-06 22:41:34 +00:00
Fredrik Fornwall
532273250c
Check for rt and pthread libraries before linking
...
This fixes building on Android which does not have separate librt
or libpthread libraries.
Signed-off-by: Fredrik Fornwall <fredrik@fornwall.net>
2017-01-30 21:00:25 +00:00
Roger A. Light
ef417a6688
Don't use reserved identifiers in public headers.
2017-01-05 21:42:24 +00:00
Jens Breitbart
fbb60d67a7
Fix compiler warnings (unused parameter, additional semicolon).
...
A modern version of the clang compiler complained about:
* unused parameters
* additional semicolon
. This commit fixes these warnings.
Signed-off-by: Jens Breitbart <jbreitbart@gmail.com>
2016-12-10 20:02:19 +00:00
Roger A. Light
2c2ba2cf10
[329] Fix potential negative timeout being passed to pselect.
...
Thanks to Dollars.
Bug: https://github.com/eclipse/mosquitto/issues/329
2016-12-08 21:06:45 +00:00
Teun Lassche
dac29a5a5f
Fix #304 Socket leakage
...
Signed-off-by: Teun Lassche <contact@thlassche.nl>
2016-12-04 22:00:53 +00:00
Roger A. Light
6f7a0bff4b
[323] Allow outgoing IPv6 connections to use TLS.
...
Bug: https://github.com/eclipse/mosquitto/issues/323
2016-11-30 11:31:30 +00:00
Karl Palsson
c6aac741c2
broker: support byte based queueing
...
Limiting queued message depth purely based on message count is hard to
control for memory constrained devices. The size of messages can vary
wildly, from a few bytes, to a few kilobytes. Support a new
max_queued_bytes option, and drop packets when the first limit is
reached. Option defaults to 0 (disabled) by default.
Support also a max_inflight_bytes variable, with similar behaviour.
Fixes (partof) https://github.com/eclipse/mosquitto/issues/100
This pulls up some helper routines for calculating whether to allow
inflight or queuing, resolving some inconsistences in connection
resumption.
Signed-off-by: Karl Palsson <karlp@etactica.com>
2016-09-09 17:27:39 +00:00
Roger A. Light
87b6a746fd
Bump version number.
2016-08-16 22:52:22 +01:00
Roger A. Light
79cc06b180
[237] Fix memory leak when verifying a server certificate.
...
Only for certificates with a subjectAltName. Closes #237 .
Thanks to MrSaturday.
Bug: https://github.com/eclipse/mosquitto/issues/237
2016-08-08 21:49:32 +01:00
Roger A. Light
017db6706f
Rename mosquitto_broker.h -> mosquitto_broker_internal.h
2016-07-08 10:10:04 +01:00
Roger A. Light
8378fe44cf
Update copyrights.
2016-07-08 09:42:24 +01:00
jbwdevries
1c90a4487c
Fixes a bug where the C++ wrapper would always claim SOCKS was not supported. ( #198 )
...
The WITH_* flags are not handed over to the C++ wrapper, instead it relies on
the actual library to check status.
Signed-off-by: Johan de Vries (Ubuntu VM) <devries@wivion.nl>
2016-06-29 17:12:20 +01:00
Roger A. Light
1c3988a397
Merge branch 'master' into develop
2016-06-21 23:33:58 +01:00
Roger A. Light
a8a5daf06b
Check client topic inputs for valid UTF-8.
2016-06-20 22:56:01 +01:00
Roger A. Light
fa2d3143a4
Separate the C and C++ static libraries.
2016-06-15 21:11:46 +01:00
Roger A. Light
2286caaca2
Merge branch 'enhance-bare-makefile-static-library-build' of https://github.com/Lance0312/mosquitto into Lance0312-enhance-bare-makefile-static-library-build
2016-06-15 20:59:34 +01:00
Roger A. Light
d90cd585dd
Add WITH_STRIP build option.
2016-06-13 21:36:41 +01:00
Roger A. Light
2d0af7309f
Bump version number.
2016-06-02 21:32:21 +01:00
Roger A. Light
30686f2dc9
Fix mosquitto_topic_matches_sub().
2016-06-02 20:53:09 +01:00
Lance Chen
5ccd0dbb80
Add an build option to control building static libraries or not
...
The option WITH_STATIC_LIBRARIES is default to yes
Signed-off-by: Lance Chen <cyen0312@gmail.com>
2016-06-03 01:59:37 +08:00
Lance Chen
97847fa95b
Rename option BUILD_STATIC_LIBRARY to WITH_STATIC_LIBRARIES
...
to conform to the bare Makefiles
Signed-off-by: Lance Chen <cyen0312@gmail.com>
2016-06-03 01:59:10 +08:00
Lance Chen
4b4817c3f0
Build the CPP static library with bare Makefiles
...
In order to make the CPP static library include all
objects from the C static library, the list of objects
(MOSQ_OBJS) is isolated into objects.mk to be used for
building the C and CPP static libraries.
Signed-off-by: Lance Chen <cyen0312@gmail.com>
2016-06-02 18:02:26 +08:00
Lance Chen
a9b7237d09
Install/Uninstall the C static library
...
Symbol stripping is done explicitly with strip command,
since stripping with install command removes too many
symbols, making the result library unusable.
Signed-off-by: Lance Chen <cyen0312@gmail.com>
2016-06-02 18:02:22 +08:00
Roger A. Light
c035913b2a
[180] Fix #includes in lib/send_mosq.c
...
Ensures that LWS_LIBRARY_VERSION_NUMBER is always present in all source
files when it is defined.
Thanks to dennisip86.
Bug: https://github.com/eclipse/mosquitto/issues/180
2016-05-31 12:07:10 +01:00
Lance Chen
f18e8e12a8
Add build configuration for CPP static library
...
The CPP static library respects options
BUILD_STATIC_LIBRARY and WITH_PIC as well.
Signed-off-by: Lance Chen <cyen0312@gmail.com>
2016-05-31 17:03:52 +08:00
Lance Chen
aa360e4029
Add an option to control building static library with PIC or not
...
The option WITH_PIC is default to OFF.
By default, the static library is built from the
source code directly. If WITH_PIC is enabled, the
static library is built with the same set of
object libraries that the shared library uses.
To link Mosquitto static library into a shared
library, one must enable WITH_PIC to make the
piece of code locatable.
Signed-off-by: Lance Chen <cyen0312@gmail.com>
2016-05-31 17:03:52 +08:00
Lance Chen
7ee997e6cc
Add an option to control building static library or not
...
The BUILD_STATIC_LIBRARY option is default to ON.
Signed-off-by: Lance Chen <cyen0312@gmail.com>
2016-05-31 17:03:52 +08:00
Lance Chen
b87082c604
Fix fail linking of handle* functions in the shared library
...
The shared library fails to link to `handle*` functions
implementd in lib/handle_* because these source file
definitions seem to be removed accidentally in commit
3499c09
.
Signed-off-by: Lance Chen <cyen0312@gmail.com>
2016-05-31 14:53:48 +08:00
Roger A. Light
a187b3f5fa
[57] Handle PUB* with unknown message id gracefully.
...
Allows message flow to complete where e.g. the broker didn't persist a
partially complete flow.
Thanks to jsaak jsaak and Hiram van Paassen.
Bug: https://github.com/eclipse/mosquitto/issues/57
2016-05-19 15:16:19 +01:00
Roger A. Light
e8185ddaa7
[166] Don't cancel external threads.
...
libmosquitto shouldn't cancel threads it didn't create. This change
allows us to keep track of whether threads were created by the library
or by external code.
Thanks to Josip Ćavar.
Bug: https://github.com/eclipse/mosquitto/issues/166
2016-05-18 14:05:08 +01:00
Roger A. Light
c6ef86bd1f
Print openssl errors when debugging enabled.
2016-05-16 21:57:31 +01:00
Roger Light
dfeb2f9ba6
Merge pull request #141 from PierreF/large-queued-performance-2
...
Improve performance with lots of queued message
2016-05-15 22:31:35 +01:00
Dmitry Kaukov
606aa5b4fa
Workaround for Windows SSL ( #160 )
...
Closes #154 .
Signed-off-by: Dmitry Kaukov <dkaukov@opentable.com>
2016-05-14 21:45:02 +01:00
Ian Johnson
a0a0cc3076
Renaming STATIC_LIB -> LIBMOSQUITTO_STATIC
...
Signed-off-by: Ian Johnson <ijohnson@wolfram.com>
2016-04-21 09:51:46 -05:00
Ian Johnson
3499c094dc
Putting the list of files into a variable C_SRC and modiftying the add_library calls to use this variable
...
Signed-off-by: Ian Johnson <ijohnson@wolfram.com>
2016-04-19 16:57:44 -05:00
Ian Johnson
93906b9dfd
We don't want to add any declaration properties for the static library, as the static library doesn't export or import anything, so when STATIC_LIB is defined the libmosq_EXPORT defines to nothing
...
Signed-off-by: Ian Johnson <ijohnson@wolfram.com>
2016-04-19 16:56:36 -05:00
Ian Johnson
13f28d1c1e
Adding the static library target, libmosquitto_static, to CMakeLists.txt so it gets installed, and when compiled STATIC_LIB gets defined for only the static library
...
Signed-off-by: Ian Johnson <ijohnson@wolfram.com>
2016-04-19 16:56:25 -05:00
Ian Johnson
87112a7e21
On Mac, we don't want to run /sbin/ldconfig as it doesn't exist
...
Signed-off-by: Ian Johnson <ijohnson@wolfram.com>
2016-04-19 16:56:10 -05:00
Pierre Fersing
44f23252a0
Improve performance with lots of queued message
...
Split message queue in two queues: in-flight and queued to avoid the
need to iterate over all messages.
Signed-off-by: Pierre Fersing <pierre.fersing@bleemeo.com>
2016-04-18 16:24:13 +02:00
Roger A. Light
caa394d0fe
Return value of pthread_create is now checked.
2016-03-17 21:22:56 +00:00
Roger A. Light
69a08ab905
Fix string quoting in CMakeLists.txt. Closes #4 .
2016-03-13 20:33:08 +00:00
Roger A. Light
556c629ab5
Don't use reserved names in header guards.
...
Closes #3 .
2016-03-13 18:43:13 +00:00
Roger A. Light
db2e66c543
Reorganise functions into separate files as appropriate.
2016-03-12 21:49:48 +00:00
Roger A. Light
af995d211d
Fix client library keepalive handling.
...
Fix the case where a message received just before the keepalive timer
expired would cause the client to miss the keepalive timer.
Thanks to Graham Benton.
2016-02-28 17:24:43 +00:00
Roger A. Light
5cca6b4239
Bump version number.
2016-02-14 14:10:52 +00:00
Roger A. Light
f6939d4cbb
Merge branch 'develop' of ssh://git.eclipse.org:29418/mosquitto/org.eclipse.mosquitto into develop
2016-02-09 23:03:34 +00:00
Roger A. Light
d5abf5a18a
Outgoing connections can use any TLS version.
2016-02-09 23:02:46 +00:00
Roger A. Light
fd6a6cac14
Only increment inflight msgs when limit not reached.
2016-02-09 23:01:31 +00:00
Roger A. Light
97e6ac22d8
Only increment inflight messages if the limit hasn't been reached.
2016-02-09 23:00:15 +00:00
Roger A. Light
26b015908e
Default to using MQTT v3.1.1.
2016-02-05 21:22:42 +00:00
Roger A. Light
4e4c08aaf0
"retained" -> "want_retained".
2016-01-26 17:10:54 +00:00
Roger A. Light
7709621911
Reorder helper function arguments for consistency.
2016-01-26 17:06:32 +00:00
Roger A. Light
0a95c9a3af
Add mosquitto_subscribe_callback().
2016-01-26 17:00:08 +00:00
Roger A. Light
1288b14dcb
Fixes and cleanup for subscribe_simple.
2016-01-26 09:55:32 +00:00
Roger A. Light
896b4563fb
Add missing helpers code.
2016-01-26 09:26:17 +00:00
Roger A. Light
b83c58763d
Add mosquitto_subscribe_single()/multiple().
2016-01-25 23:12:33 +00:00
Roger A. Light
c7d4f4bcff
mosq->want_write should be cleared immediately before a call to SSL_write.
...
This allows clients using mosquitto_want_write() to get accurate results.
2016-01-13 21:32:01 +00:00
Roger A. Light
fca9ac84f7
Merge fixes into develop.
2016-01-06 21:10:34 +00:00
Roger A. Light
a7136b3672
Bump version number.
2015-12-21 11:32:41 +00:00
Roger A. Light
2549919413
Fix support for libwebsockets 1.22.
2015-12-21 11:32:02 +00:00
Roger A. Light
dc02e37af9
Bump version number.
2015-12-20 20:34:22 +00:00
Roger A. Light
7aa653c42f
Add support for libwebsockets 1.6.
2015-12-19 01:21:17 +00:00
Roger A. Light
148df82144
[484693] Fix _mosquitto_socketpair() on Windows.
...
Thanks to Steve Woods and Roman Bogus.
Bug: https://bugs.eclipse.org/bugs/show_bug.cgi?id=484693
Bug: https://bugs.eclipse.org/bugs/show_bug.cgi?id=479143
2015-12-18 22:09:36 +00:00
Roger A. Light
f58f8aac0f
Document updates.
2015-11-16 16:47:12 +00:00
Roger A. Light
3cab5e2e69
Bump version number.
2015-11-08 21:25:04 +00:00
Roger A. Light
2078b6381a
Log CONNACK result for clients.
2015-09-29 12:33:51 +01:00
Simon Wunderlich
c02cdbefdc
mosquitto-lib: close socketpair on (re)connect
...
If the socket pair is still opened on reconnect, close it before
creating it again (just like the state variables). Otherwise, these
sockets are leaked on multiple mosquitto_connect() calls.
Signed-off-by: Simon Wunderlich <sw@simonwunderlich.de>
2015-09-22 17:10:26 +01:00
Roger A. Light
b4fbe904d4
Remove more unnecessary "if(x) mosquitto__free(x)" checks.
2015-09-22 14:42:56 +01:00
Roger A. Light
436d3fac19
Merge branch 'fixes' into develop
...
Conflicts:
CMakeLists.txt
ChangeLog.txt
config.mk
installer/mosquitto.nsi
installer/mosquitto64.nsi
lib/mosquitto.c
lib/mosquitto.h
src/loop.c
2015-09-22 14:18:12 +01:00
Roger A. Light
acb95f2f2e
Fix potential memory leak in mosquitto_sub_topic_tokenise()
2015-09-22 14:04:09 +01:00
Roger A. Light
66924cd832
Windows 64 bit build and installer.
2015-09-22 13:48:36 +01:00
Roger A. Light
9a2eb2038f
Drop Windows XP support, misc fixes on Windows.
2015-09-22 10:03:57 +01:00
Roger A. Light
720d52d86e
Bump version number.
2015-09-16 22:53:28 +01:00
Roger A. Light
17e942e9b5
[475707] Fix free related crash on openwrt.
...
Thanks to Karl Palsson.
Bug: https://bugs.eclipse.org/bugs/show_bug.cgi?id=475707
2015-09-16 21:20:40 +01:00
Roger Light
e2324ff9bb
Merge remote-tracking branch 'remotes/origin/master' into develop
...
Conflicts:
CMakeLists.txt
ChangeLog.txt
THANKS.txt
appveyor.yml
config.mk
installer/mosquitto-cygwin.nsi
installer/mosquitto.nsi
lib/messages_mosq.c
lib/messages_mosq.h
lib/mosquitto.c
lib/mosquitto.h
lib/net_mosq.c
lib/net_mosq.h
lib/send_client_mosq.c
lib/send_mosq.c
lib/socks_mosq.c
lib/will_mosq.c
src/bridge.c
src/conf.c
src/context.c
src/database.c
src/loop.c
src/mosquitto.c
src/mosquitto_broker.h
src/net.c
src/read_handle.c
src/read_handle_server.c
src/subs.c
2015-09-09 22:02:46 +01:00
Roger A. Light
d71db835eb
Bump version number.
2015-08-18 23:38:02 +01:00
Roger A. Light
3f86d316d8
Allow mosquitto__free(NULL).
...
Remove all unnecessary "if(X)" before a call to mosquitto__free.
2015-08-18 14:53:22 +01:00
Anmol Sarma
13d869b8df
Avoid calls to strlen() when checking for empty strings.
...
Change-Id: I3de322006623483cbf20218da071a9da5d7b2e2b
Signed-off-by: Anmol Sarma <me@anmolsarma.in>
2015-08-17 16:00:16 -04:00
Roger A. Light
1254fe93e0
[474935] Increment inflight message count correctly.
...
Don't duplicate the increment when queueing.
Thanks to Joe McIlvain.
Bug: https://bugs.eclipse.org/bugs/show_bug.cgi?id=474935
2015-08-17 20:50:41 +01:00
Roger A. Light
b87722556c
Remove duplicate code.
2015-07-01 11:51:32 +01:00
Roger A. Light
5c642c9cfd
[464543] Add defer support for plugins.
...
Partial fix for 464543.
2015-06-29 22:33:01 +01:00
Roger A. Light
a330c5ca17
[471334] Fix incorrect loop timeout with keepalive=0.
...
Fix incorrect loop timeout being chosen when using the threaded
interface and keepalive = 0.
Thanks to Gianfranco Costamagna.
Bug: https://bugs.eclipse.org/bugs/show_bug.cgi?id=471334
2015-06-29 15:57:16 +01:00
Roger A. Light
dc5abcac95
[470660] Handle fragmented TLS packets without a delay.
...
Thanks to Martin Rauscher.
Bug: https://bugs.eclipse.org/bugs/show_bug.cgi?id=470660
2015-06-25 10:53:24 +01:00
Roger A. Light
c1974e5402
Report error string on connection failure rather than error code.
2015-06-23 22:59:03 +01:00
Roger A. Light
cdbe62c2bb
Outgoing messages with QoS>0 are no longer retried after a timeout.
...
This change in behaviour can be justified by considering when the
timeout may have occurred.
* If a connection is unreliable and has dropped, but without one end
noticing, the messages will be retried on reconnection. Sending
additional PUBLISH or PUBREL would not have changed anything.
* If a client is overloaded/unable to respond/has a slow connection then
sending additional PUBLISH or PUBREL would not help the client catch
up. Once the backlog has cleared the client will respond. If it is not
able to catch up, sending additional duplicates would not help either.
2015-05-24 11:59:53 +01:00
Roger A. Light
290ea87828
Build fixes for OpenBSD.
2015-05-21 17:15:33 +01:00
Roger A. Light
4195fde70b
Last raft of renames for the moment.
2015-05-18 09:29:22 +01:00
Roger A. Light
21946ace6c
mosquitto__log_printf -> log__printf
2015-05-18 08:53:21 +01:00
Roger A. Light
389c971430
Remove logically dead code.
...
Coverity CID 1292477.
2015-05-17 07:05:46 +01:00
Roger A. Light
b67c90ec02
Rename internal datatypes.
2015-05-16 19:03:12 +01:00
Roger A. Light
3c703408f2
More function renaming.
2015-05-16 18:43:06 +01:00
Roger A. Light
94ef6ec7bb
Big set of function renames.
2015-05-16 15:24:24 +01:00
Roger A. Light
a67d43c8d3
Rename message functions.
2015-05-16 14:29:54 +01:00
Roger A. Light
1744477cf8
Rename/reorganise packet functions.
2015-05-16 14:16:40 +01:00
Roger A. Light
8049c4b7f8
Simplify code around SYS statistics gathering.
2015-05-16 12:25:35 +01:00
Roger A. Light
b598aec385
Sys -> user includes.
2015-04-29 21:37:47 +01:00
Roger A. Light
970ba58da6
Code reorganise.
2015-04-29 21:23:59 +01:00
Roger A. Light
d7e3fdf7f7
Don't check set size on Windows.
...
socket is an opaque object on Windows, so this check isn't valid.
2015-04-29 10:40:19 +01:00
Roger A. Light
8de6b92e3c
Fix calls to mosquitto_connect*_async() not completing.
2015-04-29 10:13:55 +01:00
Roger A. Light
11756d24c8
Change internal funcs _foo_bar() to foo__bar().
2015-04-19 22:10:59 +01:00
Roger A. Light
e5010af4df
[464632] Library: Fix possible crash due to select() call.
...
Fix possibility of select() being called with a socket that is >FD_SETSIZE.
Bug: https://bugs.eclipse.org/bugs/show_bug.cgi?id=464632
2015-04-19 21:13:54 +01:00
Roger A. Light
e6f262bbbf
Remove unnecessary includes.
2015-04-18 22:22:55 +01:00
Roger Light
322d9624a1
Fix CMake dependencies for libmosquittopp.
...
Enables parallel build mode.
Accepted without CLA after discussion with Eclipse Foundation legal
about very small patches that can only be implemented in one way.
See bug report for acceptance of Certificate of Origin.
Bug: https://bugs.eclipse.org/bugs/show_bug.cgi?id=463884
Also-by: Gianfranco Costamagna <costamagnagianfranco@yahoo.it>
2015-04-17 21:51:14 +01:00
Roger A. Light
1fb7465b83
[464437] Broker: Fix bridge prefixes operation.
...
Fix bridge prefixes only working for the first outgoing message.
Bug: https://bugs.eclipse.org/bugs/show_bug.cgi?id=464437
2015-04-11 11:43:21 +01:00
Roger A. Light
b24fd0a55c
Bump version number for upcoming service release.
2015-04-11 11:35:32 +01:00
Roger A. Light
22fee31ba4
[464436] Library: Fix outgoing QoS 2 message problem.
...
Inflight message count wasn't being decreased for outgoing messages using
QoS 2, meaning that only up to 20 QoS 2 messages could be sent. This has
been fixed.
Bug: https://bugs.eclipse.org/bugs/show_bug.cgi?id=464436
2015-04-11 11:32:33 +01:00
Roger A. Light
b8f9aeb1a8
Fix incorrect string termination.
2015-04-07 23:31:41 +01:00
Roger A. Light
133d2de144
Bump to development version.
2015-04-04 21:26:08 +01:00
Roger A. Light
46ccc2efe9
[463479] Make _mosquitto_mid_generate() thread safe.
...
Thanks to bdwalker.
Bug: https://bugs.eclipse.org/bugs/show_bug.cgi?id=463479
2015-04-03 07:48:55 +01:00
Roger A. Light
fe933dee99
Don't require socks_mosq.c in cpp library.
2015-03-30 22:11:18 +01:00
Roger A. Light
dacee786be
[463000] Use own type to simplify socket handling.
...
Means that SOCKET is used as the socket type everywhere on Windows.
2015-03-29 10:43:08 +01:00
Roger A. Light
3591f2d256
[462781] Allow longer paths on Windows.
...
Bug: https://bugs.eclipse.org/bugs/show_bug.cgi?id=462781
2015-03-27 21:47:27 +00:00
Roger A. Light
c9a924e95e
[462780] Fix crash on multiple calls to lib init/clean.
...
Bug: https://bugs.eclipse.org/bugs/show_bug.cgi?id=462780
2015-03-27 21:02:49 +00:00
Roger A. Light
0434d1cd9b
[461705] Return -1 on error from mosquitto_socket()
...
Thanks to Mikkel Kirkgaard Nielsen.
Bug: https://bugs.eclipse.org/bugs/show_bug.cgi?id=461705
2015-03-27 01:40:41 +00:00
Roger A. Light
2aceb704b5
[463000] Fix reconnect bug on Windows.
...
Bug: https://bugs.eclipse.org/bugs/show_bug.cgi?id=463000
2015-03-27 01:24:16 +00:00
Roger A. Light
35b729909c
[463241] Fix possible crash under heavy network load.
...
Thanks to Alexandre Zia.
Bug: https://bugs.eclipse.org/bugs/show_bug.cgi?id=463241
2015-03-27 01:07:48 +00:00
Roger A. Light
e310092f44
[461620] Inflight limits should only apply to outgoing messages.
...
Bug: https://bugs.eclipse.org/bugs/show_bug.cgi?id=461620
2015-03-08 22:06:20 +00:00
Roger A. Light
db86809ee9
Add websockets logging options.
2015-02-13 22:57:49 +00:00
Roger A. Light
6fd38b8c47
Windows fixes.
2015-02-13 21:18:52 +00:00
Roger A. Light
3ed5c94038
Struct optimisations.
2015-02-13 21:17:11 +00:00
Roger A. Light
1a14f6fed5
[453293] Don't quit loop_forever() if broker not available.
...
This is a workaround for bug #453293 , a better solution is needed for
1.5.
Bug: https://bugs.eclipse.org/bugs/show_bug.cgi?id=453293
2015-02-09 22:17:27 +00:00
Roger A. Light
c5ee5686bd
Fix client CONNECT packet on MQTT v3.1.1.
2015-02-06 20:48:45 +00:00
Roger A. Light
39ffd6fa36
Handle "error" codes from SSL_connect() correctly.
2015-01-27 23:33:36 +00:00
Roger A. Light
b99dbc01d4
Must initialise protocol field.
2015-01-27 17:28:26 +00:00
Roger A. Light
8a35c3cd0d
Add client support for MQTT v3.1.1.
2015-01-27 00:32:20 +00:00
Roger A. Light
5e75c9054d
[458410] Add missing headers to util_mosq.h
...
Thanks to Michael Laing.
Bug: https://bugs.eclipse.org/bugs/show_bug.cgi?id=458410
2015-01-26 20:46:15 +00:00
Roger A. Light
9332a731bf
[452915] mosquittopp now has a virtual destructor.
...
Bug: https://bugs.eclipse.org/bugs/show_bug.cgi?id=452915
2015-01-15 22:48:24 +00:00
Roger A. Light
c591b06574
[457225] Add support for wildcard certificates.
...
This introduces wildcard certificate support for both bridges and
clients.
Bug: https://bugs.eclipse.org/bugs/show_bug.cgi?id=457225
2015-01-15 21:35:59 +00:00
Roger A. Light
aca979a473
[457371] Fix building for WITH_TLS=no
...
Thanks to Micheal Laing.
Bug: https://bugs.eclipse.org/bugs/show_bug.cgi?id=457371
2015-01-15 20:11:14 +00:00
Roger A. Light
8a18f577a6
Remove more unnecessary uses of calloc.
2015-01-14 21:56:57 +00:00
Roger A. Light
ac5dbd428f
Clear want_write flag after responding to it.
...
Prevents busy loop after e.g. writing a large message when using TLS.
Thanks to Dave Sellars.
2015-01-07 23:19:06 +00:00
Roger A. Light
d6bb6634d2
Disable memory tracking with uclibc.
...
Thanks to Ed W.
2015-01-07 22:24:57 +00:00
Roger A. Light
f8f794c531
Allow expiring clients to be cleaned up.
2015-01-06 17:35:12 +00:00
Roger A. Light
e5a251f0bb
Remove javascript client.
2014-11-23 20:54:25 +00:00
Roger A. Light
5b6f6976c7
Fix use of "dup" with pubrel, subscribe, unsubscribe.
...
Thanks to Paolo Patierno.
2014-11-19 21:28:52 +00:00
Roger A. Light
db3c016fdd
Don't use bridge hash in each client.
...
Store a DB wide array of bridges. There shouldn't be many of them, so
iterating/searching isn't a problem. Saves 56 bytes in the client
struct.
2014-11-18 23:34:54 +00:00
Roger A. Light
d30d711c3b
Improve struct layouts for memory usage.
2014-11-18 07:42:49 +00:00
Roger A. Light
ea8537c048
Remove unused messages from store immediately.
...
This removes the need for *store_clean*.
2014-11-17 23:46:02 +00:00
Roger A. Light
07581446e6
Bounds checking for socks domain name inputs.
2014-11-17 20:28:38 +00:00
Roger A. Light
b80402baf0
Only track inflight messages for outgoing messages.
2014-11-17 20:20:50 +00:00
Roger A. Light
66f147749d
Fix missing mutex unlock.
2014-11-16 22:36:31 +00:00
Roger A. Light
36f88d902d
Fix errors from big code import.
2014-11-12 20:47:16 +00:00
Roger A. Light
fb72bf9c14
Fix incorrect function name in documentation.
2014-11-12 17:52:46 +00:00
Roger A. Light
ab49b96db1
Windows related fixes.
2014-10-26 21:17:08 +00:00
Roger A. Light
041f60c03e
Make bridge connections non-blocking for TLS connections.
2014-10-24 22:39:09 +01:00
Roger A. Light
a1f18323d1
Make bridge connections non-blocking for non-TLS connections.
2014-10-24 21:28:24 +01:00
Roger A. Light
5603d6a44d
Remove unused struct members.
2014-10-16 21:47:49 +01:00
Roger A. Light
d2dbe16d68
Client structs store sub information to make _subs_clean_session more efficient.
2014-10-09 23:28:16 +01:00
Roger A. Light
ac00949793
Add missing socks code!
2014-10-02 09:42:19 +01:00
Roger A. Light
fdc8c08ca3
Add socks to cpp library.
2014-09-30 01:04:10 +01:00
Roger A. Light
8f8816b092
Fix conditional compilation, add headers.
2014-09-30 01:02:12 +01:00
Roger A. Light
42420cae46
Add experimental SOCKS5 support for the clients.
2014-09-30 00:56:57 +01:00
Roger A. Light
e9c18f8347
mosquitto_loop_forever now quits after a fatal error, rather than blindly retrying.
2014-09-30 00:42:30 +01:00
Roger A. Light
dcd469c177
Use own linked list for storing disused contexts for freeing.
...
Seemed to be a problem with getting it to work under a hash and there
isn't really any need for a hash.
2014-09-22 23:35:09 +01:00
Roger A. Light
06bec1083d
Expose mosquitto_pub_topic_check() and mosquitto_sub_topic_check().
2014-09-10 15:57:20 +01:00
Roger A. Light
580cd722dc
Remote/local bridge fixes.
2014-08-16 23:14:41 +01:00
Roger A. Light
abe72b8e4c
Keep retrying to reconnect without calling loop on failure.
2014-08-15 00:00:04 +01:00
Roger A. Light
ae1477c08f
Windows fixes.
2014-07-22 10:28:55 +01:00
Roger A. Light
57816cb520
Detect c-ares header in cmake.
2014-07-22 10:02:36 +01:00
Roger A. Light
c9da49b777
Pass mutex by reference, not value.
...
Thanks to Haseeb Abdul Qadir.
2014-07-20 21:17:29 +01:00
Roger A. Light
1c8433925d
mosquitto_time() calculation to after keepalive check to avoid delays.
2014-07-09 21:40:27 +01:00
Roger A. Light
fa9fece76a
Doc addition.
2014-07-09 20:42:39 +01:00
Roger A. Light
95a4ec431d
Don't try to disconnect twice.
2014-07-08 23:16:34 +01:00
Roger A. Light
13f94f3511
More reconnect fixes.
2014-07-03 01:00:57 +01:00
Roger A. Light
a831281b3d
Delete clients after socket close.
2014-07-02 20:49:06 +01:00
Roger A. Light
5c7512b8ba
Add mosquitto_threaded_set().
2014-07-02 20:45:26 +01:00
Roger A. Light
1257fd49eb
Fixes for clients that disconnect very quickly.
2014-07-01 22:16:53 +01:00
Roger A. Light
d75903b0ae
Fix reconnect support for websockets.
2014-06-30 23:30:43 +01:00
Roger A. Light
bdb3e74100
More memory fixes.
2014-06-29 23:16:10 +01:00
Roger A. Light
15efd2d072
Various memory fixes.
2014-06-28 01:38:58 +01:00
Roger A. Light
764b7e0a91
Use hash functions to store client data.
2014-06-23 17:57:35 +01:00
Roger A. Light
11631d8d92
Add local_clientid for bridges.
2014-06-10 23:30:15 +01:00
Roger A. Light
aca67a2170
Better function names.
2014-06-08 22:51:36 +01:00
Roger A. Light
4430228855
Be consistent about removing listener counts on socket close.
2014-06-03 16:21:46 +01:00
Roger A. Light
87579e0cac
Remove STRICT_PROTOCOL #ifdefs.
2014-05-31 21:53:35 +01:00
Roger A. Light
25dd5d88ed
Don't leak socket here.
2014-05-27 22:03:01 +01:00
Roger A. Light
9015ee962e
unlock mutex on return.
2014-05-27 21:50:42 +01:00
Roger A. Light
414946ff07
Bump version number.
2014-05-26 18:03:21 +01:00
Roger A. Light
063928bbfe
Merge websockets -> 1.4.
2014-05-26 17:22:52 +01:00
Roger A. Light
2db22f3abd
Merge 1.3.2 branch in 1.4 branch.
2014-05-26 13:21:20 +01:00
Roger A. Light
330a7a882e
Add CROSS_COMPILE to Makefiles.
2014-05-25 23:36:38 +01:00
Roger A. Light
f23f48ecce
Don't use exit() on SRV failure.
2014-05-20 10:22:06 +01:00
Roger A. Light
aab7a2688c
Fix SRV support when building with CMake.
2014-05-19 22:03:26 +01:00
Roger A. Light
b6f2d3e087
Fix callback deadlocks after calling mosquitto_disconnect(), when using the threaded interfaces. Closes bug #1313725 .
...
Thanks to Michael Frommberger.
2014-05-16 10:20:45 +01:00
Roger A. Light
dc71f9157d
Use $(STRIP) for stripping binaries when installing, to allow easier cross compilation.
...
Thanks to Frank Pagliughi.
2014-05-08 23:18:50 +01:00
Roger Light
9ff56eefd0
Fix topic matching edge case.
...
Thanks to Tobias Assarsson.
2014-05-08 22:56:16 +01:00
Roger Light
0364bd1be7
Initial contribution.
2014-05-07 23:27:00 +01:00
Roger A. Light
4bb7a45b71
Crude, hard coded websockets support. No TLS.
2014-05-06 10:47:00 +01:00