Created attachment 11993 [details] патч исправляющий баг Приветствую всех, нашел багу в curl-е, в версии 7.86 не правильно работает исключение из прокси, если передается несколько значений например: no_proxy=localhost,.mso.ru,.arg.loc, то домена .mso.ru исключение не срабатывает, если его передать последним, то работает. Проблему нашел, это ошибка в коде, патч прикладываю.
Здравствуйте. Опишите, пожалуйста, шаги для воспроизведения ошибки.
Для информации - в апстриме curl успели этот кусок переписать. Но шаги для воспроизведения лучше всё равно добавить.
Приветствую! Воспроизведение проблемы: 1. curl-е, в версии 7.86.0 2. переменные окружения a. https_proxy=http://proxy.domain.org:8090 b. http_proxy=http://proxy.domain.org:8090 c. no_proxy=localhost,.dmn.loc,.dmn2.ru 3. без моего фикса не срабатывает исключение для домена «.dmn.loc», но если его поместить в конец списка исключения, то все работает как надо и если всего одно условие в исключениях то же работает. Если прописать хостнейм полностью то так же работает не важно в какой части списка исключений прописан, ну это и понятно т.к. в коде автор функции ошибся с переменными и передал в функцию сравнения переменную содержащую длину имени хоста, а не длину паттерна сравнения, проблема только для паттернов начинающихся с точки. 4. Проверяем curl -v -s http://www.dmn.loc, без фикса curl пытается подключится к проксе игнорируя то что домен прописан в исключения.
(Ответ для Anton Farygin на комментарий #2) > Для информации - в апстриме curl успели этот кусок переписать. > Но шаги для воспроизведения лучше всё равно добавить. и действительно исправили, опять поторопился :-) с анализом кода )))
тогда ждем на P10 обновленный пакет курла, а пока у себя пересобрал пакетик да закинул в репо кастомный.
да, я тоже новую версию подожду - они часто выходят. @qa-team - добавьте сценарий в тесты, пожалуйста.
Ошибку воспроизвёл, в тест-кейсы добавил.
Воспроизводится в сизифе
Будет исправлено в новой версии curl
в Sisyphus исправлено, в p10 едет.