[12443] in Athena Bugs
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.