From 111f34acca8520e8d6ec6115ca59bb06cf8b4a91 Mon Sep 17 00:00:00 2001 From: Michael Stahl Date: Mon, 30 Nov 2015 15:43:58 +0100 Subject: 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 --- .../mdnsresponder/UnpackedTarball_mDNSResponder.mk | 4 ++ .../mDNSResponder_Win32_SOCKET.patch.1 | 83 ++++++++++++++++++++++ 2 files changed, 87 insertions(+) create mode 100644 external/mdnsresponder/mDNSResponder_Win32_SOCKET.patch.1 (limited to 'external') 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 +AuthorDate: Fri Nov 27 22:40:23 2015 +0100 +Commit: Stephan Bergmann +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) + { -- cgit