From owner-cvs-usrsbin Sat Apr 15 16:35:51 1995 Return-Path: cvs-usrsbin-owner Received: (from majordom@localhost) by freefall.cdrom.com (8.6.10/8.6.6) id QAA07482 for cvs-usrsbin-outgoing; Sat, 15 Apr 1995 16:35:51 -0700 Received: (from wpaul@localhost) by freefall.cdrom.com (8.6.10/8.6.6) id QAA07471 ; Sat, 15 Apr 1995 16:35:48 -0700 Date: Sat, 15 Apr 1995 16:35:48 -0700 From: Bill Paul Message-Id: <199504152335.QAA07471@freefall.cdrom.com> To: CVS-commiters, cvs-usrsbin Subject: cvs commit: src/usr.sbin/ypbind ypbind.c Sender: cvs-usrsbin-owner@freebsd.org Precedence: bulk wpaul 95/04/15 16:35:48 Modified: usr.sbin/ypbind ypbind.c Log: In environments with multiple NIS servers (a master and several slaves) one ypbind broadcast can yield several responses. This can lead to some confusion: the syslog message from ypbind will indicate a rebinding to the first server that responds, but we may subsequently change our binding to another server when the other responses arrive. This results in ypbind reporting 'server OK' to one address and ypwhich reporting a binding to another. The behavior of the rpc_received() function has been changed to prevent this: subsequent responses received after a binding has already been established are ignored. Rebinding gratuitously each time we get a new response is silly anyway. Also backed out the non-fix I made in my last ypbind commit. (Pass me the extra large conical hat, please.) (At some point I'm going to seriously re-work ypbind and the _yp_dobind() library function to bring them in line with SunOS's documented behavior: binding requests are supposed to be 'client-driven.' The _yp_dobind() function should be responsible for retrying connections in response to calls from client programs rather than having ypbind broadcasting continously until a server responds. The current setup works okay in normal operation, but we broadcast far too often than we should.)