This is an automated email from the ASF dual-hosted git repository.
adamdebreceni pushed a change to branch MINIFICPP-2845
in repository https://gitbox.apache.org/repos/asf/nifi-minifi-cpp.git
omit 32573e943 MINIFICPP-2845 - Review changes
omit d6fac89d1 Update core-framework/common/src/utils/Id.cpp
omit 13a65bf55 MINIFICPP-2845 - Remove extra file
omit 8ca5f63cc MINIFICPP-2845 - Monotonic provenance event ids, iteration
support, refactor
add a7419e286 MINIFICPP-2870 Lint/Check python code with ruff (#2237)
add 8be29c104 MINIFICPP-2885 Allow explictily unsetting properties with
default value (#2241)
add 148097ab3 MINIFICPP-2888 Fixing build failure in rocky (#2250)
add 4ee6b4fe8 MINIFICPP-2887 Memory leak in
minifi_process_session_transfer/minifi_process_session_remove (#2249)
add 241aa38b1 MINIFICPP-2869 Improve rust api property validation and
property getters (#2220)
add 776ba835e MINIFICPP-2883 Support host file copies in docker behave
(#2238)
add 89be46fe9 MINIFICPP-2849 Implement LMDB based content repository
(#2201)
add c392cf4f5 MINIFICPP-2871 Create conanfile for openssl-fips target
(#2223)
add 8e3172929 MINIFICPP-2873 Add option to run create release artifacts
job with Conan (#2242)
add 1280948e5 MINIFICPP-2891 Fix rocky9_from_rocky_package docker (#2252)
add 7f19f9f17 MINIFICPP-2893 Only upload conan packages from apache (CI)
(#2253)
add 11f92483b MINIFICPP-2896 Fix cpack for openssl-fips in debug mode
using conan (#2255)
add a06d0d872 MINIFICPP-2897 Fix LMDB patch command on Windows (#2256)
add 36f1a2d3f MINIFICPP-2899 procfs: Fix CpuStat and CPUStatTests
inaccuracy (#2260)
add 2559f40d2 MINIFICPP-2886 Improve rust api process errors (#2246)
add 0dc40f95e MINIFICPP-2890 InputStream::read (length prefixed string)
length shou… (#2251)
add d860695ae MINIFICPP-2900 Fix leak of NodeID allocation in OPC
processors (#2261)
add 1fd09ad4b MINIFICPP-2904 Register pip3 alternative for python3.12 on
Rocky 8/9 (#2264)
add 58838fd7b MINIFICPP-2877 Fix ASan and LSan warnings (#2254)
add 4756cb537 MINIFICPP-2852 Implement LMDB based flow file repository
(#2203)
add 7148ad2a5 MINIFICPP-2749 Add EncryptContentPGP and DecryptContentPGP
add 298385e0f MINIFICPP-2845 - Monotonic provenance event ids, iteration
support, refactor
add ab95583da MINIFICPP-2845 - Remove extra file
add a7c4bd40c Update core-framework/common/src/utils/Id.cpp
add b4ee0992e MINIFICPP-2845 - Review changes
This update added new revisions after undoing existing revisions.
That is to say, some revisions that were in the old version of the
branch are not in the new version. This situation occurs
when a user --force pushes a change and generates a repository
containing something like this:
* -- * -- B -- O -- O -- O (32573e943)
\
N -- N -- N refs/heads/MINIFICPP-2845 (b4ee0992e)
You should already have received notification emails for all of the O
revisions, and so the following emails describe only the N revisions
from the common base, B.
Any revisions marked "omit" are not gone; other references still
refer to them. Any revisions marked "discard" are gone forever.
No new revisions were added by this update.
Summary of changes:
.github/conan/compatibility.py | 5 +-
.../github_scripts/github_actions_cache_cleanup.py | 52 ++-
.../github_actions_cache_cleanup_tests.py | 52 ++-
.../ubuntu_22_04_clang_arm_manifest.json | 246 ++++++++++-
.github/workflows/ci.yml | 29 +-
.github/workflows/create-release-artifacts.yml | 38 +-
.github/workflows/memcheck_ci.yml | 62 ++-
CMakeLists.txt | 18 +-
CONFIGURE.md | 19 +-
CONTRIBUTING.md | 19 +-
CONTROLLERS.md | 36 +-
PROCESSORS.md | 56 +++
README.md | 53 +--
.../minifi_behave/containers/container_linux.py | 194 +++++----
.../minifi_behave/containers/container_protocol.py | 33 +-
.../minifi_behave/containers/container_windows.py | 104 +++--
.../src/minifi_behave/containers/directory.py | 1 +
.../containers/docker_image_builder.py | 45 +-
.../src/minifi_behave/containers/file.py | 1 +
.../src/minifi_behave/containers/host_file.py | 1 +
.../containers/http_proxy_container.py | 58 ++-
.../minifi_behave/containers/minifi_controller.py | 33 +-
.../containers/minifi_linux_container.py | 109 +++--
.../minifi_behave/containers/minifi_protocol.py | 15 +-
.../containers/minifi_win_container.py | 20 +-
.../src/minifi_behave/containers/nifi_container.py | 118 +++--
behave_framework/src/minifi_behave/core/helpers.py | 48 ++-
behave_framework/src/minifi_behave/core/hooks.py | 86 +++-
.../src/minifi_behave/core/minifi_test_context.py | 27 +-
.../src/minifi_behave/core/ssl_utils.py | 17 +-
.../src/minifi_behave/minifi/controller_service.py | 7 +-
.../src/minifi_behave/minifi/flow_definition.py | 19 +-
.../src/minifi_behave/minifi/funnel.py | 5 +-
.../src/minifi_behave/minifi/input_port.py | 8 +-
.../minifi_behave/minifi/minifi_flow_definition.py | 48 ++-
.../minifi_behave/minifi/nifi_flow_definition.py | 163 +++----
.../src/minifi_behave/minifi/output_port.py | 8 +-
.../src/minifi_behave/minifi/parameter.py | 9 +-
.../src/minifi_behave/minifi/parameter_context.py | 6 +-
.../src/minifi_behave/minifi/processor.py | 28 +-
.../src/minifi_behave/minifi/remote_port.py | 9 +-
.../minifi_behave/minifi/remote_process_group.py | 14 +-
.../src/minifi_behave/steps/checking_steps.py | 371 +++++++++++-----
.../src/minifi_behave/steps/configuration_steps.py | 13 +-
.../src/minifi_behave/steps/core_steps.py | 103 +++--
.../src/minifi_behave/steps/flow_building_steps.py | 398 +++++++++++++----
bootstrap/cli.py | 87 ++--
bootstrap/cmake_parser.py | 26 +-
bootstrap/main.py | 77 +++-
bootstrap/minifi_option.py | 79 +++-
bootstrap/package_manager.py | 209 +++++----
bootstrap/system_dependency.py | 27 +-
cmake/Abseil.cmake | 4 +-
cmake/BuildTests.cmake | 16 +
cmake/BundledIodbc.cmake | 2 +-
cmake/CivetWeb.cmake | 5 +
cmake/FetchLibSSH2.cmake | 12 +-
cmake/GenericPython.cmake | 2 +-
cmake/{GetAsio.cmake => GetLMDB.cmake} | 12 +-
cmake/GetOpenSSL.cmake | 53 ++-
cmake/Grpc.cmake | 2 +-
cmake/LMDB.cmake | 46 ++
cmake/MiNiFiOptions.cmake | 3 +
cmake/VerifyPackageWithDocker.cmake | 12 +-
cmake/valgrind.supp | 76 +++-
conanfile.py | 183 ++++++--
conf/minifi.properties.in | 3 +
controller/Controller.cpp | 46 +-
core-framework/common/src/io/InputStream.cpp | 71 +--
core-framework/common/src/utils/Id.cpp | 7 +-
.../include/core/ConfigurableComponentImpl.h | 1 +
core-framework/include/core/Core.h | 2 +-
core-framework/include/core/ProcessorImpl.h | 2 +-
core-framework/src/core/BufferedContentSession.cpp | 2 +-
.../src/core/ConfigurableComponentImpl.cpp | 10 +
core-framework/src/core/ProcessorImpl.cpp | 2 +-
docker/rockylinux/Dockerfile | 12 +-
.../scripts/python/reverse_flow_file_content.py | 6 +-
.../include/api/core/ControllerServiceImpl.h | 2 +-
.../include/api/core/ProcessorImpl.h | 6 +-
.../src/core/ControllerServiceImpl.cpp | 2 +-
.../include/utils/net/ConnectionHandler.h | 30 +-
extension-framework/include/utils/net/Server.h | 25 +-
extension-framework/src/utils/net/TcpServer.cpp | 9 +-
extension-framework/src/utils/net/UdpServer.cpp | 3 +
extensions/aws/tests/MockS3RequestSender.h | 3 +-
.../containers/kinesis_server_container.py | 21 +-
.../features/containers/s3_server_container.py | 75 +++-
extensions/aws/tests/features/environment.py | 6 +-
extensions/aws/tests/features/steps/steps.py | 57 +--
.../features/containers/azure_server_container.py | 108 +++--
extensions/azure/tests/features/environment.py | 6 +-
extensions/azure/tests/features/steps/steps.py | 31 +-
extensions/civetweb/tests/features/environment.py | 3 +-
extensions/civetweb/tests/features/steps/steps.py | 10 +-
extensions/couchbase/CMakeLists.txt | 2 +
extensions/couchbase/tests/CMakeLists.txt | 2 +
.../containers/couchbase_server_container.py | 145 +++++--
extensions/couchbase/tests/features/environment.py | 13 +-
extensions/couchbase/tests/features/steps/steps.py | 33 +-
.../features/containers/elastic_base_container.py | 39 +-
.../features/containers/elasticsearch_container.py | 96 +++--
.../features/containers/opensearch_container.py | 55 ++-
.../elasticsearch/tests/features/environment.py | 6 +-
.../elasticsearch/tests/features/steps/steps.py | 62 ++-
.../containers/fake_gcs_server_container.py | 20 +-
extensions/gcp/tests/features/environment.py | 6 +-
extensions/gcp/tests/features/steps/steps.py | 17 +-
.../features/containers/grafana_loki_container.py | 59 ++-
.../features/containers/reverse_proxy_container.py | 11 +-
.../grafana-loki/tests/features/environment.py | 13 +-
.../resources/check_log_lines_on_grafana.py | 14 +-
.../grafana-loki/tests/features/steps/steps.py | 49 ++-
.../features/containers/kafka_server_container.py | 127 ++++--
extensions/kafka/tests/features/environment.py | 11 +-
extensions/kafka/tests/features/steps/steps.py | 73 +++-
.../kubernetes/tests/features/environment.py | 11 +-
.../tests/features/steps/kubernetes_proxy.py | 120 ++++--
.../steps/minifi_as_pod_in_kubernetes_cluster.py | 4 +-
.../kubernetes/tests/features/steps/steps.py | 62 ++-
extensions/libarchive/BinFiles.h | 2 +-
extensions/llamacpp/tests/CMakeLists.txt | 1 +
extensions/llamacpp/tests/features/environment.py | 18 +-
extensions/llamacpp/tests/features/steps/steps.py | 10 +-
extensions/{elasticsearch => lmdb}/CMakeLists.txt | 14 +-
extensions/lmdb/LmdbContentRepository.cpp | 164 +++++++
extensions/lmdb/LmdbContentRepository.h | 84 ++++
extensions/lmdb/LmdbFlowFileRepository.cpp | 254 +++++++++++
extensions/lmdb/LmdbFlowFileRepository.h | 120 ++++++
extensions/lmdb/LmdbStream.cpp | 94 ++++
.../lmdb/LmdbStream.h | 55 ++-
extensions/lmdb/LmdbWrapper.cpp | 269 ++++++++++++
extensions/lmdb/LmdbWrapper.h | 63 +++
.../{rocksdb-repos => lmdb}/tests/CMakeLists.txt | 17 +-
.../lmdb/tests/LmdbContentRepositoryTests.cpp | 259 +++++++++++
extensions/lmdb/tests/LmdbContentSessionTests.cpp | 293 +++++++++++++
.../lmdb/tests/LmdbFlowFileRepositoryTests.cpp | 470 ++++++++++++++++++++
extensions/lmdb/tests/LmdbStreamTests.cpp | 252 +++++++++++
extensions/lua/tests/features/environment.py | 5 +-
extensions/lua/tests/features/steps/steps.py | 10 +-
.../features/containers/mqtt_broker_container.py | 49 ++-
extensions/mqtt/tests/features/environment.py | 11 +-
.../features/resources/publish_mqtt_message.py | 3 +-
extensions/mqtt/tests/features/steps/steps.py | 48 ++-
.../opc/include/{opcbase.h => BaseOPCProcessor.h} | 2 +-
.../include/{fetchopc.h => FetchOPCProcessor.h} | 6 +-
extensions/opc/include/{opc.h => OPCCommon.h} | 39 +-
.../opc/include/{putopc.h => PutOPCProcessor.h} | 8 +-
.../opc/src/{opcbase.cpp => BaseOPCProcessor.cpp} | 4 +-
.../src/{fetchopc.cpp => FetchOPCProcessor.cpp} | 14 +-
extensions/opc/src/{opc.cpp => OPCCommon.cpp} | 8 +-
.../opc/src/{putopc.cpp => PutOPCProcessor.cpp} | 51 ++-
...ocessorTests.cpp => FetchOPCProcessorTests.cpp} | 26 +-
extensions/opc/tests/OpcUaTestServer.h | 30 ++
...ProcessorTests.cpp => PutOPCProcessorTests.cpp} | 12 +-
.../features/containers/opc_ua_server_container.py | 14 +-
extensions/opc/tests/features/environment.py | 9 +-
extensions/opc/tests/features/steps/steps.py | 64 ++-
extensions/procfs/CpuStat.h | 2 +-
extensions/procfs/tests/CPUStatTests.cpp | 22 +-
.../features/containers/prometheus_container.py | 114 ++++-
.../prometheus/tests/features/environment.py | 11 +-
.../tests/features/resources/prometheus_checker.py | 220 +++++++---
.../prometheus/tests/features/steps/steps.py | 74 +++-
extensions/python/CMakeLists.txt | 10 +-
extensions/python/PYTHON.md | 24 +-
.../pythonprocessor-examples/AddPythonAttribute.py | 1 -
.../pythonprocessor-examples/CountingProcessor.py | 3 +-
.../GaussianDistributionWithNumpy.py | 2 +-
.../pythonprocessor-examples/MoveContentToJson.py | 5 +-
.../pythonprocessor-examples/RemoveFlowFile.py | 1 -
.../pythonprocessor-examples/SentimentAnalysis.py | 12 +-
.../google/SentimentAnalyzer.py | 28 +-
.../pythonprocessor-examples/h2o/ConvertDsToCsv.py | 51 ++-
.../h2o/h2o3/mojo/ExecuteH2oMojoScoring.py | 158 ++++---
.../utils/dependency_installer.py | 32 +-
.../pythonprocessors/nifiapi/componentstate.py | 10 +-
.../python/pythonprocessors/nifiapi/decorators.py | 1 +
.../pythonprocessors/nifiapi/documentation.py | 60 ++-
.../pythonprocessors/nifiapi/flowfilesource.py | 8 +-
.../pythonprocessors/nifiapi/flowfiletransform.py | 12 +-
.../pythonprocessors/nifiapi/processorbase.py | 49 ++-
.../python/pythonprocessors/nifiapi/properties.py | 106 +++--
.../pythonprocessors/nifiapi/recordtransform.py | 62 ++-
.../pythonprocessors/nifiapi/relationship.py | 1 +
extensions/python/tests/features/environment.py | 101 ++---
.../tests/features/resources/CreateFlowFile.py | 30 +-
.../tests/features/resources/CreateNothing.py | 13 +-
.../resources/EvaluateExpressionLanguageChecker.py | 21 +-
.../ExpressionLanguagePropertyWithValidator.py | 25 +-
.../features/resources/LogDynamicProperties.py | 9 +-
.../resources/NifiStyleLogDynamicProperties.py | 27 +-
.../resources/ProcessContextInterfaceChecker.py | 30 +-
.../resources/RelativeImporterProcessor.py | 5 +-
.../tests/features/resources/RotatingForwarder.py | 1 +
.../tests/features/resources/SetRecordField.py | 27 +-
.../resources/SingleThreadedSleepForever.py | 12 +-
.../tests/features/resources/SleepForever.py | 10 +-
.../resources/SpecialPropertyTypeChecker.py | 15 +-
.../tests/features/resources/TestStateManager.py | 22 +-
.../tests/features/resources/multiplierutils.py | 1 +
.../tests/features/resources/subtractutils.py | 1 +
extensions/python/tests/features/steps/steps.py | 121 ++++--
.../tests/test_python_scripts/foo_bar_processor.py | 2 +-
.../non_transferring_processor.py | 4 +-
...passthrough_processor_transfering_to_failure.py | 4 +-
...passthrough_processor_transfering_to_success.py | 4 +-
.../test_python_scripts/stateful_processor.py | 9 +-
extensions/python/types/Types.h | 6 +-
.../rocksdb-repos/DatabaseContentRepository.h | 2 +-
.../rocksdb-repos/tests/ContentSessionTests.cpp | 10 +-
.../tests/DBContentRepositoryTests.cpp | 26 +-
extensions/rocksdb-repos/tests/RepoTests.cpp | 4 +-
.../rocksdb-repos/tests/RocksDBStreamTests.cpp | 2 +-
.../tests/features/containers/splunk_container.py | 149 +++++--
extensions/splunk/tests/features/environment.py | 6 +-
extensions/splunk/tests/features/steps/steps.py | 28 +-
extensions/sql/tests/SQLTestPlan.h | 2 +-
.../containers/postgress_server_container.py | 27 +-
extensions/sql/tests/features/environment.py | 36 +-
extensions/sql/tests/features/steps/steps.py | 27 +-
.../stable-api-testing/ExtensionInitializer.cpp | 2 +
extensions/stable-api-testing/PropertyTester.h | 97 +++++
extensions/stable-api-testing/tests/CMakeLists.txt | 1 +
.../tests/PropertyTesterTests.cpp | 221 ++++++++++
.../standard-processors/processors/GetTCP.cpp | 22 +-
.../features/containers/diag_slave_container.py | 17 +-
.../tests/features/containers/syslog_container.py | 2 +-
.../features/containers/tcp_client_container.py | 9 +-
.../tests/features/environment.py | 15 +-
.../features/steps/minifi_c2_server_container.py | 98 +++--
.../features/steps/minifi_controller_steps.py | 43 +-
.../tests/features/steps/steps.py | 82 ++--
.../tests/unit/GenerateFlowFileTests.cpp | 3 +-
.../standard-processors/tests/unit/PutTCPTests.cpp | 4 +-
libminifi/include/c2/PayloadSerializer.h | 18 +-
.../include/core/repository/FileSystemRepository.h | 2 +-
libminifi/include/sitetosite/SiteToSite.h | 2 +-
libminifi/src/Configuration.cpp | 2 +
libminifi/src/FlowFileRecord.cpp | 6 +-
libminifi/src/c2/ControllerSocketProtocol.cpp | 19 +-
libminifi/src/core/FlowConfiguration.cpp | 16 +-
libminifi/src/core/RepositoryFactory.cpp | 2 +
.../src/core/flow/StructuredConfiguration.cpp | 21 +-
libminifi/src/minifi-api.cpp | 8 +-
libminifi/src/provenance/Provenance.cpp | 22 +-
libminifi/src/sitetosite/RawSiteToSiteClient.cpp | 2 +-
libminifi/src/sitetosite/SiteToSiteClient.cpp | 6 +-
libminifi/test/integration/HTTPSiteToSiteTests.cpp | 24 +-
.../libtest/integration/ConnectionCountingServer.h | 11 +-
.../test/libtest/integration/HTTPHandlers.cpp | 9 +-
libminifi/test/libtest/integration/HTTPHandlers.h | 3 -
libminifi/test/libtest/unit/TestBase.h | 1 +
libminifi/test/libtest/unit/TestUtils.cpp | 2 +-
.../resources/TestC2DescribeCoreComponentState.yml | 4 +
libminifi/test/unit/FileStreamTests.cpp | 30 --
libminifi/test/unit/FileSystemRepositoryTests.cpp | 23 +-
libminifi/test/unit/ProcessSessionTests.cpp | 30 ++
libminifi/test/unit/SerializationTests.cpp | 6 +-
libminifi/test/unit/StreamTests.cpp | 45 +-
.../common/include/minifi-cpp/io/InputStream.h | 11 +-
minifi-api/common/include/minifi-cpp/utils/Id.h | 9 +-
.../minifi-cpp/core/ConfigurableComponent.h | 1 +
minifi-api/include/minifi-cpp/core/Core.h | 2 +-
minifi-api/include/minifi-cpp/core/Property.h | 1 +
minifi-api/include/minifi-cpp/core/StreamManager.h | 2 +-
.../include/minifi-cpp/properties/Configuration.h | 3 +
minifi_rust/CMakeLists.txt | 10 +
minifi_rust/Cargo.toml | 6 +
.../.cargo/config.toml | 0
minifi_rust/extensions/minifi_pgp/.gitignore | 7 +
minifi_rust/extensions/minifi_pgp/Cargo.toml | 14 +
.../minifi_pgp/features/encrypt_decrypt.feature | 67 +++
.../extensions/minifi_pgp/features/environment.py | 41 ++
.../extensions/minifi_pgp/features/steps/steps.py | 80 ++++
minifi_rust/extensions/minifi_pgp/minifi_pgp.md | 112 +++++
.../src/controller_services/encryption_key.rs | 131 ++++++
.../src/controller_services/key_file_property.rs | 118 +++++
.../src/controller_services/key_lookup.rs | 141 ++++++
.../src/controller_services/key_parsing.rs | 90 ++++
.../src/controller_services/key_property.rs | 49 +++
.../minifi_pgp/src/controller_services/mod.rs} | 14 +-
.../src/controller_services/private_key_service.rs | 249 +++++++++++
.../src/controller_services/public_key_service.rs | 296 +++++++++++++
.../minifi_pgp/src/lib.rs} | 31 +-
.../minifi_pgp/src/processors/decrypt_content.rs | 474 +++++++++++++++++++++
.../minifi_pgp/src/processors/encrypt_content.rs | 392 +++++++++++++++++
.../minifi_pgp/src/processors/mod.rs} | 4 +-
.../src/test_utils/mod.rs} | 19 +-
minifi_rust/extensions/minifi_pgp/src/utils.rs | 80 ++++
.../extensions/minifi_pgp/test_keys/README.txt | 59 +++
.../extensions/minifi_pgp/test_keys/alice.asc | 18 +
.../extensions/minifi_pgp/test_keys/alice.gpg | Bin 0 -> 640 bytes
.../minifi_pgp/test_keys/alice_private.asc | 32 ++
.../minifi_pgp/test_keys/alice_private.gpg | Bin 0 -> 1337 bytes
.../minifi_pgp/test_keys/ambiguous_keyring.gpg | Bin 0 -> 3227 bytes
.../minifi_pgp/test_keys/bob_private.asc | 71 +++
.../minifi_pgp/test_keys/bob_private.gpg | Bin 0 -> 3207 bytes
.../extensions/minifi_pgp/test_keys/dave.asc | 14 +
.../minifi_pgp/test_keys/dave_private.asc | 18 +
.../extensions/minifi_pgp/test_keys/erin.asc | 10 +
.../extensions/minifi_pgp/test_keys/garbage.gpg | Bin 0 -> 1024 bytes
.../extensions/minifi_pgp/test_keys/keyring.asc | 58 +++
.../extensions/minifi_pgp/test_keys/keyring.gpg | Bin 0 -> 2545 bytes
.../minifi_pgp/test_keys/mixed_secret_keyring.gpg | Bin 0 -> 1966 bytes
.../minifi_pgp/test_keys/secret_keyring.asc | 99 +++++
.../minifi_pgp/test_keys/secret_keyring.gpg | Bin 0 -> 4544 bytes
.../minifi_pgp/test_keys/spoofed_bob.asc | 19 +
.../extensions/minifi_pgp/test_keys/truncated.asc | 10 +
.../minifi_pgp/test_keys/truncated_private.asc | 17 +
.../minifi_pgp/test_messages/foo_for_alice.asc | 12 +
.../minifi_pgp/test_messages/foo_for_alice.gpg | Bin 0 -> 346 bytes
.../test_messages/password_encrypted_foo.asc | 6 +
.../test_messages/password_encrypted_foo.gpg | 1 +
.../extensions/minifi_rs_playground/Cargo.toml | 1 +
.../features/controller_apis.feature | 2 +-
.../minifi_rs_playground/features/environment.py | 61 +--
.../features/error-handling.feature | 4 +-
.../minifi_rs_playground/features/steps/steps.py | 21 +-
.../minifi_rs_playground/minifi_rs_playground.md | 31 +-
.../controller_services/dog_controller_service.rs | 46 +-
.../controller_services/duck_controller_service.rs | 4 +-
.../dummy_controller_service.rs | 4 +-
.../lorem_ipsum_controller_service.rs | 23 +-
.../src/processors/asciify_german.rs | 16 +-
.../asciify_german/processor_definition.rs | 5 +-
.../src/processors/asciify_german/tests.rs | 9 +-
.../src/processors/count_actual_logging.rs | 8 +-
.../src/processors/duplicate_text.rs | 11 +-
.../src/processors/generate_flow_file.rs | 49 ++-
.../generate_flow_file/processor_definition.rs | 7 +-
.../processors/generate_flow_file/properties.rs | 82 ++--
.../src/processors/generate_flow_file/tests.rs | 30 +-
.../src/processors/get_file.rs | 43 +-
.../processors/get_file/processor_definition.rs | 5 +-
.../src/processors/get_file/properties.rs | 158 ++-----
.../src/processors/get_file/tests.rs | 23 +-
.../src/processors/kamikaze_processor.rs | 41 +-
.../kamikaze_processor/processor_definition.rs | 7 +-
.../processors/kamikaze_processor/properties.rs | 55 +--
.../src/processors/kamikaze_processor/tests.rs | 25 +-
.../src/processors/log_attribute.rs | 62 ++-
.../log_attribute/processor_definition.rs | 5 +-
.../src/processors/log_attribute/properties.rs | 127 ++----
.../src/processors/lorem_ipsum_cs_user.rs | 36 +-
.../lorem_ipsum_cs_user/processor_definition.rs | 6 +-
.../processors/lorem_ipsum_cs_user/properties.rs | 39 +-
.../src/processors/lorem_ipsum_cs_user/tests.rs | 23 +-
.../src/processors/put_file.rs | 89 +---
.../processors/put_file/processor_definition.rs | 38 +-
.../src/processors/put_file/properties.rs | 67 +--
.../processors/put_file/unix_only_properties.rs | 33 +-
.../src/processors/put_file/unix_permissions.rs | 78 ++++
.../src/processors/zoo_processor.rs | 44 +-
minifi_rust/generate_docs/Dockerfile.generate_docs | 2 +-
minifi_rust/minifi_native/Cargo.toml | 4 +
minifi_rust/minifi_native/src/api.rs | 4 +-
minifi_rust/minifi_native/src/api/attribute.rs | 13 +
.../src/api/component_definition_traits.rs | 6 +-
minifi_rust/minifi_native/src/api/errors.rs | 280 +++++++++---
minifi_rust/minifi_native/src/api/logger.rs | 18 +-
.../minifi_native/src/api/process_context.rs | 127 ++----
minifi_rust/minifi_native/src/api/processor.rs | 3 +-
.../api/processor_wrappers/complex_processor.rs | 18 +-
.../src/api/processor_wrappers/flow_file_source.rs | 64 ++-
.../flow_file_stream_transform.rs | 99 +++--
.../api/processor_wrappers/flow_file_transform.rs | 229 ++++++++--
.../src/api/processor_wrappers/utils.rs | 1 +
.../utils/context_session_flowfile_bundle.rs | 23 +-
.../processor_wrappers/utils/with_attributes.rs | 50 +++
minifi_rust/minifi_native/src/api/property.rs | 308 ++++++++++---
minifi_rust/minifi_native/src/api/raw_processor.rs | 6 +-
minifi_rust/minifi_native/src/api/relationship.rs | 8 +
.../src/c_ffi/c_ffi_controller_service_context.rs | 14 +-
.../c_ffi/c_ffi_controller_service_definition.rs | 6 +-
.../src/c_ffi/c_ffi_process_context.rs | 54 +--
.../src/c_ffi/c_ffi_process_session.rs | 19 +-
.../src/c_ffi/c_ffi_processor_definition.rs | 61 +--
.../minifi_native/src/c_ffi/c_ffi_property.rs | 41 +-
minifi_rust/minifi_native/src/lib.rs | 17 +-
.../src/mock/mock_controller_service_context.rs | 6 +-
.../minifi_native/src/mock/mock_process_context.rs | 46 +-
minifi_rust/minifi_native/src/test_utils.rs | 16 +
minifi_rust/minifi_native_macros/src/lib.rs | 37 ++
minifi_rust/minifi_native_sys/build.rs | 3 +-
minifi_rust/minifi_rs_behave/Dockerfile.alpine | 4 +-
minifi_rust/minifi_rs_behave/Dockerfile.debian | 2 +-
minifi_rust/minifi_rs_behave/src/main.rs | 1 +
ruff.toml | 17 +
run_flake8.sh | 22 -
thirdparty/abseil/rename-crc32.patch | 44 +-
thirdparty/couchbase/all/conanfile.py | 2 +-
thirdparty/google-styleguide/cpplint.py | 3 +
thirdparty/grpc/all/conandata.yml | 8 +-
thirdparty/grpc/all/conanfile.py | 2 +-
.../fix-msvc-auto-return-type-template-arg.patch | 16 +-
.../{grpc_1.82.0.yml => grpc_1.83.1.yml} | 2 +-
thirdparty/grpc/config.yml | 2 +-
thirdparty/libssh2/fix-ecdh-leak.patch | 18 +
thirdparty/{llamacpp => lmdb}/all/conandata.yml | 12 +-
thirdparty/lmdb/all/conanfile.py | 97 +++++
thirdparty/lmdb/all/patches/add-cmake-file.patch | 23 +
.../lmdb/all/patches/fix-windows-symbols.patch | 112 +++++
thirdparty/{llamacpp => lmdb}/config.yml | 2 +-
.../{jolt-tests => openssl-fips}/all/conandata.yml | 6 +-
thirdparty/openssl-fips/all/conanfile.py | 75 ++++
thirdparty/{jolt-tests => openssl-fips}/config.yml | 2 +-
thirdparty/rocksdb/all/conanfile.py | 5 +-
408 files changed, 13417 insertions(+), 3987 deletions(-)
copy cmake/{GetAsio.cmake => GetLMDB.cmake} (77%)
create mode 100644 cmake/LMDB.cmake
copy extensions/{elasticsearch => lmdb}/CMakeLists.txt (64%)
create mode 100644 extensions/lmdb/LmdbContentRepository.cpp
create mode 100644 extensions/lmdb/LmdbContentRepository.h
create mode 100644 extensions/lmdb/LmdbFlowFileRepository.cpp
create mode 100644 extensions/lmdb/LmdbFlowFileRepository.h
create mode 100644 extensions/lmdb/LmdbStream.cpp
copy libminifi/include/sitetosite/CompressionOutputStream.h =>
extensions/lmdb/LmdbStream.h (50%)
create mode 100644 extensions/lmdb/LmdbWrapper.cpp
create mode 100644 extensions/lmdb/LmdbWrapper.h
copy extensions/{rocksdb-repos => lmdb}/tests/CMakeLists.txt (71%)
create mode 100644 extensions/lmdb/tests/LmdbContentRepositoryTests.cpp
create mode 100644 extensions/lmdb/tests/LmdbContentSessionTests.cpp
create mode 100644 extensions/lmdb/tests/LmdbFlowFileRepositoryTests.cpp
create mode 100644 extensions/lmdb/tests/LmdbStreamTests.cpp
rename extensions/opc/include/{opcbase.h => BaseOPCProcessor.h} (99%)
rename extensions/opc/include/{fetchopc.h => FetchOPCProcessor.h} (97%)
rename extensions/opc/include/{opc.h => OPCCommon.h} (77%)
rename extensions/opc/include/{putopc.h => PutOPCProcessor.h} (96%)
rename extensions/opc/src/{opcbase.cpp => BaseOPCProcessor.cpp} (99%)
rename extensions/opc/src/{fetchopc.cpp => FetchOPCProcessor.cpp} (95%)
rename extensions/opc/src/{opc.cpp => OPCCommon.cpp} (99%)
rename extensions/opc/src/{putopc.cpp => PutOPCProcessor.cpp} (86%)
rename extensions/opc/tests/{FetchOpcProcessorTests.cpp =>
FetchOPCProcessorTests.cpp} (91%)
rename extensions/opc/tests/{PutOpcProcessorTests.cpp =>
PutOPCProcessorTests.cpp} (98%)
create mode 100644 extensions/stable-api-testing/PropertyTester.h
create mode 100644 extensions/stable-api-testing/tests/PropertyTesterTests.cpp
copy minifi_rust/extensions/{minifi_rs_playground =>
minifi_pgp}/.cargo/config.toml (100%)
create mode 100644 minifi_rust/extensions/minifi_pgp/.gitignore
create mode 100644 minifi_rust/extensions/minifi_pgp/Cargo.toml
create mode 100644
minifi_rust/extensions/minifi_pgp/features/encrypt_decrypt.feature
create mode 100644 minifi_rust/extensions/minifi_pgp/features/environment.py
create mode 100644 minifi_rust/extensions/minifi_pgp/features/steps/steps.py
create mode 100644 minifi_rust/extensions/minifi_pgp/minifi_pgp.md
create mode 100644
minifi_rust/extensions/minifi_pgp/src/controller_services/encryption_key.rs
create mode 100644
minifi_rust/extensions/minifi_pgp/src/controller_services/key_file_property.rs
create mode 100644
minifi_rust/extensions/minifi_pgp/src/controller_services/key_lookup.rs
create mode 100644
minifi_rust/extensions/minifi_pgp/src/controller_services/key_parsing.rs
create mode 100644
minifi_rust/extensions/minifi_pgp/src/controller_services/key_property.rs
copy minifi_rust/{minifi_native/src/api/flow_file.rs =>
extensions/minifi_pgp/src/controller_services/mod.rs} (82%)
create mode 100644
minifi_rust/extensions/minifi_pgp/src/controller_services/private_key_service.rs
create mode 100644
minifi_rust/extensions/minifi_pgp/src/controller_services/public_key_service.rs
copy minifi_rust/{minifi_native/src/api/raw_controller_service.rs =>
extensions/minifi_pgp/src/lib.rs} (50%)
create mode 100644
minifi_rust/extensions/minifi_pgp/src/processors/decrypt_content.rs
create mode 100644
minifi_rust/extensions/minifi_pgp/src/processors/encrypt_content.rs
copy minifi_rust/{minifi_native/src/api/processor_wrappers/utils.rs =>
extensions/minifi_pgp/src/processors/mod.rs} (90%)
copy
minifi_rust/extensions/{minifi_rs_playground/src/controller_services/animal_controller_apis.rs
=> minifi_pgp/src/test_utils/mod.rs} (63%)
create mode 100644 minifi_rust/extensions/minifi_pgp/src/utils.rs
create mode 100644 minifi_rust/extensions/minifi_pgp/test_keys/README.txt
create mode 100644 minifi_rust/extensions/minifi_pgp/test_keys/alice.asc
create mode 100644 minifi_rust/extensions/minifi_pgp/test_keys/alice.gpg
create mode 100644
minifi_rust/extensions/minifi_pgp/test_keys/alice_private.asc
create mode 100644
minifi_rust/extensions/minifi_pgp/test_keys/alice_private.gpg
create mode 100644
minifi_rust/extensions/minifi_pgp/test_keys/ambiguous_keyring.gpg
create mode 100644 minifi_rust/extensions/minifi_pgp/test_keys/bob_private.asc
create mode 100644 minifi_rust/extensions/minifi_pgp/test_keys/bob_private.gpg
create mode 100644 minifi_rust/extensions/minifi_pgp/test_keys/dave.asc
create mode 100644 minifi_rust/extensions/minifi_pgp/test_keys/dave_private.asc
create mode 100644 minifi_rust/extensions/minifi_pgp/test_keys/erin.asc
create mode 100644 minifi_rust/extensions/minifi_pgp/test_keys/garbage.gpg
create mode 100644 minifi_rust/extensions/minifi_pgp/test_keys/keyring.asc
create mode 100644 minifi_rust/extensions/minifi_pgp/test_keys/keyring.gpg
create mode 100644
minifi_rust/extensions/minifi_pgp/test_keys/mixed_secret_keyring.gpg
create mode 100644
minifi_rust/extensions/minifi_pgp/test_keys/secret_keyring.asc
create mode 100644
minifi_rust/extensions/minifi_pgp/test_keys/secret_keyring.gpg
create mode 100644 minifi_rust/extensions/minifi_pgp/test_keys/spoofed_bob.asc
create mode 100644 minifi_rust/extensions/minifi_pgp/test_keys/truncated.asc
create mode 100644
minifi_rust/extensions/minifi_pgp/test_keys/truncated_private.asc
create mode 100644
minifi_rust/extensions/minifi_pgp/test_messages/foo_for_alice.asc
create mode 100644
minifi_rust/extensions/minifi_pgp/test_messages/foo_for_alice.gpg
create mode 100644
minifi_rust/extensions/minifi_pgp/test_messages/password_encrypted_foo.asc
create mode 100644
minifi_rust/extensions/minifi_pgp/test_messages/password_encrypted_foo.gpg
create mode 100644
minifi_rust/extensions/minifi_rs_playground/src/processors/put_file/unix_permissions.rs
create mode 100644
minifi_rust/minifi_native/src/api/processor_wrappers/utils/with_attributes.rs
create mode 100644 minifi_rust/minifi_native/src/test_utils.rs
create mode 100644 ruff.toml
delete mode 100755 run_flake8.sh
rename thirdparty/grpc/all/target_info/{grpc_1.82.0.yml => grpc_1.83.1.yml}
(99%)
create mode 100644 thirdparty/libssh2/fix-ecdh-leak.patch
copy thirdparty/{llamacpp => lmdb}/all/conandata.yml (72%)
create mode 100644 thirdparty/lmdb/all/conanfile.py
create mode 100644 thirdparty/lmdb/all/patches/add-cmake-file.patch
create mode 100644 thirdparty/lmdb/all/patches/fix-windows-symbols.patch
copy thirdparty/{llamacpp => lmdb}/config.yml (98%)
copy thirdparty/{jolt-tests => openssl-fips}/all/conandata.yml (80%)
create mode 100644 thirdparty/openssl-fips/all/conanfile.py
copy thirdparty/{jolt-tests => openssl-fips}/config.yml (98%)