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
This commit is contained in:
@@ -11,4 +11,8 @@ $(eval $(call gb_UnpackedTarball_UnpackedTarball,mDNSResponder))
|
|||||||
|
|
||||||
$(eval $(call gb_UnpackedTarball_set_tarball,mDNSResponder,$(MDNSRESPONDER_TARBALL)))
|
$(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:
|
# vim: set noet sw=4 ts=4:
|
||||||
|
83
external/mdnsresponder/mDNSResponder_Win32_SOCKET.patch.1
vendored
Normal file
83
external/mdnsresponder/mDNSResponder_Win32_SOCKET.patch.1
vendored
Normal file
@@ -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)
|
||||||
|
{
|
Reference in New Issue
Block a user