Ukukhishwa Kwelabhulali Yesistimu ye-Glibc 2.31

Ngemva kwezinyanga eziyisithupha zentuthuko eshicilelwe ukukhishwa komtapo wolwazi wesistimu I-GNU C Library (i-glibc) 2.31, evumelana ngokugcwele nezimfuneko ze-ISO C11 kanye namazinga e-POSIX.1-2008. Ukukhishwa okusha kufaka phakathi ukulungiswa okuvela konjiniyela abangama-58.

Kusukela kulawo asetshenziswe ku-Glibc 2.31 ukuthuthukiswa ungabona:

  • Kwengezwe _ISOC2X_SOURCE macro ukuze kunikwe amandla amakhono achazwe kuzinga le-ISO lokusalungiswa lekusasa I-C2X. Lezi zici ziphinde zinikwe amandla uma kusetshenziswa i-_GNU_SOURCE macro noma uma wakha ku-gcc ngefulegi elithi β€œ-std=gnu2x”;
  • Ngemisebenzi echazwe efayeleni likanhlokweni elithi "math.h" elizungeza imiphumela yayo ibe ohlotsheni oluncane, uhlobo lwama-macros oluhambisanayo luhlongozwa kufayela elithi "tgmath.h", njengoba kudingwa yizicaciso TS 18661-1:2014 kanye ne-TS 18661-3: 2015;
  • Kwengezwe umsebenzi we-pthread_clockjoin_np() olinda ukuthi uchungechunge luphele, kucatshangelwa isikhathi sokuvala (uma isikhathi sokuvala senzeka ngaphambi kokuqedwa, umsebenzi uzobuyisela iphutha). Ngokungafani pthread_timedjoin_np(), ku-pthread_clockjoin_np() kungenzeka ukuchaza uhlobo lwesibali-sikhathi sokubala isikhathi sokuvala - CLOCK_MONOTONIC (icabangela isikhathi esichithwe isistimu kumodi yokulala) noma CLOCK_REALTIME;
  • Isixazululi se-DNS manje sisekela inketho yesikhangiso sokuthembela kokuthi /etc/resolv.conf kanye nefulegi le-RES_TRUSTAD kokuthi _res.options, uma lisethiwe, ifulegi le-DNSSEC lidluliselwa kuzicelo ze-DNS AD (idatha eqinisekisiwe). Kule modi, ifulegi le-AD elibekwe yiseva litholakala kuzinhlelo zokusebenza ezishayela imisebenzi efana ne-res_search(). Ngokuzenzakalelayo, uma izinketho eziphakanyisiwe zingasethiwe, i-glibc ayicacisi ifulege le-AD ezicelweni futhi isula ngokuzenzakalelayo ezimpendulweni, okubonisa ukuthi ukuhlola kwe-DNSSEC akukho;
  • Ukwakha izibopho zekholi zesistimu yokusebenza ye-Glibc akusadingi ukufaka amafayela wesihloko se-Linux kernel. Okuhlukile yi-64-bit RISC-V yezakhiwo;
  • Kuqediwe ukuba sengozini I-CVE-2019-19126, okuvumela ukuthi udlule ukuvikela
    I-ASLR ezinhlelweni ezinefulegi le-setuid futhi inqume ukwakheka kwekheli kumalabhulali alayishiwe ngokukhohlisa LD_PREFER_MAP_32BIT_EXEC okuhluka kwemvelo.

