Commit Graph

517 Commits (1bafe0ee2e7ce58af294a66d0b944eae33e927f4)

Author SHA1 Message Date
Roger A. Light 57ee8b92bc Mac build fixes. 8 years ago
Roger A. Light 574fb36ede More utf-8 validation. 8 years ago
Thomas Beckmann (M-Way) ee610ab19a _mosquitto_net_read must call WSASetLastError when changing errno so that the error code can be picked up by _mosquitto_packet_read
Signed-off-by: Thomas Beckmann (M-Way) <t.beckmann@mwaysolutions.com>
8 years ago
Roger A. Light e961bc9301 Comment to aid init_ssl_ctx understanding. 8 years ago
Roger A. Light 6a2172f472 Windows fixes. 8 years ago
Roger A. Light 2d9fab123e Use SSL_CTX_up_ref() with MOSQ_OPT_SSL_CTX*.
This limits the use of those options to openssl 1.1.0 and greater.
8 years ago
Roger A. Light b649799c78 Protect mosq->ssl_ctx against double initialisation. 8 years ago
Roger A. Light 9852f94ee0 Merge branch 'sub_client_timeout_upstream' of git://github.com/I2SE/mosquitto into I2SE-sub_client_timeout_upstream 8 years ago
Roger A. Light 943b311344 Don't use deprecated openssl functions. 8 years ago
Roger A. Light c95f24c342 Missing includes. 8 years ago
Roger A. Light 24d68b5af8 Remove support for openssl 1.0.0 and 1.0.1.
These are no longer supported by openssl.
8 years ago
Roger A. Light 8470ca89b9 Add MOSQ_OPT_SSL_CTX and MOSQ_OPT_SSL_CTX_WITH_DEFAULTS options.
Closes #567 and #715.
8 years ago
Roger A. Light 615d6a2c41 Remove unused file. 8 years ago
Roger A. Light f4d238be18 Bump copyright years. 8 years ago
Roger A. Light 28dd14fcea Separate out functions from mosquitto.c to aid discoverability. 8 years ago
Roger A. Light ff79432364 C++ on_connect_with_flags() support. 8 years ago
Roger A. Light 86ced4d98f Add mosquitto_connect_with_flags_callback_set().
This allows a second connect callback to be used that exposes the
MQTT connect flags parameter.

Closes #738, #128.
8 years ago
Thomas Beckmann (M-Way) 8e3c2d9af7 _mosquitto_net_read must call WSASetLastError when changing errno so that the error code can be picked up by _mosquitto_packet_read
Signed-off-by: Thomas Beckmann (M-Way) <t.beckmann@mwaysolutions.com>
8 years ago
Roger A. Light 40e6a75709 Use c99 as compiling standard.
Closes: #765.
8 years ago
Viktor Gotwig e90afb8526 Adding tls host name extension (SNI)
Signed-off-by: Viktor Gotwig <viktor.gotwig@q-loud.de>
8 years ago
Roger A. Light 5b2bf3d1c1 Bump version number, update copyrights. 8 years ago
Roger A. Light e6cbff0e94 Fix unauthorised clients being able to cause OOM on connect. 8 years ago
Roger A. Light 927c5d311b Fix missing headers on mac. 8 years ago
Roger A. Light 81cb7ab547 Merge branch 'fixes' into develop 8 years ago
Roger A. Light 9750d1732a Fix builds on travis. 8 years ago
Roger A. Light c001e778c1 [693] Fix handling of null bytes in received strings.
Thanks to Umberto Boscolo.

Bug: https://github.com/eclipse/mosquitto/issues/693
8 years ago
Roger A. Light 1b702538f9 Add check and matches functions which take length arguments.
mosquitto_pub_topic_check2()
mosquitto_sub_topic_check2()
mosquitto_topic_matches_sub2()
8 years ago
Roger A. Light 3066f89a24 packet__read_string() returns the string length. 8 years ago
JonoJensen 7d8d04bc39 Fix issue when SSL_connect() returns SSL_ERROR_WANT_READ. A call to SSL_write here will later transmit a new client hello and make ssl connection fail.
Signed-off-by: JonoJensen <jono.jensen@yahoo.se>
8 years ago
Michael Heimpold 26a81747cd mosquitto_loop_forever: use nanosleep instead of sleep
The advantage of nanosleep(2) is, that -according to POSIX spec- it does not
interact with signals as sleep(3) does. So it is not affected when used by a
program which is e.g. using alarm(3).

