Bind 8.2

Pandit, Tushar tpandit at imps0014.us.dg.com
Wed Jul 14 20:55:02 UTC 1999


> That's because you misspelled it, it's "ctl_server".  The problem only
> affects Solaris, and it's fixed in 8.2 patch1 and 8.2.1.


This is the patch that needs to applied( given by Mark Andrews of ISC), in
case you are using 8.2. 
The patch worked for me. I think this is not on the web page .... but I am
not sure.


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 Pandit
Data General Corp.


More information about the bind-users mailing list