Представлена новая стабильная ветка прокси-сервера Squid 3.4, которая по заявлению разработчиков достигла состояния готовности для промышленного использования. После придания ветке 3.4.x статуса стабильной, в ней отныне будут производиться только исправления уязвимостей и проблем со стабильностью, также допускается внесение небольших оптимизаций. Поддержка прошлой стабильной ветки 3.3.x прекращена, пользователям рекомендуется спланировать переход на ветку 3.4.x.

Основные новшества Squid 3.4:

  • Расширены возможности протокола для взаимодействия с хелперами, который может применяться для запуска внешних обработчиков аутентификации, перезаписи URL, перенаправления запросов и обработки ACL. В новой версии реализована возможность возвращения хелпером произвольных пар ключ/значение, что позволяет решить проблемы с прямой и обратной совместимостью хелперов с различными версиями Squid. Добавлена поддержка возврата кода внутренней ошибки (BH) для всех типов хелперов, независимо от кода отклонения изменений (ERR), что позволяет инициировать в Squid операции восстановления с учётом специфики проблемы;
  • Реализация хелпера для проверки валидности SSL-сертификатов, позволяющего выполнить дополнительные проверки после базовой внутренней верификации сертификата средствами OpenSSL. На вход хелпера подаётся изначальный сертификат сервера, целевое имя домена и список ошибок, выявленных при проверке в OpenSSL. Хелпер может подтвердить или игнорировать ошибки, сообщённые OpenSSL, или выявить другие проблемы. Настройка хелпера производится при помощи директив sslcrtvalidator_program и sslcrtvalidator_children;
  • Возможность определения хелпера с реализацией собственного алгоритма вычисления идентификаторов записей в кэше Store-ID, используемого вместо штатного механизма маппинга URL в Store-ID. Подобный хелпер можно использовать для генерации одинаковых Store-ID для идентичного контента, доступного через отличающиеся URL (например, одна и та же страница может быть доступна через разные схемы задания URL или могут быть игнорированы не влияющие на результат служебные переменные, такие как utm_source). В итоге можно повысить эффективность кэширования за счёт сокращения дублирования данных в кэше. Вызов хелпера производится через директивы store_id_program и store_id_access;
  • Поддержка TPROXY для организации прозрачного перехвата и перенаправления через прокси HTTP-запросов в OpenBSD 5.1+ и FreeBSD 9+. Для перенаправления трафика в OpenBSD и FreeBSD может использоваться правило divert-to пакетного фильтра PF. Во FreeBSD 9 и более новых выпусках можно использовать штатные возможности IPFW. Для включения поддержки указанных возможностей следует собрать squid с опциями configure "--enable-pf-transparent" и "--enable-ipfw-transparent";
  • Добавлена директива note для создания аннотированных транзакций. При помощи ACL к любым транзакциям может быть привязана аннотация в формате имя=значение, которая будет отображена в логах при указании опции форматирования "%note". Аннотацию также можно привязать через создание специального хелпера. Аннотация может быть передана в виде HTTP-заголовка модулям eCAP и сервисам CAP, используя директиву adaptation_meta, или проверена в файле конфигурации при помощи опции test директивы ACL с типом note.
  • Поддержка mDNS (multicast DNS, RFC 6762) во встроенном компоненте разрешения имён в DNS. Для включения поддержки mDNS следует использовать директиву dns_multicast_local. mDNS автоматически применяется для доменов, оканчивающихся на ".local" и обратных преобразований адресов, перед второй попыткой определения имени штатным резолвером. Поддержка внешних хелперов для разрешения имён объявлена устаревшей и будет прекращена в будущих выпусках Squid.


Источник: http://www.opennet.ru/opennews/art.shtml?num=38659