Sebastian Krause burimin e mospajtimeve të çuditshme me shërbimin skripta , që përdoret për automatizimin e marrjes së certifikatave TLS përmes protokollit ACME. Bypass funksionon edhe me klientin standard, si dhe me uacme, por jo me dehydrated (në fakt, ai gjithashtu funksionoi me disa manovra, por vetëm në mënyrën dns-1).
Arsyeja doli të ishte e thjeshtë: në vend që të analizonte përgjigjen në formatin JSON siç duhet, autori i dehydrated përdori një veçori të formatimit të cilësdo zakon të daljes JSON nga shërbimi Let’s Encrypt dhe e bëri analizën përmes shprehjes së rregullt. Por Bypass kthen një JSON të minimizuar, jo të bukur, dhe shprehja e rregullt e përdorur nuk e funksionoi. Qashtja e caktuar nuk përjashton shfaqjen e problemeve me LetsEncrypt, nëse ky shërbim ndërron formatin e lëshimit pa paralajmërim në të ardhmen, duke qëndruar brenda protokollit zyrtar.
Gjatë diskutimit të problemit, u propozua përdorimi i një parseri të jashtëm JSON, si ose (shtoni në pipe 'jq -r " .authorizations | .[]"' për një analizë korrekte).
Një mangësi e këtij qasje është mjegullimi i ideve për të përdorur mjete minimale dhe lehtësisht të verifikueshme, si dhe problemet me përpunimin e gabimeve.
Autori i projektit dehydrated (projekti sapo u në kompaninë Apilayer GmbH) , se parseti JSON është një problem i madh, por ai nuk e sheh si një ide të mirë të shtonte parserë të jashtëm, pasi një nga karakteristikat kryesore të skriptit është mungesa e varësive të jashtme. Në këtë moment ai është i zënë, por shpreson të merret me zgjidhjen e problemit në ditët në vijim. Ndër planet është përmirësimi i parserit JSON ose integrimi i një parseri të gatshëm në gjuhën shell — .
Burimi: opennet.ru
