summaryrefslogtreecommitdiff
path: root/bin/named/controlconf.c
diff options
context:
space:
mode:
Diffstat (limited to 'bin/named/controlconf.c')
-rw-r--r--bin/named/controlconf.c22
1 files changed, 9 insertions, 13 deletions
diff --git a/bin/named/controlconf.c b/bin/named/controlconf.c
index bd269e519b3e7..926c20543d55b 100644
--- a/bin/named/controlconf.c
+++ b/bin/named/controlconf.c
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2004-2008, 2011 Internet Systems Consortium, Inc. ("ISC")
+ * Copyright (C) 2004-2008, 2011, 2012 Internet Systems Consortium, Inc. ("ISC")
* Copyright (C) 2001-2003 Internet Software Consortium.
*
* Permission to use, copy, modify, and/or distribute this software for any
@@ -15,7 +15,7 @@
* PERFORMANCE OF THIS SOFTWARE.
*/
-/* $Id: controlconf.c,v 1.60.544.2 2011-03-12 04:59:14 tbox Exp $ */
+/* $Id: controlconf.c,v 1.60.544.3 2011/12/22 08:10:09 marka Exp $ */
/*! \file */
@@ -373,17 +373,8 @@ control_recvmessage(isc_task_t *task, isc_event_t *event) {
if (result == ISC_R_SUCCESS)
break;
isc_mem_put(listener->mctx, secret.rstart, REGION_SIZE(secret));
- if (result == ISCCC_R_BADAUTH) {
- /*
- * For some reason, request is non-NULL when
- * isccc_cc_fromwire returns ISCCC_R_BADAUTH.
- */
- if (request != NULL)
- isccc_sexpr_free(&request);
- } else {
- log_invalid(&conn->ccmsg, result);
- goto cleanup;
- }
+ log_invalid(&conn->ccmsg, result);
+ goto cleanup;
}
if (key == NULL) {
@@ -1148,6 +1139,11 @@ add_listener(ns_controls_t *cp, controllistener_t **listenerp,
if (result == ISC_R_SUCCESS)
isc_socket_setname(listener->sock, "control", NULL);
+#ifndef ISC_ALLOW_MAPPED
+ if (result == ISC_R_SUCCESS)
+ isc_socket_ipv6only(listener->sock, ISC_TRUE);
+#endif
+
if (result == ISC_R_SUCCESS)
result = isc_socket_bind(listener->sock, &listener->address,
ISC_SOCKET_REUSEADDRESS);