Byl vydán Fedora Asahi Remix 40, tj. linuxová distribuce pro Apple Silicon vycházející z Fedora Linuxu 40.
Představena byla služba Raspberry Pi Connect usnadňující vzdálený grafický přístup k vašim Raspberry Pi z webového prohlížeče. Odkudkoli. Zdarma. Zatím v beta verzi. Detaily v dokumentaci.
Byla vydána verze R14.1.2 desktopového prostředí Trinity Desktop Environment (TDE, fork KDE 3.5). Přehled novinek v poznámkách k vydání, podrobnosti v seznamu změn.
Dnešním dnem lze již také v Česku nakupovat na Google Store (telefony a sluchátka Google Pixel).
Apple představil (keynote) iPad Pro s čipem Apple M4, předělaný iPad Air ve dvou velikostech a nový Apple Pencil Pro.
Richard Biener oznámil vydání verze 14.1 (14.1.0) kolekce kompilátorů pro různé programovací jazyky GCC (GNU Compiler Collection). Jedná se o první stabilní verzi řady 14. Přehled změn, nových vlastností a oprav a aktualizovaná dokumentace na stránkách projektu. Některé zdrojové kódy, které bylo možné přeložit s předchozími verzemi GCC, bude nutné upravit.
Free Software Foundation zveřejnila ocenění Free Software Awards za rok 2023. Vybráni byli Bruno Haible za dlouhodobé příspěvky a správu knihovny Gnulib, nováček Nick Logozzo za front-end Parabolic pro yt-dlp a tým Mission logiciels libres francouzského státu za nasazování svobodného softwaru do praxe.
Před 10 lety Microsoft dokončil akvizici divize mobilních telefonů společnosti Nokia a pod značkou Microsoft Mobile ji zanedlouho pohřbil.
Fedora 40 release party v Praze proběhne v pátek 17. května od 18:30 v prostorách společnosti Etnetera Core na adrese Jankovcova 1037/49, Praha 7. Součástí bude program kratších přednášek o novinkách ve Fedoře.
Stack Overflow se dohodl s OpenAI o zpřístupnění obsahu Stack Overflow pro vylepšení OpenAI AI modelů.
sieve_before
a sieve_after
, které umožňují definovat další Sieve skripty (nebo celé adresáře se skripty). Pravidla v sieve_before
se zpracují před uživatelskými pravidly, sieve_after
po nich (ale jen v případě, že zpráva zůstává ve zpracování). Takže pokud už se má nějaké zpracování vynucovat všem uživatelům (i když to obecně nevidím jako přínosné), lze to využít. Všechny tyto skripty (stejně jako skript s globálními pravidly) se musí předem kompilovat pomocí sievec
.
Vy sieve_before a sieve_after pouzivate uspesne?Nepoužívám vůbec. Zatím jsem neměl takovou potřebu a obecně mě nenapadá příliš případů, kdy to má smysl (proto jsem to ani neuvedl v článku). Nicméně to mohu příležitostně vyzkoušet.
sieve_before
a funguje bez problémů.
... xfilter "/usr/sbin/spamc" ... if (/^X-Spam-Status: *Yes/) { exception { to ... } } ...
require ["fileinfo", "copy"]; if header :contains "X-Spam-Status" "Yes" { setflag "$Junk"; fileinto ".Spam"; stop; } else { "fileinto" :copy folder: "/home/backup/%d/%n";Nicmene mi to nefunguje. Domnival jsem se, ze misto %d se doplni domena.tld a misto %n username. Existuje nejaky elegantni a funkcni zpusob, jak dostat z hlavicky uzivatele a domenu (treba i nejak parsovat To:)...?
if
, to else
už je zbytečné. Mimochodem zbytečný je i příkaz stop
, protože akce fileinto
ruší implicitní keep
(viz RFC 5228, bod 2.10.2) a žádný jiný důvod k uvedení zde není.
Není to myšleno jako zálohování (když tam vidím to backup)? Pokud ano, tak mi to nepřijde jako příliš smysluplné řešení, spíš jako takové "velkobratrské" (ukládá se všechno, nezálohuje se stav ke konkrétnímu okamžiku).
editheader
podle RFC 5293, bylo by to velmi jednoduché - stačilo by podle obálkového příjemce vytvořit novou hlavičku (např. X-Original-Recipient
), pak to přeposlat na speciálního uživatele (třeba velkybratr@moje.domena
), u něj pak tuto hlavičku rozežírat a zprávy správně třídit. Jenže protože zatím toto rozšíření podporováno není, nelze takové řešení použít.
Možná by se ale dala rozežírat hlavička Delivered-To
, protože je možné (ale to právě nevím), že se přidává do zprávy až na konci zpracování LDA. Chtělo by to prověřit, zda tam po přeposlání kopie nejsou ty hlavičky dvě. Pokud je tam opravdu jen ta první, je vyhráno - stačí hlavičku pomocí :domain
a :localpart
rozežrat do proměnných a podle nich pak uložit zprávu do správné složky.
require ["fileinfo", "copy", "envelope"]; if header :contains "X-Spam-Status" "Yes" { setflag "$Junk"; fileinto ".Spam"; stop; } else { "fileinto" :copy folder: "/home/backup/:domain/:localpart"; }
require ["fileinto", "copy", "envelope", "variables"]; ... if allof(envelope :domain :matches "to" "*", envelope :localpart :matches "to" "*") { fileinto :copy "/home/backup/${1}/${2}"; }Je to jen hrubý nástřel. Dělá to to, že se vyhodnocují obě části adresy obálkového příjemce, dají se do proměnných a tyto proměnné se pak použijí. Jenže zásadní problém bude v tom, že asi nebude možné použít absolutní cestu k poštovní složce (nezkoušel jsem, v dokumentaci o tom nic není, nicméně velmi pochybuji).
To:
, která nemusí odpovídat skutečnosti. Hlavičku Delivered-To:
jsem teď zkusil, ale tu použít nelze, protože se tam vloží ve druhém exempláři při doručování po přeposlání.
To ale stale neresi situaci, kdy potrebuji mit kopie ne v Maildiru urciteho uzivatele, ale v uplne jine cesteTo je velmi snadno řešitelné tím, že se ten Maildir umístí na tu správnou cestu.
Jeste mne teda napada vlozit pred frontu (v master.cf) skript, ktery by udelal kopii, respektive nakopiroval email do zaloh a zpravu poslal zpet do fronty postfixu kde ji prevezme deliver. Tohle asi neni uplne nejsistci reseni.Pak existují ještě jiná řešení. Tak například využít incron, pokud by už uměl rekurzivně sledovat celé podstromy filesystému (ššššššššš - to se snáší popel na moji hlavu ). Nebo použít jiné programy, které už to umějí, např. inotify-tools. Pak stačí jen chytat událost
IN_MOVED_TO
, testovat, zda šlo o přesun z adresáře tmp
do new
v rámci inboxu (protože to je operace, kterou je završeno doručení zprávy) a pak už jen kopírovat příslušné zprávy.
zda šlo o přesun z adresáře tmp do new v rámci inboxuResp. spíš nejen v rámci inboxu, ale ve všech poštovních složkách kromě spamové.
Tiskni Sdílej: