[12443] in Athena Bugs

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

login.krb exclusion macro still wrong

daemon@ATHENA.MIT.EDU (ghudson@MIT.EDU)
Sat Aug 20 16:34:27 1994

From: ghudson@MIT.EDU
Date: Sat, 20 Aug 94 16:34:17 -0400
To: bugs@MIT.EDU


In /afs/dev/project/release/source/src/athena/lib/kerberos.p9/appl/bsd/login.c:

#define EXCL_TEST if (rflag || kflag || Kflag || eflag || \
			    fflag || hflag) { \
				fprintf(stderr, \
				    "login: only one of -r, -k, -K, -e and -h allowed.\n"); \
				exit(1);\
			}

"fflag" should be taken out of the exclusion test.  The reason this
actually works is that the Athena telnetd (the program that cares
about using -f and -h together) passes -f after -h, and the exclusion
test isn't performed when checking the -f flag.  In other words,
"login.krb -h foo -f bar" will work, but "login.krb -f bar -h foo"
will not.

The fixed macro should look like:

#define EXCL_TEST if (rflag || kflag || Kflag || eflag || hflag) { \
				fprintf(stderr, \
				    "login: only one of -r, -k, -K, -e and -h allowed.\n"); \
				exit(1);\
			}

(Actually, it shouldn't look that ugly, but that's another issue.)

Enjoy.


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