Суббота, 18.05.2024, 19:46
Приветствую Вас, Гость | RSS
Меню сайта
Статистика

Онлайн всего: 1
Гостей: 1
Пользователей: 0
Главная » 2016 » Февраль » 20 » Релиз системной библиотеки Glibc 2.23
00:12
Релиз системной библиотеки Glibc 2.23
После шести месяцев разработки состоялся релиз системной библиотеки GNU C Library (glibc) 2.23, которая полностью следует требованиям стандартов ISO C11 и POSIX.1-2008. В подготовке нового выпуска использованы патчи от 74 разработчиков. Из добавленных в Glibc 2.23 улучшений можно отметить: Поддержка Unicode 8.0.0: обновлены все кодировки, информация о типах символов и таблицы транслитерации, для которых также задействованы новые или обновлённые скрипты генерации, позволившие закрыть несколько давно висевших отчётов об ошибках; Вызовы sched_setaffinity и pthread_setaffinity_np теперь не пытаются угадать внутренние параметры активных CPU в ядре, что позволило исключить сбои при попытке изменения привязки процессов к определённым CPU (CPU affinity). В случае необходимости определения эффективных привязок CPU в приложениях следует вызывать функцию sched_getaffinity или pthread_getaffinity_np, так как ранее заданные установки могут быть откорректированы ядром; При сборке с опцией "-D_FILE_OFFSET_BITS=64" теперь можно использовать заголовочный файл fts.h, в котором для больших файлов предлагаются новые вызовы fts64_children, fts64_close, fts64_open, fts64_read и fts64_set; В функцию getaddrinfo добавлена проверка на наличие некоторых некорректных ответов через внутренний сокет netlink. В случае поступления подобных ответов, подверженный проблеме процесс будет завершён с сообщением о непредвиденной ошибке ("Unexpected error NUM on netlink descriptor NUM" или " "Unexpected netlink response of size NUM on descriptor NUM"), так как наиболее вероятной причиной повреждения ответа является ошибочное повторное использование закрытого файлового дескриптора netlink в многопоточных приложениях; Устранён дефект в реализации вызова malloc, связанный с выполнением лишних запросов на сериализацию памяти в многопоточных приложениях, с большой частотой создающих и завершающих потоки. Проблема проявлялась начиная с glibc 2.15 (2012 год) или начиная с glibc 2.10 при сборке с опцией "--enable-experimental-malloc" (2009 год). После устранения ошибки наблюдается значительное увеличение пропускной способности одновременных запросов распределение памяти; Добавлена новая сборочная опция "--disable-timezone-tools", дающая возможность отключить сборку и установку утилит, связанных с обработкой баз часовых поясов (zic, zdump и tzselect); Удалён устаревший заголовочный файл "regexp.h", вместо которого следует использовать "regex.h"; Удалён заголовочный файл "sys/kdaemon.h", а устаревшие функции bdflush, create_module, get_kernel_syms, query_module и uselib теперь недоступны для вновь скомпонованных бинарных файлов. Данный заголовочный файл и функции специфичны для систем на базе ядра Linux и потеряли смысл на системах с ядром Linux новее 2.6; Проведена оптимизация строковых операций, функций работы с памятью и вызовов wcsmbs для систем IBM z13; Вновь скомпонованные программы, в которых определена переменная signgam, теперь не смогут установить её через функции lgamma, lgammaf и lgammal, так как данная переменная теперь определена в заголовочном файле math.h; Для сборки Glibc 2.23 теперь требуется как минимум GCC 4.7, для сборки связанных с Glibc программ по-прежнему могут применяться старые версии GCC и иные компиляторы; Устранены уязвимости: CVE-2015-7547 - несколько дней назад анонсированная критическая уязвимость в libresolv, позволяющая удалённо выполнить код в системе при резолвинге подконтрольного атакующему доменного имени в любом приложении, использующем вызов getaddrinfo(). Проблема является одной из самых опасных уязвимостей за последнее время и может проявиться в широком спектре клиентских и серверных программ, от почтовых серверов до web-приложений на PHP и Ruby on Rails; CVE-2015-8776 - крах, вызванный обращением за границы буфера, в котором размещена структура tm при вызове функции strftime; CVE-2015-8777 - возможность использования переменной окружения LD_POINTER_GUARD для отключения механизмов защиты указателей в исполняемых файлах, запущенных в режиме AT_SECURE; CVE-2015-8778 - целочисленное переполнение в функциях hcreate и hcreate_r, которое может привести к обращению к областям памяти вне границ буфера; CVE-2015-8779 - выход за границы стека в функции catopen; CVE-2014-9761 - выход за границы стека при обработке слишком больших строк в функциях nan, nanf и nanl; Закрыто 264 отчёта об ошибках.
Просмотров: 165 | Добавил: muge | Рейтинг: 0.0/0
Всего комментариев: 0
Имя *:
Email *:
Код *:
Форма входа
Поиск
Календарь