Perl 5.18

LinuxDoc.Ru,
После года разработки представлена новая стабильная ветка языка программирования - Perl 5.18. В рамках подготовки нового выпуска было изменено около 400 тыс. строк кода, изменения затронули 2100 файлов, в разработке приняли участие 113 разработчиков.

Ветка 5.18 выпущена в соответствии с утверждённым три года назад фиксированным графиком разработки, подразумевающим выпуск новых стабильных веток раз в год и корректирующих релизов - раз в три месяца. 20 июня планируется выпустить первый корректирующий релиз Perl 5.18.1, в котором будут исправлены наиболее значительные ошибки, выявленные в процессе внедрения Perl 5.18.0. Одновременно с выходом Perl 5.18 прекращена поддержки ветки 5.14, для которой в будущем могут быть выпущены обновления только в случае выявления критических проблем с безопасностью. Также начался процесс разработки экспериментальной ветки 5.19, на базе которой в мае 2014 года будет сформирован стабильный релиз Perl 5.20.

Ключевые улучшения, добавленные в Perl 5.18:


Переработанная реализация хэшей. Одним из самых заметных изменений является обеспечение рандомизации в используемых хэш-функциях, что положительно влияет на безопасность (например, защитит от DoS-атак через манипуляции с коллизиями хэшей), но приводит к непредсказуемому порядку вывода элементов функциями keys(), values() и each(). Данное изменение может повлиять на работу приложений, пользующихся недокументированным свойством сохранения порядка записей в разных хэшах (в официальной документации хэши позиционируется как неупорядоченные структуры). Отныне порядок следования идентичных записей в разных хэшах и в одних и тех же хэшах при разных запусках скрипта будут отличаться. Уровень рандомизации может быть настроен через переменную окружения PERL_PERTURB_KEYS (при присвоении значения 0 рандомизация ключей отключается и поведение perl становится как в прошлых выпусках).

Из других изменений можно отметить реализацию возможности использования альтернативных хэш-функций. В качестве алгоритма хэширования по умолчанию задействован SIPHASH. Кроме того, в состав включено несколько альтернативных алгоритмов, но они рекомендуются пока только для экспериментов, так как содержат определённые проблемы с безопасностью;


Новый механизм для активации экспериментальных возможностей и новая категория предупреждений "experimental", управляющая выводом уведомлений для тестовой функциональности. Например, для включения новых экспериментальных возможностей и скрытия связанных с ними предупреждений следует указывать директивы:

no warnings "experimental::feature_name";
use feature "feature_name";


Поддержка экспериментального расширения в системе регулярных выражений, позволяющего осуществлять сопоставления с использованием расширенных правил пересечения, исключения и объединения множеств символов. Например, '[A-Z - W]' - символы от A до Z за исключением W. Более сложный пример формирования множества символов: '[p{Latin} & p{L&} - A-Z]'. Функциональность совпадает по возможностям с модулем Unicode::Regex::Set;

Экспериментальная поддержка лексических подпрограмм ("lexical_subs"), позволяющая определять при помощи выражения "state sub" подпрограммы, видимые только в области лексической видимости блока в котором подпрограмма была создана. В отличие от "my sub" процедуры "state sub" работают заметно быстрее, так как они не создаются при каждом входе в блок и совместно используются между вызовами других подпрограмм;

Возможность использования в операторах next, last и redo динамически вычисляемых меток, формируемых в процессе выполнения скрипта на основе произвольного выражения. Ранее любые отличные от константы аргументы next, last и redo воспринимались как пустая строка;

В непереопределяемое пространство имён "CORE::" включены функции defined, delete, exists, glob, pos, protoytpe, scalar, split, study и undef;


Поддержка Unicode 6.2 и реализация возможности определения собственных имён символов для использования в N{...}, charnames::vianame() и т.п. При задании имён могут быть задействованы знаки из диапазона Unicode, т.е. имена символов теперь можно определить не только на английском языке. Использование неизвестных имён символов в N{...} теперь приводит к ошибке, вместо предупреждения. Указание $/ = N для функции readline() теперь приводит к чтению N-символов, а не N-байт. Проведены заметные оптимизации скорости работы регулярных выражений в которых присутствуют Unicode символы, например, скорость выполнения операции X увеличилась на 35-40%;



Интеграция новых контрольных точек для использования в системе динамической отладки DTrace: op-entry, loading-file, loaded-file;

Добавлена новая служебная переменная ${^LAST_FH} для доступа к последнему прочитанному файловому дескриптору;
Вертикальная табуляция (cK) теперь отнесена к множеству символов пробела (s).
Обновлены версии большого числа входящих в базовую поставку модулей;

Объявлены устаревшими модули: encoding, Archive::Extract,
B::Lint*,
Devel::InnerPackage,
Log::Message*, Module::Pluggable*,
Object::Accessor,
Pod::LaTeX,
Term::UI*. Прекращена поддержка напрямую вызываемых из системной библиотеки функций для проверки класса символов, например, is_uni_alnum и т.п.; Прекращается поддержка платформ Windows CE, z/OS, DG/UX и NeXT;

В документацию по использованию модуля Storable добавлен пункт, предупреждающий о недопустимости десериализации данных, полученных из недоверительных внешних источников, так как в процессе подобной обработки можно организовать выполнение perl-кода и загрузку модулей;
linux

Программы для Linux

