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
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
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
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
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
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
b598aec385
Sys -> user includes.
2015-04-29 21:37:47 +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
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
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
28404350c4
Fix possible crash when using pattern ACLs.
2015-03-08 21:00:15 +00:00
Roger A. Light
db86809ee9
Add websockets logging options.
2015-02-13 22:57:49 +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
87d8e1f705
Bridge support for MQTT v3.1.1.
2015-01-27 17:12:36 +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
85a294922e
Protect stored messages from removal when queing.
2014-11-20 21:13:21 +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
fc1e514ad4
Add log_facility for non-Windows OSs.
2014-11-02 21:49:33 +00: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
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
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
c4e7233159
Add http_dir option (not yet used).
2014-09-08 18:21:53 +01:00
Roger A. Light
b937a043e7
Rename remote bridge identifiers to remote_.
2014-08-16 21:31:12 +01:00
Roger A. Light
13f94f3511
More reconnect fixes.
2014-07-03 01:00:57 +01:00
Roger A. Light
fe5dba5887
Add use_username_as_clientid.
2014-07-02 00:09:50 +01:00
Roger A. Light
d75903b0ae
Fix reconnect support for websockets.
2014-06-30 23:30:43 +01:00
Roger A. Light
bdb3e74100
More memory fixes.
2014-06-29 23:16:10 +01:00
Roger A. Light
3577dbf332
Add sock hash earlier to avoid crashes.
2014-06-23 23:47:48 +01:00
Roger A. Light
764b7e0a91
Use hash functions to store client data.
2014-06-23 17:57:35 +01:00
Roger A. Light
11631d8d92
Add local_clientid for bridges.
2014-06-10 23:30:15 +01:00
Roger A. Light
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