bonjour-publish: Return ports in network byteorder
authorKenneth Perry <thothonegan@gmail.com>
Thu, 5 Dec 2013 09:19:08 +0000 (11:19 +0200)
committerTanu Kaskinen <tanu.kaskinen@linux.intel.com>
Thu, 5 Dec 2013 09:21:51 +0000 (11:21 +0200)
For DNS-SD (Bonjour) discovery, all ports should be set in network
byteorder instead of host byteorder. Without this, all ports on
little-endian systems (intel) are incorrect.

Documentation:
https://developer.apple.com/library/mac/documentation/networking/Reference/DNSServiceDiscovery_CRef/Reference/reference.html#//apple_ref/c/func/DNSServiceRegister

src/modules/macosx/module-bonjour-publish.c

index f0b8b82..ac88545 100644 (file)
@@ -183,13 +183,13 @@ static uint16_t compute_port(struct userdata *u) {
             a.port > 0) {
 
             pa_xfree(a.path_or_host);
-            return a.port;
+            return htons(a.port);
         }
 
         pa_xfree(a.path_or_host);
     }
 
-    return PA_NATIVE_DEFAULT_PORT;
+    return htons(PA_NATIVE_DEFAULT_PORT);
 }
 
 static int publish_service(struct service *s) {