Spotify prostřednictvím svého FOSS fondu rozdělilo 70 000 eur mezi tři open source projekty: FFmpeg obdržel 30 000 eur, Mock Service Worker (MSW) obdržel 15 000 eur a Xiph.Org Foundation obdržela 25 000 eur.
Nazdar! je open source počítačová hra běžící také na Linuxu. Zdrojové kódy jsou k dispozici na GitHubu. Autorem je Michal Škoula.
Po více než třech letech od vydání verze 1.4.0 byla vydána nová verze 1.5.0 správce balíčků GNU Guix a na něm postavené stejnojmenné distribuci GNU Guix. S init systémem a správcem služeb GNU Shepherd. S experimentální podporou jádra GNU Hurd. Na vývoji se podílelo 744 vývojářů. Přibylo 12 525 nových balíčků. Jejich aktuální počet je 30 011. Aktualizována byla také dokumentace.
Na adrese gravit.huan.cz se objevila prezentace minimalistického redakčního systému GravIT. CMS je napsaný ve FastAPI a charakterizuje se především rychlým načítáním a jednoduchým ukládáním obsahu do textových souborů se syntaxí Markdown a YAML místo klasické databáze. GravIT cílí na uživatele, kteří preferují CMS s nízkými nároky, snadným verzováním (např. přes Git) a možností jednoduchého rozšiřování pomocí modulů. Redakční
… více »Tým Qwen (Alibaba Cloud) uvolnil jako open-source své modely Qwen3‑TTS pro převádění textu na řeč. Sada obsahuje modely VoiceDesign (tvorba hlasu dle popisu), CustomVoice (stylizace) a Base (klonování hlasu). Modely podporují syntézu deseti různých jazyků (čeština a slovenština chybí). Stránka projektu na GitHubu, natrénované modely jsou dostupné na Hugging Face. Distribuováno pod licencí Apache‑2.0.
Svobodný citační manažer Zotero (Wikipedie, GitHub) byl vydán v nové major verzi 8. Přehled novinek v příspěvku na blogu.
Byla vydána verze 1.93.0 programovacího jazyka Rust (Wikipedie). Podrobnosti v poznámkách k vydání. Vyzkoušet Rust lze například na stránce Rust by Example.
Svobodný operační systém ReactOS (Wikipedie), jehož cílem je kompletní binární kompatibilita s aplikacemi a ovladači pro Windows, slaví 30. narozeniny.
Společnost Raspberry Pi má nově v nabídce flash disky Raspberry Pi Flash Drive: 128 GB za 30 dolarů a 256 GB za 55 dolarů.
Technologie Skip pro multiplatformní mobilní vývoj, která umožňuje vývojářům vytvářet iOS a Android aplikace z jediné Swift a SwiftUI kódové základny, se s vydáním verze 1.7 stala open source.
Současné vývojové jádro je 4.15-rc3, vydané 10. prosince. Linus řekl: „Nemám radost z velikosti raných kandidátů na vydání 4.15, ale rc3 často bývá největší, protože je to stále poměrně brzo v té části, kdy se věci uklidňují, přitom ale lidé už měli dostatek času na to, aby začali nacházet problémy. I tak je tento rc3 příliš velký i podle standardů rc3. To není dobré.“ Od vydání 4.15-rc2 bylo začleněno 489 sad změn.
Stabilní aktualizace: 4.14.5, 4.9.68, 4.4.105 a 3.18.87 byly vydány 10. prosince. Další aktualizace 4.14.6 a 4.9.69 byly v době psaní tohoto článku v procesu revidování a vyšly 14. prosince.
Stojí za přečtení: tento příspěvek v blogu APNIC od Marka Nottinghama o nejbližším vývoji různých internetových protokolů. „Nejnovější změnou na obzoru je DOH – DNS over HTTP. Významné množství výzkumu ukázalo, že sítě běžně využívají DNS jako prostředek k vynucování pravidel (ať už ve jménu poskytovatele nebo vyšší autority). O obejití kontroly tohoto typu pomocí šifrování se již delší dobu mluví, ale má to nevýhodu (alespoň z některých úhlů pohledu) – jde to oddělit od ostatního provozu, například zablokovat přístup na portu s příslušným číslem. DOH to řeší tak, že nasadí DNS provoz na stávající HTTP spojení, čímž zruší jakoukoli diskriminaci.
MAP_FIXED_SAFE. Jonathan Corbet. 13. prosince 2017
Volba MAP_FIXED systémového volání mmap() procesu umožňuje určit, že k mapování má dojít na dané virtuální adrese, je-li to možné. Ukazuje se však, že „je-li to možné“ napáchá o něco více vedlejších škod, než by se některým líbilo, a dokonce může vést ke zneužitelným zranitelnostem. Nová, bezpečnější volba se připravuje, ale jak tomu často bývá, narazila na nějaké netechnické obtíže.
Každé volání mmap() umožňuje volajícímu procesu určit adresu, kde má se má provést mapování. Za běžného provozu je však tato adresa pouze nasměrování, které jádro klidně může ignorovat. MAP_FIXED je tu pro případy, kdy k mapování opravdu musí dojít na požadované adrese, nebo nebude aplikace fungovat. Jádro tento příznak bere vážně až do té míry, že pokud v daném adresním rozsahu už je jiné mapování, zničí ho, aby se udělalo místo pro mapování nové. Na první pohled to může vypadat jako podivná sémantika: jestliže aplikace chce mapování v dané oblasti, asi by měla být schopná převzít zodpovědnost za to, že na požadované mapování bude místo. Ale volání mmap() je takto nastaveno, čili se děje, co se děje.
Asi není třeba dodávat, že to může být problematické v situaci, kdy aplikace neví o konfliktu mapování – něco, co by mohlo nastat jako výsledek chyby, randomizace rozložení adresního prostoru, neshody mezi knihovnami nebo záměrné manipulace útočníkem. Data obsažená v tomto mapování (nebo alespoň v překrývající se části), budou tiše zahozena a na jejich místě se objeví nové mapování. Podle očekávání není příliš pravděpodobné, že po takové akci bude všechno fungovat správně. V některých případech jsou výsledkem bezpečnostní zranitelnosti, viz například CVE-2017-1000253, kdy bylo interní použití MAP_FIXED v jádře za účelem načtení programů do paměti zneužito k poškození zásobníku.
Řešení se dá najít v sadě patchů MAP_FIXED_SAFE od Michala Hocka. Přidává nový příznak mmap(), který se jmenuje – překvapení – MAP_FIXED_SAFE. Jeho sémantika se podobá MAP_FIXED s jednou výjimkou: operace selže, není-li cílový rozsah adres volný. Načítání ELF v jádře je upraveno, aby tento nový příznak používalo při mapování programů do paměti. Tím pádem nahrávání programu v případě kolize dvou mapování selže, ale je to ta lepší varianta. Očekává se, že nový kód bude používat tento příznak téměř ve všech případech a že starší programy na něj nakonec také přejdou.
Někteří navrhli přidat samostatný příznak, který by změnil chování MAP_FIXED, takže aplikace by volání mmap() předaly něco jako MAP_FIXED|MAP_SAFE. Problém s tímto přístupem je, že mmap() je jedno z těch systémových volání, která nikdy neřešila neznámé příznaky. Program používající tuto konstrukci by se tím pádem na starších jádrech, které postrádaly podporu nového příznaku MAP_SAFE, tiše vrátil zpět k MAP_FIXED. Použití nového příznaku znamená, že ačkoliv na starších jádrech aplikace nedosáhne kýženého selhání, nebude-li adresní prostor dostupný, nebude zároveň ani sahat do žádných dalších mapování (protože zadaná adresa bude jádrem považována za nezávazné nasměrování).
Tato změna je více méně připravena a Hocko požádal o její začlenění. Je tu ovšem zásadní otázka, která je příčinou největší části debat o této řadě patchů: pojmenování MAP_FIXED_SAFE. Různí vývojáři by z různých důvodů rádi jiný název. Mezi návrhy zaznělo MAP_FIXED_UNIQUE, MAP_FIXED_NOREPLACE, MAP_FIXED_NO_CLOBBER, MAP_TANTRUM, MAP_EXACT, MAP_NOFORCE aj. Byl to právě ten druh diskuze, kdy se již podařilo vyřešit technické problémy, ale každý se chce podepsat pod finální výsledek.
Poté, co Hocko přežil velkou část diskuze, oznámil své vlastní rozhodnutí o jméně:
„Obávám se, že bychom to mohli řešit donekonečna a stejně by se našel někdo, kdo se snaží najít lepší název. Proto jsem se rozhodl držet se svého původního MAP_FIXED_SAFE. Proč? No, protože název si drží prefix MAP_FIXED, který by měl být vývojářům známý, a sufix _SAFE dává najevo, že všechny nebezpečné vedlejší účinky starého MAP_FIXED jsou pryč.Také prohlásil, že každý, kdo byl se jménem skutečně nespokojen, mohl zablokovat tento patch a nějakým způsobem dospět ke konsenzu na lepším, ale že on už se toho účastnit nebude. Takže přirozeně se někdo takový našel, kdo protestoval, a Hocko mu popřál hodně štěstí s převzetím odpovědnosti za patch.
Vzhledem k nátuře zúčastněných by si někdo mohl myslet, že dojde k zablokování užitečného patche. Autor článku by se však vsadil, že sada patchů MAP_FIXED_SAFE bude začleněna ve zhruba stejném stavu, v jakém se aktuálně nachází. Řeší totiž skutečný problém. Zdržování a hledání perfektního jména se nezdá jako přístup, který by komukoliv prospěl.
Nástroje: Tisk bez diskuse
Tiskni
Sdílej: