Age | Commit message (Collapse) | Author | Files | Lines | |
---|---|---|---|---|---|
2022-08-05 | global-functions: $GetRandom20CharHex: use :rndstr | 1 | -1/+1 | ||
This is available in RouterOS 7.x... Signed-off-by: Christian Hesse <mail@eworm.de> | |||||
2022-07-21 | global-functions: $IsTimeSync: cache a positive result | 1 | -0/+8 | ||
The functions do not rely on perfectly synced time. About the right time is fine, that should make sure certificates are valid and mails are sent with reasonable headers. So cache the result if system is fine for later use. | |||||
2022-07-21 | global-functions: $IsTimeSync: drop the extra condition... | 1 | -1/+1 | ||
... as ddns is not required to be enabled. The public address is available anyway, but not set in DNS. | |||||
2022-07-21 | global-functions: $IsTimeSync: drop old code | 1 | -8/+2 | ||
In RouterOS 7.x the ntp client and server are bundled and unique and can not be unavailable. Also it does no longer have a 'last-adjustment' property... | |||||
2022-07-21 | global-functions: $IsFullyConnected: remove trailing space | 1 | -1/+1 | ||
2022-07-13 | global-functions: update initialization of empty array | 1 | -7/+7 | ||
Having the parenthesis here is important for valid syntax! | |||||
2022-07-06 | global-config: new setting to disable news and change notifications...change-83 | 1 | -14/+10 | ||
... and also drop the version from global-config and global-config-overlay. | |||||
2022-07-06 | netwatch-notify: rename parameter: hostname -> namechange-82 | 1 | -1/+1 | ||
Starting with RouterOS 7.4 the netwatch tool has been extended, it can now do tcp and http probes. Rename the parameter for reasonable naming with services. | |||||
2022-07-05 | global-functions: introduce function $PrettyPrint | 1 | -0/+10 | ||
... to add trailing carriage return when printing to terminal: [admin@MikroTik] > $PrettyPrint [ $DeviceInfo ] Hostname: MikroTik Board name: hAP ac^2 Architecture: arm Model: RouterBOARD D52G-5HacD2HnD-TC Serial number: 8A2A09A221A1 RouterOS: Channel: testing Installed: 7.4rc1 RouterOS-Scripts: Current: 81 | |||||
2022-06-28 | global-functions: $ScriptInstallUpdate: remove script on failure when installing | 1 | -1/+7 | ||
2022-06-20 | global-functions: introduce function $IsFullyConnected | 1 | -0/+19 | ||
2022-06-20 | global-functions: rename internal function: $TimeIsSync -> $IsTimeSync | 1 | -33/+33 | ||
2022-06-20 | global-functions: rename internal function: $DNSIsResolving -> $IsDNSResolving | 1 | -15/+15 | ||
2022-06-20 | global-functions: rename internal function: $DefaultRouteIsReachable -> ↵ | 1 | -11/+11 | ||
$IsDefaultRouteReachable | |||||
2022-06-17 | global-functions: $WaitTimeSync: drop declaration of unused function | 1 | -1/+0 | ||
2022-06-16 | fix typos: 'at lease' -> 'at least' | 1 | -2/+2 | ||
2022-06-15 | drop script 'rotate-ntp'change-81 | 1 | -9/+1 | ||
For RouterOS 6.x a separate package 'ntp' exists. This adds server functionality, but allows ip addresses for the client only. I added the script 'rotate-ntp' to update addresses from names... Now with RouterOS 7.x there's no extra package and the limitation does no longer exist. So let's just drop the script. This adds migration code, that... * removes the script from configuration * removes a scheduler from configuration * sets the configured ntp pool name for ntp client | |||||
2022-05-20 | log-forward: change symbol for notification | 1 | -0/+1 | ||
2022-05-17 | global-functions: $FlushEmailQueue: return if time is not synced | 1 | -0/+6 | ||
The local system time is used in the mail header. We do not want the mails to be sent in the past, so return early (and thus wait for time being synced). | |||||
2022-05-12 | notify about freeze of routeros-v7 branchchange-80 | 1 | -1/+1 | ||
2022-05-11 | global-functions: RouterOS v7 path syntax | 1 | -83/+78 | ||
2022-04-28 | global-functions: $LogPrintExit2: handle empty name | 1 | -1/+1 | ||
2022-04-28 | global-functions: catch runtime error when loading modules | 1 | -1/+5 | ||
2022-04-28 | global-functions: validate syntax of modules | 1 | -1/+6 | ||
2022-04-28 | global-functions: set $0 with script name | 1 | -2/+4 | ||
Now that we have some active code at the bottom... | |||||
2022-04-26 | global-functions: $DefaultRouteIsReachable: update properties for ROS 7.xrouteros-7.x-6 | 1 | -1/+1 | ||
2022-04-26 | global-functions: $ScriptInstallUpdate: support giving comment... | 1 | -2/+3 | ||
... 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/" | |||||
2022-03-30 | introduce backup-partitionchange-79 | 1 | -1/+1 | ||
2022-03-08 | global-functions: (re-)introduce global $Read | 1 | -0/+6 | ||
... to interactively read input from user on terminal. | |||||
2022-03-01 | global-functions: $FlushEmailQueue: delay if "in-progress"... | 1 | -0/+1 | ||
Something else is sending a mail... Let's wait and hope the status is not confused. | |||||
2022-02-24 | global-functions: $DeviceInfo: firmware only if upgrade pending | 1 | -1/+2 | ||
2022-02-21 | doc/mod: notify about new documentationchange-78 | 1 | -1/+1 | ||
2022-02-10 | global-functions: $DownloadPackage: handle special cases | 1 | -7/+3 | ||
This is a RouterOS v7 only change! * Revert commit 1e6931c8e34d5035cb07baa98b57eccbcd4278ab (but keep the cherry-picked one in branch routeros-v6). * Drop special case 'routeros-$arch', which no longer exists. * Update package name 'system' to 'routeros'. This should be the correct name, and is expected by CAPsMAN. No idea why package-name property for the file is different... | |||||
2022-02-10 | global-functions: $MkDir: do not act without directory | 1 | -0/+4 | ||
2022-02-10 | introduce firmware-upgrade-rebootchange-77 | 1 | -1/+1 | ||
2022-02-10 | netwatch-notify: allow to suppress notification on host downchange-76 | 1 | -1/+1 | ||
2022-01-20 | global-functions: $ScriptInstallUpdate: quote names in log output | 1 | -9/+9 | ||
2022-01-20 | global-functions: $ScriptInstallUpdate: give final url in debug output | 1 | -7/+6 | ||
2022-01-17 | global-functions: $DownloadPackage: handle special case with name | 1 | -0/+4 | ||
For RouterOS 6.x bundled package version and architecture are swapped. Closes: #21 | |||||
2022-01-17 | global-functions: $DownloadPackage: give url in debug output | 1 | -3/+3 | ||
2022-01-14 | global: notify about merging 'routeros-v7' into 'main'change-75 | 1 | -1/+1 | ||
2022-01-14 | global-functions: bump the required version for RouterOS 7.x | 1 | -5/+4 | ||
... but keep a warning when running RouterOS v6. | |||||
2022-01-07 | hotspot-to-wpa: support settings from templatechange-74 | 1 | -1/+1 | ||
2022-01-06 | Migrate configuration and send notification on renameschange-73 | 1 | -1/+1 | ||
2022-01-03 | introduce netwatch-dnschange-72 | 1 | -1/+1 | ||
2022-01-01 | update copyright for 2022 | 1 | -1/+1 | ||
2021-12-20 | global-functions: $RequiredRouterOS: fix warning | 1 | -5/+4 | ||
Passing a boolean does not work... Handle as string. | |||||
2021-12-14 | global-functions: $DownloadPackage: make directory first | 1 | -0/+6 | ||
The fetch command creates the directory itself, however using $MkDir gives better error message when creating directory fails. | |||||
2021-12-14 | global-functions: $MkDir: log error | 1 | -1/+3 | ||
2021-12-14 | global-functions: $NotificationFunctions->"email": do not declare unused ↵ | 1 | -1/+0 | ||
function | |||||
2021-12-13 | global-functions: $DeviceInfo: show license level if available | 1 | -0/+3 | ||
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. | |||||
2021-12-13 | README: changes for RouterOS v6change-71 | 1 | -1/+1 | ||
2021-12-10 | global-functions: $ScriptLock: simplify cleanup code | 1 | -5/+2 | ||
2021-12-09 | global-functions: $ScriptLock: remove ticket in a loop | 1 | -1/+2 | ||
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... | |||||
2021-12-09 | global-functions: $ScriptLock: cleanup in dedicated function | 1 | -4/+13 | ||
2021-12-09 | global-functions: $ScriptLock: initialize earlier | 1 | -4/+3 | ||
2021-12-09 | global-functions: $ScriptLock: initialize empty array on cleanup | 1 | -2/+2 | ||
2021-12-07 | global-functions: give a hint on RouterOS v7 | 1 | -0/+6 | ||
2021-12-07 | global-config: load overlay automatically | 1 | -4/+4 | ||
2021-12-07 | README: changes for RouterOS v7change-70 | 1 | -1/+1 | ||
2021-11-22 | global-functions: $DeviceInfo: add current firmware | 1 | -0/+2 | ||
(I would like to show a note if the upgrade is pending... But did not find a way to get that information. Is there?) | |||||
2021-11-16 | check-health: support hard lower limit for voltagechange-69 | 1 | -1/+1 | ||
... to detect slow decrease of voltage, for example with UPS. | |||||
2021-11-16 | check-health: indicate voltage increase or decrease | 1 | -0/+2 | ||
2021-11-16 | reintroduce global-waitchange-68 | 1 | -1/+1 | ||
2021-11-16 | global-functions: drop deprecated function $LogPrintExit | 1 | -9/+0 | ||
... which has been replaced by $LogPrintExit2 some time ago. | |||||
2021-11-15 | shorten modules directory name (global-functions.d -> mod)change-67 | 1 | -3/+3 | ||
2021-11-15 | bridge-port-to-default -> global-functions.d/bridge-port-tochange-66 | 1 | -1/+1 | ||
2021-11-12 | add global-functions.d/bridge-port-vlanchange-65 | 1 | -1/+1 | ||
2021-10-01 | global-functions: $NotificationFunctions->"email": check for valid settings | 1 | -1/+2 | ||
No need to queue mails if 'address' and 'from' are not specified... | |||||
2021-10-01 | global-functions: $DeviceInfo: do not fail on non-RouterBoard with ROS 7.x | 1 | -1/+4 | ||
2021-09-21 | global-functions.d/inspectvar: add $InspectVar...change-64 | 1 | -1/+1 | ||
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 | |||||
2021-09-21 | global-functions: notify about move of $IPCalc and $ScriptRunOnce to moduleschange-63 | 1 | -1/+1 | ||
Just install with... $ScriptInstallUpdate global-functions.d/ipcalc ... and/or... $ScriptInstallUpdate global-functions.d/scriptrunonce ... and use the functions as before. | |||||
2021-09-21 | global-functions: move $ScriptRunOnce to optional module | 1 | -41/+0 | ||
2021-09-21 | global-functions: move $IPCalc to optional module | 1 | -30/+0 | ||
2021-09-08 | global-functions*: syntax for ROS 7.xrouteros-7.1rc3 | 1 | -6/+6 | ||
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 | 1 | -5/+0 | ||
2021-09-01 | global-functions: $RequiredRouterOS: allow to use without warning | 1 | -6/+9 | ||
2021-08-31 | global-functions: $ScriptLock: handle array by index | 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 | 1 | -7/+10 | ||
This should mitigate some more race conditions. | |||||
2021-07-25 | global-functions: $ScriptLock: check for successful removal of ticket | 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 | global-functions: $ScriptLock: fix off-by-one check... | 1 | -1/+1 | ||
... for stale job tickets Signed-off-by: Christian Hesse <mail@eworm.de> | |||||
2021-07-10 | global-functions: introduce $ScriptRunOncechange-62 | 1 | -1/+42 | ||
2021-07-09 | global-functions: $ScriptInstallUpdate: add error handling for changelog | 1 | -1/+5 | ||
2021-07-09 | finally remove old scriptschange-61 | 1 | -1/+1 | ||
2021-07-09 | global-functions: $ScriptInstallUpdate: add error handling for migration | 1 | -1/+5 | ||
2021-07-09 | global-functions: $ScriptInstallUpdate: drop unused variable | 1 | -1/+0 | ||
This was a left-over from re-run message. | |||||
2021-07-09 | global-functions: $ScriptInstallUpdate: drop the migration pattern | 1 | -1/+1 | ||
2021-07-09 | netwatch-notify: implement pre-down hookchange-60 | 1 | -1/+1 | ||
2021-07-09 | global-functions: $ScriptLock: drop variable, just return | 1 | -3/+2 | ||
2021-07-08 | global-functions: $ScriptLock: make ticket management more reliable | 1 | -10/+27 | ||
2021-07-01 | check-routeros-update: allow update for capchange-59 | 1 | -1/+1 | ||
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 | global-functions: $ScriptLock: use hex string for ticket | 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... | 1 | -4/+6 | ||
... to make sure it does not lock forever. | |||||
2021-06-30 | global-functions: $ScriptLock: allow to wait for lock | 1 | -0/+6 | ||
2021-06-30 | global-functions: $ScriptLock: rework with tickets | 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 | 1 | -0/+4 | ||
2021-06-30 | global-functions: $ScriptLock: check if script exists | 1 | -0/+4 | ||
2021-06-30 | global-functions: $ScriptLock: allow to return... | 1 | -3/+8 | ||
... with true instead of breaking with error. | |||||
2021-06-30 | global-functions: $LogPrintExit2: allow origin-specific debug | 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 | 1 | -11/+2 | ||