Age | Commit message (Collapse) | Author | Files | Lines | |
---|---|---|---|---|---|
2021-09-08 | global-functions*: syntax for ROS 7.xrouteros-7.1rc3 | Christian Hesse | 3 | -8/+8 | |
Strings with escape sequence have to be enclosed in parentheses. Looks like RouterOS 7.x is stricter here... | |||||
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 | Christian Hesse | 1 | -17/+50 | |
This should mitigate race conditions while rewriting the array. | |||||
2021-08-31 | global-functions: $ScriptLock: do not store but calculate job count | Christian Hesse | 1 | -7/+10 | |
This should mitigate some more race conditions. | |||||
2021-08-30 | lease-script: move debug output up | Christian Hesse | 1 | -3/+3 | |
2021-08-27 | check-health: use $ScriptLock | Christian Hesse | 1 | -0/+3 | |
2021-08-27 | netwatch-notify: use $ScriptLock | Christian Hesse | 1 | -0/+3 | |
2021-08-26 | dhcp-to-dns: check for existence of address | Christian Hesse | 1 | -1/+3 | |
Chances are that $LeaseVal is an array with just an id - no idea why this happens. So do not check for array but existence of address. | |||||
2021-08-25 | global-functions.d/notification-telegram: for syntax for ROS 7.xrouteros-7.1rc1-1 | Christian Hesse | 1 | -1/+1 | |
Strings with escape sequence have to be enclosed in parentheses. Looks like RouterOS 7.x is stricter here... | |||||
2021-08-16 | update list of contributors | Christian Hesse | 1 | -0/+1 | |
2021-07-25 | global-functions: $ScriptLock: check for successful removal of ticket | Christian Hesse | 1 | -5/+9 | |
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. | |||||
2021-07-15 | lease-script: drop differentiation of assign / deassign... | Christian Hesse | 9 | -15/+12 | |
... not that we have early locking. | |||||
2021-07-15 | lease-script: use $ScriptLock | Christian Hesse | 1 | -7/+12 | |
There were still ways to produce errors from lease scripts... Let's lock earlier, this should fix it. | |||||
2021-07-15 | update list of contributors | Christian Hesse | 1 | -0/+1 | |
2021-07-15 | global-functions: $ScriptLock: fix off-by-one check... | Ben Harris | 1 | -1/+1 | |
... for stale job tickets Signed-off-by: Christian Hesse <mail@eworm.de> | |||||
2021-07-11 | collect-wireless-mac: check for existence of mac address | Christian Hesse | 3 | -107/+119 | |
Chance are that $RegVal is an array with just an id - no idea why this happens. So do not check for array but existence of mac address. | |||||
2021-07-10 | global-functions: introduce $ScriptRunOncechange-62 | Christian Hesse | 4 | -3/+49 | |
2021-07-09 | global-functions: $ScriptInstallUpdate: add error handling for changelog | Christian Hesse | 1 | -1/+5 | |
2021-07-09 | global-functions.d/notification-telegram: subject in bold & underline | Christian Hesse | 1 | -10/+11 | |
This makes the subject visually delimited. | |||||
2021-07-09 | finally remove old scriptschange-61 | Christian Hesse | 9 | -38/+5 | |
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 | Christian Hesse | 1 | -1/+0 | |
This was a left-over from re-run message. | |||||
2021-07-09 | global-functions: $ScriptInstallUpdate: drop the migration pattern | Christian Hesse | 1 | -1/+1 | |
2021-07-09 | doc/netwatch-notify: hint on escaping, with example | Christian Hesse | 1 | -2/+2 | |
2021-07-09 | netwatch-notify: implement pre-down hookchange-60 | Christian Hesse | 6 | -3/+11 | |
2021-07-09 | collect-wireless-mac: remove 'unknown' from message and comment | Christian Hesse | 3 | -3/+3 | |
This was true, but the mac address is no longer unknown after it was added to address list in comment. | |||||
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-08 | lease-script: add the order in log | Christian Hesse | 1 | -2/+2 | |
2021-07-08 | lease-script: implement script order | Christian Hesse | 10 | -18/+27 | |
The order may be important: `collect-wireless-mac` can add a dns name in notification, thus `dhcp-to-dns` should run first. | |||||
2021-07-08 | lease-script: modify the tag | Christian Hesse | 9 | -10/+10 | |
2021-07-08 | netwatch-notify: run hook from a function | Christian Hesse | 1 | -23/+26 | |
2021-07-08 | netwatch-notify: add error handling for hooks | Christian Hesse | 1 | -2/+10 | |
We already had syntax validation, but a script with valid synctax can still fail to run... | |||||
2021-07-07 | doc/lease-script: hint on script installation/execution order | Christian Hesse | 1 | -1/+6 | |
2021-07-07 | doc/lease-script: fix link | Christian Hesse | 1 | -1/+1 | |
2021-07-07 | collect-wireless-mac: use $EitherOr and simplify code | Christian Hesse | 3 | -12/+6 | |
2021-07-07 | collect-wireless-mac: do not fail on missing dns record | Christian Hesse | 3 | -9/+12 | |
2021-07-06 | collect-wireless-mac: rework, more use of arrays | Christian Hesse | 3 | -61/+50 | |
2021-07-06 | ospf-to-leds: do not flood but log properly | Christian Hesse | 1 | -1/+2 | |
2021-07-05 | doc/netwatch-notify: hint on checking specific isp | Christian Hesse | 1 | -0/+17 | |
2021-07-01 | check-routeros-update: allow update for capchange-59 | Michael Gisbers | 6 | -4/+10 | |
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. | |||||
2021-07-01 | collect-wireless-mac: properly handle vanished device | Christian Hesse | 3 | -18/+45 | |
2021-07-01 | dhcp-to-dns: fix static lease that lost bound status | Christian Hesse | 1 | -1/+4 | |
2021-07-01 | dhcp-to-dns: properly handle vanished lease | Christian Hesse | 1 | -23/+31 | |
2021-07-01 | lease-script: do not run too many instances of scripts | Christian Hesse | 1 | -5/+7 | |
Every instance of the scripts does all the work. If one script is running and a second script is waiting we do not have to start a third one. | |||||
2021-07-01 | lease-script: drop the delay magic... | Christian Hesse | 1 | -6/+0 | |
... as this should be handled by $ScriptLock in lease scripts now. | |||||
2021-07-01 | hotspot-to-wpa-cleanup: lock script (and wait) | Christian Hesse | 1 | -0/+3 | |
2021-07-01 | dhcp-to-dns: lock script (and wait) | Christian Hesse | 1 | -0/+3 | |
2021-07-01 | collect-wireless-mac: wait when locking script | Christian Hesse | 3 | -3/+3 | |
2021-07-01 | Merge branch 'ScriptLock' into next | Christian Hesse | 1 | -3/+58 | |
2021-07-01 | global-functions: $ScriptLock: use hex string for ticket | Christian Hesse | 1 | -2/+2 | |
Does not matter what the ticket looks like, but using hex string it is not converted to number. | |||||
2021-07-01 | global-functions: $ScriptLock: use a limit on lock... | Christian Hesse | 1 | -4/+6 | |
... to make sure it does not lock forever. | |||||
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 | Christian Hesse | 1 | -6/+40 | |
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. | |||||
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... | Christian Hesse | 1 | -3/+8 | |
... with true instead of breaking with error. | |||||
2021-06-30 | global-functions: $LogPrintExit2: allow origin-specific debug | Christian Hesse | 1 | -1/+6 | |
Add something like this in global-config-overlay: :global PrintDebugOverride { "dhcp-to-dns"=true; } | |||||
2021-06-28 | global-functions: $GetRandomNumber: use $HexToNum | Christian Hesse | 1 | -11/+2 | |
2021-06-28 | global-functions: $GetRandom20CharHex: do not remove otp... | Christian Hesse | 1 | -3/+1 | |
... as it is instantly invalid anyway. | |||||
2021-06-25 | doc/notifications: change stroke color | Christian Hesse | 16 | -53/+48 | |
This makes the stroke visible on black background. | |||||
2021-06-24 | lease-script: do not run in parallel on simultaneous deassign | Christian Hesse | 1 | -2/+5 | |
2021-06-24 | global-functions: $RandomDelay: allow to specify unit in second argument | Christian Hesse | 1 | -1/+2 | |
2021-06-23 | ppp-on-up: use $LogPrintExit2 | Christian Hesse | 1 | -3/+3 | |
This will never print to terminal, nevertheless we want proper log with script name in prefix. | |||||
2021-06-23 | lease-script: use $LogPrintExit2 | Christian Hesse | 1 | -4/+4 | |
This will never print to terminal, nevertheless we want proper log with script name in prefix. | |||||
2021-06-23 | ipv6-update: use $LogPrintExit2 | Christian Hesse | 1 | -4/+6 | |
This will never print to terminal, nevertheless we want proper log with script name in prefix. | |||||
2021-06-23 | hotspot-to-wpa: add optional cleanup scriptchange-58 | Christian Hesse | 7 | -3/+72 | |
2021-06-23 | celebrating the 1.000th commit - hooray!change-57 | Christian Hesse | 4 | -3/+4 | |
2021-06-23 | notify about tag in scriptschange-56 | Christian Hesse | 4 | -3/+4 | |
2021-06-23 | ppp-on-up: add error handling | Christian Hesse | 1 | -2/+6 | |
2021-06-23 | ppp-on-up: use 'provides' to find ppp-on-up scripts | Christian Hesse | 2 | -9/+6 | |
2021-06-23 | lease-script: add error handling | Christian Hesse | 1 | -2/+6 | |
2021-06-23 | lease-script: use 'provides' to find lease scripts | Christian Hesse | 8 | -25/+22 | |
2021-06-23 | packages-update: use 'provides' to find backup scripts | Christian Hesse | 4 | -1/+7 | |
2021-06-23 | update list of contributors | Christian Hesse | 1 | -0/+1 | |
2021-06-21 | global-functions: $MkDir: abuse smb share to create directory | Christian Hesse | 1 | -7/+5 | |
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 | |||||
2021-06-21 | doc/netwatch-notify: hint on checking internet connectivity | Christian Hesse | 1 | -0/+14 | |
2021-06-21 | doc: add sample notifications | Christian Hesse | 27 | -0/+3052 | |
2021-06-18 | doc/check-health: no capital character here | Christian Hesse | 1 | -1/+1 | |
2021-06-18 | Makefile: generate html files for documentation | Christian Hesse | 1 | -2/+2 | |
2021-06-17 | email-backup: remove attachment when sent | Christian Hesse | 1 | -1/+1 | |
2021-06-17 | global-functions: $NotificationFunctions->"email": support removing attachment | Christian Hesse | 1 | -2/+8 | |
2021-06-16 | upload-backup: remove file after upload | Christian Hesse | 1 | -0/+4 | |
2021-06-16 | global-functions: $HexToNum: properly handle capital characters | Christian Hesse | 1 | -2/+2 | |
2021-06-15 | log-forward: use $HexToNum, do not resend old messages | Christian Hesse | 1 | -6/+3 | |
Now we know the order of messages and can compare. Changing the filter does no longer result in old messages being resent. | |||||
2021-06-15 | global-functions: introduce $HexToNum | Christian Hesse | 1 | -0/+16 | |
2021-06-10 | global-functions: $SendEMail2: fix name in array | Christian Hesse | 1 | -1/+1 | |
This did not send anything at all... Fixes #12 | |||||
2021-06-09 | log-forward: implement reverse logic to include messages...change-55 | Christian Hesse | 6 | -7/+20 | |
... 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*. | |||||
2021-06-09 | log-forward: update comments in global-config | Christian Hesse | 1 | -3/+4 | |
2021-06-09 | doc/log-forward: mention Matrix | Christian Hesse | 1 | -1/+1 | |
2021-06-08 | global-functions: make Telegram notifications a modulechange-54 | Christian Hesse | 5 | -160/+169 | |
2021-06-08 | global-functions: implement notifications via Matrixchange-53 | Michael Gisbers | 15 | -18/+186 | |
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/ | |||||
2021-06-08 | global-functions: make notification functions extensible | Christian Hesse | 1 | -133/+159 | |
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! | |||||
2021-06-08 | global-functions: $ScriptInstallUpdate: drop the re-run message | Christian Hesse | 1 | -5/+0 | |
This makes sense just rarely... For important changes we have the migration mechanism. So just drop this. | |||||
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 | Christian Hesse | 1 | -1/+6 | |
If script's name starts with "global-functions.d/" it is handled as module: * loaded at startup * triggers reload on update | |||||
2021-06-08 | INITIAL-COMMANDS: make github copy function work | Christian Hesse | 1 | -3/+3 | |
The Github copy function skips all line breaks, so add some extra semicolons to fix syntax. | |||||
2021-06-06 | update list of contributors | Christian Hesse | 1 | -0/+1 | |