[853] in Kerberos-V5-bugs
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);