aboutsummaryrefslogtreecommitdiffstats
path: root/global-functions.rsc
AgeCommit message (Expand)AuthorFilesLines
2024-06-21notify on changes regarding certificateschange-130Gravatar Christian Hesse1-1/+1
2024-06-21certs: GTS CA 1C3 / GTS CA 1P5 -> GTS Root R1Gravatar Christian Hesse1-1/+1
2024-06-21certs: R3 / R10 -> ISRG Root X1Gravatar Christian Hesse1-1/+1
2024-06-21certs: E1 / E5 -> ISRG Root X2•••In the beginning of Let's Encrypt their root certificate ISRG Root X1 was not widely trusted, at least some older and/or mobile platforms were missing that certificate in their root certificate store. At that time Let's Encrypt was using an alternative chain of trust, where a certificate was cross-signed with DST Root CA X3. To make sure a valid chain of trust is available under all circumstances a set of all certificates had to be supplied: both root vertificates ISRG Root X1 & DST Root CA X3, and an intermediate certificate. This was still true after DST Root CA X3 expired, as it could still be used as a root anchor and was shipped by Let's Encrypt when requested. 🤪 This time is finally over, and we have a clean chain for trust ending in ISRG Root X1 (or ISRG Root X2). Well, actually it is the other way round... Let's Encrypt signs with different tantamount intermediate certificates. There is not only E5, but also E6 - and we can not know beforehand which one is used on renew. So let's jetzt drop the intermediate certificates now, and rely on root certificates only. We are perfectly fine with this these days. Follow-up commits will do the same for *all* certificates. The certificate is downloaded with: curl -d '["ISRG Root X2"]' https://mkcert.org/generate/ | grep -v '^$' > certs/ISRG-Root-X2.pem Gravatar Christian Hesse1-1/+1
2024-06-19Let's Encrypt changed their intermediate certificates•••https://letsencrypt.org/2024/03/19/new-intermediate-certificates https://letsencrypt.org/certificates/ But let's keep the old ones around for now, as some sites are still using the old intermediate. Gravatar Christian Hesse1-1/+1
2024-06-01global-functions: $CleanName: no exception for dash...•••... as we still want to deduplicate it when it is inside the input string. This also unbreak certificate import for "Go Daddy Secure Certificate Authority - G2" (and more)... Gravatar Christian Hesse1-1/+1
2024-05-23backup-partition: news on support for copy-overchange-129Gravatar Christian Hesse1-1/+1
2024-05-15global-functions: $IsTimeSync: initialize with uptime...•••... to make sure the warning is not issued too early. Gravatar Christian Hesse1-2/+2
2024-05-14fw-addr-lists: add 'strongips' list from blocklist.dechange-128Gravatar Christian Hesse1-1/+1
2024-05-08global-functions: $IsTimeSync: add (one time) warning on failed ntp syncGravatar Christian Hesse1-0/+1
2024-05-08global-functions: $IsTimeSync: log just onceGravatar Christian Hesse1-3/+3
2024-04-29global-functions: $WaitForFile: drop extra conversionGravatar Christian Hesse1-1/+1
2024-04-29global-functions: $WaitForFile: respect minimum delayGravatar Christian Hesse1-1/+2
2024-04-29global-functions: $WaitForFile: use fewer stepsGravatar Christian Hesse1-2/+2
2024-04-29global-functions: $CleanName: do not start with a dashGravatar Christian Hesse1-4/+12
2024-04-29global-functions: $FetchHuge: remove temporary directoryGravatar Christian Hesse1-4/+5
2024-04-19global-functions: $CertificateDownload: remove with find...•••... to make sure this does not break when the file does no longer exist. Starting with RouterOS 7.15rc1 the file is automatically removed on import. routeros-7.15rc1-1Gravatar Christian Hesse1-1/+1
2024-04-19global-functions: introduce $ProtocolStripGravatar Christian Hesse1-0/+12
2024-04-15global-functions: $CertificateDownload: use single quotesGravatar Christian Hesse1-2/+2
2024-04-15global-functions: $CertificateAvailable: use single quotesGravatar Christian Hesse1-3/+3
2024-04-15mod/notification-ntfy: support basic auth•••Closes #59 change-127Gravatar Christian Hesse1-1/+1
2024-04-11global-functions: $ScriptFromTerminal: check multiple invocations...•••... and return false. We can not tell which job is us... So better safe than sorry. Gravatar Christian Hesse1-1/+6
2024-04-11global-functions: $ScriptLock: break long linesGravatar Christian Hesse1-2/+5
2024-04-11global-functions: $ScriptLock: degrade message to debugGravatar Christian Hesse1-2/+2
2024-04-10global-functions: $SendNotification: set originGravatar Christian Hesse1-1/+1
2024-04-07global-functions: $HumanReadableNum: indicate binary base...•••... and update scripts to match the change. Gravatar Christian Hesse1-2/+6
2024-04-07global-functions: drop $LogPrintExit2Gravatar Christian Hesse1-22/+0
2024-04-06global-functions: $FetchHuge: remove file on failed downloadGravatar Christian Hesse1-0/+3
2024-04-06global-functions: $FetchHuge: make sure to work with clean file namesGravatar Christian Hesse1-3/+4
2024-04-06global-functions: $FetchHuge: control check-certificate with parameterGravatar Christian Hesse1-3/+7
2024-04-06global-functions: $FetchHuge: use custom user agent stringGravatar Christian Hesse1-1/+3
2024-04-06global-functions: introduce $FetchHugerouteros-7.13-4Gravatar Christian Hesse1-1/+38
2024-04-02global-functions: drop $ParseJsonGravatar Christian Hesse1-61/+0
2024-04-01telegram-chat: read file content...•••... instead of getting it. This lifts the size limit, though we are still limited by Telegram message size. This requires RouterOS 7.13. routeros-7.13-2change-126Gravatar Christian Hesse1-1/+1
2024-03-31news on charge and feesGravatar Christian Hesse1-1/+1
2024-03-29global-functions: rename $FetchUserAgent -> $FetchUserAgentStr•••... to make sure the function does not clash with the variable we had before, as this causes issue with news and changes notification. Gravatar Christian Hesse1-7/+7
2024-03-27global-functions: $HumanReadableNum: set declared function onlyGravatar Christian Hesse1-1/+1
2024-03-27global-functions: $AlignRight: set declared function onlyGravatar Christian Hesse1-1/+1
2024-03-27global-functions: $FetchUserAgent: set declared function onlyGravatar Christian Hesse1-1/+1
2024-03-27global-functions: $LogPrintOnce: detect and warn on possible crashGravatar Christian Hesse1-0/+5
2024-03-26global-functions: $LogPrintOnce: indicate action via returnGravatar Christian Hesse1-1/+2
2024-03-21telegram-chat: improve readability with symbolsGravatar Christian Hesse1-0/+1
2024-03-16global-functions: $CertificateDownload: download via clean name...•••... and rename certificates in repository. Gravatar Christian Hesse1-9/+8
2024-03-16global-functions: generate user agent string in function...•••... and add the caller and my shortened url. Gravatar Christian Hesse1-11/+16
2024-03-15global-functions: $LogPrintExit2: add deprecation warningGravatar Christian Hesse1-0/+4
2024-03-15global-functions: $ScriptInstallUpdate: use shorter urlGravatar Christian Hesse1-1/+1
2024-03-14global-functions: $SymbolByUnicodeName: add these for later useGravatar Christian Hesse1-0/+3
2024-03-13netwatch-notify: pass link to notification•••This is pass verbatim below the notification text. change-124Gravatar Christian Hesse1-1/+1
2024-03-12global-functions: switch to $LogPrintGravatar Christian Hesse1-80/+82
2024-03-12global-functions: introduce $LogPrint, deprecate $LogPrintExit2change-123Gravatar Christian Hesse1-4/+17
2024-03-12global-functions: $LogPrintOnce: drop support for exit•••This is not widely adopted or used, so let's just drop it - no compatibility. Gravatar Christian Hesse1-5/+4
2024-03-12global-functions: add architecture in user-agent stringGravatar Christian Hesse1-1/+6
2024-03-12global-config: support loading snippets•••This adds support for loading snippets, which need a name starting with "global-config-overlay.d/". This allows to split off configuration if desired. change-122Gravatar Christian Hesse1-1/+1
2024-03-12news on wifiwave2 EOLchange-121Gravatar Christian Hesse1-1/+1
2024-03-12backup-cloud: catch error with :execute workaround•••Catching a runtime error here fails... So let's try a workaround with :execute... change-120Gravatar Christian Hesse1-1/+1
2024-03-12global-functions: $ScriptLock: fix wording...•••... as this does (no longer) abort. Gravatar Christian Hesse1-1/+1
2024-03-12global-functions: $ScriptLock: do not exit from global functionGravatar Christian Hesse1-5/+4
2024-03-12global-functions: $DownloadPackage: do not exit from global functionGravatar Christian Hesse1-1/+2
2024-03-12global-functions: use variable name $ScriptNameGravatar Christian Hesse1-2/+2
2024-02-29fw-addr-lists: add support for IPv6change-119Gravatar Christian Hesse1-1/+1
2024-01-31global-functions: $CertificateNameByCN: use $CleanNameGravatar Christian Hesse1-3/+2
2024-01-31global-functions: introduce $CleanNameGravatar Christian Hesse1-0/+19
2024-01-31global-functions: $MkDir: drop declaration of unused functionsGravatar Christian Hesse1-2/+0
2024-01-31global-functions: $IsDNSResolving: drop declaration of unused functionGravatar Christian Hesse1-2/+0
2024-01-30global-functions: $ScriptInstallUpdate: warn just once...•••... for every script on required RouterOS version. Gravatar Christian Hesse1-1/+2
2024-01-30global-functions: use :jobname to get script nameGravatar Christian Hesse1-1/+1
2024-01-30send a warning on storage sizechange-118Gravatar Christian Hesse1-1/+1
2024-01-30packages-update: support deferred reboot on auto-update•••Closes #56 change-117Gravatar Christian Hesse1-1/+1
2024-01-30global-functions: $RandomDelay: always scale to ms...•••... to randomize in friction of unit. This requires :tonsec from RouterOS 7.12. routeros-7.12-1Gravatar Christian Hesse1-2/+3
2024-01-29global-functions: $RandomDelay: allow zero time, return immediatelyGravatar Christian Hesse1-0/+4
2024-01-29global-functions: $RandomDelay: name the parametersGravatar Christian Hesse1-1/+4
2024-01-20global-functions: $SymbolByUnicodeName: log warning on missing nameGravatar Christian Hesse1-0/+7
2024-01-20global-functions: $SymbolByUnicodeName: name the parameterGravatar Christian Hesse1-1/+3
2024-01-18global-functions: log successful loadingGravatar Christian Hesse1-0/+5
2024-01-18global-functions: $LogPrintOnce: support exitGravatar Christian Hesse1-1/+2
2024-01-16global-functions: $HexToNum: use :tonumGravatar Christian Hesse1-7/+5
2024-01-08global-functions: $CertificateDownload: move delay up•••We still had cases where fetch misbehaves... But this was permanent. Perhaps we should not touch the certificate too early... Gravatar Christian Hesse1-1/+1
2024-01-01update copyright for 2024Gravatar Christian Hesse1-1/+1
2023-12-22global-functions: $GetMacVendor: get new certificate•••The service now uses: GTS CA 1P5 -> GTS Root R1 Gravatar Christian Hesse1-1/+1
2023-12-05mention the donation hint...change-116Gravatar Christian Hesse1-1/+3
2023-12-05celebrating ✨⭐ 1.000 stars ⭐✨ on Github!change-115Gravatar Christian Hesse1-1/+2
2023-12-04global-functions: $FormatLine: use $CharacterMultiplyGravatar Christian Hesse1-1/+3
2023-12-04global-functions: $AlignRight: use $CharacterMultiplyGravatar Christian Hesse1-1/+2
2023-12-04global-functions: introduce $CharacterMultiplyGravatar Christian Hesse1-0/+10
2023-12-04global-functions: $DeviceInfo: add SNMP location and contactGravatar Christian Hesse1-1/+6
2023-11-30global-functions: introduce $MINGravatar Christian Hesse1-0/+7
2023-11-30global-functions: introduce $MAXGravatar Christian Hesse1-0/+7
2023-11-30global-functions: $SymbolByUnicodeName: rename up-arrow -> arrow-up•••... so arrows are grouped in case we add more. Gravatar Christian Hesse1-1/+1
2023-11-30global-functions: $SymbolForNotification: properly append space to alt textGravatar Christian Hesse1-2/+3
2023-11-23global-functions: introduce $AlignRightGravatar Christian Hesse1-0/+14
2023-11-15global-functions: introduce $HumanReadableNumGravatar Christian Hesse1-0/+31
2023-11-15notify about parted scripts for wifi packagechange-114Gravatar Christian Hesse1-1/+1
2023-11-09global-functions: drop $Read•••... which is no longer required now that RouterOS 7.12beta1 provides /terminal/ask. Gravatar Christian Hesse1-6/+0
2023-11-09mod/notification-matrix: introduce $SetupMatrix{Authenticate,JoinRoom} for setup•••Well, now that we have a JSON parser... Let's improve the user experience a bit. change-113Gravatar Christian Hesse1-1/+1
2023-11-09mod/ssh-keys-import: calculate fingerprint...•••... and store it in key-owner, which is descriptive only. This requires RouterOS 7.12beta1 for the 'transform' property for ':convert' command. routeros-7.12beta1-2change-112Gravatar Christian Hesse1-1/+1
2023-11-07global-functions: $ParseDate: drop code for old format...•••... and increase required RouterOS. We should probably wait some time before merging this: Even current versions have some hidden places with old format: [admin@MikroTik] > /system/resource/print [...] version: 7.10.2 (stable) build-time: Jul/12/2023 09:45:11 [...] (Though this is written with capital letter and fails anyway...) Something similar goes for `/ip/neighbor`, where format depends on remote devices. Does anybody need to parse this? routeros-7.10beta5-2Gravatar Christian Hesse1-10/+1
2023-10-27dhcp-to-dns: allow multiple records for one mac address•••Now that we can have differnt name suffixes via networks it makes sense to allow multiple records for one mac address. Also update the wording for messages... change-111Gravatar Christian Hesse1-1/+1
2023-10-27global-functions: introduce $LogPrintOnce•••This does work just like $LogPrintExit2, except it acts just *once* for each message, until device is rebooted. Gravatar Christian Hesse1-0/+23
2023-10-26global: switch eworm.de to new certificate chain (E1 / ISRG Root X2)•••old chain: R3 / ISRG Root X1 new chain: E1 / ISRG Root X2 No user interaction or migration is required for existing installations as we install 'E1' and 'ISRG Root X2' for some time already. Gravatar Christian Hesse1-4/+0
2023-10-25global-functions: $ParseJson: prevent infinite loop...•••... which could happen on corrupted or truncated input. Gravatar Christian Hesse1-2/+4