The OpenNET Project / Index page

[ новости /+++ | форум | wiki | теги | ]

Выпуск системной библиотеки Glibc 2.31

02.02.2020 12:22

После шести месяцев разработки опубликован релиз системной библиотеки GNU C Library (glibc) 2.31, которая полностью следует требованиям стандартов ISO C11 и POSIX.1-2008. В состав нового выпуска включены исправления от 58 разработчиков.

Из реализованных в Glibc 2.31 улучшений можно отметить:

  • Добавлен макрос _ISOC2X_SOURCE для включения возможностей, определённых в черновом варианте будущего стандарта ISO C2X. Данные возможности также включаются при использовании макроса _GNU_SOURCE или при сборке в gcc c флагом "-std=gnu2x";
  • Для определённых в заголовочном файле "math.h" функций, которые округляют свои результаты до типа меньшего размера, в файле "tgmath.h" предложены соответствующие макросы обобщённого типа, как того требуют спецификации TS 18661-1:2014 и TS 18661-3:2015;
  • Добавлена функция pthread_clockjoin_np(), которая ожидает завершения потока с учётом таймаута (если таймаут наступит до завершения, то функция вернёт ошибку). В отличие от pthread_timedjoin_np(), в pthread_clockjoin_np() допускается определение типа таймера для расчёта таймаута - CLOCK_MONOTONIC ( учитывает время проведённое системой в спящем режиме) или CLOCK_REALTIME;
  • В DNS-резолвер добавлена поддержка опции trust-ad в /etc/resolv.conf и флага RES_TRUSTAD в _res.options, при установке которых в DNS-запросах осуществляется передача DNSSEC-флага AD (authenticated data). В данном режиме установленный сервером AD-флаг становится доступен приложениям, вызывающим функции, подобные res_search(). По умолчанию, если предложенные опции не выставлены, glibc не указывает флаг AD в запросах и автоматически очищает его в ответах, что свидетельствует об отсутствии проверки DNSSEC;
  • Для сборки работающих обвязок системных вызовов для Glibc теперь не требуется установка заголовочных файлов ядра Linux. Исключение составляет 64-разрядная архитектура RISC-V;
  • Устранена уязвимость CVE-2019-19126, которая позволяет обойти защиту ASLR в программах с флагом setuid и определить раскладку адресов в загружаемых библиотеках через манипуляцию с переменной окружения LD_PREFER_MAP_32BIT_EXEC.