Signed-off-by: Michael Heimpold <michael.heimpold@i2se.com>
8 years ago
Roger A. Light b02c1a41bb [670] Fix topic matching of foo/bar against foo/+/#
Thanks to mrdis.

Bug: https://github.com/eclipse/mosquitto/issues/670
8 years ago
Roger A. Light 9c6a5f3cf0 [656] Fix building on Windows.
Thanks to Arun Kirthi Cherian.

Bug: https://github.com/eclipse/mosquitto/issues/656
8 years ago
Pierre Fersing 254f30cdb1 Fix mosquitto_want_write for TLS sock connecting
Copied logic from mosquitto_loop which was already patched by
39ffd6fa.

Bugs: #648
8 years ago
Roger A. Light b193918ca0 [649] Don't close socket again if nonblock fails.
Thanks to Edwin van den Oetelaar.

Bug: https://github.com/eclipse/mosquitto/issues/649
8 years ago
Roger A. Light ae666b07ce [654] Initialise "result" in mosquitto_topic_matches_sub.
Thanks to markhermelinggt.

Bug: https://github.com/eclipse/mosquitto/issues/654
8 years ago
Michael Heimpold 48dec391f7 Quote ${DESTDIR} usage in various Makefiles
This prevents failures during make install when whitespace
is part of DESTDIR pathname.

