meta-digi/meta-digi-dey/recipes-digi/awsiotsdk-c/awsiotsdk-c-2.1.1/0001-aws-iot-samples-modify...

150 lines
6.4 KiB
Diff

From: Tatiana Leon <tatiana.leon@digi.com>
Date: Wed, 3 May 2017 18:12:52 +0200
Subject: [PATCH] aws-iot-samples: modify provided samples to work in our
platforms
Signed-off-by: Tatiana Leon <tatiana.leon@digi.com>
---
samples/linux/shadow_sample/shadow_sample.c | 20 ++++++++++----------
.../shadow_sample_console_echo/shadow_console_echo.c | 20 ++++++++++----------
.../subscribe_publish_sample.c | 12 ++++++------
3 files changed, 26 insertions(+), 26 deletions(-)
diff --git a/samples/linux/shadow_sample/shadow_sample.c b/samples/linux/shadow_sample/shadow_sample.c
index 9a0b270..fc73a2d 100644
--- a/samples/linux/shadow_sample/shadow_sample.c
+++ b/samples/linux/shadow_sample/shadow_sample.c
@@ -59,7 +59,7 @@
#define MAX_LENGTH_OF_UPDATE_JSON_BUFFER 200
-static char certDirectory[PATH_MAX + 1] = "../../../certs";
+static char certDirectory[PATH_MAX + 1] = "";
static char HostAddress[255] = AWS_IOT_MQTT_HOST;
static uint32_t port = AWS_IOT_MQTT_PORT;
static uint8_t numPubs = 5;
@@ -164,27 +164,27 @@ int main(int argc, char **argv) {
char rootCA[PATH_MAX + 1];
char clientCRT[PATH_MAX + 1];
char clientKey[PATH_MAX + 1];
- char CurrentWD[PATH_MAX + 1];
IOT_INFO("\nAWS IoT SDK Version %d.%d.%d-%s\n", VERSION_MAJOR, VERSION_MINOR, VERSION_PATCH, VERSION_TAG);
- getcwd(CurrentWD, sizeof(CurrentWD));
- snprintf(rootCA, PATH_MAX + 1, "%s/%s/%s", CurrentWD, certDirectory, AWS_IOT_ROOT_CA_FILENAME);
- snprintf(clientCRT, PATH_MAX + 1, "%s/%s/%s", CurrentWD, certDirectory, AWS_IOT_CERTIFICATE_FILENAME);
- snprintf(clientKey, PATH_MAX + 1, "%s/%s/%s", CurrentWD, certDirectory, AWS_IOT_PRIVATE_KEY_FILENAME);
+ parseInputArgsForConnectParams(argc, argv);
+
+ if (certDirectory[0] == '\0')
+ snprintf(certDirectory, PATH_MAX + 1, "%s", "/etc/ssl/certs");
+ snprintf(rootCA, PATH_MAX + 1, "%s/%s", certDirectory, AWS_IOT_ROOT_CA_FILENAME);
+ snprintf(clientCRT, PATH_MAX + 1, "%s/%s", certDirectory, AWS_IOT_CERTIFICATE_FILENAME);
+ snprintf(clientKey, PATH_MAX + 1, "%s/%s", certDirectory, AWS_IOT_PRIVATE_KEY_FILENAME);
IOT_DEBUG("rootCA %s", rootCA);
IOT_DEBUG("clientCRT %s", clientCRT);
IOT_DEBUG("clientKey %s", clientKey);
- parseInputArgsForConnectParams(argc, argv);
-
// initialize the mqtt client
AWS_IoT_Client mqttClient;
ShadowInitParameters_t sp = ShadowInitParametersDefault;
- sp.pHost = AWS_IOT_MQTT_HOST;
- sp.port = AWS_IOT_MQTT_PORT;
+ sp.pHost = HostAddress;
+ sp.port = port;
sp.pClientCRT = clientCRT;
sp.pClientKey = clientKey;
sp.pRootCA = rootCA;
diff --git a/samples/linux/shadow_sample_console_echo/shadow_console_echo.c b/samples/linux/shadow_sample_console_echo/shadow_console_echo.c
index 1c491fb..e333094 100644
--- a/samples/linux/shadow_sample_console_echo/shadow_console_echo.c
+++ b/samples/linux/shadow_sample_console_echo/shadow_console_echo.c
@@ -53,7 +53,7 @@
* @note Ensure the buffer sizes in aws_iot_config.h are big enough to receive the delta message. The delta message will also contain the metadata with the timestamps
*/
-char certDirectory[PATH_MAX + 1] = "../../../certs";
+char certDirectory[PATH_MAX + 1] = "";
char HostAddress[255] = AWS_IOT_MQTT_HOST;
uint32_t port = AWS_IOT_MQTT_PORT;
bool messageArrivedOnDelta = false;
@@ -80,27 +80,27 @@ int main(int argc, char** argv) {
char rootCA[PATH_MAX + 1];
char clientCRT[PATH_MAX + 1];
char clientKey[PATH_MAX + 1];
- char CurrentWD[PATH_MAX + 1];
IOT_INFO("\nAWS IoT SDK Version %d.%d.%d-%s\n", VERSION_MAJOR, VERSION_MINOR, VERSION_PATCH, VERSION_TAG);
- getcwd(CurrentWD, sizeof(CurrentWD));
- snprintf(rootCA, PATH_MAX + 1, "%s/%s/%s", CurrentWD, certDirectory, AWS_IOT_ROOT_CA_FILENAME);
- snprintf(clientCRT, PATH_MAX + 1, "%s/%s/%s", CurrentWD, certDirectory, AWS_IOT_CERTIFICATE_FILENAME);
- snprintf(clientKey, PATH_MAX + 1, "%s/%s/%s", CurrentWD, certDirectory, AWS_IOT_PRIVATE_KEY_FILENAME);
+ parseInputArgsForConnectParams(argc, argv);
+
+ if (certDirectory[0] == '\0')
+ snprintf(certDirectory, PATH_MAX + 1, "%s", "/etc/ssl/certs");
+ snprintf(rootCA, PATH_MAX + 1, "%s/%s", certDirectory, AWS_IOT_ROOT_CA_FILENAME);
+ snprintf(clientCRT, PATH_MAX + 1, "%s/%s", certDirectory, AWS_IOT_CERTIFICATE_FILENAME);
+ snprintf(clientKey, PATH_MAX + 1, "%s/%s", certDirectory, AWS_IOT_PRIVATE_KEY_FILENAME);
IOT_DEBUG("rootCA %s", rootCA);
IOT_DEBUG("clientCRT %s", clientCRT);
IOT_DEBUG("clientKey %s", clientKey);
- parseInputArgsForConnectParams(argc, argv);
-
// initialize the mqtt client
AWS_IoT_Client mqttClient;
ShadowInitParameters_t sp = ShadowInitParametersDefault;
- sp.pHost = AWS_IOT_MQTT_HOST;
- sp.port = AWS_IOT_MQTT_PORT;
+ sp.pHost = HostAddress;
+ sp.port = port;
sp.pClientCRT = clientCRT;
sp.pClientKey = clientKey;
sp.pRootCA = rootCA;
diff --git a/samples/linux/subscribe_publish_sample/subscribe_publish_sample.c b/samples/linux/subscribe_publish_sample/subscribe_publish_sample.c
index 4f92645..d0fef05 100644
--- a/samples/linux/subscribe_publish_sample/subscribe_publish_sample.c
+++ b/samples/linux/subscribe_publish_sample/subscribe_publish_sample.c
@@ -40,7 +40,7 @@
/**
* @brief Default cert location
*/
-char certDirectory[PATH_MAX + 1] = "../../../certs";
+char certDirectory[PATH_MAX + 1] = "";
/**
* @brief Default MQTT HOST URL is pulled from the aws_iot_config.h
@@ -132,7 +132,6 @@ int main(int argc, char **argv) {
char rootCA[PATH_MAX + 1];
char clientCRT[PATH_MAX + 1];
char clientKey[PATH_MAX + 1];
- char CurrentWD[PATH_MAX + 1];
char cPayload[100];
int32_t i = 0;
@@ -150,10 +149,11 @@ int main(int argc, char **argv) {
IOT_INFO("\nAWS IoT SDK Version %d.%d.%d-%s\n", VERSION_MAJOR, VERSION_MINOR, VERSION_PATCH, VERSION_TAG);
- getcwd(CurrentWD, sizeof(CurrentWD));
- snprintf(rootCA, PATH_MAX + 1, "%s/%s/%s", CurrentWD, certDirectory, AWS_IOT_ROOT_CA_FILENAME);
- snprintf(clientCRT, PATH_MAX + 1, "%s/%s/%s", CurrentWD, certDirectory, AWS_IOT_CERTIFICATE_FILENAME);
- snprintf(clientKey, PATH_MAX + 1, "%s/%s/%s", CurrentWD, certDirectory, AWS_IOT_PRIVATE_KEY_FILENAME);
+ if (certDirectory[0] == '\0')
+ snprintf(certDirectory, PATH_MAX + 1, "%s", "/etc/ssl/certs");
+ snprintf(rootCA, PATH_MAX + 1, "%s/%s", certDirectory, AWS_IOT_ROOT_CA_FILENAME);
+ snprintf(clientCRT, PATH_MAX + 1, "%s/%s", certDirectory, AWS_IOT_CERTIFICATE_FILENAME);
+ snprintf(clientKey, PATH_MAX + 1, "%s/%s", certDirectory, AWS_IOT_PRIVATE_KEY_FILENAME);
IOT_DEBUG("rootCA %s", rootCA);
IOT_DEBUG("clientCRT %s", clientCRT);