Multiplatformní emulátor terminálu Ghostty byl vydán ve verzi 1.2 (𝕏, Mastodon). Přehled novinek, vylepšení a nových efektů v poznámkách k vydání.
Byla vydána nová verze 4.5 (𝕏, Bluesky, Mastodon) multiplatformního open source herního enginu Godot (Wikipedie, GitHub). Přehled novinek i s náhledy v příspěvku na blogu.
Byla vydána verze 3.0 (Mastodon) nástroje pro záznam a sdílení terminálových sezení asciinema (GitHub). S novou verzí formátu záznamu asciicast v3, podporou live streamingu a především kompletním přepisem z Pythonu do Rustu.
Canonical oznámil, že bude podporovat a distribuovat toolkit NVIDIA CUDA (Wikipedie) v Ubuntu.
Tržní hodnota americké společnosti Alphabet, která je majitelem internetového vyhledávače Google, dnes poprvé překonala hranici tří bilionů dolarů (62,1 bilionu Kč). Alphabet se připojil k malé skupině společností, které tuto hranici pokořily. Jsou mezi nimi zatím americké firmy Nvidia, Microsoft a Apple.
Spojené státy a Čína dosáhly dohody ohledně pokračování populární čínské platformy pro sdílení krátkých videí TikTok v USA. V příspěvku na síti Truth Social to dnes naznačil americký prezident Donald Trump. Dosažení rámcové dohody o TikToku vzápětí oznámil americký ministr financí Scott Bessent, který v Madridu jedná s čínskými představiteli o vzájemných obchodních vztazích mezi USA a Čínou. Bessentova slova později potvrdila také čínská strana.
MKVToolNix, tj. sada nástrojů pro práci s formátem (medialnym kontajnerom) Matroska, byl vydán ve verzi 95.0. Podpora přehrávání formátu Matroska míří do Firefoxu [Bug 1422891, Technický popis]. Přehrávání lze již testovat ve Firefoxu Nightly.
Spolek OpenAlt zve příznivce otevřených řešení a přístupu na 211. sraz, který proběhne v pátek 19. září od 18:00 ve Studentském klubu U Kachničky na Fakultě informačních technologií Vysokého učení technického na adrese Božetěchova 2/1. Na srazu proběhne přednáška Jiřího Eischmanna o nové verzi prostředí GNOME 49. Nemáte-li možnost se zúčastnit osobně, přednáškový blok bude opět streamován živě na server VHSky.cz a následně i zpřístupněn záznam.
Microsoft se vyhnul pokutě od Evropské komise za zneužívání svého dominantního postavení na trhu v souvislosti s aplikací Teams. S komisí se dohodl na závazcích, které slíbil splnit. Unijní exekutivě se nelíbilo, že firma svazuje svůj nástroj pro chatování a videohovory Teams se sadou kancelářských programů Office. Microsoft nyní slíbil jasné oddělení aplikace od kancelářských nástrojů, jako jsou Word, Excel a Outlook. Na Microsoft si
… více »Samba (Wikipedie), svobodná implementace SMB a Active Directory, byla vydána ve verzi 4.23.0. Počínaje verzí Samba 4.23 jsou unixová rozšíření SMB3 ve výchozím nastavení povolena. Přidána byla podpora SMB3 přes QUIC. Nová utilita smb_prometheus_endpoint exportuje metriky ve formátu Prometheus.
Aktuální vývojová verze jádra je 3.16-rc6 vydaná 20. července. Linus začíná mít obavy, že je okolo -rc moc velký šrumec:
rc6 sice pořád není až *tak* veliké, proto nemám vyloženě strach, ale dostávám se do fáze, kdy lidem nadávám a křičím na ně, když mi posílají věci, které do pozdních rc nepatří. Tím neříkám, že to tak někdo dělal: i když je rc6 větší, než bych doufal, není tam nic až tak nesmyslného. Budu na to ale dávat pozor a začnu být nevrlý (nebo nevrLEJŠÍ), pokud zaznamenám, že má slova o uklidňování neberou vážně.
Stabilní aktualizace: verze 3.15.6, 3.14.13, 3.10.49 a 3.4.99 vyšly 17. července.
Pokud si s chráněnou věcí nemůžeme pohrávat z víc míst najednou, pak víš, co dělat, a pokud můžeme, tak také víš, co dělat. Pokud na to nemůžeš přijít, pak pokračuj v boji s dalšími větrnými mlýny, dokud všechny na naší planetě neporazíš.
Se správcem „Všeho zla“ se pojí i zajímavý prsten.
Šestice vývojářů právě zveřejnila dokument, který zkoumá selhání v Linuxu 2.6. V srpnu 2011 Linux vstoupil do své třetí dekády. Před deseti lety Chou et al. vydali studii o chybách aplikováním statické analýzy kódu na verze Linuxu od 1.0 po 2.4.1. Významným výsledkem jejich práce bylo to, že adresář drivers obsahoval až 7krát více chyb určitého druhu než jiné adresáře. Tento výsledek vedl ke snahám o zvýšení spolehlivosti kódu ovladačů. Dnes je Linux používán ve větším množství prostředí, nabízí širší paletu služeb a přijal nový způsob vývoje a vydávání. Jaký je dopad těchto změn na kvalitu kódu? Abychom zodpověděli tuto otázku, přenesli jsme experimenty od Choua et al. na Linux 2.6; verze vydané mezi léty 2003 a 2011. Přišli jsme na to, že velikost Linuxu se za tuto dobu více než zdvojnásobila, ale počet chyb na řádek se snižuje. Chybovost ovladačů je teď navíc nižší než u jiných adresářů jako arch. Tyto výsledky mohou napovědět dalšímu vývoji a výzkumu v nadcházejícím desetiletí. Abychom usnadnili tvorbu dalších výsledků, jak se bude Linux vyvíjet, tak jsme připravili definici našeho protokolu pro experimenty a zpřístupnili jsme své kontrolní nástroje.
Linuxové jádro již poskytuje několik způsobů, jak získávat náhodná čísla, každý z nich má svá omezení. Tato omezení však mohou procesům znemožnit získání náhodných dat, když je právě potřebuje. Projekt LibreSSL si v poslední době stěžoval, že na Linuxu není žádný „spolehlivý“ způsob získání náhodných dat na Linuxu. To vedlo Teda Ts'o k navržení nového systémového volání getrandom(), které by LibreSSL poskytlo to, co potřebuje, a současně by to vyřešilo nějaké další problémy s náhodnými čísly.
Jádro spravuje úložiště náhodných čísel („pooly“), do kterých jsou dodávána data z nepředvídatelných zdrojů (např. prodlevy mezi stisky kláves). Obsah entropie, kterým každá z těchto událostí přispěje, je odhadnut a sledován. Na datech v poolech se používá kryptograficky bezpečný pseudonáhodný generátor čísel (PRNG), který pak dodává data do dvou zařízení: /dev/urandom a /dev/random.
Standardním způsobem, jak získat náhodná čísla od jádra, je číst zařízení /dev/urandom. Je tu ale i zařízení /dev/random, které blokuje tak dlouho, než je nashromážděn dostatek entropie pro obsluhu volání read(). /dev/urandom by se v zásadě mělo používat pro všechna náhodná čísla, avšak /dev/random se někdy používá např. pro velmi citlivé, dlouho používané klíče (např. GPG) nebo jednorázové tabulkové šifry. Aby mohla aplikace kterýkoliv z těchto zdrojů použít, musí dokázat použít open() na souboru, což znamená, že musí mít dostupné popisovače. Také to znamená, že aplikace musí mít schopnost vidět soubory v /dev, což někdy nemusí v případě kontejnerů v chroot() platit.
LibreSSL používá /dev/urandom, má ale nouzové řešení pro případ vyčerpání počtu popisovačů (o které se útočník může postarat) nebo jiné selhání, kdy nelze otevřít soubor. Nouzovým řešením je použít zastaralé systémové volání sysctl() pro přečtení hodnoty /proc/sys/kernel/random/uuid, aniž by bylo nutné tento soubor otevřít (jelikož LibreSSL ví, že /dev/urandom otevřít nejde). sysctl() může jednoho dne zmizet – některá distribuční jádra toto volání už nemají – a někdy způsobuje varování v logu jádra. Pokud sysctl() selže, pak má LibreSSL ještě jedno záložní řešení v podobě děsivě vzhlížející funkce, jež se snaží vygenerovat vlastní náhodná čísla z různých (doufejme) nepředvídatelných hodnot dostupných v uživatelském prostoru (např. časová razítka, čísla PID apod.).
Vše je možné vidět v dobře okomentovaném kusu kódu v souboru getentropy_linux.c v LibreSSL. Poslední komentář v této sekci obsahuje prosbu:
* Doufáme, že toto stačí jako důkaz, že by Linux buď měl zachovat své * sysctl ABI, nebo zvážit poskytnutí nového nouzového API, které funguje * v chrootu nebo v případě vyčerpání popisovačů. */
Toto nové API je právě to, co Ts'o navrhl. Systémové volání getrandom() je v jeho patchi dobře popsáno (nyní ve verzi 4). Má následující deklaraci:
#include <linux/random.h> int getrandom(void *buf, size_t buflen, unsigned int flags);
Toto volání naplní buffer buf až buflen náhodnými bajty, které je možné použít pro kryptografické účely, a vrátí počet uložených bajtů. Asi už správně hádáte, že flags ovlivňuje chování volání. V případě, že flags == 0, pak getrandom() bude blokovat, dokud nebude pool /dev/urandom inicializován. Pokud je flags nastaveno na GRND_NONBLOCK, pak getrandom() vrátí -1 s chybou EAGAIN, pokud pool ještě není připraven.
Příznak GRND_RANDOM lze použít pro přepnutí na pool /dev/random, což s sebou nese požadavky na entropii používané v tomto poolu. To znamená, že volání bude blokovat, dokud nedosáhne pool požadované entropie, leda by bylo ve flags přítomno i GRND_NONBLOCK; v takovém případě by volání vrátilo tolik bajtů, jak je jen aktuálně možné; pokud není k dispozici žádná entropie, pak vrátí -1 s chybou -EAGAIN. Volání vrátí počet bajtů uložených do buf (nebo -1 v případě chyby). Ke krátkému čtení (tzn. je přečteno méně, než je požadováno) může dojít kvůli nedostatku entropie v /dev/random nebo pokud bylo volání přerušeno signálem v případě /dev/urandom a při čtení po 256 bajtech nebo méně je po inicializaci tohoto poolu dávána záruka, že bude obsloužen celý požadavek.
V navrhované manuálové stránce připojené k patchi Ts'o ukazuje kód, kterým lze emulovat systémové volání getentropy() z OpenBSD pomocí getrandom(). Jedna ze stížností na patch přišla od Christopha Hellwiga, kterému vadilo, že Ts'o neimplementuje to samé systémové volání jako OpenBSD. Dále řekl: Mít trochu odlišná jména a sémantiku pro tu samou funkčnost je dost k zlosti. Jenže Ts'o se snaží vyřešit víc než jen problém LibreSSL, jak sám říká. getrandom() má být nadmnožinou getentropy() na OpenBSD – glibc může snadno vytvořit kompatibilní implementaci getentropy(), jak ukázal ve svém patchi.
To, že /dev/urandom musí být inicializováno dříve, než getrandom() vrátí jakákoliv data z tohoto poolu, je jednou z nových funkcí poskytovaných tímto systémovým voláním. V současnosti nemají aplikace jak zjistit, jestli bylo od bootu systému nashromážděno alespoň 128 bitů entropie (což je pro inicializaci /dev/urandom nezbytné). Nyní může aplikace buď čekat zablokovaná, než se tak stane, nebo to opakovaně zkoušet s příznakem GRND_NONBLOCK. Jelikož je chování /dev/urandom součástí jaderného ABI, není možné jej upravit, ale přidání blokování do nového systémového volání je naprosto v pořádku.
Systémové volání také nabízí způsob, jak číst /dev/random bez blokování a dostat jen část požadovaných dat, pokud se entropie nedostává. Je trochu těžké si představit, k čemu to lze doopravdy využít – pokud nepotřebujete plný buffer náhodných čísel z kvalitní entropie, pak proč o něj žádat? Pravdou je, že toto nové volání nabízí různé způsoby, jak zneužívat náhodný generátor čísel v jádře (např. tím, že požádáte o INT_MAX bajtů), ale v tomto ohledu se to od stávajících rozhraní neliší.
Tedovy patche vyvolaly spousty komentářů různých druhů, ale jen málo stížností. Celá myšlenka účastníkům diskuze dává smysl. Některé změny byly provedeny na základě komentářů, hlavně pak přechod na blokování ve výchozím módu. Poslední revize už ale vyvolala jen komentáře ohledně překlepů. Pokud se toto nezmění, pak bychom mohli getrandom() v jádře očekávat brzo, možná už v Linuxu 3.17.
Nástroje: Tisk bez diskuse
Tiskni
Sdílej:
return 4;