This is an automated email from the ASF dual-hosted git repository. aboda pushed a commit to branch main in repository https://gitbox.apache.org/repos/asf/nifi-minifi-cpp.git
commit 6bc4b9057ee841e170bf5087bb86ac379e82a0b8 Author: Adam Debreceni <[email protected]> AuthorDate: Wed Apr 21 15:49:30 2021 +0200 MINIFICPP-1547 - Change default c2 protocol Signed-off-by: Arpad Boda <[email protected]> This closes #1058 --- C2.md | 8 ++++---- bootstrap.sh | 2 +- conf/minifi.properties | 5 +++-- encrypt-config/tests/resources/minifi.properties | 6 +++--- .../resources/with-additional-sensitive-props.minifi.properties | 8 ++++---- libminifi/src/c2/C2Agent.cpp | 8 ++++---- libminifi/test/resources/encrypted.minifi.properties | 6 +++--- 7 files changed, 22 insertions(+), 21 deletions(-) diff --git a/C2.md b/C2.md index 560b8ea..864e5202 100644 --- a/C2.md +++ b/C2.md @@ -63,11 +63,11 @@ be requested via C2 DESCRIBE manifest command. # specify classes for the AST response nifi.c2.root.classes=DeviceInfoNode,AgentInformation,FlowInformation - # specify C2 protocol -- default is CoapProtocol if not specified - #nifi.c2.agent.protocol.class=CoapProtocol - # may also use MQTT or REST - # nifi.c2.agent.protocol.class=MQTTC2Protocol + # specify C2 protocol -- default is RESTSender if not specified nifi.c2.agent.protocol.class=RESTSender + # may also use MQTT or CoapProtocol + # nifi.c2.agent.protocol.class=MQTTC2Protocol + # nifi.c2.agent.protocol.class=CoapProtocol # control c2 heartbeat interval in millisecocnds nifi.c2.agent.heartbeat.period=250 diff --git a/bootstrap.sh b/bootstrap.sh index 2401996..34fa8d1 100755 --- a/bootstrap.sh +++ b/bootstrap.sh @@ -292,7 +292,7 @@ add_disabled_option MQTT_ENABLED ${FALSE} "ENABLE_MQTT" add_disabled_option PYTHON_ENABLED ${FALSE} "ENABLE_PYTHON" add_dependency PYTHON_ENABLED "python" -add_disabled_option COAP_ENABLED ${TRUE} "ENABLE_COAP" +add_disabled_option COAP_ENABLED ${FALSE} "ENABLE_COAP" add_dependency COAP_ENABLED "automake" add_dependency COAP_ENABLED "autoconf" add_dependency COAP_ENABLED "libtool" diff --git a/conf/minifi.properties b/conf/minifi.properties index e5f2a1a..66dfbe9 100644 --- a/conf/minifi.properties +++ b/conf/minifi.properties @@ -65,8 +65,9 @@ nifi.content.repository.class.name=DatabaseContentRepository ## define those with missing options #nifi.c2.enable=true ## define protocol parameters -## The default is CoAP, if that extension is built. -## Alternatively, you may use RESTSender if http-curl is built +## The default is RESTSender. +## Alternatively, you may use CoapProtocol if that extension is built. +#nifi.c2.agent.protocol.class=RESTSender #nifi.c2.agent.protocol.class=CoapProtocol #nifi.c2.agent.coap.host= #nifi.c2.agent.coap.port= diff --git a/encrypt-config/tests/resources/minifi.properties b/encrypt-config/tests/resources/minifi.properties index f1ca0a2..1cf2549 100644 --- a/encrypt-config/tests/resources/minifi.properties +++ b/encrypt-config/tests/resources/minifi.properties @@ -52,10 +52,10 @@ nifi.rest.api.password=password ## define those with missing options nifi.c2.enable=true ## define protocol parameters -## The default is CoAP, if that extension is built. -## Alternatively, you may use RESTSender if http-curl is built -#nifi.c2.agent.protocol.class=CoapProtocol +## The default is RESTSender. +## Alternatively, you may use CoapProtocol if that extension is built. nifi.c2.agent.protocol.class=RESTSender +#nifi.c2.agent.protocol.class=CoapProtocol #nifi.c2.agent.coap.host= #nifi.c2.agent.coap.port= ## base URL of the c2 server, diff --git a/encrypt-config/tests/resources/with-additional-sensitive-props.minifi.properties b/encrypt-config/tests/resources/with-additional-sensitive-props.minifi.properties index d021f0f..2ca29b9 100644 --- a/encrypt-config/tests/resources/with-additional-sensitive-props.minifi.properties +++ b/encrypt-config/tests/resources/with-additional-sensitive-props.minifi.properties @@ -29,7 +29,7 @@ nifi.database.content.repository.directory.default=${MINIFI_HOME}/content_reposi nifi.remote.input.secure=true nifi.security.need.ClientAuth= -nifi.security.client.certificate= +nifi.security.client.certificate= nifi.security.client.private.key= nifi.security.client.pass.phrase=correct_horse_battery_staple nifi.security.client.ca.certificate= @@ -54,10 +54,10 @@ nifi.rest.api.password=password ## define those with missing options nifi.c2.enable=true ## define protocol parameters -## The default is CoAP, if that extension is built. -## Alternatively, you may use RESTSender if http-curl is built -#nifi.c2.agent.protocol.class=CoapProtocol +## The default is RESTSender. +## Alternatively, you may use CoapProtocol if that extension is built. nifi.c2.agent.protocol.class=RESTSender +#nifi.c2.agent.protocol.class=CoapProtocol #nifi.c2.agent.coap.host= #nifi.c2.agent.coap.port= ## base URL of the c2 server, diff --git a/libminifi/src/c2/C2Agent.cpp b/libminifi/src/c2/C2Agent.cpp index 9c914cc..8d962b5 100644 --- a/libminifi/src/c2/C2Agent.cpp +++ b/libminifi/src/c2/C2Agent.cpp @@ -141,21 +141,21 @@ void C2Agent::configure(const std::shared_ptr<Configure> &configure, bool reconf if (!reconfigure) { if (!configure->get("nifi.c2.agent.protocol.class", "c2.agent.protocol.class", clazz)) { - clazz = "CoapProtocol"; + clazz = "RESTSender"; } logger_->log_info("Class is %s", clazz); auto protocol = core::ClassLoader::getDefaultClassLoader().instantiateRaw(clazz, clazz); if (protocol == nullptr) { logger_->log_warn("Class %s not found", clazz); - protocol = core::ClassLoader::getDefaultClassLoader().instantiateRaw("CoapProtocol", "CoapProtocol"); + protocol = core::ClassLoader::getDefaultClassLoader().instantiateRaw("RESTSender", "RESTSender"); if (!protocol) { - const char* errmsg = "Attempted to load CoapProtocol. To enable C2, please specify an active protocol for this agent."; + const char* errmsg = "Attempted to load RESTSender. To enable C2, please specify an active protocol for this agent."; logger_->log_error(errmsg); throw minifi::Exception{ minifi::GENERAL_EXCEPTION, errmsg }; } - logger_->log_info("Class is CoapProtocol"); + logger_->log_info("Class is RESTSender"); } // Since !reconfigure, the call comes from the ctor and protocol_ is null, therefore no delete is necessary diff --git a/libminifi/test/resources/encrypted.minifi.properties b/libminifi/test/resources/encrypted.minifi.properties index 6ddb95f..c37a5a9 100644 --- a/libminifi/test/resources/encrypted.minifi.properties +++ b/libminifi/test/resources/encrypted.minifi.properties @@ -54,10 +54,10 @@ nifi.rest.api.password.protected=xsalsa20poly1305 ## define those with missing options nifi.c2.enable=true ## define protocol parameters -## The default is CoAP, if that extension is built. -## Alternatively, you may use RESTSender if http-curl is built -#nifi.c2.agent.protocol.class=CoapProtocol +## The default is RESTSender. +## Alternatively, you may use CoapProtocol if that extension is built. nifi.c2.agent.protocol.class=RESTSender +#nifi.c2.agent.protocol.class=CoapProtocol #nifi.c2.agent.coap.host= #nifi.c2.agent.coap.port= ## base URL of the c2 server,
