<?xml version="1.0" encoding="UTF-8" ?>

<bugzilla version="5.2"
          urlbase="https://bugzilla.altlinux.org/"
          
          maintainer="jenya@basealt.ru"
>

    <bug>
          <bug_id>60421</bug_id>
          
          <creation_ts>2026-09-06 00:11:22 +0300</creation_ts>
          <short_desc>dnscrypt-proxy.socket: After=network.target создаёт ordering cycle с sockets.target — сокет не стартует при загрузке, DNS не работает после ребута</short_desc>
          <delta_ts>2026-09-18 11:43:51 +0300</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>4</classification_id>
          <classification>Development</classification>
          <product>Sisyphus</product>
          <component>dnscrypt-proxy</component>
          <version>unstable</version>
          <rep_platform>x86_64</rep_platform>
          <op_sys>Linux</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P5</priority>
          <bug_severity>major</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Yuriy Khachaturyan">yukh975</reporter>
          <assigned_to name="Vitaly Lipatov">lav</assigned_to>
          <cc>amakeenk</cc>
    
    <cc>lav</cc>
          
          <qa_contact>qa-sisyphus</qa_contact>

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>295870</commentid>
    <comment_count>0</comment_count>
    <who name="Yuriy Khachaturyan">yukh975</who>
    <bug_when>2026-09-06 00:11:22 +0300</bug_when>
    <thetext>Юнит /usr/lib/systemd/system/dnscrypt-proxy.socket содержит &quot;After=network.target&quot;.
Socket-юнит по DefaultDependencies получает неявный Before=sockets.target, а
network.target транзитивно зависит от sockets.target → возникает ordering cycle.
systemd разрывает его, УДАЛЯЯ сокет из загрузки:

  systemd[1]: sockets.target: Found ordering cycle on dnscrypt-proxy.socket/start
  systemd[1]: sockets.target: Job dnscrypt-proxy.socket/start deleted to break
              ordering cycle starting with sockets.target/start

Последствие: сокет не слушает 127.0.0.1:40 → на системах, где dnscrypt-proxy —
основной резолвер, после перезагрузки DNS не работает (&quot;Temporary failure in name
resolution&quot;), что каскадно валит все зависящие от DNS сервисы.
Воспроизведение: ALT 11.1, dnscrypt-proxy как основной резолвер, перезагрузка;
либо `systemd-analyze verify default.target` — показывает цикл.
Причина: After=network.target в .socket некорректен — сокету сеть не нужна
(он лишь открывает listen на loopback). Сетевая зависимость уместна для .service
(upstream DoH), но не для .socket. Upstream-юнит эту строку не содержит.

Fix: убрать строку &quot;After=network.target&quot; из dnscrypt-proxy.socket.
Обходной путь (drop-in):
  /etc/systemd/system/dnscrypt-proxy.socket.d/override.conf
  [Unit]
  DefaultDependencies=no
  After=</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>297364</commentid>
    <comment_count>1</comment_count>
    <who name="Alexander Makeenkov">amakeenk</who>
    <bug_when>2026-09-09 09:18:43 +0300</bug_when>
    <thetext>Проверено в опубликованных исходниках: dnscrypt-proxy-2.1.5-alt1 (p11) и dnscrypt-proxy-2.1.17-alt1 (Sisyphus) содержат в dnscrypt-proxy.socket строку After=network.target. Следовательно, описанный ordering cycle не исправлен и в актуальном Sisyphus. Перенесено в Sisyphus и назначено мейнтейнеру компонента.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>299556</commentid>
    <comment_count>2</comment_count>
    <who name="Repository Robot">repository-robot</who>
    <bug_when>2026-09-18 11:43:51 +0300</bug_when>
    <thetext>dnscrypt-proxy-2.1.18-alt1 -&gt; sisyphus:

Sun Sep 13 2026 Vitaly Lipatov &lt;lav@altlinux.ru&gt; 2.1.18-alt1
- Own the documentation directory.
- Fix socket ordering cycle (ALT bug #60421).
- new version 2.1.18</thetext>
  </long_desc>
      
      

    </bug>

</bugzilla>