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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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
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
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>
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.