Выпуск 27. Май 2015

Метаоператоры в Perl 6 | Содержание | Интервью с Сюзанной Шмидт

Обзор CPAN за апрель 2015 г.

Рубрика с обзором интересных новинок CPAN за прошедший месяц.

Статистика

  • Новых дистрибутивов — 226
  • Новых выпусков — 822

Новые модули

JSON::XS::Sugar

JSON::XS::Sugar — это небольшой синтаксический сахар при работе с JSON::XS. Модуль экспортирует константы JSON_TRUE и JSON_FALSE, а также функции json_truth, json_number, json_string, которые приводят аргумент к нужному типу.

Photography::Website

Утилита photog позволяет сгенерировать из каталога с фотографиями статический сайт-фотогалерею с фотографиями отсортированными в хронологическом порядке с поддержкой вложенных альбомов. Возможно задание своего шаблона и добавление водяного знака в изображения.

App::PAUSE::TimeMachine

Веб-сервис и утилита командной строки для извлечения файла со списком пакетов PAUSE на заданный момент времени. Модуль был создан во время Берлинского QA-хакатона. Для доступа к истории файла 02packages.details.txt используется git-репозиторий https://github.com/batchpause/PAUSE-git

Carmel

Carmel — это новый менеджер пакетов CPAN, основанный на «артефактах» cpanm. В отличии от всех других инсталляторов, carmel сохраняет каталоги-артефакты, в которых происходила сборка пакетов в едином репозитории (по умолчанию это каталог $HOME/.carmel/{version}-{archname}/build). Carmel сканирует этот каталог в поисках сборочных каталогов пакетов нужных версий и формирует соответствующий @INC.

Обновлённые модули

Devel::NYTProf 6.01

Вышел новый мажорный релиз модуля для профилирования Devel::NYTProf. В новом релизе множество улучшений работы модуля на платформе Windows, в частности, использование часов высокого разрешения QueryPerformanceCounter. Улучшена документация модуля.

Module::Signature 0.78

Важное обновление Module::Signature, который используется многими CPAN-клиентами для проверки GPG-подписи модулей, полученных со CPAN или любого из его зеркал. В версии 0.75 было исправлено четыре уязвимости в коде модуля:

  • CVE-2015-3406. Module::Signature, из-за некорректного парсинга границ подписанных данных в файле подписи, мог извлечь информацию о файлах из неподписанной части.
  • CVE-2015-3407. При проверке содержимого CPAN-модуля Module::Signature игнорировал некоторые файлы из архива, которые не были указаны в файле подписи, что затрагивает и файлы в каталоге t, которые автоматически выполняются при запуске тестов.
  • CVE-2015-3408. При генерации контрольных сумм из подписанного манифеста Module::Signature использовал open() с двумя параметрами при чтении файлов. Это позволяло встраивать произвольные shell-команды в файле SIGNATURE, которые бы запускались при проверке подписи.
  • CVE-2015-3409. Module::Signature подгружает некоторые модули в процессе работы, модуль Text::Diff может отсутствовать в системе и, соответственно, может быть загружен из текущего каталога распакованного архива модуля, что может привести к выполнению произвольного кода.

BSON 0.12

После долгого перерыва обновился модуль (де)сериализации формата BSON. Добавлена поддержка типа 0x06 (Javascript “undefined”), который как и null значение декодируется в undef. Ускорена работа модуля в среднем на 10-20% за счёт встраивания функций.

libintl-perl 1.24

Вышло обновление библиотеки интернационализации libintl-perl. Изменилась лицензия, под которой выпускается исходный код: вместо LGPL 2.1 стала GPL 3. Также исправлено несколько ошибок, включая исправление для работы на системах без поддержки локалей, например, Android.

Mail::SpamAssassin 3.4.1

Обновлён детектор спама Mail::SpamAssassin. В новой версии улучшена автоматизация в борьбе со спамерами, которые используют новые домены верхнего уровня. Используется нормализация текста, чтобы упростить создание правил против спамеров, которые используют альтернативные кодовые наборы, чтобы обойти тесты. Продолжается работа над совершенствованием нативной поддержки IPv6. Улучшена Байесова классификация с улучшенной отладкой и хешированием вложений.

Validate::Tiny 1.501

Минималистичный модуль для проверки параметров Validate::Tiny имеет несколько несколько несовместимых изменений: метод new теперь просто создаёт объект, для выполнения проверки необходимо вызвать метод check, удалена функция error_string.

XML::LibXML 2.0119

Вышло обновление безопасности для XML::LibXML с исправлением CVE-2015-3451. XML::LibXML в некоторых случаях игнорировал опцию expand_entities, что могло приводить к утечке данных.

Владимир Леттиев


Метаоператоры в Perl 6 | Содержание | Интервью с Сюзанной Шмидт
Нас уже 1393. Больше подписчиков — лучше выпуски!

Комментарии к статье