diff options
author | Richard Basch <probe@mit.edu> | 1996-04-11 04:26:22 +0000 |
---|---|---|
committer | Richard Basch <probe@mit.edu> | 1996-04-11 04:26:22 +0000 |
commit | fc8ace14b79af515ec2ed11a04520e8cfa3f4c17 (patch) | |
tree | 7a58615d1cb38a82ee673d0bd4eca22c35c436c5 /src/appl/bsd/kcmd.c | |
parent | 43488f349cee52345ab9a2b8d55a2dd5fb6e350c (diff) | |
download | krb5-fc8ace14b79af515ec2ed11a04520e8cfa3f4c17.tar.gz krb5-fc8ace14b79af515ec2ed11a04520e8cfa3f4c17.tar.xz krb5-fc8ace14b79af515ec2ed11a04520e8cfa3f4c17.zip |
* kcmd.c: Cleaned up whitespace and removed commented & unused cruft
* krlogind.c, krshd.c: Allow the recvauth routine to find any key
in the keytab for which the user is trying to login. The host may
be known as many names. Additionally, for krlogind, clean up the
error handling for bad authentication (potential null dereference
and a misleading message because of the wrong authentication system
being used)
git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@7791 dc483132-0cff-0310-8789-dd5450dbe970
Diffstat (limited to 'src/appl/bsd/kcmd.c')
-rw-r--r-- | src/appl/bsd/kcmd.c | 16 |
1 files changed, 6 insertions, 10 deletions
diff --git a/src/appl/bsd/kcmd.c b/src/appl/bsd/kcmd.c index d343054b9..c446541b7 100644 --- a/src/appl/bsd/kcmd.c +++ b/src/appl/bsd/kcmd.c @@ -66,8 +66,6 @@ char *default_service = "host"; extern krb5_context bsd_context; -krb5_enctype bsd_ktypes[] = { ENCTYPE_DES_CBC_CRC , 0 }; - kcmd(sock, ahost, rport, locuser, remuser, cmd, fd2p, service, realm, cred, seqno, server_seqno, laddr, faddr, authopts, anyport) @@ -109,15 +107,16 @@ kcmd(sock, ahost, rport, locuser, remuser, cmd, fd2p, service, realm, krb5_auth_context auth_context = NULL; char *cksumbuf; krb5_data cksumdat; + if ((cksumbuf = malloc(strlen(cmd)+strlen(remuser)+64)) == 0 ) { - fprintf(stderr, "Unable to allocate memory for checksum buffer.\n"); - return(-1); + fprintf(stderr, "Unable to allocate memory for checksum buffer.\n"); + return(-1); } -sprintf(cksumbuf, "%u:", ntohs(rport)); + sprintf(cksumbuf, "%u:", ntohs(rport)); strcat(cksumbuf, cmd); strcat(cksumbuf, remuser); cksumdat.data = cksumbuf; - cksumdat.length = strlen(cksumbuf); + cksumdat.length = strlen(cksumbuf); pid = getpid(); hp = gethostbyname(*ahost); @@ -144,7 +143,7 @@ sprintf(cksumbuf, "%u:", ntohs(rport)); fprintf(stderr,"kcmd: no memory\n"); return(-1); } - status = krb5_sname_to_principal(bsd_context, host_save,service, + status = krb5_sname_to_principal(bsd_context, host_save, service, KRB5_NT_SRV_HST, &get_cred->server); if (status) { fprintf(stderr, "kcmd: krb5_sname_to_principal failed: %s\n", @@ -278,9 +277,6 @@ sprintf(cksumbuf, "%u:", ntohs(rport)); if (status = krb5_cc_default(bsd_context, &cc)) goto bad2; -/* if (krb5_set_default_tgs_ktypes(bsd_context, bsd_ktypes)) */ -/* goto bad2; */ - if (status = krb5_cc_get_principal(bsd_context, cc, &get_cred->client)) { (void) krb5_cc_close(bsd_context, cc); goto bad2; |