Skip Menu |

Date: Tue, 06 Jun 2006 18:49:06 +0530
From: Gangadhar Mylapuram <Gangadhar.M@Sun.COM>
Subject: rlogin client bug.
Cc: sanjay pandit <sanjay.pandit@Sun.COM>

I think this is the correct alias to submit bugs on MIT kerberos. Here
is one misbehavior I found from rlogin client code.

I have a Red Hat v4 client using rlogin to a Sunbox 2.10.
I am using kerberos for authentication.

From the Red hat rlogin, user logs into the sunbox, he types "stty" in
the window and
does not get the rows and columns of the current window.

rlogin -x -F phobos
This rlogin session is using encryption for all data transmissions.
Last login: Wed Jan 18 08:44:18 from
phobos$ stty
speed 38400 baud; -parity
erase = ^h; swtch = <undef>;
brkint -inpck -istrip icrnl -ixany imaxbel onlcr
echo echoe echok echoctl echoke iexten

Should look like:
speed 9600 baud; -parity hupcl
rows = 41; columns = 112; ypixels = 625; xpixels = 1018;
erase = ^h; swtch = <undef>;
-brkint -inpck -istrip ixoff
crt iexten

Evaluation :

I root caused the problem. I have gone through the MIT kerberos
krlogin.c (krb5-1.4.3/src/appl/bsd/krlogin.c)code.

This code has written in such way the if the protocol is KCMD_NEW_PROTOCOL
it sets the do_inband variable to 1.

702 if (kcmd_proto == KCMD_NEW_PROTOCOL) {
703 do_inband = 1;

This causes to ignore urget bytes that will be received through
'excset'. The below code avoids setting excset descriptor.

1574 }
1575 if (!do_inband)
1576 FD_SET(rem,&excset);
1577 if (select(rem+1, &readset, &writeset, &excset, 0) > 0 ) {

So you will be able to see the rows and colums information if and only
if the protocol is not a KCMD_NEW_PROTOCOL.

This can be tested easily on your linux system.

Kerberos Rlogin server (S10)

Kerberos Rlogin client (Redhat system)

On client
# rlogin -PO server-name.
#stty -a

Here you will be able to see the rows and colums information.

On client
#rlogin -PN server-name.
# stty -a
No information shown

Observed from the MIT rlogin client code that accepting the urgent data
is based on the new/old kcmd protocol. Do you think it is the right