Izinguquko ezinqamula ukuhambisana:

  • totalorder(), totalordermag(), kanye nemisebenzi efanayo yezinye izinhlobo zamaphuzu antantayo manje yamukela izinkomba njengezimpikiswano zokususa izexwayiso mayelana nokuguqula amanani esimweni. NaN, ngokuhambisana nezincomo ze-TS 18661-1 ezihlongozwe ngezinga le-C2X lesikhathi esizayo.
    Okusebenzisekayo okukhona okudlulisa amaphuzu antantayo ngokuqondile kuzoqhubeka nokusebenza ngaphandle kokuguqulwa;

  • Umsebenzi we-stime ohoxiswe isikhathi eside awusatholakali kumabhanari axhunywe i-glibc, futhi incazelo yawo isusiwe ku-time.h. Ukuze usethe isikhathi sohlelo, sebenzisa umsebenzi we-clock_settime. Ngokuzayo, sihlela ukususa umsebenzi we-ftime owehlisiwe, kanye nefayela lesihloko se-sys/timeb.h (i-gettimeofday noma i-clock_gettime kufanele isetshenziswe esikhundleni se-ftime);
  • Umsebenzi we-gettimeofday awusadlulisi ulwazi mayelana nendawo yesikhathi ebanzi yesistimu (lesi sici besifaneleka ezinsukwini zika-4.2-BSD futhi sehlisiwe iminyaka eminingi). Ukungqubuzana kwe-'tzp' kufanele manje kudluliswe njengesikhombi esingenalutho, futhi umsebenzi we-localtime() kufanele usetshenziselwe ukuthola ulwazi lwezoni yesikhathi ngokusekelwe esikhathini samanje. Ukushaya i-gettimeofday nge-agumenti engeyona uziro ethi 'tzp' kuzobuyisela izinkambu ezingenalutho okuthi tz_minuteswest kanye no-tz_dsttime esakhiweni sezoni yesikhathi. Umsebenzi we-gettimeofday ngokwawo wehlisiwe ngaphansi kwe-POSIX (i-clock_gettime iyanconywa esikhundleni se-gettimeofday), kodwa azikho izinhlelo zokuwususa ku-glibc;
  • I-settimeofday ayisasekeli ukudlula ngesikhathi esisodwa kwemingcele yokusetha isikhathi kanye ne-offset yokulungisa isikhathi. Lapho ushayela ukusetha isikhathi sosuku, enye yezimpikiswano (isikhathi noma ukulinganisa) kufanele manje isethwe ukuze ize, ngaphandle kwalokho ikholi yomsebenzi izohluleka ngephutha le-EINVAL. Njenge-gettimeofday, umsebenzi we-settimeofday wehliswa ku-POSIX futhi unconywa ukuthi ushintshwe umsebenzi we-clock_settime noma umndeni we-adjtime wemisebenzi;
  • Ukusekelwa kwezakhiwo ze-SPARC ISA v7 kunqanyuliwe (usekelo lwe-v8 lugciniwe okwamanje, kodwa kumaphrosesa asekela imiyalelo ye-CAS, njengamaphrosesa e-LEON, hhayi amaphrosesa e-SuperSPARC).
  • Uma ukubhanqa kuhluleka ku-"ovilaphayo", lapho isixhumi singacingi khona izimpawu zomsebenzi kuze kube kukholi yokuqala kulowo msebenzi, umsebenzi we-dlopen manje uphoqa inqubo ukuthi inqamule (ngaphambilini ibuyisela i-NULL ekuhlulekeni);
  • Ku-MIPS hard-float ABI, isitaki esisebenzisekayo manje sesiyasetshenziswa, ngaphandle uma isakhiwo sikhawulela ngokusobala ukusetshenziswa kwe-Linux kernel 4.8+ ngepharamitha ethi β€œ-enable-kernel=4.8.0” (enezinhlamvu ezifika ku-4.8, ukuphahlazeka kuqashelwe ezinye izilungiselelo ze-MIPS);
  • Ukubophezela amakholi wesistimu okuhlobene nokukhohlisa kwesikhathi kususiwe ukuze kusetshenziswe ikholi yesistimu ye-time64, uma ikhona (kumasistimu we-32-bit, i-glibc iqala ngokuzama amakholi wesistimu entsha akhohlisa uhlobo lwesikhathi lwe-64-bit, futhi uma lungekho, luyawa. buyela kwakudala izingcingo ezingama-32-bit).

Source: opennet.ru

Engeza amazwana