[853] in Kerberos-V5-bugs

home help back first fref pref prev next nref lref last post

appl/bsd patches....

daemon@ATHENA.MIT.EDU (epeisach@MIT.EDU)
Thu Oct 13 22:02:27 1994

From: epeisach@MIT.EDU
Date: Thu, 13 Oct 1994 22:02:18 -0400
To: krb5-bugs@MIT.EDU


krlogind.c:
	magic is defined as an unsigned char array. cp is defined as a
		char *. For some reason, the AXP 1.3 compiler screws up
		the comparison in this case. (I suspect the 255 magic is
		compared with -1 which is extended to something bigger).
		 The solution is to make cp
		unsigned, but this requires that pibuf and fibuf be
		unsigned as well. This is probably good as you generally
		want to assume that the data over the wire is 8bits, not
		7. 
login.c:
	Other definitions which exist on the Alpha for line discipline
		settings. 

I have good reason to believe that the encrypted rlogin using kerberos 4
will break, but I will test that later and send patches at that time.

	Ezra

===================================================================
RCS file: /mit/krb5/.cvsroot/src/appl/bsd/krlogind.c,v
retrieving revision 5.23
diff -c -r5.23 krlogind.c
*** 5.23	1994/09/30 21:07:13
--- krlogind.c	1994/10/14 01:56:02
***************
*** 888,894 ****
  protocol(f, p)
       int f, p;
  {
!     char pibuf[1024], fibuf[1024], *pbp, *fbp;
      register pcc = 0, fcc = 0;
      int cc;
      char cntl;
--- 888,894 ----
  protocol(f, p)
       int f, p;
  {
!     unsigned char pibuf[1024], fibuf[1024], *pbp, *fbp;
      register pcc = 0, fcc = 0;
      int cc;
      char cntl;
***************
*** 944,950 ****
  	    if (fcc < 0 && errno == EWOULDBLOCK)
  	      fcc = 0;
  	    else {
! 		register char *cp;
  		int left, n;
  		
  		if (fcc <= 0)
--- 944,950 ----
  	    if (fcc < 0 && errno == EWOULDBLOCK)
  	      fcc = 0;
  	    else {
! 		register unsigned char *cp;
  		int left, n;
  		
  		if (fcc <= 0)
===================================================================
RCS file: /mit/krb5/.cvsroot/src/appl/bsd/login.c,v
retrieving revision 5.14
diff -c -r5.14 login.c
*** 5.14	1994/08/18 21:05:15
--- login.c	1994/10/14 01:47:06
***************
*** 436,443 ****
--- 436,452 ----
  #ifdef VDISCRD
  	tc.c_cc[VDISCRD] = CFLUSH;
  #endif
+ #ifdef VDISCARD
+         tc.c_cc[VDISCARD] = CDISCARD;
+ #endif
  #ifdef VWERSE
  	tc.c_cc[VWERSE] = CWERASE;
+ #endif
+ #ifdef VWERASE
+         tc.c_cc[VWERASE] = CWERASE;
+ #endif
+ #ifdef VSTATUS
+         tc.c_cc[VSTATUS] = CSTATUS;
  #endif
  #endif /* NO_INIT_CC */
  	tcsetattr(0, TCSANOW, &tc);

home help back first fref pref prev next nref lref last post