Wine 11.15 opravil chybu v MSXML3, kterou nahlásili před dvaceti lety
Vývojová verze Wine 11.15 vyšla 8. srpna a mezi jednačtyřiceti opravami je i chyba komponenty MSXML3, kterou někdo nahlásil do evidence v březnu 2006. Wine je vrstva, díky které na Linuxu běží programy psané pro Windows; nové vydání k tomu přidává místní ověřování NTLM, další algoritmy pro odvození klíče a dvě opravy pro Wayland.

Co Wine dělá
Wine je vrstva, která na Linuxu, BSD i macOS spustí program napsaný pro Windows. Nejde o emulaci celého systému: Wine překládá volání do knihoven Windows na volání, kterým rozumí Linux, takže se aplikace tváří, že běží na svém domácím systému. Odtud i jméno – je to zkratka z „Wine Is Not an Emulator“. Kopii Windows ani jejich licenci k tomu Wine nepotřebuje; chybějící knihovny píše znovu podle veřejného popisu rozhraní.
Nejvíc lidí Wine potká, aniž o něm ví: stojí pod vrstvou Proton, kterou Valve pohání hry ze Steamu na Linuxu a na konzoli Steam Deck. Proton k Wine přidává překladače grafiky DXVK a VKD3D-Proton; jeho verze 11 z července přešla právě na řadu Wine 11.
Chyba, která čekala dvacet let
Nejnápadnější položka v seznamu oprav nese číslo 4811. U projektu, kde čísla chyb dávno přerostla statisíce, tak nízké číslo samo prozrazuje stáří: hlášení je z března 2006. Týká se komponenty MSXML3, konkrétně objektu XMLDOMDocument, přes který programy pro Windows čtou a zapisují dokumenty ve formátu XML. Po dvaceti letech je chyba zavřená.
Že tak stará hlášení v evidenci pořád jsou, není u Wine výjimka. Projekt dohání rozhraní, které se samo mění, a na okrajové funkce starších knihoven se dostane až po letech.
Co ještě vydání přináší
Vedle jedné prastaré chyby má 11.15 i nové funkce. Wine nově zvládne místní ověřování NTLM přímo ve svém procesu; když narazí na potíž, umí se vrátit k dřívějšímu postupu přes samostatný nástroj ntlm_auth. NTLM je starý přihlašovací protokol Microsoftu postavený na výzvě a odpovědi – server pošle náhodné číslo, klient ho podepíše heslem a pošle zpět, samotné heslo po síti neputuje.
Knihovna BCrypt, tedy napodobenina šifrovacího rozhraní Windows, dostala další algoritmy KDF. Zkratka označuje odvození klíče – postup, který z hesla nebo ze sdíleného tajemství spočítá klíč pro šifrování. Přibylo taky víc převodů obrazových formátů v knihovně WindowsCodecs a podpora sestavení ARM64EC v režimu MinGW; ARM64EC je způsob, jak na ARM verzi Windows míchat v jednom procesu nativní kód pro ARM s emulovaným kódem pro x64.
Ze 41 oprav míří dvě na Wayland, novější zobrazovací systém Linuxu. Jedna spravuje vybledlé barvy, které vznikaly dvojím převodem do barevného prostoru sRGB, druhá posunutý obraz u aplikací běžících přes celou obrazovku v poměru 4:3. Zbylé opravy sahají od her po kancelářský WordPerfect 7 a účetnictví QuickBooks 2009.
Kam řada 11 míří
Wine 11.15 je vývojové vydání. Ta vycházejí zhruba po čtrnácti dnech – tohle přišlo výjimečně v sobotu místo obvyklého pátku – a postupně se v nich sbírá to, co pak uzavře stabilní verze. Stabilní řadu vydává Wine jednou za rok; jedenáctku uzavřel letos v lednu a od té doby na ni přibývají vývojová vydání s číslem za tečkou. Podle serveru GamingOnLinux se stabilní Wine 12 čeká začátkem příštího roku.
Zavírání tak starých hlášení má i druhou stranu: ukazuje, kolik práce v evidenci Wine pořád leží. Další vývojové vydání vyjde za dva týdny a fronta oprav se přesune do něj.
Vydání ohlásil projekt na stránkách WineHQ; seznam změn a oprav rozebral server Phoronix.