diff options
author | Ezra Peisach <epeisach@mit.edu> | 1995-04-27 13:17:59 +0000 |
---|---|---|
committer | Ezra Peisach <epeisach@mit.edu> | 1995-04-27 13:17:59 +0000 |
commit | 8c6a3a0d276bbb877c0a01b8ac8f18da25876b0b (patch) | |
tree | 6ecbc5a3e5ef77d5e24d274cf43c7173042943ef /src | |
parent | 13b030a5f8bc8ed9ecfcb77cfd60eb1985593b44 (diff) | |
download | krb5-8c6a3a0d276bbb877c0a01b8ac8f18da25876b0b.tar.gz krb5-8c6a3a0d276bbb877c0a01b8ac8f18da25876b0b.tar.xz krb5-8c6a3a0d276bbb877c0a01b8ac8f18da25876b0b.zip |
* krcp.c (answer_auth): Should not call krb5_cc_close after
krb5_cc_destroy. (encrypted rcp failed).
* krlogind.c (main): -S option was not getting a keytab. (passing
a char * to krb5_compat_recvauth).
* krshd.c (recvauth): extract the client principal from ticket
before calling krb5_kuserok on a NULL principal.
(main): -S option was not getting a keytab (passing a char *).
git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@5536 dc483132-0cff-0310-8789-dd5450dbe970
Diffstat (limited to 'src')
-rw-r--r-- | src/appl/bsd/ChangeLog | 7 | ||||
-rw-r--r-- | src/appl/bsd/krcp.c | 5 | ||||
-rw-r--r-- | src/appl/bsd/krlogind.c | 13 | ||||
-rw-r--r-- | src/appl/bsd/krshd.c | 12 |
4 files changed, 27 insertions, 10 deletions
diff --git a/src/appl/bsd/ChangeLog b/src/appl/bsd/ChangeLog index 394afcb028..f1322b4dd9 100644 --- a/src/appl/bsd/ChangeLog +++ b/src/appl/bsd/ChangeLog @@ -1,7 +1,14 @@ Thu Apr 27 01:09:19 1995 Ezra Peisach <epeisach@kangaroo.mit.edu> + * krcp.c (answer_auth): Should not call krb5_cc_close after + krb5_cc_destroy. (encrypted rcp failed). + + * krlogind.c (main): -S option was not getting a keytab. (passing + a char * to krb5_compat_recvauth). + * krshd.c (recvauth): extract the client principal from ticket before calling krb5_kuserok on a NULL principal. + (main): -S option was not getting a keytab (passing a char *). * krcp.c: (main): Missing htons on port number when specified on command line. diff --git a/src/appl/bsd/krcp.c b/src/appl/bsd/krcp.c index eb139acc97..7aa446530c 100644 --- a/src/appl/bsd/krcp.c +++ b/src/appl/bsd/krcp.c @@ -1324,13 +1324,11 @@ void if (status = krb5_cc_get_principal(bsd_context, cc, &creds.client)){ krb5_cc_destroy(bsd_context, cc); - krb5_cc_close(bsd_context, cc); exit(1); } if (status = krb5_parse_name(bsd_context, pname_data.data, &creds.server)){ krb5_cc_destroy(bsd_context, cc); - krb5_cc_close(bsd_context, cc); exit(1); } krb5_xfree(pname_data.data); @@ -1338,7 +1336,6 @@ void if (status = krb5_get_credentials(bsd_context, KRB5_GC_USER_USER, cc, &creds, &new_creds)){ krb5_cc_destroy(bsd_context, cc); - krb5_cc_close(bsd_context, cc); exit(1); } @@ -1346,11 +1343,9 @@ void AP_OPTS_USE_SESSION_KEY, NULL, new_creds, &msg)) { krb5_cc_destroy(bsd_context, cc); - krb5_cc_close(bsd_context, cc); exit(1); } krb5_cc_destroy(bsd_context, cc); - krb5_cc_close(bsd_context, cc); status = krb5_write_message(bsd_context, (krb5_pointer) &rem, &msg); krb5_xfree(msg.data); if (status){ diff --git a/src/appl/bsd/krlogind.c b/src/appl/bsd/krlogind.c index 72a216363d..c011a35e1e 100644 --- a/src/appl/bsd/krlogind.c +++ b/src/appl/bsd/krlogind.c @@ -245,7 +245,7 @@ krb5_authenticator *kdata; krb5_ticket *ticket = 0; krb5_context bsd_context; -char *srvtab = NULL; +krb5_keytab keytab = NULL; #define ARGSTR "rRkKeExXpPD:S:M:L:?" #else /* !KERBEROS */ @@ -314,6 +314,9 @@ main(argc, argv) char *options; int debug_port = 0; int fd; +#ifdef KERBEROS + krb5_error_code status; +#endif progname = *argv; @@ -393,7 +396,11 @@ main(argc, argv) break; #endif case 'S': - srvtab = optarg; + if (status = krb5_kt_resolve(bsd_context, optarg, &keytab)) { + com_err(progname, status, "while resolving srvtab file %s", + optarg); + exit(2); + } break; case 'M': krb5_set_default_realm(bsd_context, optarg); @@ -1572,7 +1579,7 @@ recvauth() server, /* Specify daemon principal */ 0, /* default rc_type */ 0, /* no flags */ - srvtab, /* normally NULL to use v5srvtab */ + keytab, /* normally NULL to use v5srvtab */ do_encrypt ? KOPT_DO_MUTUAL : 0, /*v4_opts*/ "rcmd", /* v4_service */ diff --git a/src/appl/bsd/krshd.c b/src/appl/bsd/krshd.c index 287843a381..0dee15af91 100644 --- a/src/appl/bsd/krshd.c +++ b/src/appl/bsd/krshd.c @@ -176,6 +176,7 @@ char des_outbuf[2*BUFSIZ]; /* needs to be > largest write size */ krb5_data desinbuf,desoutbuf; krb5_context bsd_context; char *srvtab = NULL; +krb5_keytab keytab = NULL; void fatal(); int v5_des_read(); @@ -246,6 +247,9 @@ main(argc, argv) int i; int fd; int debug_port = 0; +#ifdef KERBEROS + krb5_error_code status; +#endif #ifdef CRAY secflag = sysconf(_SC_CRAY_SECURE_SYS); @@ -323,7 +327,11 @@ main(argc, argv) break; case 'S': - srvtab = optarg; + if (status = krb5_kt_resolve(bsd_context, optarg, &keytab)) { + com_err(progname, status, "while resolving srvtab file %s", + optarg); + exit(2); + } break; case 'M': @@ -1629,7 +1637,7 @@ recvauth(netf, peersin, peeraddr) server, /* Specify daemon principal */ 0, /* default rc_type */ 0, /* no flags */ - srvtab, /* normally NULL to use v5srvtab */ + keytab, /* normally NULL to use v5srvtab */ 0, /* v4_opts */ "rcmd", /* v4_service */ v4_instance, /* v4_instance */ |