Merge branch 'fixes' (1.4.4)

pull/211/merge v1.4.4
Roger A. Light 10 years ago
commit 5bedffbb8c

@ -11,7 +11,7 @@ project(mosquitto)
cmake_minimum_required(VERSION 2.8) cmake_minimum_required(VERSION 2.8)
# Only for version 3 and up. cmake_policy(SET CMP0042 NEW) # Only for version 3 and up. cmake_policy(SET CMP0042 NEW)
set (VERSION 1.4.3) set (VERSION 1.4.4)
if (WIN32) if (WIN32)
execute_process(COMMAND cmd /c echo %DATE% %TIME% OUTPUT_VARIABLE TIMESTAMP execute_process(COMMAND cmd /c echo %DATE% %TIME% OUTPUT_VARIABLE TIMESTAMP

@ -1,3 +1,14 @@
1.4.4 - 20150916
================
Broker:
- Don't leak sockets when outgoing bridge with multiple addresses cannot
connect. Closes #477571.
- Fix cross compiling of websockets. Closes #475807.
- Fix memory free related crashes on openwrt. Closes #475707.
- Fix excessive calls to message retry check.
1.4.3 - 20150818 1.4.3 - 20150818
================ ================
@ -22,6 +33,7 @@ Client library:
Clients: Clients:
- Report error string on connection failure rather than error code. - Report error string on connection failure rather than error code.
1.4.2 - 20150507 1.4.2 - 20150507
================ ================

@ -1,7 +1,7 @@
environment: environment:
CMAKE_ARGS: -DCMAKE_BUILD_TYPE=Release CMAKE_ARGS: -DCMAKE_BUILD_TYPE=Release
NSIS_ROOT: C:\nsis NSIS_ROOT: C:\nsis
SSL_VER: 1_0_2c SSL_VER: 1_0_2d
configuration: configuration:
- Release - Release

@ -83,7 +83,7 @@ WITH_SOCKS:=yes
# Also bump lib/mosquitto.h, CMakeLists.txt, # Also bump lib/mosquitto.h, CMakeLists.txt,
# installer/mosquitto.nsi, installer/mosquitto-cygwin.nsi # installer/mosquitto.nsi, installer/mosquitto-cygwin.nsi
VERSION=1.4.3 VERSION=1.4.4
TIMESTAMP:=$(shell date "+%F %T%z") TIMESTAMP:=$(shell date "+%F %T%z")
# Client library SO version. Bump if incompatible API/ABI changes are made. # Client library SO version. Bump if incompatible API/ABI changes are made.

@ -7,7 +7,7 @@
!define env_hklm 'HKLM "SYSTEM\CurrentControlSet\Control\Session Manager\Environment"' !define env_hklm 'HKLM "SYSTEM\CurrentControlSet\Control\Session Manager\Environment"'
Name "mosquitto" Name "mosquitto"
!define VERSION 1.4.3 !define VERSION 1.4.4
OutFile "mosquitto-${VERSION}-install-cygwin.exe" OutFile "mosquitto-${VERSION}-install-cygwin.exe"
InstallDir "$PROGRAMFILES\mosquitto" InstallDir "$PROGRAMFILES\mosquitto"

@ -9,7 +9,7 @@
!define env_hklm 'HKLM "SYSTEM\CurrentControlSet\Control\Session Manager\Environment"' !define env_hklm 'HKLM "SYSTEM\CurrentControlSet\Control\Session Manager\Environment"'
Name "mosquitto" Name "mosquitto"
!define VERSION 1.4.3 !define VERSION 1.4.4
OutFile "mosquitto-${VERSION}-install-win32.exe" OutFile "mosquitto-${VERSION}-install-win32.exe"
InstallDir "$PROGRAMFILES\mosquitto" InstallDir "$PROGRAMFILES\mosquitto"

@ -54,6 +54,9 @@ void *_mosquitto_calloc(size_t nmemb, size_t size)
void _mosquitto_free(void *mem) void _mosquitto_free(void *mem)
{ {
#ifdef REAL_WITH_MEMORY_TRACKING #ifdef REAL_WITH_MEMORY_TRACKING
if(!mem){
return;
}
memcount -= malloc_usable_size(mem); memcount -= malloc_usable_size(mem);
#endif #endif
free(mem); free(mem);

@ -45,7 +45,7 @@ extern "C" {
#define LIBMOSQUITTO_MAJOR 1 #define LIBMOSQUITTO_MAJOR 1
#define LIBMOSQUITTO_MINOR 4 #define LIBMOSQUITTO_MINOR 4
#define LIBMOSQUITTO_REVISION 3 #define LIBMOSQUITTO_REVISION 4
/* LIBMOSQUITTO_VERSION_NUMBER looks like 1002001 for e.g. version 1.2.1. */ /* LIBMOSQUITTO_VERSION_NUMBER looks like 1002001 for e.g. version 1.2.1. */
#define LIBMOSQUITTO_VERSION_NUMBER (LIBMOSQUITTO_MAJOR*1000000+LIBMOSQUITTO_MINOR*1000+LIBMOSQUITTO_REVISION) #define LIBMOSQUITTO_VERSION_NUMBER (LIBMOSQUITTO_MAJOR*1000000+LIBMOSQUITTO_MINOR*1000+LIBMOSQUITTO_REVISION)

@ -90,7 +90,7 @@ util_mosq.o : ../lib/util_mosq.c ../lib/util_mosq.h
${CROSS_COMPILE}${CC} $(BROKER_CFLAGS) -c $< -o $@ ${CROSS_COMPILE}${CC} $(BROKER_CFLAGS) -c $< -o $@
websockets.o : websockets.c mosquitto_broker.h websockets.o : websockets.c mosquitto_broker.h
${CC} $(BROKER_CFLAGS) -c $< -o $@ ${CROSS_COMPILE}${CC} $(BROKER_CFLAGS) -c $< -o $@
will_mosq.o : ../lib/will_mosq.c ../lib/will_mosq.h will_mosq.o : ../lib/will_mosq.c ../lib/will_mosq.h
${CROSS_COMPILE}${CC} $(BROKER_CFLAGS) -c $< -o $@ ${CROSS_COMPILE}${CC} $(BROKER_CFLAGS) -c $< -o $@

@ -115,6 +115,7 @@ int mosquitto_main_loop(struct mosquitto_db *db, mosq_sock_t *listensock, int li
#endif #endif
int context_count; int context_count;
time_t expiration_check_time = 0; time_t expiration_check_time = 0;
time_t last_timeout_check = 0;
char *id; char *id;
#ifndef WIN32 #ifndef WIN32
@ -178,7 +179,7 @@ int mosquitto_main_loop(struct mosquitto_db *db, mosq_sock_t *listensock, int li
&& context->bridge->cur_address != 0 && context->bridge->cur_address != 0
&& now > context->bridge->primary_retry){ && now > context->bridge->primary_retry){
if(_mosquitto_try_connect(context, context->bridge->addresses[0].address, context->bridge->addresses[0].port, &bridge_sock, NULL, false) == MOSQ_ERR_SUCCESS){ if(_mosquitto_try_connect(context, context->bridge->addresses[0].address, context->bridge->addresses[0].port, &bridge_sock, NULL, false) <= 0){
COMPAT_CLOSE(bridge_sock); COMPAT_CLOSE(bridge_sock);
_mosquitto_socket_close(db, context); _mosquitto_socket_close(db, context);
context->bridge->cur_address = context->bridge->address_count-1; context->bridge->cur_address = context->bridge->address_count-1;
@ -307,7 +308,11 @@ int mosquitto_main_loop(struct mosquitto_db *db, mosq_sock_t *listensock, int li
expiration_check_time = time(NULL) + 3600; expiration_check_time = time(NULL) + 3600;
} }
mqtt3_db_message_timeout_check(db, db->config->retry_interval); if(last_timeout_check < mosquitto_time()){
/* Only check at most once per second. */
mqtt3_db_message_timeout_check(db, db->config->retry_interval);
last_timeout_check = mosquitto_time();
}
#ifndef WIN32 #ifndef WIN32
sigprocmask(SIG_SETMASK, &sigblock, &origsig); sigprocmask(SIG_SETMASK, &sigblock, &origsig);

Loading…
Cancel
Save