diff options
author | Ken Raeburn <raeburn@mit.edu> | 2000-12-15 07:11:07 +0000 |
---|---|---|
committer | Ken Raeburn <raeburn@mit.edu> | 2000-12-15 07:11:07 +0000 |
commit | 133f40ef3c44b1521a3a2217799f6b9ec4a269d3 (patch) | |
tree | 3414ac791ed4cc6b3730a7aa8093c5a7d6ca52f0 /src/appl/bsd/krlogin.c | |
parent | d4a345a4b464a5ce403cc6cd9f673a3abd06248f (diff) | |
download | krb5-133f40ef3c44b1521a3a2217799f6b9ec4a269d3.tar.gz krb5-133f40ef3c44b1521a3a2217799f6b9ec4a269d3.tar.xz krb5-133f40ef3c44b1521a3a2217799f6b9ec4a269d3.zip |
add "-4" option to rlogin to not try krb5 auth
git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@12894 dc483132-0cff-0310-8789-dd5450dbe970
Diffstat (limited to 'src/appl/bsd/krlogin.c')
-rw-r--r-- | src/appl/bsd/krlogin.c | 26 |
1 files changed, 25 insertions, 1 deletions
diff --git a/src/appl/bsd/krlogin.c b/src/appl/bsd/krlogin.c index 1fd439058..3b7a6637a 100644 --- a/src/appl/bsd/krlogin.c +++ b/src/appl/bsd/krlogin.c @@ -375,6 +375,7 @@ main(argc, argv) #ifdef KRB5_KRB4_COMPAT KTEXT_ST v4_ticket; MSG_DAT v4_msg_data; + int v4only = 0; #endif #endif int port, debug_port = 0; @@ -514,11 +515,25 @@ main(argc, argv) argv++, argc--; goto another; } +#ifdef KRB5_KRB4_COMPAT + if (argc > 0 && !strcmp(*argv, "-4")) { + v4only++; + argv++, argc--; + goto another; + } +#endif /* krb4 */ #endif /* KERBEROS */ if (host == 0) goto usage; if (argc > 0) goto usage; +#ifdef KRB5_KRB4_COMPAT + if (kcmd_proto != KCMD_PROTOCOL_COMPAT_HACK && v4only) { + com_err (argv[0], 0, + "-4 is incompatible with -PO/-PN"); + exit(1); + } +#endif pwd = getpwuid(getuid()); if (pwd == 0) { fprintf(stderr, "Who are you?\n"); @@ -637,6 +652,10 @@ main(argc, argv) if (Fflag) authopts |= OPTS_FORWARDABLE_CREDS; +#ifdef KRB5_KRB4_COMPAT + if (v4only) + goto try_v4; +#endif status = kcmd(&sock, &host, port, null_local_username ? "" : pwd->pw_name, name ? name : pwd->pw_name, term, @@ -655,6 +674,7 @@ main(argc, argv) exit (1); #ifdef KRB5_KRB4_COMPAT fprintf(stderr, "Trying krb4 rlogin...\n"); + try_v4: status = k4cmd(&sock, &host, port, null_local_username ? "" : pwd->pw_name, name ? name : pwd->pw_name, term, @@ -710,7 +730,11 @@ main(argc, argv) #ifdef KERBEROS fprintf (stderr, "usage: rlogin host [-option] [-option...] [-k realm ] [-t ttytype] [-l username]\n"); - fprintf (stderr, " where option is e, 7, 8, noflow, n, a, x, f, F, or c\n"); +#ifdef KRB5_KRB4_COMPAT + fprintf (stderr, " where option is e, 7, 8, noflow, n, a, x, f, F, c, 4, PO, or PN\n"); +#else + fprintf (stderr, " where option is e, 7, 8, noflow, n, a, x, f, F, c, PO, or PN\n"); +#endif #else /* !KERBEROS */ fprintf (stderr, "usage: rlogin host [-option] [-option...] [-t ttytype] [-l username]\n"); |