2 Commits

Author SHA1 Message Date
Ian Craggs
092bdcfd72 Add required Eclipse meta docs 2024-01-18 15:50:40 +00:00
tomoaki
e263dc37b1 Bugfix of #248
Signed-off-by: tomoaki <tomoaki@tomy-tech.com>
2021-11-12 16:11:07 +09:00
12 changed files with 34 additions and 48 deletions

View File

@@ -5,7 +5,7 @@
<provider copy-of="extension" id="org.eclipse.cdt.ui.UserLanguageSettingsProvider"/>
<provider-reference id="org.eclipse.cdt.core.ReferencedProjectsLanguageSettingsProvider" ref="shared-provider"/>
<provider-reference id="org.eclipse.cdt.managedbuilder.core.MBSLanguageSettingsProvider" ref="shared-provider"/>
<provider class="org.eclipse.cdt.managedbuilder.language.settings.providers.GCCBuiltinSpecsDetector" console="false" env-hash="-176156747064280842" id="org.eclipse.cdt.managedbuilder.core.GCCBuiltinSpecsDetector" keep-relative-paths="false" name="CDT GCC Built-in Compiler Settings" parameter="${COMMAND} ${FLAGS} -E -P -v -dD &quot;${INPUTS}&quot;" prefer-non-shared="true">
<provider class="org.eclipse.cdt.managedbuilder.language.settings.providers.GCCBuiltinSpecsDetector" console="false" env-hash="-190494363728860458" id="org.eclipse.cdt.managedbuilder.core.GCCBuiltinSpecsDetector" keep-relative-paths="false" name="CDT GCC Built-in Compiler Settings" parameter="${COMMAND} ${FLAGS} -E -P -v -dD &quot;${INPUTS}&quot;" prefer-non-shared="true">
<language-scope id="org.eclipse.cdt.core.gcc"/>
<language-scope id="org.eclipse.cdt.core.g++"/>
</provider>
@@ -16,7 +16,7 @@
<provider copy-of="extension" id="org.eclipse.cdt.ui.UserLanguageSettingsProvider"/>
<provider-reference id="org.eclipse.cdt.core.ReferencedProjectsLanguageSettingsProvider" ref="shared-provider"/>
<provider-reference id="org.eclipse.cdt.managedbuilder.core.MBSLanguageSettingsProvider" ref="shared-provider"/>
<provider class="org.eclipse.cdt.managedbuilder.language.settings.providers.GCCBuiltinSpecsDetector" console="false" env-hash="-176157551606184930" id="org.eclipse.cdt.managedbuilder.core.GCCBuiltinSpecsDetector" keep-relative-paths="false" name="CDT GCC Built-in Compiler Settings" parameter="${COMMAND} ${FLAGS} -E -P -v -dD &quot;${INPUTS}&quot;" prefer-non-shared="true">
<provider class="org.eclipse.cdt.managedbuilder.language.settings.providers.GCCBuiltinSpecsDetector" console="false" env-hash="-190493586662438402" id="org.eclipse.cdt.managedbuilder.core.GCCBuiltinSpecsDetector" keep-relative-paths="false" name="CDT GCC Built-in Compiler Settings" parameter="${COMMAND} ${FLAGS} -E -P -v -dD &quot;${INPUTS}&quot;" prefer-non-shared="true">
<language-scope id="org.eclipse.cdt.core.gcc"/>
<language-scope id="org.eclipse.cdt.core.g++"/>
</provider>

View File

