summaryrefslogtreecommitdiff
path: root/external
diff options
context:
space:
mode:
authorMichael Stahl <mstahl@redhat.com>2015-11-30 15:43:58 +0100
committerMichael Stahl <mstahl@redhat.com>2015-11-30 15:47:15 +0100
commit111f34acca8520e8d6ec6115ca59bb06cf8b4a91 (patch)
treeaf20f666fea9a64482942f98ceac1fbe8e98bc81 /external
parent6f59c81bca61a01457cb9c8d00510ed418c755b4 (diff)
mDNSResponder: add "Use proper return type for DNSServiceRefSockFD"
... as a patch after the commit was erroneously removed while moving mDNSResponder to external. Change-Id: I52cd03d94f5c633cd274a111653f947a33cd6140
Diffstat (limited to 'external')
-rw-r--r--external/mdnsresponder/UnpackedTarball_mDNSResponder.mk4
-rw-r--r--external/mdnsresponder/mDNSResponder_Win32_SOCKET.patch.183
2 files changed, 87 insertions, 0 deletions
diff --git a/external/mdnsresponder/UnpackedTarball_mDNSResponder.mk b/external/mdnsresponder/UnpackedTarball_mDNSResponder.mk
index 9b436b2f077c..009901a26da5 100644
--- a/external/mdnsresponder/UnpackedTarball_mDNSResponder.mk
+++ b/external/mdnsresponder/UnpackedTarball_mDNSResponder.mk
@@ -11,4 +11,8 @@ $(eval $(call gb_UnpackedTarball_UnpackedTarball,mDNSResponder))
$(eval $(call gb_UnpackedTarball_set_tarball,mDNSResponder,$(MDNSRESPONDER_TARBALL)))
+$(eval $(call gb_UnpackedTarball_add_patches,mDNSResponder,\
+ external/mdnsresponder/mDNSResponder_Win32_SOCKET.patch.1 \
+))
+
# vim: set noet sw=4 ts=4:
diff --git a/external/mdnsresponder/mDNSResponder_Win32_SOCKET.patch.1 b/external/mdnsresponder/mDNSResponder_Win32_SOCKET.patch.1
new file mode 100644
index 000000000000..e2840f52bc23
--- /dev/null
+++ b/external/mdnsresponder/mDNSResponder_Win32_SOCKET.patch.1
@@ -0,0 +1,83 @@
+commit 77838efb0748689ee77007a92d9a01e03e6dbdb7
+Author: Stephan Bergmann <sbergman@redhat.com>
+AuthorDate: Fri Nov 27 22:40:23 2015 +0100
+Commit: Stephan Bergmann <sbergman@redhat.com>
+CommitDate: Sat Nov 28 14:00:07 2015 +0100
+
+ Use proper return type for DNSServiceRefSockFD
+
+ ...which is e.g. unsigned long long for Windows 64-bit (and declaring the
+ function in dns_sd.h is not necessary, and the dnssd_sock_t typedef is not known
+ there)
+
+ Change-Id: Iaa0eb03a83b76200204ba905313bcc27b5007b39
+
+diff --git a/mDNSShared/dns_sd.h b/mDNSShared/dns_sd.h
+index 31daaeb..faaa741 100644
+--- a/mDNSShared/dns_sd.h
++++ b/mDNSShared/dns_sd.h
+@@ -741,33 +741,6 @@ DNSServiceErrorType DNSSD_API DNSServiceGetProperty
+ *
+ *********************************************************************************************/
+
+-/* DNSServiceRefSockFD()
+- *
+- * Access underlying Unix domain socket for an initialized DNSServiceRef.
+- * The DNS Service Discovery implementation uses this socket to communicate between the client and
+- * the mDNSResponder daemon. The application MUST NOT directly read from or write to this socket.
+- * Access to the socket is provided so that it can be used as a kqueue event source, a CFRunLoop
+- * event source, in a select() loop, etc. When the underlying event management subsystem (kqueue/
+- * select/CFRunLoop etc.) indicates to the client that data is available for reading on the
+- * socket, the client should call DNSServiceProcessResult(), which will extract the daemon's
+- * reply from the socket, and pass it to the appropriate application callback. By using a run
+- * loop or select(), results from the daemon can be processed asynchronously. Alternatively,
+- * a client can choose to fork a thread and have it loop calling "DNSServiceProcessResult(ref);"
+- * If DNSServiceProcessResult() is called when no data is available for reading on the socket, it
+- * will block until data does become available, and then process the data and return to the caller.
+- * When data arrives on the socket, the client is responsible for calling DNSServiceProcessResult(ref)
+- * in a timely fashion -- if the client allows a large backlog of data to build up the daemon
+- * may terminate the connection.
+- *
+- * sdRef: A DNSServiceRef initialized by any of the DNSService calls.
+- *
+- * return value: The DNSServiceRef's underlying socket descriptor, or -1 on
+- * error.
+- */
+-
+-int DNSSD_API DNSServiceRefSockFD(DNSServiceRef sdRef);
+-
+-
+ /* DNSServiceProcessResult()
+ *
+ * Read a reply from the daemon, calling the appropriate application callback. This call will
+diff --git a/mDNSShared/dnssd_clientstub.c b/mDNSShared/dnssd_clientstub.c
+index c38197c..c6b50a2 100644
+--- a/mDNSShared/dnssd_clientstub.c
++++ b/mDNSShared/dnssd_clientstub.c
+@@ -799,7 +799,7 @@ cleanup:
+ return err;
+ }
+
+-int DNSSD_API DNSServiceRefSockFD(DNSServiceRef sdRef)
++dnssd_sock_t DNSSD_API DNSServiceRefSockFD(DNSServiceRef sdRef)
+ {
+ if (!sdRef) { syslog(LOG_WARNING, "dnssd_clientstub DNSServiceRefSockFD called with NULL DNSServiceRef"); return dnssd_InvalidSocket; }
+
+@@ -816,7 +816,7 @@ int DNSSD_API DNSServiceRefSockFD(DNSServiceRef sdRef)
+ return dnssd_InvalidSocket;
+ }
+
+- return (int) sdRef->sockfd;
++ return sdRef->sockfd;
+ }
+
+ #if _DNS_SD_LIBDISPATCH
+@@ -2025,7 +2025,7 @@ DNSServiceErrorType DNSSD_API DNSServiceSetDispatchQueue
+ dispatch_queue_t queue
+ )
+ {
+- int dnssd_fd = DNSServiceRefSockFD(service);
++ dnssd_sock_t dnssd_fd = DNSServiceRefSockFD(service);
+ if (dnssd_fd == dnssd_InvalidSocket) return kDNSServiceErr_BadParam;
+ if (!queue)
+ {