Age | Commit message (Expand) | Author | Files | Lines |
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 |
2021-04-29 | email-backup: use $SendEMail2•••This drops $EmailBackupTo & $EmailBackupCc from settings! Use settings
overwrite if required:
:global EmailGeneralToOverride {
"email-backup"="backup@example.com";
}
change-49 | Christian Hesse | 1 | -1/+1 |
2021-04-29 | global-functions: $SendEMail2: support file attachments | Christian Hesse | 1 | -3/+5 |
2021-04-29 | global-functions: $DownloadPackage: be more verbose | Christian Hesse | 1 | -2/+4 |
2021-04-29 | global-functions: $DownloadPackage: fix typo | Christian Hesse | 1 | -1/+1 |
2021-04-29 | global-functions: $FlushEmailQueue: try to avoid running simultaneously•••We can not check the status for a *specific* mail, so running simultaneously
is a problem. Let's increase the interval to the number of queue items -
and hope it helps. Decrease when done.
| Christian Hesse | 1 | -1/+3 |
2021-04-28 | global-functions: notify about settings overridechange-48 | Christian Hesse | 1 | -1/+1 |
2021-04-28 | global-functions: $ScriptInstallUpdate: pass origin to $SendNotification2 | Christian Hesse | 1 | -2/+3 |
2021-04-28 | global-functions: $SendTelegram2: support overriding token id and chat id | Christian Hesse | 1 | -7/+7 |
2021-04-28 | global-functions: $SendTelegram2: store token id in queue | Christian Hesse | 1 | -4/+3 |
2021-04-28 | global-functions: $SendEMail2: support overriding to and cc | Christian Hesse | 1 | -2/+8 |
2021-04-28 | global-functions: introduce $EitherOr | Christian Hesse | 1 | -0/+11 |
2021-04-28 | global-functions: $ScriptInstallUpdate: use $SendNotification2 | Christian Hesse | 1 | -3/+3 |
2021-04-28 | global-functions: introduce $SendEMail2, $SendNotification2 & $SendTelegram2•••These accept just one array as argument. Adding new features is possible
without breaking the API.
These calls are the same for now:
$SendNotification "Subject..." "Message...";
$SendNotification2 ({ subject="Subject..."; message="Message..." });
But the latter will bring more features in future.
| Christian Hesse | 1 | -27/+42 |
2021-04-26 | global-functions: $LogPrintExit: add deprecation warning | Christian Hesse | 1 | -0/+1 |
2021-03-21 | global-functions: CertificateDownload: silence certificate import | Christian Hesse | 1 | -1/+1 |
2021-03-17 | global-functions: introduce $EscapeForRegEx | Christian Hesse | 1 | -0/+23 |
2021-03-10 | global-functions: $CertificateAvailable: use pre-test loop•••This is required to test for root CA (without intermediate) directly.
| Christian Hesse | 1 | -2/+2 |
2021-03-04 | global-functions: $ScriptInstallUpdate: run migration unconditionally•••We want the migration to run even if the notification is disabled.
| Christian Hesse | 1 | -41/+52 |
2021-03-03 | global-functions: $DNSIsResolving: have a final return | Christian Hesse | 1 | -1/+1 |
2021-03-03 | global-functions: introduce and use $QuotedPrintable•••Some mail clients do not like unencoded utf-8 in subject... Let's
encode in quoted-printable to fix.
| Christian Hesse | 1 | -2/+41 |
2021-03-03 | global-functions: $UrlEncode: simplify code | Christian Hesse | 1 | -14/+15 |
2021-02-26 | global-functions: $ValidateSyntax: add line breaks•••This makes sure the closing curly bracket is not hidden in comment.
| Christian Hesse | 1 | -1/+1 |
2021-02-26 | global-functions: $ScriptInstallUpdate: validate syntax of changelog and migr... | Christian Hesse | 1 | -15/+28 |
2021-02-26 | global-functions: introduce and use $ValidateSyntax | Christian Hesse | 1 | -7/+15 |
2021-02-25 | global-functions: $ScriptInstallUpdate: add syntax validation | Christian Hesse | 1 | -18/+30 |
2021-02-25 | global-functions: $ScriptInstallUpdate: swap conditions | Christian Hesse | 1 | -4/+5 |
2021-02-25 | global-functions: $FlushEmailQueue: fix syntax | Christian Hesse | 1 | -1/+1 |
2021-02-25 | global-functions: $ScriptInstallUpdate: expect global-config-overlay to be pr... | Christian Hesse | 1 | -8/+3 |
2021-02-25 | global-functions: $ScriptInstallUpdate: list news with 'black circle'•••... if symbols are enabled.
| Christian Hesse | 1 | -1/+4 |
2021-02-24 | global-functions: $CertificateAvailable: use $0 for $RequiredRouterOS | Christian Hesse | 1 | -1/+1 |
2021-02-24 | global-functions: silence fetch | Christian Hesse | 1 | -4/+4 |
2021-02-24 | global-functions: $GetMacVendor: improve error handling•••The API returns 404 on unknown mac vendor... We can just catch error,
but not decide whether it is connection error or unknown vendor.
Try without mac address - on error we have a connection issue.
| Christian Hesse | 1 | -0/+7 |
2021-02-24 | certs: remove obsolote certificate "Let's Encrypt Authority X3"•••Let's Encrypt started issuing certificates from "R3" intermediate on
December 2nd. All certificates should be renewed by now...
change-47 | Christian Hesse | 1 | -1/+1 |
2021-02-24 | backup: notify about random delaychange-46 | Christian Hesse | 1 | -1/+1 |
2021-02-24 | global: give script or function name in log messages | Christian Hesse | 1 | -60/+70 |
2021-02-24 | global-functions: $GetMacVendor: requires certificate "Cloudflare Inc ECC CA-... | Christian Hesse | 1 | -1/+1 |
2021-02-23 | global-functions: $ScriptInstallUpdate: handle migration before message | Christian Hesse | 1 | -3/+3 |
2021-02-22 | We have a Telegram group!change-45 | Christian Hesse | 1 | -1/+1 |
2021-02-18 | global-functions: $FlushTelegramQueue: disable web page preview•••... just as without queue.
| Christian Hesse | 1 | -1/+2 |
2021-02-18 | global-functions: $TimeIsSync: do not flood log...•••... when returning gracefully.
| Christian Hesse | 1 | -1/+1 |
2021-02-18 | global: drop script 'global-wait'•••All scripts wait for the global functions on their own now.
change-44 | Christian Hesse | 1 | -8/+1 |
2021-02-18 | global-functions: $ScriptInstallUpdate: fix change notification•••In RouterOS functions are of type 'array' with 'code' (numerical index 1)
inside. Cast to string to make comparison work.
Also define the function to make it available.
| Christian Hesse | 1 | -2/+3 |
2021-02-18 | global-functions: $ScriptInstallUpdate: Properly escape question mark | Christian Hesse | 1 | -1/+1 |
2021-02-16 | global-functions: $DeviceInfo: shorten text | Christian Hesse | 1 | -1/+1 |
2021-02-16 | global-functions: drop $MailServerIsUp•••Now that we have an e-mail queue we do not care if the server is up or not.
| Christian Hesse | 1 | -47/+0 |
2021-02-16 | global-functions: send (and re-send) e-mails from queuechange-43 | Christian Hesse | 1 | -10/+56 |
2021-02-16 | global-functions: drop support for attachment in notification e-mail | Christian Hesse | 1 | -6/+3 |
2021-02-09 | global-functions: $CertificateAvailable: check chain by akid and skid•••We can merge this when RouterOS 6.47 moves to long-term...
routeros-6.47 | Christian Hesse | 1 | -8/+11 |
2021-02-03 | global-functions: $DownloadPackage: this requires Let's Encrypt "R3" now | Christian Hesse | 1 | -1/+1 |
2021-02-03 | global-functions: $GetMacVendor: this requires Let's Encrypt "R3" now | Christian Hesse | 1 | -1/+1 |
2021-01-22 | global-functions: $LogPrintExit: notify about colorful outputchange-42 | Christian Hesse | 1 | -1/+1 |
2021-01-22 | global-functions: $LogPrintExit: make colorful output configurable | Christian Hesse | 1 | -0/+6 |
2021-01-22 | global-functions: $LogPrintExit: colorful output | Christian Hesse | 1 | -2/+7 |
2021-01-22 | global-functions: $ScriptInstallUpdate: give hint on changes | Christian Hesse | 1 | -0/+6 |