From jin@iss-p1.lbl.gov  Wed Jun  4 11:13:05 1997
Received: from iss-p1.lbl.gov (iss-p1.lbl.gov [131.243.2.47])
          by hub.freebsd.org (8.8.5/8.8.5) with ESMTP id LAA15941
          for <FreeBSD-gnats-submit@freebsd.org>; Wed, 4 Jun 1997 11:13:03 -0700 (PDT)
Received: (from jin@localhost)
	by iss-p1.lbl.gov (8.8.5/8.8.5) id LAA11019;
	Wed, 4 Jun 1997 11:12:59 -0700 (PDT)
Message-Id: <199706041812.LAA11019@iss-p1.lbl.gov>
Date: Wed, 4 Jun 1997 11:12:59 -0700 (PDT)
From: "Jin Guojun[ITG]" <jin@iss-p1.lbl.gov>
Reply-To: jin@iss-p1.lbl.gov
To: FreeBSD-gnats-submit@freebsd.org
Subject: ypbind -S domainname,server1,... does not function
X-Send-Pr-Version: 3.2

>Number:         3778
>Category:       bin
>Synopsis:       ypbind -S domainname,server1,... does not function
>Confidential:   no
>Severity:       non-critical
>Priority:       medium
>Responsible:    wpaul
>State:          closed
>Quarter:        
>Keywords:       
>Date-Required:  
>Class:          sw-bug
>Submitter-Id:   current-users
>Arrival-Date:   Wed Jun  4 11:20:02 PDT 1997
>Closed-Date:    Tue Feb 16 20:32:27 PST 1999
>Last-Modified:  Tue Feb 16 20:32:54 PST 1999
>Originator:     Jin Guojun[ITG]
>Release:        FreeBSD 2.2-RELEASE i386
>Organization:
>Environment:

	All RELEASES

>Description:

iss-p1# ypbind -S itg,george
iss-p1# ypwhich   
can't yp_bind: Reason: Domain not bound
iss-p1# ps uxgw | grep yp
root       190  0.0  0.9   192  276  ??  Ss   11:03AM    0:00.01 ypbind -S itg
root       191  0.0  0.7   192  196  ??  S    11:03AM    0:00.00 ypbind -S itg
iss-p1# which ypbind
/usr/sbin/ypbind

Actually, the need is to specify mulltiple ypserver:

iss-p1# ypbind -S itg,george,slave1,slave2

for YP clients on different subnet.

The commend
# ypbind -ypset  +   ypset ypserver
works, but only one ypserver can be specified, which is not sufficient.


>How-To-Repeat:

	

>Fix:
	
	

>Release-Note:
>Audit-Trail:

