Merge pull request #71 from eclipse/develop

Bugfix of Gateway can't receive MQTT packets with no payload.
This commit is contained in:
Tomoaki Yamaguchi
2017-07-30 09:10:29 +09:00
committed by GitHub
3 changed files with 22 additions and 18 deletions

View File

@@ -204,6 +204,8 @@ int MQTTGWPacket::recv(Network* network)
multiplier *= 128;
} while ((c & 128) != 0);
if ( _remainingLength > 0 )
{
/* allocate buffer */
_data = (unsigned char*)calloc(_remainingLength, 1);
if ( !_data )
@@ -222,6 +224,7 @@ int MQTTGWPacket::recv(Network* network)
{
return -2;
}
}
return 1 + len + _remainingLength;
}

View File

@@ -100,8 +100,8 @@ void BrokerSendTask::run()
if ( !rc )
{
/* disconnect the broker and the client */
WRITELOG("%s BrokerSendTask can't connect to the broker. %s%s\n",
ERRMSG_HEADER, client->getClientId(), ERRMSG_FOOTER);
WRITELOG("%s BrokerSendTask: %s can't connect to the broker. errno=%d %s %s\n",
ERRMSG_HEADER, client->getClientId(), errno, strerror(errno), ERRMSG_FOOTER);
delete ev;
client->getNetwork()->close();
continue;
@@ -120,8 +120,8 @@ void BrokerSendTask::run()
}
else
{
WRITELOG("%s BrokerSendTask can't send a packet to the broker errno=%d %s%s\n",
ERRMSG_HEADER, rc == -1 ? errno : 0, client->getClientId(), ERRMSG_FOOTER);
WRITELOG("%s BrokerSendTask: %s can't send a packet to the broker. errno=%d %s %s\n",
ERRMSG_HEADER, client->getClientId(), rc == -1 ? errno : 0, strerror(errno), ERRMSG_FOOTER);
client->getNetwork()->close();
/* Disconnect the client */

View File

@@ -306,6 +306,7 @@ bool Network::connect(const char* host, const char* port, const char* caPath, co
throw false;
}
if (!SSL_CTX_load_verify_locations(_ctx, caFile, caPath))
{
ERR_error_string_n(ERR_get_error(), errmsg, sizeof(errmsg));