Skip to content

Commit

Permalink
global-functions: $MkDir: abuse smb share to create directory
Browse files Browse the repository at this point in the history
The smb feature is provided by system package... So we have it anyway.
It gives some benefits compared to abusing fetch:

* It is faster!
* No need to alter, enable and restore a service! (The share is created disabled.)
* Firewall rules can not break this.
* No temporary file is created.
* Less code!

Let's hope we do not introduce new breakage.

Closes #14
  • Loading branch information
eworm-de committed Jun 21, 2021
1 parent c0b954a commit 7fb4fdf
Showing 1 changed file with 5 additions and 7 deletions.
12 changes: 5 additions & 7 deletions global-functions
Original file line number Diff line number Diff line change
Expand Up @@ -536,6 +536,7 @@
:local Dir [ :tostr $1 ];

:global CleanFilePath;
:global GetRandom20CharHex;
:global WaitForFile;

:set Dir [ $CleanFilePath $Dir ];
Expand All @@ -545,17 +546,14 @@
}

:local Return true;
:local WwwVal [ / ip service get www ];
/ ip service set www address=127.0.0.1/32 disabled=no port=80;
:local Name ($Dir . "-" . [ $GetRandom20CharHex ])
:do {
/ tool fetch http://127.0.0.1/ dst-path=($Dir . "/tmp") as-value;
$WaitForFile ($Dir . "/tmp");
/ file remove ($Dir . "/tmp");
/ ip smb share add disabled=yes directory=$Dir name=$Name;
$WaitForFile $Dir;
} on-error={
:set Return false;
}
/ ip service set www address=($WwwVal->"address") \
disabled=($WwwVal->"disabled") port=($WwwVal->"port");
/ ip smb share remove [ find where name=$Name ];
:return $Return;
}

Expand Down

0 comments on commit 7fb4fdf

Please sign in to comment.