From: Bill Paul <wpaul@skynet.ctr.columbia.edu>
To: jin@iss-p1.lbl.gov
Cc: gnats@freebsd.org
Subject: Re: bin/3778: ypbind -S domainname,server1,... does not function
Date: Wed, 4 Jun 1997 15:23:21 -0400 (EDT)

 Of all the gin joints in all the towns in all the world, Jin Guojun[ITG] 
 had to walk into mine and say: > 
  
 > >Number:         3778
 > >Category:       bin
 > >Synopsis:       ypbind -S domainname,server1,... does not function
 > >Confidential:   no
 > >Severity:       non-critical
 > >Priority:       medium
 > >Responsible:    freebsd-bugs
 > >State:          open
 > >Class:          sw-bug
 > >Submitter-Id:   current-users
 > >Arrival-Date:   Wed Jun  4 11:20:02 PDT 1997
 > >Last-Modified:
 > >Originator:     Jin Guojun[ITG]
 > >Organization:
 > >Release:        FreeBSD 2.2-RELEASE i386
 > >Environment:
 > 
 > 	All RELEASES 
 > >Description:
 > 
 > iss-p1# ypbind -S itg,george
 > iss-p1# ypwhich   
 > can't yp_bind: Reason: Domain not bound
 > iss-p1# ps uxgw | grep yp
 > root       190  0.0  0.9   192  276  ??  Ss   11:03AM    0:00.01 ypbind -S itg
 > root       191  0.0  0.7   192  196  ??  S    11:03AM    0:00.00 ypbind -S itg
 > iss-p1# which ypbind
 > /usr/sbin/ypbind
 > 
 > Actually, the need is to specify mulltiple ypserver:
 > 
 > iss-p1# ypbind -S itg,george,slave1,slave2
 > 
 > for YP clients on different subnet.
 
 Your description of the problem is not very clear: it is difficult to
 tell exactly what it is you are trying to do.
 
 My main question has to do with the client iss-p1 and the server george:
 are they on the same subnet or not? If not, then the behavior you are
 experiencing is not a bug: the -S flag does not provide any special
 magic that allows NIS clients to bind to servers on remote subnets.
 
 With the -S flag, ypbind still transmits broadcasts and waits for replies
 from qualified servers; the difference is that with the -S option, ypbind
 will only honor replies from machines specified in the 'restricted mode'
 server list. It will also only bind to the restricted mode domain.
 
 The only way to ypbind do what you want it to do is to download the
 ypbind source code from FreeBSD-current and compile that on your 2.2
 system. (It should compile without any problem.) Once you have that,
 use the following:
 
 # ypbind -m -S domain,server1,server2,server3,server4,...
 
 The -m flag is new: it tells ypbind to use a 'many-cast' instead of
 a broadcast. This will allow it to bind to any of the servers even
 if they are on remote subnets.
 
 Please try this: if it fixes your problem, I let me know so I can close
 out this PR.
 
 -Bill
 
 -- 
 =============================================================================
 -Bill Paul            (212) 854-6020 | System Manager, Master of Unix-Fu
 Work:         wpaul@ctr.columbia.edu | Center for Telecommunications Research
 Home:  wpaul@skynet.ctr.columbia.edu | Columbia University, New York City
 =============================================================================
  "It is not I who am crazy; it is I who am mad!" - Ren Hoek, "Space Madness"
 =============================================================================
 

From: "Jin Guojun[ITG]" <jin@george.lbl.gov>
To: jin@iss-p1.lbl.gov, wpaul@skynet.ctr.columbia.edu
Cc: gnats@freebsd.org
Subject: Re: bin/3778: ypbind -S domainname,server1,... does not function
Date: Wed, 4 Jun 1997 14:47:08 -0700

 } > iss-p1# ypbind -S itg,george
 } > iss-p1# ypwhich   
 } > can't yp_bind: Reason: Domain not bound
 } > iss-p1# ps uxgw | grep yp
 } > root       190  0.0  0.9   192  276  ??  Ss   11:03AM    0:00.01 ypbind -S itg
 } > root       191  0.0  0.7   192  196  ??  S    11:03AM    0:00.00 ypbind -S itg
 } > iss-p1# which ypbind
 } > /usr/sbin/ypbind
 } > 
 } > Actually, the need is to specify mulltiple ypserver:
 } > 
 } > iss-p1# ypbind -S itg,george,slave1,slave2
 } > 
 } > for YP clients on different subnet.
 } 
 } Your description of the problem is not very clear: it is difficult to
 } tell exactly what it is you are trying to do.
 } 
 } My main question has to do with the client iss-p1 and the server george:
 } are they on the same subnet or not? If not, then the behavior you are
 } experiencing is not a bug: the -S flag does not provide any special
 } magic that allows NIS clients to bind to servers on remote subnets.
 
 I think the problem is clear. Otherwise, the man page is WRONG.
 According to the manual page -- ypbind -- the -S option is the better way
 for options -ypset and -ypsetme. Where is -ypset option used? at remote
 subnets. However, ypset can set only one ypserver for clients, and one ypserver
 always causes problem at remote site. Any router problem, ypserver problem,
 and network problem will kill all computers on a remote site.
 
 } With the -S flag, ypbind still transmits broadcasts and waits for replies
 } from qualified servers; the difference is that with the -S option, ypbind
 } will only honor replies from machines specified in the 'restricted mode'
 } server list. It will also only bind to the restricted mode domain.
 } 
 } The only way to ypbind do what you want it to do is to download the
 } ypbind source code from FreeBSD-current and compile that on your 2.2
 } system. (It should compile without any problem.) Once you have that,
 } use the following:
 } 
 } # ypbind -m -S domain,server1,server2,server3,server4,...
 } 
 } The -m flag is new: it tells ypbind to use a 'many-cast' instead of
 } a broadcast. This will allow it to bind to any of the servers even
 } if they are on remote subnets.
 
 I will try it and let you know the result.
 
 Thanks,
 
 -Jin
 

