Created attachment 7735 [details] strace клиента (dict) Как воспоизвести: sudo apt-get install -y dict dictd dict-mueller7-utf8 sudo systemctl enable dictd.service sudo systemctl start dictd dict acute Ожидаемый результат: "почти сразу" (менее 300 миллисекунд) напечатан перевод слова. Наблюдаемый результат: dict тупит почти 3 секунды на чтении из сокета. Предполагаемая причина: в функции dictd_daemon [1], обрабатывающей клиентский запрос, пытается узнать имя клиентского хоста по его IP, что при отсутствии обратной dns записи занимает некоторое время... как раз те самые 3 секунды. Предлагаемое решение: выпилить reverse resolve вместе с "авторизацией" по ip/hostname (бесполезна в современных сетях, и не нужна программе, которая в 99.9999% случаев слушает только 127.0.0.1) [1] http://git.altlinux.org/gears/d/dictd.git?p=dictd.git;a=blob;f=dictd/daemon.c;h=7154a50f1aaa5ac846dd40bf7ee7222f13bde928;hb=c51ad70e5f3ce5f65da810154c6a0dba5f04106a#l1517
Created attachment 7736 [details] strace сервера (dictd)
Результат проверки актуальности Состояние: p8 не поддерживается с 15.12.2019. В Sisyphus dictd 1.13.3 по-прежнему вызывает getnameinfo без NI_NUMERICHOST. Рекомендация: для p8 закрытие по EOL; дефект актуален в Sisyphus.
dictd-1:1.13.3-alt2 -> sisyphus: Tue Oct 20 2026 Vitaly Lipatov <lav@altlinux.ru> 1:1.13.3-alt2 - dict: make -r/--raw and --debug output work (closes: #17019) - dictd: resolve client hostname only for hostname ACL rules (closes: #35335) - colorit: add /usr/bin/m4 requirement (closes: #52229)