2
0
mirror of https://gitlab.isc.org/isc-projects/bind9 synced 2025-09-01 06:55:30 +00:00

RT #235: attempts to send a reqeust over IPv6 on systems

that do not support IPv6 caused an assertion failure
This commit is contained in:
Andreas Gustafsson
2000-08-14 19:31:49 +00:00
parent 771218f9ca
commit 99a9da7941

View File

@@ -15,7 +15,7 @@
* WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. * WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/ */
/* $Id: request.c,v 1.32 2000/08/11 16:47:33 gson Exp $ */ /* $Id: request.c,v 1.33 2000/08/14 19:31:49 gson Exp $ */
#include <config.h> #include <config.h>
@@ -525,19 +525,23 @@ dns_request_create(dns_requestmgr_t *requestmgr, dns_message_t *message,
if (result != ISC_R_SUCCESS) if (result != ISC_R_SUCCESS)
goto cleanup; goto cleanup;
} else { } else {
dns_dispatch_t *disp = NULL;
switch (isc_sockaddr_pf(address)) { switch (isc_sockaddr_pf(address)) {
case PF_INET: case PF_INET:
dns_dispatch_attach(requestmgr->dispatchv4, disp = requestmgr->dispatchv4;
&request->dispatch);
break; break;
case PF_INET6: case PF_INET6:
dns_dispatch_attach(requestmgr->dispatchv6, disp = requestmgr->dispatchv6;
&request->dispatch);
break; break;
default: default:
result = ISC_R_NOTIMPLEMENTED; result = ISC_R_NOTIMPLEMENTED;
goto cleanup; goto cleanup;
} }
if (disp == NULL) {
result = ISC_R_NETUNREACH;
goto cleanup;
}
dns_dispatch_attach(disp, &request->dispatch);
} }
socket = dns_dispatch_getsocket(request->dispatch); socket = dns_dispatch_getsocket(request->dispatch);
INSIST(socket != NULL); INSIST(socket != NULL);