vfs_fruit: Time Machine/FULLSYNC: add mDNS/DNS-SD advertisement

Omri Mor omri50 at gmail.com
Thu Jul 20 01:54:42 UTC 2017


> On Jul 19, 2017, at 18:37, Kevin Anderson <andersonkw2 at gmail.com> wrote:
> 
>> The service definition for Time Machine is nontrivial.
>> _adisk._tcp requires two TXT records:
>> sys=waMa=0,adVF=0x100
>> dk0=adVN=Time Machine,adVF=0x82,adVU=00000000-0000-0000-0000-000000000000
>> 
>> adVN is the Time Machine share name, adVF sets up volume flags (macOS Server uses 0xa2 instead, Netatalk also uses the 0xa  prefix instead of 0x8, though it’s unknown what the 0x2 flag does: http://netatalk.sourceforge.net/wiki/index.php/Bonjour_record_adisk_adVF_values). adVU is a UUID, which isn’t strictly necessary, but I think helps keep track of backup disks.
> 
> Just for clarification when I started down this path, I based the work
> off of the Apple published "spec" that can be found at
> https://developer.apple.com/library/content/releasenotes/NetworkingInternetWeb/Time_Machine_SMB_Spec/index.html.
> In the spec it doesn't mention the adVU value at all so I think it
> should be left out IMO. It also states that a value of 0x2 is for SMB
> protocol support for that volume.
> 
> -Kevin Anderson

Yes, I saw that too. I’m currently using 0xa2 and adVU, so I wonder if the problems I reported on GitHub have something to do with that.
I actually meant 0x20 (i.e. 0x80 | 0x20 = 0xa0), which as far as I know isn’t documented anywhere. Netatalk uses 0xa1, which makes me wonder if it is the cause of some of the the Time Machine on Netatalk issues (though Time Machine issues occur using AFP on macOS Server / Time Capsule too, so it’s probably not the only reason).
The Netatalk wiki is obviously outdated, now that 0x02 is documented. 0x03 would presumably mean that both AFP and SMB are supported.
The older Apple AFP Time Machine documentation also doesn’t say anything about 0x20: https://developer.apple.com/library/content/documentation/NetworkingInternetWeb/Conceptual/TimeMachineNetworkInterfaceSpecification/TimeMachineRequirements/TimeMachineRequirements.html

The Apple spec doesn’t document sys=waMa=0,adVF=0x100, which some of the users (as well as Netatalk) say is needed.
One source (https://dreness.com/blog/archives/48 <https://dreness.com/blog/archives/48>) found that waMa is the MAC address. The Netatalk wiki states that *this* adVF value forces prompting for username and password, as well as hiding a bogus ‘home’ share.
I wonder if publishing adVF=0x182 will have the same effect.

Apple’s spec also doesn’t document that multiple Time Machine volumes on the same server would use successive dkN values (dk0, dk1, …).

Omri


More information about the samba-technical mailing list