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

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

    <bug>
          <bug_id>37459</bug_id>
          
          <creation_ts>2019-11-08 21:17:28 +0300</creation_ts>
          <short_desc>После обновления перестал работать mdns</short_desc>
          <delta_ts>2026-04-22 19:25:31 +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>iputils</component>
          <version>unstable</version>
          <rep_platform>all</rep_platform>
          <op_sys>Linux</op_sys>
          <bug_status>REOPENED</bug_status>
          <resolution></resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P3</priority>
          <bug_severity>major</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>39299</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Fr. Br. George">george</reporter>
          <assigned_to name="Mikhail Efremov">sem</assigned_to>
          <cc>blinovdv</cc>
    
    <cc>ender</cc>
    
    <cc>lav</cc>
    
    <cc>mike</cc>
    
    <cc>rider</cc>
    
    <cc>sbolshakov</cc>
    
    <cc>sem</cc>
    
    <cc>sergei.a.trusov</cc>
          
          <qa_contact>qa-sisyphus</qa_contact>

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>185466</commentid>
    <comment_count>0</comment_count>
    <who name="Fr. Br. George">george</who>
    <bug_when>2019-11-08 21:17:28 +0300</bug_when>
    <thetext>george@inspiron:~&gt; rpmquery --queryformat &quot;%{version}\n&quot; libavahi
0.6.32
george@inspiron:~&gt; ping -c1 whiteball.local
PING whiteball.local (192.168.100.6) 56(84) bytes of data.
64 bytes from 192.168.100.6 (192.168.100.6): icmp_seq=1 ttl=64 time=102 ms

--- whiteball.local ping statistics ---
1 packets transmitted, 1 received, 0% packet loss, time 0ms
rtt min/avg/max/mdev = 101.974/101.974/101.974/0.000 ms
...
обновление
...
george@inspiron:~&gt; rpmquery --queryformat &quot;%{version}\n&quot; libavahi
0.7
george@inspiron:~&gt; ping -c1 whiteball.local
ping: whiteball.local: Неизвестное имя или служба

Если поставить все avahi-пакеты версии 0.6.32, работа возодновляется
Попытка порбисектить методом подкладывания указала на libavahi, но я могу ошибаться,</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>185965</commentid>
    <comment_count>1</comment_count>
    <who name="Sergey Bolshakov">sbolshakov</who>
    <bug_when>2019-12-03 12:25:20 +0300</bug_when>
    <thetext>ping очень сложная программа, давайте попробуем по частям:
- resolve whiteball.local выдаёт то же ?
- нет ли при этом сообщений вида &apos;Received non-local unicast query from host ..&apos;   на стороне avahi-server ?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>186071</commentid>
    <comment_count>2</comment_count>
    <who name="Fr. Br. George">george</who>
    <bug_when>2019-12-05 19:46:49 +0300</bug_when>
    <thetext>(В ответ на комментарий №1)
&gt; - resolve whiteball.local выдаёт то же ?
root@inspiron:/home/george&gt; resolve whiteball.local        
resolve: unable to resolve: whiteball.local: Unknown host

&gt; - нет ли при этом сообщений вида &apos;Received non-local unicast query from host
&gt; ..&apos;   на стороне avahi-server ?
Нет.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>186072</commentid>
    <comment_count>3</comment_count>
    <who name="Fr. Br. George">george</who>
    <bug_when>2019-12-05 20:16:51 +0300</bug_when>
    <thetext>(В ответ на комментарий №1)
&gt; ping очень сложная программа, давайте попробуем по частям:
&gt; - resolve whiteball.local выдаёт то же ?
&gt; - нет ли при этом сообщений вида &apos;Received non-local unicast query from host
&gt; ..&apos;   на стороне avahi-server ?

По совету @shaba собрал новый libnss-mdns, resolve заработал, ping нет, но сейчас пезерагружу ещё.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>186078</commentid>
    <comment_count>4</comment_count>
    <who name="Fr. Br. George">george</who>
    <bug_when>2019-12-05 20:48:14 +0300</bug_when>
    <thetext>(В ответ на комментарий №3)
&gt;собрал новый libnss-mdns, resolve заработал, ping нет, но
&gt; сейчас пезерагружу ещё.
resolve работает только от рута
root@gear:~&gt; resolve NPIAF84DA.local
IP address of NPIAF84DA.local: 10.4.129.60
george@gear:~&gt; resolve NPIAF84DA.local
resolve: unable to resolve: NPIAF84DA.local: Unknown host

