aboutsummaryrefslogtreecommitdiffstats
path: root/global-functions
AgeCommit message (Collapse)AuthorFilesLines
2020-09-17global-functions: add missing colonGravatar Christian Hesse1-1/+1
2020-09-14global-functions: $FlushTelegramQueue: destroy empty queueGravatar Christian Hesse1-0/+1
2020-09-14global-functions: $FlushTelegramQueue: give hint on queued messageGravatar Christian Hesse1-2/+8
2020-09-14global-functions: queue Telegram notifications on failure and re-sendGravatar Christian Hesse1-3/+45
This introduces function $FlushTelegramQueue, which flushes queue of Telegram notifications. Notifications are appended to the queue if sending failed.
2020-09-01global-functions: $DefaultRouteIsReachable: exclude blackholeGravatar Christian Hesse1-1/+1
2020-08-26[ ... print count-only ...] -> [ :len [ ... find ... ] ]Gravatar Christian Hesse1-12/+12
Using 'print count-only' always prints a number to terminal, even if the value is evaluated in a condition or assigned to a variable. This can be quite annoying. Behavior will not chance (SUP-25503), so replacing the code...
2020-08-21global-functions: $TimeIsSync: return gracefully...Gravatar Christian Hesse1-2/+2
Situation will not improve... But chances are that RTC is available with correct time, for example from host inside CHR vm. So return gracefully.
2020-08-21global-functions: $TimeIsSync: warn on missing time sourceGravatar Christian Hesse1-0/+3
2020-08-21global-functions: $TimeIsSync: return false if cloud enabled but not readyGravatar Christian Hesse1-3/+5
2020-08-21global-functions: $TimeIsSync: return false if ntp client enabled but not syncedGravatar Christian Hesse1-0/+1
2020-08-07notify about support for dhcp server name in fqdnchange-25Gravatar Christian Hesse1-1/+1
2020-07-25global-functions: drop $GetRandomSha256, introduce $GetRandom20CharHexGravatar Christian Hesse1-16/+12
Do do generate certificate, but use scep-server otp.
2020-07-17check-certificates: add symbol in notificationGravatar Christian Hesse1-0/+1
2020-07-17global-functions: $ScriptInstallUpdate: add symbol in notificationGravatar Christian Hesse1-1/+4
2020-07-17cloud-backup: add symbol in notificationGravatar Christian Hesse1-0/+1
2020-07-17global-functions: introduce and use $SymbolForNotificationchange-24Gravatar Christian Hesse1-1/+14
2020-07-17global-functions: introduce $SymbolByUnicodeNameGravatar Christian Hesse1-0/+16
2020-07-16global-functions: $DeviceInfo: use $IfThenElseGravatar Christian Hesse1-31/+21
2020-07-16global-functions: introduce $IfThenElseGravatar Christian Hesse1-0/+9
2020-07-15add 'log-forward', drop 'early-errors'change-23Gravatar Christian Hesse1-1/+1
2020-07-14global-functions: $ScriptInstallUpdate: update wording for notificationGravatar Christian Hesse1-1/+1
2020-07-14global-config: dropped $ScriptUpdatesIgnore, use ignore flag in commentchange-22Gravatar Christian Hesse1-5/+13
2020-07-14notify about auto patch updates in check-routeros-updatechange-21Gravatar Christian Hesse1-1/+1
2020-07-14notify about hooks in netwatch-notifychange-20Gravatar Christian Hesse1-1/+1
2020-07-14notify about options in script commentschange-19Gravatar Christian Hesse1-1/+1
2020-07-14notify about $IPCalcchange-18Gravatar Christian Hesse1-1/+1
2020-07-14notify about early-errorschange-17Gravatar Christian Hesse1-1/+1
2020-07-14global-functions: $MailServerIsUp: do immediate checkGravatar Christian Hesse1-1/+9
2020-07-14global-functions: $DNSIsResolving: try a domain that is unlikely to be cachedGravatar Christian Hesse1-1/+3
2020-07-07global-functions: add $VersionToNumGravatar Christian Hesse1-0/+30
2020-07-02global-functions: $ScriptInstallUpdate: get base url and suffix from commentGravatar Christian Hesse1-2/+6
Just set 'base-url=https://example.com/...' and/or 'url-suffix=\h=branch' in comment to overwrite settings from global configuration.
2020-07-02global-functions: $ScriptInstallUpdate: support ignore from commentGravatar Christian Hesse1-0/+3
Just add 'ignore' in comment...
2020-07-02global-functions: $ParseKeyValueStore: allow equals sign in valueGravatar Christian Hesse1-4/+2
2020-07-02global-functions: $ParseKeyValueStore: key without value for boolean trueGravatar Christian Hesse1-2/+6
2020-06-30global-functions: do not initialize $Sent* variablesGravatar Christian Hesse1-3/+0
The scripts work without initialization, removing this makes sure the value is not overwritten on global functions reload.
2020-06-30global-functions: $GetRandomNumber: limit at 2^32-1Gravatar Christian Hesse1-1/+1
2020-06-29global-functions: $GetRandomNumber: return 32bit number without limitGravatar Christian Hesse1-1/+4
2020-06-23global-functions: add $IPCalcGravatar Christian Hesse1-0/+17
[admin@MikroTik] > $IPCalc 192.168.88.188/20 Address: 192.168.88.188 Netmask: 255.255.240.0 Network: 192.168.80.0/20 HostMin: 192.168.80.1 HostMax: 192.168.95.254 Broadcast: 192.168.95.255
2020-06-19explicitly name the licenseGravatar Christian Hesse1-0/+1
Copyright (C) 2013-2020 Christian Hesse <mail@eworm.de> This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. https://www.gnu.org/licenses/#GPL https://www.gnu.org/licenses/gpl.html https://www.gnu.org/licenses/gpl.md
2020-06-18global-functions: $GetRandomNumber: use $GetRandomSha256Gravatar Christian Hesse1-6/+12
2020-06-18global-functions: rename $GetRandom -> $GetRandomNumberGravatar Christian Hesse1-4/+4
2020-06-18global-functions: add $GetRandomSha256Gravatar Christian Hesse1-0/+12
2020-05-26global-functions: add $WaitFullyConnectedGravatar Christian Hesse1-0/+12
2020-05-26global-functions: add $WaitDNSResolvingGravatar Christian Hesse1-0/+10
2020-05-26global-functions: add $DNSIsResolvingGravatar Christian Hesse1-0/+11
2020-05-17global-functions: $WaitTimeSync: replace comment with debug outputGravatar Christian Hesse1-1/+2
2020-05-17global-functions: $DownloadPackage: replace comment with debug outputGravatar Christian Hesse1-1/+1
2020-05-15global-functions: $MailServerIsUp: handle resolve errorsGravatar Christian Hesse1-1/+6
2020-05-15global-functions: $MailServerIsUp: remove duplicate defineGravatar Christian Hesse1-1/+0
2020-05-15global-functions: $MailServerIsUp: use prepared valueGravatar Christian Hesse1-1/+1
2020-05-15global-functions: $WaitTimeSync: run rotate-ntp less frequentlyGravatar Christian Hesse1-1/+1
2020-05-13global-functions: $WaitTimeSync: failing rotate-ntp is not fatalGravatar Christian Hesse1-1/+5
Resolving ntp servers fais if internet connectivity is not established. So this is not fatal, we want to catch error and fall through, then continue.
2020-05-04global-functions: $ScriptInstallUpdate: log when reloading codeGravatar Christian Hesse1-0/+2
2020-05-04global-functions: $DownloadPackage: support downloading bundleGravatar Christian Hesse1-1/+1
2020-04-24global-functions: $CertificateNameByCN: replace apostropheGravatar Christian Hesse1-1/+2
2020-04-22global-functions: add $WaitDefaultRouteReachableGravatar Christian Hesse1-0/+10
2020-04-22global-functions: add $DefaultRouteIsReachableGravatar Christian Hesse1-0/+9
2020-04-22global-functions: $TimeIsSync: unbreak with bundled ntp clientGravatar Christian Hesse1-3/+10
2020-04-07global-functions: $DownloadPackage: do not re-downloadGravatar Christian Hesse1-0/+5
2020-04-03global-functions: $SendTelegram: use $LogPrintExitGravatar Christian Hesse1-1/+1
2020-04-03global-functions: $SendEMail: use $LogPrintExitGravatar Christian Hesse1-1/+3
2020-04-03global-functions: $ScriptFromTerminal: use $LogPrintExitGravatar Christian Hesse1-1/+4
2020-04-03global-functions: $MailServerIsUp: use $LogPrintExitGravatar Christian Hesse1-1/+3
2020-04-03global-functions: $CertificateDownload: use $LogPrintExitGravatar Christian Hesse1-3/+4
2020-04-03global-functions: $CertificateAvailable: use $LogPrintExitGravatar Christian Hesse1-3/+6
2020-04-03global-functions: $SendTelegram: check status of certificate downloadGravatar Christian Hesse1-2/+5
2020-04-03global-functions: $GetMacVendor: check status of certificate downloadGravatar Christian Hesse1-3/+5
2020-04-03global-functions: $DownloadPackage: check status of certificate downloadGravatar Christian Hesse1-1/+4
2020-04-03global-functions: $Certificate{Available,Download}: return and check statusGravatar Christian Hesse1-2/+9
2020-04-01global-functions: $ScriptInstallUpdate: log and print changesGravatar Christian Hesse1-0/+2
2020-03-31global-functions: $SendTelegram: always return a valueGravatar Christian Hesse1-1/+1
... overwise it opens a prompt "value:".
2020-03-31global-functions: $SendEMail: always return a valueGravatar Christian Hesse1-1/+1
... overwise it opens a prompt "value:".
2020-03-31global-functions: $ScriptInstallUpdate: ignore empty scriptsGravatar Christian Hesse1-1/+1
Now that script-updates is gone we support installing new scripts with $ScriptInstallUpdate only.
2020-03-27ask for GitHub and GitLab starschange-16Gravatar Christian Hesse1-1/+1
2020-03-27Notify about new documentation!change-15Gravatar Christian Hesse1-1/+1
2020-03-27link global-{config,config-overlay,functions} to main READMEGravatar Christian Hesse1-0/+1
2020-03-23completely replace script-updates with $ScriptInstallUpdatechange-14Gravatar Christian Hesse1-3/+133
2020-03-20global-functions: introduce $MkDirGravatar Christian Hesse1-0/+18
This is a dirty hack... RouterOS does not support creating directories, so we mis-use http server and fetch tool.
2020-03-12add script 'global-wait'Gravatar Christian Hesse1-0/+4
Run this in schedulers that fire on startup without interval. Schedulers should look something like this: / system scheduler { add name=global-scripts on-event="/ system script { run global-config; run global-config-overlay; run global-functions; }" start-time=startup; add name=bridge-port-to-default on-event="/ system script { run global-wait; run bridge-port-to-default; }" start-time=startup; }
2020-03-09global-functions: $DeviceInfo: more indentionGravatar Christian Hesse1-5/+5
2020-03-05global-functions: $SendEMail: invert conditionGravatar Christian Hesse1-11/+13
2020-03-05global-functions: $SendTelegram: invert conditionGravatar Christian Hesse1-10/+12
2020-03-05global-functions: $SendTelegram: allow to override chatidGravatar Christian Hesse1-2/+8
This allows to send Telegram messages to different contact or group. Use something like this: /system scheduler add name=netwatch-notify interval=1m start-time=startup \ on-event=":global TelegramChatIdOverride \"-1234\"; / system script run netwatch-notify; :set TelegramChatIdOverride;"
2020-03-05always use severity 'warning', not just 'warn'Gravatar Christian Hesse1-2/+2
2020-03-05global-functions: $LogPrintExit: add debugging optionGravatar Christian Hesse1-7/+12
2020-03-03bridge-port-to-default: use $ParseKeyValueStore...change-13Gravatar Christian Hesse1-1/+1
... and unbreak last commit removing delay (69352c90). This requires a change in configuration syntax. Change this... comment="default:br-local, alt:br-guest" to... comment="default=br-local, alt=br-guest"
2020-02-28global-functions: sort alphabeticallyGravatar Christian Hesse1-281/+280
2020-02-27global-functions: $ScriptLock: use $LogPrintExitGravatar Christian Hesse1-2/+3
2020-02-26global-functions: merge $LogAnd{Error,Put} to $LogPrintExit ...Gravatar Christian Hesse1-16/+17
... and fix logging. Logging with severity from variable (:log $severity ...) is not possible, this is considered a syntax error. Also the 'workaround' with parsing code failed with missing message in log. The reliable code is a lot longer, so merge the two functions to save a lot of duplicate code.
2020-02-26global-functions: introduce $LogAndPutGravatar Christian Hesse1-0/+10
2020-02-26global-functions: $LogAndError: add severityGravatar Christian Hesse1-3/+4
2020-02-24global-functions: introduce $LogAndErrorGravatar Christian Hesse1-0/+9
2020-02-24global-functions: $WaitTimeSync: rotate ntp servers minutelyGravatar Christian Hesse1-0/+4
Signed-off-by: Christian Hesse <mail@eworm.de>
2020-02-24global-functions: introduce $WaitTimeSyncGravatar Christian Hesse1-0/+10
2020-02-24global-functions: introduce $TimeIsSyncGravatar Christian Hesse1-0/+16
2020-02-24global-functions: introduce $MailServerIsUpGravatar Christian Hesse1-0/+22
2020-02-06global-functions: introduce and use $CertificateNameByCNGravatar Christian Hesse1-2/+13
2020-02-04global-config: drop $ScriptUpdatesConfigChangesIgnorechange-12Gravatar Christian Hesse1-1/+1
Comment or remove $GlobalConfigVersion in global-config-overlay to disable change notifications.
2020-02-03global-functions: $CharacterReplace: do not limit string lengthGravatar Christian Hesse1-2/+1
I've tried something like this to update a device: / system script set source=[ $CharacterReplace [ get global-config-overlay source ] "GlobalConfigVersion 10" "GlobalConfigVersion 11" ] global-config-overlay; This broke with global-config-overlay longer than 999 characters. So makes sure there is no limit for string length.
2020-02-02global-functions: $CertificateAvailable: simplify loopGravatar Christian Hesse1-4/+4