bug with ndc and bind 8.2

Pandit, Tushar tpandit at imps0014.us.dg.com
Mon Jun 7 19:18:00 UTC 1999


I am not sure if this would solve your problem. But looking at the ctl_* errors
in your syslog was wondering if you have applied patch2 for Bind 8.2.

If not , here it is(given by Marc Andrews of ISC):

Index: src/lib/isc/ctl_srvr.c
===================================================================
RCS file: /proj/cvs/isc/bind/src/lib/isc/ctl_srvr.c,v
retrieving revision 8.12
diff -c -r8.12 ctl_srvr.c
*** ctl_srvr.c	1999/03/16 17:53:41	8.12
--- ctl_srvr.c	1999/05/08 00:33:56
***************
*** 406,411 ****
--- 406,413 ----
  		ctl_sa_copy((struct sockaddr *)rav,
  			    (struct sockaddr *)&sess->sa);
  	sess->donefunc = NULL;
+ 	buffer_init(sess->inbuf);
+ 	buffer_init(sess->outbuf);
  	sess->state = available;
  	ctl_new_state(sess, initializing, me);
  	sess->verb = ctx->connverb;
***************
*** 582,587 ****
--- 584,593 ----
  	REQUIRE(sess->state == writing);
  	(*ctx->logger)(ctl_warning, "%s: %s: write timeout, closing",
  		       me, address_expr);
+ 	if (sess->wrID.opaque != NULL) {
+ 		(void) evCancelRW(ctx->ev, sess->wrID);
+ 		sess->wrID.opaque = NULL;
+ 	}
  	ctl_signal_done(ctx, sess);
  	ctl_new_state(sess, processing, me);
  	ctl_close(sess);
Index: src/bin/named/ns_ctl.c
===================================================================
RCS file: /proj/cvs/isc/bind/src/bin/named/ns_ctl.c,v
retrieving revision 8.13
diff -c -r8.13 ns_ctl.c
*** ns_ctl.c	1999/02/23 08:28:26	8.13
--- ns_ctl.c	1999/05/08 00:33:59
***************
*** 407,415 ****
  			if (s >= 0 &&
  			    connect(s, (struct sockaddr *)&ctl->var.v_unix.un,
  				    sizeof ctl->var.v_unix.un) < 0 &&
! 			    errno == ECONNREFUSED &&
  			    stat(ctl->var.v_unix.un.sun_path, &sb) == 0 &&
! 			    S_ISSOCK(sb.st_mode)) {
  				/* XXX Race condition. */
  				unlink(ctl->var.v_unix.un.sun_path);
  				ctl->sctx = mksrvr(ctl,
--- 407,415 ----
  			if (s >= 0 &&
  			    connect(s, (struct sockaddr *)&ctl->var.v_unix.un,
  				    sizeof ctl->var.v_unix.un) < 0 &&
! 			    (errno == ECONNREFUSED || errno == ECONNRESET) &&
  			    stat(ctl->var.v_unix.un.sun_path, &sb) == 0 &&
! 			    (S_ISSOCK(sb.st_mode) || S_ISFIFO(sb.st_mode))) {
  				/* XXX Race condition. */
  				unlink(ctl->var.v_unix.un.sun_path);
  				ctl->sctx = mksrvr(ctl,
--

Tushar



More information about the bind-users mailing list