mirror of
https://gitlab.isc.org/isc-projects/bind9
synced 2025-09-01 15:05:23 +00:00
make unreachable errors on unconnected UDP sockets be soft errors, rather than hard ones.
This commit is contained in:
@@ -15,7 +15,7 @@
|
|||||||
* WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
|
* WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
/* $Id: socket.c,v 1.163 2000/08/31 17:10:58 gson Exp $ */
|
/* $Id: socket.c,v 1.164 2000/09/06 22:55:33 explorer Exp $ */
|
||||||
|
|
||||||
#include <config.h>
|
#include <config.h>
|
||||||
|
|
||||||
@@ -849,8 +849,8 @@ doio_recv(isc_socket_t *sock, isc_socketevent_t *dev) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
SOFT_OR_HARD(ECONNREFUSED, ISC_R_CONNREFUSED);
|
SOFT_OR_HARD(ECONNREFUSED, ISC_R_CONNREFUSED);
|
||||||
ALWAYS_HARD(ENETUNREACH, ISC_R_NETUNREACH);
|
SOFT_OR_HARD(ENETUNREACH, ISC_R_NETUNREACH);
|
||||||
ALWAYS_HARD(EHOSTUNREACH, ISC_R_HOSTUNREACH);
|
SOFT_OR_HARD(EHOSTUNREACH, ISC_R_HOSTUNREACH);
|
||||||
ALWAYS_HARD(ENOBUFS, ISC_R_NORESOURCES);
|
ALWAYS_HARD(ENOBUFS, ISC_R_NORESOURCES);
|
||||||
|
|
||||||
#undef SOFT_OR_HARD
|
#undef SOFT_OR_HARD
|
||||||
@@ -2833,6 +2833,9 @@ isc_socket_connect(isc_socket_t *sock, isc_sockaddr_t *addr,
|
|||||||
case ENETUNREACH:
|
case ENETUNREACH:
|
||||||
dev->result = ISC_R_NETUNREACH;
|
dev->result = ISC_R_NETUNREACH;
|
||||||
goto err_exit;
|
goto err_exit;
|
||||||
|
case EHOSTUNREACH:
|
||||||
|
dev->result = ISC_R_HOSTUNREACH;
|
||||||
|
goto err_exit;
|
||||||
}
|
}
|
||||||
|
|
||||||
sock->connected = 0;
|
sock->connected = 0;
|
||||||
|
Reference in New Issue
Block a user