aboutsummaryrefslogtreecommitdiffstats
path: root/global-functions.rsc
diff options
context:
space:
mode:
Diffstat (limited to 'global-functions.rsc')
-rw-r--r--global-functions.rsc39
1 files changed, 17 insertions, 22 deletions
diff --git a/global-functions.rsc b/global-functions.rsc
index 26472b8..54dcb68 100644
--- a/global-functions.rsc
+++ b/global-functions.rsc
@@ -4,7 +4,7 @@
# Michael Gisbers <michael@gisbers.de>
# https://git.eworm.de/cgit/routeros-scripts/about/COPYING.md
#
-# requires RouterOS, version=7.13
+# requires RouterOS, version=7.14
#
# global functions
# https://git.eworm.de/cgit/routeros-scripts/about/
@@ -313,11 +313,7 @@
# convert line endings, DOS -> UNIX
:set Dos2Unix do={
- :local Input [ :tostr $1 ];
-
- :global CharacterReplace;
-
- :return [ $CharacterReplace $Input ("\r\n") ("\n") ];
+ :return [ :tolf [ :tostr $1 ] ];
}
# download package from upgrade server
@@ -528,7 +524,7 @@
}
:do {
- :if ([ $CertificateAvailable "GTS Root R1" ] = false) do={
+ :if ([ $CertificateAvailable "GTS Root R4" ] = false) do={
$LogPrint warning $0 ("Downloading required certificate failed.");
:error false;
}
@@ -829,7 +825,12 @@
:global LogPrint;
:global WaitForFile;
- :if ([ :len [ /disk/find where slot=tmpfs type=tmpfs ] ] = 1) do={
+ :local TmpFs [ /disk/find where slot=tmpfs type=tmpfs ];
+ :if ([ :len $TmpFs ] = 1) do={
+ :if ([ /disk/get $TmpFs disabled ] = true) do={
+ $LogPrint info $0 ("The tmpfs is disabled, enabling.");
+ /disk/enable $TmpFs;
+ }
:return true;
}
@@ -908,11 +909,7 @@
# print lines with trailing carriage return
:set PrettyPrint do={
- :local Input [ :tostr $1 ];
-
- :global Unix2Dos;
-
- :put [ $Unix2Dos $Input ];
+ :put [ :tocrlf [ :tostr $1 ] ];
}
# strip protocol from from url string
@@ -1003,6 +1000,7 @@
:global IDonate;
:global NoNewsAndChangesNotification;
:global ScriptUpdatesBaseUrl;
+ :global ScriptUpdatesCRLF;
:global ScriptUpdatesUrlSuffix;
:global CertificateAvailable;
@@ -1055,7 +1053,7 @@
:local Result [ /tool/fetch check-certificate=yes-without-crl \
http-header-field=({ [ $FetchUserAgentStr $0 ] }) $Url output=user as-value ];
:if ($Result->"status" = "finished") do={
- :set SourceNew ($Result->"data");
+ :set SourceNew [ :tolf ($Result->"data") ];
}
} on-error={
:if ($ScriptVal->"source" = "#!rsc by RouterOS\n") do={
@@ -1069,13 +1067,15 @@
}
:if ([ :len $SourceNew ] > 0) do={
- :if ($SourceNew != $ScriptVal->"source") do={
+ :local SourceCRLF [ :tocrlf $SourceNew ];
+ :if ($SourceNew != $ScriptVal->"source" && $SourceCRLF != $ScriptVal->"source") do={
:if ([ :pick $SourceNew 0 18 ] = "#!rsc by RouterOS\n") do={
:local Required ([ $ParseKeyValueStore [ $Grep $SourceNew ("\23 requires RouterOS, ") ] ]->"version");
:if ([ $RequiredRouterOS $0 [ $EitherOr $Required "0.0" ] false ] = true) do={
:if ([ $ValidateSyntax $SourceNew ] = true) do={
$LogPrint info $0 ("Updating script: " . $ScriptVal->"name");
- /system/script/set owner=($ScriptVal->"name") source=$SourceNew $Script;
+ /system/script/set owner=($ScriptVal->"name") \
+ source=[ $IfThenElse ($ScriptUpdatesCRLF = true) $SourceCRLF $SourceNew ] $Script;
:if ($ScriptVal->"name" = "global-config") do={
:set ReloadGlobalConfig true;
}
@@ -1433,12 +1433,7 @@
# convert line endings, UNIX -> DOS
:set Unix2Dos do={
- :local Input [ :tostr $1 ];
-
- :global CharacterReplace;
-
- :return [ $CharacterReplace [ $CharacterReplace $Input \
- ("\n") ("\r\n") ] ("\r\r\n") ("\r\n") ];
+ :return [ :tocrlf [ :tostr $1 ] ];
}
# url encoding