From cse.psu.edu!owner-9fans Thu Nov  7 14:32:17 1996
Received: from cse.psu.edu ([130.203.3.50]) by cannon.ecf.toronto.edu with SMTP id <10262>; Thu, 7 Nov 1996 14:32:14 -0500
Received: from localhost (majordom@localhost) by cse.psu.edu (8.7.5/8.7.3) with SMTP id OAA12152; Thu, 7 Nov 1996 14:08:26 -0500 (EST)
Received: by claven.cse.psu.edu (bulk_mailer v1.5); Thu, 7 Nov 1996 14:08:03 -0500
Received: (from majordom@localhost) by cse.psu.edu (8.7.5/8.7.3) id OAA12090 for 9fans-outgoing; Thu, 7 Nov 1996 14:07:36 -0500 (EST)
X-Authentication-Warning: claven.cse.psu.edu: majordom set sender to owner-9fans using -f
Received: from postman.ncube.com (postman.ncube.com [134.242.8.47]) by cse.psu.edu (8.7.5/8.7.3) with SMTP id OAA12075 for <9fans@cse.psu.edu>; Thu, 7 Nov 1996 14:07:07 -0500 (EST)
Received: from garcon.ncube.com by postman.ncube.com (SMI-8.6/SMI-SVR4)
	id LAA14570; Thu, 7 Nov 1996 11:07:05 -0800
Received: from pejs by garcon.ncube.com (5.x/SMI-SVR4)
	id AA08533; Thu, 7 Nov 1996 11:05:08 -0800
Message-Id: <328233AB.FF6D5DF@ncube.com>
Date:	Thu, 7 Nov 1996 14:08:27 -0500
From:	Stephen Hemminger <sch@ncube.com>
Organization: nCUBE
X-Mailer: Mozilla 3.0Gold (X11; U; SunOS 4.1.4 sun4c)
Mime-Version: 1.0
To:	9fans@cse.psu.edu
Subject: Re: It's alive!
References: <199611071843.NAA11530@cse.psu.edu>
Content-Type: multipart/mixed; boundary="------------ABD322C31DFF4F5237C228A"
Sender: owner-9fans@cse.psu.edu
Reply-To: 9fans@cse.psu.edu
Precedence: bulk
Status: R

This is a multi-part message in MIME format.

--------------ABD322C31DFF4F5237C228A
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit

The fix we used for boot was:
1. if only one boot method, build in kernel don't ask
   question. boot.c/rootserver()

Method*
rootserver(char *arg)
{
	char prompt[256];
	char reply[64];
	Method *mp;
	char *cp, *goodarg;
	int n, j;

	/* don't ask if this is a cpu server and only one method */
	if (cpuflag && method[1].name == 0) {
		print("Root is from %s\n", method[0].name);
		return method;
	}

...

2. if the cpu server is authing itself, then don't have annoying
   timeout.

--------------ABD322C31DFF4F5237C228A
Content-Type: text/plain; charset=us-ascii; name="diff"
Content-Transfer-Encoding: 7bit
Content-Disposition: inline; filename="diff"

*** original/doauthenticate.c	Mon Jul 24 05:52:57 1995
--- doauthenticate.c	Wed Dec 20 10:30:04 1995
***************
*** 5,15 ****
  
  static char *pbmsg = "AS protocol botch";
  static char *ccmsg = "can't connect to AS";
  
--- 5,17 ----
  
  static char *pbmsg = "AS protocol botch";
  static char *ccmsg = "can't connect to AS";
+ static char *selfmsg = "Authorize self";
  
***************
*** 30,37 ****
  		if(mp->auth == 0)
  			fatal("no method for accessing auth server");
  		afd = (*mp->auth)();
! 		if(afd < 0)
! 			return ccmsg;
  	}
  	if(write(afd, trbuf, TICKREQLEN) < 0 || read(afd, &t, 1) != 1){
  		close(afd);
--- 32,43 ----
  		if(mp->auth == 0)
  			fatal("no method for accessing auth server");
  		afd = (*mp->auth)();
! 		if(afd < 0) {
! 			if (afd == -2)
! 				return selfmsg;
! 			else
! 				return ccmsg;
! 		}
  	}
  	if(write(afd, trbuf, TICKREQLEN) < 0 || read(afd, &t, 1) != 1){
  		close(afd);
***************
*** 82,88 ****
  			return;
  
  	/* didn't work, go for the security hole */
! 	fprint(2, "no authentication server (%s), using your key as server key\n", msg);
  }
  
  char*
--- 88,95 ----
  			return;
  
  	/* didn't work, go for the security hole */
! 	if (strcmp(msg, selfmsg) != 0)
! 		fprint(2, "no authentication server (%s), using your key as server key\n", msg);
  }
  
  char*
*** original/ip.c	Mon Jul 24 05:52:57 1995
--- ip.c	Fri Oct 18 23:34:26 1996
***************
*** 75,80 ****
--- 108,115 ----
  {
  	int fd[2]; 
  
+ 	if(memcmp(auip, ipaddr, sizeof(ipaddr)) == 0)
+ 		return -2;
  	if(auip[0] == 0 || ipdial(fd, "#Iil/il", auip, 566) < 0)
  		return -1;
  	close(fd[0]);

--------------ABD322C31DFF4F5237C228A--


