Новая версия curl 7.66.0 с начальной поддержкой HTTP/3
Автор: Vinamin
Публикация: 00:00 30-11--0001 Обнавлена: 2019-10-02
Просмотров: 477
Доступна новая версия утилиты для получения и отправки данных по сети - curl 7.66.0, предоставляющей возможность гибкого формирования запроса с заданием таких параметров, как cookie, user_agent, referer и любых других заголовков. cURL поддерживает HTTP, HTTPS, HTTP/2.0, SMTP, IMAP, POP3, Telnet, FTP, LDAP, RTSP, RTMP и другие сетевые протоколы. Одновременно вышло обновление параллельно развиваемой библиотеки libcurl, предоставляющей API для задействования всех функций curl в программах на таких языках, как Си, Perl, PHP, Python.
В новом выпуске исправлено 77 ошибок и реализовно несколько новшеств:
- Добавлена начальная поддержка протокола HTTP/3, которая пока не доведена до полностью работоспособного вида и по умолчанию отключена (например, пока не готов обработчик завершения соединения, не работает распараллеливание и обработка больших запросов). Для включения HTTP/3 необходима пересборка с бэкендами quiche или ngtcp2+nghttp3. Для использования предложен параметр "--http3" и опция libcurl "CURLOPT_HTTP_VERSION";
- Добавлены параметры "-Z список URL" ("--parallel") и "--parallel-max", позволяющие организовать одновременную загрузку списка URL в несколько потоков;
- Добавлена возможность задания другого идентификатора для авторизации в SASL, указываемого с использованием параметра "--sasl-authzid" или опции CURLOPT_SASL_AUTHZID (идентификатор аутентификации передаётся через CURLOPT_USERPWD);
- Реализована обработка HTTP-заголовка Retry-After и кода возврата 429 при использовании параметра "--retry" или опции CURLINFO_RETRY_AFTER. Заголовок Retry-After определяет задержку перед отправкой последующих запросов, в случае получения кодов ответа 429 (Too Many Requests), 503 (Service Unavailable) или 301 (Moved Permanently);
- Добавлена функция curl_multi_poll(), идентичная curl_multi_wait(), за исключением случаев, когда нет файловых дескрипторов для ожидания (curl_multi_wait сразу завершает работу, а curl_multi_poll вводит небольшую задержку перед выходом для исключения ситуаций возникновения паразитной нагрузки из-за цикличного вызова);
- Появилась возможность запуска в окружении Plan 9;
- Устранены уязвимости: CVE-2019-5481 - двойное освобождение блока памяти в FTP-KRB (kerberos over FTP); CVE-2019-5482 - переполнение буфера в обработчике TFTP.
Источник: www.opennet.ru