. Perl 5.18 Perl 5.18
Информация
Посетители, находящиеся в группе Гости, не могут оставлять комментарии к данной публикации.
Если Вы обнаружите в опубликованных документах ошибки, опечатки, несоответствия и неточности - сообщите о них.
>>> Состоялся релиз web-браузера Min 1.13, предлагающего минималистичный интерфейс, построенный вокруг манипуляций с адресной строкой. Браузер создан с использованием платформы Electron, позволяющей создавать обособленные приложения на основе движка Chromium и платформы Node.js. Интерфейс Min написан на javascript, CSS и HTML. Код распространяется под лицензией Apache 2.0. Сборки сформированы для Linux, macOS и Windows.
>>> Представлен релиз Linux-дистрибутива Zorin OS 15.2, основанного на пакетной базе Ubuntu 18.04.4. Целевой аудиторией дистрибутива являются начинающие пользователи, привыкшие работать в Windows. Для управления оформлением дистрибутив предлагает специальный конфигуратор, позволяющий придать рабочему столу вид, свойственный различным версиям Windows, а в состав включена подборка программ, близких к программам к которым привыкли пользователи Windows. Размер загрузочного iso-образа составляет 2.3 Гб (доступны две сборки - обычная на основе GNOME и "Lite" с Xfce).
>>> Компания iXsystems объявила об унификации своих продуктов для быстрого развёртывания сетевого хранилища (NAS, Network-Attached Storage). Свободный дистрибутив FreeNAS будет объединён коммерческим проектом TrueNAS, расширяющем возможности FreeNAS для предприятий и предустанавливаемом на выпускаемых в iXsystems системах хранения.
>>>

В течение многих лет в Kali Linux было принято использовать политику root-доступа для пользователя по умолчанию, что наследовалось еще из BackTrack Linux. 31 декабря 2019 года разработчики Kali Linux приняли решение перейти к более «классической» политике — отсутствию прав root в пользователя в дефолтной сессии. Изменение будет внедрено в выпуск 2020.1 дистрибутива, но, при желании, можно потестировать его уже сейчас, скачав одну из ночных или еженедельных сборок.

Немного истории и теории
Изначально был основанный на Slackware BackTrack Linux, в котором не было ничего, кроме огромного набора инструментов для пентестинга. Так как многие из этих инструментов требовали root прав, а дистрибутив предназначался только для запуска в Live режиме с диска, самым очевидным и простым решением было сделать root-права для пользователя по-умолчанию.

Со временем популярность дистрибутива росла, а пользователи начинали устанавливать его на железо вместо простого использования в режиме «загрузочного диска». Тогда, в феврале 2011 года, было принято решение перейти со Slackware на Ubuntu, чтобы у пользователей было меньше проблем и появилась возможность своевременного обновления. Спустя некоторое время, в основу Kali лег Debian Linux.

Хотя разработчики не поощряют использование дистрибутива Kali как основной ОС, нынче многие пользователи почему-то делают это, даже в случае, если они не используют дистрибутив по его прямому назначению — для проведения пентестов. Что примечательно, так делают и некоторые члены команды разработчиков дистрибутива.

При таком использовании дефолтные root-права скорее зло, чем польза, поэтому и было принято решение перейти к «традиционной» модели безопасности — пользователь по-умолчанию без root-прав.

Разработчики опасаются, что такое решение приведет к целому вороху сообщений об ошибках, но безопасность использования дистрибутива все же важнее.



Редакция портала:

Добро пожаловать на сайт, посвященный документации к ОС Linux, ее переводу и распространению. Мы надеемся, что Вы найдете тут всю необходимую информацию. Здесь представлены три основных вида документации на русском языке: руководства (man-pages), HOWTO и mini-HOWTO. В скором будущем возможно появление и других видов документации.
Авторские права на представленные документы принадлежат авторам перевода и распространяются в соответствии со Стандартной Общественной Лицензией, если в документе не указано обратное.
Если Вы обнаружите в опубликованных документах ошибки, опечатки, несоответствия и неточности - сообщите о них.


Живая лента

Microsoft пытается справиться с рекордным спросом на облачные сервисы

STFW.Ru: В компании Microsoft фиксируют рекордный спрос на ее облачные сервисы, что связано с самоизоляцией граждан дома в борьбе с эпидемией. Нагрузка на популярные облачные сервисы ...

ИТ-компании попросили считать их в числе наиболее пострадавших от кризиса

STFW.Ru: ИТ-компании просят Минкомсвязь включить индустрию в список отраслей, наиболее пострадавших от пандемии и кризиса. Задержка мер поддержки приведет к банкротству компаний, что негативно ...

[Фейк или правда?] 2015 год: Ученых напугал успешный эксперимент по переделке вируса летучих мышей

STFW.Ru: Успешный лабораторный эксперимент по созданию гибридной формы коронавируса летучих мышей, способной заражать человека, вызвал среди ученых опасения о непредсказуемых последствиях утечки ...

06:01 Минкомсвязи утвердило требования к российским DNS


08:11 Выпуск Debian 9.6


08:11 Четвёртый бета-выпуск FreeBSD 12.0. Прекращение поддержки FreeBSD 10


08:11 Mozilla тестирует в Firefox две новые возможности: Price Wise и Email Tabs


08:11 В Chrome развивается API для создания полноценных пользовательских приложений


08:11 Выпуск wayland-protocols 1.17 с поддержкой буфера обмена по средней кнопке мыши


08:11 Обновлены сборки дистрибутива Void Linux


15:11 Cinnamon 4.0


15:11 В Chrome 71 начнётся блокировка вводящих в заблуждение рекламных блоков


15:11 ReactOS 0.4.10


10:11 Релиз GhostBSD 18.10


10:11 Новые системы машинного обучения от Fаcebook и Google


09:09 Chrome OS 69 с обновлённым интерфейсом и поддержкой Linux