backup-email: check configuration size before writing file

This commit is contained in:
Christian Hesse 2023-08-30 09:01:46 +02:00
parent f86cf27aa3
commit 1e247542a5

View file

@ -83,15 +83,16 @@ $WaitFullyConnected;
# global-config-overlay
:if ($BackupSendGlobalConfig = true) do={
:local Config [ /system/script/get global-config-overlay source ];
/file/add name=($FilePath . ".conf") contents=$Config;
$WaitForFile ($FilePath . ".conf");
:local Size [ :len $Config ];
:if ([ /file/get ($FilePath . ".conf") size ] = $Size) do={
:if ($Size <= 4095) {
/file/add name=($FilePath . ".conf") contents=$Config;
$WaitForFile ($FilePath . ".conf");
:set ConfigFile ($FileName . ".conf");
:set Attach ($Attach, ($FilePath . ".conf"));
} else={
$LogPrintExit2 warning $0 ("Creating config file failed. Size should be " . $Size . " bytes, but is not.") false;
$LogPrintExit2 warning $0 ("Creating config file not possible. Limit is 4kB, configuration has " . \
$Size . " bytes.") false;
:set ConfigFile "failed";
:set Failed 1;
}