Sebastian Krause a furcsa inkompatibilitás forrását a szolgáltatással szkriptje , amelyet a TLS-tanúsítványok ACME protokollon keresztüli automatikus megszerzésére használnak. A Kikerüléssel mind a referencia kliens, mind a uacme működik, de nem a dehydrated (pontosabban az is működött némi kikerüléssel, de kizárólag dns-1 módban).
Az ok banálisnak bizonyult: ahelyett, hogy a választ valóban JSON formátumban elemezte volna, a dehydrated szerzője a Let’s Encrypt szolgáltatás specifikus JSON-kimenetének formázási jellemzőit használta, és reguláris kifejezéssel végezte az elemzést. A Kikerülés viszont nem szépen formázott, hanem minimalizált JSON-t ad vissza, és a felhasznált nem működött. A megadott megközelítés nem zárja ki a problémák előfordulását a LetsEncrypt szolgáltatásnál sem, ha ez a szolgáltatás a jövőben figyelmeztetés nélkül megváltoztatja a kibocsátás formátumát, miközben teljesen az hivatalos protokoll keretein belül marad.
A probléma megvitatásakor javasolták egy külső JSON elemző használatát, mint például vagy (adj hozzá a pipe-hoz 'jq -r " .authorizations | .[]"' a helyes elemzéshez).
Ennek a megközelítésnek a hátránya a minimális és könnyen ellenőrizhető eszközökkel való elkerülés ötletének elmosódása, valamint a hibakezeléssel kapcsolatos problémák.
A dehydrated projekt szerzője (a projekt nemrég a cégnek lett eladva) , hogy a JSON elemzése nagy probléma, de a külső elemzők bevezetését nem tartja jó ötletnek, mivel a szkript egyik kulcsfontosságú előnye a külső függőségektől való függetlenség. Jelenleg elfoglalt, de reméli, hogy a következő néhány napon belül figyelmet szentel a probléma megoldásának. A tervei között szerepel a JSON elemző átírása vagy egy kész elemző integrálása shell nyelven — .
Forrás: opennet.ru
