Commit Graph

200 Commits

Author SHA1 Message Date
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