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