ping не работает вообще

Received non-local unicast query... не наблюдаю</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>186085</commentid>
    <comment_count>5</comment_count>
    <who name="Fr. Br. George">george</who>
    <bug_when>2019-12-05 21:11:53 +0300</bug_when>
    <thetext>И ещё, JFYK
root@gear:~&gt; v /var/resolv/var/avahi
итого 8
158789 drwxrwx--x 2 root _avahi 4096 ноя 27 19:10 .
158494 drwxr-xr-x 5 root root   4096 ноя 27 19:10 ..
158443 srw-rw-rw- 1 root root      0 сен 11 14:32 socket
root@gear:~&gt; v /var/run/avahi-daemon/       
итого 4
14746 drwxrwx---  2 root   _avahi  80 дек  5 20:35 .
 2139 drwxr-xr-x 21 root   root   840 дек  5 20:37 ..
12046 -rw-r--r--  1 _avahi _avahi   5 дек  5 20:35 pid
14747 srw-rw-rw-  1 root   root     0 дек  5 20:35 socket
Так и надо, два сокета? И кому сказать, чтобы бит x выставили у /var/run/avahi-daemon/?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>187723</commentid>
    <comment_count>6</comment_count>
    <who name="Сергей Трусов">sergei.a.trusov</who>
    <bug_when>2020-02-10 19:20:28 +0300</bug_when>
    <thetext>Столкнулся с обсуждаемой проблемой при настройке сетевых принтеров (Сизиф Gnome).
CUPS принтер находит, добавляет, но при печати выдаёт сообщение вида &quot;host.local не найден&quot;.

Соотвественно и

# ping z1.local
ping: z1.local: Неизвестное имя или служба

Как решал. Описание примерное, по памяти, возможно, что-то упустил из виду.

1. В /etc/nsswitch.conf
-hosts:      files dns myhostname
+hosts:      files mdns4_minimal dns myhostname  # в Сети есть варианты с mdns4_minimal [NOTFOUND=return] и т.д.

2. Установил пакет libnss-mdns с обработчиком mdns4_minimal.

Этого было бы достаточно, но

3. в Альте оказался хитрый пакет chrooted-resolv, потребовалось его переустановить, что бы в /var/resolv/lib64 появилась библиотека libnss_mdns4_minimal.so.2

4. Теперь библиотека хочет сокет 

connect(5, {sa_family=AF_UNIX, sun_path=&quot;/var/avahi/socket&quot;}, 110) = -1 ENOENT (Нет такого файла или каталога)

Ну ладно, накостылил в /etc/fstab
/run/avahi-daemon       /var/resolv/var/avahi   none    bind,nofail     0 0

5. Однако выполняется это всё под пользователем iputils, а права на каталог у группы _avahi

connect(5, {sa_family=AF_UNIX, sun_path=&quot;/var/avahi/socket&quot;}, 110) = -1 EACCES (Отказано в доступе)

6. После 
usermod -a -G _avahi iputils

принтер печатает, и работает под рутом
# ping z1.local


Однако, не работает под пользователем.
$ ping z1.local