From: "Jin Guojun[ITG]" <jin@george.lbl.gov>
To: jin@iss-p1.lbl.gov, wpaul@skynet.ctr.columbia.edu
Cc: freebsd-gnats-submit@FreeBSD.ORG
Subject: Re: bin/3778: ypbind -S domainname,server1,... does not function
Date: Wed, 4 Jun 1997 15:19:26 -0700

 > The only way to ypbind do what you want it to do is to download the
 > ypbind source code from FreeBSD-current and compile that on your 2.2
 > system. (It should compile without any problem.) Once you have that,
 > use the following:
 > 
 > # ypbind -m -S domain,server1,server2,server3,server4,...
 > 
 > The -m flag is new: it tells ypbind to use a 'many-cast' instead of
 > a broadcast. This will allow it to bind to any of the servers even
 > if they are on remote subnets.
 
 It works, but ypwhich kills it. That is, I cannot use ypwhich to fin out
 which ypserver is currently using.
 
 The ypbind is killed a couple of seconds after ypwhich command issued.
 
 Please let me know when this is fixed.
 
 Thanks again,
 
 -Jin
 

From: Bill Paul <wpaul@skynet.ctr.columbia.edu>
To: jin@george.lbl.gov (Jin Guojun[ITG])
Cc: jin@iss-p1.lbl.gov, freebsd-gnats-submit@FreeBSD.ORG
Subject: Re: bin/3778: ypbind -S domainname,server1,... does not function
Date: Wed, 4 Jun 1997 19:23:36 -0400 (EDT)

 Of all the gin joints in all the towns in all the world, Jin Guojun[ITG] 
 had to walk into mine and say:
  
 > > The only way to ypbind do what you want it to do is to download the
 > > ypbind source code from FreeBSD-current and compile that on your 2.2
 > > system. (It should compile without any problem.) Once you have that,
 > > use the following:
 > > 
 > > # ypbind -m -S domain,server1,server2,server3,server4,...
 > > 
 > > The -m flag is new: it tells ypbind to use a 'many-cast' instead of
 > > a broadcast. This will allow it to bind to any of the servers even
 > > if they are on remote subnets.
 > 
 > It works, but ypwhich kills it. That is, I cannot use ypwhich to fin out
 > which ypserver is currently using.
 > 
 > The ypbind is killed a couple of seconds after ypwhich command issued.
 > 
 > Please let me know when this is fixed.
 
 I need more information:
 
 - Exactly what FreeBSD release are you running.
 - Exactly what arguments do you use when invoking ypbind.
 - If possible, please try to do the following:
 
   o Edit the Makefile for the new ypbind and add -g to the CFLAGS
     options.
   o Recompile ypbind (make clean; make)
   o Try to use ypwhich to crash it again
   o When it crashes, do:
     % gdb -q ypbind /ypbind.core
     (gdb) where
 
   This result should be a stack trace indicating the line of code 
   where ypbind crashed. I would appreciate it if you could e-mail me the 
   stack trace; this will hopefully give me an idea where it is crashing 
   in the event that I can't reproduce the problem on my test machine.
   (I tested ypwhich on my machine before committing the changes and
   didn't have any trouble with it, but I might not have tested the right
   case to trip the bug.)
 
 -Bill
 
 -- 
 =============================================================================
 -Bill Paul            (212) 854-6020 | System Manager, Master of Unix-Fu
 Work:         wpaul@ctr.columbia.edu | Center for Telecommunications Research
 Home:  wpaul@skynet.ctr.columbia.edu | Columbia University, New York City
 =============================================================================
  "It is not I who am crazy; it is I who am mad!" - Ren Hoek, "Space Madness"
 =============================================================================
 

