UtgÄvan av det systembiblioteket Glibc 2.34

Efter sex mÄnaders utveckling har version 2.34 av GNU C Library (glibc) publicerats, vilket helt uppfyller kraven i ISO C11- och POSIX.1-2017-standarderna. Den nya versionen innehÄller korrigeringar frÄn 66 utvecklare.

Bland förbÀttringarna i Glibc 2.34 kan följande nÀmnas:

  • Biblioteken libpthread, libdl, libutil och libanl har integrerats i libc, vilket gör att anvĂ€ndningen av deras funktioner i applikationer nu inte krĂ€ver lĂ€nkning med flaggorna -lpthread, -ldl, -lutil och -lanl. Förberedelser har gjorts för att integrera libresolv i libc. Integrationen kommer att möjliggöra en mer sammanhĂ€ngande uppdateringsprocess av glibc och förenkla implementationen av runtime. För att sĂ€kerstĂ€lla bakĂ„tkompatibilitet med applikationer byggda med Ă€ldre versioner av glibc har stubbibliotek tillhandahĂ„llits. PĂ„ grund av ökning av antalet strukturer och funktioner som erbjuds i glibc kan det uppstĂ„ problem i applikationer dĂ€r namn överlappar med tidigare oanvĂ€nda bibliotek som libpthread, libdl, libutil, libresolv och libanl.
  • Möjligheten att anvĂ€nda 64-bitars typen time_t har introducerats i konfigurationer dĂ€r den traditionellt anvĂ€nts som 32-bitars. I sĂ„dana konfigurationer, till exempel pĂ„ x86-system, kvarstĂ„r som standard 32-bitars time_t, men detta beteende kan nu Ă€ndras med makrot "_TIME_BITS". Möjligheten Ă€r endast tillgĂ€nglig pĂ„ system med Linux-kĂ€rna av minst version 5.1.
  • Funktionen _Fork har lagts till, en ersĂ€ttning för funktionen fork som uppfyller kraven för "async-signal-safe", vilket innebĂ€r att den kan kallas sĂ€kert frĂ„n signalhanterare. Under exekveringen av _Fork skapas en minimal miljö som Ă€r tillrĂ€cklig för att kalla funktioner i signalhanterare, sĂ„som raise och execve, utan att anvĂ€nda mekanismer som kan Ă€ndra lĂ„s eller internt tillstĂ„nd. Anropet till _Fork kommer att definieras i en framtida version av POSIX, men Ă€r för nĂ€rvarande inkluderat bland GNU:s tillĂ€gg.
  • För Linux-plattformen har funktionen execveat implementerats, vilket möjliggör körning av en körbar fil frĂ„n en öppen filbeskrivare. Den nya funktionen anvĂ€nds ocksĂ„ i implementeringen av anropet fexecve som inte krĂ€ver att en monterad pseudofilsystem /proc finns vid körning.
  • Funktionen timespec_getres har lagts till, definierad i utkastet till standarden ISO C2X, och kompletterar funktionen timespec_get med möjligheter som liknar POSIX-funktionen clock_getres.
  • Funktionen close_range() har lagts till, vilket gör att en process kan stĂ€nga en hel rad av öppna filbeskrivare pĂ„ en gĂ„ng. Funktionen finns tillgĂ€nglig pĂ„ system med Linux-kĂ€rna, minst version 5.9.
  • Funktionerna closefrom och posix_spawn_file_actions_addclosefrom_np har lagts till, vilket gör att alla filbeskrivare vars nummer Ă€r större Ă€n eller lika med det angivna vĂ€rdet kan stĂ€ngas pĂ„ en gĂ„ng.
  • I lĂ€gena "_DYNAMIC_STACK_SIZE_SOURCE" och "_GNU_SOURCE" Ă€r vĂ€rdena PTHREAD_STACK_MIN, MINSIGSTKSZ och SIGSTKSZ nu inte konstanter, vilket möjliggör stöd för dynamiskt storleksregister, till exempel de som tillhandahĂ„lls av ARM SVE-tillĂ€gget.
  • En ny option "—list-diagnostics" har implementerats i lĂ€nkaren för att visa information som rör IFUNC (indirekt funktion) och val av glibc-hwcaps-undermappningar.
  • Makrot __STDC_WANT_IEC_60559_EXT__ har implementerats för att kontrollera nĂ€rvaron av funktioner som definieras i bilagan "F" till standarden ISO C2X.
  • För powerpc64*-system har en option "—disable-scv" implementerats, vilket gör att glibc kan kompileras utan stöd för instruktionen scv.
  • I filen gconv-modules har endast en minimal uppsĂ€ttning grundmoduler för gconv lĂ€mnats kvar, medan övriga har flyttats till en extra fil gconv-modules-extra.conf placerad i katalogen gconv-modules.d.
  • För Linux-plattformen har parametern glibc.pthread.stack_cache_size implementerats, vilket kan anvĂ€ndas för att konfigurera storleken pĂ„ pthread-stackcache.
  • Funktionen inet_neta frĂ„n headerfilen har förklarats som förĂ„ldrad, likasĂ„ olika sĂ€llan anvĂ€nda funktioner frĂ„n (dn_count_labels, fp_nquery, fp_query, fp_resstat, hostalias, loc_aton, loc_ntoa, p_cdname, p_cdnname, p_class, p_fqname, p_fqnname, p_option, p_query, p_rcode, p_time, p_type, putlong, putshort, res_hostalias, res_isourserver, res_nameinquery, res_queriesmatch, res_randomid, sym_ntop, sym_ntos, sym_ston) och (ns_datetosecs, ns_format_ttl, ns_makecanon, ns_parse_ttl, ns_samedomain, ns_samename, ns_sprintrr, ns_sprintrrf, ns_subdomain). IstĂ€llet för dessa funktioner rekommenderas det att anvĂ€nda separata bibliotek för att arbeta med DNS.
  • Funktionerna pthread_mutex_consistent_np, thread_mutexattr_getrobust_np, pthread_mutexattr_setrobust_np och pthread_yield har förklarats som förĂ„ldrade, och istĂ€llet bör pthread_mutex_consistent, thread_mutexattr_getrobust, thread_mutexattr_setrobust och sched_yield anvĂ€ndas.
  • AnvĂ€ndningen av symboliska lĂ€nkar för att binda installerade delade objekt till versionen av Glibc har upphört. SĂ„dana objekt installeras nu som de Ă€r (till exempel Ă€r libc.so.6 nu en fil snarare Ă€n en lĂ€nk till libc-2.34.so).
  • StandardmĂ€ssigt Ă€r felsökningsmöjligheterna i malloc avstĂ€ngda, sĂ„som MALLOC_CHECK_ (glibc.malloc.check), mtrace() och mcheck(), vilka har flyttats till ett separat bibliotek libc_malloc_debug.so, dĂ€r de förĂ„ldrade funktionerna malloc_get_state och malloc_set_state ocksĂ„ har flyttats.
  • I Linux krĂ€vs nu enhet av /dev/shm för att funktioner som shm_open och sem_open ska fungera.
  • SĂ„rbarheter Ă„tgĂ€rdade:
    • CVE-2021-27645: processkraschen av nscd (namnserver-cachedaemon) pĂ„ grund av dubbelanrop av funktionen free vid behandling av sĂ€rskilt utformade netgroup-förfrĂ„gningar.
    • CVE-2021-33574: Ă„tkomst till redan frigjort minnesomrĂ„de (use-after-free) i funktionen mq_notify nĂ€r man anvĂ€nder typ av notifiering SIGEV_THREAD med en trĂ„dattribut för vilket en alternativ CPU-bindningsmask har angetts. Problemet kan leda till krasch, men andra angreppsmöjligheter utesluts inte.
    • CVE-2021-35942: en överskridning av parameterstorleken i funktionen wordexp kan leda till applikationskrasch.

KĂ€lla: opennet.ru

Köp pĂ„litlig webbhotell med DDoS-skydd, VPS VDS-servrar đŸ”„ Köp pĂ„litlig webbhotell med DDoS-skydd, VPS VDS-servrar | ProHoster