Commit graph

80 commits

Author SHA1 Message Date
Christian Hesse
556fc2d0d3 global-functions: introduce $LogAndError 2020-02-24 19:53:15 +01:00
Christian Hesse
19b80ee063 global-functions: $WaitTimeSync: rotate ntp servers minutely
Signed-off-by: Christian Hesse <mail@eworm.de>
2020-02-24 13:01:45 +01:00
Christian Hesse
5fab77abad global-functions: introduce $WaitTimeSync 2020-02-24 12:55:18 +01:00
Christian Hesse
77ec3293f0 global-functions: introduce $TimeIsSync 2020-02-24 11:06:17 +01:00
Christian Hesse
7d2239f24e global-functions: introduce $MailServerIsUp 2020-02-24 10:48:04 +01:00
Christian Hesse
e376845b12 global-functions: introduce and use $CertificateNameByCN 2020-02-06 18:18:56 +01:00
Christian Hesse
b5f4c2c87e global-config: drop $ScriptUpdatesConfigChangesIgnore
Comment or remove $GlobalConfigVersion in global-config-overlay
to disable change notifications.
2020-02-04 20:19:46 +01:00
Christian Hesse
03af7d6d9c global-functions: $CharacterReplace: do not limit string length
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-03 21:29:21 +01:00
Christian Hesse
7f81734006 global-functions: $CertificateAvailable: simplify loop 2020-02-02 15:16:36 +01:00
Christian Hesse
1e72f03e5e README: update instructions to use $ScriptInstallUpdate 2020-01-29 22:14:56 +01:00
Christian Hesse
c500243c97 global-functions: add $ScriptInstallUpdate
Just call without parameters to update scripts:

[admin@MikroTik] > $InstallAndUpdate

Add comma separated list of scripts to install and update:

