Plánuje se i přidat podpora nějakého příčetnějšího formátu konfiguračního souboru? Připadá mi, že formát konfiguračního souboru je vlastně největší problém současného sudo
. Jednak je to podle mne důvod, proč se spousta lidí sudo
bojí, jednak je to asi nejčastější důvod bezpečnostní chyby (že někdo nepochopí správně konfiguraci a nastaví tam něco jinak, než zamýšlel). Samozřejmě jsou občas nějaké bezpečnostní chyby i přímo v sudo
, ale to není tak časté.
Tohle přesně bude důvod, proč je tam pořád ten současný šílený formát – když se začne diskutovat o změně, objeví se deset návrhů na jiný formát a není síly, která by rozhodla, který se použije. Přitom všechny jmenované by byly lepší, než současný formát. A to, že je něco horší, než JSON, to už je výkon ;-)
To není proto. Jedna věc je, že uživatelé a autoři jsou konzervativní a jiná věc, že psát podporu pro další věci v C je dost opruz. V Rustu si dovedu představit, že podporovat klasické sudoers a zároveň sudoers.toml bude brnkačka (případně jako volitelné features, pro případ problémů na nějaké platformě), i s nabídkou migrace. Ale napřed to bude chtít udělat rozumnou kopii stávajícího C standardu.
No a přesně o tohle se AFAIK ta rustová implementace snaží.
- Přepsat do nějakého příčetnějšího jazyka.
- Rozumně to pokrýt testy.
- Zbavit se postradatelných požadavků a funkcionality.
Nějaký nový formát konfiguráku se dá vybrat diktátorsky nebo hlasováním podle nátury projektu. Jen je napřed třeba udělat nějaké přípravné práce, jinak by z toho vzešel +- stejný binec jako ten předchozí.
Já právě v plánovaných milestonech podporu lepšího konfiguráku nevidím. Možná jsou nějaké další plány ještě někde jinde, jen jsem je nenašel.
Já sudo-rs fandím. A s těmi formáty to byl trochu vtípek a odkaz na https://xkcd.com/927/, trochu povzdech – nakonec se samozřejmě nějaký formát vybere a 80 % lidí bude nadávat, že se vybral špatný formát, protože se nevybral ten jejich oblíbený.
Unsafe nevypina uplne vsechny garance prekladace.
"...It’s important to understand that unsafe doesn’t turn off the borrow checker or disable any other of Rust’s safety checks: if you use a reference in unsafe code, it will still be checked. The unsafe keyword only gives you access to these five features that are then not checked by the compiler for memory safety. You’ll still get some degree of safety inside of an unsafe block...."