Т.е. нужны права /var/run/avahi-daemon/</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>187778</commentid>
    <comment_count>7</comment_count>
    <who name="Сергей Трусов">sergei.a.trusov</who>
    <bug_when>2020-02-12 13:43:20 +0300</bug_when>
    <thetext>(Ответ для Fr. Br. George на комментарий #5)

&gt; И кому сказать, чтобы бит x выставили у
&gt; /var/run/avahi-daemon/?

Вот эти изменения.
http://git.altlinux.org/gears/a/avahi.git?p=avahi.git;a=blobdiff;f=avahi-daemon/main.c;h=84821d51c7f73dc2ac7ea4d0aac02eb31d34b73d;hp=2baf8980aa82bb82f5610ea52a1d116a57795f87;hb=de9cc4e573045f561b5114bf1ea7dca120357b2c;hpb=3f159c5e0653d305d27b0c4c568743fe9d0d0b39
http://git.altlinux.org/gears/a/avahi.git?p=avahi.git;a=blobdiff;f=avahi-daemon/main.c;h=84821d51c7f73dc2ac7ea4d0aac02eb31d34b73d;hp=10cb41e7ec469254d7c903b40142b3651d3d9a73;hb=de9cc4e573045f561b5114bf1ea7dca120357b2c;hpb=6242e5f0fe001b7de2ccaa9431db279b2ee76b83
В апстриме такого нет https://github.com/lathiat/avahi/blob/90604e89faf926b16f7edc93b854070c1d6022d4/avahi-daemon/main.c#L1417
Если отменить, должно работать, если правильно понял.

&gt; И ещё, JFYK
&gt; root@gear:~&gt; v /var/resolv/var/avahi
&gt; итого 8
&gt; 158789 drwxrwx--x 2 root _avahi 4096 ноя 27 19:10 .
&gt; 158494 drwxr-xr-x 5 root root   4096 ноя 27 19:10 ..
&gt; 158443 srw-rw-rw- 1 root root      0 сен 11 14:32 socket
&gt; root@gear:~&gt; v /var/run/avahi-daemon/       
&gt; итого 4
&gt; 14746 drwxrwx---  2 root   _avahi  80 дек  5 20:35 .
&gt;  2139 drwxr-xr-x 21 root   root   840 дек  5 20:37 ..
&gt; 12046 -rw-r--r--  1 _avahi _avahi   5 дек  5 20:35 pid
&gt; 14747 srw-rw-rw-  1 root   root     0 дек  5 20:35 socket
&gt; Так и надо, два сокета?
2-й сокет в /run/avahi-daemon/ (/var/run/avahi-daemon/ это симлинк) создаёт avahi-daemon.
1-й сокет в /var/resolv/var/avahi нужен для работы резолвера (/lib64/libnss_mdns4_minimal.so), который запускается в chroot /var/resolv. Эффективный путь будет /var/avahi.

Наколько понимаю механику, это должен быть один и тот же сокет. У меня тут другой вопрос:   почему мне приходится делать mount, а у Вас в системе сокет сразу где надо имеется?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>189395</commentid>
    <comment_count>8</comment_count>
    <who name="Fr. Br. George">george</who>
    <bug_when>2020-04-21 22:07:53 +0300</bug_when>
    <thetext>(Ответ для Сергей Трусов на комментарий #7)
&gt; Вот эти изменения.
&gt; http://git.altlinux.org/gears/a/avahi.git?p=avahi.git;a=blobdiff;f=avahi-
&gt; daemon/main.c;h=84821d51c7f73dc2ac7ea4d0aac02eb31d34b73d;
&gt; hp=2baf8980aa82bb82f5610ea52a1d116a57795f87;
&gt; hb=de9cc4e573045f561b5114bf1ea7dca120357b2c;
&gt; hpb=3f159c5e0653d305d27b0c4c568743fe9d0d0b39
&gt; http://git.altlinux.org/gears/a/avahi.git?p=avahi.git;a=blobdiff;f=avahi-
&gt; daemon/main.c;h=84821d51c7f73dc2ac7ea4d0aac02eb31d34b73d;
&gt; hp=10cb41e7ec469254d7c903b40142b3651d3d9a73;
&gt; hb=de9cc4e573045f561b5114bf1ea7dca120357b2c;
&gt; hpb=6242e5f0fe001b7de2ccaa9431db279b2ee76b83
&gt; В апстриме такого нет
&gt; https://github.com/lathiat/avahi/blob/
&gt; 90604e89faf926b16f7edc93b854070c1d6022d4/avahi-daemon/main.c#L1417
&gt; Если отменить, должно работать, если правильно понял.

Да.

Вместо 770 нужен 771, иначе mdns не работает. Я до сих пор руками chmod делаю после каждого включения компьютера.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>189410</commentid>
    <comment_count>9</comment_count>
    <who name="Repository Robot">repository-robot</who>
    <bug_when>2020-04-22 12:32:15 +0300</bug_when>
    <thetext>avahi-0.7-alt3 -&gt; sisyphus:

 Tue Apr 21 2020 Fr. Br. George &lt;george@altlinux.ru&gt; 0.7-alt3
 - enable socket directory x bit to allow user mdns (closes: #37459)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>193594</commentid>
    <comment_count>10</comment_count>
    <who name="Vitaly Lipatov">lav</who>
    <bug_when>2020-10-29 02:36:02 +0300</bug_when>
    <thetext>У меня та же история:
$ strace resolve name.local
openat(AT_FDCWD, &quot;/lib64/libnss_mdns4_minimal.so.2&quot;, O_RDONLY|O_CLOEXEC) = 3
connect(3, {sa_family=AF_UNIX, sun_path=&quot;/var/avahi/socket&quot;}, 110) = -1 ECONNREFUSED (В соединении отказано)

# ls /var/avahi/socket -l
srw-rw-rw- 1 root root 0 сен 13 14:45 /var/avahi/socket


# ls /var/run/avahi-daemon/ -l
итого 4
-rw-r--r-- 1 _avahi _avahi 8 окт 29 02:09 pid
srwxrwxrwx 1 _avahi _avahi 0 окт 29 02:09 socket


# rpm -qf /var/avahi
avahi-daemon-0.8-alt1.x86_64
Note: /var/avahi is link to /var/resolv/var/avahi


(Ответ для Сергей Трусов на комментарий #7)
... 
&gt; Наколько понимаю механику, это должен быть один и тот же сокет. У меня тут
&gt; другой вопрос:   почему мне приходится делать mount, а у Вас в системе сокет
&gt; сразу где надо имеется?

Вопрос остался открытым.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>194259</commentid>
    <comment_count>11</comment_count>
    <who name="Anton Farygin">rider</who>
    <bug_when>2020-11-16 18:07:38 +0300</bug_when>
    <thetext>У меня и на сизифе он не работает ;(</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>194299</commentid>
    <comment_count>12</comment_count>
    <who name="Vitaly Lipatov">lav</who>
    <bug_when>2020-11-18 01:32:43 +0300</bug_when>
    <thetext>(Ответ для Anton Farygin на комментарий #11)
&gt; У меня и на сизифе он не работает ;(
Путём strace -f ping host.local
у себя я выяснил, что у меня не выровнены /run и /var/run (сокет не находился).
После исправления и update_chrooted all, чтобы сокет попал и туда, заработал и ping.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>194300</commentid>
    <comment_count>13</comment_count>
    <who name="Vitaly Lipatov">lav</who>
    <bug_when>2020-11-18 01:34:53 +0300</bug_when>
    <thetext>(Ответ для Vitaly Lipatov на комментарий #12)
&gt; (Ответ для Anton Farygin на комментарий #11)
&gt; &gt; У меня и на сизифе он не работает ;(
&gt; Путём strace -f ping host.local
&gt; у себя я выяснил, что у меня не выровнены /run и /var/run (сокет не
&gt; находился).
&gt; После исправления и update_chrooted all, чтобы сокет попал и туда, заработал
&gt; и ping.
avahi-daemon-0.8-alt1.x86_64
libnss-mdns-0.14.1-alt1.x86_64</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>194305</commentid>
    <comment_count>14</comment_count>
    <who name="Anton Farygin">rider</who>
    <bug_when>2020-11-18 07:36:22 +0300</bug_when>
    <thetext>Да ping работает (не работает под рутом), у меня теперь не работает печать на принтер.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>202720</commentid>
    <comment_count>15</comment_count>
    <who name="Vitaly Lipatov">lav</who>
    <bug_when>2021-09-14 05:09:11 +0300</bug_when>
    <thetext>p10

# strace -f resolve nun.local
connect(3, {sa_family=AF_UNIX, sun_path=&quot;/var/run/avahi-daemon/socket&quot;}, 110) = 0
fcntl(3, F_GETFL)                       = 0x2 (flags O_RDWR)
fstat(3, {st_mode=S_IFSOCK|0777, st_size=0, ...}) = 0
write(3, &quot;RESOLVE-HOSTNAME-IPV4 nun.local\n&quot;, 32) = 32
read(3, &quot;+ 2 0 nun.local 192.168.0.34\n&quot;, 4096) = 29
close(3)                                = 0
fstat(1, {st_mode=S_IFCHR|0620, st_rdev=makedev(0x88, 0x1f), ...}) = 0
write(1, &quot;IP address of nun.local: 192.168&quot;..., 38IP address of nun.local: 192.168.0.34


# strace -f ping nun.local
connect(8, {sa_family=AF_UNIX, sun_path=&quot;/var/run/avahi-daemon/socket&quot;}, 110) = -1 ENOENT (Нет такого файла или каталога)

# rpm -qf /var/resolv/var/avahi
avahi-daemon-0.8-alt2.x86_64

внутри лежит socket (прошлогодний)

После
# mount --bind /var/run/avahi-daemon /var/resolv/var/run/avahi-daemon/
ping заработал



p9
# strace -f ping nun.local
connect(8, {sa_family=AF_UNIX, sun_path=&quot;/var/run/avahi-daemon/socket&quot;}, 110) = -1 ENOENT (Нет такого файла или каталога)

Здесь пусто:
 # rpm -qf /var/resolv/var/avahi
avahi-daemon-0.8-alt2.x86_64</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>202922</commentid>
    <comment_count>16</comment_count>
    <who name="Sergey Bolshakov">sbolshakov</who>
    <bug_when>2021-09-17 18:32:44 +0300</bug_when>
    <thetext>как видно, все сходятся на том, что ping не работает.
зачем же нам такой ping, что не может резолвить имена
хостов через добрую половину nss-модулей (помимо nss-mdns есть
и nss-resolve и др.)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>286187</commentid>
    <comment_count>17</comment_count>
    <who name="Блинов Денис Вячеславович">blinovdv</who>
    <bug_when>2026-04-22 17:36:05 +0300</bug_when>
    <thetext>Актуально для сизиф:
iputils-20250605-alt1.x86_64
libnss-mdns-0.15.1-alt3.x86_64
avahi-0.8-alt5.x86_64
avahi-daemon-0.8-alt5.x86_64

При выполнении # ping -c1 &lt;hostname&gt;.local ошибка:
ping: &lt;hostname&gt;.local: System error

resolve и getent hosts к этому же хосту работают</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>286197</commentid>
    <comment_count>18</comment_count>
    <who name="Mikhail Efremov">sem</who>
    <bug_when>2026-04-22 18:26:16 +0300</bug_when>
    <thetext>(Ответ для Блинов Денис Вячеславович на комментарий #17)
&gt; Актуально для сизиф:
&gt; iputils-20250605-alt1.x86_64
&gt; libnss-mdns-0.15.1-alt3.x86_64
&gt; avahi-0.8-alt5.x86_64
&gt; avahi-daemon-0.8-alt5.x86_64
&gt; 
&gt; При выполнении # ping -c1 &lt;hostname&gt;.local ошибка:
&gt; ping: &lt;hostname&gt;.local: System error

Попробуйте после
control ping public_caps</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>286202</commentid>
    <comment_count>19</comment_count>
    <who name="Блинов Денис Вячеславович">blinovdv</who>
    <bug_when>2026-04-22 19:25:31 +0300</bug_when>
    <thetext>Ошибка есть только root. От юзера всё ок. Но судя по обсуждению должно работать и от рута.

В стрейсе есть:
chroot(&quot;/var/resolv&quot;)                   = 0
...
socket(AF_UNIX, SOCK_STREAM, 0)         = 5
connect(5, {sa_family=AF_UNIX, sun_path=&quot;/run/avahi-daemon/socket&quot;}, 110) = -1 ENOENT (Нет такого файла или каталога)
...

Итог: ping: mdnscheck.local: System error

Выполнение control ping public_caps не помогает.

Вот что помогает:
[root@mdnscheck ~]# ping -c 1 mdnscheck.local
ping: mdnscheck.local: System error

[root@mdnscheck ~]# update_chrooted all

[root@mdnscheck ~]# ping -c 1 mdnscheck.local
ping: mdnscheck.local: Name or service not known

[root@mdnscheck ~]# mkdir -p /var/resolv/run/avahi-daemon
[root@mdnscheck ~]# mount --bind /run/avahi-daemon /var/resolv/run/avahi-daemon

[root@mdnscheck ~]# ping -c 1 mdnscheck.local
PING mdnscheck.local (10.88.13.242) 56(84) bytes of data.
64 bytes from mdnscheck.local (10.88.13.242): icmp_seq=1 ttl=64 time=0.026 ms

--- mdnscheck.local ping statistics ---
1 packets transmitted, 1 received, 0% packet loss, time 0ms
rtt min/avg/max/mdev = 0.026/0.026/0.026/0.000 ms</thetext>
  </long_desc>
      
      

    </bug>

</bugzilla>