mirror of
https://github.com/eclipse/paho.mqtt-sn.embedded-c.git
synced 2025-12-13 23:46:51 +01:00
Update: Add Client Address to CONNECT reject error message.
Update: comment out the generating CONNACK reply. Signed-off-by: tomoaki <tomoaki@tomy-tech.com>
This commit is contained in:
@@ -113,7 +113,8 @@ void ClientRecvTask::run()
|
|||||||
log(client, packet, &data.clientID);
|
log(client, packet, &data.clientID);
|
||||||
if (!client)
|
if (!client)
|
||||||
{
|
{
|
||||||
WRITELOG("%s Client was rejected. CONNECT message has been discarded.%s\n", ERRMSG_HEADER, ERRMSG_FOOTER);
|
char buf[128];
|
||||||
|
WRITELOG("%s Client(%s) was rejected. CONNECT message has been discarded.%s\n", ERRMSG_HEADER, _sensorNetwork->getSenderAddress()->sprint(buf), ERRMSG_FOOTER);
|
||||||
delete packet;
|
delete packet;
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -169,17 +169,17 @@ void MQTTSNConnectionHandler::handleWillmsg(Client* client, MQTTSNPacket* packet
|
|||||||
if ( !client->isWaitWillMsg() )
|
if ( !client->isWaitWillMsg() )
|
||||||
{
|
{
|
||||||
DEBUGLOG(" MQTTSNConnectionHandler::handleWillmsg WaitWillMsgFlg is off.\n");
|
DEBUGLOG(" MQTTSNConnectionHandler::handleWillmsg WaitWillMsgFlg is off.\n");
|
||||||
if ( !client->isSecureNetwork() )
|
//if ( !client->isSecureNetwork() )
|
||||||
{
|
//{
|
||||||
/* create CONNACK message */
|
// /* create CONNACK message */
|
||||||
MQTTSNPacket* connack = new MQTTSNPacket();
|
// MQTTSNPacket* connack = new MQTTSNPacket();
|
||||||
connack->setCONNACK(MQTTSN_RC_REJECTED_CONGESTED);
|
// connack->setCONNACK(MQTTSN_RC_REJECTED_CONGESTED);
|
||||||
|
|
||||||
/* return to the client */
|
// /* return to the client */
|
||||||
Event* evt = new Event();
|
// Event* evt = new Event();
|
||||||
evt->setClientSendEvent(client, connack);
|
// evt->setClientSendEvent(client, connack);
|
||||||
_gateway->getClientSendQue()->post(evt);
|
// _gateway->getClientSendQue()->post(evt);
|
||||||
}
|
//}
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -101,6 +101,15 @@ SensorNetAddress& SensorNetAddress::operator =(SensorNetAddress& addr)
|
|||||||
return *this;
|
return *this;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
char* SensorNetAddress::sprint(char* buf)
|
||||||
|
{
|
||||||
|
struct in_addr inaddr = { _IpAddr };
|
||||||
|
char* ip = inet_ntoa(inaddr);
|
||||||
|
sprintf( buf, "%s:", ip);
|
||||||
|
sprintf( buf + strlen(buf), "%d", ntohs(_portNo));
|
||||||
|
return buf;
|
||||||
|
}
|
||||||
/*===========================================
|
/*===========================================
|
||||||
Class SensorNetwork
|
Class SensorNetwork
|
||||||
============================================*/
|
============================================*/
|
||||||
|
|||||||
@@ -45,7 +45,7 @@ public:
|
|||||||
uint32_t getIpAddress(void);
|
uint32_t getIpAddress(void);
|
||||||
bool isMatch(SensorNetAddress* addr);
|
bool isMatch(SensorNetAddress* addr);
|
||||||
SensorNetAddress& operator =(SensorNetAddress& addr);
|
SensorNetAddress& operator =(SensorNetAddress& addr);
|
||||||
|
char* sprint(char* buf);
|
||||||
private:
|
private:
|
||||||
uint16_t _portNo;
|
uint16_t _portNo;
|
||||||
uint32_t _IpAddr;
|
uint32_t _IpAddr;
|
||||||
|
|||||||
@@ -78,6 +78,17 @@ SensorNetAddress& SensorNetAddress::operator =(SensorNetAddress& addr)
|
|||||||
return *this;
|
return *this;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
char* SensorNetAddress::sprint(char* buf)
|
||||||
|
{
|
||||||
|
char* pbuf = buf;
|
||||||
|
for ( int i = 0; i < 8; i++ )
|
||||||
|
{
|
||||||
|
sprintf(pbuf, "%02X", _address64[i]);
|
||||||
|
pbuf += 2;
|
||||||
|
}
|
||||||
|
return buf;
|
||||||
|
}
|
||||||
|
|
||||||
/*===========================================
|
/*===========================================
|
||||||
Class SensorNetwork
|
Class SensorNetwork
|
||||||
============================================*/
|
============================================*/
|
||||||
|
|||||||
@@ -74,7 +74,7 @@ public:
|
|||||||
void setBroadcastAddress(void);
|
void setBroadcastAddress(void);
|
||||||
bool isMatch(SensorNetAddress* addr);
|
bool isMatch(SensorNetAddress* addr);
|
||||||
SensorNetAddress& operator =(SensorNetAddress& addr);
|
SensorNetAddress& operator =(SensorNetAddress& addr);
|
||||||
|
char* sprint(char*);
|
||||||
private:
|
private:
|
||||||
uint8_t _address16[2];
|
uint8_t _address16[2];
|
||||||
uint8_t _address64[8];
|
uint8_t _address64[8];
|
||||||
|
|||||||
Reference in New Issue
Block a user