Age | Commit message (Expand) | Author | Files | Lines |
2022-04-28 | global-functions: catch runtime error when loading modules•••(cherry picked from commit e74bec7e5b62e54d10b1f3ba058868536b35fdc6)
| Christian Hesse | 1 | -1/+5 |
2022-04-28 | global-functions: validate syntax of modules•••(cherry picked from commit 7c8e230521f1a936da034dfc05197fe9434926ed)
| Christian Hesse | 1 | -1/+6 |
2022-04-28 | global-functions: set $0 with script name•••Now that we have some active code at the bottom...
(cherry picked from commit 9bc2123ee5bd7af4a8e1ca47696a3f3379d5a028)
| Christian Hesse | 1 | -2/+4 |
2022-04-28 | global-functions: $ScriptInstallUpdate: support giving comment...•••... for new scripts. This allows to have extra settings from the
beginning, for example:
$ScriptInstallUpdate script1,script2 "base-url=https://example.com/your/custom/repository/"
(cherry picked from commit a058c9e1edd8dc4895a64881ee1b495e86fe7510)
| Christian Hesse | 1 | -2/+3 |
2022-03-31 | introduce backup-partition•••(cherry picked from commit 71b69fc1898babf490b7dc8e7b0769022d5a2f79)
change-79-v6 | Christian Hesse | 1 | -1/+1 |
2022-03-08 | global-functions: (re-)introduce global $Read•••... to interactively read input from user on terminal.
(cherry picked from commit 07cc38e973a6037649083494332fbae1946b48b4)
| Christian Hesse | 1 | -0/+6 |
2022-03-04 | global-functions: update upgrade instruction•••The branch 'routeros-v7' will not exist forever...
And the link is gone already.
| Christian Hesse | 1 | -2/+1 |
2022-03-01 | global-functions: $FlushEmailQueue: delay if "in-progress"...•••Something else is sending a mail... Let's wait and hope the status is
not confused.
(cherry picked from commit c9b6cee83f686a532183016712c9441e77558917)
| Christian Hesse | 1 | -0/+1 |
2022-02-24 | global-functions: $DeviceInfo: firmware only if upgrade pending•••(cherry picked from commit a00e912bb5c556eaead42a4213c545a34c3959d9)
| Christian Hesse | 1 | -1/+2 |
2022-02-21 | doc/mod: notify about new documentationchange-78-v6 | Christian Hesse | 1 | -1/+1 |
2022-02-10 | global-functions: $MkDir: do not act without directory•••(cherry picked from commit 7b48b25c271111570d27708ceac437e24f05e6fe)
| Christian Hesse | 1 | -0/+4 |
2022-02-10 | introduce firmware-upgrade-reboot•••(cherry picked from commit 3c358980cb416c61419a0aaa384ab1db1dab8d29)
change-77-v6 | Christian Hesse | 1 | -1/+1 |
2022-02-10 | netwatch-notify: allow to suppress notification on host down•••(cherry picked from commit c6e581d4f90c9bea0adf405685aa634e264d1f3b)
change-76-v6 | Christian Hesse | 1 | -1/+1 |
2022-01-20 | global-functions: $ScriptInstallUpdate: quote names in log output•••(cherry picked from commit 5e32105e7ea4bd357f9826d1ca24ca6e2c455bdc)
| Christian Hesse | 1 | -9/+9 |
2022-01-20 | global-functions: $ScriptInstallUpdate: give final url in debug output•••(cherry picked from commit b4a5d824a268fae9f06ccf61fff4f67c760773ed)
| Christian Hesse | 1 | -7/+6 |
2022-01-17 | global-functions: $DownloadPackage: handle special case with name•••For RouterOS 6.x bundled package version and architecture are swapped.
Closes: #21
(cherry picked from commit 1e6931c8e34d5035cb07baa98b57eccbcd4278ab)
| Christian Hesse | 1 | -0/+4 |
2022-01-17 | global-functions: $DownloadPackage: give url in debug output•••(cherry picked from commit 51cd11c80380eac0bfde4649cb30747c198881b7)
| Christian Hesse | 1 | -3/+3 |
2022-01-14 | global: send notification on 'routeros-v6'•••This is mainly to keep the version in 'routeros-v6'
and 'main' in sync...
change-75-v6 | Christian Hesse | 1 | -1/+1 |
2022-01-07 | hotspot-to-wpa: support settings from templatechange-74 | Christian Hesse | 1 | -1/+1 |
2022-01-06 | Migrate configuration and send notification on renameschange-73 | Christian Hesse | 1 | -1/+1 |
2022-01-03 | introduce netwatch-dnschange-72 | Christian Hesse | 1 | -1/+1 |
2022-01-01 | update copyright for 2022 | Christian Hesse | 1 | -1/+1 |
2021-12-20 | global-functions: $RequiredRouterOS: fix warning•••Passing a boolean does not work... Handle as string.
| Christian Hesse | 1 | -5/+4 |
2021-12-14 | global-functions: $DownloadPackage: make directory first•••The fetch command creates the directory itself, however using $MkDir
gives better error message when creating directory fails.
| Christian Hesse | 1 | -0/+6 |
2021-12-14 | global-functions: $MkDir: log error | Christian Hesse | 1 | -1/+3 |
2021-12-14 | global-functions: $NotificationFunctions->"email": do not declare unused func... | Christian Hesse | 1 | -1/+0 |
2021-12-13 | global-functions: $DeviceInfo: show license level if available•••This now shows license level for CHR.
The property is named different for Routerboards. As these have the
license bundled to hardware anyway we do not show it there.
| Christian Hesse | 1 | -0/+3 |
2021-12-13 | README: changes for RouterOS v6change-71 | Christian Hesse | 1 | -1/+1 |
2021-12-10 | global-functions: $ScriptLock: simplify cleanup code | Christian Hesse | 1 | -5/+2 |
2021-12-09 | global-functions: $ScriptLock: remove ticket in a loop•••This was not required with RouterOS v6, but for any reason removing a
ticket may fail with RouterOS v7 in very rare cases. So remove in a
loop...
| Christian Hesse | 1 | -1/+2 |
2021-12-09 | global-functions: $ScriptLock: cleanup in dedicated function | Christian Hesse | 1 | -4/+13 |
2021-12-09 | global-functions: $ScriptLock: initialize earlier | Christian Hesse | 1 | -4/+3 |
2021-12-09 | global-functions: $ScriptLock: initialize empty array on cleanup | Christian Hesse | 1 | -2/+2 |
2021-12-07 | global-functions: give a hint on RouterOS v7 | Christian Hesse | 1 | -0/+6 |
2021-12-07 | global-config: load overlay automatically | Christian Hesse | 1 | -4/+4 |
2021-12-07 | README: changes for RouterOS v7change-70 | Christian Hesse | 1 | -1/+1 |
2021-11-22 | global-functions: $DeviceInfo: add current firmware•••(I would like to show a note if the upgrade is pending... But did not
find a way to get that information. Is there?)
| Christian Hesse | 1 | -0/+2 |
2021-11-16 | check-health: support hard lower limit for voltage•••... to detect slow decrease of voltage, for example with UPS.
change-69 | Christian Hesse | 1 | -1/+1 |
2021-11-16 | check-health: indicate voltage increase or decrease | Christian Hesse | 1 | -0/+2 |
2021-11-16 | reintroduce global-waitchange-68 | Christian Hesse | 1 | -1/+1 |
2021-11-16 | global-functions: drop deprecated function $LogPrintExit•••... which has been replaced by $LogPrintExit2 some time ago.
| Christian Hesse | 1 | -9/+0 |
2021-11-15 | shorten modules directory name (global-functions.d -> mod)change-67 | Christian Hesse | 1 | -3/+3 |
2021-11-15 | bridge-port-to-default -> global-functions.d/bridge-port-tochange-66 | Christian Hesse | 1 | -1/+1 |
2021-11-12 | add global-functions.d/bridge-port-vlanchange-65 | Christian Hesse | 1 | -1/+1 |
2021-10-01 | global-functions: $NotificationFunctions->"email": check for valid settings•••No need to queue mails if 'address' and 'from' are not specified...
| Christian Hesse | 1 | -1/+2 |
2021-10-01 | global-functions: $DeviceInfo: do not fail on non-RouterBoard with ROS 7.x | Christian Hesse | 1 | -1/+4 |
2021-09-21 | global-functions.d/inspectvar: add $InspectVar...•••to inspect variables. This is useful for variables with (nested) arrays,
for example inspecting $NetwatchNotify (from netwatch-notify):
[admin@Mikrotik] > $InspectVar $NetwatchNotify
-type-> array
-key-> quad-one
-type-> array
-key-> count
-type-> num
-value-> 0
-key-> notified
-type-> bool
-value-> false
-key-> parent
-type-> nothing
-key-> resolve-failed
-type-> nothing
-key-> since
-type-> nothing
-key-> example.com
-type-> array
-key-> count
-type-> num
-value-> 0
-key-> notified
-type-> bool
-value-> false
-key-> parent
-type-> str
-value-> quad-one
-key-> resolve-failed
-type-> nothing
-key-> since
-type-> nothing
change-64 | Christian Hesse | 1 | -1/+1 |
2021-09-21 | global-functions: notify about move of $IPCalc and $ScriptRunOnce to modules•••Just install with...
$ScriptInstallUpdate global-functions.d/ipcalc
... and/or...
$ScriptInstallUpdate global-functions.d/scriptrunonce
... and use the functions as before.
change-63 | Christian Hesse | 1 | -1/+1 |
2021-09-21 | global-functions: move $ScriptRunOnce to optional module | Christian Hesse | 1 | -41/+0 |
2021-09-21 | global-functions: move $IPCalc to optional module | Christian Hesse | 1 | -30/+0 |
2021-09-08 | global-functions*: syntax for ROS 7.x•••Strings with escape sequence have to be enclosed in parentheses. Looks
like RouterOS 7.x is stricter here...
routeros-7.1rc3 | Christian Hesse | 1 | -6/+6 |
2021-09-02 | global-functions: $CertificateAvailable: drop version check | Christian Hesse | 1 | -5/+0 |
2021-09-01 | global-functions: $RequiredRouterOS: allow to use without warning | Christian Hesse | 1 | -6/+9 |
2021-08-31 | global-functions: $ScriptLock: handle array by index•••This should mitigate race conditions while rewriting the array.
| Christian Hesse | 1 | -17/+50 |
2021-08-31 | global-functions: $ScriptLock: do not store but calculate job count•••This should mitigate some more race conditions.
| Christian Hesse | 1 | -7/+10 |
2021-07-25 | global-functions: $ScriptLock: check for successful removal of ticket•••The script is already locked, so there is no second script to remove a
ticket at the same time. However a new script can add a new ticket and
overwrite the removal... Thus check for successful removal anyway.
| Christian Hesse | 1 | -5/+9 |
2021-07-15 | global-functions: $ScriptLock: fix off-by-one check...•••... for stale job tickets
Signed-off-by: Christian Hesse <mail@eworm.de>
| Ben Harris | 1 | -1/+1 |
2021-07-10 | global-functions: introduce $ScriptRunOncechange-62 | Christian Hesse | 1 | -1/+42 |
2021-07-09 | global-functions: $ScriptInstallUpdate: add error handling for changelog | Christian Hesse | 1 | -1/+5 |
2021-07-09 | finally remove old scriptschange-61 | Christian Hesse | 1 | -1/+1 |
2021-07-09 | global-functions: $ScriptInstallUpdate: add error handling for migration | Christian Hesse | 1 | -1/+5 |
2021-07-09 | global-functions: $ScriptInstallUpdate: drop unused variable•••This was a left-over from re-run message.
| Christian Hesse | 1 | -1/+0 |
2021-07-09 | global-functions: $ScriptInstallUpdate: drop the migration pattern | Christian Hesse | 1 | -1/+1 |
2021-07-09 | netwatch-notify: implement pre-down hookchange-60 | Christian Hesse | 1 | -1/+1 |
2021-07-09 | global-functions: $ScriptLock: drop variable, just return | Christian Hesse | 1 | -3/+2 |
2021-07-08 | global-functions: $ScriptLock: make ticket management more reliable | Christian Hesse | 1 | -10/+27 |
2021-07-01 | check-routeros-update: allow update for cap•••If CAPsMAN is running on a device with just 16MB flash downloading the
packages is not possible (or at least lost at reboot). So allow a CAP to
update with opt-in.
change-59 | Michael Gisbers | 1 | -1/+1 |
2021-07-01 | global-functions: $ScriptLock: use hex string for ticket•••Does not matter what the ticket looks like, but using hex string it is
not converted to number.
| Christian Hesse | 1 | -2/+2 |
2021-07-01 | global-functions: $ScriptLock: use a limit on lock...•••... to make sure it does not lock forever.
| Christian Hesse | 1 | -4/+6 |
2021-06-30 | global-functions: $ScriptLock: allow to wait for lock | Christian Hesse | 1 | -0/+6 |
2021-06-30 | global-functions: $ScriptLock: rework with tickets•••Getting the order right is not easy... We use a global variable to store
"tickets" in an array. Based on that scripts know their order.
| Christian Hesse | 1 | -6/+40 |
2021-06-30 | global-functions: $ScriptLock: check if script is running | Christian Hesse | 1 | -0/+4 |
2021-06-30 | global-functions: $ScriptLock: check if script exists | Christian Hesse | 1 | -0/+4 |
2021-06-30 | global-functions: $ScriptLock: allow to return...•••... with true instead of breaking with error.
| Christian Hesse | 1 | -3/+8 |
2021-06-30 | global-functions: $LogPrintExit2: allow origin-specific debug•••Add something like this in global-config-overlay:
:global PrintDebugOverride {
"dhcp-to-dns"=true;
}
| Christian Hesse | 1 | -1/+6 |
2021-06-28 | global-functions: $GetRandomNumber: use $HexToNum | Christian Hesse | 1 | -11/+2 |
2021-06-28 | global-functions: $GetRandom20CharHex: do not remove otp...•••... as it is instantly invalid anyway.
| Christian Hesse | 1 | -3/+1 |
2021-06-24 | global-functions: $RandomDelay: allow to specify unit in second argument | Christian Hesse | 1 | -1/+2 |
2021-06-23 | hotspot-to-wpa: add optional cleanup scriptchange-58 | Christian Hesse | 1 | -1/+1 |
2021-06-23 | celebrating the 1.000th commit - hooray!change-57 | Christian Hesse | 1 | -1/+1 |
2021-06-23 | notify about tag in scriptschange-56 | Christian Hesse | 1 | -1/+1 |
2021-06-21 | global-functions: $MkDir: abuse smb share to create directory•••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
| Christian Hesse | 1 | -7/+5 |
2021-06-17 | global-functions: $NotificationFunctions->"email": support removing attachment | Christian Hesse | 1 | -2/+8 |
2021-06-16 | global-functions: $HexToNum: properly handle capital characters | Christian Hesse | 1 | -2/+2 |
2021-06-15 | global-functions: introduce $HexToNum | Christian Hesse | 1 | -0/+16 |
2021-06-10 | global-functions: $SendEMail2: fix name in array•••This did not send anything at all...
Fixes #12
| Christian Hesse | 1 | -1/+1 |
2021-06-09 | log-forward: implement reverse logic to include messages...•••... even if a filter matches to exclude them. Let's have an example:
:global LogForwardFilter "(debug|info)";
:global LogForwardInclude "account";
This will forward everything about topic *account* (login, logout,
failed login, ...) - even with topic *info*.
change-55 | Christian Hesse | 1 | -1/+1 |
2021-06-08 | global-functions: make Telegram notifications a modulechange-54 | Christian Hesse | 1 | -157/+1 |
2021-06-08 | global-functions: implement notifications via Matrix•••Matrix is an open network for secure, decentralized communication - and
it has a web api.
A warning on message type: Using 'm.notice' breaks rendering on Element
for Android (no fixed width font) and does not pop up desktop
notification. Thus we use 'm.text'. Should be safe as we do not send the
messages in response to other messages.
https://matrix.org/
change-53 | Michael Gisbers | 1 | -1/+1 |
2021-06-08 | global-functions: make notification functions extensible•••This allows to add notification functions without overloading functions.
Just add it into the array:
:set ($NotificationFunctions->"fancy-messager") do={
# notification magic here...
}
Adding functions $SendFancyMessager and/or $SendFancyMessager2 may be
useful. Optionally a function to flush a queue may be required.
A BIG FAT WARNING about function parameters:
Calling a function from array results in $0 for the function name being
skipped. That's why we have to add the function name manually!
| Christian Hesse | 1 | -133/+159 |
2021-06-08 | global-functions: $ScriptInstallUpdate: drop the re-run message•••This makes sense just rarely... For important changes we have the
migration mechanism. So just drop this.
| Christian Hesse | 1 | -5/+0 |
2021-06-08 | global-functions: $ScriptInstallUpdate: reload configuration later | Christian Hesse | 1 | -7/+12 |
2021-06-08 | global-functions: $ScriptInstallUpdate: reload functions just once | Christian Hesse | 1 | -6/+11 |
2021-06-08 | global-functions: support loading modules•••If script's name starts with "global-functions.d/" it is handled
as module:
* loaded at startup
* triggers reload on update
| Christian Hesse | 1 | -1/+6 |
2021-05-19 | global-functions: $DownloadPackage: quote package name | Christian Hesse | 1 | -2/+2 |
2021-05-18 | update Let's Encrypt trust chain•••Drop 'DST Root CA X3', use 'ISRG Root X1' instead. The migration code
makes sure that...
* the intermediate certificate 'R3' is signed by 'ISRG Root X1'
* 'ISRG Root X1' is self-signed, not cross-signed by 'DST Root CA X3'
* 'DST Root CA X3' is finally gone
change-52 | Christian Hesse | 1 | -1/+1 |
2021-05-17 | add 'ipsec-to-dns'change-51 | Christian Hesse | 1 | -1/+1 |
2021-05-06 | netwatch-notify: support dynamic address updatechange-50 | Christian Hesse | 1 | -1/+1 |
2021-04-29 | upload-backup: add second symbol | Christian Hesse | 1 | -0/+1 |
2021-04-29 | cloud-backup: add second symbol | Christian Hesse | 1 | -0/+1 |