Roger A. Light
89f3d7bb3f
Don't print connect/disconnect messages when connection_messages false.
...
Closes #772 . Closes #613 . Closes #537 .
Thanks to Christopher Maynard, Brandon Arrendondo, and qubeck.
7 years ago
Abilio Marques
ead440e47d
bridge: fix issue where keepalive_interval gets added to restart_timeout using ADNS
...
Signed-off-by: Abilio Marques <abiliojr@gmail.com>
7 years ago
Roger A. Light
54db895cb3
Rename clean_session to clean_start for v5.
7 years ago
Abilio Marques
a4a5236568
fix bug where bridge doesn't honor restart_timeout setting
...
Signed-off-by: Abilio Marques <abiliojr@gmail.com>
7 years ago
Roger A. Light
eff8fab1b4
Only process network errors for clients that have nothing to read.
...
Closes #7 .
7 years ago
Roger A. Light
93f9e965a8
Only remove context from hash if there is a client id.
...
This should never happen, but just in case.
7 years ago
Roger A. Light
f9c9f3d396
Fix incorrect hash usage with duplicate clients.
...
Fix duplicate clients being added to by_id hash before the old client
was removed.
Closes #645 .
7 years ago
Roger A. Light
2b4ba10b3d
Fix "round_robin false" behaviour.
...
Closes #481 .
7 years ago
Roger A. Light
1e47ee4cad
Fix for bridge connections when using WITH_ADNS=yes.
7 years ago
Roger A. Light
2221deb7a7
Fix build when using WITH_ADNS=yes.
7 years ago
Roger A. Light
88765a5e80
Consistent use of config.h across the project.
7 years ago
Roger A. Light
a199cac69e
Don't confuse expiring and duplicate clients.
7 years ago
Roger A. Light
ab5af8f0b9
Fix building for libwebsockets < 1.6.
7 years ago
Roger A. Light
fc9a0db966
All clients now time out if they exceed their keepalive*1.5
...
This was inconsistent before.
Partially addresses #865 .
7 years ago
Dave Miller
81a82f6fe2
Fix for issue #874
...
With special acknowledgement to sxsing (his github login) for his
help in development and testing of this fix.
NOTE: Pull-request is against master as the fixes branch has not
been updated with the v1.5 file src/handle_connect.c
Signed-off-by: Dave Miller <dmiller@tibco.com>
7 years ago
Roger A. Light
5e60136449
Merge branch 'develop'
8 years ago
Roger A. Light
cec1af1386
Don't print uninteresting epoll warnings.
8 years ago
Roger A. Light
f4d238be18
Bump copyright years.
8 years ago
Roger A. Light
5b2bf3d1c1
Bump version number, update copyrights.
8 years ago
Roger A. Light
b76982db13
Fix reloading of config when fds are exhausted.
8 years ago
Roger A. Light
027c5d7f6e
Don't remove invalid socket from epoll fd.
8 years ago
toast-uz
df9ad5f0bd
Add Epoll. ( #495 )
...
Signed-off-by: Tatsuzo Osawa <tatsuzo.osawa@gmail.com>
8 years ago
Roger A. Light
5a267368d7
Merge branch 'master' into develop
8 years ago
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>
8 years ago
Roger A. Light
e74203de2c
Merge branch 'master' into develop
8 years ago
Roger A. Light
8de5ed4464
Remove "error in poll" messages.
8 years ago
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>
8 years ago
Roger A. Light
ab45f86d74
Prevent out of bounds array access.
8 years ago
Roger A. Light
8f59d5ad28
Remove unused vars and reset pollfd_index on disconnect.
8 years ago
Roger A. Light
c07ba2a3da
Experimental fix for poor websockets performance.
8 years ago
Roger A. Light
b61fefcf08
Merge branch 'master' into develop
8 years ago
YuLun Shih
97572610c0
Fix bridge->restart_t won't be reset
...
Signed-off-by: YuLun Shih <shih@yulun.me>
9 years ago
Roger A. Light
91b308a11d
Merge branch 'master' into develop
9 years ago
Roger A. Light
433ee5c4d6
[344] Don't compile in async dns support by default for makefiles.
9 years ago
Roger A. Light
6f45ab9624
[344] Only do async dns on glibc.
9 years ago
Roger A. Light
e0e8cc9f3e
[344] Fix leaks and incorrect connect call.
9 years ago
Roger A. Light
e13af18ed9
Start of fix for [344].
9 years ago
Roger A. Light
6b68371dbe
[259] Fix crash when "lazy" type bridge attempts to reconnect.
...
Thanks to hakofugu41.
Bug: https://github.com/eclipse/mosquitto/issues/259
9 years ago
Roger A. Light
f0485d1398
[344] Don't compile in async dns support by default for makefiles.
9 years ago
Roger A. Light
3d40ffe18b
[344] Only do async dns on glibc.
9 years ago
Roger A. Light
f464970fcf
[344] Fix leaks and incorrect connect call.
9 years ago
Roger A. Light
ef7a230365
Start of fix for [344].
9 years ago
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
9 years ago
Roger A. Light
883af8af53
Better subtree searching.
9 years ago
Roger A. Light
017db6706f
Rename mosquitto_broker.h -> mosquitto_broker_internal.h
9 years ago
Roger A. Light
8378fe44cf
Update copyrights.
9 years ago
Roger A. Light
1b659b41de
sys__ -> sys_tree__
9 years ago
Roger A. Light
1c3988a397
Merge branch 'master' into develop
9 years ago
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
9 years ago
Roger A. Light
af96c0b8fa
[485143] Futher fix for broken win32 connections.
10 years ago
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
10 years ago
Roger A. Light
2549919413
Fix support for libwebsockets 1.22.
10 years ago
Roger A. Light
7aa653c42f
Add support for libwebsockets 1.6.
10 years ago
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
10 years ago
Roger A. Light
011de7ed19
Fix excessive calls to message retry check.
10 years ago
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
10 years ago
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
10 years ago
Roger A. Light
3f86d316d8
Allow mosquitto__free(NULL).
...
Remove all unnecessary "if(X)" before a call to mosquitto__free.
10 years ago
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
10 years ago
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
10 years ago
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.
11 years ago
Roger A. Light
4195fde70b
Last raft of renames for the moment.
11 years ago
Roger A. Light
21946ace6c
mosquitto__log_printf -> log__printf
11 years ago
Roger A. Light
3c703408f2
More function renaming.
11 years ago
Roger A. Light
94ef6ec7bb
Big set of function renames.
11 years ago
Roger A. Light
1744477cf8
Rename/reorganise packet functions.
11 years ago
Roger A. Light
8049c4b7f8
Simplify code around SYS statistics gathering.
11 years ago
Roger A. Light
b598aec385
Sys -> user includes.
11 years ago
Roger A. Light
970ba58da6
Code reorganise.
11 years ago
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
11 years ago
Roger A. Light
11756d24c8
Change internal funcs _foo_bar() to foo__bar().
11 years ago
Roger A. Light
dacee786be
[463000] Use own type to simplify socket handling.
...
Means that SOCKET is used as the socket type everywhere on Windows.
11 years ago
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
11 years ago
Roger A. Light
626857b20a
Close and reopen log_dest file on HUP.
11 years ago
Roger A. Light
34176359c9
[452913] Prevent dereferencing of NULL string.
...
Bug: https://bugs.eclipse.org/bugs/show_bug.cgi?id=452913
11 years ago
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.
11 years ago
Roger A. Light
f8f794c531
Allow expiring clients to be cleaned up.
11 years ago
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.
11 years ago
Roger A. Light
ea8537c048
Remove unused messages from store immediately.
...
This removes the need for *store_clean*.
11 years ago
Roger A. Light
fc1e514ad4
Add log_facility for non-Windows OSs.
11 years ago
Roger A. Light
052c2d7766
Fix for Windows.
11 years ago
Roger A. Light
041f60c03e
Make bridge connections non-blocking for TLS connections.
11 years ago
Roger A. Light
a1f18323d1
Make bridge connections non-blocking for non-TLS connections.
11 years ago
Roger A. Light
372b64a290
More "client has disconnected but is not freed" protections.
11 years ago
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.
11 years ago
Roger A. Light
7b1ee68ef1
Remove compilation warnings for various configurations.
11 years ago
Roger A. Light
f9951595c8
Fix missing headers.
11 years ago
Roger A. Light
1fdc4ceee6
Check expiration every hour regardless of the duration.
11 years ago
Roger A. Light
76724c790e
Disconnect expired clients correctly.
11 years ago
Roger A. Light
950db12c74
Don't free local bridge clients on disconnect.
11 years ago
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.
11 years ago
Roger A. Light
0ff0cfb3d3
Need to include bridges here.
11 years ago
Roger A. Light
95a4ec431d
Don't try to disconnect twice.
11 years ago
Roger A. Light
bb1a69b7d7
Disconnect clients consistently.
11 years ago
Roger A. Light
13f94f3511
More reconnect fixes.
11 years ago
Roger A. Light
864f1f0d23
Initialise variable.
11 years ago
Roger A. Light
d75903b0ae
Fix reconnect support for websockets.
11 years ago
Roger A. Light
bdb3e74100
More memory fixes.
11 years ago
Roger A. Light
cc33a6e5af
Do proper cleanup, including websockets.
11 years ago
Roger A. Light
764b7e0a91
Use hash functions to store client data.
11 years ago