Выпуск языка программирования Rust 1.61
Некоторые новшества:
- Предоставлена возможность определения собственных кодов возврата из функции main.
- Стабилизированы дополнительные возможности функций, определённых с использованием выражения "const fn", которые могут вызываться не только как обычные функции, но и использоваться в любом контексте вместо констант.
- Дескрипторы потоков Stdin, Stdout и Stderr в std::io теперь имеют cтатическое время жизни ("'static") при блокировке, что позволяет использовать конструкции вида "let out = std::io::stdout().lock();" с получением дескриптора и выставлением блокировки в одном выражении.
- В разряд стабильных переведена новая порция API
И другие изменения.
Некоторые новшества:
- Предоставлена возможность определения собственных кодов возврата из функции main.
- Стабилизированы дополнительные возможности функций, определённых с использованием выражения "const fn", которые могут вызываться не только как обычные функции, но и использоваться в любом контексте вместо констант.
- Дескрипторы потоков Stdin, Stdout и Stderr в std::io теперь имеют cтатическое время жизни ("'static") при блокировке, что позволяет использовать конструкции вида "let out = std::io::stdout().lock();" с получением дескриптора и выставлением блокировки в одном выражении.
- В разряд стабильных переведена новая порция API
И другие изменения.
👍12
HP анонсировала ноутбук, поставляемый с Linux-дистрибутивом Pop!_OSм
Ноутбук HP Dev One предназначен для разработчиков приложений и поставляется с дистрибутивом Linux Pop!_OS, основанным на пакетной базе Ubuntu 22.04 и оснащённым собственным окружением рабочего стола COSMIC. Ноутбук построен на базе 8-ядерного процессора AMD Ryzen 7 PRO, снабжён 14-дюймовым (FHD) экраном с антибликовым покрытием, 16 ГБ ОЗУ и 1TB NVMe. Заявленная стоимость 1099 долларов.
Поставляемый в дистрибутиве Pop!_OS рабочий стол COSMIC построен на базе модифицированной оболочки GNOME Shell и включает набор оригинальных дополнений к GNOME Shell, собственную тему оформления, свой набор пиктограмм, другие шрифты и изменённые настройки. В отличие от GNOME, в COSMIC продолжает использоваться раздельное представление для навигации по открытым окнам и установленным приложениям. Для манипуляции окнами предоставлен как привычный для новичков традиционный режим управления при помощи мыши, так и мозаичный режим компоновки окон, позволяющий управлять работой только при помощи клавиатуры.
Ноутбук HP Dev One предназначен для разработчиков приложений и поставляется с дистрибутивом Linux Pop!_OS, основанным на пакетной базе Ubuntu 22.04 и оснащённым собственным окружением рабочего стола COSMIC. Ноутбук построен на базе 8-ядерного процессора AMD Ryzen 7 PRO, снабжён 14-дюймовым (FHD) экраном с антибликовым покрытием, 16 ГБ ОЗУ и 1TB NVMe. Заявленная стоимость 1099 долларов.
Поставляемый в дистрибутиве Pop!_OS рабочий стол COSMIC построен на базе модифицированной оболочки GNOME Shell и включает набор оригинальных дополнений к GNOME Shell, собственную тему оформления, свой набор пиктограмм, другие шрифты и изменённые настройки. В отличие от GNOME, в COSMIC продолжает использоваться раздельное представление для навигации по открытым окнам и установленным приложениям. Для манипуляции окнами предоставлен как привычный для новичков традиционный режим управления при помощи мыши, так и мозаичный режим компоновки окон, позволяющий управлять работой только при помощи клавиатуры.
👍19🔥5
Ubuntu 22.10 перейдёт на обработку звука при помощи PipeWire вместо PulseAudio
Пакеты, связанные с PulseAudio удалены из наборов desktop и desktop-minimal, а для обеспечения совместимости вместо библиотек для взаимодействия с PulseAudio добавлена работающая поверх PipeWire прослойка pipewire-pulse, которая позволяет сохранить работу всех существующих клиентов PulseAudio.
Два года назад подобное изменение уже было внедрено в Fedora 34, что позволило предоставить возможности профессиональной обработки звука, избавиться от фрагментации и унифицировать звуковую инфраструктуру для разных применений.
PipeWire предлагает расширенную модель безопасности, позволяющую управлять доступом на уровне отдельных устройств и конкретных потоков, и упрощающую организацию проброса звука и видео из изолированных контейнеров и в них. PipeWire может обрабатывать любые мультимедийные потоки и способен смешивать и перенаправлять не только потоки со звуком, но потоки с видео, а также управлять источниками видео. PipeWire также может выступать в роли звукового сервера, обеспечивающего минимальные задержки и предоставляющего функциональность, комбинирующую возможности PulseAudio и JACK, в том числе учитывающую потребности систем профессиональной обработки звука, на которую не мог претендовать PulseAudio.
Пакеты, связанные с PulseAudio удалены из наборов desktop и desktop-minimal, а для обеспечения совместимости вместо библиотек для взаимодействия с PulseAudio добавлена работающая поверх PipeWire прослойка pipewire-pulse, которая позволяет сохранить работу всех существующих клиентов PulseAudio.
Два года назад подобное изменение уже было внедрено в Fedora 34, что позволило предоставить возможности профессиональной обработки звука, избавиться от фрагментации и унифицировать звуковую инфраструктуру для разных применений.
PipeWire предлагает расширенную модель безопасности, позволяющую управлять доступом на уровне отдельных устройств и конкретных потоков, и упрощающую организацию проброса звука и видео из изолированных контейнеров и в них. PipeWire может обрабатывать любые мультимедийные потоки и способен смешивать и перенаправлять не только потоки со звуком, но потоки с видео, а также управлять источниками видео. PipeWire также может выступать в роли звукового сервера, обеспечивающего минимальные задержки и предоставляющего функциональность, комбинирующую возможности PulseAudio и JACK, в том числе учитывающую потребности систем профессиональной обработки звука, на которую не мог претендовать PulseAudio.
👍19🔥3👎1
CVE-2022-1729 позволяет локальному пользователю получить root-доступ к системе. Уязвимость вызвана состоянием гонки в подсистеме perf, которое можно использовать для инициирования обращения к уже освобождённой области памяти ядра (use-after-free). Проблема проявляется начиная с выпуска ядра 4.0-rc1. Возможность эксплуатации подтверждена для выпусков 5.4.193+.
Исправление пока доступно только в форме патча. Опасность уязвимости сглаживает то, что большинство дистрибутивов по умолчанию ограничивают доступ к perf для непривилегированных пользователей. В качестве обходного пути защиты можно выставить sysctl-параметр kernel.perf_event_paranoid в значение 3.
Исправление пока доступно только в форме патча. Опасность уязвимости сглаживает то, что большинство дистрибутивов по умолчанию ограничивают доступ к perf для непривилегированных пользователей. В качестве обходного пути защиты можно выставить sysctl-параметр kernel.perf_event_paranoid в значение 3.
👍10👎1😱1
Lotus 1-2-3 портирован для Linux
Исследователь безопасности Тэвис Орманди ради интереса портировал для работы в Linux табличный процессор Lotus 1-2-3, выпущенный в 1988 году, за три года до появления самого Linux.
Порт выполнен на основе переработки исполняемых файлов для UNIX, найденных в архиве с варезом на одной из BBS. Работа интересна тем, что портирование выполнено на уровне машинных кодов и динамического связывания без использования эмуляторов или виртуальных машин. В итоге получен исполняемый файл, способный запускаться в Linux без лишних прослоек. Инструментарий для адаптации имеющихся в открытом доступе исполняемых файлов Lotus 1-2-3 для запуска в Linux опубликован на GitHub.
При портировании выполнена адаптация к интерфейсу системных вызовов Linux, обеспечено перенаправление вызовов в glibc, произведена замена несовместимых функций и интегрирован альтернативный драйвер для вывода в терминал. В собственный экземпляр также добавлен обход проверки лицензии, но Тэвис владеет коробочной копией Lotus 1-2-3 для MS-DOS и имеет законное право на использование продукта.
https://www.youtube.com/watch?v=hMUhIg9B_So
Исследователь безопасности Тэвис Орманди ради интереса портировал для работы в Linux табличный процессор Lotus 1-2-3, выпущенный в 1988 году, за три года до появления самого Linux.
Порт выполнен на основе переработки исполняемых файлов для UNIX, найденных в архиве с варезом на одной из BBS. Работа интересна тем, что портирование выполнено на уровне машинных кодов и динамического связывания без использования эмуляторов или виртуальных машин. В итоге получен исполняемый файл, способный запускаться в Linux без лишних прослоек. Инструментарий для адаптации имеющихся в открытом доступе исполняемых файлов Lotus 1-2-3 для запуска в Linux опубликован на GitHub.
При портировании выполнена адаптация к интерфейсу системных вызовов Linux, обеспечено перенаправление вызовов в glibc, произведена замена несовместимых функций и интегрирован альтернативный драйвер для вывода в терминал. В собственный экземпляр также добавлен обход проверки лицензии, но Тэвис владеет коробочной копией Lotus 1-2-3 для MS-DOS и имеет законное право на использование продукта.
https://www.youtube.com/watch?v=hMUhIg9B_So
YouTube
Lotus 1-2-3 for UNIX Ported to Linux
A quick demo of Lotus 1-2-3 working natively on Linux.
Read about how this was possible here: https://lock.cmpxchg8b.com/linux123.html
All code is available on GitHub if you want to try this yourself!
https://github.com/taviso/123elf
Read about how this was possible here: https://lock.cmpxchg8b.com/linux123.html
All code is available on GitHub if you want to try this yourself!
https://github.com/taviso/123elf
👍10🤔2
Среди наиболее заметных изменений: проведена большая чистка устаревшей функциональности, объявлена устаревшей ФС Reiserfs, реализованы события трассировки пользовательских процессов, добавлена поддержка механизма блокирования работы эксплоитов Intel IBT, включён режим выявления переполнения буферов при использовании функции memcpy(), добавлен механизм отслеживания вызовов функций fprobe, повышена производительность планировщика задач на CPU AMD Zen, в состав включён драйвер для управления функциональностью CPU Intel (SDS), интегрирована часть патчей для реструктуризации заголовочных файлов, одобрено применение стандарта C11.
В новую версию принято 16206 исправлений от 2127 разработчиков, размер патча - 108 МБ.
В новую версию принято 16206 исправлений от 2127 разработчиков, размер патча - 108 МБ.
👍18
Айтишная народная примета: «Что у Линуса Торвальдса в голове, то он и покажет средним пальцем техногиганту».
Команда канала «Люди и код» берёт интервью у опытных и начинающих разработчиков, честно рассказывает об индустрии глазами программистов, находит интересные и неожиданные темы и помогает влюбиться в IT. Про мемы тоже не забываем, кстати.
Вот наши любимые материалы:
1. Страх и ненависть Линуса Торвальдса: кому создатель Linux рекомендует выпить йаду.
2. 🤬💩🤯🤢 — за что разработчики ненавидят разные языки программирования.
3. Выбрось свои книги: 20 игр, которые научат кодить и не только.
4. Ассемблер в 2k21: кто и зачем продолжает писать на машинно-ориентированном языке.
5. Разработка Linux Kernel, миф о токсичности Торвальдса и проблемы Rust с Алексеем Гладковым из Red Hat.
Подписывайтесь на канал «Люди и код»: @skillbox_media_code
Команда канала «Люди и код» берёт интервью у опытных и начинающих разработчиков, честно рассказывает об индустрии глазами программистов, находит интересные и неожиданные темы и помогает влюбиться в IT. Про мемы тоже не забываем, кстати.
Вот наши любимые материалы:
1. Страх и ненависть Линуса Торвальдса: кому создатель Linux рекомендует выпить йаду.
2. 🤬💩🤯🤢 — за что разработчики ненавидят разные языки программирования.
3. Выбрось свои книги: 20 игр, которые научат кодить и не только.
4. Ассемблер в 2k21: кто и зачем продолжает писать на машинно-ориентированном языке.
5. Разработка Linux Kernel, миф о токсичности Торвальдса и проблемы Rust с Алексеем Гладковым из Red Hat.
Подписывайтесь на канал «Люди и код»: @skillbox_media_code
👎6👍5
Релиз nginx 1.22.0
Новая стабильная ветка nginx 1.22.0 вобрала в себя изменения, накопленные в основной ветке 1.21.x. В дальнейшем все изменения в стабильной ветке 1.22 будут связаны с устранением серьёзных ошибок и уязвимостей.
Улучшения:
- В некоторых директивах добавлена поддержка переменных.
- В почтовый прокси-модуль добавлена поддержка режима "pipelining" для передачи нескольких запросов POP3 или IMAP в одном соединении, а также добавлена новая директива "max_errors", определяющая максимальное число ошибок протокола, после которых соединение будет закрыто.
- Реализована передача заголовков "Auth-SSL-Protocol" и "Auth-SSL-Cipher" серверу аутентификации почтового прокси.
- В модуль stream добавлена поддержка TLS-расширения ALPN.
- В модуль stream добавлен параметр "fastopen", включающий режим "TCP Fast Open" для слушающих сокетов.
И другие улучшения.
Новая стабильная ветка nginx 1.22.0 вобрала в себя изменения, накопленные в основной ветке 1.21.x. В дальнейшем все изменения в стабильной ветке 1.22 будут связаны с устранением серьёзных ошибок и уязвимостей.
Улучшения:
- В некоторых директивах добавлена поддержка переменных.
- В почтовый прокси-модуль добавлена поддержка режима "pipelining" для передачи нескольких запросов POP3 или IMAP в одном соединении, а также добавлена новая директива "max_errors", определяющая максимальное число ошибок протокола, после которых соединение будет закрыто.
- Реализована передача заголовков "Auth-SSL-Protocol" и "Auth-SSL-Cipher" серверу аутентификации почтового прокси.
- В модуль stream добавлена поддержка TLS-расширения ALPN.
- В модуль stream добавлен параметр "fastopen", включающий режим "TCP Fast Open" для слушающих сокетов.
И другие улучшения.
👍8🔥2
Популярная индийская газета посвятила целую страницу статье о том, как создать менеджер паролей на Линуксе
🥰18👍7❤1👎1
В GitLab заменят встроенный редактор кода на Visual Studio Code
Представлен релиз GitLab 15.0 и объявлено о намерении в будущих выпусках заменить встроенный редактор кода Web IDE на редактор Visual Studio Code (VS Code), развиваемый компанией Microsoft при участии сообщества. Использование редактора VS Code упростит разработку проектов в интерфейсе GitLab и позволит разработчикам использовать привычный и полнофункциональный инструмент редактирования кода.
Опрос пользователей GitLab показал, что Web IDE отлично подходит для внесения небольших изменений, но мало кто использует его для полноценного написания кода. Разработчики GitLab попытались понять, что мешает полноценной работе в Web IDE, и пришли к выводу, что дело не в отсутствии каких-то конкретных возможностей, а в совокупности мелких недоработок интерфейса и методов работы. Судя по опросу, проведённому площадкой Stack Overflow, более 70% разработчиков используют при написании кода редактор VS Code.
А для тех, кому необходим максимально простой редактор для внесения отдельных правок, планируется добавить необходимые возможности редактирования в базовые компоненты, такие как Web Editor, Snippets и Pipeline Editor.
Представлен релиз GitLab 15.0 и объявлено о намерении в будущих выпусках заменить встроенный редактор кода Web IDE на редактор Visual Studio Code (VS Code), развиваемый компанией Microsoft при участии сообщества. Использование редактора VS Code упростит разработку проектов в интерфейсе GitLab и позволит разработчикам использовать привычный и полнофункциональный инструмент редактирования кода.
Опрос пользователей GitLab показал, что Web IDE отлично подходит для внесения небольших изменений, но мало кто использует его для полноценного написания кода. Разработчики GitLab попытались понять, что мешает полноценной работе в Web IDE, и пришли к выводу, что дело не в отсутствии каких-то конкретных возможностей, а в совокупности мелких недоработок интерфейса и методов работы. Судя по опросу, проведённому площадкой Stack Overflow, более 70% разработчиков используют при написании кода редактор VS Code.
А для тех, кому необходим максимально простой редактор для внесения отдельных правок, планируется добавить необходимые возможности редактирования в базовые компоненты, такие как Web Editor, Snippets и Pipeline Editor.
🤔8👍3👎3
Выпуск Stratis 3.1, инструментария для управления локальными хранилищами
Stratis 3.1 развивается Red Hat и Fedora для унификации и упрощения средств настройки и управления пулом из одного или нескольких локальных накопителей. Stratis предоставляет динамическое выделение места в хранилище, снапшоты, обеспечение целостности и создание слоёв для кэширования.
В новой версии:
- Улучшено управление компонентами, обеспечивающими динамическое выделение места в хранилище. В cli-интерфейсе предоставлены команды для включения динамического распределения места на этапе создания пула и изменения параметров для уже работающих пулов. Для выбранных пулов также теперь можно изменять на лету ограничения файловой системы.
- В команды работы с пулами, файловыми системами и блочными устройствами добавлена подкоманда debug для включения отладочного режима.
- В фоновом процессе stratisd размер минимально поддерживаемой ФС увеличен до 512 MB.
- Для пулов MDV включено монтирование в отдельном пространстве точек монтирования.
- Улучшена обработка событий udev, генерируемых при извлечении устройства.
Stratis 3.1 развивается Red Hat и Fedora для унификации и упрощения средств настройки и управления пулом из одного или нескольких локальных накопителей. Stratis предоставляет динамическое выделение места в хранилище, снапшоты, обеспечение целостности и создание слоёв для кэширования.
В новой версии:
- Улучшено управление компонентами, обеспечивающими динамическое выделение места в хранилище. В cli-интерфейсе предоставлены команды для включения динамического распределения места на этапе создания пула и изменения параметров для уже работающих пулов. Для выбранных пулов также теперь можно изменять на лету ограничения файловой системы.
- В команды работы с пулами, файловыми системами и блочными устройствами добавлена подкоманда debug для включения отладочного режима.
- В фоновом процессе stratisd размер минимально поддерживаемой ФС увеличен до 512 MB.
- Для пулов MDV включено монтирование в отдельном пространстве точек монтирования.
- Улучшена обработка событий udev, генерируемых при извлечении устройства.
📌CVE-2022-30783, CVE-2022-30785, CVE-2022-30787 - уязвимости в драйвере NTFS-3G, собранном со встроенной библиотекой libfuse или с системной библиотекой libfuse2. Атакующий может выполнить произвольный код с правами root через манипуляцию с опциями командной строки, при наличии доступа к исполняемому файлу ntfs-3g, поставляемому с флагом suid root.
📌CVE-2021-46790, CVE-2022-30784, CVE-2022-30786, CVE-2022-30788, CVE-2022-30789 - уязвимости в коде разбора метаданных в NTFS-разделах, приводящие к переполнению буфера из-за отсутствия должных проверок. Атака может быть совершена при обработке NTFS-3G раздела, подготовленного злоумышленником. Например, при монтировании пользователем накопителя, подготовленного атакующим, или при наличии у атакующего непривилегированного локального доступа к системе.
📌CVE-2021-46790, CVE-2022-30784, CVE-2022-30786, CVE-2022-30788, CVE-2022-30789 - уязвимости в коде разбора метаданных в NTFS-разделах, приводящие к переполнению буфера из-за отсутствия должных проверок. Атака может быть совершена при обработке NTFS-3G раздела, подготовленного злоумышленником. Например, при монтировании пользователем накопителя, подготовленного атакующим, или при наличии у атакующего непривилегированного локального доступа к системе.
🤬7🔥4
Доступен дистрибутив AlmaLinux 9.0, основанный на ветке RHEL 9
Проект AlmaLinux стал первым общедоступным дистрибутивом, основанным на пакетной базе RHEL, выпустившим стабильные сборки на основе RHEL 9. Дистрибутив полностью бинарно совместим с Red Hat Enterprise Linux и может использоваться в качестве замены RHEL 9 и CentOS 9 Stream.
Изменения сводятся к ребрендингу, удалению специфичных для RHEL пакетов, таких как redhat-, insights-client и subnoscription-manager-migration.
Проект AlmaLinux стал первым общедоступным дистрибутивом, основанным на пакетной базе RHEL, выпустившим стабильные сборки на основе RHEL 9. Дистрибутив полностью бинарно совместим с Red Hat Enterprise Linux и может использоваться в качестве замены RHEL 9 и CentOS 9 Stream.
Изменения сводятся к ребрендингу, удалению специфичных для RHEL пакетов, таких как redhat-, insights-client и subnoscription-manager-migration.
👍9