[comp.protocols.kerberos] Bugs in kprop and kpropd

nero@eng.umd.edu (Oren L. Stern) (03/28/91)

   There are a couple of bugs in kprop and kpropd that depend on your system
configuration.  In kprop, there is a typecast around line 565 that may cause
byte alignment problems on some RISC machines (such as the IBM RT).  This can
be fixed as below by using bcopy.

   The other problem occurs in kpropd if your machine uses fully-qualified
host names.  When it looks for the rcmd instance, it tries to use the host
name plus the domain, instead of just the hostname.  This problem may appear
in other programs as well.


*** kprop.c.old	Wed Mar 27 18:06:28 1991
--- kprop.c	Wed Mar 27 16:11:57 1991
***************
*** 563,569 ****
  	strcpy((*th)->instance, inst);
  	/* what a concept, slave servers in different realms! */
  	(*th)->realm = my_realm;
! 	(*th)->net_addr = *(u_long *) host->h_addr;
  	(*th)->succeeded = 0;
  	(*th)->next = NULL;
  	strcat(strcpy(ppath, (*th)->name), "-last-prop");
--- 563,569 ----
  	strcpy((*th)->instance, inst);
  	/* what a concept, slave servers in different realms! */
  	(*th)->realm = my_realm;
! 	bcopy(host->h_addr, (char *)&(*th)->net_addr, sizeof(u_long));
  	(*th)->succeeded = 0;
  	(*th)->next = NULL;
  	strcat(strcpy(ppath, (*th)->name), "-last-prop");
  	
*** kpropd.c.old	Wed Mar 27 18:08:55 1991
--- kpropd.c	Wed Mar 20 23:30:23 1991
***************
*** 178,183 ****
--- 178,188 ----
  	sprintf(errmsg, "kpropd: gethostname: %s", sys_errlist[errno]);
  	klog(L_KRB_PERR, errmsg);
  	SlowDeath();
+     } else {
+ 	char *c;
+ 
+ 	for(c = my_instance; *c && *c != '.'; c++);
+ 	*c = '\0';
      }
      
      klog(L_KRB_PERR, "Established socket");

--
Oren Stern (nero@eng.umd.edu)	| "A boy without mischief is like a bowling ball
UUCP:  uunet!eng.umd.edu!nero  	|  without a liquid center" -- Homer Simpson