global-functions: $MkDir: drop old code with smb workaround...

... and increase required RouterOS.
This commit is contained in:
Christian Hesse 2023-03-28 15:57:06 +02:00
parent a030e2f946
commit 5db9a71802
2 changed files with 3 additions and 42 deletions

View file

@ -4,7 +4,7 @@
# Michael Gisbers <michael@gisbers.de>
# https://git.eworm.de/cgit/routeros-scripts/about/COPYING.md
#
# requires RouterOS, version=7.7
# requires RouterOS, version=7.9beta4
#
# global functions
# https://git.eworm.de/cgit/routeros-scripts/about/
@ -603,7 +603,6 @@
:global CleanFilePath;
:global GetRandom20CharAlNum;
:global LogPrintExit2;
:global RequiredRouterOS;
:global WaitForFile;
:local MkTmpfs do={
@ -636,7 +635,7 @@
:return true;
}
:if ([ $RequiredRouterOS $0 "7.9beta4" false ] = true) do={
{
:if ([ :pick $Path 0 5 ] = "tmpfs") do={
:if ([ $MkTmpfs ] = false) do={
:return false;
@ -652,44 +651,6 @@
$LogPrintExit2 warning $0 ("Making directory '" . $Path . "' failed!") false;
:return false;
}
} else={
:local Error false;
:local PathNext "";
:foreach Dir in=[ :toarray [ $CharacterReplace $Path "/" "," ] ] do={
:local Continue false;
:set PathNext [ $CleanFilePath ($PathNext . "/" . $Dir) ];
:if ([ :len [ /file/find where name=$PathNext !(name="tmpfs") type="directory" ] ] = 1) do={
:set Continue true;
}
:if ($Continue = false && $PathNext = "tmpfs") do={
:if ([ $MkTmpfs ] = false) do={
:return false;
}
:set Continue true;
}
:if ($Continue = false && [ :len [ /file/find where name=$PathNext ] ] = 1) do={
$LogPrintExit2 warning $0 ("The path '" . $PathNext . "' exists, but is not a directory.") false;
:return false;
}
:if ($Continue = false) do={
:local Name ($PathNext . "-" . [ $GetRandom20CharAlNum 6 ]);
:do {
/ip/smb/share/add disabled=yes directory=$PathNext name=$Name;
$WaitForFile $PathNext;
} on-error={
$LogPrintExit2 warning $0 ("Making directory '" . $PathNext . "' failed!") false;
:set Error true;
}
/ip/smb/share/remove [ find where name=$Name ];
:if ($Error = true) do={
:return false;
}
}
}
}
:return true;
}