mirror of
https://github.com/eclipse/paho.mqtt-sn.embedded-c.git
synced 2025-12-13 07:26:52 +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);
|
||||
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;
|
||||
continue;
|
||||
}
|
||||
|
||||
@@ -169,17 +169,17 @@ void MQTTSNConnectionHandler::handleWillmsg(Client* client, MQTTSNPacket* packet
|
||||
if ( !client->isWaitWillMsg() )
|
||||
{
|
||||
DEBUGLOG(" MQTTSNConnectionHandler::handleWillmsg WaitWillMsgFlg is off.\n");
|
||||
if ( !client->isSecureNetwork() )
|
||||
{
|
||||
/* create CONNACK message */
|
||||
MQTTSNPacket* connack = new MQTTSNPacket();
|
||||
connack->setCONNACK(MQTTSN_RC_REJECTED_CONGESTED);
|
||||
//if ( !client->isSecureNetwork() )
|
||||
//{
|
||||
// /* create CONNACK message */
|
||||
// MQTTSNPacket* connack = new MQTTSNPacket();
|
||||
// connack->setCONNACK(MQTTSN_RC_REJECTED_CONGESTED);
|
||||
|
||||
/* return to the client */
|
||||
Event* evt = new Event();
|
||||
evt->setClientSendEvent(client, connack);
|
||||
_gateway->getClientSendQue()->post(evt);
|
||||
}
|
||||
// /* return to the client */
|
||||
// Event* evt = new Event();
|
||||
// evt->setClientSendEvent(client, connack);
|
||||
// _gateway->getClientSendQue()->post(evt);
|
||||
//}
|
||||
return;
|
||||
}
|
||||
|
||||
|
||||
@@ -101,6 +101,15 @@ SensorNetAddress& SensorNetAddress::operator =(SensorNetAddress& addr)
|
||||
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
|
||||
============================================*/
|
||||
|
||||
@@ -45,7 +45,7 @@ public:
|
||||
uint32_t getIpAddress(void);
|
||||
bool isMatch(SensorNetAddress* addr);
|
||||
SensorNetAddress& operator =(SensorNetAddress& addr);
|
||||
|
||||
char* sprint(char* buf);
|
||||
private:
|
||||
uint16_t _portNo;
|
||||
uint32_t _IpAddr;
|
||||
|
||||
@@ -78,6 +78,17 @@ SensorNetAddress& SensorNetAddress::operator =(SensorNetAddress& addr)
|
||||
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
|
||||
============================================*/
|
||||
|
||||
@@ -74,7 +74,7 @@ public:
|
||||
void setBroadcastAddress(void);
|
||||
bool isMatch(SensorNetAddress* addr);
|
||||
SensorNetAddress& operator =(SensorNetAddress& addr);
|
||||
|
||||
char* sprint(char*);
|
||||
private:
|
||||
uint8_t _address16[2];
|
||||
uint8_t _address64[8];
|
||||
|
||||
Reference in New Issue
Block a user