From 840fec628076219adb4a45253d5ebc2ef27b5687 Mon Sep 17 00:00:00 2001 From: Archit Aggarwal Date: Tue, 18 Aug 2020 18:31:53 +0000 Subject: [PATCH 1/4] Remove default definition of BROKER_ENDPOINT to improve developer experience --- demos/mqtt/mqtt_demo_basic_tls/demo_config.h | 10 ++-------- demos/mqtt/mqtt_demo_plaintext/demo_config.h | 5 ++--- 2 files changed, 4 insertions(+), 11 deletions(-) diff --git a/demos/mqtt/mqtt_demo_basic_tls/demo_config.h b/demos/mqtt/mqtt_demo_basic_tls/demo_config.h index 8cb6960055..3369db9822 100644 --- a/demos/mqtt/mqtt_demo_basic_tls/demo_config.h +++ b/demos/mqtt/mqtt_demo_basic_tls/demo_config.h @@ -56,10 +56,9 @@ * a Mosquitto broker locally. * Alternatively,instructions to run Mosquitto server on Docker container can * be viewed in the README.md of the root directory. + * + * #define BROKER_ENDPOINT "...insert here..." */ -#ifndef BROKER_ENDPOINT - #define BROKER_ENDPOINT "localhost" -#endif /** * @brief MQTT server port number. @@ -76,11 +75,6 @@ * #define ROOT_CA_CERT_PATH ".....insert here...." */ -/** - * @brief Length of path to server certificate. - */ -#define ROOT_CA_CERT_PATH_LENGTH ( ( uint16_t ) ( sizeof( ROOT_CA_CERT_PATH ) - 1 ) ) - /** * @brief MQTT client identifier. * diff --git a/demos/mqtt/mqtt_demo_plaintext/demo_config.h b/demos/mqtt/mqtt_demo_plaintext/demo_config.h index b0ec0c88c5..8be951cec3 100644 --- a/demos/mqtt/mqtt_demo_plaintext/demo_config.h +++ b/demos/mqtt/mqtt_demo_plaintext/demo_config.h @@ -56,10 +56,9 @@ * a Mosquitto broker locally. * Alternatively,instructions to run Mosquitto server on Docker container can * be viewed in the README.md of the root directory. + * + * #define BROKER_ENDPOINT "...insert here..." */ -#ifndef BROKER_ENDPOINT - #define BROKER_ENDPOINT "localhost" -#endif /** * @brief MQTT server port number. From a765016d3841251a104088fa280d70f1186403a6 Mon Sep 17 00:00:00 2001 From: Archit Aggarwal Date: Tue, 18 Aug 2020 18:33:14 +0000 Subject: [PATCH 2/4] Move absolute path logic from demos/CMakeLists.txt to root CMakeLists.txt --- CMakeLists.txt | 14 ++++++++++++++ demos/CMakeLists.txt | 14 -------------- .../mqtt/cbmc/proofs/MQTT_MatchTopic/README.md | 10 ++++++++++ 3 files changed, 24 insertions(+), 14 deletions(-) create mode 100644 libraries/standard/mqtt/cbmc/proofs/MQTT_MatchTopic/README.md diff --git a/CMakeLists.txt b/CMakeLists.txt index b467eb88fd..3778a21360 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -37,6 +37,20 @@ option( DOWNLOAD_CERTS "Set this to ON to automatically download certificates needed to run the demo. When OFF, certificates must be manually downloaded." ON ) +# Set prefix to PWD if any path flags are relative. +# PWD is set to the path where you run the cmake command. +if(DEFINED ENV{PWD}) + if(ROOT_CA_CERT_PATH AND NOT IS_ABSOLUTE ${ROOT_CA_CERT_PATH}) + set(ROOT_CA_CERT_PATH "$ENV{PWD}/${ROOT_CA_CERT_PATH}") + endif() + if(CLIENT_CERT_PATH AND NOT IS_ABSOLUTE ${CLIENT_CERT_PATH}) + set(CLIENT_CERT_PATH "$ENV{PWD}/${CLIENT_CERT_PATH}") + endif() + if(CLIENT_PRIVATE_KEY_PATH AND NOT IS_ABSOLUTE ${CLIENT_PRIVATE_KEY_PATH}) + set(CLIENT_PRIVATE_KEY_PATH "$ENV{PWD}/${CLIENT_PRIVATE_KEY_PATH}") + endif() +endif() + # Unity test framework does not export the correct symbols for DLLs. set( ALLOW_SHARED_LIBRARIES ON ) diff --git a/demos/CMakeLists.txt b/demos/CMakeLists.txt index b11619e37b..6d02a2ff68 100644 --- a/demos/CMakeLists.txt +++ b/demos/CMakeLists.txt @@ -53,20 +53,6 @@ if(BUILD_TESTS) DESTINATION "${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/tests") endif() -# Set prefix to PWD if any path flags are relative. -# PWD is set to the path where you run the cmake command. -if(DEFINED ENV{PWD}) - if(ROOT_CA_CERT_PATH AND NOT IS_ABSOLUTE ${ROOT_CA_CERT_PATH}) - set(ROOT_CA_CERT_PATH "$ENV{PWD}/${ROOT_CA_CERT_PATH}") - endif() - if(CLIENT_CERT_PATH AND NOT IS_ABSOLUTE ${CLIENT_CERT_PATH}) - set(CLIENT_CERT_PATH "$ENV{PWD}/${CLIENT_CERT_PATH}") - endif() - if(CLIENT_PRIVATE_KEY_PATH AND NOT IS_ABSOLUTE ${CLIENT_PRIVATE_KEY_PATH}) - set(CLIENT_PRIVATE_KEY_PATH "$ENV{PWD}/${CLIENT_PRIVATE_KEY_PATH}") - endif() -endif() - # Include each subdirectory that has a CMakeLists.txt file in it file(GLOB demo_dirs "${DEMOS_DIR}/*/*") foreach(demo_dir IN LISTS demo_dirs) diff --git a/libraries/standard/mqtt/cbmc/proofs/MQTT_MatchTopic/README.md b/libraries/standard/mqtt/cbmc/proofs/MQTT_MatchTopic/README.md new file mode 100644 index 0000000000..ba16a0c6b1 --- /dev/null +++ b/libraries/standard/mqtt/cbmc/proofs/MQTT_MatchTopic/README.md @@ -0,0 +1,10 @@ +MQTT_MatchTopic proof +============== + +This directory contains a memory safety proof for MQTT_MatchTopic. + +To run the proof. +* Add cbmc, goto-cc, goto-instrument, goto-analyzer, and cbmc-viewer + to your path. +* Run "make". +* Open html/index.html in a web browser. \ No newline at end of file From 966970628b0ee06ecd89bd83b64c864b73fc07a0 Mon Sep 17 00:00:00 2001 From: Archit Aggarwal Date: Tue, 18 Aug 2020 18:41:00 +0000 Subject: [PATCH 3/4] Remove README file added accidentally --- .../mqtt/cbmc/proofs/MQTT_MatchTopic/README.md | 10 ---------- 1 file changed, 10 deletions(-) delete mode 100644 libraries/standard/mqtt/cbmc/proofs/MQTT_MatchTopic/README.md diff --git a/libraries/standard/mqtt/cbmc/proofs/MQTT_MatchTopic/README.md b/libraries/standard/mqtt/cbmc/proofs/MQTT_MatchTopic/README.md deleted file mode 100644 index ba16a0c6b1..0000000000 --- a/libraries/standard/mqtt/cbmc/proofs/MQTT_MatchTopic/README.md +++ /dev/null @@ -1,10 +0,0 @@ -MQTT_MatchTopic proof -============== - -This directory contains a memory safety proof for MQTT_MatchTopic. - -To run the proof. -* Add cbmc, goto-cc, goto-instrument, goto-analyzer, and cbmc-viewer - to your path. -* Run "make". -* Open html/index.html in a web browser. \ No newline at end of file From 73ce82695ee7afdb7a2443dc6e5135ff028dbb82 Mon Sep 17 00:00:00 2001 From: Archit Aggarwal Date: Tue, 18 Aug 2020 19:04:10 +0000 Subject: [PATCH 4/4] More changes --- CMakeLists.txt | 30 ++++++++++--------- .../mqtt/mqtt_demo_lightweight/demo_config.h | 5 ++-- 2 files changed, 18 insertions(+), 17 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 3778a21360..bd03490fbb 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -37,20 +37,6 @@ option( DOWNLOAD_CERTS "Set this to ON to automatically download certificates needed to run the demo. When OFF, certificates must be manually downloaded." ON ) -# Set prefix to PWD if any path flags are relative. -# PWD is set to the path where you run the cmake command. -if(DEFINED ENV{PWD}) - if(ROOT_CA_CERT_PATH AND NOT IS_ABSOLUTE ${ROOT_CA_CERT_PATH}) - set(ROOT_CA_CERT_PATH "$ENV{PWD}/${ROOT_CA_CERT_PATH}") - endif() - if(CLIENT_CERT_PATH AND NOT IS_ABSOLUTE ${CLIENT_CERT_PATH}) - set(CLIENT_CERT_PATH "$ENV{PWD}/${CLIENT_CERT_PATH}") - endif() - if(CLIENT_PRIVATE_KEY_PATH AND NOT IS_ABSOLUTE ${CLIENT_PRIVATE_KEY_PATH}) - set(CLIENT_PRIVATE_KEY_PATH "$ENV{PWD}/${CLIENT_PRIVATE_KEY_PATH}") - endif() -endif() - # Unity test framework does not export the correct symbols for DLLs. set( ALLOW_SHARED_LIBRARIES ON ) @@ -65,6 +51,20 @@ set( CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/bin ) set( CMAKE_ARCHIVE_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/lib ) set( CMAKE_LIBRARY_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/lib ) +# Set prefix to PWD if any path flags are relative. +# PWD is set to the path where you run the cmake command. +if(DEFINED ENV{PWD}) + if(ROOT_CA_CERT_PATH AND NOT IS_ABSOLUTE ${ROOT_CA_CERT_PATH}) + set(ROOT_CA_CERT_PATH "$ENV{PWD}/${ROOT_CA_CERT_PATH}") + endif() + if(CLIENT_CERT_PATH AND NOT IS_ABSOLUTE ${CLIENT_CERT_PATH}) + set(CLIENT_CERT_PATH "$ENV{PWD}/${CLIENT_CERT_PATH}") + endif() + if(CLIENT_PRIVATE_KEY_PATH AND NOT IS_ABSOLUTE ${CLIENT_PRIVATE_KEY_PATH}) + set(CLIENT_PRIVATE_KEY_PATH "$ENV{PWD}/${CLIENT_PRIVATE_KEY_PATH}") + endif() +endif() + # Add libraries. add_subdirectory( libraries ) @@ -73,3 +73,5 @@ add_subdirectory( platform ) # Build the demos. add_subdirectory( demos ) + + diff --git a/demos/mqtt/mqtt_demo_lightweight/demo_config.h b/demos/mqtt/mqtt_demo_lightweight/demo_config.h index 348ae63c02..7ecf3eb6d8 100644 --- a/demos/mqtt/mqtt_demo_lightweight/demo_config.h +++ b/demos/mqtt/mqtt_demo_lightweight/demo_config.h @@ -56,10 +56,9 @@ * a Mosquitto broker locally. * Alternatively,instructions to run Mosquitto server on Docker container can * be viewed in the README.md of the root directory. + * + * #define BROKER_ENDPOINT "...insert here..." */ -#ifndef BROKER_ENDPOINT - #define BROKER_ENDPOINT "localhost" -#endif /** * @brief MQTT server port number.