Bug 59862
| Summary: | proxy_dns_old не работает: нет proxyresolv (есть только proxyresolv4) | ||
|---|---|---|---|
| Product: | Sisyphus | Reporter: | Ajrat Makhmutov <rauty> |
| Component: | proxychains-ng | Assignee: | Nobody's working on this, feel free to take it <nobody> |
| Status: | NEW --- | QA Contact: | qa-sisyphus |
| Severity: | normal | ||
| Priority: | P5 | ||
| Version: | unstable | ||
| Hardware: | x86_64 | ||
| OS: | Linux | ||

Description
Ajrat Makhmutov 2026-07-19 18:46:59 MSKПакет переименовывает скрипт-резолвер upstream'а proxyresolv в proxyresolv4 (spec: install -Dm755 src/proxyresolv %buildroot%_bindir/proxyresolv4), но бинарь libproxychains4.so зовёт его по оригинальному имени, жёстко зашитому в исходнике: src/core.c:814: execlp("proxyresolv","proxyresolv",name,NULL); Символьной ссылки proxyresolv -> proxyresolv4 пакет не ставит, поэтому в режиме `proxy_dns_old` (proxychains 3.1 style) любой DNS-запрос падает. Как воспроизвести ----------------- 1. В /etc/proxychains.conf выставить режим: proxy_dns_old (вместо proxy_dns), задать рабочий [ProxyList]. 2. Запустить любую программу через proxychains4, требующую резолва имени: proxychains4 curl https://api.anthropic.com Фактический результат --------------------- |DNS-request| api.anthropic.com can't exec proxyresolv: No such file or directory |DNS-response|: api.anthropic.com lookup error Резолв не проходит, соединение не устанавливается. Ожидаемый результат ------------------- proxy_dns_old резолвит имя через прокси, как задокументировано. Дополнительно ------------- Комментарий в /etc/proxychains.conf (строки 62-63) сам ссылается на старое имя: # method 2. use the old proxyresolv script to proxy DNS requests # in proxychains 3.1 style. requires `proxyresolv` in $PATH То есть штатная конфигурация обещает `proxyresolv` в $PATH, которого пакет не предоставляет. Предлагаемое исправление ------------------------ Добавить в %install spec-файла симлинк совместимости: ln -s proxyresolv4 %buildroot%_bindir/proxyresolv и в %files: %_bindir/proxyresolv (либо не переименовывать скрипт, либо пропатчить execlp в src/core.c на proxyresolv4 — но симлинк проще и сохраняет апстрим-чистоту кода.) Обходной путь для пользователя ------------------------------ ln -s /usr/bin/proxyresolv4 ~/.local/bin/proxyresolv (требуется dig или drill в системе).