]> arthur.barton.de Git - netatalk.git/commitdiff
Fix _device-info service type registered with dns-sd API
authorFrank Lahm <franklahm@googlemail.com>
Tue, 30 Oct 2012 10:49:40 +0000 (11:49 +0100)
committerFrank Lahm <franklahm@googlemail.com>
Tue, 30 Oct 2012 10:49:40 +0000 (11:49 +0100)
etc/afpd/afp_mdns.c

index e14791fee2dd93c4db6b8deef1c65f92ba168b77..1dc6cbbb768714637f89e5077f1769abef9cd72b 100644 (file)
@@ -232,7 +232,7 @@ static void register_stuff(const AFPObj *obj) {
             LOG(log_info, logtype_afpd, "Registering server '%s' with model '%s'",
                 dsi->bonjourname, obj->options.mimicmodel);
             TXTRecordCreate(&txt_devinfo, 0, NULL);
-            TXTRecordPrintf(&txt_devinfo, "model=%s", obj->options.mimicmodel);
+            TXTRecordPrintf(&txt_devinfo, "model", obj->options.mimicmodel);
             error = DNSServiceRegister(&svc_refs[svc_ref_count++],
                                        0,               // no flags
                                        0,               // all network interfaces
@@ -240,7 +240,14 @@ static void register_stuff(const AFPObj *obj) {
                                        DEV_INFO_SERVICE_TYPE,
                                        "",            // default domains
                                        NULL,            // default host name
-                                       0,
+                                       /*
+                                        * We would probably use port 0 zero, but we can't, from man DNSServiceRegister:
+                                        *   "A value of 0 for a port is passed to register placeholder services.
+                                        *    Place holder services are not found  when browsing, but other
+                                        *    clients cannot register with the same name as the placeholder service."
+                                        * We therefor use port 9 which is used by the adisk service type.
+                                        */
+                                       htons(9),
                                        TXTRecordGetLength(&txt_devinfo),
                                        TXTRecordGetBytesPtr(&txt_devinfo),
                                        RegisterReply,           // callback