Изменения, нарушающие совместимость:

  • В totalorder(), totalordermag() и подобные функции для других типов с плавающей запятой теперь принимают в качестве аргумента указатели для исключения предупреждений о преобразовании значений в состоянии NaN, в соответствии с рекомендациями TS 18661-1, предложенными для будущего стандарта C2X. Существующие исполняемые файлы, в которых аргументы с плавающей запятой передаются напрямую, продолжат работать без изменения;
  • Давно объявленная устаревшая функция stime теперь недоступна для связываемых с glibc бинарных файлов, а её определение удалено из time.h. Для установки системного времени следует использовать функцию clock_settime. В дальнейшем планируется удалить и помеченную устаревшей функцию ftime, а также заголовочный файл sys/timeb.h (вместо ftime следует использовать gettimeofday или clock_gettime);
  • Функция gettimeofday отныне не передаёт сведения об общесистемном часовом поясе (данная возможность была актуальна во времена 4.2-BSD и много лет объявлена устаревшей). В аргументе 'tzp' теперь следует передавать нулевой указатель, а для получения сведений о часовом поясе в привязке к текущему времени использовать функцию localtime(). При вызове gettimeofday с ненулевым аргументом 'tzp' будут возвращены пустые поля tz_minuteswest и tz_dsttime в структуре timezone. Сама функция gettimeofday считается устаревшей в POSIX (вместо gettimeofday рекомендуется использовать clock_gettime), но удалять её из glibc не планируется;
  • В settimeofday прекращена поддержка одновременной передачи параметров для установки времени и корректирующего время смещения. При вызове settimeofday один из аргументов (время или смещение) теперь обязательно должен быть выставлен в значение null, иначе вызов функции будет завершён ошибкой EINVAL. Как и gettimeofday функция settimeofday считается устаревшей в POSIX и вместо неё рекомендуется использовать функцию clock_settime или семейство функций adjtime;
  • Прекращена поддержка архитектуры SPARC ISA v7 (поддержка v8 пока сохранена, но только для процессоров с поддержкой инструкций CAS, таких как процессоры LEON, но не процессоры SuperSPARC).
  • В случае сбоя связывания в режиме "lazy", при котором компоновщик не выполняет поиск символов функции до первого вызова этой функции, функция dlopen теперь принудительно завершает выполнение процесса (ранее при сбое возвращался NULL);
  • Для ABI MIPS hard-float теперь используется исполняемый стек, если при сборке явно не задано ограничение на использование ядра Linux 4.8+ через параметр "--enable-kernel=4.8.0" (с ядрами до 4.8 наблюдаются сбои для некоторых конфигураций MIPS);
  • Обвязки над системными вызовами, связанными с манипуляцией временем, переведены на применение системного вызова time64, при его наличии (на 32-разрядных системах glibc вначале пытается использовать новые системные вызовы, манипулирующие 64-разрядным типом для времени, а если их нет, откатывается на старые 32-разрядные вызовы).


  1. Главная ссылка к новости (https://sourceware.org/ml/libc...)
  2. OpenNews: Выпуск системной библиотеки Glibc 2.30
  3. OpenNews: Представлена стандартная Си-библиотека Musl 1.0.0, развиваемая в качестве альтернативы Glibc
  4. OpenNews: Конфликт между Ричардом Столлманом и командой разработчиков Glibc
  5. OpenNews: Уязвимость в Glibc, позволяющая поднять привилегии в системе
  6. OpenNews: Уязвимость в Glibc ld.so, позволяющая поднять свои привилегии в системе
Лицензия: CC-BY
Тип: Программы
Короткая ссылка: https://opennet.ru/52293-glibc
Ключевые слова: glibc
При перепечатке указание ссылки на opennet.ru обязательно
Обсуждение (52) Ajax | 1 уровень | Линейный | +/- | Раскрыть всё | RSS
  • 1.1, Аноним (1), 13:10, 02/02/2020 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    > Прекращена поддержка архитектуры SPARC ISA v7

    Ну блин, столько машинов на спарке в7 пропадут :(

     
     
  • 2.2, Аноним (2), 13:48, 02/02/2020 [^] [^^] [^^^] [ответить]  
  • +5 +/
    Просто не обновляй Glibc.
     
     
  • 3.4, Урри (?), 16:29, 02/02/2020 [^] [^^] [^^^] [ответить]  
  • +3 +/
    тем более, что причины обновляться нет.
     
  • 2.33, Аноним (-), 01:49, 03/02/2020 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Столько - это сколько? И все прямо вот с распоследним glibc? Может, если у вас их и правда эвон сколько - пойти и попросить откопать стюардессу обратно? С условием что _вы_ это и будете майнтайнить, конечно же.
     
  • 2.40, Аноним (40), 02:55, 03/02/2020 [^] [^^] [^^^] [ответить]  
  • +3 +/
    >> Прекращена поддержка архитектуры SPARC ISA v7
    > Ну блин, столько машинов на спарке в7 пропадут :(

    У вас там клуб анонимного ретрокомпьютинга?

    P.S. Последний SPARC V7 был выпущен в 1992-м году.

     
     
  • 3.49, Урри (?), 16:21, 03/02/2020 [^] [^^] [^^^] [ответить]  
  • +/
    Базовые библиотеки, тем более такого уровня, должны работать на всем.

    Без строгости ситуация легко превращается в хаос; когда, например, ведроидный printf не умеет выводить 64-битные числа на 64-битных армах.

    Тотальное забивание на качество под соусом "да наcpать на этих 2%, главное что работает у 98%" обязательно и всегда приводит к ситуации коллапса, когда не работает как надо у всех без исключения.

     
     
  • 4.51, Аноним (51), 18:45, 03/02/2020 [^] [^^] [^^^] [ответить]  
  • +/
    Миллиарды ифдефов условной компиляции для поддержки мертвых архитектур к коллапсу приведут куда быстрее.
     

  • 1.3, Этническое Происхождение Путина (?), 15:59, 02/02/2020 [ответить] [﹢﹢﹢] [ · · · ]  
  • –2 +/
    Будущее за musl.
     
     
  • 2.5, Аноним (5), 17:52, 02/02/2020 [^] [^^] [^^^] [ответить]  
  • +3 +/
    musl имеет разрешительную лицензию. Будущее не за Open Source, а за Free Software.
     
     
  • 3.8, пажилой человек писятчетыре года (?), 18:01, 02/02/2020 [^] [^^] [^^^] [ответить]  
  • –4 +/
    очень хотелось бы что бы было именно за фри, но, боюсь, корпорасты уже победили... опен соурс как раз продвигается корпорастами
     
     
  • 4.41, Аноним (-), 07:35, 03/02/2020 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Парадокс libre лицензий в том что они так созданы, что не могут проигрывать. By design. Как максимум, корпорасы могут пытаться не дать им выиграть, но стоит только зажлобиться - и вот оно! :)
     
  • 3.11, Аноним (11), 18:42, 02/02/2020 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Напомню в очередной раз, что касательно условий распространения это почти одно и то же. LGPL — открытая лицензия. Лицензия Expat/Musl — свободная лицензия.
     
     
  • 4.23, Аноним (23), 21:31, 02/02/2020 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Открытое не равно свободное. Почему вы никак не научитесь?
     
     
  • 5.31, Аноним (11), 00:27, 03/02/2020 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Разумеется, не равно, но в условиях лицензирования разницы практически нет Крит... большой текст свёрнут, показать
     
  • 5.59, Аноним (59), 19:56, 05/02/2020 [^] [^^] [^^^] [ответить]  
  • +/
    От того, как лицензии MIT и LGPL не называть, их суть не поменяется. Обе лицензии удовлетворяют обоим определением, это же верно практически для любой широко используемой FOSS-лицензии
     
  • 3.13, Аноним (11), 18:47, 02/02/2020 [^] [^^] [^^^] [ответить]  
  • +3 +/
    >Free Software

    Помимо того, что это выглядит глупо в русском тексте, Ричард и FSF настоятельно рекомендуют говорящим на других языках переводить словосочетание «free software». На английском оно полисемантично.

     
  • 3.19, Этническое Происхождение Путина (?), 19:37, 02/02/2020 [^] [^^] [^^^] [ответить]  
  • –6 +/
    Мне совершенно наплевать на эти ваши лицензии, интересны только технологии.
     
     
  • 4.24, Cradle (?), 23:18, 02/02/2020 [^] [^^] [^^^] [ответить]  
  • +6 +/
    без этих их лицензий вам придется как в восьмидесятых платить за каждый технологиический чих лимоны денег, а получать каждый раз черный ящик, и с гулькин нос документации
     
     
  • 5.32, Этническое Происхождение Путина (?), 01:00, 03/02/2020 [^] [^^] [^^^] [ответить]  
  • –3 +/
    > без этих их лицензий вам придется как в восьмидесятых платить за каждый
    > технологиический чих лимоны денег, а получать каждый раз черный ящик, и
    > с гулькин нос документации

    С каких это пор за BSD/MIT и подобное вдруг стало нужно платить?
    Я имел в виду то, что мне без разницы под какой лицензией ПО, если его исходники открыты и оно бесплатно.

     
     
  • 6.42, Аноним (-), 07:36, 03/02/2020 [^] [^^] [^^^] [ответить]  
  • –1 +/
    > С каких это пор за BSD/MIT и подобное вдруг стало нужно платить?

    С эпохи BSDi - нормально? А потом виндриверу пришел пингвин :)

     
     
  • 7.55, нах. (?), 10:42, 05/02/2020 [^] [^^] [^^^] [ответить]  
  • +/
    AT&T [к н]ему пришел. А когда ушел с полным хлебалом дерьма - уже была 6ешплатная freebsd2.x, а кто ж будет деньги платить за то, что можно стырить на халяву?!

    Пингвин в этот момент отлично вис при вялых всплесках сетевого траффика - при тогдашних-то ниточках и веревочках, выдаваемых за каналы связи.

    А потом к пингвину пришла ibm с бесконечными деньгами.

     
     
  • 8.56, Anonymoustus (ok), 15:43, 05/02/2020 [^] [^^] [^^^] [ответить]  
  • +/
    Не пугай молодёжь Пусть верят в добрые сказки 8212 в миллионы внимательных г... текст свёрнут, показать
     
     
  • 9.60, нах. (?), 12:23, 06/02/2020 [^] [^^] [^^^] [ответить]  
  • +/
    Миллионы глаз как раз смотрят очень внимательно Но не в код ... текст свёрнут, показать
     
  • 4.34, Аноним (-), 01:51, 03/02/2020 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > Мне совершенно наплевать на эти ваши лицензии, интересны только технологии.

    C фиговой лицензией как-то так оказывается что технологии внезапно не у тебя. А если не повезло то они еще и играют против тебя. И тогда радости то с таких технологий...

     
     
  • 5.58, Аноним (59), 19:54, 05/02/2020 [^] [^^] [^^^] [ответить]  
  • +/
    Внезапно, с любой лицензией технологии не у тебя, а у правообладателя, который имел щедрость ими с тобой поделиться
     
  • 3.25, Аноним (25), 23:55, 02/02/2020 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > Будущее не за Open Source, а за Free Software.

    Free software ≠ copyleft

     
     
  • 4.46, Аноним (46), 11:12, 03/02/2020 [^] [^^] [^^^] [ответить]  
  • +/
    fixed: Open source software ≠ copyleft
     
     
  • 5.53, Аноним (53), 14:35, 04/02/2020 [^] [^^] [^^^] [ответить]  
  • +/
    Одно другому не противоречит.
    copyleft ⊂ free software ⊂ open source software
     
  • 3.57, Аноним (59), 19:43, 05/02/2020 [^] [^^] [^^^] [ответить]  
  • +/
    Вы так говорите, как будто musl - это не free software
     

  • 1.6, Аноним (5), 17:57, 02/02/2020 [ответить] [﹢﹢﹢] [ · · · ]  
  • +1 +/
    >GNU C Library (glibc) 2.31, которая полностью следует требованиям стандартов ISO C11 и POSIX.1-2008.

    Наконец-то, Ура!

    Но все равно не расслабляемся, потому-что текущий стандарт языка Си - это C18.

     
     
  • 2.15, Аноним (11), 18:58, 02/02/2020 [^] [^^] [^^^] [ответить]  
  • +/
    В C18 в язык внесено лишь одно нормативное изменение:
    https://gustedt.wordpress.com/2018/08/06/c17-obsoletes-atomic_var_init
    Остальное — исправление косноязычия в стандарте.
     

  • 1.7, Anonymoustus (ok), 17:59, 02/02/2020 [ответить] [﹢﹢﹢] [ · · · ]  
  • –4 +/
    > Изменения, нарушающие совместимость:

    Помнится, линуксоиды врали, что на уровне системной библиотеки обратная совместимость не нарушается.

     
     
  • 2.9, пажилой человек писятчетыре года (?), 18:04, 02/02/2020 [^] [^^] [^^^] [ответить]  
  • –6 +/
    а тебе какая разница?
     
     
  • 3.17, Ант о Ним (?), 19:13, 02/02/2020 [^] [^^] [^^^] [ответить]  
  • –3 +/
    Думал присоединиться. Да вот ушёл...
     
     
  • 4.35, Аноним (-), 01:53, 03/02/2020 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Типа, линуксоиды много потеряли? :) Это, например, что? :)
     
  • 2.26, Аноним (25), 23:58, 02/02/2020 [^] [^^] [^^^] [ответить]  
  • +/
    Она не нарушается в том смысле, что собранные со старой версией библиотеки бинарники продолжат корректно работать после обновления.
     

  • 1.18, Имя (?), 19:28, 02/02/2020 [ответить] [﹢﹢﹢] [ · · · ]  
  • –3 +/
    С какого хера версия до сих пор 2.хх?
    Если нарушена обратная совместимость, то версия должна быть 3.0
     
     
  • 2.27, Аноним (25), 23:59, 02/02/2020 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Обратная совместимость ABI не нарушена.
     

  • 1.20, Olololo (?), 19:55, 02/02/2020 [ответить] [﹢﹢﹢] [ · · · ]  
  • –1 +/
    Просьба подсказать, недавно заметил следующее:
    - иногда под Xubuntu выскакивает сообщение, что сетевое соединение разорвано при этом торрент качалка останавливается и показывает скорость 0, но через секунд 20-30 начинает качать по новой
    - я использую VPN и через firewall прописал только один сервак VPN для выхода в сеть. Выйти в сеть в обход этого VPN сервака нельзя(!!!).
    - что подозрительно, если обычно торрент качается на скорости максимум 2.5 Мбайт/с то после квази разрыва соединения и торрент начинает качаться на скорости в 3 раза больше т.е. до 6 Мбайт/с и так продолжается пока я сам не разорву соедиение и не переподключусь к этому VPN снова. При этом при проверке моего IP в обоих случая я вижу один и тот же иностранный IP. При этом консоль где я руками запускаю openVPN не показывает разрыва соединения т.е. как было написано - "Initialization Sequence Completed" так и осталось, новых сообщений не появилось.

    Вопрос, не может быть такое, что кто-то вклинивается?

     
     
  • 2.21, Olololo (?), 19:58, 02/02/2020 [^] [^^] [^^^] [ответить]  
  • +/
    >торрент начинает качаться на скорости в 3 раза больше т.е. до __7__ Мбайт/с

    поправил

     
  • 2.29, Аноним (29), 00:05, 03/02/2020 [^] [^^] [^^^] [ответить]  
  • +/
    Offtopic
     
  • 2.37, Аноним (-), 02:01, 03/02/2020 [^] [^^] [^^^] [ответить]  
  • +/
    Анонимус, прикинь, тут есть более топичные форумы для таких вопросов А ты увере... большой текст свёрнут, показать
     
     
  • 3.45, Olololo (?), 10:41, 03/02/2020 [^] [^^] [^^^] [ответить]  
  • +/
    >А если вообще нифига не понятно - ну, wireshark поставь и изучи

    Я уже сказал, что внешний IP НЕ МЕНЯЕТСЯ. IP как был от VPN сервака так и остался. Провайдер NordVPN.

    >советую убрать к чертям всю автоматику типа нетворкманагера %) и нарулить такую конфигу вручную

    Я так и сделал, настроил firewall руками. Нетворкманагер только подключается к инету, пакеты посылаются только на один сервак - VPN.

    p.s. я спрашиваю про это потому, что дыма без огня не бывает, меня один раз ФСБ уже слушала. Похоже, что есть какая-то новая техника взлома VPN или как минимум вклиниваются и записывают дамп пакетов. Или NordVPN что-то мутит.

     
     
  • 4.47, Аноним (47), 12:09, 03/02/2020 [^] [^^] [^^^] [ответить]  
  • +/
    Очень похоже на методики ЦРУ
     
     
  • 5.52, ЦРУ (?), 11:34, 04/02/2020 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Мы подобными придурками-параноиками, не умеющими разобраться в собственном линуксе, что у них куда отправляется, не интересуемся, у нас более осмысленных занятий есть.

    Да, коллеги из ФБР просили передать, что им он тоже нахрен не нужен - он ни разу не Хемингуэй.

     

  • 1.38, Аноним (38), 02:47, 03/02/2020 [ответить] [﹢﹢﹢] [ · · · ]  
  • –1 +/
    >Данные возможности также включаются при использовании макроса _GNU_SOURCE или при сборке в gcc c флагом "-std=gnu2x";

    В CMake до сих пор 18 не завезли. Видимо C не нужен.

     
     
  • 2.44, Аноним (-), 08:30, 03/02/2020 [^] [^^] [^^^] [ответить]  
  • –1 +/
    >В CMake до сих пор 18 не завезли. Видимо C не нужен.

    CMake изначально создавался только для Си-плюс-плюсников.
    Если ты чистосишник то юзай кошерный Make.

     
     
  • 3.50, Урри (?), 16:26, 03/02/2020 [^] [^^] [^^^] [ответить]  
  • +/
    Тем более, что давно завезли автотулзы, если самому лень писать.
     
  • 3.54, Аниним (?), 20:50, 04/02/2020 [^] [^^] [^^^] [ответить]  
  • +/
    Meson например есть
     

  • 1.39, Аноним (38), 02:50, 03/02/2020 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    >Прекращена поддержка архитектуры

    Сами себе могилу роют.

     
     
  • 2.43, Аноним (-), 07:38, 03/02/2020 [^] [^^] [^^^] [ответить]  
  • +/
    Кхм... в этом случае наверное все-же не себе :)
     

  • 1.48, RM (?), 14:55, 03/02/2020 [ответить] [﹢﹢﹢] [ · · · ]  
  • +2 +/
    >Для сборки работающих обвязок системных вызовов для Glibc теперь не требуется установка заголовочных файлов ядра Linux. Исключение составляет 64-разрядная архитектура RISC-V;

    Вот это интересно.
    Они теперь с собой таскают таблицы linux headers syscalls
    https://sourceware.org/git/?p=glibc.git;a=commit;h=4cf0d223052dabb9caed29e1e91
    и могут регенерить их время от времени, новый target "update-syscalls"
    https://sourceware.org/git/?p=glibc.git;a=commit;h=07a44d239263beae387e3cb73a5
    пока нагенерили для версии ядра 5.4
    как версии сочетаються - ходить по ссылкам отсюда:
    https://stackoverflow.com/questions/27171485/various-glibc-and-linux-kernel-ve

     

     Добавить комментарий
    Имя:
    E-Mail:
    Текст:



    Спонсоры:
    Слёрм
    Inferno Solutions
    Hosting by Hoster.ru
    Хостинг:

    Закладки на сайте
    Проследить за страницей
    Created 1996-2020 by Maxim Chirkov
    Добавить, Поддержать, Вебмастеру