После двух лет разработки представлена новая стабильная ветка прокси-сервера Squid 3.2, которая по заявлению разработчиков достигла состояния готовности для промышленного использования. Прошлая стабильная ветка 3.1.x объявлена неподдерживаемой, кроме выпущенного 8 июня релиза 3.1.10 больше обновлений выпускаться не будет. В настоящий момент усилия разработчиков направлены на развитие ветки Squid 3.3, в ветке 3.2.x отныне будут производиться только исправления уязвимостей и проблем со стабильностью, также допускается внесение небольших оптимизаций. Одновременно объявлено и о прекращении поддержки ветки Squid 2.7.x, последней в серии 2.x. Всем пользователям Squid 2.7.x и 3.1.x рекомендуется спланировать переход на ветку 3.2.x.
Основные новшества Squid 3.2:
- Поддержка одновременного запуска нескольких рабочих процессов Squid. По умолчанию нагрузка при обработке запросов распределяется между всеми рабочими процессами, т.е. работа такой системы выглядит как единое целое, в том числе ведётся единый лог и используется общий кэш. Дополнительно предусмотрены средства для тонкой настройки поведения каждого процесса в отдельности. Указанная возможность позволяет в полной мере задействовать ресурсы многоядерных систем. Управление производится через новую директиву "workers" в squid.conf;
- Добавление средств для ограничения пропускной способности для трафика между проки и клиентом. Ограничения могут задаваться для индивидуальных пользователей на основании IP-адресов и подсетей. Конфигурация пулов ограничений трафика на стороне клиентов выполняется по аналогиями с ранее доступными пулами на стороне сервера. Для настройки добавлены директивы client_delay_pools, client_delay_initial_bucket_level, client_delay_parameters и client_delay_access;
- Новый хелпер Multiplexer, позволяющий мультиплексировать запросы к медленным хелперам. Multiplexer выступает в роли промежуточного звена между Squid и хелперами, позволяющего организовать обращение к хелперам в параллельном режиме, минимизировав таким образом задержки из-за ожидания своей очереди при последовательной отправке запросов к медленным хелперам;
- Поддержка запуска хелперов по необходимости. Если ранее число запускаемых хелперов жёстко определялось в конфигурации, теперь возможен адаптивный запуск только нужного числа хелперов, в зависимости от нагрузки. В конфигурации теперь можно задать число изначально запускаемых хелперов, максимальное число хелперов и таймаут неактивности, после которого хелпер экземпляр хелпера будет завершён;
- С целью унификации имён хелперов, более ясного определения выполняемых задач и явного различия поставляемых в составе Squid и внешних хелперов, произведено переименование большинства хелперов. Например, ncsa_auth переименован в basic_ncsa_auth, squid_radius_auth в basic_radius_auth, digest_pw_auth в digest_file_auth, squid_ldap_group в ext_ldap_group_acl, ntlm_auth в ntlm_smb_lm_auth и т.п.
- Для Solaris 10 обеспечена поддержка и автоматическое определение многопоточной библиотеки pthreads. При использовании pthreads в Solaris 10 наблюдается заметное ускорение работы в кэшем AUFS;
- Поддержка расширений протокола HTTP - Surrogate/1.0, позволяющих сайтам через установку HTTP-заголовков Surrogate-Capabilities, Security Considerations и Surrogate-Control явно управлять кэшированием страниц при использовании Squid в роли reverse-прокси;
- Обновление инфраструктуры ведения логов, добавление возможности использования дополнительных модулей для хранения лога. Модули позволяют обеспечить хранение логов как в локальной ФС, так и на внешних лог-серверах. Кроме того, модули можно использовать для подключения своих обработчиков, разбирающих логи в режиме реального времени.
- Улучшенная поддержка eCAP. В состав включена библиотека libecap 0.2.0 в которой расширены возможности по обработке тела ответа и ведения логов;
- Расширение способов доступа к Squid Cache Manager. В дополнение к схеме cache_object:// запросы теперь можно отправлять из обычного браузера с использованием схем http:// и https:// в сочетании с заданием пути /squid-internal-mgr/, без необходимости использования промежуточного скрипта cachemgr.cgi;
- Добавлена защита от атак по обходу ограничений same-origin, проявляющихся при работе в режиме прозрачного прокси или NAT-перехвата (squid при запросе подменяет оригинальный IP, что может быть использовано для загрузки внешнего flash-кода или java-апплетов в контексте чужого домена). Для защиты реализованы дополнительные средства проверки параметров заголовка Host, активируемые через директиву host_verify_strict, которая включает режим строгой проверки соответствия имени хоста, указанного через Host, и доменного имени;
- Устранены ограничения на длину пароля в реализации алгоритма хэширования DES (учитывались только первые 8 символов), используемого в NCSA-хелпере аутентификации;