summaryrefslogtreecommitdiffstats
path: root/src/appl/bsd/kcmd.c
diff options
context:
space:
mode:
authorRichard Basch <probe@mit.edu>1996-04-11 04:26:22 +0000
committerRichard Basch <probe@mit.edu>1996-04-11 04:26:22 +0000
commitfc8ace14b79af515ec2ed11a04520e8cfa3f4c17 (patch)
tree7a58615d1cb38a82ee673d0bd4eca22c35c436c5 /src/appl/bsd/kcmd.c
parent43488f349cee52345ab9a2b8d55a2dd5fb6e350c (diff)
downloadkrb5-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.c16
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;