From 56ae457d777620afce8d92ac61b1701eb3ed9922 Mon Sep 17 00:00:00 2001 From: Christian Hesse Date: Fri, 10 Mar 2023 09:46:16 +0100 Subject: [PATCH] global-functions: $ScriptInstallUpdate: add proper version in user agent This allows me to identify what RouterOS versions are run on devices fetching my scripts, which may helps to decide what incompatible changes to push. --- global-functions.rsc | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/global-functions.rsc b/global-functions.rsc index 642b800..6e3f00a 100644 --- a/global-functions.rsc +++ b/global-functions.rsc @@ -753,6 +753,7 @@ :local ExpectedConfigVersionBefore $ExpectedConfigVersion; :local ReloadGlobalFunctions false; :local ReloadGlobalConfig false; + :local UserAgent ("User-Agent: Mikrotik/" . [ /system/resource/get version ] . " Fetch"); :foreach Script in=[ /system/script/find where source~"^#!rsc by RouterOS\n" ] do={ :local ScriptVal [ /system/script/get $Script ]; @@ -782,7 +783,8 @@ :local Url ($BaseUrl . $ScriptVal->"name" . ".rsc" . $UrlSuffix); $LogPrintExit2 debug $0 ("Fetching script '" . $ScriptVal->"name" . "' from url: " . $Url) false; - :local Result [ /tool/fetch check-certificate=yes-without-crl $Url output=user as-value ]; + :local Result [ /tool/fetch check-certificate=yes-without-crl http-header-field=$UserAgent \ + $Url output=user as-value ]; :if ($Result->"status" = "finished") do={ :set SourceNew ($Result->"data"); } @@ -865,7 +867,8 @@ :do { :local Url ($ScriptUpdatesBaseUrl . "news-and-changes.rsc" . $ScriptUpdatesUrlSuffix); $LogPrintExit2 debug $0 ("Fetching news, changes and migration: " . $Url) false; - :local Result [ /tool/fetch check-certificate=yes-without-crl $Url output=user as-value ]; + :local Result [ /tool/fetch check-certificate=yes-without-crl http-header-field=$UserAgent \ + $Url output=user as-value ]; :if ($Result->"status" = "finished") do={ :set ChangeLogCode ($Result->"data"); }