-2662. [bug] lwres_getipnodebyname() and lwres_getipnodebyaddr()
- returned a misleading error code when lwresd was
- down. [RT #20028]
-
-2661. [bug] Check whether socket fd exceeds FD_SETSIZE when
- creating lwres context. [RT #20029]
-
2655. [doc] Document that key-directory does not affect
rndc.key. [RT #20155]
- --- 9.5.2b released ---
+ --- 9.5.2b1 released ---
2649. [bug] Set the domain for forward only zones. [RT #19944]
* PERFORMANCE OF THIS SOFTWARE.
*/
-/* $Id: context.c,v 1.50.128.3 2009/09/01 06:49:29 each Exp $ */
+/* $Id: context.c,v 1.50.128.4 2009/09/01 07:17:46 each Exp $ */
/*! \file context.c
lwres_context_create() creates a #lwres_context_t structure for use in
result = lwres_context_send(ctx, sendbase, sendlen);
if (result != LWRES_R_SUCCESS)
return (result);
-
- /*
- * If this is not checked, select() can overflow,
- * causing corruption elsewhere.
- */
- if (ctx->sock >= FD_SETSIZE) {
- close(ctx->sock);
- ctx->sock = -1;
- return (LWRES_R_IOERROR);
- }
-
again:
FD_ZERO(&readfds);
FD_SET(ctx->sock, &readfds);
* PERFORMANCE OF THIS SOFTWARE.
*/
-/* $Id: getipnode.c,v 1.42.128.1 2009/09/01 06:49:29 each Exp $ */
+/* $Id: getipnode.c,v 1.42.128.2 2009/09/01 07:17:46 each Exp $ */
/*! \file */
struct in6_addr in6;
struct hostent he, *he1 = NULL, *he2 = NULL, *he3 = NULL;
int v4 = 0, v6 = 0;
- int tmp_err = 0;
+ int tmp_err;
lwres_context_t *lwrctx = NULL;
lwres_gabnresponse_t *by = NULL;
int n;
(void) lwres_conf_parse(lwrctx, lwres_resolv_conf);
tmp_err = NO_RECOVERY;
if (have_v6 && af == AF_INET6) {
+
n = lwres_getaddrsbyname(lwrctx, name, LWRES_ADDRTYPE_V6, &by);
if (n == 0) {
he1 = hostfromname(by, AF_INET6);
goto cleanup;
}
} else {
- if (n == LWRES_R_NOTFOUND)
- tmp_err = HOST_NOT_FOUND;
- else {
- *error_num = NO_RECOVERY;
- goto cleanup;
- }
+ tmp_err = HOST_NOT_FOUND;
}
}
} else
*error_num = tmp_err;
- he3 = copyandmerge(he1, he2, af, error_num);
+ he3 = copyandmerge(he1, he2, af, error_num);
cleanup:
if (he1 != NULL)
if (n != 0) {
lwres_conf_clear(lwrctx);
lwres_context_destroy(&lwrctx);
-
- if (n == LWRES_R_NOTFOUND)
- *error_num = HOST_NOT_FOUND;
- else
- *error_num = NO_RECOVERY;
-
+ *error_num = HOST_NOT_FOUND;
return (NULL);
}
-
he1 = hostfromaddr(by, AF_INET6, src);
lwres_gnbaresponse_free(lwrctx, &by);
if (he1 == NULL)