Thomas Pedley
ba8734b749
Add LWT message logging.
...
Signed-off-by: Thomas Pedley <me@shallax.com>
2018-03-13 13:41:58 +00:00
Roger A. Light
9ea0d38002
[706] Serve http /dir/ as /dir/index.html.
...
Thanks to Jean-Claude Wippler.
2018-03-13 09:12:54 +00:00
Roger A. Light
4f838e5161
Windows fixes.
2018-02-28 15:53:24 +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
b76982db13
Fix reloading of config when fds are exhausted.
2018-02-24 21:44:38 +00:00
Roger A. Light
ec63d7bfc7
Add set_tcp_nodelay option to disable Nagle's algorithm.
...
Bug: https://github.com/eclipse/mosquitto/issues/433
2018-02-14 23:51:16 +00:00
Roger A. Light
81cb7ab547
Merge branch 'fixes' into develop
2018-02-13 14:16:47 +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
3066f89a24
packet__read_string() returns the string length.
2018-02-11 20:47:17 +00:00
Roger A. Light
ff55499725
Fix persistence reloading.
2018-01-13 21:11:07 +00:00
Roger A. Light
027c5d7f6e
Don't remove invalid socket from epoll fd.
2018-01-13 21:10:24 +00:00
Roger A. Light
2283585e39
Remove build timestamp information for reproducible builds.
2018-01-12 13:41:09 +00:00
Pierre Fersing
59380cef2d
Fix CONNACK not send over WebSocket for bad auth
...
When client over WebSockets fail to authenticate, the CONNACK packet was
not sent because the connection was closed too early. Closes #18 .
Signed-off-by: Pierre Fersing <pierre.fersing@bleemeo.com>
2018-01-12 13:34:12 +00:00
Roger A. Light
b4c72e8fc0
Fix HUP disconnecting clients incorrectly.
...
Bug: https://github.com/eclipse/mosquitto/issues/657
2018-01-10 22:34:03 +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
Tatsuzo Osawa
024fd400d4
Fix Unsubscribe with No Topic
...
Signed-off-by: Tatsuzo Osawa <tatsuzo.osawa@gmail.com>
2018-01-06 12:11:06 +00:00
Pierre Fersing
7775924bae
[534]Fix upgrade_outgoing_qos for retained message
2018-01-03 18:50:34 +01:00
Pierre Fersing
7df5c40004
Fix $SYS counters when message is sent over WS
...
Signed-off-by: Pierre Fersing <pierre.fersing@bleemeo.com>
2018-01-02 16:51:56 +01:00
Roger A. Light
7f82cdc753
[652] Don't limit config file lines to 1024 chars.
...
Bug: https://github.com/eclipse/mosquitto/issues/652
2017-12-20 11:00:16 +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
d3239920d7
Validate UTF-8 client ids, usernames and topics.
2017-08-16 11:28:54 +01:00
Roger A. Light
0745bcdb91
Improve some struct ordering.
2017-08-12 00:25:59 +01:00
Roger A. Light
8795f063d4
Add ability to deny access to SUBSCRIBE messages.
...
This is as well as the current read/write accesses. Currently for auth
plugins only.
2017-08-11 22:15:37 +01:00
Roger A. Light
7096d57c3a
Documentation fix.
2017-08-09 22:17:11 +01:00
Roger A. Light
36e86355d7
Improve documentation and formatting.
2017-08-09 21:59:12 +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
7943072b1f
Fix use_identity_as_username not working on websockets clients.
...
Thanks to achest.
2017-07-26 23:27:04 +01:00
Roger A. Light
53c71b2a77
Fix memory leak related to use_identity_as_username.
2017-07-26 23:25:49 +01:00
Roger A. Light
c26b852c53
Don't double free when using remote_clientid/username/password.
2017-07-19 22:04:56 +01:00
Roger A. Light
ac6997d7bc
Fix merge error.
2017-07-19 14:49:49 +01:00
Roger A. Light
5a267368d7
Merge branch 'master' into develop
2017-07-19 00:15:42 +01:00
Roger A. Light
ba0122f9a9
Don't disable IPv6 support for websockets.
2017-07-18 22:12:51 +01:00
Roger A. Light
d8cc5bc4fe
Merge branch 'fixes' of github.com:eclipse/mosquitto into fixes
2017-07-17 22:02:30 +01:00
Roger A. Light
0ba0bc434e
Use constant time memcmp for password checks.
2017-07-16 23:20:58 +01:00
Fredrik Fornwall
366194cde4
Replace getdtablesize() with sysconf(_SC_OPEN_MAX)
...
From http://man7.org/linux/man-pages/man3/getdtablesize.3.html :
"It is not specified in POSIX.1; portable applications should employ
sysconf(_SC_OPEN_MAX) instead of this call."
Specifically this fixes a build failure on Android which does not
have getdtablesize().
Signed-off-by: Fredrik Fornwall <fredrik@fornwall.net>
2017-07-16 23:16:30 +01:00
Roger A. Light
e74203de2c
Merge branch 'master' into develop
2017-07-16 22:52:01 +01:00
Roger A. Light
2a50b2e9bd
Fix regression from 1.4.13 where persistence data was not being saved.
2017-07-10 23:43:42 +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
8de5ed4464
Remove "error in poll" messages.
2017-06-27 22:32:10 +01:00
Roger A. Light
cd17ca45cd
[462] Relax CVE-2017-7650 checks.
...
Checks for '/' are no longer made, this character is a much lower risk
and is widely used in usernames.
Bug: https://github.com/eclipse/mosquitto/issues/462
2017-06-27 15:10:43 +01:00
Roger A. Light
c3823c0a81
[462] Add auth_plugin_deny_special_chars option.
...
Auth plugins can be configured to disable the check for +# in
usernames/client ids with the auth_plugin_deny_special_chars option.
Thanks to wiebeytec.
Bug: https://github.com/eclipse/mosquitto/issues/462
2017-06-27 14:59:37 +01:00
Roger A. Light
5246a76f87
[477] Send will messages for connected clients when broker stops.
...
Thanks to mikeS7.
Bug: https://github.com/eclipse/mosquitto/issues/477
2017-06-27 14:33:02 +01:00
Roger A. Light
96db6d6644
Fix CONNECT check for reserved=0, as per MQTT v3.1.1 check MQTT-3.1.2-3.
2017-06-27 11:11:43 +01:00
Roger A. Light
6e7d02ba16
Fix for CVE-2017-9868 for Windows.
2017-06-26 14:53:33 +01:00
Pierre Fersing
408972ddc1
Fix two issues with Websocket ( #472 )
...
* Websocket were always marked as "want_write" (even if they only
want to read, or worse want nothing).
* Websocket FD was read twice in some case (when socket recv queue was
larger that size read by libwebsocket)
Signed-off-by: Pierre Fersing <pierre.fersing@bleemeo.com>
2017-06-23 22:30:57 +01:00
Roger A. Light
09cb1b61c8
[468] Set persistence file to only be readable by owner.
...
Not implemented on Windows.
Thanks to Moshe Zioni.
Bug: https://github.com/eclipse/mosquitto/issues/468
2017-06-23 14:50:39 +01:00
Roger A. Light
ab45f86d74
Prevent out of bounds array access.
2017-06-22 09:47:03 +01:00
Roger A. Light
c78678607d
[427] Fix large retained messages over websockets.
...
Thanks to Brian Block.
Bug: https://github.com/eclipse/mosquitto/issues/427
2017-06-19 21:40:19 +01:00
Roger A. Light
bb61cd2dee
Fix merge error.
2017-06-19 18:31:58 +01:00
Roger A. Light
8f59d5ad28
Remove unused vars and reset pollfd_index on disconnect.
2017-06-19 16:14:59 +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
9af3c6958f
Fix for CVE-2017-7650.
2017-05-28 21:51:50 +01:00
Roger A. Light
ca8a507607
[446] Don't segfault on duplicate bridge names.
...
Thanks to Tifaifai Maupiti.
Bug: https://github.com/eclipse/mosquitto/issues/446
2017-05-12 22:29:54 +01:00
Riccardo Magliocchetti
059ba5f00b
Fix use of unitialized memory in gets_quiet
...
Spotted by cppcheck
Signed-off-by: Riccardo Magliocchetti <riccardo.magliocchetti@gmail.com>
2017-05-05 22:10:25 +01:00
YuLun Shih
97572610c0
Fix bridge->restart_t won't be reset
...
Signed-off-by: YuLun Shih <shih@yulun.me>
2017-05-05 22:02:05 +01:00
Roger A. Light
a93a0c9bb1
[424]
...
Fix mosquitto.db from becoming corrupted due to client messages being
persisted with no stored message.
Thanks to codami.
Bug: https://github.com/eclipse/mosquitto/issues/424
2017-04-13 13:40:12 +01:00
Roger A. Light
91b308a11d
Merge branch 'master' into develop
2017-03-06 21:19:53 +00:00
Jiří Pinkava
1ed39b9aac
Add (missing) plugin.c into build
...
Signed-off-by: Jiří Pinkava <j-pi@seznam.cz>
2017-03-06 10:50:04 +00:00
Roger A. Light
1a0240b5d5
[379] Improve mosquitto_passwd error messages.
...
Thanks to Jaimyn Mayer. Closes #379 .
Bug: https://github.com/eclipse/mosquitto/issues/379
2017-02-20 23:48:30 +00:00
Roger A. Light
b55e7035ff
[344] Fix non-async case.
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
8406c08124
[344] Detect libanl in cmake.
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
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
54a467d782
Include <syslog.h> instead of <sys/syslog.h>
...
Using the standard <syslog.h> header instead of <sys/syslog.h> makes it
consistent with other source files and fixes compilation on Android.
Signed-off-by: Fredrik Fornwall <fredrik@fornwall.net>
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
2c92d3b837
More file closing fixes.
2017-02-20 23:48:30 +00:00
Roger A. Light
e7c1507f88
Fix error message when websockets http_dir directory does not exist.
2017-02-20 23:48:30 +00:00
Roger A. Light
b01e32bd8b
[354] Close http files even on bad clients.
...
Thanks to jbwdevries.
Bug: https://github.com/eclipse/mosquitto/issues/354
2017-02-20 23:48:30 +00:00
Roger A. Light
7279e48191
[316] Don't error on zero length persistence files.
...
Closes #316 .
Bug: https://github.com/eclipse/mosquitto/issues/316
2017-02-20 23:48:30 +00:00
Roger A. Light
ed80a9a526
[295] Usage should say we support 3.1.1 as well as 3.1.
...
Closes #295 .
Bug: https://github.com/eclipse/mosquitto/issues/295
2017-02-20 23:48:30 +00:00
tucic
9f743d5972
Maximum connections for websockets listener ( #271 )
...
Check current number of connections before accepting new websockets clients.
Signed-off-by: tucic <tucic.milan@gmail.com>
2017-02-20 23:48:30 +00:00
Roger A. Light
6b68371dbe
[259] Fix crash when "lazy" type bridge attempts to reconnect.
...
Thanks to hakofugu41.
Bug: https://github.com/eclipse/mosquitto/issues/259
2017-02-20 23:48:30 +00:00
Karl Palsson
20197e2496
websockets: fix compatibility with older lws versions ( #260 )
...
In 1.3, 1.4 and 1.5, the function was "libwebsockets_get_protocol" not
"libwebsocket_get_protocol" While the #define name doesn't matter on
newer libwebsockets, where it redirects to lws_get_protocol, the naming
is critical for older versions.
Fixes: 477cd3e399
(Fix missing context->listener for websocket client)
Signed-off-by: Karl Palsson <karlp@etactica.com>
2017-02-20 23:48:30 +00:00
Roger A. Light
f72d9b3a34
[17] Sort include_dir files before loading them.
...
Bug: https://github.com/eclipse/mosquitto/issues/17
2017-02-19 20:29:04 +00:00
Roger A. Light
ebad302119
[379] Improve mosquitto_passwd error messages.
...
Thanks to Jaimyn Mayer. Closes #379 .
Bug: https://github.com/eclipse/mosquitto/issues/379
2017-02-12 21:22:58 +00:00
Roger A. Light
565c9c3432
[344] Fix non-async case.
2017-02-09 16:41:48 +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
fb824e7f1e
[344] Detect libanl in cmake.
2017-02-08 16:24:50 +00:00
Roger A. Light
3d40ffe18b
[344] Only do async dns on glibc.
2017-02-08 15:40:44 +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
23b0891048
Include <syslog.h> instead of <sys/syslog.h>
...
Using the standard <syslog.h> header instead of <sys/syslog.h> makes it
consistent with other source files and fixes compilation on Android.
Signed-off-by: Fredrik Fornwall <fredrik@fornwall.net>
2017-01-30 21:15:19 +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
9b05b12039
More file closing fixes.
2017-01-21 07:54:48 +00:00
Roger A. Light
a2a2099fa1
Fix error message when websockets http_dir directory does not exist.
2017-01-20 21:18:18 +00:00
Roger A. Light
8171a975ae
[354] Close http files even on bad clients.
...
Thanks to jbwdevries.
Bug: https://github.com/eclipse/mosquitto/issues/354
2017-01-20 18:25:04 +00:00
Roger A. Light
7f66bf1f65
[316] Don't error on zero length persistence files.
...
Closes #316 .
Bug: https://github.com/eclipse/mosquitto/issues/316
2017-01-06 00:44:17 +00:00
Ben Hardill
740b710a0b
Add support for local only bridge notifications ( #328 )
...
This update adds an option to only publishes bridge
notification messages to the local side of the bridge.
It adds a config file option called notifications_local_only
that accepts a boolean value, defaults to false to be
consistent with existing behaviour.
Fixes #233
Signed-off-by: Ben Hardill <hardillb@uk.ibm.com>
2016-12-04 21:47:38 +00:00
Roger A. Light
1abd089afb
[295] Usage should say we support 3.1.1 as well as 3.1.
...
Closes #295 .
Bug: https://github.com/eclipse/mosquitto/issues/295
2016-10-20 13:48:30 +01:00
tucic
f272e2e047
Maximum connections for websockets listener ( #271 )
...
Check current number of connections before accepting new websockets clients.
Signed-off-by: tucic <tucic.milan@gmail.com>
2016-09-29 18:51:31 +01:00
Roger A. Light
762126064c
[259] Fix crash when "lazy" type bridge attempts to reconnect.
...
Thanks to hakofugu41.
Bug: https://github.com/eclipse/mosquitto/issues/259
2016-09-20 23:26:14 +01:00
Roger A. Light
7ace6c9e7e
Merge branch 'master' into fixes
2016-09-20 23:25:17 +01:00
Roger A. Light
a71bee494f
HASH_DELETE needs to modify subhier.
2016-09-16 12:46:32 +01:00
Roger A. Light
9ddec11f89
Fix Coverity issue 1362805.
2016-09-15 22:22:28 +01:00
Karl Palsson
374c62586e
db_dump: use objects to simplify printing ( #215 )
...
Prepratory work for providing more filtering of the output dump.
This makes _no_ difference to the current behaviour, but makes it much
simpler for people who "need", for whatever reason, to hack some private
changes into the db_dump tool.
Signed-off-by: Karl Palsson <karlp@etactica.com>
2016-09-10 13:10:01 +01:00
Karl Palsson
2dec0ed895
broker: fix queue_qos0_messages behaviour
...
Prior, offline qos0 clients had an unlimited queue depth when
queue_qos0_messages was true.
Signed-off-by: Karl Palsson <karlp@etactica.com>
2016-09-09 17:27:46 +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
Karl Palsson
03d4b8c270
websockets: fix compatibility with older lws versions ( #260 )
...
In 1.3, 1.4 and 1.5, the function was "libwebsockets_get_protocol" not
"libwebsocket_get_protocol" While the #define name doesn't matter on
newer libwebsockets, where it redirects to lws_get_protocol, the naming
is critical for older versions.
Fixes: 477cd3e399
(Fix missing context->listener for websocket client)
Signed-off-by: Karl Palsson <karlp@etactica.com>
2016-09-08 12:24:29 +01:00
Karl Palsson
8268e6da08
database: drop unnecessary local variable
...
No need to maintain count and context->msg_count separately.
Signed-off-by: Karl Palsson <karlp@etactica.com>
2016-08-17 11:14:31 +00:00
Karl Palsson
8a48fd13f1
broker: publish initial load averages
...
This publishes initial 0 figures for all load averages, as is done for
all the existing counter values in the SYS tree. This makes the
behaviour of certain variables use for diagnostics (stored count for
instance) more predictable, instead of changing due to the creation of
load topics as soon as the load became non-zero.
Signed-off-by: Karl Palsson <karlp@etactica.com>
2016-08-17 11:14:31 +00:00
Karl Palsson
30c96f4a1c
broker: track stored messages in bytes as well as count
...
Instead of simply tracking the count of stored messages, keep track of
the total byte size of stored messages. While only informational at
this point, it provides the basis for byte based limits in the future.
Signed-off-by: Karl Palsson <karlp@etactica.com>
2016-08-17 10:35:26 +00:00
Karl Palsson
641158aed9
config: garbage line number if file not found
...
If the file is not found, showing 0 rather than a garbage number is
mildly better.
Signed-off-by: Karl Palsson <karlp@etactica.com>
2016-08-17 10:27:37 +00:00
Roger A. Light
ee1fd1718b
Merge branch 'fixes'
2016-08-16 22:56:28 +01:00
kcallin
7ba3f3d33b
[189] Mosquitto database corrupted on power-loss. ( #206 )
...
Mosquitto database writes are not atomic and if power is lost during
a write the file will be permanently lost. This commit makes writes as
atomic as possible.
Signed-off-by: Keegan Callin <kc@kcallin.net>
Bug: https://github.com/eclipse/mosquitto/issues/189
2016-08-16 22:36:58 +01:00
Roger A. Light
ba2de88790
Display error if broker unable to open the log file.
...
Thanks to Matthew Treinish.
Bug: https://github.com/eclipse/mosquitto/issues/234
2016-08-16 22:31:36 +01:00
Pierre Fersing
477cd3e399
Fix missing context->listener for websocket client ( #239 )
...
The context associated with websocket client didn't had listener
filled, which caused use_username_as_clientid to be ignored.
Signed-off-by: Pierre Fersing <pierre.fersing@bleemeo.com>
2016-08-16 22:10:41 +01:00
Roger A. Light
00aa181749
[244] Add note on compiling auth plugin on OSX.
...
Closes #244 .
Bug: https://github.com/eclipse/mosquitto/issues/244
2016-08-12 08:00:56 +01:00
Roger A. Light
b1c4171cdc
Merge branch 'develop' of github.com:eclipse/mosquitto into develop
2016-08-10 12:22:39 +01:00
Roger A. Light
bcfa29cbd1
[222] Fix will retained flag handling on Windows.
...
Thanks to codami.
Bug: https://github.com/eclipse/mosquitto/issues/222
2016-07-22 10:37:30 +01:00
Roger A. Light
883af8af53
Better subtree searching.
2016-07-19 15:05:53 +01:00
tucic
50b26347d4
Writing least significant byte of subscription QoS ( #210 )
...
Signed-off-by: Milan Tucic <tucic.milan@gmail.com>
2016-07-12 12:34:59 +01:00
Roger A. Light
0b5d524723
Update defer plugin function signatures.
2016-07-11 14:29:41 +01:00
Roger A. Light
e4db6a760f
Backwards compatibility for auth plugins.
2016-07-10 23:17:30 +01:00
Roger A. Light
b40cedaf1d
More client accessors.
2016-07-09 21:49:13 +01:00
Roger A. Light
025e56fd4c
New mosquitto_auth_psk_key_get()
2016-07-08 13:52:02 +01:00
Roger A. Light
1a6d23feff
Bump auth plugin version.
2016-07-08 13:27:31 +01:00
Roger A. Light
b3df015ea7
New mosquitto_unpwd_check().
2016-07-08 13:27:14 +01:00
Roger A. Light
63f46a999f
Add username accessor.
2016-07-08 11:50:50 +01:00
Roger A. Light
ccedc6d709
Moving towards new mosquitto_acl_check().
2016-07-08 11:26:58 +01:00
Roger A. Light
45ad23c7be
mosquitto_broker.h include file for end users.
2016-07-08 10:44:41 +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
Roger A. Light
56d0f74725
Defer support for TLS-PSK.
2016-07-08 09:36:25 +01:00
Roger A. Light
8fcafcc6aa
#define SYS_TREE_QOS
2016-07-08 09:15:28 +01:00
Roger A. Light
1b659b41de
sys__ -> sys_tree__
2016-07-08 09:14:11 +01:00
Roger A. Light
43bcf6799c
Move static sys tree entries to sys_tree.c.
2016-07-08 08:46:24 +01:00
Karl Palsson
7cb8988192
websockets: fix compile fail after refactoring ( #207 )
...
A lot of function renaming was done in 663d50a016
,
and this websockets patch was merged afterwards. Autobuild testing
doesn't have websockets enabled, and missed this.
Fixes: d9142c3974
Signed-off-by: Karl Palsson <karlp@etactica.com>
2016-07-07 14:19:54 +01:00
Roger A. Light
a04662265a
Remove "mosq%d_vacuum" event as vacuum no longer done.
2016-07-03 22:42:43 +01:00
Roger A. Light
d54359598e
Move signals/events code to own file.
2016-07-03 22:40:27 +01:00
Dmitry Kaukov
6bf8b59d89
Signalling mosquitto process on Win32, using named events: ( #163 )
...
mosqPID_shutdown
mosqPID_reload
mosqPID_backup
mosqPID_vacuum
where PID is the PID of the mosquitto process
Signed-off-by: Dmitry Kaukov <dkaukov@opentable.com>
2016-07-03 22:18:44 +01:00
Roger Light
6eb8b0c0e8
Merge pull request #190 from remakeelectric/db_dump-fixes
...
Db dump fixes
2016-07-01 15:34:12 +01:00
Roger A. Light
eaef3db142
O_DIRECTORY not supported everywhere, use O_RDONLY.
2016-06-27 20:58:25 +01:00
Roger A. Light
84df2bb923
[189] Call fsync after persisting data.
...
To ensure it is correctly written. Closes #189 .
Thanks to thanhvtruong.
Bug: https://github.com/eclipse/mosquitto/issues/189
2016-06-26 22:48:16 +01:00
Roger A. Light
fff741613e
Support for openssl 1.1.0.
2016-06-26 22:00:43 +01:00
Roger A. Light
2b2279363b
Bridge defaults to mqtt3.1.1 as per documentation.
2016-06-22 00:04:47 +01:00
Roger A. Light
1c3988a397
Merge branch 'master' into develop
2016-06-21 23:33:58 +01:00
Roger A. Light
2c54104ce3
[191] Fix some $SYS messages being incorrectly persisted.
...
Closes #191 .
Bug: https://github.com/eclipse/mosquitto/issues/191
2016-06-21 17:17:23 +01:00
Roger A. Light
63e3926987
Perform UTF-8 validation on will, sub, unsub topics in the broker.
2016-06-21 17:05:33 +01:00
Karl Palsson
339842b623
db_dump: (trivial) add missing newline in output
...
Signed-off-by: Karl Palsson <karlp@etactica.com>
2016-06-21 12:29:58 +00:00
Karl Palsson
b1efd9a868
db_dump: properly print uint64_t
...
store id is a uint64_t, print it consistently.
Signed-off-by: Karl Palsson <karlp@etactica.com>
2016-06-21 12:29:58 +00:00
Roger A. Light
d90cd585dd
Add WITH_STRIP build option.
2016-06-13 21:36:41 +01:00
Roger A. Light
23113bb5f5
[7] Don't disconnect client on HUP before reading the pending data.
...
Closes #7 .
Bug: https://github.com/eclipse/mosquitto/issues/7
2016-06-13 17:13:44 +01:00
Roger A. Light
8663d6aff7
Merge branch 'master' of github.com:eclipse/mosquitto
2016-06-07 16:54:53 +01:00
Roger A. Light
1cd40925b8
[184] Don't attempt to install docs when WITH_DOCS=no.
...
Thanks to minghuadev.
Bug: https://github.com/eclipse/mosquitto/issues/184
2016-06-06 16:11:42 +01:00
Roger A. Light
63416e6547
;
2016-06-06 16:03:24 +01:00
Roger A. Light
5d96c3d7ba
[186] Fix TLS operation with websockets listeners and libwebsockts 2.x.
...
Bug: https://github.com/eclipse/mosquitto/issues/186
2016-06-06 15:53:05 +01:00
Roger A. Light
ea2baa876c
Fix rare possible crash when writing persistence file.
2016-05-31 22:17:27 +01:00
Roger A. Light
ff78cd7873
Fix publishing of $SYS/broker/clients/maximum.
2016-05-31 09:57:28 +01:00
Roger A. Light
6f5f445196
[169] mosquitto_passwd handles unknown cmd args properly.
...
Closes #169 . Thanks to castorgodinho.
Bug: https://github.com/eclipse/mosquitto/issues/169
2016-05-26 09:25:41 +01:00
Roger A. Light
7761218d3c
[170] Fix WS listeners not being able to bind to an IP.
...
Closes #170 . Thanks to minghuadev.
Bug: https://github.com/eclipse/mosquitto/issues/170
2016-05-26 09:21:15 +01:00
Roger A. Light
afc2c9951c
[57] File missed from previous commit.
...
Bug: https://github.com/eclipse/mosquitto/issues/57
2016-05-19 15:53:27 +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
Roger A. Light
57da586703
Fix saving of persistence messages that start with a '/'.
...
Closes #151 . Thanks to Andrew Chambers.
Signed-off-by: Roger A. Light <roger@atchoo.org>
2016-05-14 22:39:14 +01:00
Roger A. Light
3048c5ba0d
Changelog update.
...
Fix reconnecting for bridges that use TLS on Windows.
Closes #154 .
Thanks to Dmitry Kaukov.
2016-05-14 21:57:09 +01:00
Roger A. Light
6704df8061
Bridge config parameters can now contain a space
...
Closes #150 .
Thanks to Sebastian Koch and Mikkel Kirkgaard Nielsen.
Bug: https://github.com/eclipse/mosquitto/issues/150
2016-04-28 21:54:50 +01: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
18cc0f5fc7
Fix bugs introduced by previous commit
...
Signed-off-by: Pierre Fersing <pierre.fersing@bleemeo.com>
2016-04-18 17:48:53 +02: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
Frank Busse
10bb523854
fix 16 byte memory leak
...
Adds missing free for config->pid_file in mqtt3_config_cleanup.
Signed-off-by: Frank Busse <bb0xfb@gmail.com>
2016-03-24 13:34:39 +01:00
Frank Busse
defbfbd185
DOS: use-after-free in ACL message handling
...
Removing the last message in queue because of an ACL leaves last_msg
in a corrupted state. Therefore an unauthorized attacker may cause a
segfault of the broker.
Signed-off-by: Frank Busse <bb0xfb@gmail.com>
2016-03-24 13:19:45 +01:00
Roger A. Light
37dceb38f9
Fix some defects discovered by coverity.
2016-03-18 11:54:36 +00:00
Roger A. Light
09ea5cbf2c
mosquitto_db_dump can now output some client stats.
...
This may be useful for finding out which clients are using significant
amounts of persistence space.
2016-03-15 00:18:40 +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
1b190b14f1
Fix auth deferring with no pwfile defined.
2016-03-13 07:21:31 +00:00
Roger A. Light
db2e66c543
Reorganise functions into separate files as appropriate.
2016-03-12 21:49:48 +00:00
Roger A. Light
6087d4bcb6
Fix incorrect calloc/mosquitto__free pair.
2016-03-12 13:27:25 +00:00
Roger A. Light
fda0cb3d45
Fix incorrect $SYS heap memory reporting when using ACLs.
2016-03-12 13:25:20 +00:00
Roger A. Light
abc2f3f9de
Network errors are printed correctly on Windows.
2016-03-07 20:57:22 +00:00
Roger A. Light
a79412e3d8
Fix compile error from library keepalive handling.
2016-03-06 19:49:20 +00:00
Roger A. Light
1065a0f202
Will topic isn't truncated when using a mount_point.
2016-03-05 22:38:05 +00:00
Roger A. Light
6bac3f072c
Reconnecting client doesn't start with mid=1 again.
2016-03-05 22:34:05 +00:00
Roger A. Light
d9142c3974
[476314] Deliver queued WS client msgs on reconnect.
...
Thanks to Joking Young and Christoph Krey.
Bug: https://bugs.eclipse.org/bugs/show_bug.cgi?id=476314
2016-03-05 22:31:52 +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
f588075931
[485589] Close stdin etc. when daemonised.
...
Bug: https://bugs.eclipse.org/bugs/show_bug.cgi?id=485589
2016-02-11 21:49:55 +00:00
Roger A. Light
eb514c9707
[487178] Obey mount_point when publishing wills.
...
Wills published by clients connected to a listener with mount_point defined
now correctly obey the mount point. This was a potential security risk
because it allowed clients to publish messages outside of their restricted
mount point. This is only affects brokers where the mount_point option is in
use.
Thanks to Lance Riley.
Bug: https://bugs.eclipse.org/bugs/show_bug.cgi?id=487178
2016-02-11 21:17:55 +00:00
Roger A. Light
bd906e6753
Fix merge error.
2016-01-26 15:55:17 +00:00
Roger A. Light
b83c58763d
Add mosquitto_subscribe_single()/multiple().
2016-01-25 23:12:33 +00:00
Roger A. Light
af96c0b8fa
[485143] Futher fix for broken win32 connections.
2016-01-19 14:05:39 +00:00
Roger A. Light
00491da031
[485143] Fix detection of broken connections on Windows.
...
Thanks to Pierre-Yves Boisbunon.
Bug: https://bugs.eclipse.org/bugs/show_bug.cgi?id=485143
2016-01-14 21:15:02 +00:00
Roger A. Light
51f275bd02
Error messages for websockets init failure.
2016-01-07 21:56:16 +00:00
Roger A. Light
fca9ac84f7
Merge fixes into develop.
2016-01-06 21:10:34 +00:00
Roger A. Light
2549919413
Fix support for libwebsockets 1.22.
2015-12-21 11:32:02 +00:00
Roger A. Light
7aa653c42f
Add support for libwebsockets 1.6.
2015-12-19 01:21:17 +00:00
Roger A. Light
559e2438cb
Revert "Add support for sending direct messages to clients."
...
This reverts commit 8f54cde293
.
2015-11-18 12:27:23 +00:00
Roger A. Light
8f54cde293
Add support for sending direct messages to clients.
...
This works through $CLIENT/direct/<client id>, using the
allow_direct_messages option.
2015-11-13 21:01:56 +00:00
Roger A. Light
80300f8fa1
[468987] Free unused topic tree elements.
...
Fix in 1.4.3 was incomplete.
Thanks to Guido Hinderberger et al.
2015-11-08 20:23:07 +00:00
Roger A. Light
4b9b792d16
Update all mqtt 3.1 references to 3.1.1 where appropriate.
2015-10-24 21:50:19 +01:00
Roger A. Light
26eac3c1ca
Fix possible memory leak with bridges and SSL.
...
Fix possible memory leak if bridge using SSL attempts to connect to a
host that is not up.
Thanks to Ed Morris.
2015-10-12 14:48:52 +01:00
Roger A. Light
4afe1a1502
Swap plugin+built in order.
2015-10-02 21:44:39 +01:00
Roger A. Light
f5f5d3885d
Fix incorrect defines.
2015-09-29 12:34:56 +01:00
Roger A. Light
0d449d31b8
strlen(x) == 0 -> STREMPTY(x)
2015-09-22 14:47:12 +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
ed97a3b2f1
Fix potential memory leaks.
2015-09-22 14:08:10 +01:00
Roger A. Light
9fb288d283
Fix malloc/_mosquitto_free mismatch.
2015-09-22 14:04:47 +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
011de7ed19
Fix excessive calls to message retry check.
2015-09-16 22:14:26 +01:00
Roger A. Light
2597da17c2
[475807] Fix cross compiling of websockets.
...
Thanks to Tyler Brandon.
Bug: https://bugs.eclipse.org/bugs/show_bug.cgi?id=475807
2015-09-16 21:13:03 +01:00
Roger A. Light
0c0961f6a4
[477571] Fix socket leak with bridges.
...
Don't leak sockets when an outgoing bridge connection with multiple
addresses is rejected.
Thanks to Johnny Egeland.
Bug: https://bugs.eclipse.org/bugs/show_bug.cgi?id=477571
2015-09-16 17:39:00 +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
201bb1a04a
Fix potential crash on libwebsockets error.
2015-08-18 23:33:55 +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
Roger A. Light
2172ffb56c
[470253] Fix potential memory leaks.
...
Bug: https://bugs.eclipse.org/bugs/show_bug.cgi?id=470253
Also-by: Wun Yu <wuyun1984_1984@163.com>
2015-08-17 22:10:26 +01:00
Roger A. Light
ab7f212b7e
[468987] Free unused topic elements.
...
Reduces memory usage and CPU usage.
Thanks to Guido Hinderberger, Martin Rauscher and Michael Hekel.
Bug: https://bugs.eclipse.org/bugs/show_bug.cgi?id=468987
2015-08-17 21:25:30 +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
e49e398eb3
Fix handling of outgoing QoS>0 messages for bridges.
...
Fix handling of outgoing QoS>0 messages for bridges that could not be
sent because the bridge connection was down.
2015-08-17 20:50:41 +01:00
Anmol Sarma
343e833fd9
Remove superfluous branch.
...
Signed-off-by: Anmol Sarma <me@anmolsarma.in>
2015-08-10 09:33:05 -04:00
Roger A. Light
4c147309a4
Minimum supported libwebsockets version is now 1.3.
2015-07-08 09:07:48 +01:00
Roger A. Light
300034f868
Initialise all plugins, not just the first.
2015-07-02 10:26:57 +01:00
Roger A. Light
e773ea1bee
[464543] Run default checks after plugins.
2015-06-29 23:31:39 +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
a4dad02064
[470246] Change sys tree print output on USR2.
...
Thanks to Yun Wu.
Bug: https://bugs.eclipse.org/bugs/show_bug.cgi?id=470246
2015-06-29 21:24:16 +01:00
Roger A. Light
e0037b348f
[465438] Fix incorrect behaviour for autosave_interval.
...
Thanks to Jaime Yu.
Bug: https://bugs.eclipse.org/bugs/show_bug.cgi?id=465438
2015-06-29 17:11:16 +01:00
Roger A. Light
6f193de3a5
[470258] Don't make unnecessary copies of payload in db__messages_store.
...
Along with the previous commit this closes #470258 .
Bug: https://bugs.eclipse.org/bugs/show_bug.cgi?id=470258
2015-06-28 22:25:49 +01:00
Roger A. Light
9bccd31b36
Don't make unnecessary copies of topic in db__messages_store.
2015-06-28 21:16:48 +01:00
Roger A. Light
bfd743f42d
Updated uhpa code with "move" function.
2015-06-28 16:59:03 +01:00
Roger Light
6fe5de46b4
Merge "[471053] Add systemd support and services." into develop
2015-06-26 06:45:42 -04:00
Tomas Novotny
29731b5e46
[471053] Add systemd support and services.
...
Add possibility to notify systemd that service is fully started. Also add
reference service files.
Change-Id: Ib4e39c8406ab6c15e1b88f197ae8f91c3e402023
Bug: https://bugs.eclipse.org/bugs/show_bug.cgi?id=471053
Signed-off-by: Tomas Novotny <novotny@rehivetech.com>
2015-06-26 10:29:39 +02: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
Tomas Novotny
45d5686fdb
Add missing CROSS_COMPILE.
...
CROSS_COMPILE variable is missing before websockets, so cross compilation
fails.
Signed-off-by: Tomas Novotny <novotny@rehivetech.com>
2015-06-22 20:18:35 +02:00
Roger A. Light
7657aac584
[469467] Fixes and documentation to use_subject_as_username patch.
...
This is for certificate based client authentication.
Thanks to Fabian Ruff.
Bug: https://bugs.eclipse.org/bugs/show_bug.cgi?id=469467
2015-06-12 22:52:15 +01:00
Fabian Ruff
f0511d0ff7
Add user_subject_as_username option
...
This adds an alternative option to use_identity_as_username.
In contrast to use_identity_as_username this option uses the full x509 subject as the username.
The subject is formatted as an rfc4514 distingushed name e.g. CN=client,OU=unit,O=org
Signed-off-by: Fabian Ruff <fabian@progra.de>
2015-06-12 22:28:36 +01:00
Roger A. Light
e469843ed9
Produce an error if two bridges share the same local_clientid.
2015-06-09 23:18:13 +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
0733b3f68b
Fix use of sprintf.
2015-05-21 17:15:10 +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
cdb1cf9b13
Remove typos.
2015-05-17 07:31:54 +01:00
Roger A. Light
15b291eaa4
Remove unsigned comparison against <0.
...
Coverity CID 1292471.
2015-05-17 07:04:41 +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
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
a6827df6c0
[467096] Fix incorrect bridge notification.
...
If a custom notification topic was used, the bridge status would be set
to 1 before a connection was attempted, this has been fixed.
Initial updates to the status topic are now only set once, when the
broker starts, rather than each time the bridge attempts to reconnect.
Bug: https://bugs.eclipse.org/bugs/show_bug.cgi?id=467096
2015-05-16 12:05:17 +01:00
Roger A. Light
6f2fe06f0b
[464811] Fix handling of payload lengths>4096 with websockets.
...
Thanks to Arjen van Elteren and Stephen Zeng.
Bug: https://bugs.eclipse.org/bugs/show_bug.cgi?id=464811
2015-05-06 16:40:10 -05:00
Roger A. Light
121c2ca002
Broker will return CONNACK rc=5 when a client is not authorised.
...
This was being incorrectly set as rc=4.
2015-05-06 04:54:11 -05: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
ec2fcce43b
Don't send websockets messages if the message is queued.
2015-04-29 10:16:59 +01:00
Roger A. Light
11d0d887f0
Fix parsing of auth_opt_ arguments with extra spaces/tabs.
2015-04-24 20:57:30 +01:00
Roger A. Light
cc7beb62a5
[465384] Fix crash on Windows when using bridges.
...
Thanks to Stefan Rosskopf.
Bug: https://bugs.eclipse.org/bugs/show_bug.cgi?id=465384
2015-04-24 09:34:24 +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
21b372ed9e
ACLs are now checked before sending a will message.
2015-04-18 22:16:57 +01:00
Roger A. Light
991f1173d7
Fix persistent db writing on Windows.
...
Bug: https://bugs.eclipse.org/bugs/show_bug.cgi?id=464779
2015-04-17 21:51:24 +01:00
Roger A. Light
1bdd6c36a8
Fix incorrect bridge connection notifications on local broker.
2015-04-17 21:51:21 +01:00
Roger A. Light
90dc6d8c4c
Don't use uhpa for whole topics, unlikely to be of benefit.
2015-04-11 21:17:16 +01:00
Roger A. Light
0ddd438161
Helper macros.
2015-04-05 10:02:16 +01:00
Roger A. Light
c7d6c1a865
UHPA comments.
2015-04-04 23:58:18 +01:00
Roger A. Light
2da74ad043
Use uhpa for topics.
2015-04-04 21:15:27 +01:00
Roger A. Light
2ecee163ef
Use uhpa for payloads.
2015-04-01 09:35:40 +01:00
Roger A. Light
960b3ef32d
Fix possible minor memory leak on acl parsing.
2015-03-30 22:26:44 +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
7cd14725da
Fix compiler warning.
2015-03-28 15:16:15 +00:00
Roger A. Light
502c3e7563
[461619] Disconnect idle websockets clients.
...
Websockets clients are now periodically disconnected if they have not
maintained their keepalive timer.
Bug: https://bugs.eclipse.org/bugs/show_bug.cgi?id=461619
2015-03-27 20:50: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
ccc8a81187
Ignore multiple spaces when parsing acl files.
2015-03-26 22:37:01 +00:00
Roger A. Light
c6450ac265
[462154] Fix problems parsing config strings with leading spaces.
...
Thanks to Aidan Gill.
Bug: https://bugs.eclipse.org/bugs/show_bug.cgi?id=462154
2015-03-15 20:49:18 +00:00
Roger A. Light
28404350c4
Fix possible crash when using pattern ACLs.
2015-03-08 21:00:15 +00:00
Roger A. Light
3a36ae843b
Fix lws 1.3 detection.
2015-02-23 15:20:23 +00:00
Roger A. Light
fcf91f9cd9
Fix compiling on Linux with CMake.
2015-02-22 12:20:29 +00:00
Roger A. Light
279b67bf8d
Minor packaging related fixes.
2015-02-18 01:34:43 +00:00
Roger A. Light
f04c10e609
Fix incorrectly committed change.
2015-02-17 23:23:13 +00:00
Roger A. Light
ff3ebd969b
Fix building on OS X.
2015-02-17 23:21:14 +00:00
Roger A. Light
ff9c2087b1
Basic support for libwebsockets 1.2.x.
2015-02-16 22:02:34 +00:00
Roger A. Light
2098d6a392
Remove debug line.
2015-02-15 20:10:46 +00:00
Roger A. Light
91c1972c1f
Consistent error message.
2015-02-14 13:08:49 +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
8b1560def0
Parse config strings as entire line.
2015-02-12 22:48:28 +00:00
Roger A. Light
f781498c03
Ensure that file logging uses the correct username.
2015-02-08 22:06:11 +00:00
Roger A. Light
626857b20a
Close and reopen log_dest file on HUP.
2015-02-05 22:44:38 +00:00
Roger A. Light
c276fd9572
When using "log_dest file" the output file is now flushed periodically.
2015-02-05 22:29:49 +00:00
Roger A. Light
22e09ae613
[455402] Fix potential hang with pattern acls.
...
Fix hang if pattern acl contains a %u but an anonymous client connect.
Thanks to Christoph Krey.
Bug: https://bugs.eclipse.org/bugs/show_bug.cgi?id=455402
2015-01-27 23:33:36 +00:00
Roger A. Light
45b8220a82
[458690] Fix build for WITH_BRIDGE=no
...
Thanks to Alexandre Zia.
Bug: https://bugs.eclipse.org/bugs/show_bug.cgi?id=458690
2015-01-27 23:33:36 +00:00
Roger A. Light
8eda59c1d9
[452927] Fix bind()/listen() error reporting on Windows.
...
Bug: https://bugs.eclipse.org/bugs/show_bug.cgi?id=452927
2015-01-28 20:56:51 +00:00
Roger A. Light
1b4903b41e
[431780] ACL files can contain a space in username/topic.
...
Bug: https://bugs.eclipse.org/bugs/show_bug.cgi?id=431780
2015-01-27 23:33:36 +00:00
Roger A. Light
153e6e6211
[452914] Drop root privileges after listeners started.
...
This means that TLS private keys can be restricted to the root user.
Bug: https://bugs.eclipse.org/bugs/show_bug.cgi?id=452914
2015-01-27 23:33:36 +00:00
Roger A. Light
87d8e1f705
Bridge support for MQTT v3.1.1.
2015-01-27 17:12:36 +00:00
Roger A. Light
34176359c9
[452913] Prevent dereferencing of NULL string.
...
Bug: https://bugs.eclipse.org/bugs/show_bug.cgi?id=452913
2015-01-26 21:02:53 +00:00
Roger A. Light
96d98e620b
Fix compiling on Apple.
2015-01-24 22:18:28 +00:00
Roger A. Light
0adb2ed217
[425835] Support for "hour client expiration times.
...
This allows shorter values for the persistent_client_expiration option.
Bug: https://bugs.eclipse.org/bugs/show_bug.cgi?id=425835
2015-01-15 21:57:03 +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
97849e8825
Remove unnecessary uses of calloc.
2015-01-14 21:43:39 +00:00
Roger A. Light
cfe1156eb7
Reference count store structs when reloading from db.
...
Without this increment, a message could be incorrectly freed in rare
circumstances.
2015-01-08 18:41:14 +00:00
Roger A. Light
b52e3311d2
Disconnect websockets clients properly.
...
context->state was being overwritten when websockets clients
attempted to disconnect, leaving them in limbo. This has been fixed.
Thanks to FeelyChau.
2015-01-07 23:33:31 +00:00
Roger A. Light
faaf3edd02
Fix library linking with CMake.
...
When using CMake it wasn't possible to use libwrap due to a
configuration error. This has been fixed.
Thanks to Markus Rathgeb.
2015-01-07 22:18:39 +00:00
Roger A. Light
175794826b
[456899] Broker: Add bridge_attempt_unsubscribe option.
...
The bridge_attempt_unsubscribe option has been added, to allow the sending
of UNSUBSCRIBE requests to be disabled for topics with "out" direction.
Bug: https://bugs.eclipse.org/bugs/show_bug.cgi?id=456899
2015-01-07 21:50:10 +00:00
Roger A. Light
778bd4ca25
Clear store variable correctly here.
2015-01-06 17:37:56 +00:00
Roger A. Light
0e72d3cc32
Should check acl result for lack of success, not presence of error.
2015-01-06 17:35:46 +00:00
Roger A. Light
f8f794c531
Allow expiring clients to be cleaned up.
2015-01-06 17:35:12 +00:00
Roger A. Light
b30adbf792
Remove incorrectly committed file.
2015-01-06 11:25:25 +00:00
Roger A. Light
fb588ef434
Print dlerror on library loading errors.
2014-11-20 22:33:40 +00:00
Roger A. Light
85a294922e
Protect stored messages from removal when queing.
2014-11-20 21:13:21 +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
2ce4d94282
Fix dereferencing of msg store items.
2014-11-19 20:59:10 +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
1e64bb171a
More memory efficient message store than with hashes.
...
Also frees messages from the message store after removing...
2014-11-18 19:12:08 +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
4374170c40
Use hash for message store to speed up loading.
...
Comes at the expense of increased memory usage. This could be countered
by using a hash just for loading (increased memory usage during loading,
reduced afterwards) but this approach does allow the immediate removal
of messages from the store.
2014-11-17 22:54:39 +00:00
Roger A. Light
9b9f1c7613
Remove unnecessary callocs.
2014-11-17 22:00:00 +00:00
Roger A. Light
975b127d17
Sanitise password file argv input.
2014-11-17 21:00:33 +00:00
Roger A. Light
36f88d902d
Fix errors from big code import.
2014-11-12 20:47:16 +00:00
Roger A. Light
00d951e6d6
Allow plugins to call mosquitto_log_printf() (Linux only at the moment).
2014-11-03 08:45:56 +00:00
Roger A. Light
fc1e514ad4
Add log_facility for non-Windows OSs.
2014-11-02 21:49:33 +00:00
Roger A. Light
0a86aee5fb
Authentication plugin acl_check function is passed local_username for local bridges.
2014-10-29 22:11:18 +00:00
Roger A. Light
ab49b96db1
Windows related fixes.
2014-10-26 21:17:08 +00:00
Roger A. Light
6524115f45
Error if websockets not available.
2014-10-25 00:46:58 +01:00
Roger A. Light
052c2d7766
Fix for Windows.
2014-10-24 22:49:48 +01:00
Roger A. Light
041f60c03e
Make bridge connections non-blocking for TLS connections.
2014-10-24 22:39:09 +01:00
Roger A. Light
c92e2f5581
Declare variables before code.
2014-10-24 21:57:33 +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
4ff6a6aa49
Remove duplicate strlen check.
2014-10-23 17:30:09 +01:00
Roger A. Light
66443c14bd
Assign to NULL to prevent double free later.
2014-10-21 23:11:31 +01:00
Roger A. Light
7a2dd634cb
Protect against possible NULL dereference after unsubscribing.
2014-10-20 18:01:45 +01:00
Roger A. Light
372b64a290
More "client has disconnected but is not freed" protections.
2014-10-17 00:08:10 +01:00
Roger A. Light
c8dffcbfbb
Fixes for clientid stealing situation.
2014-10-16 23:48:56 +01:00
Roger A. Light
02be4965ea
Don't rearrange leaves here until we are sure we have all the memory allocated.
2014-10-16 23:18:12 +01:00
Roger A. Light
eb01459571
Protect against client->id NULL dereference.
2014-10-16 23:06:47 +01:00
Roger A. Light
065c6356d4
Don't derefence NULLs.
2014-10-16 23:04:26 +01:00
Roger A. Light
7746427b07
Record client subs correctly.
2014-10-16 22:35:05 +01:00
Roger A. Light
43b1ea8050
Memory leak and id stealing fixes.
2014-10-12 23:58:49 +01:00
Roger A. Light
e3bf10cd9a
Change the way that new clients with match client ids are dealt with.
...
This change means that the connection isn't swapped from new context to
old, which makes dealing with websockets lots easier. It does require
that clients storing a list of their subscriptons.
2014-10-12 11:38:21 +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
070d783c9f
Merge 1.3.2-1.3.5 into 1.4.
2014-10-12 11:17:13 +01:00
Roger A. Light
1a47f86648
Typo fix.
2014-10-08 22:48:47 +01:00
Roger A. Light
8cb9b195e5
When using -v and the broker receives a SIGHUP, verbose logging was being disabled. This has been fixed.
2014-10-08 21:38:01 +01:00
Roger A. Light
bad7ec75f0
Temporarily disable ACL checks on subscriptions when using MQTT v3.1.1.
...
This is due to the complexity of checking wildcard ACLs against wildcard
subscriptions. This does not have a negative impact on security because
checks are still made before a message is sent to a client. Fixes bug
Thanks to Jan-Piet Mens and Christoph Krey.
2014-10-08 21:16:34 +01:00
Roger A. Light
429c892557
Fix saving persistent database on Windows.
...
Thanks to Daniel Degasperi.
2014-10-08 20:51:17 +01:00
Roger A. Light
43556537e3
Don't ask for client cert when require_certificate is false.
2014-10-07 23:20:46 +01:00
Roger A. Light
4a19d9ae3a
Fix possible memory leak when using a topic that has a leading slash.
...
Fixes bug #1360986 .
2014-10-05 21:24:08 +01:00
Roger A. Light
950c4ed9c6
Check return value of fseek for errors.
2014-09-23 00:45:12 +01:00
Roger A. Light
84214bcd99
Simplify appending of topics when tokenising. Helps remove dead code.
2014-09-23 00:42:25 +01:00
Roger A. Light
aa2e6a8d29
Fix possible NULL derefence.
2014-09-23 00:35:51 +01:00
Roger A. Light
db9d6b9f3d
Fix potential memory leak from context->current_out_packet.
2014-09-23 00:32:34 +01:00
Roger A. Light
154b2fc264
Must remove memory reference here.
2014-09-22 23:37:19 +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
2a922e9f06
Fix verbose logging on reload.
2014-09-22 23:05:29 +01:00
Roger A. Light
e561b5ea08
Windows fix.
2014-09-19 10:43:14 +01:00
Roger A. Light
7fb629d818
Fix potential leak.
2014-09-19 00:56:37 +01:00
Roger A. Light
58c857c473
Fix for windows.
2014-09-19 00:35:10 +01:00
Roger A. Light
58a7565a2b
Check http request directories on Windows.
2014-09-17 23:14:22 +01:00
Roger A. Light
99779c03c7
Fix reporting of local bridge status.
2014-09-17 22:40:49 +01:00
Roger A. Light
65526d2746
No need to call lws_partial_buffered() here. It is never set at the start of a callback.
2014-09-17 22:27:18 +01:00
Roger A. Light
f61a8cbf74
Get address for websockets clients.
2014-09-17 22:19:45 +01:00
Roger A. Light
91fa1c9625
Disable ipv6 websockets.
2014-09-17 21:55:02 +01:00
Roger A. Light
2bf7a8fb13
Prevent NULL derefencing and accessing of freed memory.
2014-09-17 21:53:39 +01:00
Roger A. Light
3d58f5ed82
Some minor memory leak fixes.
2014-09-17 21:50:08 +01:00
Roger A. Light
1fb5a3edc6
Use hash counts to calculate numbers of clients.
2014-09-17 00:03:14 +01:00
Roger A. Light
3eead8c507
retained_ and subscription_count only used with sys tree.
2014-09-16 23:48:26 +01:00
Roger A. Light
7b1ee68ef1
Remove compilation warnings for various configurations.
2014-09-15 22:13:13 +01:00
Roger A. Light
dd36c4b273
Don't attempt to find real path of NULL.
2014-09-15 21:43:44 +01:00
Roger A. Light
9286da192e
Fix unused var.
2014-09-14 18:12:30 +01:00
Roger A. Light
f9951595c8
Fix missing headers.
2014-09-14 18:08: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
3c5ca95c81
File serving from http on *nix.
2014-09-08 23:25:02 +01:00
Roger A. Light
b84ca80052
Skeleton callback_http() function.
2014-09-08 18:39:51 +01:00
Roger A. Light
f500ff78b8
no_buffer_all_partial_tx not in latest LWS.
2014-09-08 18:24:12 +01:00
Roger A. Light
c4e7233159
Add http_dir option (not yet used).
2014-09-08 18:21:53 +01:00
Roger A. Light
d75473ec63
Fix possible memory leaks.
...
Thanks to Johann Haarhoff.
2014-09-06 21:51:59 +01:00
Roger A. Light
b01b0b581f
Produce error if unable to create WS listener.
2014-08-19 16:29:42 +01:00
Roger A. Light
ef573448f4
Another bridge notification fix.
2014-08-19 11:29:24 +01:00
Roger A. Light
1fdc4ceee6
Check expiration every hour regardless of the duration.
2014-08-19 01:11:22 +01:00
Roger A. Light
76724c790e
Disconnect expired clients correctly.
2014-08-19 00:36:09 +01:00
Roger A. Light
580cd722dc
Remote/local bridge fixes.
2014-08-16 23:14:41 +01:00
Roger A. Light
b937a043e7
Rename remote bridge identifiers to remote_.
2014-08-16 21:31:12 +01:00
Roger A. Light
950db12c74
Don't free local bridge clients on disconnect.
2014-08-05 09:06:50 +01:00
Roger A. Light
56ff849c65
Backout changeset c7589b77956c5bac076ae23905fbfc8902d69dc5.
2014-08-02 21:48:08 +01:00
Roger A. Light
e6239e1b3c
Backout changeset 76f3a755c6548690f69f2256c8b83c7a0f0f9a95.
2014-08-02 21:43:04 +01:00
Roger A. Light
d8a3ab7d56
Don't ask client for certificate when require_certificate is false.
...
Thanks to Jan-Piet Mens.
2014-08-02 21:40:54 +01:00
Roger A. Light
8e7736b78e
Fix incorrect handling of anonymous bridges on the local broker.
...
Thanks to Jan-Piet Mens.
2014-08-01 21:34:21 +01:00
Roger A. Light
6af0c236e8
Each listener requires its own copy of the protocols struct.
2014-07-28 14:14:36 +01:00
Roger A. Light
77999c7fd0
Fix incorrect commit.
2014-07-13 21:48:33 +01:00
Roger A. Light
e5aa843ec7
Don't allow access to clients when authenticating if a security plugin returns an application error. Fixes bug #1340782 .
...
Thanks to Charlie Davis.
2014-07-13 21:20:18 +01:00
Roger A. Light
8efb4f9334
Fix bug #1324411
...
Thanks to chenzhenianqing.
2014-07-13 14:28:24 +01:00
Roger A. Light
885d8ca5db
When a durable client reconnects, its queued messages are now checked against ACLs in case of a change in username/ACL state since it last connected.
...
Thanks to "web1".
2014-07-13 14:18:08 +01:00
Roger A. Light
45fa820989
Anonymous clients are no longer accidently disconnected from the broker after a SIGHUP.
2014-07-13 14:11:43 +01:00
Roger A. Light
8b2effcc36
Don't check for POLLERR or POLLNVAL.
...
Errors will be caught when trying to read anyway, and doing these checks
here means that sockets may be closed prematurely.
2014-07-08 23:43:21 +01:00
Roger A. Light
0ff0cfb3d3
Need to include bridges here.
2014-07-08 23:29:16 +01:00
Roger A. Light
9bb336bbf3
Use do_disconnect() for websockets.
2014-07-08 23:18:11 +01:00
Roger A. Light
95a4ec431d
Don't try to disconnect twice.
2014-07-08 23:16:34 +01:00
Roger A. Light
bb1a69b7d7
Disconnect clients consistently.
2014-07-08 23:07:19 +01:00
Roger A. Light
22094aa00d
Memory checks.
2014-07-04 21:32:27 +01:00
Roger A. Light
3fd1dc477f
Fix defects identified by Coverity.
2014-07-03 21:55:25 +01:00
Roger A. Light
5ac576f2ab
Request write callback if there is still more to send.
2014-07-03 18:48:40 +01:00
Roger A. Light
405b7f0aab
Don't free here, leads to potential double free.
2014-07-03 17:37:31 +01:00
Roger A. Light
0856e9519d
Need to assign ws_context here.
2014-07-03 11:32:54 +01:00
Roger A. Light
399453837d
Log websockets listeners being opened.
2014-07-03 11:32:29 +01:00
Roger A. Light
13f94f3511
More reconnect fixes.
2014-07-03 01:00:57 +01:00
Roger A. Light
2b300b718b
Fix double free for websockets with bad auth.
2014-07-02 20:57:04 +01:00
Roger A. Light
0fb064e0b4
Fix clean session for reconnecting clients.
2014-07-02 20:44:08 +01:00
Roger A. Light
fe5dba5887
Add use_username_as_clientid.
2014-07-02 00:09:50 +01:00
Roger A. Light
864f1f0d23
Initialise variable.
2014-06-30 23:37:37 +01:00
Roger A. Light
84619c296d
Fix building for WITH_BRIDGE=no.
2014-06-30 23:37:03 +01:00
Roger A. Light
d75903b0ae
Fix reconnect support for websockets.
2014-06-30 23:30:43 +01:00
Roger A. Light
d60e44ec1b
Handle reconnects for websockets.
2014-06-30 06:58:56 +01:00
Roger A. Light
542ebb2480
Free peer certificate after use.
2014-06-30 05:33:41 +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
ff5fd26e13
Free base64 memory properly.
2014-06-27 22:59:50 +01:00
Roger A. Light
7f18ced0b4
Close websockets connection if we are set to disconnecting.
2014-06-26 22:13:22 +01:00
Roger A. Light
482d604598
Only remove from hash if a valid socket (i.e. if present)
2014-06-23 23:51:16 +01:00
Roger A. Light
3577dbf332
Add sock hash earlier to avoid crashes.
2014-06-23 23:47:48 +01:00
Roger A. Light
0fc0e13a8f
Can't access mosq after free.
2014-06-23 18:44:42 +01:00
Roger A. Light
19056e6d4c
Removed $SYS/broker/changeset.
2014-06-23 18:37:15 +01:00
Roger A. Light
480d8a08d0
Count disconnected clients on persistence restore.
2014-06-23 18:29:25 +01:00
Roger A. Light
749ea76678
Typo.
2014-06-23 18:20:32 +01:00
Roger A. Light
cc33a6e5af
Do proper cleanup, including websockets.
2014-06-23 18:18:29 +01:00
Roger A. Light
764b7e0a91
Use hash functions to store client data.
2014-06-23 17:57:35 +01:00
Roger A. Light
7911db1a1e
Simplify.
2014-06-23 09:43:32 +01:00
Roger A. Light
bd2aa2f426
Add batch mode to mosquitto_passwd.
2014-06-20 20:59:04 +01:00
Roger A. Light
9a9dba6cd5
Support for mqttv3.1 subprotocol string.
2014-06-20 10:52:10 +01:00
Roger A. Light
29e65e4965
Anonymous clients are no longer accidently disconnected from the broker after a SIGHUP.
2014-06-18 23:17:40 +01:00
Roger A. Light
4025fad5aa
libuuid is used to generate client ids, where it is available, when an MQTT v3.1.1 client connects with a zero length client id.
2014-06-15 01:07:05 +01:00
Roger A. Light
731391bcb3
Separate function for generating a random client id.
2014-06-15 00:37:30 +01:00
Roger A. Light
0461c08fdf
use_identity_as_username now no longer affects non-TLS listeners.
2014-06-14 23:42:24 +01:00
Roger A. Light
af49fc556a
When a durable client reconnects, its queued messages are now checked against ACLs in case of a change in username/ACL state since it last connected.
...
Thanks to "web1".
2014-06-13 23:07:00 +01:00
Roger A. Light
930b917217
Save disconnect_t for connected clients when the broker exits.
2014-06-13 22:34:04 +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
e221b37658
Add stats mode for db_dump.
2014-06-05 11:56:32 +01:00
Roger A. Light
7b62bfd7da
Use time() for disconnect_t, CLOCK_MONOTONIC isn't useful over reboots.
2014-06-04 22:14:16 +01:00
Roger A. Light
1ef8575a35
Reset disconnect_t on client reconnect.
2014-06-04 22:13:19 +01:00
Roger A. Light
ad43754b62
Log username in single quotes.
2014-06-03 17:06:11 +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
7cef936ba6
Logging fixes.
2014-06-03 15:16:27 +01:00
Roger A. Light
c8a0786dea
TLS websockets support.
2014-06-03 02:10:55 +01:00
Roger A. Light
6a7f77d2a8
More intelligent client counting.
2014-06-02 22:08:40 +01:00
Roger A. Light
0d80800786
Don't refuse clients with will topic that isn't allowed by acl.
2014-06-02 01:19:48 +01:00
Roger A. Light
ef4b7a52a0
Fix missing headers for WITH_TLS=no.
2014-06-02 01:01:29 +01:00
Roger A. Light
fd7d5ebbb9
Change $SYS/broker/clients/[in]active -> $SYS/broker/clients/[dis]connected
2014-06-02 00:51:40 +01:00
Roger A. Light
e4ddc31295
Fix for MQTT-3.8.4-3.
2014-05-31 23:26:46 +01:00
Roger A. Light
85af9bdd9a
Simplify.
2014-05-31 22:12:20 +01:00
Roger A. Light
87579e0cac
Remove STRICT_PROTOCOL #ifdefs.
2014-05-31 21:53:35 +01:00
Roger A. Light
1984e2e37d
v3.1.1 requires websockets protocol to be mqtt.
2014-05-31 21:24:16 +01:00
Roger A. Light
c13f4c7931
Close config files on error.
2014-05-31 21:12:39 +01:00
Roger A. Light
5da25ae5d9
Add support for "session present" in CONNACK messages for MQTT v3.1.1.
2014-05-31 15:20:40 +01:00
Roger A. Light
0224db85c4
Fix bug #1324411
2014-05-29 15:22:48 +01:00
Roger A. Light
6cc3e7999e
Tidy up.
2014-05-27 22:02:52 +01:00
Roger A. Light
859224224a
Fix potential memory leak.
2014-05-27 21:11:05 +01:00
Roger A. Light
6a03972507
Default to websockets off for cmake.
2014-05-27 19:49:33 +01:00
Roger A. Light
be0cfff969
Fix possible leaks.
2014-05-26 21:23:19 +01:00
Roger A. Light
7d197563bc
Fix for non-lws compilation.
2014-05-26 19:16:59 +01:00
Roger A. Light
1148cdae23
Loop fix.
2014-05-26 18:01:24 +01:00
Roger A. Light
063928bbfe
Merge websockets -> 1.4.
2014-05-26 17:22:52 +01:00
Roger A. Light
e8f07d706d
Per-listener processing of websockets contexts.
2014-05-26 17:09:44 +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
58891769c1
Quicker to return here.
2014-05-18 22:45:09 +01:00
Roger A. Light
5ca13a82f9
No need for pthreads in broker code.
2014-05-18 22:44:02 +01:00
Roger A. Light
175299c872
Guard for incomplete code when using websockets.
2014-05-18 22:43:24 +01:00
Roger A. Light
50f9b6bd7a
Enable partial writes for mqtt websockets.
2014-05-18 22:41:22 +01:00
Roger A. Light
7316742cf4
Config support for websockets.
2014-05-18 22:40:20 +01:00
Roger A. Light
9ea161f90e
Return success on libwebsocket_write==0.
2014-05-18 20:54:44 +01:00
Roger A. Light
06625420e2
Fix for local_username/password bridge checks.
2014-05-08 23:27:35 +01:00
Roger A. Light
7b5b5cf43e
Add local_username, local_password for bridge connections to authenticate to the local broker.
2014-05-08 23:27:11 +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
Bart Van Der Meerssche
59eb5a65bf
include a switch to disable elliptic curve support in the broker
...
Change-Id: Ic874a92b79b32b4ebd2b8130fefe2b31fddd43b6
Signed-off-by: Bart Van Der Meerssche <bart@flukso.net>
2014-07-03 22:21:40 +02:00
Roger A. Light
fb7dd42e5d
Support for ECDHE-ECDSA family ciphers.
2014-07-03 19:35:37 +01:00
Roger A. Light
40818619fd
Deduplicate tls context code.
2014-07-03 19:33:36 +01:00
Roger A. Light
ae6baad2fa
Default TLS mode now accepts TLS v1.2, v1.1 and v1.0.
2014-05-24 23:18:54 +01:00
Roger Light
e5cc63a89b
Fix subscriptions sometimes being deleted.
...
Fix subscriptions being deleted when clients subscribed to a topic
beginning with a $ but that is not $SYS.
Thanks to David Woodward.
2014-05-08 23:05:34 +01:00
Roger Light
ab15557931
Fix possible crash when using pattern ACLs.
...
Crash may occur for ACLs that do not include a %u and clients that
connect without a username.
Thanks to Karl Palsson.
2014-05-08 23:03:15 +01:00
Roger Light
b8e34b0b05
Ensure that bridges verify certificates by default when using TLS.
...
Thanks to Stefan Borsje.
2014-05-08 22:48:13 +01:00
Roger A. Light
62171a381e
Fix for local_username/password bridge checks.
2014-05-08 19:24:58 +01:00
Roger A. Light
968004d9d8
Add local_username, local_password for bridge connections to authenticate to the local broker.
2014-05-08 18:45:34 +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