From f50e416e49a9f390408268a5c173b4e99ec81c0f Mon Sep 17 00:00:00 2001 From: Christian Hesse Date: Fri, 20 Mar 2020 08:44:24 +0100 Subject: global-functions: introduce $MkDir This is a dirty hack... RouterOS does not support creating directories, so we mis-use http server and fetch tool. --- global-functions | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/global-functions b/global-functions index eda9ab6..3187036 100644 --- a/global-functions +++ b/global-functions @@ -27,6 +27,7 @@ :global GetRandom; :global LogPrintExit; :global MailServerIsUp; +:global MkDir; :global ParseKeyValueStore; :global RandomDelay; :global ScriptFromTerminal; @@ -315,6 +316,23 @@ :return false; } +# create directory +:set MkDir do={ + :local Dir [ :tostr $1 ]; + + :global WaitForFile; + + :if ([ / file print count-only where name=$Dir type="directory" ] = 0) do={ + :local WwwVal [ / ip service get www ]; + / ip service set www address=127.0.0.1/32 disabled=no port=80; + / tool fetch http://127.0.0.1/ dst-path=($Dir . "/tmp"); + $WaitForFile ($Dir . "/tmp"); + / file remove ($Dir . "/tmp"); + / ip service set www address=($WwwVal->"address") \ + disabled=($WwwVal->"disabled") port=($WwwVal->"port"); + } +} + # parse key value store :set ParseKeyValueStore do={ :global CharacterReplace; -- cgit v1.2.3-54-g00ecf