Kasalahan dina GPSD Minggu ieu bakal nyetél waktosna deui 19 taun.

Masalah kritis parantos diidentifikasi dina pakét GPSD, anu dianggo pikeun nimba data waktos sareng posisi anu tepat tina alat GPS, ku sabab éta waktosna bakal mundur 24 minggu dina 1024 Oktober, nyaéta. waktosna bakal dirobah jadi Maret 2002. Masalahna muncul dina sékrési 3.20 dugi ka 3.22 inklusif sareng direngsekeun dina GPSD 3.23. Sadaya pangguna sistem anu nganggo GPSD kedah pasang apdet langsung, atanapi siap-siap gagal.

Pangaruh kasalahan bisa ngakibatkeun kagagalan unpredictable dina sagala rupa sistem, kaasup nu teu langsung ngagunakeun GPSD, saprak aplikasi ieu dipaké pikeun ménta data waktu akurat dina sababaraha server NTP dipaké pikeun sinkronisasi waktos. Nalika parobahan waktos lumangsung dina sistem, masalah tiasa timbul sareng auténtikasi (contona, kecap akses sakali, Kerberos sareng mékanisme verifikasi aksés sanés anu gaduh tanggal béakna moal tiasa dianggo deui), kalayan verifikasi sertipikat, sareng itungan anu ngamanipulasi rentang waktos ( contona, ngitung waktu sési pamaké) . GPSD oge sadia dina rupa-rupa embedded jeung alat nu bagerak, loba nu euweuh narima apdet firmware.

Protokol GPS kalebet konter minggu anu ngitung minggu ti 5 Januari 1980. Masalahna nyaéta nalika siaran, ngan ukur 10 bit anu dialokasikeun pikeun konter ieu, anu hartosna ngabahekeun unggal 1023 minggu (19.7 taun). Limpahan kahiji lumangsung dina 1999, anu kadua di 2019, sareng anu katilu bakal lumangsung dina 2038. Kajadian ieu diawaskeun ku produsén sareng pawang khusus disayogikeun pikeun aranjeunna. Ayeuna, format pesen GPS anyar (CNAV) geus diwanohkeun dina paralel, nu 13 bit dialokasikeun pikeun counter (i.e., hiji mudal diperkirakeun ngan dina 2137).

Dina GPSD, dina logika pikeun nyaluyukeun penampilan sadetik tambahan (ditambahkeun pikeun nyingkronkeun jam atom rujukan dunya jeung waktu astronomi Bumi), kasalahan dijieun alatan nu dina 24 Oktober 2021, 1024 bakal dikurangan prématur ti counter minggu. Numutkeun panulis kodeu, pergeseran kedahna lumangsung dina 31 Désémber 2022, tapi tarjamahan tanggal ieu kana jumlah minggu henteu dilaksanakeun leres sareng nyatana jumlah minggu anu dipasihkeun dina cek murag dina Oktober 2021. (nilai anu dituduhkeun nyaéta 2180 tibatan 2600). /* sanity pariksa nomer minggu, GPS epoch, ngalawan detik kabisat * Teu dianggo ogé kalawan regressions sabab leap_sconds * bisa jadi ti panarima, atawa ti BUILD_LEAPSECONDS. */ lamun (0 <session->context->leap_seconds && 19>session->context->leap_seconds && 2180 <minggu) { /* anggap kabisat kadua = 19 ku 31 Dec 2022 * jadi minggu > 2180 nyaeta jalan ka hareup , teu ngidinan */ minggu -= 1024; GPSD_LOG (LOG_WARN, & session-> context-> errout, "GPS minggu kabingungan. Disaluyukeun minggu% u pikeun kabisat% d \ n", minggu, session-> context-> leap_seconds); }

sumber: opennet.ru

Tambahkeun komentar