gitextract_r4wlvbaj/ ├── .dockerignore ├── .github/ │ └── workflows/ │ ├── anjay-tests.yml │ └── coverity.yml ├── .gitignore ├── .gitmodules ├── CHANGELOG.md ├── CMakeLists.txt ├── CONTRIBUTING.rst ├── Dockerfile ├── Doxyfile.in ├── LICENSE ├── NOTICE ├── README.Windows.md ├── README.md ├── cmake/ │ ├── anjay-config.cmake.in │ ├── anjay-version.cmake.in │ ├── requirePython3venv.cmake │ └── toolchain/ │ └── afl-gcc.cmake ├── demo/ │ ├── CMakeLists.txt │ ├── advanced_firmware_update.c │ ├── advanced_firmware_update.h │ ├── advanced_firmware_update_addimg.c │ ├── advanced_firmware_update_app.c │ ├── demo.c │ ├── demo.h │ ├── demo_args.c │ ├── demo_args.h │ ├── demo_cmds.c │ ├── demo_cmds.h │ ├── demo_time.c │ ├── demo_utils.c │ ├── demo_utils.h │ ├── firmware_update.c │ ├── firmware_update.h │ ├── lwm2m_gateway.c │ ├── lwm2m_gateway.h │ ├── net_traffic_interceptor.c │ ├── net_traffic_interceptor.h │ ├── objects/ │ │ ├── apn_conn_profile.c │ │ ├── binary_app_data_container.c │ │ ├── cell_connectivity.c │ │ ├── conn_monitoring.c │ │ ├── conn_statistics.c │ │ ├── device.c │ │ ├── download_diagnostics.c │ │ ├── event_log.c │ │ ├── ext_dev_info.c │ │ ├── gateway_end_devices/ │ │ │ ├── binary_app_data_container.c │ │ │ ├── binary_app_data_container.h │ │ │ ├── push_button_object.c │ │ │ ├── push_button_object.h │ │ │ ├── temperature_object.c │ │ │ └── temperature_object.h │ │ ├── geopoints.c │ │ ├── ip_ping.c │ │ ├── ipso_objects.c │ │ ├── location.c │ │ ├── portfolio.c │ │ └── test.c │ ├── objects.h │ ├── software_mgmt.c │ └── software_mgmt.h ├── deps/ │ └── avs_coap/ │ ├── .gitignore │ ├── CMakeLists.txt │ ├── Doxyfile.in │ ├── LICENSE │ ├── NOTICE │ ├── README.md │ ├── cmake/ │ │ ├── AddHeaderSelfSufficiencyTests.cmake │ │ ├── avs_coap-config.cmake.in │ │ └── fill-placeholders.cmake │ ├── devconfig │ ├── doc/ │ │ ├── CMakeLists.txt │ │ └── sphinx/ │ │ ├── make.bat │ │ └── source/ │ │ ├── ErrorHandling.rst │ │ ├── Fuzzing.rst │ │ ├── Overview.rst │ │ ├── _static/ │ │ │ └── theme_overrides.css │ │ ├── conf.py.in │ │ └── index.rst │ ├── examples/ │ │ ├── CMakeLists.txt │ │ └── async-client/ │ │ ├── CMakeLists.txt │ │ └── src/ │ │ └── main.c │ ├── include_public/ │ │ └── avsystem/ │ │ └── coap/ │ │ ├── async.h │ │ ├── async_client.h │ │ ├── async_exchange.h │ │ ├── async_server.h │ │ ├── avs_coap_config.h.in │ │ ├── coap.h │ │ ├── code.h │ │ ├── ctx.h │ │ ├── observe.h │ │ ├── option.h │ │ ├── streaming.h │ │ ├── tcp.h │ │ ├── token.h │ │ ├── udp.h │ │ └── writer.h │ ├── requirements.txt │ ├── src/ │ │ ├── async/ │ │ │ ├── avs_coap_async_client.c │ │ │ ├── avs_coap_async_client.h │ │ │ ├── avs_coap_async_server.c │ │ │ ├── avs_coap_async_server.h │ │ │ ├── avs_coap_exchange.c │ │ │ └── avs_coap_exchange.h │ │ ├── avs_coap_code_utils.c │ │ ├── avs_coap_code_utils.h │ │ ├── avs_coap_common_utils.c │ │ ├── avs_coap_common_utils.h │ │ ├── avs_coap_ctx.c │ │ ├── avs_coap_ctx.h │ │ ├── avs_coap_ctx_vtable.h │ │ ├── avs_coap_init.h │ │ ├── avs_coap_observe.c │ │ ├── avs_coap_observe.h │ │ ├── avs_coap_parse_utils.h │ │ ├── avs_coap_poison.h │ │ ├── avs_coap_x_log_config.h │ │ ├── options/ │ │ │ ├── avs_coap_iterator.c │ │ │ ├── avs_coap_iterator.h │ │ │ ├── avs_coap_option.c │ │ │ ├── avs_coap_option.h │ │ │ ├── avs_coap_options.c │ │ │ └── avs_coap_options.h │ │ ├── streaming/ │ │ │ ├── avs_coap_streaming_client.c │ │ │ ├── avs_coap_streaming_client.h │ │ │ ├── avs_coap_streaming_server.c │ │ │ └── avs_coap_streaming_server.h │ │ ├── tcp/ │ │ │ ├── avs_coap_tcp_ctx.c │ │ │ ├── avs_coap_tcp_ctx.h │ │ │ ├── avs_coap_tcp_header.c │ │ │ ├── avs_coap_tcp_header.h │ │ │ ├── avs_coap_tcp_msg.c │ │ │ ├── avs_coap_tcp_msg.h │ │ │ ├── avs_coap_tcp_pending_requests.c │ │ │ ├── avs_coap_tcp_pending_requests.h │ │ │ ├── avs_coap_tcp_signaling.c │ │ │ ├── avs_coap_tcp_signaling.h │ │ │ ├── avs_coap_tcp_utils.c │ │ │ └── avs_coap_tcp_utils.h │ │ └── udp/ │ │ ├── avs_coap_udp_ctx.c │ │ ├── avs_coap_udp_ctx.h │ │ ├── avs_coap_udp_header.h │ │ ├── avs_coap_udp_msg.c │ │ ├── avs_coap_udp_msg.h │ │ ├── avs_coap_udp_msg_cache.c │ │ ├── avs_coap_udp_msg_cache.h │ │ ├── avs_coap_udp_tx_params.c │ │ └── avs_coap_udp_tx_params.h │ ├── tests/ │ │ ├── fuzz/ │ │ │ ├── CMakeLists.txt │ │ │ ├── coap_async_api_tcp.c │ │ │ ├── coap_async_api_udp.c │ │ │ ├── coap_parse.c │ │ │ └── input/ │ │ │ ├── coap_async_api_tcp/ │ │ │ │ └── recv_get_send_content │ │ │ ├── coap_async_api_tcp.hex/ │ │ │ │ └── recv_get_send_content │ │ │ ├── coap_async_api_udp/ │ │ │ │ ├── recv_get_send_content │ │ │ │ ├── send_block_put_recv_changed │ │ │ │ ├── send_get_recv_block_content │ │ │ │ └── send_get_recv_content │ │ │ ├── coap_async_api_udp.hex/ │ │ │ │ ├── recv_get_send_content │ │ │ │ ├── send_block_put_recv_changed │ │ │ │ ├── send_get_recv_block_content │ │ │ │ └── send_get_recv_content │ │ │ ├── coap_parse/ │ │ │ │ └── empty │ │ │ └── hex-to-fuzz-input.sh │ │ ├── mock_clock.c │ │ ├── mock_clock.h │ │ ├── options/ │ │ │ ├── option.c │ │ │ └── options.c │ │ ├── socket.c │ │ ├── socket.h │ │ ├── tcp/ │ │ │ ├── async_client.c │ │ │ ├── async_server.c │ │ │ ├── csm.c │ │ │ ├── ctx.c │ │ │ ├── env.h │ │ │ ├── header.c │ │ │ ├── helper_functions.h │ │ │ ├── payload_escaper.c │ │ │ ├── requesting.c │ │ │ ├── responding.c │ │ │ ├── setsock.c │ │ │ └── utils.h │ │ ├── udp/ │ │ │ ├── async_client.c │ │ │ ├── async_client_with_big_data.c │ │ │ ├── async_observe.c │ │ │ ├── async_server.c │ │ │ ├── big_data.h │ │ │ ├── fuzzer_cases.c │ │ │ ├── msg.c │ │ │ ├── msg_cache.c │ │ │ ├── setsock.c │ │ │ ├── streaming_client.c │ │ │ ├── streaming_observe.c │ │ │ ├── streaming_server.c │ │ │ ├── tx_params_mock.h │ │ │ ├── udp_tx_params.c │ │ │ └── utils.h │ │ ├── utils.c │ │ └── utils.h │ └── tools/ │ ├── conditional_headers_whitelist.json │ └── coverage ├── devconfig ├── doc/ │ ├── CMakeLists.txt │ └── sphinx/ │ ├── extensions/ │ │ ├── builders/ │ │ │ ├── __init__.py │ │ │ ├── dummy.py │ │ │ ├── snippet_source_linter.py │ │ │ └── snippet_source_list_references.py │ │ ├── file_dirtiness_checker.py │ │ ├── small_literal.py │ │ └── snippet_source.py │ ├── snippet_sources.md5 │ ├── source/ │ │ ├── APIReference.rst │ │ ├── AdvancedTopics/ │ │ │ ├── AT-AccessControl.rst │ │ │ ├── AT-AttributeStorage.rst │ │ │ ├── AT-Bootstrap.rst │ │ │ ├── AT-CertificateUsage.rst │ │ │ ├── AT-Certificates.rst │ │ │ ├── AT-CustomEventLoop.rst │ │ │ ├── AT-CustomObjects/ │ │ │ │ ├── AT_CO1_SingleInstanceReadOnly.rst │ │ │ │ ├── AT_CO2_SingleInstanceExecutableAndReadOnly.rst │ │ │ │ ├── AT_CO3_MultiInstanceReadOnlyFixed.rst │ │ │ │ ├── AT_CO4_FixedInstanceWritable.rst │ │ │ │ ├── AT_CO5_MultiInstanceDynamic.rst │ │ │ │ ├── AT_CO6_MultipleResourceInstances.rst │ │ │ │ ├── AT_CO7_BootstrapAwareness.rst │ │ │ │ ├── AT_CO_BootstrapAwareness.rst │ │ │ │ ├── AT_CO_FixedInstanceWritable.rst │ │ │ │ ├── AT_CO_MultiInstanceDynamic.rst │ │ │ │ ├── AT_CO_MultiInstanceReadOnlyFixed.rst │ │ │ │ ├── AT_CO_MultipleResourceInstances.rst │ │ │ │ ├── AT_CO_SingleInstanceExecutableAndReadOnly.rst │ │ │ │ ├── AT_CO_SingleInstanceReadOnly.rst │ │ │ │ └── Anjay_codegen_note.rst │ │ │ ├── AT-CustomObjects.rst │ │ │ ├── AT-EventLoopNotes.rst │ │ │ ├── AT-IpsoObjects.rst │ │ │ ├── AT-NetworkErrorHandling.rst │ │ │ ├── AT-OtherFeatures.rst │ │ │ ├── AT-Persistence.rst │ │ │ └── AT-RetransmissionsTimeoutsCaching.rst │ │ ├── AdvancedTopics.rst │ │ ├── BasicClient/ │ │ │ ├── BC-Initialization.rst │ │ │ ├── BC-MandatoryObjects.rst │ │ │ ├── BC-Notifications.rst │ │ │ ├── BC-ObjectImplementation.rst │ │ │ ├── BC-Security.rst │ │ │ ├── BC-Send.rst │ │ │ └── BC-ThreadSafety.rst │ │ ├── BasicClient.rst │ │ ├── CommercialFeatures/ │ │ │ ├── CF-CorePersistence.rst │ │ │ ├── CF-CustomHardwareSupport.rst │ │ │ ├── CF-EST.rst │ │ │ ├── CF-FSDM.rst │ │ │ ├── CF-HSM.rst │ │ │ ├── CF-IoTSAFE.rst │ │ │ ├── CF-NIDD.rst │ │ │ ├── CF-OSCORE.rst │ │ │ ├── CF-SMSBinding.rst │ │ │ └── CF-SmartCardBootstrap.rst │ │ ├── CommercialFeatures.rst │ │ ├── Compiling_client_applications.rst │ │ ├── FirmwareUpdateTutorial/ │ │ │ ├── FU-AdvancedFirmwareUpdate/ │ │ │ │ ├── FU-AFU-BasicImplementation.rst │ │ │ │ ├── FU-AFU-Examples.rst │ │ │ │ ├── FU-AFU-ResourceDefinitions.rst │ │ │ │ ├── FU-AFU-StateDiagram.rst │ │ │ │ └── _files/ │ │ │ │ └── 33629.xml │ │ │ ├── FU-AdvancedFirmwareUpdate.rst │ │ │ ├── FU-BasicImplementation.rst │ │ │ ├── FU-DownloadResumption.rst │ │ │ ├── FU-Introduction.rst │ │ │ ├── FU-ModesAndProtocols.rst │ │ │ ├── FU-PoorConnectivity.rst │ │ │ ├── FU-SecureDownloads.rst │ │ │ ├── FU1.rst │ │ │ ├── FU2.rst │ │ │ ├── FU3.rst │ │ │ ├── FU4.rst │ │ │ ├── FU5.rst │ │ │ └── FU6.rst │ │ ├── FirmwareUpdateTutorial.rst │ │ ├── Introduction.rst │ │ ├── KnownIssues.rst │ │ ├── LwM2M.rst │ │ ├── LwM2MGateway/ │ │ │ ├── LwM2MGatewayAPI.rst │ │ │ ├── LwM2MGatewayIntro.rst │ │ │ ├── LwM2MGatewayNotifications.rst │ │ │ └── LwM2MGatewaySend.rst │ │ ├── LwM2MGateway.rst │ │ ├── Migrating/ │ │ │ ├── MigratingCustomEntropy.rst │ │ │ ├── MigratingFromAnjay214.rst │ │ │ ├── MigratingFromAnjay215.rst │ │ │ ├── MigratingFromAnjay225.rst │ │ │ ├── MigratingFromAnjay24.rst │ │ │ ├── MigratingFromAnjay26.rst │ │ │ ├── MigratingFromAnjay27.rst │ │ │ ├── MigratingFromAnjay28.rst │ │ │ ├── MigratingFromAnjay30.rst │ │ │ ├── MigratingFromAnjay310.rst │ │ │ ├── MigratingFromAnjay312.rst │ │ │ ├── MigratingFromAnjay32.rst │ │ │ ├── MigratingFromAnjay33.rst │ │ │ ├── MigratingFromAnjay34.rst │ │ │ └── MigratingFromAnjay37.rst │ │ ├── Migrating.rst │ │ ├── PortingGuideForNonPOSIXPlatforms/ │ │ │ ├── CustomTLS/ │ │ │ │ ├── CustomTLS-CertificatesAdvanced.rst │ │ │ │ ├── CustomTLS-CertificatesBasic.rst │ │ │ │ ├── CustomTLS-ConfigFeatures.rst │ │ │ │ ├── CustomTLS-Minimal.rst │ │ │ │ ├── CustomTLS-Resumption.rst │ │ │ │ ├── CustomTLS-Stub.rst │ │ │ │ └── CustomTLS-TCPSupport.rst │ │ │ ├── CustomTLS.rst │ │ │ ├── NetworkingAPI/ │ │ │ │ ├── NetworkingAPI-Bind.rst │ │ │ │ ├── NetworkingAPI-EventLoopSupport.rst │ │ │ │ ├── NetworkingAPI-IpStickiness.rst │ │ │ │ ├── NetworkingAPI-Minimal.rst │ │ │ │ ├── NetworkingAPI-OtherFeatures.rst │ │ │ │ ├── NetworkingAPI-RemoteHostPort.rst │ │ │ │ ├── NetworkingAPI-ShutdownRemoteHostname.rst │ │ │ │ ├── NetworkingAPI-Stats.rst │ │ │ │ ├── NetworkingAPI1.rst │ │ │ │ ├── NetworkingAPI2.rst │ │ │ │ ├── NetworkingAPI3.rst │ │ │ │ ├── NetworkingAPI4.rst │ │ │ │ ├── NetworkingAPI5.rst │ │ │ │ ├── NetworkingAPI6.rst │ │ │ │ └── NetworkingAPI7.rst │ │ │ ├── NetworkingAPI.rst │ │ │ ├── ThreadingAPI.rst │ │ │ └── TimeAPI.rst │ │ ├── PortingGuideForNonPOSIXPlatforms.rst │ │ ├── Tools/ │ │ │ ├── CliLwM2MServer.rst │ │ │ ├── FactoryProvisioning.rst │ │ │ ├── PackagesGenerator.rst │ │ │ ├── StandaloneObjects.rst │ │ │ ├── StubGenerator.rst │ │ │ └── VirtualEnvironments.rst │ │ ├── Tools.rst │ │ ├── _static/ │ │ │ └── theme_overrides.css │ │ ├── _templates/ │ │ │ ├── layout.html │ │ │ └── searchbox.html │ │ ├── conf.py.in │ │ └── index.rst │ └── source_api/ │ ├── BackToDocumentation.rst │ ├── _static/ │ │ └── theme_overrides.css │ ├── _templates/ │ │ ├── layout.html │ │ └── searchbox.html │ ├── conf.py.in │ └── index.rst ├── example_configs/ │ ├── README.md │ ├── embedded_lwm2m10/ │ │ ├── anjay/ │ │ │ └── anjay_config.h │ │ └── avsystem/ │ │ ├── coap/ │ │ │ └── avs_coap_config.h │ │ └── commons/ │ │ ├── avs_commons_config.h │ │ └── lwip-posix-compat.h │ ├── embedded_lwm2m11/ │ │ ├── anjay/ │ │ │ └── anjay_config.h │ │ └── avsystem/ │ │ ├── coap/ │ │ │ └── avs_coap_config.h │ │ └── commons/ │ │ ├── avs_commons_config.h │ │ └── lwip-posix-compat.h │ ├── embedded_lwm2m12/ │ │ ├── anjay/ │ │ │ └── anjay_config.h │ │ └── avsystem/ │ │ ├── coap/ │ │ │ └── avs_coap_config.h │ │ └── commons/ │ │ ├── avs_commons_config.h │ │ └── lwip-posix-compat.h │ ├── linux_lwm2m10/ │ │ ├── anjay/ │ │ │ └── anjay_config.h │ │ └── avsystem/ │ │ ├── coap/ │ │ │ └── avs_coap_config.h │ │ └── commons/ │ │ └── avs_commons_config.h │ ├── linux_lwm2m11/ │ │ ├── anjay/ │ │ │ └── anjay_config.h │ │ └── avsystem/ │ │ ├── coap/ │ │ │ └── avs_coap_config.h │ │ └── commons/ │ │ └── avs_commons_config.h │ └── linux_lwm2m12/ │ ├── anjay/ │ │ └── anjay_config.h │ └── avsystem/ │ ├── coap/ │ │ └── avs_coap_config.h │ └── commons/ │ └── avs_commons_config.h ├── examples/ │ ├── CMakeLists.txt │ ├── commercial-features/ │ │ ├── CF-CorePersistence/ │ │ │ ├── CMakeLists.txt │ │ │ └── src/ │ │ │ └── main.c │ │ ├── CF-EST/ │ │ │ ├── CMakeLists.txt │ │ │ └── src/ │ │ │ └── main.c │ │ ├── CF-EST-PKCS11/ │ │ │ ├── CMakeLists.txt │ │ │ └── src/ │ │ │ └── main.c │ │ ├── CF-NIDD/ │ │ │ ├── CMakeLists.txt │ │ │ └── src/ │ │ │ ├── main.c │ │ │ ├── nidd_demo_driver.c │ │ │ └── nidd_demo_driver.h │ │ ├── CF-OSCORE/ │ │ │ ├── CMakeLists.txt │ │ │ └── src/ │ │ │ └── main.c │ │ ├── CF-PKCS11/ │ │ │ ├── CMakeLists.txt │ │ │ └── src/ │ │ │ └── main.c │ │ ├── CF-PSA-PKI/ │ │ │ ├── CMakeLists.txt │ │ │ └── src/ │ │ │ └── main.c │ │ ├── CF-PSA-PSK/ │ │ │ ├── CMakeLists.txt │ │ │ └── src/ │ │ │ └── main.c │ │ ├── CF-PSA-bootstrap/ │ │ │ ├── CMakeLists.txt │ │ │ └── src/ │ │ │ └── main.c │ │ ├── CF-PSA-management/ │ │ │ ├── CMakeLists.txt │ │ │ └── src/ │ │ │ └── main.c │ │ ├── CF-SMS/ │ │ │ ├── CMakeLists.txt │ │ │ └── src/ │ │ │ └── main.c │ │ ├── CF-SMS-PSK/ │ │ │ ├── CMakeLists.txt │ │ │ └── src/ │ │ │ └── main.c │ │ ├── CF-SMS-UDP/ │ │ │ ├── CMakeLists.txt │ │ │ └── src/ │ │ │ └── main.c │ │ ├── CF-SmartCardBootstrap/ │ │ │ ├── CMakeLists.txt │ │ │ └── src/ │ │ │ └── main.c │ │ └── CMakeLists.txt │ ├── custom-network/ │ │ ├── CMakeLists.txt │ │ ├── bind/ │ │ │ ├── CMakeLists.txt │ │ │ └── src/ │ │ │ ├── main.c │ │ │ └── net_impl.c │ │ ├── ip-stickiness/ │ │ │ ├── CMakeLists.txt │ │ │ └── src/ │ │ │ ├── main.c │ │ │ └── net_impl.c │ │ ├── minimal/ │ │ │ ├── CMakeLists.txt │ │ │ └── src/ │ │ │ ├── main.c │ │ │ └── net_impl.c │ │ ├── remote-host-port/ │ │ │ ├── CMakeLists.txt │ │ │ └── src/ │ │ │ ├── main.c │ │ │ └── net_impl.c │ │ ├── shutdown-remote-hostname/ │ │ │ ├── CMakeLists.txt │ │ │ └── src/ │ │ │ ├── main.c │ │ │ └── net_impl.c │ │ └── stats/ │ │ ├── CMakeLists.txt │ │ └── src/ │ │ ├── main.c │ │ └── net_impl.c │ ├── custom-tls/ │ │ ├── CMakeLists.txt │ │ ├── certificates-advanced/ │ │ │ ├── CMakeLists.txt │ │ │ └── src/ │ │ │ ├── main.c │ │ │ ├── net_impl.c │ │ │ └── tls_impl.c │ │ ├── certificates-advanced-fake-dane/ │ │ │ ├── CMakeLists.txt │ │ │ └── src/ │ │ │ ├── main.c │ │ │ ├── net_impl.c │ │ │ └── tls_impl.c │ │ ├── certificates-basic/ │ │ │ ├── CMakeLists.txt │ │ │ └── src/ │ │ │ ├── main.c │ │ │ ├── net_impl.c │ │ │ └── tls_impl.c │ │ ├── config-features/ │ │ │ ├── CMakeLists.txt │ │ │ └── src/ │ │ │ ├── main.c │ │ │ ├── net_impl.c │ │ │ └── tls_impl.c │ │ ├── minimal/ │ │ │ ├── CMakeLists.txt │ │ │ └── src/ │ │ │ ├── main.c │ │ │ ├── net_impl.c │ │ │ └── tls_impl.c │ │ ├── resumption-buffer/ │ │ │ ├── CMakeLists.txt │ │ │ └── src/ │ │ │ ├── main.c │ │ │ ├── net_impl.c │ │ │ └── tls_impl.c │ │ ├── resumption-simple/ │ │ │ ├── CMakeLists.txt │ │ │ └── src/ │ │ │ ├── main.c │ │ │ ├── net_impl.c │ │ │ └── tls_impl.c │ │ ├── stub/ │ │ │ ├── CMakeLists.txt │ │ │ └── src/ │ │ │ ├── main.c │ │ │ ├── net_impl.c │ │ │ └── tls_impl.c │ │ └── tcp-support/ │ │ ├── CMakeLists.txt │ │ └── src/ │ │ ├── firmware_update.c │ │ ├── firmware_update.h │ │ ├── main.c │ │ ├── net_impl.c │ │ ├── time_object.c │ │ ├── time_object.h │ │ └── tls_impl.c │ └── tutorial/ │ ├── AT-AccessControl/ │ │ ├── CMakeLists.txt │ │ └── src/ │ │ ├── main.c │ │ ├── test_object.c │ │ └── test_object.h │ ├── AT-Bootstrap/ │ │ ├── CMakeLists.txt │ │ └── src/ │ │ └── main.c │ ├── AT-Certificates/ │ │ ├── CMakeLists.txt │ │ └── src/ │ │ └── main.c │ ├── AT-CustomEventLoop/ │ │ ├── CMakeLists.txt │ │ └── src/ │ │ └── main.c │ ├── AT-CustomObjects/ │ │ ├── CMakeLists.txt │ │ ├── bootstrap-awareness/ │ │ │ ├── CMakeLists.txt │ │ │ └── src/ │ │ │ └── main.c │ │ ├── multi-instance-dynamic/ │ │ │ ├── CMakeLists.txt │ │ │ └── src/ │ │ │ ├── main.c │ │ │ ├── test_object.c │ │ │ └── test_object.h │ │ ├── multi-instance-resources-dynamic/ │ │ │ ├── CMakeLists.txt │ │ │ └── src/ │ │ │ ├── main.c │ │ │ ├── test_object.c │ │ │ └── test_object.h │ │ ├── read-only/ │ │ │ ├── CMakeLists.txt │ │ │ └── src/ │ │ │ └── main.c │ │ ├── read-only-multiple-fixed/ │ │ │ ├── CMakeLists.txt │ │ │ └── src/ │ │ │ └── main.c │ │ ├── read-only-with-executable/ │ │ │ ├── CMakeLists.txt │ │ │ └── src/ │ │ │ └── main.c │ │ ├── writable-multiple-fixed/ │ │ │ ├── CMakeLists.txt │ │ │ └── src/ │ │ │ └── main.c │ │ └── writable-multiple-fixed-transactional/ │ │ ├── CMakeLists.txt │ │ └── src/ │ │ └── main.c │ ├── AT-Downloader/ │ │ ├── CMakeLists.txt │ │ └── src/ │ │ └── main.c │ ├── AT-IpsoObjects/ │ │ ├── CMakeLists.txt │ │ └── src/ │ │ └── main.c │ ├── AT-Persistence/ │ │ ├── CMakeLists.txt │ │ └── src/ │ │ └── main.c │ ├── BC-Initialization/ │ │ ├── CMakeLists.txt │ │ └── src/ │ │ └── main.c │ ├── BC-MandatoryObjects/ │ │ ├── CMakeLists.txt │ │ └── src/ │ │ └── main.c │ ├── BC-Notifications/ │ │ ├── CMakeLists.txt │ │ └── src/ │ │ ├── main.c │ │ ├── time_object.c │ │ └── time_object.h │ ├── BC-ObjectImplementation/ │ │ ├── CMakeLists.txt │ │ └── src/ │ │ ├── main.c │ │ ├── time_object.c │ │ └── time_object.h │ ├── BC-Security/ │ │ ├── CMakeLists.txt │ │ └── src/ │ │ └── main.c │ ├── BC-Send/ │ │ ├── CMakeLists.txt │ │ └── src/ │ │ ├── main.c │ │ ├── time_object.c │ │ └── time_object.h │ ├── BC-ThreadSafety/ │ │ ├── CMakeLists.txt │ │ └── src/ │ │ ├── main.c │ │ ├── time_object.c │ │ └── time_object.h │ ├── CMakeLists.txt │ ├── LwM2M-Gateway/ │ │ ├── CMakeLists.txt │ │ ├── end_device.py │ │ └── src/ │ │ ├── gateway_server.c │ │ ├── gateway_server.h │ │ ├── main.c │ │ ├── temperature_object.c │ │ └── temperature_object.h │ └── firmware-update/ │ ├── CMakeLists.txt │ ├── advanced-firmware-update/ │ │ ├── CMakeLists.txt │ │ └── src/ │ │ ├── advanced_firmware_update.c │ │ ├── advanced_firmware_update.h │ │ ├── main.c │ │ ├── time_object.c │ │ └── time_object.h │ ├── basic-implementation/ │ │ ├── CMakeLists.txt │ │ └── src/ │ │ ├── firmware_update.c │ │ ├── firmware_update.h │ │ ├── main.c │ │ ├── time_object.c │ │ └── time_object.h │ ├── download-resumption/ │ │ ├── CMakeLists.txt │ │ └── src/ │ │ ├── firmware_update.c │ │ ├── firmware_update.h │ │ ├── main.c │ │ ├── time_object.c │ │ └── time_object.h │ └── secure-downloads/ │ ├── CMakeLists.txt │ └── src/ │ ├── firmware_update.c │ ├── firmware_update.h │ ├── main.c │ ├── time_object.c │ └── time_object.h ├── include_public/ │ └── anjay/ │ ├── access_control.h │ ├── advanced_fw_update.h │ ├── anjay.h │ ├── anjay_config.h.in │ ├── attr_storage.h │ ├── core.h │ ├── dm.h │ ├── download.h │ ├── factory_provisioning.h │ ├── fw_update.h │ ├── io.h │ ├── ipso_objects.h │ ├── ipso_objects_v2.h │ ├── lwm2m_gateway.h │ ├── lwm2m_send.h │ ├── security.h │ ├── server.h │ ├── stats.h │ └── sw_mgmt.h ├── ltoconfig ├── requirements.txt ├── src/ │ ├── anjay_config_log.h │ ├── anjay_init.h │ ├── anjay_modules/ │ │ ├── anjay_access_utils.h │ │ ├── anjay_attr_storage_utils.h │ │ ├── anjay_bootstrap.h │ │ ├── anjay_dm_utils.h │ │ ├── anjay_io_utils.h │ │ ├── anjay_lwm2m_gateway.h │ │ ├── anjay_notify.h │ │ ├── anjay_raw_buffer.h │ │ ├── anjay_sched.h │ │ ├── anjay_servers.h │ │ ├── anjay_time_defs.h │ │ ├── anjay_utils_core.h │ │ └── dm/ │ │ ├── anjay_execute.h │ │ └── anjay_modules.h │ ├── core/ │ │ ├── anjay_access_utils.c │ │ ├── anjay_access_utils_private.h │ │ ├── anjay_bootstrap_core.c │ │ ├── anjay_bootstrap_core.h │ │ ├── anjay_core.c │ │ ├── anjay_core.h │ │ ├── anjay_dm_core.c │ │ ├── anjay_dm_core.h │ │ ├── anjay_downloader.h │ │ ├── anjay_event_loop.c │ │ ├── anjay_io_core.c │ │ ├── anjay_io_core.h │ │ ├── anjay_io_utils.c │ │ ├── anjay_lwm2m_send.c │ │ ├── anjay_lwm2m_send.h │ │ ├── anjay_notify.c │ │ ├── anjay_raw_buffer.c │ │ ├── anjay_servers_inactive.h │ │ ├── anjay_servers_private.h │ │ ├── anjay_servers_reload.h │ │ ├── anjay_servers_utils.c │ │ ├── anjay_servers_utils.h │ │ ├── anjay_stats.c │ │ ├── anjay_stats.h │ │ ├── anjay_utils_core.c │ │ ├── anjay_utils_private.h │ │ ├── attr_storage/ │ │ │ ├── anjay_attr_storage.c │ │ │ ├── anjay_attr_storage.h │ │ │ ├── anjay_attr_storage_persistence.c │ │ │ └── anjay_attr_storage_private.h │ │ ├── coap/ │ │ │ ├── anjay_content_format.h │ │ │ └── anjay_msg_details.h │ │ ├── dm/ │ │ │ ├── anjay_discover.c │ │ │ ├── anjay_discover.h │ │ │ ├── anjay_dm_attributes.c │ │ │ ├── anjay_dm_attributes.h │ │ │ ├── anjay_dm_create.c │ │ │ ├── anjay_dm_create.h │ │ │ ├── anjay_dm_execute.c │ │ │ ├── anjay_dm_execute.h │ │ │ ├── anjay_dm_handlers.c │ │ │ ├── anjay_dm_read.c │ │ │ ├── anjay_dm_read.h │ │ │ ├── anjay_dm_write.c │ │ │ ├── anjay_dm_write.h │ │ │ ├── anjay_dm_write_attrs.c │ │ │ ├── anjay_dm_write_attrs.h │ │ │ ├── anjay_modules.c │ │ │ ├── anjay_query.c │ │ │ └── anjay_query.h │ │ ├── downloader/ │ │ │ ├── anjay_coap.c │ │ │ ├── anjay_downloader.c │ │ │ ├── anjay_http.c │ │ │ └── anjay_private.h │ │ ├── io/ │ │ │ ├── anjay_base64_out.c │ │ │ ├── anjay_base64_out.h │ │ │ ├── anjay_batch_builder.c │ │ │ ├── anjay_batch_builder.h │ │ │ ├── anjay_cbor_in.c │ │ │ ├── anjay_cbor_out.c │ │ │ ├── anjay_common.c │ │ │ ├── anjay_common.h │ │ │ ├── anjay_corelnk.c │ │ │ ├── anjay_corelnk.h │ │ │ ├── anjay_dynamic.c │ │ │ ├── anjay_input_buf.c │ │ │ ├── anjay_json_encoder.c │ │ │ ├── anjay_json_like_decoder.c │ │ │ ├── anjay_json_like_decoder.h │ │ │ ├── anjay_json_like_decoder_vtable.h │ │ │ ├── anjay_lwm2m_cbor_in.c │ │ │ ├── anjay_lwm2m_cbor_out.c │ │ │ ├── anjay_opaque.c │ │ │ ├── anjay_output_buf.c │ │ │ ├── anjay_senml_in.c │ │ │ ├── anjay_senml_like_encoder.c │ │ │ ├── anjay_senml_like_encoder.h │ │ │ ├── anjay_senml_like_encoder_vtable.h │ │ │ ├── anjay_senml_like_out.c │ │ │ ├── anjay_text.c │ │ │ ├── anjay_tlv.h │ │ │ ├── anjay_tlv_in.c │ │ │ ├── anjay_tlv_out.c │ │ │ ├── anjay_vtable.h │ │ │ ├── cbor/ │ │ │ │ ├── anjay_cbor_encoder_ll.c │ │ │ │ ├── anjay_cbor_encoder_ll.h │ │ │ │ ├── anjay_cbor_types.h │ │ │ │ ├── anjay_json_like_cbor_decoder.c │ │ │ │ ├── anjay_json_like_cbor_decoder.h │ │ │ │ └── anjay_senml_cbor_encoder.c │ │ │ └── json/ │ │ │ ├── anjay_json_decoder.c │ │ │ └── anjay_json_decoder.h │ │ ├── observe/ │ │ │ ├── anjay_observe_core.c │ │ │ ├── anjay_observe_core.h │ │ │ ├── anjay_observe_internal.h │ │ │ └── anjay_observe_planning.c │ │ └── servers/ │ │ ├── anjay_activate.c │ │ ├── anjay_activate.h │ │ ├── anjay_connection_ip.c │ │ ├── anjay_connections.c │ │ ├── anjay_connections.h │ │ ├── anjay_connections_internal.h │ │ ├── anjay_register.c │ │ ├── anjay_register.h │ │ ├── anjay_reload.c │ │ ├── anjay_security.h │ │ ├── anjay_security_generic.c │ │ ├── anjay_server_connections.c │ │ ├── anjay_server_connections.h │ │ ├── anjay_servers_internal.c │ │ └── anjay_servers_internal.h │ └── modules/ │ ├── access_control/ │ │ ├── anjay_access_control_handlers.c │ │ ├── anjay_access_control_persistence.c │ │ ├── anjay_mod_access_control.c │ │ └── anjay_mod_access_control.h │ ├── advanced_fw_update/ │ │ └── anjay_advanced_fw_update.c │ ├── factory_provisioning/ │ │ └── anjay_provisioning.c │ ├── fw_update/ │ │ └── anjay_fw_update.c │ ├── ipso/ │ │ ├── anjay_ipso_3d_sensor.c │ │ ├── anjay_ipso_basic_sensor.c │ │ └── anjay_ipso_button.c │ ├── ipso_v2/ │ │ ├── anjay_ipso_v2_3d_sensor.c │ │ └── anjay_ipso_v2_basic_sensor.c │ ├── lwm2m_gateway/ │ │ └── anjay_lwm2m_gateway.c │ ├── security/ │ │ ├── anjay_mod_security.c │ │ ├── anjay_mod_security.h │ │ ├── anjay_security_persistence.c │ │ ├── anjay_security_transaction.c │ │ ├── anjay_security_transaction.h │ │ ├── anjay_security_utils.c │ │ └── anjay_security_utils.h │ ├── server/ │ │ ├── anjay_mod_server.c │ │ ├── anjay_mod_server.h │ │ ├── anjay_server_persistence.c │ │ ├── anjay_server_transaction.c │ │ ├── anjay_server_transaction.h │ │ ├── anjay_server_utils.c │ │ └── anjay_server_utils.h │ └── sw_mgmt/ │ └── anjay_sw_mgmt.c ├── standalone/ │ ├── security/ │ │ ├── standalone_mod_security.c │ │ ├── standalone_mod_security.h │ │ ├── standalone_security.h │ │ ├── standalone_security_persistence.c │ │ ├── standalone_security_transaction.c │ │ ├── standalone_security_transaction.h │ │ ├── standalone_security_utils.c │ │ └── standalone_security_utils.h │ └── server/ │ ├── standalone_mod_server.c │ ├── standalone_mod_server.h │ ├── standalone_server.h │ ├── standalone_server_persistence.c │ ├── standalone_server_transaction.c │ ├── standalone_server_transaction.h │ ├── standalone_server_utils.c │ └── standalone_server_utils.h ├── tests/ │ ├── codegen/ │ │ ├── CMakeLists.txt │ │ ├── check_with_object_registry.sh │ │ └── input/ │ │ ├── execute.xml │ │ ├── multiple-object.xml │ │ ├── read.xml │ │ ├── sanitization.xml │ │ └── write.xml │ ├── core/ │ │ ├── access_utils.c │ │ ├── anjay.c │ │ ├── attr_storage/ │ │ │ ├── attr_storage.c │ │ │ ├── attr_storage_test.h │ │ │ └── persistence.c │ │ ├── bootstrap.c │ │ ├── bootstrap_mock.h │ │ ├── coap/ │ │ │ ├── utils.c │ │ │ └── utils.h │ │ ├── dm.c │ │ ├── downloader/ │ │ │ └── downloader.c │ │ ├── io/ │ │ │ ├── batch_builder.c │ │ │ ├── bigdata.h │ │ │ ├── cbor/ │ │ │ │ ├── cbor_decoder.c │ │ │ │ └── cbor_encoder.c │ │ │ ├── cbor_in.c │ │ │ ├── corelnk.c │ │ │ ├── dm_batch.c │ │ │ ├── dynamic.c │ │ │ ├── json/ │ │ │ │ └── json_decoder.c │ │ │ ├── json_in.c │ │ │ ├── lwm2m_cbor_in.c │ │ │ ├── lwm2m_cbor_out.c │ │ │ ├── raw_cbor_in.c │ │ │ ├── senml_cbor_encoder.c │ │ │ ├── senml_cbor_out.c │ │ │ ├── senml_in_common.h │ │ │ ├── senml_json_encoder.c │ │ │ ├── text.c │ │ │ ├── tlv_in.c │ │ │ └── tlv_out.c │ │ ├── io.c │ │ ├── lwm2m_send.c │ │ ├── observe/ │ │ │ ├── observe.c │ │ │ └── observe_mock.h │ │ ├── socket_mock.c │ │ ├── socket_mock.h │ │ └── utils.c │ ├── doc/ │ │ └── runtest.py │ ├── fuzz/ │ │ ├── CMakeLists.txt │ │ ├── cbor/ │ │ │ └── decoder.c │ │ └── test_cases/ │ │ ├── cbor_decoder/ │ │ │ ├── boring │ │ │ └── invalid │ │ ├── coap_stream/ │ │ │ └── valid_coap_msg │ │ ├── coap_stream_request/ │ │ │ └── basic │ │ └── coap_stream_response/ │ │ └── basic │ ├── integration/ │ │ ├── CMakeLists.txt │ │ ├── framework/ │ │ │ ├── framework/ │ │ │ │ ├── __init__.py │ │ │ │ ├── asserts.py │ │ │ │ ├── create_package.py │ │ │ │ ├── create_xlsx_test_report.py │ │ │ │ ├── lwm2m_test.py │ │ │ │ ├── pretty_test_runner.py │ │ │ │ ├── serialize_senml_cbor.py │ │ │ │ ├── test_suite.py │ │ │ │ └── test_utils.py │ │ │ └── pyproject.toml │ │ ├── run_tests.sh.in │ │ ├── runtest.py │ │ └── suites/ │ │ ├── __init__.py │ │ ├── default/ │ │ │ ├── __init__.py │ │ │ ├── access_control.py │ │ │ ├── advanced_firmware_update.py │ │ │ ├── async.py │ │ │ ├── block_response.py │ │ │ ├── block_write.py │ │ │ ├── bootstrap_client.py │ │ │ ├── bootstrap_discover.py │ │ │ ├── bootstrap_factory.py │ │ │ ├── bootstrap_holdoff.py │ │ │ ├── bootstrap_pack.py │ │ │ ├── bootstrap_server.py │ │ │ ├── bootstrap_sync.py │ │ │ ├── bootstrap_transaction.py │ │ │ ├── buffer_sizes.py │ │ │ ├── cbor_encoding.py │ │ │ ├── cbor_requests.py │ │ │ ├── client_block_request.py │ │ │ ├── coap.py │ │ │ ├── con_attr.py │ │ │ ├── conn_status_api.py │ │ │ ├── connection_id.py │ │ │ ├── crash.py │ │ │ ├── create.py │ │ │ ├── critical_opts.py │ │ │ ├── disable_server.py │ │ │ ├── discover_depth.py │ │ │ ├── downloader.py │ │ │ ├── factory_provisioning.py │ │ │ ├── firmware_update.py │ │ │ ├── firmware_update11.py │ │ │ ├── forbidden_on_register.py │ │ │ ├── formats.py │ │ │ ├── hierarchical_cbor_encoding.py │ │ │ ├── ipso_objects.py │ │ │ ├── json_encoding.py │ │ │ ├── json_requests.py │ │ │ ├── lwm2m_gateway.py │ │ │ ├── lwm2m_gateway_observe_attributes.py │ │ │ ├── modify_servers.py │ │ │ ├── msg_cache.py │ │ │ ├── notification_timestamps.py │ │ │ ├── notifications.py │ │ │ ├── observe_attributes.py │ │ │ ├── observe_with_attributes.py │ │ │ ├── offline.py │ │ │ ├── plaintext_base64.py │ │ │ ├── port_rebind.py │ │ │ ├── queue_mode.py │ │ │ ├── read_composite.py │ │ │ ├── reboot.py │ │ │ ├── register.py │ │ │ ├── request_too_large.py │ │ │ ├── retransmissions.py │ │ │ ├── security.py │ │ │ ├── send.py │ │ │ ├── senml_json_encoding.py │ │ │ ├── separate_response.py │ │ │ ├── software_mgmt.py │ │ │ ├── ssl_error_api.py │ │ │ ├── stats.py │ │ │ ├── test_object.py │ │ │ ├── time_api.py │ │ │ ├── unregister.py │ │ │ ├── update.py │ │ │ ├── uri_change_reregister.py │ │ │ └── write_composite.py │ │ ├── sensitive/ │ │ │ ├── __init__.py │ │ │ ├── advanced_firmware_update.py │ │ │ ├── bootstrap_client.py │ │ │ ├── firmware_update.py │ │ │ └── update.py │ │ └── testfest/ │ │ ├── __init__.py │ │ ├── bootstrap.py │ │ ├── dm/ │ │ │ ├── __init__.py │ │ │ ├── advanced_firmware_update.py │ │ │ ├── connectivity_management.py │ │ │ ├── connectivity_monitoring.py │ │ │ ├── connectivity_statistics.py │ │ │ ├── device.py │ │ │ ├── firmware_update.py │ │ │ ├── location.py │ │ │ ├── portfolio.py │ │ │ └── utils.py │ │ ├── management.py │ │ ├── multi_servers.py │ │ ├── register.py │ │ ├── reporting.py │ │ └── security.py │ ├── modules/ │ │ ├── access_control/ │ │ │ ├── access_control.c │ │ │ └── persistence.c │ │ ├── factory_provisioning/ │ │ │ └── provisioning.c │ │ ├── lwm2m_gateway/ │ │ │ └── lwm2m_gateway.c │ │ ├── security/ │ │ │ ├── api.c │ │ │ └── persistence.c │ │ └── server/ │ │ ├── api.c │ │ └── persistence.c │ └── utils/ │ ├── coap/ │ │ ├── socket.c │ │ └── socket.h │ ├── dm.c │ ├── dm.h │ ├── mock_clock.c │ ├── mock_clock.h │ ├── mock_dm.c │ ├── mock_dm.h │ └── utils.h ├── tools/ │ ├── analyze │ ├── anjay_codegen.py │ ├── anjay_config_log_tool.py │ ├── build_doxygen_docs.py │ ├── build_sphinx_docs.py │ ├── ci/ │ │ ├── build-docker-images.sh │ │ ├── rockylinux-9/ │ │ │ └── Dockerfile │ │ ├── ubuntu-22.04/ │ │ │ └── Dockerfile │ │ └── ubuntu-24.04/ │ │ └── Dockerfile │ ├── ci-psa/ │ │ ├── Dockerfile │ │ └── README.md │ ├── conditional_headers_whitelist.json │ ├── coverage │ ├── find_unused_code.py │ ├── generate-certs.sh │ ├── generate_doxygen_config.py │ ├── lwm2m_object_registry.py │ ├── markdown-toc.py │ ├── provisioning-tool/ │ │ ├── configs/ │ │ │ ├── cert_info.json │ │ │ ├── endpoint_cfg │ │ │ └── lwm2m_server.json │ │ ├── factory_prov/ │ │ │ ├── __init__.py │ │ │ ├── cert_gen.py │ │ │ └── factory_prov.py │ │ └── ptool.py │ ├── symlink-check.sh │ ├── test-framework-tools/ │ │ ├── .gitignore │ │ ├── nsh-lwm2m/ │ │ │ ├── cbor_shell.py │ │ │ ├── nsh_lwm2m.py │ │ │ └── tlv_shell.py │ │ ├── pymbedtls/ │ │ │ ├── CMakeLists.txt │ │ │ ├── cmake/ │ │ │ │ ├── FindMbedTLS.cmake │ │ │ │ └── QueryPythonForPybind11.cmake │ │ │ ├── pymbedtls/ │ │ │ │ └── __init__.py │ │ │ ├── pyproject.toml │ │ │ └── src/ │ │ │ ├── common.cpp │ │ │ ├── common.hpp │ │ │ ├── context.cpp │ │ │ ├── context.hpp │ │ │ ├── pybind11_interop.hpp │ │ │ ├── pymbedtls.cpp │ │ │ ├── security.cpp │ │ │ ├── security.hpp │ │ │ ├── socket.cpp │ │ │ └── socket.hpp │ │ └── tools/ │ │ ├── framework_tools/ │ │ │ ├── __init__.py │ │ │ ├── coap_file_server.py │ │ │ └── lwm2m/ │ │ │ ├── __init__.py │ │ │ ├── coap/ │ │ │ │ ├── __init__.py │ │ │ │ ├── code.py │ │ │ │ ├── content_format.py │ │ │ │ ├── option.py │ │ │ │ ├── packet.py │ │ │ │ ├── server.py │ │ │ │ ├── transport.py │ │ │ │ ├── type.py │ │ │ │ └── utils.py │ │ │ ├── messages.py │ │ │ ├── objlink.py │ │ │ ├── path.py │ │ │ ├── senml_cbor.py │ │ │ ├── server.py │ │ │ └── tlv.py │ │ └── pyproject.toml │ ├── test_duplicates.py │ ├── test_ghactions.py │ └── utils.sh └── valgrind_test.supp