Signed-off-by: Michael Heimpold <michael.heimpold@i2se.com>
8 years ago
Roger A. Light b11855821e Update UTF-8 validation checks. 8 years ago
toast-uz df9ad5f0bd Add Epoll. (#495)
Signed-off-by: Tatsuzo Osawa <tatsuzo.osawa@gmail.com>
8 years ago
Roger A. Light 124ee1af91 [490] Further fix for auth related crashes.
Bug: https://github.com/eclipse/mosquitto/issues/490
8 years ago
Roger A. Light 22063013be [490] Fix auth plugin+WS client+MOSQ_ERR_AUTH related crash.
Thanks to "hasunperera".

Bug: https://github.com/eclipse/mosquitto/issues/490
8 years ago
Roger A. Light 5a267368d7 Merge branch 'master' into develop 8 years ago
Aska.Wu d40d7772d3 Fix the TLS handshake problem if PSK has leading zero
Incorrect psk will be provided by psk_server_callback() because leading zero
is skipped by BN_bn2bin() and BN_num_bytes().

Signed-off-by: Aska.Wu <askawu@gmail.com>
8 years ago
Roger A. Light d8cc5bc4fe Merge branch 'fixes' of github.com:eclipse/mosquitto into fixes 8 years ago
Zard1096 5b73897f98 Fix iOS crash issues
Relate to issues #327 and #63.
mosq->sock may be closed before FD_SET(mosq->sock, &writefds) and
FD_ISSET(mosq->sock, &writefds) but after judgement in line 947
if(mosq->sock != INVALID_SOCKET). FD_SET(-1, ...) and FD_ISSET(-1, ...)
would certainly crash.

Signed-off-by: Zard1096 <mr.zardqi@gmail.com>
8 years ago
Roger A. Light e74203de2c Merge branch 'master' into develop 8 years ago
Roger A. Light 1fa4d74278 Bump version number. 8 years ago
Dr. Lars Voelker 74adb43cc1 Adding OCSP Stapling support to mosquitto
Adding OCSP Stapling support to mosquitto, so that the TLS client side
requests the certificate status and checks it.
This code uses the OpenSSL-based OCSP implementation and is somewhat
based on the libcurl code for OCSP stapling.

Signed-off-by: Dr. Lars Voelker <lars.voelker@bmw.de>
8 years ago
Roger A. Light 6b351ce0f1 Bump version number. 8 years ago
Roger A. Light 2d90a1f45b Fix umask value. 8 years ago
Roger A. Light 94978ac89b Restore old umask after creating file. 8 years ago
Roger A. Light 6e7d02ba16 Fix for CVE-2017-9868 for Windows. 8 years ago
Roger A. Light 326983d35e [417] Fix lazy bridges not timing out for idle_timeout.
Thanks to spinachmedia.

Bug: https://github.com/eclipse/mosquitto/issues/417
8 years ago
Roger A. Light c07ba2a3da Experimental fix for poor websockets performance. 8 years ago
Jan Lukavsky 621f18d696 #419 Broker sometimes kills connection to client
Signed-off-by: Jan Lukavsky <je.ik@seznam.cz>
8 years ago
Roger A. Light b61fefcf08 Merge branch 'master' into develop 8 years ago
Roger A. Light 2897f71aba Bump version number. 8 years ago
Jelle van der Waa ab266e7f5f lib: fix OpenSSL 1.1 deprecation warning for ERR_remove_state
ERR_remove_state has been marked deprecated in OpenSSL 1.1.0 and do
nothing, as the OpenSSL libraries now normally do all thread
initialization and deinitialisation automatically.

Signed-off-by: Jelle van der Waa <jelle@vdwaa.nl>
9 years ago
Roger A. Light 91b308a11d Merge branch 'master' into develop 9 years ago
Roger A. Light ac981782db Fix typo and use net__print_ssl_error() as available. 9 years ago
Jiří Pinkava cd0985c3e2 Log more TLS error details
Signed-off-by: Jiří Pinkava <j-pi@seznam.cz>
9 years ago
Roger A. Light bda9893713 Version bump. 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 5eae4b56d6 [344] More leak fixes. 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
Fredrik Fornwall 35cc1eb21e Check for rt and pthread libraries before linking
This fixes building on Android which does not have separate librt
or libpthread libraries.

Signed-off-by: Fredrik Fornwall <fredrik@fornwall.net>
9 years ago
Roger A. Light b5b5e6f27d Don't use reserved identifiers in public headers. 9 years ago
Jens Breitbart b9d4ebfba3 Fix compiler warnings (unused parameter, additional semicolon).
A modern version of the clang compiler complained about:
* unused parameters
* additional semicolon
. This commit fixes these warnings.

Signed-off-by: Jens Breitbart <jbreitbart@gmail.com>
9 years ago
Roger A. Light 8e4a80a928 [329] Fix potential negative timeout being passed to pselect.
Thanks to Dollars.

Bug: https://github.com/eclipse/mosquitto/issues/329
9 years ago
Teun Lassche 4dc96a2533 Fix #304 Socket leakage
Signed-off-by: Teun Lassche <contact@thlassche.nl>
9 years ago
Roger A. Light 98ea684906 [323] Allow outgoing IPv6 connections to use TLS.
Bug: https://github.com/eclipse/mosquitto/issues/323
9 years ago
Roger A. Light 9f32d5c0ac Version bump. 9 years ago
Roger A. Light e4e81a0fb1 [111] Add mosquitto_userdata function to libmosquitto.
This allows retrieving mosq->userdata.

Bug: https://github.com/eclipse/mosquitto/issues/111
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 ee543a25f5 [344] More leak fixes. 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
Fredrik Fornwall 532273250c Check for rt and pthread libraries before linking
This fixes building on Android which does not have separate librt
or libpthread libraries.

Signed-off-by: Fredrik Fornwall <fredrik@fornwall.net>
9 years ago
Roger A. Light ef417a6688 Don't use reserved identifiers in public headers. 9 years ago
Jens Breitbart fbb60d67a7 Fix compiler warnings (unused parameter, additional semicolon).
A modern version of the clang compiler complained about:
* unused parameters
* additional semicolon
. This commit fixes these warnings.

Signed-off-by: Jens Breitbart <jbreitbart@gmail.com>
9 years ago
Roger A. Light 2c2ba2cf10 [329] Fix potential negative timeout being passed to pselect.
Thanks to Dollars.

Bug: https://github.com/eclipse/mosquitto/issues/329
9 years ago
Teun Lassche dac29a5a5f Fix #304 Socket leakage
Signed-off-by: Teun Lassche <contact@thlassche.nl>
9 years ago
Roger A. Light 6f7a0bff4b [323] Allow outgoing IPv6 connections to use TLS.
Bug: https://github.com/eclipse/mosquitto/issues/323
9 years ago
Karl Palsson c6aac741c2 broker: support byte based queueing
Limiting queued message depth purely based on message count is hard to
control for memory constrained devices.  The size of messages can vary
wildly, from a few bytes, to a few kilobytes.  Support a new
max_queued_bytes option, and drop packets when the first limit is
reached.  Option defaults to 0 (disabled) by default.
Support also a max_inflight_bytes variable, with similar behaviour.

Fixes (partof) https://github.com/eclipse/mosquitto/issues/100

This pulls up some helper routines for calculating whether to allow
inflight or queuing, resolving some inconsistences in connection
resumption.

Signed-off-by: Karl Palsson <karlp@etactica.com>
9 years ago
Roger A. Light 87b6a746fd Bump version number. 9 years ago
Roger A. Light 79cc06b180 [237] Fix memory leak when verifying a server certificate.
Only for certificates with a subjectAltName. Closes #237.

Thanks to MrSaturday.

Bug: https://github.com/eclipse/mosquitto/issues/237
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
jbwdevries 1c90a4487c Fixes a bug where the C++ wrapper would always claim SOCKS was not supported. (#198)
The WITH_* flags are not handed over to the C++ wrapper, instead it relies on
the actual library to check status.

Signed-off-by: Johan de Vries (Ubuntu VM) <devries@wivion.nl>
9 years ago
Roger A. Light 1c3988a397 Merge branch 'master' into develop 9 years ago
Roger A. Light a8a5daf06b Check client topic inputs for valid UTF-8. 9 years ago
Roger A. Light fa2d3143a4 Separate the C and C++ static libraries. 9 years ago
Roger A. Light 2286caaca2 Merge branch 'enhance-bare-makefile-static-library-build' of https://github.com/Lance0312/mosquitto into Lance0312-enhance-bare-makefile-static-library-build 9 years ago
Roger A. Light d90cd585dd Add WITH_STRIP build option. 9 years ago
Roger A. Light 2d0af7309f Bump version number. 9 years ago
Roger A. Light 30686f2dc9 Fix mosquitto_topic_matches_sub(). 9 years ago
Lance Chen 5ccd0dbb80
Add an build option to control building static libraries or not
The option WITH_STATIC_LIBRARIES is default to yes

Signed-off-by: Lance Chen <cyen0312@gmail.com>
9 years ago
Lance Chen 97847fa95b
Rename option BUILD_STATIC_LIBRARY to WITH_STATIC_LIBRARIES
to conform to the bare Makefiles

Signed-off-by: Lance Chen <cyen0312@gmail.com>
9 years ago
Lance Chen 4b4817c3f0
Build the CPP static library with bare Makefiles
In order to make the CPP static library include all
objects from the C static library, the list of objects
(MOSQ_OBJS) is isolated into objects.mk to be used for
building the C and CPP static libraries.

Signed-off-by: Lance Chen <cyen0312@gmail.com>
9 years ago
Lance Chen a9b7237d09
Install/Uninstall the C static library
Symbol stripping is done explicitly with strip command,
since stripping with install command removes too many
symbols, making the result library unusable.

Signed-off-by: Lance Chen <cyen0312@gmail.com>
9 years ago
Roger A. Light c035913b2a [180] Fix #includes in lib/send_mosq.c
Ensures that LWS_LIBRARY_VERSION_NUMBER is always present in all source
files when it is defined.

Thanks to dennisip86.

Bug: https://github.com/eclipse/mosquitto/issues/180
9 years ago
Lance Chen f18e8e12a8
Add build configuration for CPP static library
The CPP static library respects options
BUILD_STATIC_LIBRARY and WITH_PIC as well.

Signed-off-by: Lance Chen <cyen0312@gmail.com>
9 years ago
Lance Chen aa360e4029
Add an option to control building static library with PIC or not
The option WITH_PIC is default to OFF.

By default, the static library is built from the
source code directly. If WITH_PIC is enabled, the
static library is built with the same set of
object libraries that the shared library uses.

To link Mosquitto static library into a shared
library, one must enable WITH_PIC to make the
piece of code locatable.

Signed-off-by: Lance Chen <cyen0312@gmail.com>
9 years ago
Lance Chen 7ee997e6cc
Add an option to control building static library or not
The BUILD_STATIC_LIBRARY option is default to ON.

Signed-off-by: Lance Chen <cyen0312@gmail.com>
9 years ago
Lance Chen b87082c604
Fix fail linking of handle* functions in the shared library
The shared library fails to link to `handle*` functions
implementd in lib/handle_* because these source file
definitions seem to be removed accidentally in commit
3499c09.

Signed-off-by: Lance Chen <cyen0312@gmail.com>
9 years ago
Roger A. Light a187b3f5fa [57] Handle PUB* with unknown message id gracefully.
Allows message flow to complete where e.g. the broker didn't persist a
partially complete flow.

Thanks to jsaak jsaak and Hiram van Paassen.

Bug: https://github.com/eclipse/mosquitto/issues/57
10 years ago
Roger A. Light e8185ddaa7 [166] Don't cancel external threads.
libmosquitto shouldn't cancel threads it didn't create. This change
allows us to keep track of whether threads were created by the library
or by external code.

Thanks to Josip Ćavar.

Bug: https://github.com/eclipse/mosquitto/issues/166
10 years ago
Roger A. Light c6ef86bd1f Print openssl errors when debugging enabled. 10 years ago
Roger Light dfeb2f9ba6 Merge pull request #141 from PierreF/large-queued-performance-2
Improve performance with lots of queued message
10 years ago
Dmitry Kaukov 606aa5b4fa Workaround for Windows SSL (#160)
Closes #154.

Signed-off-by: Dmitry Kaukov <dkaukov@opentable.com>
10 years ago
Ian Johnson a0a0cc3076 Renaming STATIC_LIB -> LIBMOSQUITTO_STATIC
Signed-off-by: Ian Johnson <ijohnson@wolfram.com>
10 years ago
Ian Johnson 3499c094dc Putting the list of files into a variable C_SRC and modiftying the add_library calls to use this variable
Signed-off-by: Ian Johnson <ijohnson@wolfram.com>
10 years ago
Ian Johnson 93906b9dfd We don't want to add any declaration properties for the static library, as the static library doesn't export or import anything, so when STATIC_LIB is defined the libmosq_EXPORT defines to nothing
Signed-off-by: Ian Johnson <ijohnson@wolfram.com>
10 years ago
Ian Johnson 13f28d1c1e Adding the static library target, libmosquitto_static, to CMakeLists.txt so it gets installed, and when compiled STATIC_LIB gets defined for only the static library
Signed-off-by: Ian Johnson <ijohnson@wolfram.com>
10 years ago
Ian Johnson 87112a7e21 On Mac, we don't want to run /sbin/ldconfig as it doesn't exist
Signed-off-by: Ian Johnson <ijohnson@wolfram.com>
10 years ago
Pierre Fersing 44f23252a0 Improve performance with lots of queued message
Split message queue in two queues: in-flight and queued to avoid the
need to iterate over all messages.

Signed-off-by: Pierre Fersing <pierre.fersing@bleemeo.com>
10 years ago
Roger A. Light caa394d0fe Return value of pthread_create is now checked. 10 years ago
Roger A. Light 69a08ab905 Fix string quoting in CMakeLists.txt. Closes #4. 10 years ago
Roger A. Light 556c629ab5 Don't use reserved names in header guards.
Closes #3.
10 years ago
Roger A. Light db2e66c543 Reorganise functions into separate files as appropriate. 10 years ago
Roger A. Light af995d211d Fix client library keepalive handling.
Fix the case where a message received just before the keepalive timer
expired would cause the client to miss the keepalive timer.

Thanks to Graham Benton.
10 years ago
Roger A. Light 5cca6b4239 Bump version number. 10 years ago
Roger A. Light f6939d4cbb Merge branch 'develop' of ssh://git.eclipse.org:29418/mosquitto/org.eclipse.mosquitto into develop 10 years ago
Roger A. Light d5abf5a18a Outgoing connections can use any TLS version. 10 years ago
Roger A. Light fd6a6cac14 Only increment inflight msgs when limit not reached. 10 years ago
Roger A. Light 97e6ac22d8 Only increment inflight messages if the limit hasn't been reached. 10 years ago
Roger A. Light 26b015908e Default to using MQTT v3.1.1. 10 years ago
Roger A. Light 4e4c08aaf0 "retained" -> "want_retained". 10 years ago
Roger A. Light 7709621911 Reorder helper function arguments for consistency. 10 years ago
Roger A. Light 0a95c9a3af Add mosquitto_subscribe_callback(). 10 years ago
Roger A. Light 1288b14dcb Fixes and cleanup for subscribe_simple. 10 years ago
Roger A. Light 896b4563fb Add missing helpers code. 10 years ago
Roger A. Light b83c58763d Add mosquitto_subscribe_single()/multiple(). 10 years ago
Roger A. Light c7d4f4bcff mosq->want_write should be cleared immediately before a call to SSL_write.
This allows clients using mosquitto_want_write() to get accurate results.
10 years ago
Roger A. Light fca9ac84f7 Merge fixes into develop. 10 years ago
Roger A. Light a7136b3672 Bump version number. 10 years ago
Roger A. Light 2549919413 Fix support for libwebsockets 1.22. 10 years ago
Roger A. Light dc02e37af9 Bump version number. 10 years ago
Roger A. Light 7aa653c42f Add support for libwebsockets 1.6. 10 years ago
Roger A. Light 148df82144 [484693] Fix _mosquitto_socketpair() on Windows.
Thanks to Steve Woods and Roman Bogus.

Bug: https://bugs.eclipse.org/bugs/show_bug.cgi?id=484693
Bug: https://bugs.eclipse.org/bugs/show_bug.cgi?id=479143
10 years ago
Roger A. Light f58f8aac0f Document updates. 10 years ago
Roger A. Light 3cab5e2e69 Bump version number. 10 years ago
Roger A. Light 2078b6381a Log CONNACK result for clients. 10 years ago
Simon Wunderlich c02cdbefdc mosquitto-lib: close socketpair on (re)connect
If the socket pair is still opened on reconnect, close it before
creating it again (just like the state variables). Otherwise, these
sockets are leaked on multiple mosquitto_connect() calls.

Signed-off-by: Simon Wunderlich <sw@simonwunderlich.de>
10 years ago
Roger A. Light b4fbe904d4 Remove more unnecessary "if(x) mosquitto__free(x)" checks. 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 acb95f2f2e Fix potential memory leak in mosquitto_sub_topic_tokenise() 10 years ago
Roger A. Light 66924cd832 Windows 64 bit build and installer. 10 years ago
Roger A. Light 9a2eb2038f Drop Windows XP support, misc fixes on Windows. 10 years ago
Roger A. Light 720d52d86e Bump version number. 10 years ago
Roger A. Light 17e942e9b5 [475707] Fix free related crash on openwrt.
Thanks to Karl Palsson.

Bug: https://bugs.eclipse.org/bugs/show_bug.cgi?id=475707
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 d71db835eb Bump version number. 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
Anmol Sarma 13d869b8df Avoid calls to strlen() when checking for empty strings.
Change-Id: I3de322006623483cbf20218da071a9da5d7b2e2b
Signed-off-by: Anmol Sarma <me@anmolsarma.in>
10 years ago
Roger A. Light 1254fe93e0 [474935] Increment inflight message count correctly.
Don't duplicate the increment when queueing.

Thanks to Joe McIlvain.

Bug: https://bugs.eclipse.org/bugs/show_bug.cgi?id=474935
10 years ago
Roger A. Light b87722556c Remove duplicate code. 10 years ago
Roger A. Light 5c642c9cfd [464543] Add defer support for plugins.
Partial fix for 464543.
10 years ago
Roger A. Light a330c5ca17 [471334] Fix incorrect loop timeout with keepalive=0.
Fix incorrect loop timeout being chosen when using the threaded
interface and keepalive = 0.

Thanks to Gianfranco Costamagna.

Bug: https://bugs.eclipse.org/bugs/show_bug.cgi?id=471334
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 c1974e5402 Report error string on connection failure rather than error code. 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 290ea87828 Build fixes for OpenBSD. 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 389c971430 Remove logically dead code.
Coverity CID 1292477.
11 years ago
Roger A. Light b67c90ec02 Rename internal datatypes. 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 a67d43c8d3 Rename message functions. 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 d7e3fdf7f7 Don't check set size on Windows.
socket is an opaque object on Windows, so this check isn't valid.
11 years ago
Roger A. Light 8de6b92e3c Fix calls to mosquitto_connect*_async() not completing. 11 years ago
Roger A. Light 11756d24c8 Change internal funcs _foo_bar() to foo__bar(). 11 years ago
Roger A. Light e5010af4df [464632] Library: Fix possible crash due to select() call.
Fix possibility of select() being called with a socket that is >FD_SETSIZE.

Bug: https://bugs.eclipse.org/bugs/show_bug.cgi?id=464632
11 years ago
Roger A. Light e6f262bbbf Remove unnecessary includes. 11 years ago
Roger Light 322d9624a1 Fix CMake dependencies for libmosquittopp.
Enables parallel build mode.

Accepted without CLA after discussion with Eclipse Foundation legal
about very small patches that can only be implemented in one way.

See bug report for acceptance of Certificate of Origin.

Bug: https://bugs.eclipse.org/bugs/show_bug.cgi?id=463884
Also-by: Gianfranco Costamagna <costamagnagianfranco@yahoo.it>
11 years ago
Roger A. Light 1fb7465b83 [464437] Broker: Fix bridge prefixes operation.
Fix bridge prefixes only working for the first outgoing message.

Bug: https://bugs.eclipse.org/bugs/show_bug.cgi?id=464437
11 years ago
Roger A. Light b24fd0a55c Bump version number for upcoming service release. 11 years ago
Roger A. Light 22fee31ba4 [464436] Library: Fix outgoing QoS 2 message problem.
Inflight message count wasn't being decreased for outgoing messages using
QoS 2, meaning that only up to 20 QoS 2 messages could be sent. This has
been fixed.

Bug: https://bugs.eclipse.org/bugs/show_bug.cgi?id=464436
11 years ago
Roger A. Light b8f9aeb1a8 Fix incorrect string termination. 11 years ago
Roger A. Light 133d2de144 Bump to development version. 11 years ago
Roger A. Light 46ccc2efe9 [463479] Make _mosquitto_mid_generate() thread safe.
Thanks to bdwalker.

Bug: https://bugs.eclipse.org/bugs/show_bug.cgi?id=463479
11 years ago
Roger A. Light fe933dee99 Don't require socks_mosq.c in cpp library. 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 3591f2d256 [462781] Allow longer paths on Windows.
Bug: https://bugs.eclipse.org/bugs/show_bug.cgi?id=462781
11 years ago
Roger A. Light c9a924e95e [462780] Fix crash on multiple calls to lib init/clean.
Bug: https://bugs.eclipse.org/bugs/show_bug.cgi?id=462780
11 years ago
Roger A. Light 0434d1cd9b [461705] Return -1 on error from mosquitto_socket()
Thanks to Mikkel Kirkgaard Nielsen.

Bug: https://bugs.eclipse.org/bugs/show_bug.cgi?id=461705
11 years ago
Roger A. Light 2aceb704b5 [463000] Fix reconnect bug on Windows.
Bug: https://bugs.eclipse.org/bugs/show_bug.cgi?id=463000
11 years ago
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
11 years ago
Roger A. Light e310092f44 [461620] Inflight limits should only apply to outgoing messages.
Bug: https://bugs.eclipse.org/bugs/show_bug.cgi?id=461620
11 years ago
Roger A. Light db86809ee9 Add websockets logging options. 11 years ago
Roger A. Light 6fd38b8c47 Windows fixes. 11 years ago
Roger A. Light 3ed5c94038 Struct optimisations. 11 years ago
Roger A. Light 1a14f6fed5 [453293] Don't quit loop_forever() if broker not available.
This is a workaround for bug #453293, a better solution is needed for
1.5.

Bug: https://bugs.eclipse.org/bugs/show_bug.cgi?id=453293
11 years ago
Roger A. Light c5ee5686bd Fix client CONNECT packet on MQTT v3.1.1. 11 years ago
Roger A. Light 39ffd6fa36 Handle "error" codes from SSL_connect() correctly. 11 years ago
Roger A. Light b99dbc01d4 Must initialise protocol field. 11 years ago
Roger A. Light 8a35c3cd0d Add client support for MQTT v3.1.1. 11 years ago
Roger A. Light 5e75c9054d [458410] Add missing headers to util_mosq.h
Thanks to Michael Laing.

Bug: https://bugs.eclipse.org/bugs/show_bug.cgi?id=458410
11 years ago
Roger A. Light 9332a731bf [452915] mosquittopp now has a virtual destructor.
Bug: https://bugs.eclipse.org/bugs/show_bug.cgi?id=452915
11 years ago
Roger A. Light c591b06574 [457225] Add support for wildcard certificates.
This introduces wildcard certificate support for both bridges and
clients.

Bug: https://bugs.eclipse.org/bugs/show_bug.cgi?id=457225
11 years ago
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
11 years ago
Roger A. Light 8a18f577a6 Remove more unnecessary uses of calloc. 11 years ago
Roger A. Light ac5dbd428f Clear want_write flag after responding to it.
Prevents busy loop after e.g. writing a large message when using TLS.

Thanks to Dave Sellars.
11 years ago
Roger A. Light d6bb6634d2 Disable memory tracking with uclibc.
Thanks to Ed W.
11 years ago
Roger A. Light f8f794c531 Allow expiring clients to be cleaned up. 11 years ago
Roger A. Light e5a251f0bb Remove javascript client. 11 years ago
Roger A. Light 5b6f6976c7 Fix use of "dup" with pubrel, subscribe, unsubscribe.
Thanks to Paolo Patierno.
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 d30d711c3b Improve struct layouts for memory usage. 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 07581446e6 Bounds checking for socks domain name inputs. 11 years ago
Roger A. Light b80402baf0 Only track inflight messages for outgoing messages. 11 years ago
Roger A. Light 66f147749d Fix missing mutex unlock. 11 years ago
Roger A. Light 36f88d902d Fix errors from big code import. 11 years ago
Roger A. Light fb72bf9c14 Fix incorrect function name in documentation. 11 years ago
Roger A. Light ab49b96db1 Windows related fixes. 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 5603d6a44d Remove unused struct members. 11 years ago
Roger A. Light d2dbe16d68 Client structs store sub information to make _subs_clean_session more efficient. 11 years ago
Roger A. Light ac00949793 Add missing socks code! 11 years ago
Roger A. Light fdc8c08ca3 Add socks to cpp library. 11 years ago
Roger A. Light 8f8816b092 Fix conditional compilation, add headers. 11 years ago
Roger A. Light 42420cae46 Add experimental SOCKS5 support for the clients. 11 years ago
Roger A. Light e9c18f8347 mosquitto_loop_forever now quits after a fatal error, rather than blindly retrying. 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 06bec1083d Expose mosquitto_pub_topic_check() and mosquitto_sub_topic_check(). 11 years ago
Roger A. Light 580cd722dc Remote/local bridge fixes. 11 years ago
Roger A. Light abe72b8e4c Keep retrying to reconnect without calling loop on failure. 11 years ago
Roger A. Light ae1477c08f Windows fixes. 11 years ago
Roger A. Light 57816cb520 Detect c-ares header in cmake. 11 years ago
Roger A. Light c9da49b777 Pass mutex by reference, not value.
Thanks to Haseeb Abdul Qadir.
11 years ago
Roger A. Light 1c8433925d mosquitto_time() calculation to after keepalive check to avoid delays. 11 years ago
Roger A. Light fa9fece76a Doc addition. 11 years ago
Roger A. Light 95a4ec431d Don't try to disconnect twice. 11 years ago
Roger A. Light 13f94f3511 More reconnect fixes. 11 years ago
Roger A. Light a831281b3d Delete clients after socket close. 11 years ago
Roger A. Light 5c7512b8ba Add mosquitto_threaded_set(). 11 years ago
Roger A. Light 1257fd49eb Fixes for clients that disconnect very quickly. 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 15efd2d072 Various memory fixes. 11 years ago
Roger A. Light 764b7e0a91 Use hash functions to store client data. 11 years ago
Roger A. Light 11631d8d92 Add local_clientid for bridges. 11 years ago
Roger A. Light aca67a2170 Better function names. 11 years ago
Roger A. Light 4430228855 Be consistent about removing listener counts on socket close. 11 years ago
Roger A. Light 87579e0cac Remove STRICT_PROTOCOL #ifdefs. 11 years ago
Roger A. Light 25dd5d88ed Don't leak socket here. 12 years ago
Roger A. Light 9015ee962e unlock mutex on return. 12 years ago
Roger A. Light 414946ff07 Bump version number. 12 years ago
Roger A. Light 063928bbfe Merge websockets -> 1.4. 12 years ago
Roger A. Light 2db22f3abd Merge 1.3.2 branch in 1.4 branch. 12 years ago
Roger A. Light 330a7a882e Add CROSS_COMPILE to Makefiles. 12 years ago
Roger A. Light f23f48ecce Don't use exit() on SRV failure. 12 years ago
Roger A. Light aab7a2688c Fix SRV support when building with CMake. 12 years ago
Roger A. Light b6f2d3e087 Fix callback deadlocks after calling mosquitto_disconnect(), when using the threaded interfaces. Closes bug #1313725.
Thanks to Michael Frommberger.
12 years ago
Roger A. Light dc71f9157d Use $(STRIP) for stripping binaries when installing, to allow easier cross compilation.
Thanks to Frank Pagliughi.
12 years ago
Roger Light 9ff56eefd0 Fix topic matching edge case.
Thanks to Tobias Assarsson.
12 years ago
Roger Light 0364bd1be7 Initial contribution. 12 years ago
Roger A. Light 4bb7a45b71 Crude, hard coded websockets support. No TLS. 12 years ago