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