[admin@MikroTik] > $InstallAndUpdate cloud-backup[,upload-backup][,...]
2020-01-29 21:44:41 +01:00
Christian Hesse
352818ea48 global-functions: $CertificateAvailable: check whole chain
The root certificate is a self-signed certificate. Check for the issue
certificate until we find the self-signed one.
2020-01-29 21:08:10 +01:00
Christian Hesse
801dce05fa global-functions: $CertificateAvailable: warn about crl download to flash
Downloading certificate crls to flash can fill up all available space.
So warn about it!
2020-01-29 09:27:00 +01:00
Christian Hesse
5741924cf9 global-functions: replace deprecated keep-result=no with output=none 2020-01-28 21:51:27 +01:00
Christian Hesse
b3a76c7e4b global-functions: $CertificateDownload: properly name new certificates 2020-01-06 10:20:19 +01:00
Christian Hesse
cf79e6c473 global-functions: do not encode dash, dot, slash and underscore 2020-01-03 11:24:12 +01:00
Christian Hesse
b1b7ed83ed global-functions: $Certificate*: add quoting around CN 2020-01-03 10:15:34 +01:00
Christian Hesse
cb1e520965 global-functions: split $CertificateAvailable to $CertificateDownload
This allows to force download even if certificate is available. We need
this for a clean update path with Let's Encrypt.
2020-01-03 10:07:55 +01:00
Christian Hesse
afb9839073 update copyright for 2020 2020-01-01 17:00:39 +01:00
Christian Hesse
d064bd349e global-functions: define first, set later 2019-12-10 14:45:35 +01:00
Christian Hesse
64341690bf global-functions: $DownloadPackage: retry on error 2019-12-05 13:20:26 +01:00
Christian Hesse
ebd5ff9bfe global-functions: introduce $ScriptFromTerminal
Checking whether or not started from terminal is tricky... We have to find
the job for the script, find its top most parent and get its type.
2019-12-03 23:45:55 +01:00
Christian Hesse
ac6c132ea0 global-functions: $DeviceInfo: append revision to model 2019-11-28 10:49:21 +01:00
Christian Hesse
7c0c27c03f global-functions: add architecture in device info 2019-10-28 13:15:10 +01:00
Christian Hesse
f40bb2c8c8 check-health: make threshold for voltage configurable 2019-10-14 19:13:31 +02:00
Christian Hesse
1cee36a911 introduce global-config-overlay 2019-09-12 21:29:41 +02:00
Michael Gisbers
2258087aab global-functions: $DeviceInfo: handle configuration version 2019-09-12 21:29:41 +02:00
Christian Hesse
94581741f4 global-functions: introduce and use $DeviceInfo 2019-09-12 21:29:41 +02:00
Christian Hesse
166bbffe1d script-updates: add donation hint in configuration warning notification 2019-08-30 14:10:58 +02:00
Christian Hesse
29dc1b8841 add script 'check-health'
This may be incomplete... Please report if you have missing PSUs,
ttemperature sensors, whatever.
2019-08-27 12:01:32 +02:00
Christian Hesse
06b93ca6c2 global-functions: support sending silent telegram notifications 2019-08-18 21:30:59 +02:00
Christian Hesse
d457421e1e global-functions: split off $SendEMail and $SendTelegram 2019-08-18 21:30:59 +02:00
Christian Hesse
ab4aef4dfb global-functions: $DownloadPackage: re-introduce check for valid package
Even if fetch tool does its job right now... Chances are that the
download servers have corrupted or empty files.
2019-08-01 18:45:54 +02:00
Christian Hesse
acce2322c3 global-functions: add $RandomDelay 2019-07-26 18:14:33 +02:00
Christian Hesse
f49b67f5e7 global-functions: add $GetRandom 2019-07-26 18:13:59 +02:00
Christian Hesse
229dc539cc global-functions: $DownloadPackage: fix downloading for CHR / x86_64 2019-07-19 15:37:01 +02:00
Christian Hesse
8d1313f588 add script 'upload-backup' 2019-07-19 11:46:29 +02:00
Christian Hesse
f79ba55637 global-functions: add $ParseKeyValueStore 2019-07-17 16:27:21 +02:00
Christian Hesse
16f04ee7ee global-functions: $CharacterReplace: use same condition in loop 2019-07-16 12:46:33 +02:00
Christian Hesse
b1b53e3d0d global-functions: append system note in e-mail signature 2019-07-16 12:42:40 +02:00
Christian Hesse
5101d57d52 backup: split off cloud-backup
Currently backup to MikroTik cloud is pretty unreliable and script can
not catch errors at runtime. Looks like this does not change any time
soon (Ticket#2019052022003204).

So let's just split off the cloud backup to make sure email backup works
as expected.
2019-06-14 15:13:41 +02:00
Christian Hesse
42834e9de1 global-functions: $CertificateAvailable: fetch by CommonName
Now that we have a proper $UrlEncode function... Fetch certificates
by CommonName.

Also remove the PEM after import.
2019-04-30 16:52:53 +02:00
Christian Hesse
7f96e5c966 global-functions: add $WaitForFile, wait for file on fetch
The fetch command is asynchronous, the file is not guaranteed to be
available when command terminates.

I opened an issue at Mikrotik support (Ticket#2019041722004999),
their answer:

> You should perform a check in a loop.
> :delay until file exist
>
> That can happen also with any configuration not just files.

So add a function to wait for a file with given name.

I have not seen this with other configuration, though.
2019-04-30 16:52:53 +02:00
Christian Hesse
b93d4d40bc drop deprecated mode= for fetch 2019-04-09 18:01:44 +02:00
Christian Hesse
ea73505ecc script-updates: send global-config changes notification just once 2019-04-03 08:30:28 +02:00
Christian Hesse
7b1c275cc2 script-updates: add option to ignore global-config changes 2019-04-02 08:48:35 +02:00
Christian Hesse
594aef2aab check-certificates: support multiple passphrases 2019-04-01 22:45:38 +02:00
Christian Hesse
26ccf41298 global-functions: prevent infinite loop 2019-03-28 12:36:12 +01:00
Christian Hesse
72d7050423 global-functions: encode all non-alphanumeric characters 2019-03-20 22:42:16 +01:00
Christian Hesse
99a23f99e5 global-functions: remove extra check in $DownloadPackage
Should be fixed in RouterOS 6.44rc1 with changelog:

*) fetch - improved file downloading to slow memory;
2019-02-28 14:41:44 +01:00