Lëshimi i bibliotekës sistemore Glibc 2.31.

Pas gjashtë muajve zhvillimi u publikua lëshimi i bibliotekës sistemike GNU C Library (glibc) 2.31, e cila plot të gjitha kërkesat e standardeve ISO C11 dhe POSIX.1-2008. Botimi i ri përmban rregullime nga 58 zhvillues.

Nga zbatimet në Glibc 2.31 përmirësimeve mund të theksohet:

  • Shtuar makroja _ISOC2X_SOURCE pĂ«r tĂ« aktivizuar mundĂ«sitĂ« e pĂ«rcaktuara nĂ« projektin e standardit tĂ« ardhshĂ«m ISO C2X. KĂ«to mundĂ«si gjithashtu aktivizohen duke pĂ«rdorur makron _GNU_SOURCE ose gjatĂ« ndĂ«rtimit nĂ« gcc me flamurin «-std=gnu2x»;
  • PĂ«r funksionet e pĂ«rcaktuara nĂ« skedarin «math.h», tĂ« cilat rrethojnĂ« rezultatet e tyre nĂ« njĂ« tip mĂ« tĂ« vogĂ«l, nĂ« skedarin «tgmath.h» janĂ« propozuar makro pĂ«r tip tĂ« pĂ«rgjithshĂ«m, siç kĂ«rkohet nga specifikimet TS 18661-1:2014 dhe TS 18661-3:2015;
  • Shtuar funksioni pthread_clockjoin_np(), i cili pret pĂ«rfundimin e njĂ« procesi duke marrĂ« parasysh afatin (nĂ«se afati kalon para pĂ«rfundimit, funksioni do tĂ« kthejĂ« njĂ« gabim). Ndryshe nga pthread_timedjoin_np(), nĂ« pthread_clockjoin_np() lejohet pĂ«rcaktimi i llojit tĂ« orĂ«s pĂ«r llogaritjen e afatit — CLOCK_MONOTONIC (merr parasysh kohĂ«n e kaluar nga sistemi nĂ« gjendje tĂ« fjetur) ose CLOCK_REALTIME;
  • NĂ« DNS-resolver Ă«shtĂ« shtuar mbĂ«shtetje pĂ«r opsionin trust-ad nĂ« /etc/resolv.conf dhe flamurin RES_TRUSTAD nĂ« _res.options, ku vendosja e tyre nĂ« kĂ«rkesat DNS siguron dĂ«rgimin e flamurit DNSSEC AD (tĂ« dhĂ«na tĂ« verifikuara). NĂ« kĂ«tĂ« modalitet flamuri AD i vendosur nga serveri bĂ«het i disponueshĂ«m pĂ«r aplikacionet qĂ« thĂ«rrasin funksione si res_search(). NĂ« mĂ«nyrĂ« tĂ« paracaktuar, nĂ«se opsionet e propozuara nuk janĂ« vendosur, glibc nuk tregon flamurin AD nĂ« kĂ«rkesat dhe automatikisht e pastron atĂ« nĂ« pĂ«rgjigjet, qĂ« tregon se nuk ka verifikim DNSSEC;
  • PĂ«r ndĂ«rtimin e mbĂ«shtetjeve funksionale tĂ« thirrjeve tĂ« sistemit pĂ«r Glibc tani nuk Ă«shtĂ« e nevojshme tĂ« instalohen skedarĂ«t pĂ«rndihmĂ«s tĂ« bĂ«rthamĂ«s Linux. PĂ«rjashtimi Ă«shtĂ« arkitektura 64-bit RISC-V;
  • Eliminuar vulnerabiliteti CVE-2019-19126, e cila lejon kalimin e mbrojtjes
    ASLR në programe me flamurin setuid dhe përcaktimin e shtrirjes së adresave në bibliotekat e ngarkuara përmes manipulimit të variablit të ambjentit LD_PREFER_MAP_32BIT_EXEC.

