From: Mahavir Jain Date: Wed, 31 Jul 2019 10:52:01 +0000 (+0530) Subject: coap: kconfig cleanup, have component specific configuration for common options X-Git-Tag: v4.1-dev~24^2~1 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=10c3b42f71566831d638b7b63850007fd434a2fa;p=esp-idf coap: kconfig cleanup, have component specific configuration for common options --- diff --git a/components/coap/Kconfig b/components/coap/Kconfig new file mode 100644 index 0000000000..ad00334c18 --- /dev/null +++ b/components/coap/Kconfig @@ -0,0 +1,74 @@ +menu "CoAP Configuration" + + choice COAP_MBEDTLS_ENCRYPTION_MODE + prompt "CoAP Encryption method" + default COAP_MBEDTLS_PSK + help + If the CoAP information is to be encrypted, the encryption environment + can be set up in one of two ways (default being Pre-Shared key mode) + + - Encrypt using defined Pre-Shared Keys (PSK if uri includes coaps://) + - Encrypt using defined Public Key Infrastructure (PKI if uri includes coaps://) + + config COAP_MBEDTLS_PSK + select MBEDTLS_SSL_PROTO_DTLS + select MBEDTLS_PSK_MODES + select MBEDTLS_KEY_EXCHANGE_PSK + bool "Pre-Shared Keys" + + config COAP_MBEDTLS_PKI + select MBEDTLS_SSL_PROTO_DTLS + select MBEDTLS_PSK_MODES + select MBEDTLS_KEY_EXCHANGE_PSK + bool "PKI Certificates" + + endchoice #COAP_MBEDTLS_ENCRYPTION_MODE + + config COAP_MBEDTLS_DEBUG + bool "Enable CoAP debugging" + default n + help + Enable CoAP debugging functions at compile time for the example code. + + If this option is enabled, call coap_set_log_level() + at runtime in order to enable CoAP debug output via the ESP + log mechanism. + + choice COAP_MBEDTLS_DEBUG_LEVEL + bool "Set CoAP debugging level" + depends on COAP_MBEDTLS_DEBUG + default COAP_LOG_WARNING + help + Set CoAP debugging level + + config COAP_LOG_EMERG + bool "Emergency" + config COAP_LOG_ALERT + bool "Alert" + config COAP_LOG_CRIT + bool "Critical" + config COAP_LOG_ERROR + bool "Error" + config COAP_LOG_WARNING + bool "Warning" + config COAP_LOG_NOTICE + bool "Notice" + config COAP_LOG_INFO + bool "Info" + config COAP_LOG_DEBUG + bool "Debug" + endchoice + + config COAP_LOG_DEFAULT_LEVEL + int + default 0 if !COAP_MBEDTLS_DEBUG + default 0 if COAP_LOG_EMERG + default 1 if COAP_LOG_ALERT + default 2 if COAP_LOG_CRIT + default 3 if COAP_LOG_ERROR + default 4 if COAP_LOG_WARNING + default 5 if COAP_LOG_NOTICE + default 6 if COAP_LOG_INFO + default 7 if COAP_LOG_DEBUG + +endmenu diff --git a/examples/protocols/coap_client/main/Kconfig.projbuild b/examples/protocols/coap_client/main/Kconfig.projbuild index f96ac41e4a..33b04a7b86 100644 --- a/examples/protocols/coap_client/main/Kconfig.projbuild +++ b/examples/protocols/coap_client/main/Kconfig.projbuild @@ -1,96 +1,27 @@ menu "Example CoAP Client Configuration" - config TARGET_DOMAIN_URI + config EXAMPLE_TARGET_DOMAIN_URI string "Target Uri" - default "coap://californium.eclipse.org" + default "coaps://californium.eclipse.org" help Target uri for the example to use. Use coaps:// prefix for encrypted traffic using Pre-Shared Key (PSK) or Public Key Infrastructure (PKI). - choice MBEDTLS_COAP_ENCRYPTION_MODE - prompt "CoAP Encryption method" - default MBEDTLS_COAP_PKI_NONE - help - If the CoAP information is to be encrypted, the encryption environment - can be set up in one of three ways - - - None defined (will use PKI if coaps:// used) - - Encrypt using defined Pre-Shared Keys (PSK) - - Encrypt using defined Public Key Infrastructure (PKI) - - config MBEDTLS_COAP_NONE - bool "None defined" - - config MBEDTLS_COAP_PSK - bool "Pre-Shared Keys" - - config MBEDTLS_COAP_PKI - bool "PKI Certificates" - - endchoice #MBEDTLS_COAP_ENCRYPTION_MODE - - config COAP_PSK_KEY + config EXAMPLE_COAP_PSK_KEY string "Preshared Key (PSK) to used in the connection to the CoAP server" - depends on MBEDTLS_COAP_PSK - default "secret-key" + depends on COAP_MBEDTLS_PSK + default "sesame" help - The Preshared Key to use to encrypt the communicatons. The same key must be - used at both ends of the CoAP connection, and the CoaP client must request + The Preshared Key to use to encrypt the communicatons. The same key must be + used at both ends of the CoAP connection, and the CoaP client must request an URI prefixed with coaps:// instead of coap:// for DTLS to be used. - config COAP_PSK_IDENTITY + config EXAMPLE_COAP_PSK_IDENTITY string "PSK Client identity (username)" - depends on MBEDTLS_COAP_PSK - default "coap-client" + depends on COAP_MBEDTLS_PSK + default "password" help The identity (or username) to use to identify to the CoAP server which PSK key to use. - config MBEDTLS_COAP_DEBUG - bool "Enable CoAP debugging" - default n - help - Enable CoAP debugging functions at compile time for the example code. - - If this option is enabled, call coap_set_log_level() - at runtime in order to enable CoAP debug output via the ESP - log mechanism. - - choice MBEDTLS_COAP_DEBUG_LEVEL - bool "Set CoAP debugging level" - depends on MBEDTLS_COAP_DEBUG - default COAP_LOG_WARNING - help - Set CoAP debugging level - - config COAP_LOG_EMERG - bool "Emergency" - config COAP_LOG_ALERT - bool "Alert" - config COAP_LOG_CRIT - bool "Critical" - config COAP_LOG_ERROR - bool "Error" - config COAP_LOG_WARNING - bool "Warning" - config COAP_LOG_NOTICE - bool "Notice" - config COAP_LOG_INFO - bool "Info" - config COAP_LOG_DEBUG - bool "Debug" - endchoice - - config COAP_LOG_DEFAULT_LEVEL - int - default 0 if !MBEDTLS_COAP_DEBUG - default 0 if COAP_LOG_EMERG - default 1 if COAP_LOG_ALERT - default 2 if COAP_LOG_CRIT - default 3 if COAP_LOG_ERROR - default 4 if COAP_LOG_WARNING - default 5 if COAP_LOG_NOTICE - default 6 if COAP_LOG_INFO - default 7 if COAP_LOG_DEBUG - endmenu diff --git a/examples/protocols/coap_server/main/Kconfig.projbuild b/examples/protocols/coap_server/main/Kconfig.projbuild index bdf3b12305..19da8165a6 100644 --- a/examples/protocols/coap_server/main/Kconfig.projbuild +++ b/examples/protocols/coap_server/main/Kconfig.projbuild @@ -1,74 +1,11 @@ menu "Example CoAP Server Configuration" - config MBEDTLS_COAP_PSK - bool "Pre-Shared Keys (PSK)" - default n - help - Use Pre-Shared Keys to encrypt the communications between the - CoAP Server and CoAP Client. Both ends need the same - Pre-Shared Key. - - config COAP_PSK_KEY + config EXAMPLE_COAP_PSK_KEY string "Preshared Key (PSK) to used in the connection from the CoAP client" - depends on MBEDTLS_COAP_PSK + depends on COAP_MBEDTLS_PSK default "secret-key" help - The Preshared Key to use to encrypt the communicatons. The same key must be - used at both ends of the CoAP connection, and the CoaP client must request + The Preshared Key to use to encrypt the communicatons. The same key must be + used at both ends of the CoAP connection, and the CoaP client must request an URI prefixed with coaps:// instead of coap:// for DTLS to be used. - - config MBEDTLS_COAP_PKI - bool "Public Key Infrastructure (PKI)" - default n - help - Use PKI Certificates and Private Keys to encrypt the communications - between the CoAP Server and CoAP Client. - - config MBEDTLS_COAP_DEBUG - bool "Enable CoAP debugging" - default n - help - Enable CoAP debugging functions at compile time for the example code. - - If this option is enabled, call coap_set_log_level() - at runtime in order to enable CoAP debug output via the ESP - log mechanism. - - choice MBEDTLS_COAP_DEBUG_LEVEL - bool "Set CoAP debugging level" - depends on MBEDTLS_COAP_DEBUG - default COAP_LOG_WARNING - help - Set CoAP debugging level - - config COAP_LOG_EMERG - bool "Emergency" - config COAP_LOG_ALERT - bool "Alert" - config COAP_LOG_CRIT - bool "Critical" - config COAP_LOG_ERROR - bool "Error" - config COAP_LOG_WARNING - bool "Warning" - config COAP_LOG_NOTICE - bool "Notice" - config COAP_LOG_INFO - bool "Info" - config COAP_LOG_DEBUG - bool "Debug" - endchoice - - config COAP_LOG_DEFAULT_LEVEL - int - default 0 if !MBEDTLS_COAP_DEBUG - default 0 if COAP_LOG_EMERG - default 1 if COAP_LOG_ALERT - default 2 if COAP_LOG_CRIT - default 3 if COAP_LOG_ERROR - default 4 if COAP_LOG_WARNING - default 5 if COAP_LOG_NOTICE - default 6 if COAP_LOG_INFO - default 7 if COAP_LOG_DEBUG - endmenu