@@ -78,13 +78,13 @@ RFCOMMCONF = { "GatewayTestClient", // ClientId
/*------------------------------------------------------
* Client Configuration (theMqcon)
*------------------------------------------------------*/
MQTTSNCONF = { 60, //KeepAlive [seconds]
true, //Clean session
300, //Sleep duration [seconds]
"", //WillTopic
"", //WillMessage
0, //WillQos
false //WillRetain
MQTTSNCONF = { 60, //KeepAlive [seconds]
true, //Clean session
300, //Sleep duration [seconds]
"willtopic", //WillTopic
"willmsg", //WillMessage
0, //WillQos
false //WillRetain
};
/*------------------------------------------------------

View File

@@ -69,17 +69,17 @@ BrokerSecurePortNo=8883
**BrokerSecurePortNo** is a broker's port no of TLS connection.
```
#
# CertKey for TLS connections to a broker
# CertsKey for TLS connections to a broker
#
#RootCAfile=/etc/ssl/certs/ca-certificates.crt
#RootCApath=/etc/ssl/certs/
#CertKey=/path/to/certKey.pem
#CertsKey=/path/to/certKey.pem
#PrivateKey=/path/to/privateKey.pem
```
**RootCAfile** is a CA file name.
**RootCApath** is a CA path. **SSL_CTX_load_verify_locations(ctx, CAfile, CApath)** function requires these parameters.
**CertKey** is a certificate pem file.
**CertsKey** is a certificate pem file.
**PrivateKey** is a private key pem file.
Clients can connect to the broker via TLS by setting '**Secure Connection**' for each client in the client conf file.
```

View File

@@ -1,13 +1,10 @@
#!/bin/bash
WORK_DIR=$(realpath $(dirname "$0")/..)
BDIR=build.gateway
ODIR=bin/
build () {
echo "Start building MQTT-SN Gateway $1"
pushd "$WORK_DIR"
cd $SCRIPT_DIR/..
BDIR='build.gateway'
if [ ! -d ./$BDIR ]; then
mkdir $BDIR
fi
@@ -16,10 +13,12 @@ build () {
make MQTTSNPacket
make MQTT-SNGateway
make MQTT-SNLogmonitor
popd
cp *.conf ./$ODIR
cd ../MQTTSNGateway
cp *.conf ./bin/
}
SCRIPT_DIR=$(cd $(dirname $0); pwd)
if [ $1 == "udp" ] ; then
build $1 $2 $3
elif [ $1 == "udp6" ] ; then
@@ -35,10 +34,7 @@ elif [ $1 == "dtls" ] ; then
elif [ $1 == "dtls6" ] ; then
build dtls "${2} ${3} -DDTLS6"
elif [ $1 == "clean" ] ; then
pushd "$WORK_DIR"
rm -rf ./$BDIR
popd
rm -rf ./$ODIR
rm -rf ../builg.gateway
else
echo "Usage: build.sh [ udp | udp6 | xbee | loralink | rfcomm | dtls | dtls6 | clean]"
fi

View File

@@ -31,7 +31,7 @@ BrokerSecurePortNo=8883
#RootCAfile=/etc/ssl/certs/ca-certificates.crt
#RootCApath=/etc/ssl/certs/
#CertKey=/path/to/certKey.pem
#CertsKey=/path/to/certKey.pem
#PrivateKey=/path/to/privateKey.pem
#

View File

@@ -34,7 +34,7 @@ char* currentDateTime(void);
static const char* theClientStatus[] = { "InPool", "Disconnected", "TryConnecting", "Connecting", "Active", "Asleep", "Awake",
"Lost" };
Client::Client()
Client::Client(bool secure)
{
_packetId = 0;
_snMsgId = 0;
@@ -45,7 +45,8 @@ Client::Client()
_willTopic = nullptr;
_willMsg = nullptr;
_connectData = MQTTPacket_Connect_Initializer;
_network = new Network();
_network = new Network(secure);
_secureNetwork = secure;
_sensorNetype = true;
_connAck = nullptr;
_waitWillMsgFlg = false;
@@ -425,7 +426,7 @@ bool Client::isConnecting(void)
bool Client::isSecureNetwork(void)
{
return _network->isSecure();
return _secureNetwork;
}
bool Client::isSensorNetStable(void)

View File

@@ -179,7 +179,8 @@ class Client
friend class ClientList;
friend class ClientsPool;
public:
Client();
Client(bool secure = false);
Client(uint8_t maxInflightMessages, bool secure);
~Client();
Connect* getConnectData(void);

View File

@@ -149,7 +149,7 @@ void ClientRecvTask::run()
{
log(client, packet, 0);
if (client->isDisconnect() && packet->getType() != MQTTSN_CONNECT)
if (client->isDisconnect() && packet->getType() != MQTTSN_CONNECT && packet->getType() != MQTTSN_WILLTOPIC && packet->getType() != MQTTSN_WILLMSG)
{
WRITELOG("%s MQTTSNGWClientRecvTask %s is not connecting.%s\n",
ERRMSG_HEADER, client->getClientId(), ERRMSG_FOOTER);

View File

@@ -17,6 +17,6 @@
#ifndef MQTTSNGWVERSION_H_IN_
#define MQTTSNGWVERSION_H_IN_
#define PAHO_GATEWAY_VERSION "1.5.1"
#define PAHO_GATEWAY_VERSION "1.6.0"
#endif /* MQTTSNGWVERSION_H_IN_ */

View File

@@ -238,11 +238,11 @@ int Network::_numOfInstance = 0;
SSL_CTX* Network::_ctx = 0;
SSL_SESSION* Network::_session = 0;
Network::Network() :
Network::Network(bool secure) :
TCPStack()
{
_ssl = 0;
_secureFlg = false;
_secureFlg = secure;
_busy = false;
_sslValid = false;
}

View File

@@ -68,7 +68,7 @@ private:
class Network: public TCPStack
{
public:
Network();
Network(bool secure);
virtual ~Network();
bool connect(const char* host, const char* port, const char* caPath, const char* caFile, const char* cert, const char* prvkey);

View File

@@ -416,24 +416,12 @@ int UDPPort6::unicast(const uint8_t* buf, uint32_t length, SensorNetAddress* add
int UDPPort6::broadcast(const uint8_t* buf, uint32_t length)
{
sockaddr_in6 dest;
memset(&dest, 0, sizeof(dest));
dest.sin6_family = AF_INET6;
dest.sin6_port = _grpAddr.getPortNo();
memcpy(dest.sin6_addr.s6_addr, (const void*) &_grpAddr.getIpAddress()->sin6_addr, sizeof(in6_addr));
int err = unicast(buf, length, &_grpAddr);
#ifdef DEBUG_NW
char addrBuf[INET6_ADDRSTRLEN];
addr->sprint(addrBuf);
D_NWSTACK("sendto %s\n", addrBuf);
#endif
int status = ::sendto(_pollfds[1].fd, buf, length, 0, (const sockaddr*) &dest, sizeof(dest));
if (status < 0)
if (err < 0)
{
D_NWSTACK("UDP6::broadcast - sendto: %s", strerror(errno));
return status;
return err;
}
return 0;