Ndryshimet që bëjnë të paqartë kompatibilitetin:

  • NĂ« totalorder(), totalordermag() dhe funksione tĂ« ngjashme pĂ«r lloje tĂ« tjera qĂ« kanĂ« pikĂ«n lĂ«vizĂ«se, tani pranojnĂ« si argument tregues pĂ«r tĂ« pĂ«rjashtuar paralajmĂ«rimet pĂ«r konvertimin e vlerave nĂ« gjendje NaN, sipas rekomandimeve TS 18661-1, tĂ« propozuara pĂ«r standardin e ardhshĂ«m C2X.
    Skedarët e ekzistueshëm ekzekutues, në të cilat argumentet me pikë lëvizëse kalohen drejtpërdrejt, do të vazhdojnë të funksionojnë pa ndryshime;
  • Funksioni stime, i cili u shpall i pasaktĂ« prej kohĂ«sh, tani nuk Ă«shtĂ« mĂ« nĂ« dispozicion pĂ«r skedarĂ«t binarĂ« tĂ« lidhur me glibc, dhe pĂ«rkufizimi i tij Ă«shtĂ« eliminuar nga time.h. PĂ«r tĂ« vendosur kohĂ«n sistemike, duhet tĂ« pĂ«rdoret funksioni clock_settime. NĂ« tĂ« ardhmen, Ă«shtĂ« parashikuar qĂ« tĂ« hiqet edhe funksioni i markuar si i pasaktĂ« ftime, si dhe skedari i titullit sys/timeb.h (nĂ« vend tĂ« ftime duhet tĂ« pĂ«rdoret gettimeofday ose clock_gettime);
  • Funksioni gettimeofday tani nuk transmeton informacione pĂ«r zonĂ«n kohore tĂ« sistemit (kjo mundĂ«si ishte e vlefshme nĂ« kohĂ«t e 4.2-BSD dhe shume vite mĂ« parĂ« u shpall si e pasaktĂ«). NĂ« argumentin 'tzp' tani duhet tĂ« kaloni njĂ« tregues null, dhe pĂ«r tĂ« marrĂ« informacion mbi zonĂ«n kohore nĂ« lidhje me kohĂ«n aktuale duhet tĂ« pĂ«rdorni funksionin localtime(). Kur thirret gettimeofday me njĂ« argument tĂ« ndryshĂ«m nga null pĂ«r 'tzp', do tĂ« kthehen fusha tĂ« zbrazĂ«ta tz_minuteswest dhe tz_dsttime nĂ« strukturĂ«n timezone. Funksioni gettimeofday vetĂ« Ă«shtĂ« shpallur i pasaktĂ« nĂ« POSIX (nĂ« vend tĂ« gettimeofday rekomandohet pĂ«rdorimi i clock_gettime), por nuk Ă«shtĂ« planifikuar tĂ« hiqet nga glibc;
  • NĂ« settimeofday Ă«shtĂ« ndĂ«rprerĂ« mbĂ«shtetja pĂ«r kalimin e parametrave tĂ« dyfishtĂ« pĂ«r vendosjen e kohĂ«s dhe rregullimin e offset-it tĂ« kohĂ«s. Kur thirret settimeofday, njĂ« nga argumentet (koha ose offset-i) tani domosdoshmĂ«rish duhet tĂ« jetĂ« e vendosur nĂ« vlerĂ«n null, pĂ«rndryshe thirrja e funksionit do tĂ« pĂ«rfundojĂ« me gabimin EINVAL. Ashtu si gettimeofday funksioni settimeofday konsiderohet i pasaktĂ« nĂ« POSIX dhe nĂ« vend tĂ« tij rekomandohet pĂ«rdorimi i funksioneve clock_settime ose tĂ« familjes sĂ« funksioneve adjtime;
  • MbĂ«shtetje pĂ«r arkitekturĂ«n SPARC ISA v7 Ă«shtĂ« ndĂ«rprerĂ« (mbĂ«shtetja pĂ«r v8 mbetet, por vetĂ«m pĂ«r procesorĂ«t qĂ« mbĂ«shtesin instrukcionet CAS, si procesorĂ«t LEON, por jo procesorĂ«t SuperSPARC).
  • NĂ« rast tĂ« dĂ«shtimit tĂ« lidhjes nĂ« modin "lazy", ku lidhĂ«si nuk kryen kĂ«rkimin e simboleve tĂ« funksionit deri nĂ« thirrjen e parĂ« tĂ« kĂ«tij funksioni, funksioni dlopen tani pĂ«rfundohet me forcĂ« (mĂ« parĂ«, nĂ« rast dĂ«shtimi, kthehej NULL);
  • PĂ«r ABI MIPS hard-float tani pĂ«rdoret staku ekzekutiv, nĂ«se gjatĂ« ndĂ«rtimit nuk Ă«shtĂ« specifikuar qartĂ« kufizimi pĂ«r pĂ«rdorimin e bĂ«rthamĂ«s Linux 4.8+ pĂ«rmes parametrave "--enable-kernel=4.8.0" (me bĂ«rthamat deri nĂ« 4.8, dĂ«shtime observohen pĂ«r disa konfiguracione MIPS);
  • Fushtat mbi thirrjet sistemore qĂ« lidhen me manipulimin e kohĂ«s janĂ« zhvendosur pĂ«r tĂ« pĂ«rdorur thirrjen sistemore time64, nĂ«se kjo Ă«shtĂ« e disponueshme (nĂ« sistemet 32-bit glibc fillimisht pĂ«rpiqet tĂ« pĂ«rdorĂ« thirrjet e reja qĂ« manipulojnĂ« me tipin 64-bit pĂ«r kohĂ«n, dhe nĂ«se ato nuk janĂ« tĂ« disponueshme, kthehet nĂ« thirrjet e vjetra 32-bit).

Burimi: opennet.ru

Blini hosting tĂ« besueshĂ«m pĂ«r faqe interneti me mbrojtje nga DDoS, serverĂ« VPS VDS đŸ”„ Blini hosting tĂ« besueshĂ«m pĂ«r faqe interneti me mbrojtje nga DDoS, serverĂ« VPS VDS | ProHoster