From 1d0967e5d1e7716b1879ee4c768a8da9691b786e Mon Sep 17 00:00:00 2001 From: Elin Olsson Date: Tue, 17 Dec 2024 10:00:52 +0100 Subject: [PATCH] Log unsupported API version when requesting device extensions (#1701) --- lib/nerves_hub/audit_logs/templates.ex | 10 ++++++++++ lib/nerves_hub_web/channels/device_channel.ex | 3 ++- 2 files changed, 12 insertions(+), 1 deletion(-) diff --git a/lib/nerves_hub/audit_logs/templates.ex b/lib/nerves_hub/audit_logs/templates.ex index a89515089..29918e0bb 100644 --- a/lib/nerves_hub/audit_logs/templates.ex +++ b/lib/nerves_hub/audit_logs/templates.ex @@ -1,6 +1,8 @@ defmodule NervesHub.AuditLogs.Templates do alias NervesHub.AuditLogs + require Logger + def audit_resolve_changed_deployment(device, reference_id) do description = if device.deployment_id do @@ -28,4 +30,12 @@ defmodule NervesHub.AuditLogs.Templates do AuditLogs.audit_with_ref!(device, device, description, reference_id) end + + def audit_unsupported_api_version(device) do + description = + "device #{device.identifier} could not get extensions: Unsupported API version." + + AuditLogs.audit!(device, device, description) + Logger.info("[DeviceChannel] #{description}") + end end diff --git a/lib/nerves_hub_web/channels/device_channel.ex b/lib/nerves_hub_web/channels/device_channel.ex index cc5c430b8..162c1a25b 100644 --- a/lib/nerves_hub_web/channels/device_channel.ex +++ b/lib/nerves_hub_web/channels/device_channel.ex @@ -63,7 +63,8 @@ defmodule NervesHubWeb.DeviceChannel do # Earlier versions of nerves_hub_link don't have a fallback for unknown messages, # so check version before requesting extensions if is_safe_to_request_extensions?(socket.assigns.device_api_version), - do: push(socket, "extensions:get", %{}) + do: push(socket, "extensions:get", %{}), + else: Templates.audit_unsupported_api_version(device) {:noreply, socket} end