Byla vydána Java 26 / JDK 26. Nových vlastností (JEP - JDK Enhancement Proposal) je 10. Odstraněno bylo Applet API.
Byla vydána nová verze 260 správce systému a služeb systemd (Wikipedie, GitHub). Odstraněna byla podpora skriptů System V. Aktualizovány byly závislosti. Minimální verze Linuxu z 5.4 na 5.10, OpenSSL z 1.1.0 na 3.0.0, Pythonu z 3.7.0 na 3.9.0…
Byla vydána nová verze 5.1 svobodného 3D softwaru Blender. Přehled novinek i s náhledy a videi v poznámkách k vydání. Videopředstavení na YouTube.
Bylo oznámeno vydání nové verze 8.1 "Hoare" kolekce svobodného softwaru umožňujícího nahrávání, konverzi a streamovaní digitálního zvuku a obrazu FFmpeg (Wikipedie). Doprovodný příspěvek na blogu Khronosu rozebírá kódování a dekódování videa pomocí Vulkan Compute Shaders v FFmpeg.
Byl představen open-source a open-hardware prototyp nízkonákladového raketometu kategorie MANPADS, který byl sestaven z běžně dostupné elektroniky a komponent vytištěných na 3D tiskárně. Raketa využívá skládací stabilizační křidélka a canardovou stabilizaci aktivně řízenou palubním letovým počítačem ESP32, vybaveným inerciální měřicí jednotkou MPU6050 (gyroskop a akcelerometr). Přenosné odpalovací zařízení obsahuje GPS,
… více »Vědci z univerzity La Sapienza v Římě vyvinuli systém, který dokáže identifikovat jednotlivce pouze na základě toho, jak narušují signály Wi-Fi. Autoři tuto novou technologii nazvali WhoFi. Na rozdíl od tradičních biometrických systémů, jako jsou skenery otisků prstů a rozpoznávání obličeje, nevyžaduje tato metoda přímý fyzický kontakt ani vizuální vstupy. WhoFi může také sledovat jednotlivce na větší ploše než kamera s pevnou polohou; stačí, je-li k dispozici Wi-Fi síť.
SuperTux (Wikipedie), tj. klasická 2D plošinovka inspirovaná sérií Super Mario, byl vydán v nové verzi 0.7.0. Videoukázka na YouTube. Hrát lze i ve webovém prohlížeči.
Ageless Linux je linuxová distribuce vytvořená jako politický protest proti kalifornskému zákonu o věkovém ověřování uživatelů na úrovni OS (AB 1043). Kromě běžného instalačního obrazu je k dispozici i konverzní skript, který kompatibilní systém označí za Ageless Linux a levné jednodeskové počítače v ceně 12$ s předinstalovaným Ageless Linuxem, které se chystají autoři projektu dávat dětem. Ageless Linux je registrován jako operační
… více »PimpMyGRC upravuje vzhled toolkitu GNU Radio a přidává alternativní barevná témata. Primárním cílem autora bylo pouze vytvořit tmavé prostředí vhodné pro noční práci, nicméně k dispozici je nakonec celá škála barevných schémat včetně možností různých animací a vizuálních efektů (plameny, matrix, bubliny...), které nepochybně posunou uživatelský zážitek na zcela jinou úroveň. Témata jsou skripty v jazyce Python, které nahrazují
… více »GIMP 3.2 byl oficiálně vydán (Mastodon, 𝕏). Přehled novinek v poznámkách k vydání.
Jádro 4.14 bylo vydáno 12. listopadu a začleňovací okno cyklu 4.15 je otevřené. Stěžejní funkce tohoto vydání zahrnují odvíjení ORC pro spolehlivější zpětné trasování a patchování za chodu, dlouho očekávaný režim vláken v kontrolních skupinách, podporu AMD Secure Memory Encryption, podporu pětiúrovňových tabulek stránek, funkci umožňující síťový přenos bez kopírování, subsystém správy heterogenní paměti a další. Více informací najdete na stránce Kernel Newbies věnované jádru 4.14. Nakonec bylo do jádra 4.14, které je plánováno jako další vydání s dlouhodobou podporou, začleněno téměř 13 500 sad změn.
Pro správce bylo pozoruhodné Linusovo varování (v oznámení vydání 4.14), že začleňovací okno 4.15 mohlo být vzhledem k americkému Dni díkuvzdání o něco kratší. (Poznámka překladatele: nakonec 4.15-rc1 vyšla podle plánu, tedy 26. listopadu.)
Stabilní aktualizace: 4.13.13, 4.9.62, 4.4.98 a 3.18.81 byly vydány 15. listopadu.
Tohle je ta velká sada patchů char/misc pro začleňovací okno 4.15-rc1. Obsahuje obvyklou skupinu nových funkcí přidanou ke všem těm šíleným ovladačům, jakožto i následující zcela nové subsystémy:
Všechny tyto patche byly úspěšně otestovány na nejnovějších vydáních linux-next a původní problémy, které se tím našly, jsou vyřešeny (omlouvám se všem, kdo žijí v blízkosti Canberry, že v dřívějších verzích ze stromu linux-next chyběly volby Kconfig.)
První pravidlo při pohledu na uživatelský prostor zní, že je buď rozbitý, nebo nepřátelský. Rozumný a uživatelský prostor se navzájem vylučují.
The inherent fragility of seccomp(). Jonathan Corbet. 10. listopadu 2017
Vývojáři jádra se už řadu let obávají, že trasovací body by mohly vést k závislosti aplikací na obskurních implementačních detailech. Z toho plynoucí potřeba zachovat dosavadní chování, aby se zabránilo vzniku regresí, by ale mohla ztěžovat budoucí vývoj. Nedávná zpráva poukazuje, že systémové volání seccomp() je také náchylnější k regresím, než uživatelé očekávají – jaderní vývojáři ovšem tyto regrese pravděpodobně nezpůsobují a vlastně nemají příliš možnost jim zabránit. Programy, které seccomp() používají, jsou přirozeně náchylnější k rozbití po aktualizaci softwaru.
seccomp() umožňuje vytvoření filtru, který omezí množinu systémových volání, která je procesu k dispozici. Má to zřejmé využití související se sandboxingem. Pokud aplikace nepotřebuje např. systémové volání open(), může zamezení přístupu k tomuto volání snížit rozsah škod, které by mohly vzniknout v případě napadení aplikace. Jak se rozšiřuje tvrzení systémů a programů, lze očekávat, že využití seccomp() bude i nadále růst.
Michael Kerrisk nedávno oznámil, že povýšením glibc na verzi 2.26 se rozbila jedna z jeho demonstračních aplikací. Tento program používal seccomp() k blokování přístupu k systémovému volání open(). Problém, na který narazil, spočívá v tom, že aplikace téměř nikdy nevolají systémová volání přímo, místo toho volají wrapper definovaný v knihovně C.
Wrapper open() v glibc od počátku obaloval jaderné systémové volání open(). Ale open() je staré rozhraní, které bylo již dávno nahrazeno voláním openat(). Staré volání stále existuje, protože aplikace jeho přítomnost očekávají, ale v jádře je implementováno jako zvláštní případ openat(). Ve glibc 2.26 došlo ke změně wrapperu open(), aby nově volal přímo openat(). Tato změna nebyla viditelná běžným aplikacím, ale rozbíjí filtry seccomp(), které se chovají pro open() a openat() odlišně.
Kerrisk si vlastně nestěžoval na změnu samotnou, ale chtěl vývojáře glibc informovat o tom, že jejího dopadu si uživatelé mohli všimnout: „Chci zvýšit povědomí o tom, že tento druh změn může potenciálně způsobit rozbití nějakého kódu, který využívá seccomp(), a myslím si, že by se takové změny neměly dít bezmyšlenkovitě nebo bezdůvodně.“ Naznačil, že vývojáři by při provádění takových změn měli mít riziko rozbití filtrů seccomp() na paměti a dokumentovat tyto změny v případech, kdy se jim nelze vyhnout.
Florian Weimer ale nesouhlasil:
Mám opačný názor: měli bychom tyto změny dělat co nejčastěji, abychom lidem připomněli, že filtry seccomp() (a některá pravidla SELinuxu a AppArmor) nejsou kompatibilní s modelem GNU/Linuxu, kde je vše vyvíjeno odděleně a udržováno mimo jediný strom se zdrojáky (na rozdíl od třeba OpenBSD). To znamená, že se opravdu nemůžete odklonit od upstreamového linuxového ABI pro uživatelský prostor (v co nejširším možném slova smyslu) a stále očekávat, že vše bude fungovat.
Jiný způsob, jak to podat, by mohl vypadat takto: filtry seccomp() se nepovažují za součást ABI poskytovaného glibc, takže nekompatibilní změny nejsou považovány za regrese. Místo toho jsou důsledkem filtrování na úrovni nižší než glibc, zatímco očekávané chování nad touto úrovní zůstává beze změny.
Zdá se, že Weimerův pohled je ten, kterým se bude vývoj glibc řídit do budoucna. Kerrisk tedy navrhl několik změn manuálových stránek, aby křehkost filtrů seccomp() vývojáře překvapovala o něco méně. Na této úrovni bude potřeba poměrně hluboké pochopení toho, co se děje, a schopnost přizpůsobit se budoucím změnám knihovny C.
Tento výsledek se dá považovat za argument pro filtrovací rozhraní podobné pledge() z OpenBSD. Tak jako seccomp() i pledge() se používá k omezení množiny systémových volání, kterou má proces k dispozici, ale pledge() pracuje spíše na úrovni obecné funkcionality než jednotlivých systémových volání. Dá se použít například k povolení základního I/O do/ze souboru a současně zakázání otevírání (nebo vytváření) nových souborů. Volání pledge() má mnohem menší granularitu než seccomp() a nemůže ani zdaleka posloužit k implementaci podobně široké škály pravidel, ale v případě základního filtrování se zdá, že riziko překvapení po aktualizaci jádra nebo knihovny je s ním mnohem menší.
Jenže Linux pledge() neobsahuje a je nepravděpodobné, že by se v něm mohlo objevit. Volání seccomp() práci při sandboxingu jistě odvede, ale vývojáři, kteří ho používají, by měli očekávat, že budou muset vynaložit nějaký čas a námahu na správu svých filtrů.
Nástroje: Tisk bez diskuse
Tiskni
Sdílej: