A Glibc 2.30 rendszerkönyvtár kiadása

Hat hónapnyi fejlesztés után megjelent a rendszerkönyvtár kiadása GNU C Könyvtár (glibc) 2.30, amely teljes mértékben megfelel az ISO C11 és POSIX.1-2008 szabványok követelményeinek. Az új verzióba 48 fejlesztő javításai kerültek be.

A Glibc 2.30-ban megvalósított funkcionalitások közül fejlesztések kiemelhető:

  • A dinamikus linker támogatja a «—preload» opciót, amely lehetővé teszi a megosztott objektumok előtöltését (hasonlóan az LD_PRELOAD környezeti változóhoz);
  • Hozzáadva a twalk_r függvény, amely hasonló a meglévő twalk függvényhez, de lehetővé teszi egy további argumentum átadását a megadott callback függvénynek;
  • Linuxhoz új függvények kerültek hozzáadásra: getdents64, gettid és tgkill;
  • A memóriakezelő függvények, mint a malloc, calloc, realloc, reallocarray, valloc, pvalloc, memalign és posix_memalign hibakódú befejezését biztosítja, ha az objektum összmérete meghaladja a PTRDIFF_MAX értéket. Ez a módosítás lehetővé teszi a nem meghatározott viselkedés elkerülését, amikor a pointerek manipulálásának eredménye a ptrdiff_t típus túllépését okozza;
  • Hozzáadták a POSIX által javasolt pthread_cond_clockwait, pthread_mutex_clocklock függvényeket,
    pthread_rwlock_clockrdlock, pthread_rwlock_clockwrlock és sem_clockwait, amelyek hasonlóak az «időzített» megfelelőikhez, de kiegészítő klokid_t paramétert is elfogadnak az időzítő kiválasztásához;
  • A kódolási adatok, karaktertípus információk és transliterációs táblák frissítésre kerültek az Unicode 12.1.0 specifikáció támogatásához;
  • Az librt könyvtárban új alkalmazások számára a clock_gettime, clock_getres, clock_settime, clock_getcpuclockid és clock_nanosleep függvények már nem elérhetőek, helyettük automatikusan a libc-ban található definíciók kerülnek alkalmazásra;
  • Az /etc/resolv.conf fájlban megszűnt az «inet6» opció támogatása. A resolv.h-ból eltávolították a elavult RES_USE_INET6, RES_INSECURE1 és RES_INSECURE2 flagokat;
  • A «—enable-bind-now» opció megadásakor az installált programok most BIND_NOW flaggel kötődnek;
  • A Linuxra specifikus sys/sysctl.h fejléc és a sysctl függvény elavultnak nyilvánítva, helyettük a /proc pszeudo-FS-t kell használniuk az alkalmazásoknak;
  • A Glibc buildeléséhez most GCC 6.2 vagy annál újabb verzió szükséges (alkalmazások buildeléséhez bármilyen fordító használható);
  • A CVE-2019-7309 a memcmp függvény implementációjában elavult x32 alarchitektúra esetén (ne keverjük össze az x86 IA-32-vel), aminek eredményeként a függvény helytelenül 0-t adhatott vissza eltérő karakterláncok esetén;
  • A CVE-2019-9169, amely a bizonyos reguláris kifejezések feldolgozása során a határokon kívüli területekről adatok olvasásához vezethet.

Forrás: opennet.ru

Megbízható hosting vásárlása weboldalak számára, DDoS védelemmel, VPS VDS szerverek. 🔥 Megbízható webtárhely vásárlása DDoS védelemmel, VPS VDS szerverek | ProHoster