[PATCH] fruit: mdns service propagation.
Rouven_Weiler at gmx.net
Mon Mar 18 17:51:33 UTC 2019
I found the issue that causes the fault in propagating of fruit’s adisk and device-info.
It seems as that there is a problem with setting the port of those two services to "0“.
For some reason avahi does not cope with that correcty (at least on Solaris/OpenIndiana and MacOS using dns-sd; see my previous messages).
Setting both port to some value works fine. I tried it setting it to “9“ which is the “network dev/null“.
All I found out up to now is that both services are not really services as the TXT entries matter.
So there shoud actually be no problem in port conflicts as MacOS does not seem to connect to that port.
It simply read the TXT message. Other value could e.g. be 445 (but maybe that could be a security issue)?
I would be really happy if you could check that patch and add it to the source.
If there is a prblem with port 9 I could maybe add a config-param (fruit:device-info port and fruit:adisk port) for allowing customization if necessary.
The patch is added (for samba-4.9.5)
-------------- next part --------------
A non-text attachment was scrubbed...
Size: 1150 bytes
Desc: not available
-------------- next part --------------
> Am 18.03.2019 um 09:52 schrieb Rouven WEILER <Rouven_Weiler at gmx.net>:
> I am trying to figure out whether I am doing something wrong or if there is an existin issue.
> I tried to debug my issue with mdns service dicovery for MacOS/APPLE with vfs_fruit.
> Setting the device-info manually accoring to the source code (https://github.com/samba-team/samba/blob/master/source3/smbd/avahi_register.c)
> by doing "dns-sd -R hostname._device-info._tcp local 0 model=RackMac" I did not get any response by a "dig @22.214.171.124 -p 5353 -t ptr _device-info._tcp.local"
> Doing a "dns-sd -R hostname._device-info._tcp local 445 model=RackMac" with the samba port set I get response from my server doing "dig @126.96.36.199 -p 5353 -t ptr _device-info._tcp.local"
> ; <<>> DiG 9.10.6-P1 <<>> @188.8.131.52 -p 5353 -t ptr _device-info._tcp.local
> ; (1 server found)
> ;; global options: +cmd
> ;; Got answer:
> ;; WARNING: .local is reserved for Multicast DNS
> ;; You are currently testing what happens when an mDNS query is leaked to DNS
> ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 61612
> ;; flags: qr aa; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 4
> ;; QUESTION SECTION:
> ;_device-info._tcp.local. IN PTR
> ;; ANSWER SECTION:
> _device-info._tcp.local. 10 IN PTR openindiana._device-info._tcp.local.
> ;; ADDITIONAL SECTION:
> name._device-info._tcp.local. 10 IN SRV 0 0 445 openindiana.local.
> name._device-info._tcp.local. 10 IN TXT "model=RackMac"
> name.local. 10 IN A 10.0.2.15
> name.local. 10 IN AAAA fe80::a00:27ff:fe6d:baeb
> ;; Query time: 0 msec
> ;; SERVER: 10.0.2.15#5353(184.108.40.206)
> ;; WHEN: Mon Mar 18 08:36:49 CET 2019
> ;; MSG SIZE rcvd: 169
> Although I think APPLE states that port "0" is okay for "_device-info" and "_adisk" it might seem that offical mdns is not!?
> Last week I wrote this:
> Hey there,
> I just installed samba-4.9.5 on Solaris/OpenIndiana via the package management system of OpenIndiana.
> It seems that I have an issue with avahi...
> Samba advertises itself as a _smb service and can be browsed, however the „fruit“ services for apple do to seem to be propagated right.
> Doing an "avahi-browse -a" on the OpenIndiana server shows:
> root at OpenIndiana[~] avahi-browse -a
> + rge0 n/a 70-35-60-63.1 AppleTV _sleep-proxy._udp. local.
> + rge0 n/a 2C0B2DB30EDE868767DDB3DCDB7B3D60964618F1 _touch-able._tcp. local.
> + rge0 n/a AppleTV _airplay._tcp. local.
> + rge0 n/a DC56E7379664 at AppleTV _raop._tcp. local.
> + rge0 n/a AppleTV _mediaremotetv._tcp. local.
> + rge0 n/a 559BCACC-914C-507B-A4CE-C6DD4BB21957 _homekit._tcp. local.
> + rge0 n/a AppleTV _companion-link._tcp. local.
> + rge0 n/a MacbookPro _companion-link._tcp. local.
> + rge0 n/a Brother MFC-J4625DW _pdl-datastream._tcp. local.
> + rge0 n/a Brother MFC-J4625DW _printer._tcp. local.
> + rge0 n/a Brother MFC-J4625DW _ipp._tcp. local.
> + rge0 n/a Brother MFC-J4625DW _scanner._tcp. local.
> + rge0 n/a Brother MFC-J4625DW _http._tcp. local.
> + rge0 n/a Brother MFC-J4625DW _privet._tcp. local.
> + rge0 n/a MacbookPro _ssh._tcp. local.
> + rge0 n/a MacbookPro _sftp-ssh._tcp. local.
> + rge0 n/a wutz _smb._tcp. local.
> There is no „_adisk“ and no „_device-info“ service… Even after waiting some time.
> Doing an "dns-sd -B _services._dns-sd._udp" on the Mac client does not show the services either:
> user at MacbookPro[~] dns-sd -B _services._dns-sd._udp
> Browsing for _services._dns-sd._udp
> DATE: ---Sat 16 Mar 2019---
> 9:00:59.107 ...STARTING...
> Timestamp A/R Flags if Domain Service Type Instance Name
> 9:00:59.107 Add 3 5 . _tcp.local. _ssh
> 9:00:59.107 Add 3 5 . _tcp.local. _sftp-ssh
> 9:00:59.107 Add 3 5 . _tcp.local. _companion-link
> 9:00:59.107 Add 3 5 . _tcp.local. _pdl-datastream
> 9:00:59.107 Add 3 5 . _tcp.local. _printer
> 9:00:59.107 Add 3 5 . _tcp.local. _ipp
> 9:00:59.107 Add 3 5 . _tcp.local. _scanner
> 9:00:59.107 Add 3 5 . _tcp.local. _http
> 9:00:59.107 Add 3 5 . _tcp.local. _privet
> 9:00:59.107 Add 3 5 . _udp.local. _sleep-proxy
> 9:00:59.107 Add 3 5 . _tcp.local. _touch-able
> 9:00:59.107 Add 3 5 . _tcp.local. _airplay
> 9:00:59.107 Add 3 5 . _tcp.local. _raop
> 9:00:59.107 Add 3 5 . _tcp.local. _mediaremotetv
> 9:00:59.107 Add 3 5 . _tcp.local. _homekit
> 9:00:59.107 Add 2 5 . _tcp.local. _smb
> Am I doing something wrong here?
> I stumbled in to that just because I wanted to add the device-info icon for the Finder. I know that there was a bug fix done for samba-4.9.5 that was reported to work by gd.
> Nevertheless, there is no effect on my Mac.
> Any help to understand the issue and avahi/dns-sd/zeroconf and get the solution is really appreciated.
> Thanks in advance.
More information about the samba-technical