Určitě jste si všimli, že Laboratoře CZ.NIC již nějakou dobu vyvíjí DNSSEC Validátor pro prohlížeč Mozilla Firefox. Tento doplněk prostřednictvím rekurzivního DNS serveru kontroluje validitu DNSSEC záznamů a výsledek dává najevo zobrazením patřičné barevné ikonky v adresním řádku prohlížeče. Uživatel tak snadno zjistí, jak je na tom jeho rekurzivní DNS server a zobrazená webová stránka s DNSSEC zabezpečením.
Před několika týdny jsme vydali novou verzi doplňku 1.1.0 (a posléze další minoritní verze s drobnými opravami), která obsahuje jednu pro uživatele na první pohled neviditelnou, ale podstatnou změnu. DNSSEC Validátor byl dříve implementován jako rozšíření s binární komponentou, která zajišťovala vlastní komunikaci s DNS servery. Volání binárních funkcí se dělo přes rozhraní XPCOM, které ovšem s vývojem Firefoxu prochází nemalými změnami; udržovat doplněk funkční napříč různými verzemi prohlížeče bylo dosti pracné. Proto jsme se rozhodli udělat změnu a binární komponentu nahradit zásuvným modulem komunikujícím přes rozhraní NPAPI.
Jako framework pro tvorbu modulu jsme použili FireBreath. I když se jedná o poměrně nový projekt, jeho vývojáři na něm intenzivně pracují; čekání na opravu případně nalezeného nedostatku zpravidla nepřekročí několik dnů. Kromě Mozilla Firefoxu NPAPI rozhraní podporují i další prohlížeče (z těch známějších Google Chrome, Safari a Opera), což umožňuje provozovat binární modul DNSSEC Validátoru napříč těmito prohlížeči na dané platformě bez jakýchkoliv dodatečných úprav. FireBreath umožňuje také jednoduchou implementaci vláken, čehož jsme využili a tím odstranili kolize DNSSEC Validátoru s některými jinými současně nainstalovanými doplňky, např. Firebugem.
Po úspěšném přechodu z XPCOM na NPAPI rozhraní jsme novou verzi DNSSEC Validátoru nahráli do AMO repozitáře a čekali na schválení editorem. Jaké bylo naše překvapení, když doplněk byl zamítnut právě kvůli změně na NPAPI. I když toto rozhraní přináší mnoho výhod a ulehčuje vývoj, AMO editoři měli nějaké interní, blíže nespecifikované, nařízení striktně takovéto doplňky odmítat. Poněkud zvláštní je, že tuto informaci se vývojář na webu Mozilly nikde nedozví a potom se může divit podobně jako my. Jelikož jsme v použití NPAPI nespatřovali žádné zásadní nedostatky, nechtěli jsme se proto s nastalou situací smířit a pokoušeli se alespoň pro nás vyžádat výjimku. Po několika „dobře mířených“ e-mailech zejména na vývojáře Firefoxu se nám podařilo odmítavý postoj editorů zvrátit a vyvolat změnu v akceptaci doplňků s NPAPI moduly do AMO repozitáře. Povedlo se nám tedy více, než o co jsme usilovali, a věříme, že tuto změnu ocení i všichni ostatní vývojáři, kteří se rozhodnou NPAPI ve svých doplňcích pro Firefox využít.
Poslední verzi DNSSEC Validátoru 1.1.2, která používá zmíněný NPAPI modul a která podporuje mj. i brzo očekávaný Firefox 4.0, můžete stahovat prostřednictvím domovské stránky projektu nebo přímo z AMO repozitáře. Web AMO nabízí také docela hezké statistiky, kde se zájemce může kromě celkového počtu stažení doplňku dozvědět např. i počet aktivních uživatelů.
Aby těch novinek nebylo málo, tak prozradím, že v současné době pracujeme na verzi DNSSEC Validátoru pro Internet Explorer, takže se i uživatelé tohoto zatím nejrozšířenějšího prohlížeče můžou těšit na barevnou ikonku indikující stav jejich DNSSEC zabezpečení.
Zbyněk Michl