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
8de5ed4464
Remove "error in poll" messages.
2017-06-27 22:32:10 +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
ab45f86d74
Prevent out of bounds array access.
2017-06-22 09:47:03 +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
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
f0485d1398
[344] Don't compile in async dns support by default for makefiles.
2017-02-08 22:30:00 +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
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
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
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
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
011de7ed19
Fix excessive calls to message retry check.
2015-09-16 22:14:26 +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 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
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
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
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
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
626857b20a
Close and reopen log_dest file on HUP.
2015-02-05 22:44:38 +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
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
f8f794c531
Allow expiring clients to be cleaned up.
2015-01-06 17:35:12 +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
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
fc1e514ad4
Add log_facility for non-Windows OSs.
2014-11-02 21:49:33 +00: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
a1f18323d1
Make bridge connections non-blocking for non-TLS connections.
2014-10-24 21:28:24 +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
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
7b1ee68ef1
Remove compilation warnings for various configurations.
2014-09-15 22:13:13 +01:00
Roger A. Light
f9951595c8
Fix missing headers.
2014-09-14 18:08:09 +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
950db12c74
Don't free local bridge clients on disconnect.
2014-08-05 09:06:50 +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
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
13f94f3511
More reconnect fixes.
2014-07-03 01:00:57 +01:00
Roger A. Light
864f1f0d23
Initialise variable.
2014-06-30 23:37:37 +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
cc33a6e5af
Do proper cleanup, including websockets.
2014-06-23 18:18:29 +01:00