From: "Jin Guojun[ITG]" <jin@george.lbl.gov>
To: wpaul@skynet.ctr.columbia.edu
Cc: freebsd-gnats-submit@FreeBSD.ORG, jin@iss-p1.lbl.gov
Subject: Re: bin/3778: ypbind -S domainname,server1,... does not function
Date: Wed, 4 Jun 1997 19:01:56 -0700

 > > The only way to ypbind do what you want it to do is to download the
 > > ypbind source code from FreeBSD-current and compile that on your 2.2
 > > system. (It should compile without any problem.) Once you have that,
 > > use the following:
 > > 
 > > # ypbind -m -S domain,server1,server2,server3,server4,...
 > > 
 > > The -m flag is new: it tells ypbind to use a 'many-cast' instead of
 > > a broadcast. This will allow it to bind to any of the servers even
 > > if they are on remote subnets.
 > 
 > It works, but ypwhich kills it. That is, I cannot use ypwhich to fin out
 > which ypserver is currently using.
 > 
 > The ypbind is killed a couple of seconds after ypwhich command issued.
 
 - Exactly what FreeBSD release are you running.
 - Exactly what arguments do you use when invoking ypbind.
 
 # uname -a
 FreeBSD fudd.lbl.gov 2.1.7.1-RELEASE FreeBSD 2.1.7.1-RELEASE #0: Thu May 29 02:29:22 PDT 1997     root@iss-p6.lbl.gov:/usr/src/sys/compile/MinMax  i386
 
 # ypbind -m -S itg,george,pesto
 # ypwhich
 can't clnt_call: Can't communicate with ypbind
 
 # cd /
 # gdb -q ypbind /ypbind.core
 Core was generated by `ypbind'.
 Program terminated with signal 11, Segmentation fault.
 #0  0x8055bd4 in end ()
 (gdb) where
 #0  0x8055bd4 in end ()
 #1  0xefbfcc94 in end ()
 #2  0x19a8 in ypbindprog_2 (rqstp=0xefbfd190, transp=0xf000) at ypbind.c:343
 #3  0x803c0ba in end ()
 #4  0x2046 in main (argc=4, argv=0xefbfda2c) at ypbind.c:517
 (gdb) up 4
 #4  0x2046 in main (argc=4, argv=0xefbfda2c) at ypbind.c:517
 517                             svc_getreqset(&fdsr);
 (gdb) l
 512                                             handle_children(ypdb);
 513                                             if (children == (MAX_CHILDREN - 1))
 514                                                     checkwork();
 515                                     }
 516                             }
 517                             svc_getreqset(&fdsr);
 518                             break;
 519                     }
 520             }
 521
 (gdb) p fdsr
 $1 = {fds_bits = {0, 0, 0, 0, 0, 0, 0, 0}}
 (gdb) down
 #3  0x803c0ba in end ()
 (gdb) l
 522             /* NOTREACHED */
 523             exit(1);
 524     }
 525
 526     void
 527     checkwork()
 528     {
 529             struct _dom_binding *ypdb;
 530
 531             for(ypdb=ypbindlist; ypdb; ypdb=ypdb->dom_pnext)
 (gdb) down
 #2  0x19a8 in ypbindprog_2 (rqstp=0xefbfd190, transp=0xf000) at ypbind.c:343
 343             result = (*local)(transp, &argument, rqstp);
 (gdb) p local
 $2 = (char *(*)()) 0x16a0 <ypbindproc_domain_2>
 (gdb) down
 #1  0xefbfcc94 in end ()
 (gdb) l
 338             bzero((char *)&argument, sizeof(argument));
 339             if (!svc_getargs(transp, xdr_argument, (caddr_t)&argument)) {
 340                     svcerr_decode(transp);
 341                     return;
 342             }
 343             result = (*local)(transp, &argument, rqstp);
 344             if (result != NULL && !svc_sendreply(transp, xdr_result, result)) {
 345                     svcerr_systemerr(transp);
 346             }
 347             return;
 
 --------------
 
 Auctually, it is not just killed by ypwhich. It will die even the machine is
 rebooted and kept idel (no one touch it) for a while.
 
 -Jin
 

From: Bill Paul <wpaul@skynet.ctr.columbia.edu>
To: jin@george.lbl.gov (Jin Guojun[ITG])
Cc: freebsd-gnats-submit@freebsd.org, jin@iss-p1.lbl.gov
Subject: Re: bin/3778: ypbind -S domainname,server1,... does not function
Date: Wed, 4 Jun 1997 22:56:32 -0400 (EDT)

 Of all the gin joints in all the towns in all the world, Jin Guojun[ITG] 
 had to walk into mine and say: > 
 
 [chop]
 
 > > It works, but ypwhich kills it. That is, I cannot use ypwhich to fin out
 > > which ypserver is currently using.
 > > 
 > > The ypbind is killed a couple of seconds after ypwhich command issued.
 > 
 > - Exactly what FreeBSD release are you running.
 > - Exactly what arguments do you use when invoking ypbind.
 > 
 > # uname -a
 > FreeBSD fudd.lbl.gov 2.1.7.1-RELEASE FreeBSD 2.1.7.1-RELEASE #0: Thu May 29 02:29:22 PDT 1997     root@iss-p6.lbl.gov:/usr/src/sys/compile/MinMax  i386
 
 Ach... okay. This is the problem: the ypbind code from 2.2.x and up will
 not work correctly on 2.1.x without taking special precautions. I originally
 suggested that you try the version from FreeBSD-current because your
 original PR contained a version tag that said FreeBSD 2.2-RELEASE, so
 I assumed that's what you were using.
 
 There are two things you can do:
 
 1) Compile a static ypbind binary on a 2.2.x or better machine and use 
    that on your 2.1.7.1 machine.
 
 2) Since I develop this stuff on my home machine which still runs 2.1.0,
    I have compiled versions of the newer YP tools that will run on 2.1.x.
    You can FTP a copy of a ypbind executable from my home machine if you
    can't find a 2.2.x or better machine on which to build your own.
    The binary is at: ftp://skynet.ctr.columbia.edu/pub/freebsd/nis/ypbind
    I have a very slow link, but the binary is only about 30K.
 
 -Bill
 
 -- 
 =============================================================================
 -Bill Paul            (212) 854-6020 | System Manager, Master of Unix-Fu
 Work:         wpaul@ctr.columbia.edu | Center for Telecommunications Research
 Home:  wpaul@skynet.ctr.columbia.edu | Columbia University, New York City
 =============================================================================
  "It is not I who am crazy; it is I who am mad!" - Ren Hoek, "Space Madness"
 =============================================================================
 

From: "Jin Guojun[ITG]" <jin@george.lbl.gov>
To: wpaul@skynet.ctr.columbia.edu
Cc: gnats@freebsd.org
Subject: Re: bin/3778: ypbind -S domainname,server1,... does not function
Date: Thu, 5 Jun 1997 10:46:51 -0700

 > There are two things you can do:
 > 
 > 1) Compile a static ypbind binary on a 2.2.x or better machine and use 
 >    that on your 2.1.7.1 machine.
 
 This one does not work. Here is the errors:
 
 # ypbind -m -S itg,george,pesto
 # Jun  5 10:36:00 fudd portmap[203]: connect from 128.3.3.93 to unset(ypbind): request from unprivileged port
 
 Adding -s option has the same result.
 
 > 2) Since I develop this stuff on my home machine which still runs 2.1.0,
 >    I have compiled versions of the newer YP tools that will run on 2.1.x.
 >    You can FTP a copy of a ypbind executable from my home machine if you
 >    can't find a 2.2.x or better machine on which to build your own.
 >    The binary is at: ftp://skynet.ctr.columbia.edu/pub/freebsd/nis/ypbind
 >    I have a very slow link, but the binary is only about 30K.
 
 This one works, but seems only binding to FreeBSD server.
 George is a Sun and pesto is a FreeBSD machine.
 
 # ypbind -m -s -S itg,george,pesto
 # ypwhich
 pesto.lbl.gov
 # ps uxgw
 USER       PID %CPU %MEM   VSZ  RSS  TT  STAT STARTED       TIME COMMAND
 root       217  0.0  0.8   628  252  p0  R+   10:39AM    0:00.00 ps -uxgw
 root         1  0.0  0.6   416  164  ??  Ss   10:00AM    0:00.02 /sbin/init --
 root         2  0.0  0.1     0   12  ??  DL   10:00AM    0:00.00  (pagedaemon)
 root         3  0.0  0.1     0   12  ??  DL   10:00AM    0:00.00  (vmdaemon)
 root         4  0.0  0.1     0   12  ??  DL   10:00AM    0:00.10  (update)
 ...
 root       193  0.0  1.1   480  328  p0  Ss   10:35AM    0:00.12 -sh (csh)
 root       214  0.0  1.0   212  304  ??  Ss   10:39AM    0:00.01 ypbind -m -s -S itg
 root         0  0.0  0.0     0    0  ??  DLs  -          0:00.00  (swapper)
 # kill -9 214
 # ypbind -m -s -S itg,pesto,george
 # ypwhich
 pesto.lbl.gov
 
 Any ideas?
 
 Thanks,
 
 -Jin
 

From: Bill Paul <wpaul@skynet.ctr.columbia.edu>
To: jin@george.lbl.gov (Jin Guojun[ITG])
Cc: freebsd-gnats-submit@freebsd.org
Subject: Re: bin/3778: ypbind -S domainname,server1,... does not function
Date: Thu, 5 Jun 1997 18:45:22 -0400 (EDT)

 Of all the gin joints in all the towns in all the world, Jin Guojun[ITG] 
 had to walk into mine and say: > 
 
 > > There are two things you can do:
 > > 
 > > 1) Compile a static ypbind binary on a 2.2.x or better machine and use 
 > >    that on your 2.1.7.1 machine.
 > 
 > This one does not work. Here is the errors:
 > 
 > # ypbind -m -S itg,george,pesto
 > # Jun  5 10:36:00 fudd portmap[203]: connect from 128.3.3.93 to 
 > unset(ypbind): request from unprivileged port
 > 
 > Adding -s option has the same result.
 
 Hm... I'm not sure why this is... Oh wait, I think I know. The
 bindresvport code in the RPC library changed. Crap. I should have
 thought of that the other night. Sorry.
  
 > > 2) Since I develop this stuff on my home machine which still runs 2.1.0,
 > >    I have compiled versions of the newer YP tools that will run on 2.1.x.
 > >    You can FTP a copy of a ypbind executable from my home machine if you
 > >    can't find a 2.2.x or better machine on which to build your own.
 > >    The binary is at: ftp://skynet.ctr.columbia.edu/pub/freebsd/nis/ypbind
 > >    I have a very slow link, but the binary is only about 30K.
 > 
 > This one works, but seems only binding to FreeBSD server.
 > George is a Sun and pesto is a FreeBSD machine.
 > 
 > # ypbind -m -s -S itg,george,pesto
 > # ypwhich
 > pesto.lbl.gov
 > # ps uxgw
 > USER       PID %CPU %MEM   VSZ  RSS  TT  STAT STARTED       TIME COMMAND
 > root       217  0.0  0.8   628  252  p0  R+   10:39AM    0:00.00 ps -uxgw
 > root         1  0.0  0.6   416  164  ??  Ss   10:00AM    0:00.02 /sbin/init --
 > root         2  0.0  0.1     0   12  ??  DL   10:00AM    0:00.00  (pagedaemon)
 > root         3  0.0  0.1     0   12  ??  DL   10:00AM    0:00.00  (vmdaemon)
 > root         4  0.0  0.1     0   12  ??  DL   10:00AM    0:00.10  (update)
 > ...
 > root       193  0.0  1.1   480  328  p0  Ss   10:35AM    0:00.12 -sh (csh)
 > root       214  0.0  1.0   212  304  ??  Ss   10:39AM    0:00.01 ypbind -m -s -S itg
 > root         0  0.0  0.0     0    0  ??  DLs  -          0:00.00  (swapper)
 > # kill -9 214
 > # ypbind -m -s -S itg,pesto,george
 > # ypwhich
 > pesto.lbl.gov
 > 
 > Any ideas?
 
 I think this is 'expected behavior.' From nslookup:
 
 Client
 ------
 Name:    iss-p1.lbl.gov
 Address:  131.243.2.47
 
 Master server
 -------------
 Name:    george.lbl.gov
 Address:  128.3.196.93
 
 Slave server
 ------------
 Name:    pesto.lbl.gov
 Address:  131.243.2.55
 
 
 Pesto and iss-p1 are on the same subnet. The idea behind both the
 broadcast and the many-cast ping routines is that whichever server
 answers first is declared the winner, and that's the one ypbind binds
 to. The order in which you specify the servers when you use the -S
 isn't supposed to matter. The master server, george, is on a different 
 network, and probably a hop or two away, so it is unlikely that it will 
 get its response back to the client before pesto does.
 
 (That said, the many-cast code does transmit all of the pings in order
 (using a for() loop). So if george appears first in the list, then ypbind
 will transmit a packet to george first, and then pesto, and then any
 others. However, it transmits all the pings first and then listens for
 an answer. The fact that george's packet went out first makes no difference
 here because it takes longer for the packet to reach george and for george
 to reply than it does for pesto's packet to reach pesto and for pesto
 to reply. I hope this makes sense.)
 
 If it happens that pesto crashes or becomes unreachable, then ypbind
 should indeed bind to george since it's the only other server listed.
 To verify that it will actually bind to george, invoke ypbind like this:
 
 # ypbind -m -S itg,george
 
 If this works (and I think it should) then ypbind is actually behaving
 correctly; it can bind to the Solaris host, it just chooses not to because
 pesto answers faster. You can also use tcpdump to monitor the client's
 interface and see that a packet is in fact transmitted to george and that
 george does actually answer. I'm sorry if you don't like the fact that it 
 favors the local server, but that was the idea behind the algorithm. :)
 
 -Bill
 
 PS: If you want, I can put together a quick source distribution for
     you so you can compile this newer version of ypbind yourself on
     your 2.1.x machines. I don't like giving away binary-only distributions,
     but I wanted to make sure this would work before I went any further.
 
 -- 
 =============================================================================
 -Bill Paul            (212) 854-6020 | System Manager, Master of Unix-Fu
 Work:         wpaul@ctr.columbia.edu | Center for Telecommunications Research
 Home:  wpaul@skynet.ctr.columbia.edu | Columbia University, New York City
 =============================================================================
  "It is not I who am crazy; it is I who am mad!" - Ren Hoek, "Space Madness"
 =============================================================================
 
Responsible-Changed-From-To: freebsd-bugs->wpaul 
Responsible-Changed-By: wosch 
Responsible-Changed-When: Wed Aug 12 01:26:44 PDT 1998 
Responsible-Changed-Why:  
Bill Paul's area. 
State-Changed-From-To: open->closed 
State-Changed-By: jkoshy 
State-Changed-When: Tue Feb 16 20:32:27 PST 1999 
State-Changed-Why:  
From the audit-trail, it looks like the `-m' option did the trick. 
>Unformatted:
