Ang isang error sa GPSD ngayong Linggo ay magtatakda ng oras pabalik sa 19 na taon.

Isang kritikal na isyu ang natukoy sa pakete ng GPSD, na kumukuha ng tumpak na oras at nagko-coordinate ng data mula sa mga GPS device. Ang isyung ito ay magdudulot ng pagbabalik ng oras ng 1024 na linggo sa Oktubre 24, o sa Marso 2002. Ang isyu ay nakakaapekto sa mga release 3.20 hanggang 3.22 at naayos na sa GPSD 3.23. Ang lahat ng mga gumagamit ng mga system na gumagamit ng GPSD ay kinakailangang mag-install agad ng mga update o maging handa para sa pagkaantala.

Ang epekto ng bug ay maaaring humantong sa mga hindi mahuhulaang pagkabigo sa iba't ibang sistema, kabilang ang mga hindi direktang gumagamit ng GPSD, dahil ang application na ito ay ginagamit upang makakuha ng tumpak na data ng oras mula sa ilang NTP server na ginagamit para sa pag-synchronize ng oras. Ang pagbabago ng oras sa mga sistema ay maaaring magdulot ng mga problema sa pagpapatotoo (halimbawa, ang mga one-time na password, Kerberos, at iba pang mekanismo ng pagkontrol sa pag-access na may mga oras ng pag-expire ay hindi na gagana), pag-verify ng sertipiko, at mga kalkulasyon na nagmamanipula ng mga saklaw ng oras (halimbawa, pagkalkula ng mga oras ng sesyon ng user). Available din ang GPSD sa iba't ibang naka-embed at mobile device, na marami sa mga ito ay hindi na tumatanggap ng mga update sa firmware.

Kasama sa GPS protocol ang isang week counter, na nagbibilang ng mga linggo simula Enero 5, 1980. Ang problema ay 10 bits lamang ang inilalaan para sa counter na ito habang nagbo-broadcast, ibig sabihin ay aapaw ito kada 1023 linggo (19.7 taon). Ang unang overflow ay naganap noong 1999, ang pangalawa noong 2019, at ang pangatlo ay magaganap sa 2038. Ang mga kaganapang ito ay sinusubaybayan ng mga tagagawa at may mga espesyal na handler na ibinibigay para sa mga ito. Isang bagong format ng mensahe ng GPS (CNAV) ang ipinatupad nang sabay-sabay, na naglalaan ng 13 bits para sa counter (ibig sabihin ang overflow ay hindi inaasahan hanggang 2137).

Sa GPSD, isang bug ang ipinakilala sa leap second correction logic (idinagdag upang i-synchronize ang mga reference atomic clock ng mundo sa astronomical time ng Earth), na naging sanhi ng maagang pagbawas ng 1024 mula sa week counter noong Oktubre 24, 2021. Nilayon ng may-akda ng code na maganap ang shift sa Disyembre 31, 2022, ngunit ang conversion ng petsang ito sa bilang ng mga linggo ay hindi naisagawa nang tama, at ang aktwal na bilang ng mga linggong iniulat sa check ay bumagsak sa loob ng Oktubre 2021 (ang value na ipinahiwatig ay 2180 sa halip na 2600). /* sanity check week number, GPS epoch, laban sa leap seconds * Hindi gumagana nang maayos sa mga regression dahil ang leap_sconds * ay maaaring mula sa receiver, o mula sa BUILD_LEAPSECONDS. */ kung (0 < session->context->leap_seconds && 19 > session->context->leap_seconds && 2180 < linggo) { /* ipagpalagay na ang leap second = 19 pagsapit ng Disyembre 31, 2022 * kaya ang linggo > 2180 ay malayo pa sa hinaharap, huwag itong payagan */ linggo -= 1024; GPSD_LOG(LOG_WARN, &session->context->errout, "Kaguluhan sa linggo ng GPS. Inayos ang linggo %u para sa leap %d\n", linggo, session->context->leap_seconds); }

Pinagmulan: opennet.ru

Bumili ng maaasahang pagho-host para sa mga site na may proteksyon ng DDoS, mga server ng VPS VDS 🔥 Bumili ng maaasahang website hosting na may proteksyon ng DDoS, VPS VDS servers | ProHoster