20 lines
661 B
Diff
20 lines
661 B
Diff
diff -up bind-9.6.0rc1/lib/dns/dispatch.c.rh475120 bind-9.6.0rc1/lib/dns/dispatch.c
|
|
--- bind-9.6.0rc1/lib/dns/dispatch.c.rh475120 2008-11-13 00:10:57.000000000 +0100
|
|
+++ bind-9.6.0rc1/lib/dns/dispatch.c 2008-12-09 15:06:18.000000000 +0100
|
|
@@ -2702,6 +2702,15 @@ get_udpsocket(dns_dispatchmgr_t *mgr, dn
|
|
* If this fails 1024 times, we then ask the kernel for
|
|
* choosing one.
|
|
*/
|
|
+ } else {
|
|
+ /* Allow to reuse address for non-random ports */
|
|
+ result = open_socket(sockmgr, localaddr,
|
|
+ ISC_SOCKET_REUSEADDRESS, &sock);
|
|
+
|
|
+ if (result == ISC_R_SUCCESS)
|
|
+ *sockp = sock;
|
|
+
|
|
+ return (result);
|
|
}
|
|
|
|
memset(held, 0, sizeof(held));
|