mirror of https://github.com/eclipse/paho.mqtt.c
Merge branch 'develop' of github.com:eclipse/paho.mqtt.c into develop
This commit is contained in:
commit
2d29e4bd27
20
.travis.yml
20
.travis.yml
|
|
@ -1,17 +1,13 @@
|
|||
sudo: required
|
||||
language: c
|
||||
compiler:
|
||||
- gcc
|
||||
- clang
|
||||
os:
|
||||
- linux
|
||||
- osx
|
||||
matrix:
|
||||
exclude:
|
||||
- compiler: gcc
|
||||
os: osx
|
||||
- compiler: clang
|
||||
os: linux
|
||||
jobs:
|
||||
include:
|
||||
- os: linux
|
||||
compiler: gcc
|
||||
env: OPENSSL_ROOT_DIR=
|
||||
- os: osx
|
||||
compiler: clang
|
||||
env: OPENSSL_ROOT_DIR=/usr/local/opt/openssl
|
||||
before_install:
|
||||
#- if [ "$DEPLOY" = "true" ]; then ./travis-setup-deploy.sh; fi
|
||||
- "./travis-install.sh"
|
||||
|
|
|
|||
|
|
@ -92,7 +92,7 @@ Variable | Default Value | Description
|
|||
PAHO_BUILD_SHARED | TRUE | Build a shared version of the libraries
|
||||
PAHO_BUILD_STATIC | FALSE | Build a static version of the libraries
|
||||
PAHO_WITH_SSL | FALSE | Flag that defines whether to build ssl-enabled binaries too.
|
||||
OPENSSL_SEARCH_PATH | "" (system default) | Directory containing your OpenSSL installation (i.e. `/usr/local` when headers are in `/usr/local/include` and libraries are in `/usr/local/lib`)
|
||||
OPENSSL_ROOT_DIR | "" (system default) | Directory containing your OpenSSL installation (i.e. `/usr/local` when headers are in `/usr/local/include` and libraries are in `/usr/local/lib`)
|
||||
PAHO_BUILD_DOCUMENTATION | FALSE | Create and install the HTML based API documentation (requires Doxygen)
|
||||
PAHO_BUILD_SAMPLES | FALSE | Build sample programs
|
||||
MQTT_TEST_BROKER | tcp://localhost:1883 | MQTT connection URL for a broker to use during test execution
|
||||
|
|
|
|||
|
|
@ -4,14 +4,17 @@ environment:
|
|||
matrix:
|
||||
- APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2013
|
||||
PAHO_WINDOWS_BUILD_BIT: x86
|
||||
OPENSSL_ROOT_DIR: "C:/OpenSSL-Win32"
|
||||
PAHO_BUILD_STATIC: FALSE
|
||||
PAHO_BUILD_SHARED: TRUE
|
||||
- APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2015
|
||||
PAHO_WINDOWS_BUILD_BIT: x64
|
||||
PENSSL_ROOT_DIR: "C:/OpenSSL-Win64"
|
||||
PAHO_BUILD_STATIC: FALSE
|
||||
PAHO_BUILD_SHARED: TRUE
|
||||
- APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2015
|
||||
PAHO_WINDOWS_BUILD_BIT: x64
|
||||
PENSSL_ROOT_DIR: "C:/OpenSSL-Win64"
|
||||
PAHO_BUILD_STATIC: TRUE
|
||||
PAHO_BUILD_SHARED: FALSE
|
||||
|
||||
|
|
@ -40,7 +43,7 @@ build_script:
|
|||
|
||||
if "%APPVEYOR_BUILD_WORKER_IMAGE%" == "Visual Studio 2013" call "C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\vcvarsall.bat" %PAHO_WINDOWS_BUILD_BIT%
|
||||
|
||||
cmake -G "NMake Makefiles" -DPAHO_WITH_SSL=TRUE -DPAHO_BUILD_DOCUMENTATION=FALSE -DPAHO_BUILD_SAMPLES=TRUE -DCMAKE_BUILD_TYPE=Release -DCMAKE_VERBOSE_MAKEFILE=TRUE -DPAHO_BUILD_STATIC=%PAHO_BUILD_STATIC% -DPAHO_BUILD_SHARED=%PAHO_BUILD_SHARED% ..
|
||||
cmake -G "NMake Makefiles" -DPAHO_WITH_SSL=TRUE -DOPENSSL_ROOT_DIR=%OPENSSL_ROOT_DIR% -DPAHO_BUILD_DOCUMENTATION=FALSE -DPAHO_BUILD_SAMPLES=TRUE -DCMAKE_BUILD_TYPE=Release -DCMAKE_VERBOSE_MAKEFILE=TRUE -DPAHO_BUILD_STATIC=%PAHO_BUILD_STATIC% -DPAHO_BUILD_SHARED=%PAHO_BUILD_SHARED% ..
|
||||
|
||||
nmake
|
||||
|
||||
|
|
|
|||
|
|
@ -111,6 +111,24 @@ IF (PAHO_BUILD_SHARED)
|
|||
VERSION ${CLIENT_VERSION}
|
||||
SOVERSION ${PAHO_VERSION_MAJOR}
|
||||
DEFINE_SYMBOL "MQTT_EXPORTS")
|
||||
|
||||
IF(${CMAKE_SYSTEM_NAME} STREQUAL "Darwin")
|
||||
SET(MQTTCLIENT_ENTRY_POINT _MQTTClient_init)
|
||||
SET(MQTTASYNC_ENTRY_POINT _MQTTAsync_init)
|
||||
ELSEIF (NOT WIN32)
|
||||
SET(MQTTCLIENT_ENTRY_POINT MQTTClient_init)
|
||||
SET(MQTTASYNC_ENTRY_POINT MQTTAsync_init)
|
||||
ENDIF()
|
||||
|
||||
IF (NOT WIN32)
|
||||
SET_TARGET_PROPERTIES(
|
||||
paho-mqtt3c PROPERTIES
|
||||
LINK_FLAGS "-Wl,-init,${MQTTCLIENT_ENTRY_POINT}")
|
||||
SET_TARGET_PROPERTIES(
|
||||
paho-mqtt3a PROPERTIES
|
||||
LINK_FLAGS "-Wl,-init,${MQTTASYNC_ENTRY_POINT}")
|
||||
ENDIF()
|
||||
|
||||
FOREACH(TARGET paho-mqtt3c paho-mqtt3a)
|
||||
TARGET_INCLUDE_DIRECTORIES(${TARGET}
|
||||
PUBLIC
|
||||
|
|
@ -166,48 +184,13 @@ INSTALL(FILES MQTTAsync.h MQTTClient.h MQTTClientPersistence.h MQTTProperties.h
|
|||
DESTINATION ${CMAKE_INSTALL_INCLUDEDIR})
|
||||
|
||||
IF (PAHO_WITH_SSL)
|
||||
SET(OPENSSL_SEARCH_PATH "" CACHE PATH "Directory containing OpenSSL libraries and includes")
|
||||
|
||||
IF (${CMAKE_SYSTEM_NAME} STREQUAL "Darwin")
|
||||
IF(OPENSSL_SEARCH_PATH STREQUAL "")
|
||||
SET(OPENSSL_SEARCH_PATH "/usr/local/opt/openssl")
|
||||
ENDIF ()
|
||||
ENDIF (${CMAKE_SYSTEM_NAME} STREQUAL "Darwin")
|
||||
|
||||
IF (WIN32)
|
||||
IF(OPENSSL_SEARCH_PATH STREQUAL "")
|
||||
SET(OPENSSL_SEARCH_PATH "C:/OpenSSL-Win64")
|
||||
SET(OPENSSL_SEARCH_LIB_PATH "${OPENSSL_SEARCH_PATH}/lib64")
|
||||
IF (DEFINED ENV{PAHO_WINDOWS_BUILD_BIT})
|
||||
IF ($ENV{PAHO_WINDOWS_BUILD_BIT} STREQUAL "x86")
|
||||
SET(OPENSSL_SEARCH_PATH "C:/OpenSSL-Win32")
|
||||
SET(OPENSSL_SEARCH_LIB_PATH "${OPENSSL_SEARCH_PATH}/lib32")
|
||||
ENDIF ()
|
||||
ENDIF ()
|
||||
ENDIF ()
|
||||
ELSE()
|
||||
SET(OPENSSL_SEARCH_LIB_PATH "${OPENSSL_SEARCH_PATH}/lib64")
|
||||
ENDIF ()
|
||||
|
||||
FIND_PATH(OPENSSL_INCLUDE_DIR openssl/ssl.h
|
||||
HINTS ${OPENSSL_SEARCH_PATH}/include)
|
||||
FIND_LIBRARY(OPENSSL_LIB NAMES ssl libssl ssleay32
|
||||
HINTS ${OPENSSL_SEARCH_PATH}/lib ${OPENSSL_SEARCH_LIB_PATH})
|
||||
FIND_LIBRARY(OPENSSLCRYPTO_LIB NAMES crypto libcrypto libeay32
|
||||
HINTS ${OPENSSL_SEARCH_PATH}/lib ${OPENSSL_SEARCH_LIB_PATH})
|
||||
|
||||
MESSAGE(STATUS "OpenSSL hints: ${OPENSSL_SEARCH_PATH}")
|
||||
MESSAGE(STATUS "OpenSSL headers found at ${OPENSSL_INCLUDE_DIR}")
|
||||
MESSAGE(STATUS "OpenSSL library found at ${OPENSSL_LIB}")
|
||||
MESSAGE(STATUS "OpenSSL Crypto library found at ${OPENSSLCRYPTO_LIB}")
|
||||
|
||||
INCLUDE_DIRECTORIES(
|
||||
${OPENSSL_INCLUDE_DIR}
|
||||
)
|
||||
SET(OPENSSL_ROOT_DIR "" CACHE PATH "Directory containing OpenSSL libraries and includes")
|
||||
find_package(OpenSSL REQUIRED)
|
||||
|
||||
## common compilation for libpaho-mqtt3cs and libpaho-mqtt3as
|
||||
## Note: SSL libraries must be recompiled due ifdefs
|
||||
ADD_LIBRARY(common_ssl_obj OBJECT ${common_src})
|
||||
TARGET_INCLUDE_DIRECTORIES(common_ssl_obj PUBLIC ${OPENSSL_INCLUDE_DIR})
|
||||
SET_PROPERTY(TARGET common_ssl_obj PROPERTY POSITION_INDEPENDENT_CODE ON)
|
||||
SET_PROPERTY(TARGET common_ssl_obj PROPERTY COMPILE_DEFINITIONS "OPENSSL=1;MQTT_EXPORTS=1")
|
||||
|
||||
|
|
@ -215,14 +198,30 @@ IF (PAHO_WITH_SSL)
|
|||
ADD_LIBRARY(paho-mqtt3cs SHARED $<TARGET_OBJECTS:common_ssl_obj> MQTTClient.c SSLSocket.c)
|
||||
ADD_LIBRARY(paho-mqtt3as SHARED $<TARGET_OBJECTS:common_ssl_obj> MQTTAsync.c SSLSocket.c)
|
||||
|
||||
TARGET_LINK_LIBRARIES(paho-mqtt3cs ${OPENSSL_LIB} ${OPENSSLCRYPTO_LIB} ${LIBS_SYSTEM})
|
||||
TARGET_LINK_LIBRARIES(paho-mqtt3as ${OPENSSL_LIB} ${OPENSSLCRYPTO_LIB} ${LIBS_SYSTEM})
|
||||
SET_TARGET_PROPERTIES(
|
||||
paho-mqtt3cs paho-mqtt3as PROPERTIES
|
||||
VERSION ${CLIENT_VERSION}
|
||||
SOVERSION ${PAHO_VERSION_MAJOR}
|
||||
COMPILE_DEFINITIONS "OPENSSL=1"
|
||||
DEFINE_SYMBOL "MQTT_EXPORTS")
|
||||
|
||||
IF(${CMAKE_SYSTEM_NAME} STREQUAL "Darwin")
|
||||
SET(MQTTCLIENT_ENTRY_POINT _MQTTClient_init)
|
||||
SET(MQTTASYNC_ENTRY_POINT _MQTTAsync_init)
|
||||
ELSEIF (NOT WIN32)
|
||||
SET(MQTTCLIENT_ENTRY_POINT MQTTClient_init)
|
||||
SET(MQTTASYNC_ENTRY_POINT MQTTAsync_init)
|
||||
ENDIF()
|
||||
|
||||
IF (NOT WIN32)
|
||||
SET_TARGET_PROPERTIES(
|
||||
paho-mqtt3cs PROPERTIES
|
||||
LINK_FLAGS "-Wl,-init,${MQTTCLIENT_ENTRY_POINT}")
|
||||
SET_TARGET_PROPERTIES(
|
||||
paho-mqtt3as PROPERTIES
|
||||
LINK_FLAGS "-Wl,-init,${MQTTASYNC_ENTRY_POINT}")
|
||||
ENDIF()
|
||||
|
||||
FOREACH(TARGET paho-mqtt3cs paho-mqtt3as)
|
||||
TARGET_INCLUDE_DIRECTORIES(${TARGET}
|
||||
PUBLIC
|
||||
|
|
@ -230,6 +229,9 @@ IF (PAHO_WITH_SSL)
|
|||
$<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}>
|
||||
PRIVATE
|
||||
${CMAKE_BINARY_DIR})
|
||||
TARGET_LINK_LIBRARIES(${TARGET}
|
||||
PUBLIC
|
||||
OpenSSL::SSL OpenSSL::Crypto ${LIBS_SYSTEM})
|
||||
ENDFOREACH()
|
||||
INSTALL(TARGETS paho-mqtt3cs paho-mqtt3as
|
||||
EXPORT eclipse-paho-mqtt-cTargets
|
||||
|
|
@ -242,8 +244,6 @@ IF (PAHO_WITH_SSL)
|
|||
ADD_LIBRARY(paho-mqtt3cs-static STATIC $<TARGET_OBJECTS:common_ssl_obj> MQTTClient.c SSLSocket.c)
|
||||
ADD_LIBRARY(paho-mqtt3as-static STATIC $<TARGET_OBJECTS:common_ssl_obj> MQTTAsync.c SSLSocket.c)
|
||||
|
||||
TARGET_LINK_LIBRARIES(paho-mqtt3cs-static ${OPENSSL_LIBRARIES} ${LIBS_SYSTEM})
|
||||
TARGET_LINK_LIBRARIES(paho-mqtt3as-static ${OPENSSL_LIBRARIES} ${LIBS_SYSTEM})
|
||||
SET_TARGET_PROPERTIES(
|
||||
paho-mqtt3cs-static paho-mqtt3as-static PROPERTIES
|
||||
VERSION ${CLIENT_VERSION}
|
||||
|
|
@ -255,6 +255,23 @@ IF (PAHO_WITH_SSL)
|
|||
SET_TARGET_PROPERTIES(paho-mqtt3as-static PROPERTIES OUTPUT_NAME paho-mqtt3as)
|
||||
ENDIF()
|
||||
|
||||
IF(${CMAKE_SYSTEM_NAME} STREQUAL "Darwin")
|
||||
SET(MQTTCLIENT_ENTRY_POINT _MQTTClient_init)
|
||||
SET(MQTTASYNC_ENTRY_POINT _MQTTAsync_init)
|
||||
ELSEIF (NOT WIN32)
|
||||
SET(MQTTCLIENT_ENTRY_POINT MQTTClient_init)
|
||||
SET(MQTTASYNC_ENTRY_POINT MQTTAsync_init)
|
||||
ENDIF()
|
||||
|
||||
IF (NOT WIN32)
|
||||
SET_TARGET_PROPERTIES(
|
||||
paho-mqtt3cs-static PROPERTIES
|
||||
LINK_FLAGS "-Wl,-init,${MQTTCLIENT_ENTRY_POINT}")
|
||||
SET_TARGET_PROPERTIES(
|
||||
paho-mqtt3as-static PROPERTIES
|
||||
LINK_FLAGS "-Wl,-init,${MQTTASYNC_ENTRY_POINT}")
|
||||
ENDIF()
|
||||
|
||||
IF (NOT PAHO_BUILD_SHARED)
|
||||
INSTALL(TARGETS paho-mqtt3cs-static paho-mqtt3as-static
|
||||
EXPORT eclipse-paho-mqtt-cTargets
|
||||
|
|
@ -272,6 +289,9 @@ IF (PAHO_WITH_SSL)
|
|||
$<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}>
|
||||
PRIVATE
|
||||
${CMAKE_BINARY_DIR})
|
||||
TARGET_LINK_LIBRARIES(${TARGET}
|
||||
PUBLIC
|
||||
OpenSSL::SSL OpenSSL::Crypto ${LIBS_SYSTEM})
|
||||
ENDFOREACH()
|
||||
ENDIF()
|
||||
ENDIF()
|
||||
|
|
@ -294,7 +314,7 @@ ADD_EXECUTABLE( Base64Test EXCLUDE_FROM_ALL Base64.c Base64.h )
|
|||
TARGET_COMPILE_DEFINITIONS( Base64Test PUBLIC "-DBASE64_TEST" )
|
||||
IF (PAHO_WITH_SSL)
|
||||
ADD_EXECUTABLE( Base64TestOpenSSL EXCLUDE_FROM_ALL Base64.c Base64.h )
|
||||
TARGET_LINK_LIBRARIES( Base64TestOpenSSL ${OPENSSL_LIB} ${OPENSSLCRYPTO_LIB} )
|
||||
TARGET_LINK_LIBRARIES( Base64TestOpenSSL OpenSSL::SSL OpenSSL::Crypto)
|
||||
TARGET_COMPILE_DEFINITIONS( Base64TestOpenSSL PUBLIC "-DBASE64_TEST -DOPENSSL=1" )
|
||||
ENDIF (PAHO_WITH_SSL)
|
||||
|
||||
|
|
@ -303,6 +323,6 @@ ADD_EXECUTABLE( Sha1Test EXCLUDE_FROM_ALL SHA1.c SHA1.h )
|
|||
TARGET_COMPILE_DEFINITIONS( Sha1Test PUBLIC "-DSHA1_TEST" )
|
||||
IF (PAHO_WITH_SSL)
|
||||
ADD_EXECUTABLE( Sha1TestOpenSSL EXCLUDE_FROM_ALL SHA1.c SHA1.h )
|
||||
TARGET_LINK_LIBRARIES( Sha1TestOpenSSL ${OPENSSL_LIB} ${OPENSSLCRYPTO_LIB} )
|
||||
TARGET_LINK_LIBRARIES( Sha1TestOpenSSL OpenSSL::SSL OpenSSL::Crypto)
|
||||
TARGET_COMPILE_DEFINITIONS( Sha1TestOpenSSL PUBLIC "-DSHA1_TEST -DOPENSSL=1" )
|
||||
ENDIF (PAHO_WITH_SSL)
|
||||
|
|
|
|||
42
src/Heap.c
42
src/Heap.c
|
|
@ -56,7 +56,9 @@ static mutex_type heap_mutex = &heap_mutex_store;
|
|||
#endif
|
||||
|
||||
static heap_info state = {0, 0}; /**< global heap state information */
|
||||
static int eyecatcher = 0x88888888;
|
||||
|
||||
typedef double eyecatcherType;
|
||||
static eyecatcherType eyecatcher = 0x8888888888888888;
|
||||
|
||||
/*#define HEAP_STACK 1 */
|
||||
|
||||
|
|
@ -193,39 +195,39 @@ void* mymalloc(char* file, int line, size_t size)
|
|||
#endif
|
||||
s->line = line;
|
||||
/* Add space for eyecatcher at each end */
|
||||
if ((s->ptr = malloc(size + 2*sizeof(int))) == NULL)
|
||||
if ((s->ptr = malloc(size + 2*sizeof(eyecatcherType))) == NULL)
|
||||
{
|
||||
Log(LOG_ERROR, 13, errmsg);
|
||||
free(s->file);
|
||||
free(s);
|
||||
return NULL;
|
||||
}
|
||||
memset(s->ptr, 0, size + 2*sizeof(int));
|
||||
space += size + 2*sizeof(int);
|
||||
*(int*)(s->ptr) = eyecatcher; /* start eyecatcher */
|
||||
*(int*)(((char*)(s->ptr)) + (sizeof(int) + size)) = eyecatcher; /* end eyecatcher */
|
||||
memset(s->ptr, 0, size + 2*sizeof(eyecatcherType));
|
||||
space += size + 2*sizeof(eyecatcherType);
|
||||
*(eyecatcherType*)(s->ptr) = eyecatcher; /* start eyecatcher */
|
||||
*(eyecatcherType*)(((char*)(s->ptr)) + (sizeof(eyecatcherType) + size)) = eyecatcher; /* end eyecatcher */
|
||||
Log(TRACE_MAX, -1, "Allocating %d bytes in heap at file %s line %d ptr %p\n", (int)size, file, line, s->ptr);
|
||||
TreeAdd(&heap, s, space);
|
||||
state.current_size += size;
|
||||
if (state.current_size > state.max_size)
|
||||
state.max_size = state.current_size;
|
||||
Thread_unlock_mutex(heap_mutex);
|
||||
return ((int*)(s->ptr)) + 1; /* skip start eyecatcher */
|
||||
return ((eyecatcherType*)(s->ptr)) + 1; /* skip start eyecatcher */
|
||||
}
|
||||
|
||||
|
||||
static void checkEyecatchers(char* file, int line, void* p, size_t size)
|
||||
{
|
||||
int *sp = (int*)p;
|
||||
eyecatcherType *sp = (eyecatcherType*)p;
|
||||
char *cp = (char*)p;
|
||||
int us;
|
||||
eyecatcherType us;
|
||||
static const char *msg = "Invalid %s eyecatcher %d in heap item at file %s line %d";
|
||||
|
||||
if ((us = *--sp) != eyecatcher)
|
||||
Log(LOG_ERROR, 13, msg, "start", us, file, line);
|
||||
|
||||
cp += size;
|
||||
if ((us = *(int*)cp) != eyecatcher)
|
||||
if ((us = *(eyecatcherType*)cp) != eyecatcher)
|
||||
Log(LOG_ERROR, 13, msg, "end", us, file, line);
|
||||
}
|
||||
|
||||
|
|
@ -242,7 +244,7 @@ static int Internal_heap_unlink(char* file, int line, void* p)
|
|||
Node* e = NULL;
|
||||
int rc = 0;
|
||||
|
||||
e = TreeFind(&heap, ((int*)p)-1);
|
||||
e = TreeFind(&heap, ((eyecatcherType*)p)-1);
|
||||
if (e == NULL)
|
||||
Log(LOG_ERROR, 13, "Failed to remove heap item at file %s line %d", file, line);
|
||||
else
|
||||
|
|
@ -275,7 +277,7 @@ void myfree(char* file, int line, void* p)
|
|||
{
|
||||
Thread_lock_mutex(heap_mutex);
|
||||
if (Internal_heap_unlink(file, line, p))
|
||||
free(((int*)p)-1);
|
||||
free(((eyecatcherType*)p)-1);
|
||||
Thread_unlock_mutex(heap_mutex);
|
||||
}
|
||||
else
|
||||
|
|
@ -318,7 +320,7 @@ void *myrealloc(char* file, int line, void* p, size_t size)
|
|||
storageElement* s = NULL;
|
||||
|
||||
Thread_lock_mutex(heap_mutex);
|
||||
s = TreeRemoveKey(&heap, ((int*)p)-1);
|
||||
s = TreeRemoveKey(&heap, ((eyecatcherType*)p)-1);
|
||||
if (s == NULL)
|
||||
Log(LOG_ERROR, 13, "Failed to reallocate heap item at file %s line %d", file, line);
|
||||
else
|
||||
|
|
@ -331,14 +333,14 @@ void *myrealloc(char* file, int line, void* p, size_t size)
|
|||
state.current_size += size - s->size;
|
||||
if (state.current_size > state.max_size)
|
||||
state.max_size = state.current_size;
|
||||
if ((s->ptr = realloc(s->ptr, size + 2*sizeof(int))) == NULL)
|
||||
if ((s->ptr = realloc(s->ptr, size + 2*sizeof(eyecatcherType))) == NULL)
|
||||
{
|
||||
Log(LOG_ERROR, 13, errmsg);
|
||||
return NULL;
|
||||
}
|
||||
space += size + 2*sizeof(int) - s->size;
|
||||
*(int*)(s->ptr) = eyecatcher; /* start eyecatcher */
|
||||
*(int*)(((char*)(s->ptr)) + (sizeof(int) + size)) = eyecatcher; /* end eyecatcher */
|
||||
space += size + 2*sizeof(eyecatcherType) - s->size;
|
||||
*(eyecatcherType*)(s->ptr) = eyecatcher; /* start eyecatcher */
|
||||
*(eyecatcherType*)(((char*)(s->ptr)) + (sizeof(eyecatcherType) + size)) = eyecatcher; /* end eyecatcher */
|
||||
s->size = size;
|
||||
space -= strlen(s->file);
|
||||
s->file = realloc(s->file, filenamelen);
|
||||
|
|
@ -349,7 +351,7 @@ void *myrealloc(char* file, int line, void* p, size_t size)
|
|||
TreeAdd(&heap, s, space);
|
||||
}
|
||||
Thread_unlock_mutex(heap_mutex);
|
||||
return (rc == NULL) ? NULL : ((int*)(rc)) + 1; /* skip start eyecatcher */
|
||||
return (rc == NULL) ? NULL : ((eyecatcherType*)(rc)) + 1; /* skip start eyecatcher */
|
||||
}
|
||||
|
||||
|
||||
|
|
@ -364,7 +366,7 @@ void* Heap_findItem(void* p)
|
|||
Node* e = NULL;
|
||||
|
||||
Thread_lock_mutex(heap_mutex);
|
||||
e = TreeFind(&heap, ((int*)p)-1);
|
||||
e = TreeFind(&heap, ((eyecatcherType*)p)-1);
|
||||
Thread_unlock_mutex(heap_mutex);
|
||||
return (e == NULL) ? NULL : e->content;
|
||||
}
|
||||
|
|
@ -384,7 +386,7 @@ static void HeapScan(enum LOG_LEVELS log_level)
|
|||
{
|
||||
storageElement* s = (storageElement*)(current->content);
|
||||
Log(log_level, -1, "Heap element size %d, line %d, file %s, ptr %p", (int)s->size, s->line, s->file, s->ptr);
|
||||
Log(log_level, -1, " Content %.*s", (10 > current->size) ? (int)s->size : 10, (char*)(((int*)s->ptr) + 1));
|
||||
Log(log_level, -1, " Content %.*s", (10 > current->size) ? (int)s->size : 10, (char*)(((eyecatcherType*)s->ptr) + 1));
|
||||
#if defined(HEAP_STACK)
|
||||
Log(log_level, -1, " Stack:\n%s", s->stack);
|
||||
#endif
|
||||
|
|
|
|||
|
|
@ -474,7 +474,7 @@ void WebSocket_close(networkHandles *net, int status_code, const char *reason)
|
|||
char *buf0;
|
||||
size_t buf0len = sizeof(uint16_t);
|
||||
uint16_t status_code_be;
|
||||
const int mask_data = 0;
|
||||
const int mask_data = 1; /* all frames from client must be masked */
|
||||
|
||||
if ( status_code < WebSocket_CLOSE_NORMAL ||
|
||||
status_code > WebSocket_CLOSE_TLS_FAIL )
|
||||
|
|
@ -805,11 +805,10 @@ void WebSocket_pong(networkHandles *net, char *app_data, size_t app_data_len)
|
|||
char *buf0 = NULL;
|
||||
size_t buf0len = 0;
|
||||
int freeData = 0;
|
||||
const int mask_data = 0;
|
||||
const int mask_data = 1; /* all frames from client must be masked */
|
||||
|
||||
WebSocket_buildFrame( net, WebSocket_OP_PONG, 1,
|
||||
&buf0, &buf0len, mask_data, &app_data,
|
||||
&app_data_len);
|
||||
WebSocket_buildFrame( net, WebSocket_OP_PONG, mask_data,
|
||||
&buf0, &buf0len, 1, &app_data, &app_data_len);
|
||||
|
||||
Log(TRACE_PROTOCOL, 1, "Sending WebSocket PONG" );
|
||||
|
||||
|
|
|
|||
|
|
@ -73,10 +73,10 @@ ADD_EXECUTABLE(paho_c_sub_static paho_c_sub.c pubsub_opts.c)
|
|||
ADD_EXECUTABLE(paho_cs_pub_static paho_cs_pub.c pubsub_opts.c)
|
||||
ADD_EXECUTABLE(paho_cs_sub_static paho_cs_sub.c pubsub_opts.c)
|
||||
|
||||
TARGET_LINK_LIBRARIES(paho_c_pub_static paho-mqtt3as-static ${OPENSSL_LIB} ${OPENSSLCRYPTO_LIB})
|
||||
TARGET_LINK_LIBRARIES(paho_c_sub_static paho-mqtt3as-static ${OPENSSL_LIB} ${OPENSSLCRYPTO_LIB})
|
||||
TARGET_LINK_LIBRARIES(paho_cs_pub_static paho-mqtt3cs-static ${OPENSSL_LIB} ${OPENSSLCRYPTO_LIB})
|
||||
TARGET_LINK_LIBRARIES(paho_cs_sub_static paho-mqtt3cs-static ${OPENSSL_LIB} ${OPENSSLCRYPTO_LIB})
|
||||
TARGET_LINK_LIBRARIES(paho_c_pub_static paho-mqtt3as-static)
|
||||
TARGET_LINK_LIBRARIES(paho_c_sub_static paho-mqtt3as-static)
|
||||
TARGET_LINK_LIBRARIES(paho_cs_pub_static paho-mqtt3cs-static)
|
||||
TARGET_LINK_LIBRARIES(paho_cs_sub_static paho-mqtt3cs-static)
|
||||
|
||||
ENDIF()
|
||||
|
||||
|
|
|
|||
|
|
@ -7,37 +7,6 @@ SET(MQTT_SSL_HOSTNAME "localhost" CACHE STRING "Hostname of a test SSL MQTT brok
|
|||
SET(CERTDIR ${CMAKE_SOURCE_DIR}/test/ssl)
|
||||
|
||||
|
||||
IF (PAHO_WITH_SSL)
|
||||
SET(OPENSSL_SEARCH_PATH "" CACHE PATH "Directory containing OpenSSL libraries and includes")
|
||||
|
||||
IF (${CMAKE_SYSTEM_NAME} STREQUAL "Darwin")
|
||||
IF(OPENSSL_SEARCH_PATH STREQUAL "")
|
||||
SET(OPENSSL_SEARCH_PATH "/usr/local/opt/openssl")
|
||||
ENDIF ()
|
||||
ENDIF (${CMAKE_SYSTEM_NAME} STREQUAL "Darwin")
|
||||
|
||||
IF (WIN32)
|
||||
IF(OPENSSL_SEARCH_PATH STREQUAL "")
|
||||
SET(OPENSSL_SEARCH_PATH "C:/OpenSSL-Win64")
|
||||
IF (DEFINED ENV{PAHO_WINDOWS_BUILD_BIT})
|
||||
IF ($ENV{PAHO_WINDOWS_BUILD_BIT} STREQUAL "x86")
|
||||
SET(OPENSSL_SEARCH_PATH "C:/OpenSSL-Win32")
|
||||
ENDIF ()
|
||||
ENDIF ()
|
||||
ENDIF ()
|
||||
ENDIF ()
|
||||
|
||||
FIND_PATH(OPENSSL_INCLUDE_DIR openssl/ssl.h
|
||||
HINTS ${OPENSSL_SEARCH_PATH}/include)
|
||||
|
||||
MESSAGE(STATUS "OpenSSL hints: ${OPENSSL_SEARCH_PATH}")
|
||||
MESSAGE(STATUS "OpenSSL headers found at ${OPENSSL_INCLUDE_DIR}")
|
||||
|
||||
INCLUDE_DIRECTORIES(
|
||||
${OPENSSL_INCLUDE_DIR}
|
||||
)
|
||||
ENDIF ()
|
||||
|
||||
IF (WIN32)
|
||||
SET(LIBS_SYSTEM ws2_32)
|
||||
ELSEIF (UNIX)
|
||||
|
|
@ -357,7 +326,7 @@ IF (PAHO_WITH_SSL)
|
|||
)
|
||||
TARGET_LINK_LIBRARIES(
|
||||
test3-static
|
||||
paho-mqtt3cs-static ${OPENSSL_LIB} ${OPENSSLCRYPTO_LIB}
|
||||
paho-mqtt3cs-static
|
||||
)
|
||||
|
||||
ADD_TEST(
|
||||
|
|
@ -684,7 +653,7 @@ IF (PAHO_BUILD_STATIC)
|
|||
|
||||
ADD_TEST(
|
||||
NAME test45-7-pending-tokens-static
|
||||
COMMAND test45-static "--test_no" "7" --verbose "--connection" ${MQTT_TEST_BROKER}
|
||||
COMMAND test45-static "--test_no" "7" "--connection" ${MQTT_TEST_BROKER}
|
||||
)
|
||||
|
||||
ADD_TEST(
|
||||
|
|
@ -747,7 +716,7 @@ IF (PAHO_BUILD_SHARED)
|
|||
|
||||
ADD_TEST(
|
||||
NAME test45-7-pending-tokens
|
||||
COMMAND test45 "--test_no" "7" --verbose "--connection" ${MQTT_TEST_BROKER}
|
||||
COMMAND test45 "--test_no" "7" "--connection" ${MQTT_TEST_BROKER}
|
||||
)
|
||||
|
||||
ADD_TEST(
|
||||
|
|
@ -777,7 +746,7 @@ IF (PAHO_WITH_SSL)
|
|||
|
||||
TARGET_LINK_LIBRARIES(
|
||||
test5-static
|
||||
paho-mqtt3as-static ${OPENSSL_LIB} ${OPENSSLCRYPTO_LIB}
|
||||
paho-mqtt3as-static
|
||||
)
|
||||
|
||||
ADD_TEST(
|
||||
|
|
|
|||
|
|
@ -774,7 +774,7 @@ int test2a(struct Options options)
|
|||
fprintf(xml, "<testcase classname=\"test5\" name=\"%s\"", testname);
|
||||
global_start_time = start_clock();
|
||||
|
||||
MQTTAsync_create(&c, options.mutual_auth_connection, "test2a", MQTTCLIENT_PERSISTENCE_DEFAULT, NULL);
|
||||
rc = MQTTAsync_create(&c, options.mutual_auth_connection, "test2a", MQTTCLIENT_PERSISTENCE_DEFAULT, NULL);
|
||||
assert("good rc from create", rc == MQTTASYNC_SUCCESS, "rc was %d\n", rc);
|
||||
if (rc != MQTTASYNC_SUCCESS)
|
||||
goto exit;
|
||||
|
|
|
|||
|
|
@ -5,9 +5,9 @@ set -e
|
|||
rm -rf build.paho
|
||||
mkdir build.paho
|
||||
cd build.paho
|
||||
echo "travis build dir $TRAVIS_BUILD_DIR pwd $PWD"
|
||||
cmake -DCMAKE_BUILD_TYPE=Debug -DPAHO_WITH_SSL=TRUE -DPAHO_BUILD_DOCUMENTATION=FALSE -DPAHO_BUILD_SAMPLES=TRUE ..
|
||||
make
|
||||
echo "travis build dir $TRAVIS_BUILD_DIR pwd $PWD with OpenSSL root $OPENSSL_ROOT_DIR"
|
||||
cmake -DCMAKE_BUILD_TYPE=Debug -DPAHO_WITH_SSL=TRUE -DOPENSSL_ROOT_DIR=$OPENSSL_ROOT_DIR -DPAHO_BUILD_DOCUMENTATION=FALSE -DPAHO_BUILD_SAMPLES=TRUE ..
|
||||
cmake --build .
|
||||
python3 ../test/mqttsas.py &
|
||||
ctest -VV --timeout 600
|
||||
cpack --verbose
|
||||
|
|
|
|||
|
|
@ -1,2 +0,0 @@
|
|||
export TRAVIS_OS_NAME=linux
|
||||
export TRAVIS_BUILD_DIR=$PWD
|
||||
|
|
@ -1,2 +0,0 @@
|
|||
export TRAVIS_OS_NAME=osx
|
||||
export TRAVIS_BUILD_DIR=$PWD
|
||||
Loading…
Reference in New Issue